Bline MACD for AB

Discussion in 'AmiBroker' started by wavefront, May 7, 2007.

  1. have a nice day

    //////////////



    function fMACDLine(input,fa0, fa1)
    {
    result = EMA(input,fa0) - EMA(input,fa1);
    return result;
    }


    function fMACDAvg(input,fa0, fa1, fa2)
    {
    mymacd1 = EMA(input,fa0) - EMA(input,fa1);
    result = EMA(mymacd1,fa2);

    return result;
    }


    function fMacdHisto( input, f0, f1, f2 )
    {
    mymacd = EMA(input,f0) - EMA(input,f1);
    mymacdsig = EMA(mymacd,f2);

    result = mymacd - mymacdsig;

    return result;
    }

    price = (H+L+C)/3;
    MA1 = 7;
    MA2 = 10;
    MA3 = 5;

    MACDHisto = fMacdHisto( price, MA1, MA2, MA3);
    MACDHistox2 = fMacdHisto( price, MA1*2, MA2*2, MA3*2);
    MACDHistox3 = fMacdHisto( price, MA1*3, MA2*3, MA3*3);
    MACDLine = fMacdLine(price, MA1*3, MA2*3);
    MacdAvg = fMacdAvg(price, MA1*3, MA2*3, MA3*3);

    MACDLineColor = IIf(MACDLine>= Ref(MACDLine,-1), colorWhite, colorViolet );

    Plot(MACDLine, "MACDLine", MACDLineColor , styleLine|styleLeftAxisScale|styleThick);
    Plot(MACDAvg, "MACDAvg", colorBlue, styleLine|styleLeftAxisScale);

    Plot(MACDHisto, "MACDHisto", IIf(MACDHisto >=0,colorGreen, colorRed), styleThick | styleHistogram );
    Plot(MACDHistoX2, "MACDHistoX2", colorYellow, styleLine | styleStaircase );
    Plot(MACDHistoX3, "MACDHistoX3", colorBlack, styleLine | styleStaircase );

    PullbackUp = MACDHisto<0 AND MACDHIstox2>0 AND MACDHIstox3>0 AND MACDHisto<Ref(MACDHisto,-1);
    PullbackDown = MACDHisto>0 AND MACDHIstox2<0 AND MACDHIstox3<0 AND MACDHisto>Ref(MACDHisto,-1);

    Color = IIf( PullbackUp, colorAqua,IIf(PullbackDown, colorPink, colorTeal));

    Plot( 1, "", Color, styleArea | styleOwnScale | styleNoLabel , 0, 1);
     
  2. picture
     
  3. Thanks , Also it will be useful if the indicator application is also stated
     
  4. 谢谢!辛苦了!