gzqh0513 发表于 2014-11-1 16:55:15

求教~ 怎样计算出这一块MACDDIFF>0时候,所有的红柱的数值和

就是在MACD图形里面,连续的红柱的数值,红柱的值就是MACEDDIFF,可是怎么用TB实现并收集到这一数值

tianlan 发表于 2014-11-3 10:07:41

您可以把我们软件内部的MACD代码拷贝到你要写的策略中,作为其中的一个指标模块,然后策略内读取MACDDiff的值,也可以通过自建用户函数来引用其中的值。

hbzz8888 发表于 2014-11-10 11:14:18

Params
        Numeric 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]
查看完整版本: 求教~ 怎样计算出这一块MACDDIFF>0时候,所有的红柱的数值和