Sari la conținut

Modificare indicator DeMark Trendline


Postări Recomandate

Acolo unde era

 

if (High[shift+1]<High[shift] && High[shift-1]<High[shift])// determine single top TD Point
            ExtMapBuffer1[shift]=High[shift];
if (High[shift+2]<High[shift] && High[shift+1]==High[shift]&& High[shift-1]<High[shift])//I added for double top
            ExtMapBuffer1[shift]=High[shift];//I added for double top
if (High[shift+3]<High[shift] && High[shift+2]==High[shift]&& High[shift+1]==High[shift]//I added for triple top
            && High[shift-1]<High[shift])    //I added for triple top
            ExtMapBuffer1[shift]=High[shift];//I added for triple top
if (High[shift+4]<High[shift] && High[shift+3]==High[shift]&& High[shift+2]==High[shift]//I added for quadruple top
            && High[shift+1]==High[shift]    //I added for quadruple top
            && High[shift-1]<High[shift])    //I added for quadruple top
            ExtMapBuffer1[shift]=High[shift];//I added for quadruple top
if (High[shift-1]>=High[shift])     //I added for new way to determine Non-TD High Point
            ExtMapBuffer1[shift]=0;          //I added for new way to determine Non-TD High Point
         //else ExtMapBuffer1[shift]=0;
if (Low[shift+1]>Low[shift] && Low[shift-1]>Low[shift] && Low[shift+2]>Low[shift] && Low[shift-2]>Low[shift] )// determine single bottom TD Point
            ExtMapBuffer2[shift]=Low[shift]; // determine single bottom TD Point
if (Low[shift+2]>Low[shift] && Low[shift+1]==Low[shift] && Low[shift-1]>Low[shift] && Low[shift+3]>Low[shift] && Low[shift-3]>Low[shift])//I added for double bottom
            ExtMapBuffer2[shift]=Low[shift]; //I added for double bottom
if (Low[shift+3]>Low[shift] && Low[shift+2]==Low[shift] && Low[shift+1]==Low[shift]//I added for triple bottom
            && Low[shift-1]>Low[shift] && Low[shift+4]>Low[shift] && Low[shift-4]>Low[shift])      //I added for triple bottom
            ExtMapBuffer2[shift]=Low[shift]; //I added for triple bottom
if (Low[shift+4]>Low[shift] && Low[shift+3]==Low[shift]&& Low[shift+2]==Low[shift] && Low[shift+1]==Low[shift]//I added for quadruple bottom
            && Low[shift-1]>Low[shift] && Low[shift+5]>Low[shift] && Low[shift-5]>Low[shift])      //I added for quadruple bottom
            ExtMapBuffer2[shift]=Low[shift]; //I added for quadruple bottom   

Eu am modificat urmatoarele lucruri ingrosate: (o las fara tag-ul de cod ca sa se vada ce este ingrosat)

 

if (High[shift+1]<High[shift] && High[shift-1]<High[shift] && High[shift+2]<High[shift] && High[shift-2]<High[shift])

ExtMapBuffer1[shift]=High[shift];// determine single top TD Point

if (High[shift+2]<High[shift] && High[shift+1]==High[shift]&& High[shift-1]<High[shift]

&& High[shift+3]<High[shift] && High[shift-3]<High[shift])

ExtMapBuffer1[shift]=High[shift];//I added for double top

if (High[shift+3]<High[shift] && High[shift+2]==High[shift]&& High[shift+1]==High[shift] && High[shift-1]<High[shift]

&& High[shift+4]<High[shift] && High[shift-4]<High[shift])

ExtMapBuffer1[shift]=High[shift];//I added for triple top

if (High[shift+4]<High[shift] && High[shift+3]==High[shift]&& High[shift+2]==High[shift]&& High[shift+1]==High[shift]

&& High[shift-1]<High[shift] && High[shift+5]<High[shift] && High[shift-5]<High[shift])

ExtMapBuffer1[shift]=High[shift];//I added for quadruple top

if (High[shift-1]>=High[shift] ) //I added for new way to determine Non-TD High Point

ExtMapBuffer1[shift]=0; //I added for new way to determine Non-TD High Point

//else ExtMapBuffer1[shift]=0;

if (Low[shift+1]>Low[shift] && Low[shift-1]>Low[shift] && Low[shift+2]>Low[shift] && Low[shift-2]>Low[shift] )

ExtMapBuffer2[shift]=Low[shift];

