Onbaropen&onbarclose
简单说,onbaropen是只在一根bar的第一次推送tick数据的时候运行
onbarclose是只在一根bar的最后一次推送tick数据的时候运行
在代码上的实现形式有两种,一种是在当前bar的下一根bar的onbaropen的时候先去对上一根的onbarclose做平仓处理,这样就达到了onbarclose平仓的效果,但是问题是对第j根bar操作的前提是有第j+1根k线,但是如果执行的是日内交易策略的话,想要在日内平仓,那么无论如何都会在收盘价平仓,可是收盘价是最后一根bar,这样是无法做到日内平仓的,只有等到第二天的开盘价那根bar出来,程序才会执行对昨天的最后一根k线进行平仓。
为了解决这个办法,还有第二种编写思路:
利用一个SetTriggerBarClose函数,能够指定一个时间点来执行onbarclose,比如在5分钟k线图中,在最后一根k线,也就是2:55-2:59这根k线时,如果电脑时间是2:59:00,那么就执行这个onbarclose。
其余的时间传送tick数据的时候都是onbar域内的代码来运行