Indicators: Elliott Waves Indicator - page 2

To add comments, please log in or register
ashumitra
10
ashumitra  
I downloaded Elliot Waves.mq4---but shows nothing on chart.
Jagg
208
Jagg  
lbs:

Hi cmillion and others,

many thanks for your indicator - looks really great!

But my metatrader/metaeditor not supporting azbuka - when in text azbuka, editor show just"??????????????".

I try modification you indicator for my usage (your code from http://codebase.mql4.com/source/19928), but gain is with many errors (attached) - I'm absolutly secular.

Can anybody help me with this PLEAS??

Thanks a lot.

Best regards,

Lubos

PS: excuse my bad English pleas. (I'm from Czech)

//+------------------------------------------------------------------+
//|                                                Elliott_Waves.mq4 |
//|                                Copyright © 2009, ??????? ??????? |
//|                                                cmillion@narod.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, ??????? ???????"
#property link      "cmillion@narod.ru"
 
#property indicator_chart_window
 
   datetime X1,X2;
   double   Y1,Y2,LINE[11][6];
   int STYLE,T_LINIE,WAVE,COLOR;
   double High_Win,Low_Win,shift_X,shift_Y;
   string Name[11]={ "-",
                     "1 WAVE ","2 WAVE ","3 WAVE ","4 WAVE ","5 WAVE ",
                     "a WAVE ","b WAVE ","c WAVE ","d WAVE ","e WAVE "};
   string text,Obj_Name,INFO;
   int per;
   extern bool  show_all_periods = true;
   extern color C1=White;
   extern color C2=DeepSkyBlue;
   extern color C3=Yellow;
   extern color C4=Turquoise;
   extern color C5=Magenta;
   extern color C6=Yellow;
   extern color C7=MediumSpringGreen;
   extern color C8=Violet;
   extern color C9=DarkOrchid;
 
//???????????????????????????????????????????????????????????????????
//////////////////////////////////////////////////////////////////////
int init()
{
   ObjectCreate ("bar", OBJ_LABEL, 0, 0, 0);// ???????? ???.
   ObjectSet    ("bar", OBJPROP_XDISTANCE, 500);      
   ObjectSet    ("bar", OBJPROP_YDISTANCE, 0);
   ObjectSet    ("bar", OBJPROP_CORNER, 1); //angel_of_trade_execute
   per =Period();
   Obj_Name = string_per(per);
   for(int k=0; k<=10; k++) Name[k] = Name[k]+Obj_Name;
   Comment("Elliott waves "+Obj_Name+" "+time(CurTime()));
   return(0);
}
//???????????????????????????????????????????????????????????????????
//*////////////////////////////////////////////////////////////////*//
int deinit()
  {
      ObjectDelete("bar");
      remove_objects("C");
      remove_objects("Name");
      remove_objects("Info");
   return(0);
  }
//*////////////////////////////////////////////////////////////////*//
//////////////////////////////////////////////////////////////////////
int start()
{
   High_Win = WindowPriceMax();
   Low_Win  = WindowPriceMin();
   shift_X = WindowBarsPerChart();
   ObjectSetText("bar","bar na obrazovce "+DoubleToStr(shift_X,0),8,"Arial",White);   
   shift_X = shift_X/80*per;
   shift_Y = (High_Win-Low_Win) / 50;
   for(int k=0; k<=ObjectsTotal(); k++) 
   {
      Obj_Name = ObjectName(k);                           // dotaz na nazev objektu
      if (Obj_Name=="") continue;
      WAVE = N_Wave(Obj_Name);
      if (WAVE>0&&WAVE<11)
      {
         if (Obj_Name != Name[WAVE]) redraw_LINE(Obj_Name,Name[WAVE]);
         X1 =    ObjectGet(Name[WAVE], OBJPROP_TIME1); 
         Y1 =    ObjectGet(Name[WAVE], OBJPROP_PRICE1);
         X2 =    ObjectGet(Name[WAVE], OBJPROP_TIME2); 
         Y2 =    ObjectGet(Name[WAVE], OBJPROP_PRICE2);
         COLOR  = ObjectGet(Name[WAVE], OBJPROP_COLOR);
         STYLE = ObjectGet(Name[WAVE], OBJPROP_STYLE);
         T_LINIE=ObjectGet(Name[WAVE], OBJPROP_WIDTH);
         if (X1 > X2) redraw_LINE(Name[],Name[WAVE]+" r ");
         if (Y1 < Y2) LINE[WAVE][0]=1; else LINE[WAVE][0]=-1;//směr vlny
         ObjectDelete("C "+Name[WAVE]);
         ObjectDelete("Cil "+Name[WAVE]);
         LINE[WAVE][1]=X1;//ZACATEK VLNY
         LINE[WAVE][2]=Y1;
         LINE[WAVE][3]=X2;//KONEC VLNY
         LINE[WAVE][4]=Y2;
         LINE[WAVE][5]=WAVE_VOLUME(Name[WAVE]);
         if ((MathAbs(LINE[WAVE][3]-LINE[WAVE+1][1])<per*120) || (MathAbs(LINE[WAVE][4]-LINE[WAVE+1][2])/Point<=MarketInfo(Symbol(),MODE_STOPLEVEL)))
         {
            ObjectSet   (Name[WAVE+1], OBJPROP_COLOR,  COLOR); //???????? - ????????? ?????
            ObjectSet   (Name[WAVE+1], OBJPROP_STYLE, STYLE);// ?????   
            ObjectSet   (Name[WAVE+1], OBJPROP_WIDTH, T_LINIE);
            ObjectSet   (Name[WAVE+1], OBJPROP_PRICE1 ,LINE[WAVE][4]);//???????? ????????? ????? ? ??????? PRICE1
            ObjectSet   (Name[WAVE+1], OBJPROP_TIME1  ,LINE[WAVE][3]);//???????? ????????? ????? ? ??????? TIME1
         }
         INFO = "Info "+Name[WAVE]+" paka "+DoubleToStr(MathAbs(LINE[WAVE][2]-LINE[WAVE][4])/Point,0);
         if (WAVE==3&&(LINE[3][5]<LINE[2][5]||LINE[3][5]<LINE[1][5]||LINE[3][5]<LINE[4][5]||LINE[3][5]<LINE[5][5])) text = "Objem nemuze byt mensi ve 3 vlnach "+DoubleToStr(LINE[WAVE][5],0);
         else text = "V = "+DoubleToStr(LINE[WAVE][5],0);
         remove_objects("Info");
         ObjectCreate (INFO, OBJ_TEXT  ,0,LINE[WAVE][3], LINE[WAVE][4]+shift_Y*T_LINIE*3*LINE[WAVE][0],0,0,0,0);
         ObjectSetText(INFO,text ,8,"Arial");
         ObjectSet    (INFO, OBJPROP_COLOR, COLOR);
         
         ObjectDelete ("Name "+Name[WAVE]);
         ObjectCreate ("Name "+Name[WAVE], OBJ_TEXT  ,0,LINE[WAVE][3], LINE[WAVE][4]+shift_Y*T_LINIE*2*LINE[WAVE][0]+0.7*shift_Y,0,0,0,0);
         if (FRACTAL(LINE[WAVE][3],Name[WAVE])==true)
         {
            ObjectSetText("Name "+Name[WAVE], StringSubstr(Name[WAVE],0,1),10*T_LINIE,"Arial");
            ObjectSet    ("Name "+Name[WAVE], OBJPROP_COLOR, COLOR);
         }
         else
         {
            ObjectSetText("Name "+Name[WAVE], "neni fractal" ,10,"Arial");
            ObjectSet    ("Name "+Name[WAVE], OBJPROP_COLOR, Red);
         }
         if (LINE[WAVE][3]!=LINE[WAVE+1][1]) // ???? ??? ????????? ?????
         {
               if (LINE[WAVE][1]!=LINE[WAVE-1][3]) // ???? ??? ?????????? ?????
               {
                  X1=LINE[WAVE][3]+(LINE[WAVE][3]-LINE[WAVE][1])*0.38;
                  X2=LINE[WAVE][3]+(LINE[WAVE][3]-LINE[WAVE][1])*0.62;
                  Y1=LINE[WAVE][4]+(LINE[WAVE][2]-LINE[WAVE][4])*0.38; 
                  Y2=LINE[WAVE][4]+(LINE[WAVE][2]-LINE[WAVE][4])*0.62;
 
                  if (WAVE==6) //??????? ????? a
                        Y1=LINE[6][4]+(LINE[6][2]-LINE[6][4])*0.50; 
 
               }
               else//???? ???? ?????
               {
                  switch(WAVE)
                  {
                     case 2 ://??????? ????? 2
                        X2=LINE[2][3]+(LINE[2][3]-LINE[1][1])/0.38;
                        X1=LINE[2][3]+(LINE[2][3]-LINE[1][1])/0.62;
                        Y1=LINE[1][4]-MathAbs(LINE[1][2]-LINE[1][4])*LINE[2][0]*1.00; 
                        Y2=LINE[1][4]-MathAbs(LINE[1][2]-LINE[1][4])*LINE[2][0]*1.62;
                        break;
                     case 3 ://??????? ????? 3
                        X1=LINE[2][1]+(LINE[3][3]-LINE[1][3])*1.38;
                        X2=LINE[3][1]+(LINE[3][3]-LINE[1][3])*1.62;
                        Y1=LINE[3][4]-MathAbs(LINE[3][2]-LINE[3][4])*LINE[3][0]*0.38; 
                        Y2=LINE[3][4]-MathAbs(LINE[3][2]-LINE[3][4])*LINE[3][0]*0.50;
                        if ((Y2<LINE[1][4] && LINE[3][0]==1)||(Y2>LINE[1][4] && LINE[3][0]==-1))
                        {
                           ObjectSetText("Name "+Name[WAVE],"4 WAVE nemuze lezet nize nez 1 WAVE",8,"Arial");
                           ObjectSet    ("Name "+Name[WAVE], OBJPROP_COLOR, Red);
                        }
                        if (LINE[1][3]!=LINE[2][1])
                        {
                           ObjectSet(Name[WAVE], OBJPROP_COLOR, Red); 
                           ObjectSetText("Name "+Name[WAVE],"neni WAVE 1",8,"Arial");
                           ObjectSet    ("Name "+Name[WAVE], OBJPROP_COLOR, Red);
                        }
                        break;
                     case 4 ://??????? ????? 4
                        X1=LINE[4][3]+(LINE[3][3]-LINE[3][1])*0.38;
                        X2=LINE[4][3]+(LINE[3][3]-LINE[3][1])*0.62;
                        Y1=LINE[4][2]-MathAbs(LINE[1][2]-LINE[3][4])*LINE[4][0]*0.62; 
                        Y2=LINE[4][2]-MathAbs(LINE[1][2]-LINE[3][4])*LINE[4][0]*1.00;
                        text="--4 WAVE <> 1 WAVE--";
                        ObjectDelete(text);
                        if ((LINE[4][4]<LINE[1][4] && LINE[4][0]==-1)||(LINE[4][4]>LINE[1][4] && LINE[4][0]==1))
                        {
                           ObjectSet(Name[WAVE], OBJPROP_COLOR, Red);
                           ObjectSetText("Name "+Name[WAVE],"4 WAVE nemuze lezet nize nez 1 WAVE",8,"Arial");
                           ObjectSet    ("Name "+Name[WAVE], OBJPROP_COLOR, Red);
                           ObjectCreate(text, OBJ_TREND, 0,LINE[1][3],LINE[1][4],LINE[4][3],LINE[1][4]);
                           ObjectSet   (text, OBJPROP_COLOR, Red);    // ????   
                           ObjectSet   (text, OBJPROP_STYLE, STYLE_DASH);// ?????   
                           ObjectSet   (text, OBJPROP_WIDTH, 0);
                           ObjectSet   (text, OBJPROP_BACK,  true);
                           ObjectSet   (text, OBJPROP_RAY,   false);     // ???   
                        }
                        if (LINE[1][3]!=LINE[2][1] || LINE[2][3]!=LINE[3][1])
                        {
                           ObjectSet(Name[WAVE], OBJPROP_COLOR, Red);
                           ObjectSetText("Name "+Name[WAVE],"neni WAVE 1 nebo 2",8,"Arial");
                           ObjectSet    ("Name "+Name[WAVE], OBJPROP_COLOR, Red);
                        }
                        break;
                     case 5 ://??????? ????? 5
                        X1=LINE[5][3]+(LINE[5][3]-LINE[5][1])*0.38;
                        X2=LINE[5][3]+(LINE[5][3]-LINE[5][1])*0.62;
                        Y1=LINE[5][4]-MathAbs(LINE[5][2]-LINE[5][4])*LINE[5][0]*0.38; 
                        Y2=LINE[5][4]-MathAbs(LINE[5][2]-LINE[5][4])*LINE[5][0]*0.62;
                        double MFI_3=iMACD(NULL,0,5,34,5,PRICE_CLOSE,MODE_MAIN  ,iBarShift(NULL,0,LINE[3][3],FALSE));
                        double MFI_5=iMACD(NULL,0,5,34,5,PRICE_CLOSE,MODE_MAIN  ,iBarShift(NULL,0,LINE[5][3],FALSE));
                        if (LINE[1][3]!=LINE[2][1] || LINE[2][3]!=LINE[3][1] || LINE[3][3]!=LINE[4][1])
                        {
                           ObjectSet(Name[WAVE], OBJPROP_COLOR, Red);
                           ObjectSetText("Name "+Name[WAVE],"neni WAVE 1,2 nebo 3",8,"Arial");
                           ObjectSet    ("Name "+Name[WAVE], OBJPROP_COLOR, Red);
                        }
                        if ((MFI_3 < MFI_5 && LINE[5][0]==1)||(MFI_3 > MFI_5 && LINE[5][0]==-1))
                        {
                           ObjectDelete ("MFI "+time(LINE[3][3]));
                           ObjectCreate ("MFI "+time(LINE[3][3]),OBJ_TEXT,0,LINE[3][3],LINE[5][4]+shift_Y*LINE[5][0],0,0,0,0);
                           ObjectSetText("MFI "+time(LINE[3][3]),DoubleToStr(MFI_3,0),8,"Arial");
                           ObjectSet    ("MFI "+time(LINE[3][3]),OBJPROP_COLOR, COLOR);
                           ObjectDelete ("MFI "+time(LINE[5][3]));
                           ObjectCreate ("MFI "+time(LINE[5][3]),OBJ_TEXT,0,LINE[5][3],LINE[5][4]+shift_Y*LINE[5][0],0,0,0,0);
                           ObjectSetText("MFI "+time(LINE[5][3]),DoubleToStr(MFI_5,0),8,"Arial");
                           ObjectSet    ("MFI "+time(LINE[5][3]),OBJPROP_COLOR, COLOR);
                           ObjectSetText("Name "+Name[WAVE],"Neni divergence MFI 3 ? 5 WAVE",8,"Arial");
                           ObjectSet    ("Name "+Name[WAVE], OBJPROP_COLOR, Red);
                        }
                        break;
                     case 6 ://??????? ????? a
                        X1=LINE[6][3]+(LINE[6][3]-LINE[6][1])*0.38;
                        X2=LINE[6][3]+(LINE[6][3]-LINE[6][1])*0.62;
                        Y1=LINE[6][4]+(LINE[6][2]-LINE[6][4])*0.50; 
                        Y2=LINE[6][4]+(LINE[6][2]-LINE[6][4])*0.62;
                        break;
                     case 7 ://??????? ????? b
                        X2=LINE[7][3]+(LINE[7][3]-LINE[6][1])/0.38;
                        X1=LINE[7][3]+(LINE[7][3]-LINE[6][1])/0.62;
                        Y1=LINE[6][4]-MathAbs(LINE[6][2]-LINE[6][4])*LINE[7][0]*1.00; 
                        Y2=LINE[6][4]-MathAbs(LINE[6][2]-LINE[6][4])*LINE[7][0]*1.62;
                        break;
                     case 8 ://??????? ????? c
                        X1=LINE[7][1]+(LINE[8][3]-LINE[6][3])*1.38;
                        X2=LINE[7][1]+(LINE[8][3]-LINE[6][3])*1.62;
                        Y1=LINE[8][4]-MathAbs(LINE[8][2]-LINE[8][4])*LINE[8][0]*0.38; 
                        Y2=LINE[8][4]-MathAbs(LINE[8][2]-LINE[8][4])*LINE[8][0]*0.50;
                        if (LINE[6][3]!=LINE[7][1])
                        {
                           ObjectSet(Name[WAVE], OBJPROP_COLOR, Red);
                           ObjectSetText("Name "+Name[WAVE],"neni WAVE a",8,"Arial");
                           ObjectSet    ("Name "+Name[WAVE], OBJPROP_COLOR, Red);
                        }
                        break;
                     case 9 ://??????? ????? d
                        X1=LINE[9][3]+(LINE[8][3]-LINE[8][1])*0.38;
                        X2=LINE[9][3]+(LINE[8][3]-LINE[8][1])*0.62;
                        Y1=LINE[9][2]-MathAbs(LINE[6][2]-LINE[8][4])*LINE[9][0]*0.62; 
                        Y2=LINE[9][2]-MathAbs(LINE[6][2]-LINE[8][4])*LINE[9][0]*1.00;
                         if (LINE[6][3]!=LINE[7][1] || LINE[7][3]!=LINE[8][1])
                        {
                           ObjectSet(Name[WAVE], OBJPROP_COLOR, Red);
                           ObjectSetText("Name "+Name[WAVE],"neni WAVE a nebo b ",8,"Arial");
                           ObjectSet    ("Name "+Name[WAVE], OBJPROP_COLOR, Red);
                        }
                        break;
                     case 10 ://??????? ????? e
                        X1=LINE[10][3]+(LINE[10][3]-LINE[10][1])*0.38;
                        X2=LINE[10][3]+(LINE[10][3]-LINE[10][1])*0.62;
                        Y1=LINE[10][4]-MathAbs(LINE[10][2]-LINE[10][4])*LINE[10][0]*0.38; 
                        Y2=LINE[10][4]-MathAbs(LINE[10][2]-LINE[10][4])*LINE[10][0]*0.62;
                        if (LINE[6][3]!=LINE[7][1] || LINE[7][3]!=LINE[8][1] || LINE[8][3]!=LINE[9][1])
                        {
                           ObjectSet(Name[WAVE], OBJPROP_COLOR, Red);
                           ObjectSetText("Name "+Name[WAVE],"neni WAVE a,b nebo c",8,"Arial");
                           ObjectSet    ("Name "+Name[WAVE], OBJPROP_COLOR, Red);
                        }
                        break;
                  }//switch
            }
            ObjectCreate("C "+Name[WAVE], OBJ_TREND, 0,LINE[WAVE][3],LINE[WAVE][4],X1,Y1);
            ObjectSet   ("C "+Name[WAVE], OBJPROP_COLOR, COLOR);    // ????   
            ObjectSet   ("C "+Name[WAVE], OBJPROP_STYLE, STYLE_DASH);// ?????   
            ObjectSet   ("C "+Name[WAVE], OBJPROP_WIDTH, 0);
            ObjectSet   ("C "+Name[WAVE], OBJPROP_BACK,  true);
            ObjectSet   ("C "+Name[WAVE], OBJPROP_RAY,   false);     // ???   
               
            ObjectCreate("Cil "+Name[WAVE], OBJ_RECTANGLE,0,0,0,0,0);
            ObjectSet   ("Cil "+Name[WAVE], OBJPROP_STYLE, STYLE_DASH);
            ObjectSet   ("Cil "+Name[WAVE], OBJPROP_COLOR, COLOR);
            ObjectSet   ("Cil "+Name[WAVE], OBJPROP_BACK,  false);
            ObjectSet   ("Cil "+Name[WAVE], OBJPROP_TIME1 ,X1);
            ObjectSet   ("Cil "+Name[WAVE], OBJPROP_PRICE1,Y1);
            ObjectSet   ("Cil "+Name[WAVE], OBJPROP_TIME2 ,X2);
            ObjectSet   ("Cil "+Name[WAVE], OBJPROP_PRICE2,Y2);
         }
      }//-????? 1 - ? --------------------------------------------------------------------------------------------------------+
   }//for
  
   COLOR = color_per(per);
   for(k=1; k<=10; k++) 
   {
      ObjectDelete ("Name "+k);
      if (ObjectFind(Name[k])==0)
      {
         ObjectCreate ("Name "+k, OBJ_LABEL, 0, 0, 0);// ???????? ???.
         ObjectSetText("Name "+k, Name[k]+time(LINE[k][1])+" "+DoubleToStr(LINE[k][2],Digits)+" "+?????(LINE[k][3])+" "+DoubleToStr(LINE[k][4],Digits)     ,8,"Ar
sunshineh
1259
sunshineh  

Hi,

has anybody this indicator working with english text-names? Where can I download the hole code?

Vladimir Khlystov
20695
Vladimir Khlystov  
sunshineh:

Hi,

has anybody this indicator working with english text-names? Where can I download the hole code?

Здесь и качайте
L.Angolo Del Trader
707
L.Angolo Del Trader  
the indicator not work
Rudi Susanto
361
Rudi Susanto  

Its working, just download and test it

EJ

MiaK
5
MiaK  

Does your indicator work on NinjaTrader 7 or 8?

Mladen Rakic
145767
Mladen Rakic  
MiaK:

Does your indicator work on NinjaTrader 7 or 8?

Does any mt4 code work on ninjatrader (7 or 8) ? :)
Vladimir Khlystov
20695
Vladimir Khlystov  
Mladen Rakic:
Does any mt4 code work on ninjatrader (7 or 8) ? :)

no

Mladen Rakic
145767
Mladen Rakic  
Vladimir Khlystov:

no

I know that, you know that, that user knows that, we all know that ... :)

But the logic of that question is strange : I can not believe that that user does not know that too, and if none of the mq4/5 code can run on any on the nt platforms, then where did his question come from?

123
To add comments, please log in or register