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

Re: [amibroker] Murrey Math



PureBytes Links

Trading Reference Links

Why would I want to speak to him? I've just been looking at an indicator
called Murrey Math that I've seen on Metatrader, it looks interesting in
much the same way as Pivot Points and I wanted to know if someone had
coded it for Amibroker.

I'm sure half the traders who dreamed up indicators were once accused as
being marginally insane. But that's not the point is it?

The original question still holds though - anyone have any Amibroker
code for a Murrey Math indicator ?

Cheers
Martin

Tom Lance wrote:
>  
>  
>  
>  
>  
>  
> I think so.  Have you ever spoken to Mr, Murrey?  It very hard to get a
> "straight" answer.  Rather elusive.
> 
>     ----- Original Message -----
>     *From:* Martin Cooney <mailto:martin@xxxxxxxxxxxxx>
>     *To:* amibroker@xxxxxxxxxxxxxxx <mailto:amibroker@xxxxxxxxxxxxxxx>
>     *Sent:* Thursday, April 13, 2006 5:18 AM
>     *Subject:* Re: [amibroker] Murrey Math
> 
>     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
> 
>         *  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/