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) { |
traderdoc danke!
Dein Code funktioniert ! Ich habe aber noch Probleme mit folgendem Code: Code:
datetime findlastorder() 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 |
Hallo,
ich habe das Problem etwas anderes gelöst und wollte sowieso mal fragen, ob etwas gegen meine Variante spricht. Ich habe die Bars verwendet. Unter den Variablen habe ich int bar=Bars; definiert. Bevor er nun in die Entrybedingungen geht, habe ich die Abfrage gesetzt und am Ende der Schleife um 1 erhöht. if (bar==Bars) { // action bar=Bars+1; } So kann die Schleife erst wieder durchlaufen werden, wenn Bars der aktuellen Kerze entspricht. Damit erziele ich den gewünschten Effekt. Spricht etwas dagegen? Danke Ralph HTML-Code:
//+------------------------------------------------------------------+ |
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 |
Alle Zeitangaben in WEZ +2. Es ist jetzt 23:24 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