多数据源问题

运行下面代码,在2017年6月2号,print了两次,而且最后一个品种c9888取的值还不一样,帮忙看下。//------------------------------------------------------------------------Params //此处添加参数 numeric start_d(20170101); NUMERIC EnD_D(0); integer initEquity(1000000); Vars string freq(1d); //此处添加变量 global Array<string> furList; global array<numeric> org_nLiquid; global array<string> org_symbol; global integer i; Defs Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作 OnInit() { //数据不齐全时会导致单腿,如sf2016年经常无成交量,也会导致出问题。 furList=[rb888.SHFE,i9888.DCE,j9888.DCE,al888.SHFE,ni888.SHFE ,MA888.CZCE,TA888.CZCE,bu888.SHFE, ru888.SHFE,pp888.DCE ,m9888.DCE,p9888.DCE,SR888.CZCE,CF888.CZCE,c9888.DCE]; for i=0 to GetArraySize(furList)-1 SubscribeBar(furList[i],freq,start_d,EnD_D); //与数据源有关 Range[0:DataCount-1] { //=========数据源相关设置============== AddDataFlag(Enum_Data_RolloverBackWard()); //设置后复权 AddDataFlag(Enum_Data_RolloverRealPrice()); //设置映射真实价格 AddDataFlag(Enum_Data_AutoSwapPosition()); //设置自动换仓 //AddDataFlag(Enum_Data_IgnoreSwapSignalCalc()); //设置忽略换仓信号计算 //AddDataFlag(Enum_Data_OnlyDay()); //设置仅日盘 //AddDataFlag(Enum_Data_OnlyNight()); //设置仅夜盘 //AddDataFlag(Enum_Data_StrategyQuote()); //设置返回公式行情 //AddDataFlag(Enum_Data_NotGenReport()); //设置数据源不参与生成报告标志 //=========交易相关设置============== SetMarginRate(0.1); //设置保证金率为10% SetCommissionRate(BitOr(Enum_Rate_FreeOfExitToday,Enum_Rate_ByFillAmount),0); //设置手续费率为成交金额的5%%,不收平今, BitOr进行位或运算即设置属性和 SetSlippage(Enum_Rate_PointPerHand,1); //设置滑点为2跳/手 SetOrderPriceOffset(1); //设置委托价为叫买/卖价偏移2跳 SetOrderMap2MainSymbol(); //设置委托映射到主力 //SetOrderMap2AppointedSymbol(symbols, multiples); //设置委托映射到指定合约,symbols是映射合约数组,multiples是映射倍数数组 } //与数据源无关 SetBeginBarMaxCount(10); //设置最大起始bar数为10 //SetBackBarMaxCount(10); //设置最大回溯bar数为10 //=========交易相关设置============== SetInitCapital(initEquity); //设置初始资金为100万 } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { integer furCount; array<integer> id1; Range[i=0:datacount-1] { org_nLiquid[i]=Volatility(data[i].close[1],20); org_symbol[i]=data[i].symbol; id1[i]=i; } if (date==20230901) { print(datetimetostring(date)+_原始数组:+TextArray(org_symbol)); print(datetimetostring(date)+_原始数组因子值:+TextArray(org_nLiquid)); print(id1:+TextArray(id1)); } if (date==20170602) { print(datetimetostring(date)+_原始数组:+TextArray(org_symbol)); print(datetimetostring(date)+_原始数组因子值:+TextArray(org_nLiquid)); print(id1:+TextArray(id1)); } } //------------------------------------------------------------------------// 编译版本: 2020-06-06 165526// 版权所有 gordenwch// 更改声明 TradeBlazer Software保留对TradeBlazer平台// 每一版本的TradeBlazer公式修改和重写的权利//------------------------------------------------------------------------

顺便print一下是在哪根bar上输出,由哪个图层驱动的。如果是盘中输出的还要print一下执行时间