正在学程序化,依葫芦画瓢编了交易程序,想设定当日交易次数不超过2次,可是始终未能实现,请帮忙看看哪里出了问题。怎样改。
VARIABLE: 交易次数=0;
最高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
最低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTOPEN,6,0);//申明变量
SS:=5;
开多条件:=CLOSE>最高 and
holding = 0 and
time <145000 and
交易次数<3;
if 开多条件 then begin
BUY(开多条件,SS,THISCLOSE);
交易次数=交易次数+1;
end
平多条件:=CLOSE>(ENTERPRICE+mindiff*20);
止损条件:=CLOSE<(ENTERPRICE-mindiff*20);
if 平多条件 and
holding >0 then begin
sell(1,ss,MARKET);
交易次数=交易次数+1;
end
if 止损条件 and holding >0 then begin
sell(1,ss,MARKET);
交易次数=交易次数+1;
ENd
if time>145000 and holding >0 then begin
sell(1,ss,MARKET);
交易次数=交易次数+1;
END
VARIABLE: 交易次数=0;
最高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
最低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTOPEN,6,0);//申明变量
SS:=5;
开多条件:=CLOSE>最高 and
holding = 0 and
time <145000 and
交易次数<3;
if 开多条件 then begin
BUY(开多条件,SS,THISCLOSE);
交易次数:=交易次数+1;
end
平多条件:=CLOSE>(ENTERPRICE+mindiff*20);
止损条件:=CLOSE<(ENTERPRICE-mindiff*20);
if 平多条件 and
holding >0 then begin
sell(1,ss,MARKET);
交易次数:=交易次数+1;
end
if 止损条件 and holding >0 then begin
sell(1,ss,MARKET);
交易次数:=交易次数+1;
ENd
if time>145000 and holding >0 then begin
sell(1,ss,MARKET);
交易次数:=交易次数+1;
END
if time>=145500 then 交易次数:=0;
有两个问题要修改
1:交易次数=交易次数+1;
这样的语句是判断,放在这里毫无作用,你需要多加一个冒号来进行赋值,也就是:交易次数:=交易次数+1;
2.收盘前重置全局变量,也就是最后多加的那一句