我交易品种为股指期货(9:15分开盘),我采用15分钟周期的K线图,在9:30这根K线(即开盘后的第一根K线)出信号,采用走完K线,所以会在9:15准时下单。
在9:30分这根K线中,判断昨日的上证日线数据,采用的方法是类似"SH000001$CLOSE##day"这样的方法,在实盘中出现这样的问题:
股市正式开盘前(9:30之前)"SH000001$CLOSE##day"获得的是前一日的收盘价,而不是昨日的收盘价,很奇怪,因为9:25股市集合竞价已经结束,上证日线图上已经显示了今日开盘价,但"SH000001$OPEN#day"获得的是昨日开盘价,"SH000001$CLOSE##day"获得的是前日收盘价!!!
当9:30后收到第一笔分笔数据时,一切又变正常了,"SH000001$OPEN#day"获得的是今日上证开盘价,"SH000001$CLOSE##day"获得的是昨日上证收盘价。
我在公式里面使用了DRAWTEXTEX()这个函数把以上内容显示在图表上的,所以整个过程都能观察到
也就是在上证9:30分收到第一笔分笔数据前,我的系统是不能正常工作的(判断全乱),而我股指期货走完第一根K线后就会下单,我观察到数据中,上证收到第一笔分笔成交是9:30:10,也就是正式开盘后10秒了,而我的走完K线下单应该在这之前就下单了。那么我就担心由于以上原因得出的信号是错误的。
我不知道明明上证集合竞价已经在9:25分出数据,为什么"SH000001$OPEN#day"等在9:30收到连续竞价的第一笔成交前却不能正常工作。
我该怎么才能做到在9:25~9:30分之间,成功获取昨日的上证日线有关数据?
策略评测工作就完全正常,对于已经过去的K线,"SH000001$OPEN#day"等都能正常工作。
用过REFDATE,只能引用15分钟的,不能引用日线的,且这个函数又不能跨品种引用,就没有跨品种用日期来引用数据的吗?
刚才做了下实验,断网,然后把今天的上证分笔数据删除,只剩下集合竞价那笔。结果有点明白了:
删除之后,用了"SH000001$OPEN#day"能获取今天的开盘价,猜想,是动态数据中,已经有了上证的今日各项数据。
所以应该是9:25~9:30之间,虽然集合竞价已经出来,但只有一个分笔成交数据,动态数据里面可能还没有收到任何上证的信息,所以无法获得上证的今日开盘。有点纠结了
嗯,不管怎么样,先感谢客服回复
但这不行阿,因为我是走完K线,一推就是推迟到15分钟后,变9:45下单了
走完K线无法指定在K线中间下单的
现在我打算改成轮询了,但判断上一个K线的信号,实际和走完K线一样
之前不知道走完K线原来也这么多毛病
用以下代码,在9:26--9:30分之间,观察正确
X:callstock('SH000001',VTOPEN,6,-1),linethick0;//上证指数昨开
X1:callstock('SH000001',VTclose,6,-1),linethick0;//上证指数昨收