|
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 |
|
|||
warte x Bars bevor neue Order öffnet
Hi,
nachdem eine Order geschlossen wurde, soll die Nächste erst nach x Bars eröffnet werden. Wie programmiert man das ? Danke schon mal im voraus! |
|
|||
Code:
if (iBarShift(NULL, Period(), OpenCloseTime()) > x_Bars) { //Action! }
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
traderdoc danke!
Dein Code funktioniert ! Ich habe aber noch Probleme mit folgendem Code: Code:
datetime findlastorder() { static int total = OrdersHistoryTotal(); static datetime timeclose = 0; datetime lastTime = 0; int lastTicket = -1; // None open. if(OrdersHistoryTotal() == total) return(0); else total = OrdersHistoryTotal(); for(int pos = OrdersHistoryTotal()-1; pos >= 0 ; pos--) { if(OrderSelect(pos, SELECT_BY_POS,MODE_HISTORY) == true) { if(OrderMagicNumber() == magic && OrderSymbol() == Symbol() && OrderOpenTime() > lastTime && OrderTicket() > lastTicket) { lastTime = OrderOpenTime(); lastTicket = OrderTicket(); timeclose = OrderCloseTime(); } } else { int err = GetLastError(); checkErr("selct closed Order failed ",err); if(!Errors(err)) break; } } return(timeclose); } 2. iBarShift hat werte von über 1000 Was ist falsch? |
|
|||
Da der Fehler über ein false der Zeile if(OrderSelect(pos, SELECT_BY_POS,MODE_HISTORY) == true)
generiert wird und ich in der Schreibweise keinen Fehler sehe, auch nicht in der vorhergehenden for-Schleife, kann ich nicht abschließend beurteilen, warum der Fehler 4202 auftritt. iBarShift hat damit überhaupt nichts zu tun. Tritt die Zeile checkErr("selct closed Order failed ",err); nochmals auf? traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Zitat:
Der Fehler checkErr("selct closed Order failed ",err); kommt ab und zu wieder vor. Würde eine Abfrage über isNewbar() abhilfe schaffen? derumuro |
|
|||
Ich habe in meinen ganzen 12 Jahren Programmiertätigkeit diesen Fehler noch nicht ein einziges Mal erlebt. Und nein das würde nicht helfen.
Nochmal, die Funktion if(OrderSelect(pos, SELECT_BY_POS,MODE_HISTORY) == true) ist eigentlich immer true, denn es werden die gesamten historischen Orders gescannt. Und weil die Orders mit dem Index 0 beginnen und dem Index OrdersHistoryTotal() - 1 enden und nicht zwischendurch eine historische Order abhanden kommen kann, verstehe ich auch diesen Fehler an dieser Stelle!! nicht. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
Lesezeichen |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|