你的这个交易控制有做调整吗?没有调整的话,那下午3点后,这个交易开关又被赋值给0了。
1,不知道你的条件问什么这么写
VARIABLE:flag=0;
开仓时间1:=TIME>090000 AND TIME<=143000;
开仓时间2:=TIME>210000 AND TIME<=220000;
if (开仓时间1 or 开仓时间2) and flag=0 and c>o then begin
buy( 1,1,MARKET);
flag:=1;
end
if time=150000 then flag:=0;
VARIABLE:A=0; VARIABLE:B=0; VARIABLE:CC=0; //开仓次数限制 输出H:=(H-O)/O>0.006,COLORWHITE,LINETHICK0; 输出L:=(O-L)/O>0.006,COLORWHITE,LINETHICK0; 开仓时间:=TIME>=093000 AND TIME<=143000; //交易条件 开多条件:=L<=(O-L)/O>0.006 AND HOLDING<=0 AND A=0 AND CC<1 AND 开仓时间; 开空条件:=H>=(H-O)/O>0.006 AND HOLDING>=0 AND B=0 AND CC<1 AND 开仓时间; 止损平多条件1:=ENTERPRICE-L>=ENTERPRICE/200 AND HOLDING>0; //百分比止损 止损平空条件1:=H-ENTERPRICE>=ENTERPRICE/200 AND HOLDING<0; 止盈平多条件2:=H-ENTERPRICE>=ENTERPRICE/200*2.5 AND HOLDING>0; 止盈平空条件2:=ENTERPRICE-L>=ENTERPRICE/200*2.5 AND HOLDING<0; 收盘平多条件:=TIME>=145800 AND HOLDING>0; 收盘平空条件:=TIME>=145800 AND HOLDING<0; 成本:ENTERPRICE,COLORWHITE,LINETHICK0; 多方止损:ENTERPRICE-ENTERPRICE/200,COLORRED,LINETHICK0; 多方止盈:ENTERPRICE+ENTERPRICE/200*2.5,COLORRED,LINETHICK0; 空方止损:ENTERPRICE+ENTERPRICE/200,COLORGREEN,LINETHICK0; 空方止盈:ENTERPRICE-ENTERPRICE/200*2.5,COLORGREEN,LINETHICK0; //交易系统 SOS平空:SELLSHORT(止损平空条件1,1,LIMITR,空方止损); IF 收盘平空条件 THEN BEGIN 收盘平空:SELLSHORT(1,1,MARKET); END IF 止盈平空条件2 THEN BEGIN LF平空:SELLSHORT(1,1,LIMITR,空方止盈); B:=1; END 输出B:=B,COLORWHITE,LINETHICK0; IF 开多条件 THEN BEGIN 开多:BUY(1,1,LIMITR,输出H); CC:=CC+1; END SOS平多:SELL(止损平多条件1,1,LIMITR,多方止损); IF 收盘平多条件 THEN BEGIN 收盘平多:SELL(1,1,MARKET); END IF 止盈平多条件2 THEN BEGIN LF平多:SELL(1,1,LIMITR,多方止盈); A:=1; END 输出A:=A,COLORWHITE,LINETHICK0; IF 开空条件 THEN BEGIN 开空:BUYSHORT(1,1,LIMITR,输出L); CC:=CC+1; END 输出CC:=CC,COLORWHITE,LINETHICK0; IF TIME>=145800 THEN A:=0; IF TIME>=145800 THEN B:=0; IF TIME>=145800 THEN CC:=0; 这是我完整的思路 ,老师能把夜间的那个时间段帮我加进模型里面吗? 谢谢 |
表达式错误。
下面是修改的位置标记
VARIABLE:A=0;
VARIABLE:B=0;
VARIABLE:CC=0; //开仓次数限制
输出H:=(H-O)/O>0.006,COLORWHITE,LINETHICK0;
输出L:=(O-L)/O>0.006,COLORWHITE,LINETHICK0;
开仓时间:(TIME>090000 AND TIME<=143000) or (TIME>210000 AND TIME<=220000);
//交易条件
开多条件:=L<=(O-L)/O>0.006 AND HOLDING<=0 AND A=0 AND CC<1 AND 开仓时间;
开空条件:=H>=(H-O)/O>0.006 AND HOLDING>=0 AND B=0 AND CC<1 AND 开仓时间;
止损平多条件1:=ENTERPRICE-L>=ENTERPRICE/200 AND HOLDING>0; //百分比止损
止损平空条件1:=H-ENTERPRICE>=ENTERPRICE/200 AND HOLDING<0;
止盈平多条件2:=H-ENTERPRICE>=ENTERPRICE/200*2.5 AND HOLDING>0;
止盈平空条件2:=ENTERPRICE-L>=ENTERPRICE/200*2.5 AND HOLDING<0;
收盘平多条件:=TIME>=145800 and TIME<=150000 AND HOLDING>0;
收盘平空条件:=TIME>=145800 and TIME<=150000 AND HOLDING<0;
成本:ENTERPRICE,COLORWHITE,LINETHICK0;
多方止损:ENTERPRICE-ENTERPRICE/200,COLORRED,LINETHICK0;
多方止盈:ENTERPRICE+ENTERPRICE/200*2.5,COLORRED,LINETHICK0;
空方止损:ENTERPRICE+ENTERPRICE/200,COLORGREEN,LINETHICK0;
空方止盈:ENTERPRICE-ENTERPRICE/200*2.5,COLORGREEN,LINETHICK0;
//交易系统
SOS平空:SELLSHORT(止损平空条件1,1,LIMITR,空方止损);
IF 收盘平空条件 THEN BEGIN
收盘平空:SELLSHORT(1,1,MARKET);
END
IF 止盈平空条件2 THEN BEGIN
LF平空:SELLSHORT(1,1,LIMITR,空方止盈);
B:=1;
END
输出B:=B,COLORWHITE,LINETHICK0;
IF 开多条件 THEN BEGIN
开多:BUY(1,1,LIMITR,输出H);
CC:=CC+1;
END
SOS平多:SELL(止损平多条件1,1,LIMITR,多方止损);
IF 收盘平多条件 THEN BEGIN
收盘平多:SELL(1,1,MARKET);
END
IF 止盈平多条件2 THEN BEGIN
LF平多:SELL(1,1,LIMITR,多方止盈);
A:=1;
END
输出A:=A,COLORWHITE,LINETHICK0;
IF 开空条件 THEN BEGIN
开空:BUYSHORT(1,1,LIMITR,输出L);
CC:=CC+1;
END
输出CC:=CC,COLORWHITE,LINETHICK0;
IF TIME=145800 THEN A:=0;
IF TIME=145800 THEN B:=0;
IF TIME=145800 THEN CC:=0;