//K线走完提前下单代码
tq:=9;
K终:=(time0-timetot0(dynainfo(207))<=tq); //tq自己指定一个秒数
//多头
开多:buy(h>=hh and enterbars<>0,ss,LIMITR,hh);
平多止损:sell(l<=ll,ss,LIMITR,ll);
K终平多:SELL(K终 and enterbars=0,ss,marketr);
如图,HH是通道上线,红色,LL是通道下线,绿色。
设想是当价格突破上线即开多,如果价格回落至下线即止损,如果同一个周期内没有止损,则该周期结束时平仓,提前9秒。
但是,图上标识的开平仓和我的意图完全不同,,,
下午反复改过代码后图上的显示和我的意图已经一致了,但是晚上重新打开软件全都变了,,,
又,这个是准备用于秒级轮询的,还面对一个实盘信号和对历史数据显示信号不一致的问题,感觉好像历史数据不能理解K终的定义,,,
所以,怎么在历史数据中命令用该周期收盘价平仓,同时这代码又不能在实际应用中影响到‘K终’
有没有可能用currenttime?我试着如下写法,历史信号倒是对了,但是实时的时候,K线并没有走完,平仓信号已经在图表上了,,,
K终:=(time0-CURRENTTIME()<=tq); //tq自己指定一个秒数