|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
OrdersTota() funktioniert nicht mit SL
hi,
Ich habe ein Problem mit mein EA. Wenn die Orders mit SL geschlossen sind, OrdersTota() reagiert nicht und zeigt, dass immer noch offene Orders im Pool gibt. Haben Sie Ideen, wie kann ich das lösen? |
|
|||
Ja, indem Sie hier mal a bisserl Code gucken lässt.
Sonst gucken wir nämlich in eine dunkle Röhre. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Schön, dann wollen wir mal:
Prinzipiell bei allen Schleifen, wo Orders geöffnet aber v.a. geschlossen werden, sollte: for (int i = OrdersTotal()-1; i>= 0; i--) stehen und nicht for(i = 0; i < total; i++) oder eben for(i = 0; i < OrdersTotal(); i++) D.h. Dekrementierung verwenden und nicht Inkrementierung! int TotalOrders =OrdersTotal(); völlig ohne Funktion!? Den Teil Code:
double TotalOrder() { double GetTotalOrder =0; for ( int cnt=0;cnt<OrdersTotal();cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if ( OrderMagicNumber() == MagicNumber) { GetTotalOrder +=(OrdersTotal() ); } } return (GetTotalOrder); } Aber auch egal, weil die Funktion TotalOrder() nirgendwo im Programm aufgerufen wird, also nutzlos und überflüssig. In Summe wird OrdersTotal() sinnvollerweise vom EA nur 4 Mal aufgerufen, davon 1 Mal in einer dekrementierenden und 3 Mal in einer inkrementierenden Schleife. Das würde ich zuerst ändern. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
Lesezeichen |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|