遍历期权图层时,偶然发生不执行的交易代码的情况,请TB老师分析

先说一下背景,我做了一个突破型的策略,每天生成上下轨BuyLine和SellLine,当天向上突破BuyLine时则做多,第二天前30分钟未向上突破时则先平昨日仓。

突破的时候需要买入虚一档的看涨期权,由于每天需交易的期权都不同,所以我把可能的期权图层都加进策略中,交易时需执行遍历图层代码。但在实盘操作时,发现开平仓的代码偶尔会不正常发单,比如今天HO2406-C-2500应该发单,却没发单。但同一套策略的Mo2406-C-5300却能正常发单,这种情况已经出现了很多次,感觉是平台机制的问题,请研发人员分析。

交易情况如下:仅有MO期权的交易,而无HO期权的交易。

data-href=

我以HO的期权策略进行说明,0号图层是ih2406的日线,1号图层是ih2406的30分钟线,2及以后的图层都是当月的看涨期权图层,如下图所示:

data-href=

交易的核心代码如下:

OnBarOpen(ArrayRef<Integer> indexs)

{

Range[2:datacount-1]

{

If(data1.time == 0.1 and Data1.High[1] < BuyLine)

{

if(MarketPosition==1)

{

data1.Commentary(Symbol + 仓位不为空,即将平仓);

Sell(lots,Open);

FileAppend(c:DT_Option_Debug,data1.time= + Text(data1.Time) +    CurrentDate= + DateToString(CurrentDate) +   CurrentTime= + TimeToString(CurrentTime)

+  Data1.High[1]= + Text(Data1.High) +   Buyline= + Text(BuyLine) +   SellLine= + Text(SellLine) +    此时价格为

+ Text(data1.Open) + ,未向上突破buyline,平仓所有合计 + text(lots) + 张看涨期权。驱动的图层为 + TextArray(indexs));

data1.PlotString(Cover,10点平仓,low,red);

}

}

}

}

我用fileappend函数记录了交易的代码,用文件查看器查看后,可以看到是有触发交易的:

data-href=

那么问题来了,为什么账户交易记录里没有发出任何一个期权合约的交易委托呢?如果说代码有问题,为什么HO代码不触发交易,但MO合约触发了交易呢?问题出在OnBarOpen处理不了range遍历循环,还是range[2:datacount-1]的用法有问题?

这个Bug已经困扰我许久,请TB的各位老师指导。



遍历期权图层,引用symbol时仍是0号图层的品种代码,要如何解决
多图层期权合约平仓失败
经验: 2个数据层的数据没有对齐的情况一下偶然的情况下会导致策略卡死
关于投资分析功能无法获取完整期权交易信息的问题
程序化交易中期权行权的代码如何编写?
程序化交易中期权行权的代码如何编写?
多品种时存在重复执行K线的情况,疑似BUG
在OnBarClose中编写的交易代码,却在bar开始时执行,这是什么原因
请帮我分析一下这段代码
多图层交易时,进行“设置忽略 多开/多平/空开/空平”设置时,能否进行具体图层进行设置忽略? 代码怎么写?

老师,这套机制如果我只用期货进行交易,不用期权,如IH2406的日线和IH2406的30分钟K线两个图层,却从来没有发生过错误,只有用IH2406进行交易信号判断,用期权图层进行交易时,才会发生错误。

多图层叠加的情况是有可能发生闪烁行为的。这个问题一般是由于图层最新数据的到来有先后顺序,如果策略模型对数据接受的随机顺序没有合适的处理方式,导致先发信号被覆盖,或者后发信号被当作历史信号而不返单,不排除这些可能性。

这个问题目前没有好的解决方案,只能靠模型自己的处理机制来解决。

另外,这种类似的问题,我要分析就必须拿到对应的代码及复现环境,做测试实验并且根据详细的日志来定位问题。目前来看,你提供的这些信息无法定位到问题到底在哪里。

当然如果执意认为这是tb机制有bug有漏洞,也可以把相关描述提交给客服让客服转达给研发人员。

但是转发给研发人员,同样是要提供能稳定复现问题的代码及环境,否则研发人员也是束手无策的。

“这个问题一般是由于图层最新数据的到来有先后顺序,如果策略模型对数据接受的随机顺序没有合适的处理方式,导致先发信号被覆盖,或者后发信号被当作历史信号而不返单,不排除这些可能性。”老师有关于这个多图层信号机制的文字说明或视频介绍吗?我对多图层的信号机制确实了解得不够。