Klappt das so?
Hi, mir geht es um die erste Zeile. Der EA (noch lange nicht fertig;D) soll später mal die Eröffnung des Dax traden.
if(TimeCurrent()>=StrToTime("9:00") && TimeCurrent()<StrToTime("10:00") && iHigh(NULL,60,1) < Bid) { LongSignal = true; } else LongSignal = false; Ist die Uhrzeitabfrage so richtig implementiert oder fehlt noch was? |
Das ist korrekt!
Sofern iHigh(NULL,60,1) < Bid true ist, liegt aber dann in der Stunde zwischen 09:00 und 10:00 evtl. permanent ein LongSignal an. Nicht dass das dann zu mehreren Öffnungen von Orders führt. traderdoc |
Ja, da hab ich grad dran gearbeitet, sieht jetzt so aus:
int OnInit() { //--- PeriodenStartZeit = Time[0]; Tag = TimeDay(); TradeOK = true; NeuerTag = false; //--- return(INIT_SUCCEEDED); } void OnTick() { //Überprüfen ob neuer Periodenbeginn vorliegt if(PeriodenStartZeit != Time[0]) { NeuePeriodeBegonnen = true; PeriodenStartZeit = Time[0]; } else NeuePeriodeBegonnen = false; //Überprüfen ob neuer Tag vorliegt if (Tag != TimeDay()) { NeuerTag = true; Tag = TimeDay(); } //Nur 1 Trade pro Tag if (LongOrder >= 1 || ShortOrder >= 1 && TradeOK == true) { TradeOK = false; } if (TradeOK == false && NeuerTag == true) { TradeOK = true; } //Handelssignale ermitteln if(NeuePeriodeBegonnen == true) //In einer "if" Klause müssen 2 gleichzeichen gesetzt werden um eine Abfrage zu starten { //Buy Signal if(TradeOK == true && TimeCurrent()>=StrToTime("9:00") && TimeCurrent()<StrToTime("10:00") && iHigh(NULL,60,1) < Bid) { LongSignal = true; } else LongSignal = false; } Auch OK?? |
Das geht bedeutend kürzer, jedoch bereits mit der OrderSend()-Funktion ausgestattet:
Code:
bool Trade; |
Ist "!Trade" das gleiche wie "Trade = false" ?
|
Ja, das kann man damit abkürzen:
!Trade entspricht false Trade entspricht true traderdoc |
Ok, dank dir. Werde mich mal weiter durcharbeiten..
|
Bekomme jetzt den Fehler "TimeDay - wrong parameters count". Ne Idee, was da nicht stimmt?
|
Da haben wir was vergessen. Überall wo TimeDay() steht,
muss stehen: TimeDay(TimeCurrent()); traderdoc |
Ok, aber ändert sich TimeDay dann nicht sekündlich?
Ich hab das ganze gestern noch mit DayOfWeek() probiert und es hat funktioniert. Sollte ich es trotzdem noch abändern? |
Alle Zeitangaben in WEZ +2. Es ist jetzt 01:05 Uhr. |
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum