[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] Murrey Math



PureBytes Links

Trading Reference Links

Like in a VooDoo kind of way, you mean?

Could you elaborate maybe just a little more on why Murrey Math is such
an evil wicked indicator?

Ideally I'd like to just get a workable understandable indicator and try
it out for myself on Amibroker. The Metatrader version is proving to be
a rather solid complimentary tool.

Martin

Tom Lance wrote:
> Be very careful with MM!
> 
>     ----- Original Message -----
>     *From:* Martin Cooney <mailto:martin@xxxxxxxxxxxxx>
>     *To:* Amibroker General Forum <mailto:amibroker@xxxxxxxxxxxxxxx>
>     *Sent:* Wednesday, April 12, 2006 9:05 PM
>     *Subject:* [amibroker] Murrey Math
> 
>     Hi,
> 
>     Has anyone seen a good Murrey Math indicator ?
> 
>     There's one in the 3rd party area that dates back to 2002 but there
>     doesn't appear to be much in the way of instructions. I did try it,
>     plonked the DLL into /plugins and the afl drew a pile of cross hatched
>     lines. No idea why that is nor why it needs a DLL.
> 
>     Any help would be appreciated. (I have one for Metatrader 4 which works
>     really well)
>     Cheers
>     Martin
> 
>     ------------------------------------------------------------------------
> 
>     //+------------------------------------------------------------------+
>     //|                                            Murrey_Math_MT_VG.mq4 |
>     //|                      Copyright © 2004, MetaQuotes Software Corp. |
>     //|                                        http://www.metaquotes.net |
>     //+------------------------------------------------------------------+
>     #property copyright "Vladislav Goshkov (VG)."
>     #property link      "4vg@xxxxxxx"
> 
>     #property indicator_chart_window
> 
>     //
>     ============================================================================================
>     // * Линии 8/8 и 0/8 (Окончательное сопротивление).
>     // * Эти линии самые сильные и оказывают сильнейшие сопротивления и
>     поддержку.
>     //
>     ============================================================================================
>     //* Линия 7/8  (Слабая, место для остановки и разворота). Weak,
>     Stall and Reverse
>     //* Эта линия слаба. Если цена зашла слишком далеко и слишком быстро
>     и если она остановилась около этой линии,
>     //* значит она развернется быстро вниз. Если цена не остановилась
>     около этой линии, она продолжит движение вверх к 8/8.
>     //
>     ============================================================================================
>     //* Линия 1/8  (Слабая, место для остановки и разворота). Weak,
>     Stall and Reverse
>     //* Эта линия слаба. Если цена зашла слишком далеко и слишком быстро
>     и если она остановилась около этой линии,
>     //* значит она развернется быстро вверх. Если цена не остановилась
>     около этой линии, она продолжит движение вниз к 0/8.
>     //
>     ============================================================================================
>     //* Линии 6/8 и 2/8 (Вращение, разворот). Pivot, Reverse
>     //* Эти две линии уступают в своей силе только 4/8 в своей
>     способности полностью развернуть ценовое движение.
>     //
>     ============================================================================================
>     //* Линия 5/8 (Верх торгового диапазона). Top of Trading Range
>     //* Цены всех рынков тратят 40% времени, на движение между 5/8 и 3/8
>     линиями.
>     //* Если цена двигается около линии 5/8 и остается около нее в
>     течении 10-12 дней, рынок сказал что следует
>     //* продавать в этой «премиальной зоне», что и делают некоторые
>     люди, но если цена сохраняет тенденцию оставаться
>     //* выше 5/8, то она и останется выше нее. Если, однако, цена падает
>     ниже 5/8, то она скорее всего продолжит
>     //* падать далее до следующего уровня сопротивления.
>     //
>     ============================================================================================
>     //* Линия 3/8 (Дно торгового диапазона). Bottom of Trading Range
>     //* Если цены ниже этой лини и двигаются вверх, то цене будет сложно
>     пробить этот уровень.
>     //* Если пробивают вверх эту линию и остаются выше нее в течении
>     10-12 дней, значит цены останутся выше этой линии
>     //* и потратят 40% времени двигаясь между этой линией и 5/8 линией.
>     //
>     ============================================================================================
>     //* Линия 4/8 (Главная линия сопротивления/поддержки). Major
>     Support/Resistance
>     //* Эта линия обеспечивает наибольшее сопротивление/поддержку. Этот
>     уровень является лучшим для новой покупки или продажи.
>     //* Если цена находится выше 4/8, то это сильный уровень поддержки.
>     Если цена находится ниже 4/8, то это прекрасный уровень
>     //* сопротивления.
>     //
>     ============================================================================================
>     extern int P = 64;
>     extern int StepBack = 0;
> 
>     double  dmml = 0,
>             dvtl = 0,
>             sum  = 0,
>             v1 = 0,
>             v2 = 0,
>             mn = 0,
>             mx = 0,
>             x1 = 0,
>             x2 = 0,
>             x3 = 0,
>             x4 = 0,
>             x5 = 0,
>             x6 = 0,
>             y1 = 0,
>             y2 = 0,
>             y3 = 0,
>             y4 = 0,
>             y5 = 0,
>             y6 = 0,
>             octave = 0,
>             fractal = 0,
>             range   = 0,
>             finalH  = 0,
>             finalL  = 0,
>             mml[13];
> 
>     string  ln_txt[13],       
>             buff_str = "";
>            
>     int    
>             bn_v1   = 0,
>             bn_v2   = 0,
>             OctLinesCnt = 13,
>             mml_thk = 8,
>             mml_clr[13],
>             mml_shft = 3,
>             nTime = 0,
>             CurPeriod = 0,
>             nDigits = 0,
>             i = 0;
> 
>     //+------------------------------------------------------------------+
>     //| Custom indicator initialization function                         |
>     //+------------------------------------------------------------------+
>     int init() {
>     //---- indicators
>       
>        ln_txt[0]  = "[-2/8]P";// "extremely overshoot [-2/8]";// [-2/8]
>        ln_txt[1]  = "[-1/8]P";// "overshoot [-1/8]";// [-1/8]
>        ln_txt[2]  = "[0/8]P";// "Ultimate Support - extremely oversold
>     [0/8]";// [0/8]
>        ln_txt[3]  = "[1/8]P";// "Weak, Stall and Reverse - [1/8]";// [1/8]
>        ln_txt[4]  = "[2/8]P";// "Pivot, Reverse - major [2/8]";// [2/8]
>        ln_txt[5]  = "[3/8]P";// "Bottom of Trading Range - [3/8], if
>     10-12 bars then 40% Time. BUY Premium Zone";//[3/8]
>        ln_txt[6]  = "[4/8]P";// "Major Support/Resistance Pivotal Point
>     [4/8]- Best New BUY or SELL level";// [4/8]
>        ln_txt[7]  = "[5/8]P";// "Top of Trading Range - [5/8], if 10-12
>     bars then 40% Time. SELL Premium Zone";//[5/8]
>        ln_txt[8]  = "[6/8]P";// "Pivot, Reverse - major [6/8]";// [6/8]
>        ln_txt[9]  = "[7/8]P";// "Weak, Stall and Reverse - [7/8]";// [7/8]
>        ln_txt[10] = "[8/8]P";// "Ultimate Resistance - extremely
>     overbought [8/8]";// [8/8]
>        ln_txt[11] = "[+1/8]P";// "overshoot [+1/8]";// [+1/8]
>        ln_txt[12] = "[+2/8]P";// "extremely overshoot [+2/8]";// [+2/8]
> 
>        mml_shft = 3;
>        mml_thk  = 3;
> 
>        // Начальная установка цветов уровней октав
>        mml_clr[0]  = DarkBlue;    // [-2]/8
>        mml_clr[1]  = DarkViolet;  // [-1]/8
>        mml_clr[2]  = Aqua;        //  [0]/8
>        mml_clr[3]  = Yellow;      //  [1]/8
>        mml_clr[4]  = Red;         //  [2]/8
>        mml_clr[5]  = DarkGreen;   //  [3]/8
>        mml_clr[6]  = Blue;        //  [4]/8
>        mml_clr[7]  = DarkGreen;   //  [5]/8
>        mml_clr[8]  = Red;         //  [6]/8
>        mml_clr[9]  = Yellow;      //  [7]/8
>        mml_clr[10] = Aqua;        //  [8]/8
>        mml_clr[11] = DarkViolet;  // [+1]/8
>        mml_clr[12] = DarkBlue;    // [+2]/8
>     //----
>        return(0);
>       }
> 
>     //+------------------------------------------------------------------+
>     //| Custor indicator deinitialization function                       |
>     //+------------------------------------------------------------------+
>     int deinit() {
>     //---- TODO: add your code here
>     Comment(" ");  
>     for(i=0;i<OctLinesCnt;i++) {
>         buff_str = "mml"+i;
>         ObjectDelete(buff_str);
>         buff_str = "mml_txt"+i;
>         ObjectDelete(buff_str);
>         }
>     //----
>        return(0);
>       }
>     //+------------------------------------------------------------------+
>     //| Custom indicator iteration function                              |
>     //+------------------------------------------------------------------+
>     int start() {
> 
>     //---- TODO: add your code here
> 
>     if( (nTime != Time[0]) || (CurPeriod != Period()) ) {
>       
>       //price
>        bn_v1 = Lowest(NULL,0,MODE_LOW,P+StepBack,0);
>        bn_v2 = Highest(NULL,0,MODE_HIGH,P+StepBack,0);
> 
>        v1 = Low[bn_v1];
>        v2 = High[bn_v2];
> 
>     //determine fractal.....
>        if( v2<=250000 && v2>25000 )
>        fractal=100000;
>        else
>          if( v2<=25000 && v2>2500 )
>          fractal=10000;
>          else
>            if( v2<=2500 && v2>250 )
>            fractal=1000;
>            else
>              if( v2<=250 && v2>25 )
>              fractal=100;
>              else
>                if( v2<=25 && v2>12.5 )
>                fractal=12.5;
>                else
>                  if( v2<=12.5 && v2>6.25)
>                  fractal=12.5;
>                  else
>                    if( v2<=6.25 && v2>3.125 )
>                    fractal=6.25;
>                    else
>                      if( v2<=3.125 && v2>1.5625 )
>                      fractal=3.125;
>                      else
>                        if( v2<=1.5625 && v2>0.390625 )
>                        fractal=1.5625;
>                        else
>                          if( v2<=0.390625 && v2>0)
>                          fractal=0.1953125;
>          
>        range=(v2-v1);
>        sum=MathFloor(MathLog(fractal/range)/MathLog(2));
>        octave=fractal*(MathPow(0.5,sum));
>        mn=MathFloor(v1/octave)*octave;
>        if( (mn+octave)>v2 )
>        mx=mn+octave;
>        else
>          mx=mn+(2*octave);
> 
> 
>     // calculating xx
>     //x2
>         if( (v1>=(3*(mx-mn)/16+mn)) && (v2<=(9*(mx-mn)/16+mn)) )
>         x2=mn+(mx-mn)/2;
>         else x2=0;
>     //x1
>         if( (v1>=(mn-(mx-mn)/8))&& (v2<=(5*(mx-mn)/8+mn)) && (x2==0) )
>         x1=mn+(mx-mn)/2;
>         else x1=0;
> 
>     //x4
>         if( (v1>=(mn+7*(mx-mn)/16))&& (v2<=(13*(mx-mn)/16+mn)) )
>         x4=mn+3*(mx-mn)/4;
>         else x4=0;
> 
>     //x5
>         if( (v1>=(mn+3*(mx-mn)/8))&& (v2<=(9*(mx-mn)/8+mn))&& (x4==0) )
>         x5=mx;
>         else  x5=0;
> 
>     //x3
>         if( (v1>=(mn+(mx-mn)/8))&& (v2<=(7*(mx-mn)/8+mn))&& (x1==0) &&
>     (x2==0) && (x4==0) && (x5==0) )
>         x3=mn+3*(mx-mn)/4;
>         else x3=0;
> 
>     //x6
>         if( (x1+x2+x3+x4+x5) ==0 )
>         x6=mx;
>         else x6=0;
> 
>          finalH = x1+x2+x3+x4+x5+x6;
>     // calculating yy
>     //y1
>         if( x1>0 )
>         y1=mn;
>         else y1=0;
> 
>     //y2
>         if( x2>0 )
>         y2=mn+(mx-mn)/4;
>         else y2=0;
> 
>     //y3
>         if( x3>0 )
>         y3=mn+(mx-mn)/4;
>         else y3=0;
> 
>     //y4
>         if( x4>0 )
>         y4=mn+(mx-mn)/2;
>         else y4=0;
> 
>     //y5
>         if( x5>0 )
>         y5=mn+(mx-mn)/2;
>         else y5=0;
> 
>     //y6
>         if( (finalH>0) && ((y1+y2+y3+y4+y5)==0) )
>         y6=mn;
>         else y6=0;
> 
>         finalL = y1+y2+y3+y4+y5+y6;
> 
>         for( i=0; i<OctLinesCnt; i++) {
>              mml[i] = 0;
>              }
>             
>        dmml = (finalH-finalL)/8;
> 
>        mml[0] =(finalL-dmml*2); //-2/8
>        for( i=1; i<OctLinesCnt; i++) {
>             mml[i] = mml[i-1] + dmml;
>             }
>        for( i=0; i<OctLinesCnt; i++ ){
>             buff_str = "mml"+i;
>             if(ObjectFind(buff_str) == -1) {
>                ObjectCreate(buff_str, OBJ_HLINE, 0, Time[0], mml[i]);
>                ObjectSet(buff_str, OBJPROP_STYLE, STYLE_SOLID);
>                ObjectSet(buff_str, OBJPROP_COLOR, mml_clr[i]);
>                ObjectMove(buff_str, 0, Time[0],  mml[i]);
>                }
>             else {
>                ObjectMove(buff_str, 0, Time[0],  mml[i]);
>                }
>                 
>             buff_str = "mml_txt"+i;
>             if(ObjectFind(buff_str) == -1) {
>                ObjectCreate(buff_str, OBJ_TEXT, 0, Time[mml_shft],
>     mml_shft);
>                ObjectSetText(buff_str, ln_txt[i], 8, "Arial", mml_clr[i]);
>                ObjectMove(buff_str, 0, Time[mml_shft],  mml[i]);
>                }
>             else {
>                ObjectMove(buff_str, 0, Time[mml_shft],  mml[i]);
>                }
>             } // for( i=1; i<=OctLinesCnt; i++ ){
> 
>        nTime    = Time[0];
>        CurPeriod= Period();
> 
>        }
>      
>     //---- End Of Program
>       return(0);
>       }
>     //+------------------------------------------------------------------+
> 
> 
> 
> Please note that this group is for discussion between users only.
> 
> To get support from AmiBroker please send an e-mail directly to
> SUPPORT {at} amibroker.com
> 
> For other support material please check also:
> http://www.amibroker.com/support.html
> 
> 
> 
> 
> ------------------------------------------------------------------------
> YAHOO! GROUPS LINKS
> 
>     *  Visit your group "amibroker
>       <http://groups.yahoo.com/group/amibroker>" on the web.
>        
>     *  To unsubscribe from this group, send an email to:
>        amibroker-unsubscribe@xxxxxxxxxxxxxxx
>       <mailto:amibroker-unsubscribe@xxxxxxxxxxxxxxx?subject=Unsubscribe>
>        
>     *  Your use of Yahoo! Groups is subject to the Yahoo! Terms of
>       Service <http://docs.yahoo.com/info/terms/>. 
> 
> 
> ------------------------------------------------------------------------
> 


Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For other support material please check also:
http://www.amibroker.com/support.html

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/