Divergence indicator.afl
上传用户:shiqiang
上传日期:2009-06-12
资源大小:1289k
文件大小:3k
- //------------------------------------------------------------------------------
- //
- // Formula Name: Divergence indicator
- // Author/Uploader: M.Lauronen
- // E-mail: pipseeker@yahoo.com
- // Date/Time Added: 2004-07-30 11:50:32
- // Origin:
- // Keywords:
- // Level: medium
- // Flags: indicator
- // Formula URL: http://www.amibroker.com/library/formula.php?id=374
- // Details URL: http://www.amibroker.com/library/detail.php?id=374
- //
- //------------------------------------------------------------------------------
- //
- // Here is an indicator which calculates divergencies between the price and
- // RSI.
- //
- // You can use another strenght/momentum indicator simple by changing one line
- // of code.
- //
- // Remember to tune the 'period' and 'numChg'
- //
- // Indicator gives you the buy/sell signal when you see green/red vertical
- // line on the panel.
- //
- //------------------------------------------------------------------------------
- // ********************************************
- // INDICATOR :DIVERGENCE
- // DATE :07-30-04
- // PROGRAMMER :M.Lauronen
- // COPYRIGHTS :Public Domain
- // ********************************************
- // --------------------------------------------
- // Recommended AmiBroker indicator settings:
- // Level 0
- // Percent
- // Middle
- // Scaling: Custom 0 - 100
- // --------------------------------------------
- // Adjust the following parameters to suit your needs
- period = 5;
- numChg = 0.001;
- // --------------------------------------------
- // Divergence for LONG
- // --------------------------------------------
- trendMom = RSI(period);
- trendZig = Zig(L, numChg);
- f = trendZig > Ref(trendZig, -1) AND Ref(trendZig, -1) < Ref(trendZig, -2);
- p1 = ValueWhen(f, Ref(trendZig, -1), 1);
- p2 = ValueWhen(f, Ref(trendZig, -1), 2);
- r1 = ValueWhen(f, Ref(trendMom,-1), 1);
- r2 = ValueWhen(f, Ref(trendMom,-1), 2);
- f = r1 > r2 AND p1 < p2;
- sig = f AND NOT Ref(f, -1) AND trendMom > Ref(trendMom, -1);
- _N(str = "(" + period + ")");
- Plot(trendMom, "RSI" + str, colorWhite);
- Plot(sig * 100, "Sig", colorGreen, styleHistogram + styleThick + styleNoLabel);
- // --------------------------------------------
- // Divergence for SHORT
- // --------------------------------------------
- trendZig2 = Zig(H, numChg);
- f = trendZig2 < Ref(trendZig2, -1) AND Ref(trendZig2, -1) > Ref(trendZig2, -2);
- p1 = ValueWhen(f, Ref(trendZig2, -1), 1);
- p2 = ValueWhen(f, Ref(trendZig2, -1), 2);
- r1 = ValueWhen(f, Ref(trendMom,-1), 1);
- r2 = ValueWhen(f, Ref(trendMom,-1), 2);
- f = r1 < r2 AND p1 > p2;
- sig = f AND NOT Ref(f, -1) AND trendMom < Ref(trendMom, -1);
- _N(str = "(" + period + ")");
- Plot(sig * 100, "Sig", colorRed, styleHistogram + styleThick + styleNoLabel);