我写了一个日盘和夜盘前2分钟强平的语句,总是出错,一开就平,请问问题在哪里呢?
IF timetot0(dynainfo(207))-(timetot0(closetime(4))-60*2)<=3 THEN BEGIN
日收盘平多:SELL(HOLDING>0,0,MARKET),LINETHICK0;
日收盘平空:SELLSHORT(HOLDING<0,0,MARKET),LINETHICK0;
END
IF timetot0(dynainfo(207))-(timetot0(closetime(1))-60*2)<=3 THEN BEGIN
夜收盘平多:SELL(HOLDING>0,0,MARKET),LINETHICK0;
夜收盘平空:SELLSHORT(HOLDING<0,0,MARKET),LINETHICK0;
END
调试的时候用的是以下语句:
IF timetot0(TIME)=timetot0(closetime(4)) THEN BEGIN
测试日收盘平多:SELL(HOLDING>0,手数,MARKET),LINETHICK0;
测试日收盘平空:SELLSHORT(HOLDING<0,手数,MARKET),LINETHICK0;
END
IF timetot0(TIME)=timetot0(closetime(1)) THEN BEGIN
测试夜收盘平多:SELL(HOLDING>0,手数,MARKET),LINETHICK0;
测试夜收盘平空:SELLSHORT(HOLDING<0,手数,MARKET),LINETHICK0;
END
测试没有问题,因为没有设提前2分钟强平。
是不是要写提前2分钟强平,就需要把运行模式改为逐K,固定时间运行?
应用在哪个周期上的?
应用在3分钟周期上。
IF (timetot0(dynainfo(207))-(timetot0(closetime(4))-60*2)<=3) or (not(islastbar) and time=closetime(4)) THEN BEGIN
日收盘平多:SELL(HOLDING>0,0,MARKET),LINETHICK0;
日收盘平空:SELLSHORT(HOLDING<0,0,MARKET),LINETHICK0;
END
IF (timetot0(dynainfo(207))-(timetot0(closetime(1))-60*2)<=3) or (not(islastbar) and time=closetime(1)) THEN BEGIN
夜收盘平多:SELL(HOLDING>0,0,MARKET),LINETHICK0;
夜收盘平空:SELLSHORT(HOLDING<0,0,MARKET),LINETHICK0;
END
谢谢·!
dynainfo(207)是只有在实盘下才会返回时间吗?测试环境下返回的是什么呢?
我写了一个语句
aaa:=TIMETOT0(dynainfo(207));
应用在3分钟k线图上,什么输出都没有