最近在研究回测代码,但是我matlab属于刚学,所以红色部分的代码不是很懂,能不能有大神帮我讲解一下
data=xlsread('1v1.xlsx');
y=data(:,1);
x=data(:,2);
mspread=data(:,3);
spread=data(:,4);
cons=data(:,5);
%***收益
open=1.5;
close=0.5;
stop=2.25;
s_c=zeros(size(mspread));
s_c(mspread>open*cons)=-1;
s_c(mspread>stop*cons)=0;
s_c(mspread<-open*cons)=1;
s_c(mspread<-stop*cons)=0;
for i=2:length(s_c)
if s_c(i-1)==-1 && s_c(i)==0 && close*cons(i)<mspread(i) &&
mspread(i)<open*cons(i)
s_c(i)=-1;
end
end
for i=2:length(s_c)
if s_c(i-1)==1 && s_c(i)==0 && -open*cons(i)<mspread(i) &&
mspread(i)<-close*cons(i)
s_c(i)=1;
endend
r_c=[0;s_c(1:end-1).*diff(mspread)];