遍历期权图层,引用symbol时仍是0号图层的品种代码,要如何解决

遍历期权图层,引用symbol时仍是0号图层的品种代码,要如何解决?

0,1号图层分别是hs300的日K线和5分钟K线,代码如下:

        SubscribeBar("000300.SSE","1d",s_time,e_time);//订阅沪深300指数(000300.SSE)日K线行情
        SubscribeBar("000300.SSE","5m",s_time,e_time);//订阅沪深300指数1分钟K线行情

之后订阅了一批相应的期权合约,在onbar中对他们进行买卖,但在onbar遍历期权图层执行代码时,调用的symbol竟然还显示000300.SSE,请问该如何解决?

OnBar(ArrayRef<Integer> indexs)
{If(data1.close[1]>U //当向上突破时
           AND data1.time>=(cover_time*0.001) AND data1.Time<=jysjz) //当天9:45之后,14:45分之前(是否需要修改成>=0.0945,<=0.1400?)
        {
            Range[2:datacount-1]
            {
                If(OptionType == Enum_PutOption and currentcontracts > 0) //如果持有看跌仓位,则平仓
                {
                    Data1.Commentary("向上突破上轨时持有看跌期权"+ symbol + text(currentcontracts)+"手,全部平仓");
                    If(Sell(CurrentContracts,Max(close[1],open[0]) - 0.4))
                    {
                        Data1.Commentary("平仓看跌期权成功");
                    }
                    Else
                        Data1.Commentary("平仓看跌期权失败");
                }

上面加红的symbol,在data1中调用仍显示为"000300.sse",是因为前面有data1的原因吗?如何要显示成对应的期权合约该如何编写?

遍历期权图层时,偶然发生不执行的交易代码的情况,请TB老师分析
多图层期权合约平仓失败
如何得到当前图层的合约代码
请教!关于多品种,跨周期,多图层
如何让多图层只加载0图层的K线图表?
多图层交易时,进行“设置忽略 多开/多平/空开/空平”设置时,能否进行具体图层进行设置忽略? 代码怎么写?
关于相应图层的品种名称判断的问题
tbquant3,代码订阅图层,比如有10层,如何显示指定的图层。原tbquant可任意选择
多图层onBar(),各品种bar的时间对齐问题
多周期,只设置图层时间,品种手选

函数内部的所有对象包括参数,都默认跟随函数的图层。所以你commentary是data1 那填写参数时不加图层编号,默认都是data1

明白了,谢谢