这是分不同买入条件,卖出的,专家帮忙看看哪里出错了,为什么卖出条件无法识别,测试都是强制平仓的
variable:flag=0;
if KDA and HOLDING=0 then begin
开多1:BUY(KDA AND HOLDING=0,4,THISCLOSE);
flag:=1;
end;
if KDB and HOLDING=0 then begin
开多2:BUY(KDB AND HOLDING=0,4,THISCLOSE);
flag:=2;
end;
if KDA and HOLDING=0 then begin
开多3:BUY(KDC AND HOLDING=0,4,THISCLOSE);
flag:=3;
end;
if PD and HOLDING>0 and flag=1 then begin
平多:SELL(PD,4,THISCLOSE);
end;
你的KDA条件难以成立,都在KDB和KDC之后,flag基本上是2或者3
[此贴子已经被作者于2015/7/20 8:52:51编辑过]
哦,写错了,这样写,测试还是不行
variable:flag=0;
if KDA and HOLDING=0 then begin
开多1:BUY(KDA AND HOLDING=0,4,THISCLOSE);
flag:=1;
end;
if KDB and HOLDING=0 then begin
开多2:BUY(KDB AND HOLDING=0,4,THISCLOSE);
flag:=2;
end;
if KDC and HOLDING=0 then begin
开多3:BUY(KDC AND HOLDING=0,4,THISCLOSE);
flag:=3;
end;
if PD and HOLDING>0 and flag=1 then begin
平多:SELL(PD,4,THISCLOSE);
end;
那不是一样么,就是我说的意思,你的开多A条件不容易成立,开多B和开多C先成立了,导致flag的值不是1
是这样的,比方有三个买入条件,有三个卖出条件,买入条件A对应卖出条件A卖出 买入条件B对应卖出条件B卖出 买入条件C对应卖出条件C卖出
if KDA and HOLDING=0 then begin
开多1:BUY(KDA AND HOLDING=0,4,THISCLOSE);
flag:=1;
end;
if KDB and HOLDING=0 then begin
开多2:BUY(KDB AND HOLDING=0,4,THISCLOSE);
flag:=2;
end;
if KDA and HOLDING=0 then begin
开多3:BUY(KDC AND HOLDING=0,4,THISCLOSE);
flag:=3;
end;
if PDA and HOLDING>0 and flag=1 then begin
平多:SELL(PD,4,THISCLOSE);
end;
if PDB and HOLDING>0 and flag=2 then begin
平多:SELL(PD,4,THISCLOSE);
end;
if PDC and HOLDING>0 and flag=3 then begin
平多:SELL(PD,4,THISCLOSE);
end;
你怎么就写了平仓1个条件就测试对不对了?如果对应的开仓条件不成立呢?