全新事件收盘价触发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的一些应用和设计,用户可以通过公式直接在收盘价操作,该事件让编程基础一般的朋友也能得心应手。

 

OnBarClose事件域
怎么实现在K线收盘前几秒触发OnBarClose
成交更新会触发委托事件吗
OnBarClose的触发时间和设置的触发时间点不一致
OnBarClose设置提前触发,有提前触发却没有发出委托
实盘交易跨周期OnBarClose触发问题
TB回测时事件触发时刻的问题
请问事件触发OnEvent是串行执行,还是并行执行?
关于 OnBarClose
用buy函数无法触发onorder,onfill等类似事件么?

如果是在小时k线中,应用onbarclose中,SetTriggerBarClose(0.095900),直到9:59:30才出开仓信号,会在9:59:30或稍后几秒即时开仓吗?

就告诉一下  SetTriggerBarClose(settime); 放哪里的功夫,都不肯回答。这个社区是用来干嘛的?

回答个问题有那么难吗?

老师例子要多种类 因为我们都太蠢了  

比如日线策略,如果提前触发了,但是等收完盘才发现信号不成立,怎么办?

文华有自动恢复仓位功能,这个TB我还不知道

怎么做到提前5秒,怎么写,求赐教!

为什么不能给个完整的例子呢?比如说k线走完前60秒下单。因为涉及的不止一个语句,如果不给个实例,很多人都不明白啊。现在是放着这个功能用不了。

需要加上其它命令函数,可以实现你上面说的功能了

onbarclose 的 指标在实际测试时,在日线图上,不是在14:5955时间点,即收盘前提前5秒 开仓的;而是在21:00 点开仓的!  为什么不是你上面说的那样?