系统内建指标复制到自己策略里面计算结果不同
Params Numeric OIThreshold(5); // 持仓量变化率阈值(百分比),当持仓量变化超过±5%时触发条件 Numeric MaxDailyLoss(2); // 单日最大亏损比例(百分比),触发后当日停止交易 NumerIC ATRMultiplier(2); // ATR止损倍数(如2倍ATR作为止损空间) //MACD的 Numeric FastLength(12); //快线周期 Numeric SlowLength(26); //慢线周期 Numeric MACDLength(9); //信号线周期 //ATR的 Numeric Length(14); //周期 //成交量的 Numeric VolPeriod(5); // 成交量均线周期,用于判断成交量突破 Vars //MACD的 Series<Numeric> MACDDiff; Series<Numeric> AvgMACD; Series<Numeric> MACDValue; Plot plt_macd; Plot plt_ATR; Events //MACD的 OnInit() { plt_macd.figure(0);//plt_macd和k线同一个画板,独立图表显示 plt_ATR.figure(0);//plt_vol和k线同一个画板,独立图表显示 } //ATR的 OnReady() { SetBackBarMaxCount(1+VolPeriod); Range[0:DataSourceSize() - 1] //ATR的 { plt_ATR.setOption ("ATR", "begin-bar", Length); } //MACD的 { plt_macd.setOption("MACDDiff", "begin-bar", SlowLength); plt_macd.setOption("MACDDEA", "begin-bar", SlowLength + MACDLength); plt_macd.setOption("MACD", "begin-bar", SlowLength + MACDLength); } //成交量的 { setPlotOption("5日成交量均线", "begin-bar", VolPeriod); } } OnBar(ArrayRef<Integer> indexs) { //ATR的 Range[0:DataSourceSize() - 1] { plt_ATR.line("ATR",AvgTrueRange(Length)); } //MACD的 { MACDDiff = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ; AvgMACD = XAverage(MACDDiff,MACDLength); MACDValue = 2 * (MACDDiff - AvgMACD); plt_macd.line("MACDDiff",MACDDiff); //画线 plt_macd.line("MACDDEA",AvgMACD); //画线 If (MACDValue >= 0) { plt_macd.setOption("MACD","color",Red); //设置颜色属性 plt_macd.barv("MACD",MACDValue); //画柱状图 } Else { plt_macd.setOption("MACD","color",Green);//设置颜色属性 plt_macd.barv("MACD",MACDValue); //画柱状图 } plt_macd.barv("零线",0); } //成交量的 { PlotAuto("成交量",Vol,0,Color10(),Enum_Bar,Enum_Fill); PlotNumeric("5日成交量均线", AverageFC(Vol, VolPeriod)); } }还请帮忙看看,复制的内建策略代码到自己的策略,计算结果不同的原因。