老师,我想在5分钟图表上显示周K线MACD指标,以下代码不能正常显示,不知道问题在哪里,请您帮我修改一下。谢谢!
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
Series<Numeric> MACDDiff;
Series<Numeric> AvgMACD;
Series<Numeric> MACDValue;
Events
OnBar(ArrayRef<Integer> indexs)
{
Range[0:DataSourceSize() - 1]
{
Data[1].MACDDiff = Data[1].XAverage( Data[1].Close, FastLength ) - Data[1].XAverage( Data[1].Close, SlowLength );//计算日线指标
Data[1].AvgMACD = Data[1].XAverage(Data[1].MACDDiff,MACDLength);//计算日线指标
Data[1].MACDValue = Data[1].MACDDiff - Data[1].AvgMACD;
Data[0].PlotNumeric("Data[1].MACDDiff", Data[1].MACDDiff[1]); //在5分钟周期中引用日线指标
Data[0].PlotNumeric("Data[1].AvgMACD", Data[1].AvgMACD[1]); //在5分钟周期中引用日线指标
Data[0].MACDValue = Data[1].MACDDiff[1] - Data[1].AvgMACD[1];
Data[1].PlotNumeric("Data[1].MACDDiff", Data[1].MACDDiff[1]); //在5分钟周期中引用日线指标
Data[1].PlotNumeric("Data[1].AvgMACD", Data[1].AvgMACD[1]); //在5分钟周期中引用日线指标
Data[1].MACDValue = Data[1].MACDDiff[1] - Data[1].AvgMACD[1];
//MACDValue = Data[1].MACDDiff - Data[1].AvgMACD;
//Data[1].PlotNumeric("MACDDiffday", Data[1].MACDDiff[1]); //在日线上同时显示指标
//Data[1].PlotNumeric("AvgMACDday", Data[1].AvgMACD[1]); //在日线上同时显示指标
If (Data[0].MACDValue[1] >= 0)
Data[0].PlotAuto("Data[1].MACDValue",Data[1].MACDValue[1],0,Red,Enum_Bar);
Else
Data[0].PlotAuto("Data[1].MACDValue",Data[1].MACDValue[1],0,Green,Enum_Bar);
Data[0].PlotNumeric("零线",0); //在5分钟周期中引用日线指标
If (Data[1].MACDValue[1] >= 0)
Data[1].PlotAuto("Data[1].MACDValue",Data[1].MACDValue[1],0,Red,Enum_Bar);
Else
Data[1].PlotAuto("Data[1].MACDValue",Data[1].MACDValue[1],0,Green,Enum_Bar);
Data[1].PlotNumeric("零线",0); //在5分钟周期中引用日线指标
}
}
需要代写策略或者体验策略的,可以加V13129075960,备注来意
老师,我的公式里有多个指标,所以无法一一指定。
老师,我的程序中有多个指标,比如均线和MACD,现在呢,我想让均线在主图显示,让MACD在子图显示,应该如何处理?
学习一下plot库,可以指定多个子图
试试把显示方式改成子图显示