期权合约订阅0518_2023腾讯课堂里的策略,只能在螺纹品种上能正常应用
期权合约订阅0518_2023腾讯课堂.里的策略只能在螺纹品种上能正常应用,换在铁矿石等品种都不能正常显示,我调整了价差和最大值最小值参数也不显示,请问代码需要更改哪里
期权合约订阅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公式修改和重写的权利//------------------------------------------------------------------------