两个问题:请看图示
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
Series<Numeric> macd;
Series<Numeric> macdif;
Series<Numeric> macdea;
Plot pltmacd;
Events
OnInit()
{
pltmacd.figure(0); //与k线同一个画板,独立图表
pltmacd.setOption(x-format,time);//设置X为时间轴
pltmacd.setOption(MACD, bar-width, 1);//支持 1-10 的宽度值
pltmacd.setOption(MACD, style, Enum_Fill);
pltmacd.setOption(DIF,color,Rgb(255,252,255));
pltmacd.setOption(DEA,color,Rgb(255,252,0));
pltmacd.setOption(金叉区间,color,Rgb(255,0,0));
pltmacd.setOption(金叉区间, bar-width, 0.1);//支持 1-10 的宽度值
pltmacd.setOption(死叉区间,color,Rgb(0,255,0));
pltmacd.setOption(死叉区间, bar-width, 0.1);//支持 1-10 的宽度值
}
OnBar(ArrayRef<Integer> indexs)
{
Integer i;
Range[i=0:DataCount()-1]
{
Numeric bartime = Data[i].Date+Data[i].Time;
Data[i].macdif = Data[i].XAverage(Data[i].Close, FastLength)-Data[i].XAverage(Data[i].Close, SlowLength);
Data[i].macdea = Data[i].XAverage(Data[i].macdif, MACDLength);
Data[i].macd = Data[i].macdif-Data[i].macdea;
pltmacd.line(DIF, bartime, Data[i].macdif);
pltmacd.line(DEA, bartime, Data[i].macdea);
If(Data[i].macd>=0)
pltmacd.setOption(MACD, color, Red);
Else
pltmacd.setOption(MACD, color, Green);
pltmacd.barv(MACD, bartime, Data[i].macd, 0);
pltmacd.line(零线, bartime, 0);
//以下代码存在问题
If(Data[i].macdif>Data[i].macdea)
pltmacd.barv(金叉区间, bartime, Data[i].macdea, Data[i].macdif);
Else
pltmacd.barv(死叉区间, bartime, Data[i].macdif, Data[i].macdea);
}
}
下个版本将修复此问题
好像是有问题,我们确认下
还有第三个问题:注意看金叉区间和死叉区间的柱子宽窄不一致
这个我验证下 可能tbq3一些默认值不同