What do the different colored dots on Fractals mean? How do you use them?
3 colour rhombuses on Fractals- mark colour of the candle MFI Williams
Green Fading False Cowerring
Use automatic translation of the russian page, there there is answers many questions:
Awesome job mate! Going to try to incorporate this with a few systems I am working on, thanks!
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,"Arial"); ObjectSet  
You also can find Elliott Indicator for metatrader 4 platform here: elliottindicator.com
Elliott Wave Indicator is calculating about two thousand possible waves (patterns) and wave combinations, taking into account every old and modern Elliott Wave rule, every Fibonacci ratio and the fractal nature of the chart.
we have created elliott indicator too. Elliott Wave Application is calculating about two thousand possible
waves (patterns) and wave combinations, taking into account every old
and modern Elliott Wave rule, every Fibonacci ratio and the fractal
nature of the chart
Branch for discussion and suggestions
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Elliott Waves Indicator:
Author: Vladimir Khlystov