期权合约订阅0518_2023腾讯课堂.里的策略只能在螺纹品种上能正常应用,换在铁矿石等品种都不能正常显示,我调整了价差和最大值最小值参数也不显示,请问代码需要更改哪里
//------------------------------------------------------------------------
// 简称: ttlesson_0518_2023
// 名称:
// 类别: 公式应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params
//此处添加参数
Numeric min_opt_interval(50);
Numeric max_strike(4100);
Numeric min_strike(3200);
Numeric FastLength(5);// 短期指数平均线参数
Numeric SlowLength(20);// 长期指数平均线参数
Vars
//此处添加变量
global Numeric g1(0);
global bar a1;
Series<Numeric> AvgValue1;
Series<Numeric> AvgValue2;
Defs
//此处添加公式函数
Events
//此处实现事件函数
//初始化事件函数,策略运行期间,首先运行且只有一次
OnInit()
{
if(g1 == 1)
{
Numeric i;
////call 平 虚
for i = 0 to 1// 可参数化
{
string str1;
Array<string> str2;
//rb2310.SHFE
StringSplit(Symbol,\".\",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,Frequency,BeginDateTime);
if(sym1 != InvalidNumeric)
{
print(\"sym1=\"+text(sym1));
}
else
{
print(\"出错\");//
break;
}
}
Else
{
break;
}
}
//////////////put 平 虚
for i = 0 to 1
{
string str1;
Array<string> str2;
//rb2310.SHFE
StringSplit(Symbol,\".\",str2);
numeric a = round(a1.close/min_opt_interval,0)*min_opt_interval;
str1 = str2[0] + \"P\" + text(a-i*min_opt_interval) +\".\" + str2[1];
if(a-i*min_opt_interval >= min_strike)
{
integer sym1 = SubscribeBar(str1,Frequency,BeginDateTime);
if(sym1 != InvalidNumeric)
{
print(\"sym1=\"+text(sym1));
}
else
{
print(\"出错\");//
break;
}
}
Else
{
break;
}
}
}
}
OnReady()//数据准备,获取最近K线close
{
//BarStatus==0
if(g1 == 0)
{
GetBar(a1,(BarCount-1)*-1);
g1 = 1;
ReStart(false);
}
}
/*
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
//range[0:datacount-1]
{
AvgValue1 = AverageFC(Close,FastLength);
AvgValue2 = AverageFC(Close,SlowLength);
PlotNumeric(\"MA1\",AvgValue1);
PlotNumeric(\"MA2\",AvgValue2);
If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
{
Buy(0,Open);
}
If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
{
SellShort(0,Open);
}
}
}
*/
//------------------------------------------------------------------------
// 编译版本 2023/05/18 153456
// 版权所有 wangkaiming
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------