为什么输出全是0, 到底是什么问题????
Params
Numeric RangeLen(7); //高低点周期
Numeric RngPcnt(200); //周期区间高度倍数*100
Numeric ATRs(8); //盈利峰值价回落ATR
Numeric ATRLen(2);//盈利峰值价回落周期
Vars
Dic<Array<Numeric>> FeData("TB_ROLLOVER_v2");
Series<Numeric> roe;
Series<Numeric> RangeH(0); //7周期高点
Series<Numeric> RangeL(0); //7周期低点
Series<Numeric> TRange(0); //7周期区间
Series<Numeric> NoTrades(0); //记录7周期高低点分别与7周期内各K线最高最低值的距离之和
Series<Numeric> ShortRisk(0); //初始止损价
Series<Numeric> ShortLow(0); //跟踪止盈价
Series<Numeric> ATR; //2周期ATR均值
Series<Numeric> ATRMA; //7周期ATR均值
Numeric value1;
Series<Bool> Condition1;
Series<Bool> Condition2;
Series<Bool> Condition3;
Series<Bool> Condition4;
Events
OnInit()
{
Range[0:DataCount-1]
{
//=========数据源相关设置==============
AddDataFlag(Enum_Data_RolloverBackWard()); //设置后复权
AddDataFlag(Enum_Data_RolloverRealPrice()); //设置映射真实价格
AddDataFlag(Enum_Data_AutoSwapPosition()); //设置自动换仓
AddDataFlag(Enum_Data_IgnoreSwapSignalCalc()); //设置忽略换仓信号计算
}
}
OnBar(ArrayRef<Integer> indexs)
{
//if(FeData[0][1]<>InvalidNumeric)
roe=FeData[0][1]; //ROE在当前BAR的序列数组的第13个元素
Commentary("roe="+Text(roe));
经过沟通,发现错误是因为订阅的基础数据类型是string array类型,但是代码里声明的是numeric array类型,类型不符导致读取数据失败出错了。
代码贴完整,后面都漏了
这就是我的完整代码,只是少了一个括号,这个代码就去弄来输出基础数据的