
等级: 标准版
- 注册:
- 2023-2-16
- 曾用名:
|

楼主 |
发表于 2023-5-18 17:22
|
显示全部楼层
INPUT:N(3,1,200,1);//N是提前的分钟数
MARK:=0;//用于记录当前是否满足某个收盘K结束前N分钟的变量
FOR I=0 TO 3 DO //循环遍历每个收盘时间来进行判断。这里可以调整I起始位置 来控制需要处理的收盘节点。
BEGIN
abb:=timetot0(CLOSETIME(I))-time0,NODRAW;//当前K线时间距离收盘K线结束倒计时,在一个K上对应一个固定值
abb3:=timetot0(CLOSETIME(I))-timetot0(dynainfo(207)),NODRAW;//当前时间(当前的北京时间)距离收盘K时间 , 在最新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);
DRAWICON(1,h,1);
end
这种 能不能 (abb<N*60 and abb>=0 and (not(ISLASTBAR))) or (ISLASTBAR and abb3>=0 and abb3<N*60) 把这个变成收盘前20秒的写法 平仓这些不考虑 我自己去考虑
时间帮我写到各个收盘节点提前20秒就好 |
|