请问一下。看一下评论


Params

//此处添加参数

Numeric min_opt_interval(50);

Numeric max_strike(1000000);

Numeric min_strike(0);

Numeric FastLength(5);// 短期指数平均线参数

Numeric SlowLength(20);// 长期指数平均线参数

Vars

//此处添加变量

global Numeric g1(0);

global Numeric g2(0);

Series<Numeric> x(1);

global bar a1;

global bar a2;

Numeric aa1;

   Numeric b;

Array<String> symbols;

Array<string> str2;

Global string str3;

Global string str4;

Global integer sym3;

Global integer sym4;

Global integer sym5;

Defs

//此处添加公式函数

Events

//此处实现事件函数

//初始化事件函数,策略运行期间,首先运行且只有一次

OnInit()

{

Numeric dateTime;

print(text(dateTime));

StringSplit(MainSymbol,".",str2);

str3=Mid(text(a1.dateTime),2,4);

Print("str3:"+str3);

str4=SymbolType()+str3+"."+str2[1];

Print("str4:"+str4);

sym3=SubscribeBar(str4,"1m",Data0.BeginDateTime(),Data0.endDateTime(),Enum_Data_RolloverBackWard());

print("sym3="+text(sym3));

if(sym3 != InvalidNumeric)

{

Numeric m=Value(str3);

m=m+1;

print("m="+text(m));

str4=SymbolType()+text(m)+"."+str2[1];

Print("str4:"+str4);

UnsubscribeBar(sym3);

sym4=SubscribeBar(str4,"1m",Data0.BeginDateTime(),Data0.endDateTime(),Enum_Data_RolloverBackWard());


}Else

{

Numeric m=Value(str3);

m=m+2;

print("m="+text(m));

str4=SymbolType()+text(m)+"."+str2[1];

Print("str4:"+str4);

UnsubscribeBar(sym3);

sym4=SubscribeBar(str4,"1m",Data0.BeginDateTime(),Data0.endDateTime(),Enum_Data_RolloverBackWard());

}

/*if(g1 == 1)

{

Numeric i1;

Range[i1 = 1 : DataSourceSize - 1]

{

Print("a1.close="+text(a1.close));

}

Numeric i;

//call 平 虚

for i = 0 to 5// 可参数化

{  

 

string str1;

Array<string> str2;

//rb2310.SHFE

StringSplit(MainSymbol,".",str2);

numeric a = round(a1.close/min_opt_interval,0)*min_opt_interval;

str1 = str2[0] + "C" +text(a+i*min_opt_interval) +"." + str2[1];

print("str1="+str1);

if(a+i*min_opt_interval <= max_strike)

{

integer sym1 =SubscribeBar(str1,"5m",Data0.BeginDateTime(),Data0.endDateTime(),Enum_Data_RolloverBackWard());

if(sym1 != InvalidNumeric)

{

print("sym1="+text(sym1));

Numeric DaysLeft;

Numeric AssetPr;

Numeric Volty;

//Print("Delta:" + Text(Delta(TradingDayLeft));

}

else

{

print("出错");//

break;

}

}

Else

{

break;

}

}

//////////put 平 虚

}*/

}


OnReady()//数据准备,获取最近K线close

{

if(BarStatus==0)

{

Numeric i;

Range[i = 0 : DataSourceSize - 0]

{

if(g1 == 0)

{

GetBar(a1,(BarCount-1)*-1);

g1 = 1;

ReStart(false);

}

}

}

}





请看一下评论
老师帮忙看一下
老师,帮忙看一下怎么写这个
附带我上个帖子也没解决 帮忙看一下
请老师帮忙看一下
老师帮忙看一下
帮忙看一下这个策略
哪位老师帮忙看一下
请老师帮忙看一下这段代码
请老师帮忙看一下代码

请问一下,我在指数上面订阅了最近一个月的期货标的。我还想订阅这个月的期权平值期权,或者我应该怎么取到订阅后图表一的收盘价,应该怎么写

最主要的是怎么获取图标一的收盘价。

订阅返回的是图层编号

data[sym1].close 就是对应图层的收盘价

好的,谢谢了