求教~ 怎样计算出这一块MACDDIFF>0时候,所有的红柱的数值和
就是在MACD图形里面,连续的红柱的数值,红柱的值就是MACEDDIFF,可是怎么用TB实现并收集到这一数值 您可以把我们软件内部的MACD代码拷贝到你要写的策略中,作为其中的一个指标模块,然后策略内读取MACDDiff的值,也可以通过自建用户函数来引用其中的值。 ParamsNumeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
NumericSeries MACDValue;
Numeric AvgMACD;
NumericSeries MACDDiff;
NumericSeries CountDiff;
Begin
MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;
AvgMACD = XAverage(MACDValue,MACDLength);
MACDDiff = MACDValue - AvgMACD;
/*
PlotNumeric("MACD",MACDValue);
PlotNumeric("MACDAvg",AvgMACD);
If (MACDDiff >= 0)
PlotNumeric("MACDDiff",MACDDiff,0,Red);
Else
PlotNumeric("MACDDiff",MACDDiff,0,Green);
PlotNumeric("零线",0);
*/
//以上是MACD指标源码
//以下是实现这位朋友想要的效果的代码,看看对不对?
if((MACDDiff>0 and MACDDiff<0) or (MACDDiff<0 and MACDDiff>0))
{
CountDiff=MACDDiff;
}else
{
CountDiff=CountDiff+MACDDiff;
}
If (CountDiff >= 0)
{
PlotNumeric("CountDiff",CountDiff,0,Red);
}
Else
{
PlotNumeric("CountDiff",CountDiff,0,Green);
}
End
页:
[1]