|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Pullback von High[0] pullback von Low[0]
Hi Leute ich brauche Hilfe und komme gleich zum Punkt,
Schritt1: Kerze 0 Schlusskurs 1euro Hoch 1euro Low 1euro Open 1euro Schritt2: Kerze 0 Schlusskurs 2euro Hoch 2euro Low 1euro Open 1euro Schritt3: Kerze 0 Schlusskurs 3euro hoch 3euro Low 1euro Open 1euro Schritt4: Kerze 0 Schlusskurs 2euro hoch 3euro Low 1euro Open 1euro Schlusskurs notiert zum ersten mal unter Hoch = Dot Schlusskurs notiert zum ersten mal über Low = Dot wenn der Kurs jetzt nach dem rücksetzer nochmal hochzieht und wieder zurücksetzt kein weiterer Dot mehr wenn der Kurs jetzt nach dem rücksetzer nochmal runterzieht und wieder zurücksetzt kein weiterer Dot mehr Was habe ich probiert? Code:
for(int i=0;i<limit;i++){ if(Close[i]<High[i]){ double pullbackHighest_DotPreis=Close[i]<High[i]; pullbackHighest_Dot[i]=pullbackHighest_DotPreis; }else if(Close[i]>Low[i]){ double pullbackLowest_DotPreis=Close[i]>Low[i]; pullbackLowest_Dot[i]=pullbackLowest_DotPreis; } } Der ganze Code Code:
//+------------------------------------------------------------------+ //| sellHigherLow_buyLowerhigh.mq4 | //| Copyright 2020, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 clrAqua #property indicator_color2 clrMagenta #property indicator_width1 2 #property indicator_width2 2 double pullbackLowest_Dot[]; double pullbackHighest_Dot[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping //pullbackLowest_Dot SetIndexBuffer(0,pullbackLowest_Dot); SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,159); SetIndexLabel(0,"Sell Signal"); //pullbackHighest_Dot SetIndexBuffer(1,pullbackHighest_Dot); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,159); SetIndexLabel(1,"Sell Signal"); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- //counting Bars int counted_bars, limit; counted_bars=IndicatorCounted(); limit=Bars-counted_bars; //Erklärung mit Code for(int i=0;i<limit;i++){ if(Close[i]<High[i]){ double pullbackHighest_DotPreis=Close[i]<High[i]; pullbackHighest_Dot[i]=pullbackHighest_DotPreis; }else if(Close[i]>Low[i]){ double pullbackLowest_DotPreis=Close[i]>Low[i]; pullbackLowest_Dot[i]=pullbackLowest_DotPreis; } } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ |
|
|||
Ein brauchbares High/Low gibts doch frühestens für Bar 1.
Edit:Wenn Du High/Low von Bar 0 willst, wirst Du wohl Höchst/Tiefstwert von Close0 oder Ask/Bid aufzeichnen müssen. |
|
|||
Zitat:
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Zitat:
Was bedeutet denn High[0]? Was bedeutet denn Low[0]? Und was bedeutet Close[0]? Da gibt es nichts aufzuzeichnen und aas ist denn der Höchst/Tiefstwert von Close[0]? So und nun erst mal tief in Dich gehen, Luft holen, nachdenken oder -lesen und dann die Antworten schreiben! traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Soweit ich sehn kann, versucht er High und Low Price für Bar0 zu nutzen. Auf Bar0 gibts zwar schon Highs/Lows, aber Keine, die man als Solche benutzen könnte, weil Bar0 ja noch nicht abgeschlossen ist.
|
|
|||
Zitat:
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Zitat:
Mich würde auch mal interessieren, was aus dem Gerät überhaupt mal werden soll... @ Indikator-Trading: Mit Dir zu kommunizieren scheint auch nicht viel Sinn zu haben. Ausser man will sich vom eigentlichen Thema ablenken. Dafür sind Viele Deiner "Beiträge" noch ganz nützlich. Ansonsten kann man die Meisten Deiner arroganten Posts ignorieren. |
|
|||
Zitat:
|
|
|||
"Was soll das bedeuten?
-Es geht um die Aktuelle Kerze die noch nicht geschlossen hat -Bsp eine neue Kerze erscheint jetzt am Chart machen wir es ganz einfach open/close/high/low sind alle im moment 1€ jetzt steigt die Kerze auf 5€ in diesem moment sind Close[0] und High[0] ja identisch nämlich 5€ jetzt setzt aber die Kerze zurück auf 4€ jetzt ist Close[0]=4€ und High[0]=5€ und ich möchte genau jetzt bei diesem ersten rücksetzer einen Dot erscheinen lassen exakt an diesem Preis wo der Preis kein neues Hoch mehr gebildet hat sondern den ersten rücksetzer hatte" Ich habe immer noch keine Ahnung, wieso ist open/close/high/low = 1€ und wie kann eine Kerze auf 5€ steigen. Was hat überhaupt die Kerze mir € zu tun? Es muss eine definierte Größe zwischen Open und High geben, sonst funktioniert das deshalb nicht, weil am Anfang alle 4 Werte identisch sind. Kurz danach könnte der Kurs auch nur um 1Pipette steigen und dann wieder fallen, aber wohin, ohne das Open zu unterschreiten? Wenn der Abstand klar definiert ist, ist der Rest kein Thema. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
Lesezeichen |
|
|