|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Du bist ganz schön begriffsstützig.
Code:
datetime TimeCandle = 0; if (TimeCandle != iTime(NULL,PERIOD_D1,0)) { .... TimeCandle = iTime(NULL,PERIOD_D1,0); } |
|
|||
Das könnte so sein:
Code:
if(TimeDayOfWeek(Time[1])!=TimeDayOfWeek(Time[0]))FirstBar=true; if(Volume[0]==1)FirstTick=true; |
|
|||
Zitat:
---Leopold--- |
|
|||
Ja, richtig, unter Tage wird nichts.
Die Frage war doch: "wie finde ich genau die erste Kerze des Tages ? Ich will genau beim ersten Tick eines Tages alte Objekte löschen, dazu brauche ich aber die erste Kerze eines Tages." Das Problem ist, dass Funktion iTime() auf D1,W1,MN gibt immer 00:00:00. Mit Volume[] kann es auch eine Nuance geben, manchmal kann der erste Tick sofort "2" geben. Das kann man auch einfach lösen, wenn vorherige und letzte Werte vergleichen (v_Volume < l_Volume, sonst ist erster Tick. |
|
|||
Zitat:
if(TimeDayOfWeek(Time[1])!=TimeDayOfWeek(Time[0]))FirstBar=true Hier wird der Code bei jedem Tick die ganze Periode ausgeführt, nicht nur beim ersten. if(Volume[0]==1)FirstTick=true Hier wird der Code am Anfang jeder Periode ausgeführt und nicht nur beim ersten Tick des Tages. Bei meinen Beispiel könnte man den Code so erweitern, dass alles was z. B. nur einmal am Tag ausgeführt werde soll dort rein kommt. Und wenn es immer am Anfang des Tages ausgeführt werden soll, dann meistens auch beim Laden des EA's. ---Leopold--- |
|
|||
Zitat:
Ich habe einen Bereich im EA, dort sind alle Einmaldurchläufe hinterlegt. Du kannst es auch als Funktion hinterlegen, hier mal einfach: static int Tag; if ( Day() != Tag ) // immer wenn ein neuer Tag mit dem ersten Tick beginnt { zu tun... Tag = Day(); // Übergabe des aktuellen Tages } |
|
|||
Zitat:
Code:
bool FirstBar=false, FirstTick=false; if(TimeDayOfWeek(Time[1])!=TimeDayOfWeek(Time[0]))FirstBar=true; // Das kontrolliert bei jedem Tick den Tageswechsel if(FirstBar==true && Volume[0]==1)FirstTick=true; // Bedeutet den ersten Tick des Tages if(FirstTick==true){...} // Weiter wird gewünschte Code |
Lesezeichen |
|
|