怎么订阅主力合约的行情?主要是不知道怎么写通配主力合约对应的symbol代码。
使用环境决定了不能在图表上,按参数方式去手动输入指定主力合约的代码。需要通过语法自动取对应的主力合约。
顶上求解答
通过获取换月的基础数据,获取当前主力
如果就是根据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线。