请问怎么订阅通配主力合约的行情?

怎么订阅主力合约的行情?主要是不知道怎么写通配主力合约对应的symbol代码。


使用环境决定了不能在图表上,按参数方式去手动输入指定主力合约的代码。需要通过语法自动取对应的主力合约。
 

订阅所有主力合约
订阅主力合约和自动切换主力合约代码,不知对否
如何订阅股指期权平值合约的行情
如何在策略中行情订阅
请问如何订阅合约的全部数据
请问怎么获取000或888合约在历史bar对应的主力合约
主力合约变了 怎么平仓
订阅所有行情
关于订阅行情
订阅行情失败的问题

顶上求解答

通过获取换月的基础数据,获取当前主力

如果就是根据000订阅888,可以用个函数自己转换下。

String newSym = Symbol;    
        newSym = StringReplace(newSym,"000","888");

然后再订阅newsym

谢谢指点!   

OnInit()
    {
        String newSym = Symbol;    
        newSym = StringReplace(newSym,"000","888");
        Print("Symbol:    "+Symbol);
        Print("newSym:    "+newSym);
        SubscribeBar(newSym,Frequency,BeginDateTime);
    }

订阅888连续 然后映射主力

如果以rb000指数为data0为例。

在rb000的图表里面订阅rb888应该是写成如下代码吧:

OnInit()
    {
        SubscribeBar(rb888,Frequency,BeginDateTime);  //BeginDateTime表示和主图时间一致
    }

 

但是因为需要通配,如果主图换成了au000,那么上面的代码还是会取rb888的行情数据,因为已经具体化了。

如何改写,才能做到主图换成au000,订阅的也自动换成au888呢?

SubscribeBar(Data0.Symbol,Frequency,BeginDateTime);

冒昧的说

data0.symbol不就等于我的主图的指数合约的代码吗?

现在是要根据指数合约的品种字段来订阅其888合约,也可以这么写吗?

实测效果还是订阅的主图的合约,主图如果是000合约,还是订阅的000合约。

晚上论坛反应不能上图……

现在是希望,data0是指数合约的情况下,data1订阅888或者主力合约的k线。