if (Low[shift+2]>Low[shift] && Low[shift+1]==Low[shift] && Low[shift-1]>Low[shift]

&& Low[shift+3]>Low[shift] && Low[shift-3]>Low[shift])

ExtMapBuffer2[shift]=Low[shift];

if (Low[shift+3]>Low[shift] && Low[shift+2]==Low[shift] && Low[shift+1]==Low[shift]//I added for triple bottom

&& Low[shift-1]>Low[shift] && Low[shift+4]>Low[shift] && Low[shift-4]>Low[shift])

ExtMapBuffer2[shift]=Low[shift];

if (Low[shift+4]>Low[shift] && Low[shift+3]==Low[shift]&& Low[shift+2]==Low[shift] && Low[shift+1]==Low[shift]

&& Low[shift-1]>Low[shift] && Low[shift+5]>Low[shift] && Low[shift-5]>Low[shift])

ExtMapBuffer2[shift]=Low[shift];

Editat de Cityzen
Link spre comentariu
Distribuie pe alte site-uri

Ar fi prea complicat sa te apuci sa adaugi conditiile aditionale pentru fiecare level de care ai nevoie.

 

Lasa ca o sa fac o varianta a indicatorului cu un parametru extern care determina level-ul care il doresti 2,3,4 etc. si restul sa se calculeze de la sine. Adica tu nici nu trebuie sa intri metaeditor, doar alegi din metatrader la proprietatile indicatorului level 2,3 sau 4, sau cat vrei si de restul se ocupa el.

 

Coming soon...

Editat de Cityzen
Link spre comentariu
Distribuie pe alte site-uri

TARE !!! E perfect ! Nu credeam ca se poate asta :P . Tare de-a binelea. Fac cinste :P . O sa-l pun la naftalina !

Luati cu incredere . E perfect ce cautam.

 

Indicatorul se traseaza pe varfuri diferite in functie de miscarea care o vrei.

Indicatorul foloseste metoda cea mai conservativa pentru stabilirea unui target.

 

DeMark ii spune Magnitude si specifica ca varfurile de level 1 sunt cele mai usoare si convenabile. Insa tinem cont ca si zgomotul e mai mare cu cat tf-ul e mai mic, motiv pt care in cartea sa exemplele le face pe daily cu level 1 .

 

Trebuie gasit un echilibru intre Magnitude si TF . La breakout ne uitam dupa qualifiers si cautam mai multa confirmare prin div , fibonacci, patternuri de candele sau ce mai stiti voi .

 

Cam asta ar fi in mare =)) . Usor de zis, greu de facut ? Nu stim, vedem :P

 

Bafta

Editat de apolo
Link spre comentariu
Distribuie pe alte site-uri

Dupa ce am dezbatut un pic prin mesageria privata, apolo a decis ca poate ar fi mai bine sa folosim varianta initiala a indicatorului (din primul post al topicului) si sa modificam la ea doar idea cu level-ul. Adica sa nu fie limitat doar la setup-uri de tip level 1 ci sa se poata alege si level 2, sau level 3 etc.

 

Varianta facuta de mine era o modificare la indicatorul ce era deja modificat de apolo.

 

Iata si originalul doar cu modificarea de Level fara a mai avea si modificarile lui apolo

 

DeMarkcloseLevels.mq4

Editat de Cityzen
Link spre comentariu
Distribuie pe alte site-uri

Nota importanta: Daca se alege un level asta un inseamna ca toate minimele si maximele alese vor fi de acel level, pot fi si de un level mai mare.

 

De exemplu daca se alege level 3, unele din minime sau maximele gasite de el pot sa fie si 4, 5 etc... dar nu sub 3.

Editat de Cityzen
Link spre comentariu
Distribuie pe alte site-uri

  • 2 săptămâni mai târziu...

Alătură-te conversației

Poți posta acum și să te înregistrezi mai târziu. Dacă ai un cont, autentifică-te acum pentru a posta cu contul tău.

Vizitator
Răspunde la acest subiect...

×   Alipit ca text avansat.   Alipește ca text simplu

  Doar 75 emoji sunt permise.

×   Linkul tău a fost încorporat automat.   Afișează ca link în schimb

×   Conținutul tău precedent a fost resetat.   Curăță editor

×   Nu poți lipi imagini direct. Încarcă sau inserează imagini din URL.

  • Navigare recentă   0 membri

    • Nici un utilizator înregistrat nu vede această pagină.
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.