帮忙分析一下这个代码 [开拓者 TB]
- 咨询内容:
begin
If( BarStatus==2)
Buy(1,h);
End
如果进行自动交易,会发生什么? - TB技术人员:
它会在每个最新的bar上开仓一次,无限循环下去,且最新的信号替代前一个信号
- TB客服:
tianlan 发表于 2014-11-10 11:00
它会在每个最新的bar上开仓一次,无限循环下去,且最新的信号替代前一个信号 ...
是的,我也以为是这样,但模拟盘测试的结果却不是这样,只在模型启动自动化交易时发一次单,然后就不再发了,现在给弄糊涂了,到底tb的发单机制是怎样的? - 网友回复:
本帖最后由 tianlan 于 2014-11-12 11:01 编辑
同一个bar 只发一次单?虽然模型是按tick 执行,bar 内可能多次满足条发单条件,是这样吗?版主。如果这样能解释一部分问题,但是我机器上到新bar 却不发单,这个还是无法解释,能否麻烦版主帮忙测试一下,这个发单问题真的很重要,多谢 - 网友回复:
本帖最后由 小米 于 2014-11-11 11:23 编辑
btzdpower 发表于 2014-11-10 16:55
同一个bar 只发一次单?虽然模型是按tick 执行,bar 内可能多次满足条发单条件,是这样吗?版主。如果这 ...
同一个bar内,条件满足的情况下,每一次运算都会执行到buy语句。但是,在启动自动交易的情况下,只有第一次执行到的buy语句才会发出委托单 。这个是会有内部机制来控制的,不会因为多次运算到buy而多次发单 的。
你所提到的代码,只在发过一次委托后,信号会不断移向最新的K线,但不会再发出委托,其原因也与TB的机制有关。
在新bar的第一个tick产生时,会将旧bar的最后一个K线与新bar的第一个tick做为同一个索引共同运算一次。
此时,在该次运算上,旧bar已经发过委托单的内部索引会被传递记录到新的这个tick上,于是新bar上的信号也会被认为是已经委托交易过的,便不会再次发单了。。
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容