本帖最后由 技术009 于 2021-12-21 08:50 编辑
不是 ,我前面没说清楚。是实盘时候是可以提前的,就是回测时候或者说历史信号 是体现出来提前多少分钟这个含义的。
代码如下,这个是利用循环遍历每个收盘时间。你可以自行调整下,需要哪几个收盘时间都可以调整的。
[PEL] 复制代码 INPUT:N(3,1,200,1),X(0,0,4,1);
MARK:=0;//用于记录当前是否满足某个收盘K结束前N分钟的变量
FOR I=0 TO 3 DO //循环变量每个收盘时间来进行判断
BEGIN
abb:=timetot0(CLOSETIME(I))-time0,NODRAW;//当前K线时间距离收盘K线结束倒计时
abb3:=timetot0(CLOSETIME(I))-timetot0(dynainfo(207)),NODRAW;//当前时间距离收盘K时间
IF (abb<N*60 and abb>=0 and (not(ISLASTBAR))) or (ISLASTBAR and abb3>=0 and abb3<N*60) THEN MARK:=1;
END
if MARK then //兼顾实际交易时候的信号和历史回测信号
begin
sell(holding>0,holding,market);
sellshort(holding<0,holding,market);
end
|