|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
while Schleife für Sparsamkeit?
Moin Moin,
einen Unterstützung für das manuelle Handeln. Sehe ich das richtig, dass der EA solange in der while bleibt, bis eine Order vorhanden ist? Das ist ein Teil in einer Funktion. PHP-Code:
Sprich er muss nicht ständig den ganzen Code durchlaufen, wenn er auf eine Order wartet. Gruss, Raul |
|
|||
while-Schleifen sind immer mit Vorsicht zu benutzen, da es schnell passieren kann, dass der EA drin versackt.
Den u.g. Code würde ich erst einmal wie folgt schreiben: Code:
bool Go = false; while(!Go) { if(OrdersTotal() > 0) break; } Und ohne das der EA in der Schleife hängt, würde ich diese Abfrage in eine separate Funktion packen oder noch besser direkt am Anfang in den Code einfügen, also: Code:
void OnTick() { ... if(OrdersTotal() == 0) return; ... } //oder mit unnötigem Einsprung: void OnTick() { ... if (!CheckOrders()) return; ... } bool CheckOrders() { bool Go = false; while(!Go) { if(OrdersTotal() > 0) return(true); } return(false); //ist eigentlich überflüssig, aber ohne würde ein Warnhinweis kommen }
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Das ich den Befehl: Go = true; in der Schleife setze, ist vermutlich überflüssig. Mit break, oder return(true) ist die Schleife auch erlöst.
Jedoch stürzte der MT4 ab, den Grund fand ich dann schnell. Da ich Buy und Sell Abfrage in der Ordercheck-Funktion habe, entsteht HickHack. Ich werde kommende Woche den Code nochmal ändern in zwei Abschnitte. Erstmal gut für heute, vielen Dank für die Rückinfo. PHP-Code:
|
Lesezeichen |
Stichworte |
mql4, programmierung, programmierung metatrader, schleife, sparen, while schleife |
|
|