全新事件收盘价触发onbarclose即将上线
对于之前就上线的onbaropen事件(开盘触发),已经有不少用户积极地使用了起来,使得程序运行效率提高。而现在TBquant继续推出另一个息息相关的onbarclose事件(收盘触发)。 顾名思义onbarclose表示程序执行过程中,在下一个baropen之前,可以再执行当前bar 最后一次,就会触发onbarclose事件。 Onbarclose的利用同样可以使得程序执行效率可以提高,可以把需要在收盘执行的命令放到收盘来执行。而有了开盘事件和收盘事件,两者一前一后,前后呼应可以把K线系统里2个关键的时间结点的任务归纳起来。 举个例子,比如我们平时做收盘价金死叉交易,从旧的方法上讲我们会等待一个K线走完,在第二个K线的开盘进行交易,那么理论上还是有那么些差别的,明明希望用的是close价格,但实际操作上必须把条件回溯一个周期,再使用当前bar的open价格。 比如在onbar事件下的操作方法: con_1 = crossover(ma1,ma2); if( con_1[1] ) { Buy(1,open); } 这样的操作是正确的,但是从逻辑上讲是进行了一次转换。 当使用onbarclose的话: Con_1 = crossover(ma1,ma2); if( con_1 ) { Buy(1,close); } 从一致性上讲,当你想要用close价格去成交,开仓语句中使用的价格也是close,逻辑上不进行转换。 另外的,收盘价事件有一个特殊节点,就是在即将跨日的K线上,比如当根K线即将收盘时,比如11;30或者15:00这样的时间。如果卡在最后一刻进行交易的话,那么程序虽然执行逻辑无误,但是因为网络等多重因素,你的报单很可能成为废单,所以我们在设计onbarclose事件时把这点也考虑了进去,客户可以控制距离收盘K线结束前的一小段时间,比如15:00收盘,我们控制该onbarclose触发的时间为15:00前的5秒。这样就可以完美规避,收盘最后没入场的尴尬。实战中这是一个非常重要的问题,所以我们在设计时,把这个问题提前解决了。 以上几点是onbarclose的一些应用和设计,用户可以通过公式直接在收盘价操作,该事件让编程基础一般的朋友也能得心应手。