High/Low NACH OrderOpenTime
Hallo,
kann mir jemand sagen, wie ich das High/Low NACH der Ordereröffnung ermitteln kann? Das High/Low der laufenden Kerze kann genauso gut vor der Ordereröffnung gewesen sein, deswegen hilft mir das Beispiel aus der Hilfe nicht weiter. Zitat:
Tmeframe M1 BarOpenTime: 10:27:00 OrderOpenTime: 10:27:32 High: 1,08500 vor oder nach OrderOpenTime? Low: 1,08400 vor oder nach OrderOpenTime? Es reicht also nicht, den Index der Kerze zu erhalten, in dem die Order eröffnet wurde. Im Moment bin ich planlos. Meine spontane Idee wäre, die Uhrzeit des High/Low der laufenden Kerze festzustellen und diese mit der OrderOpenTime zu vergleichen. Nur, keine Ahnung, wie. Es wäre super, wenn hier jemand eine Idee oder Lösung parat hätte. Vielen Danke schon mal! Gruß Werner |
Zaghafter Lösungsansatz
Falls mal jemand über diesen Beitrag stolpert, ich teste gerade dieses Vorgehen: Es geht um eine Multicurrency-EA mit Ordermanagement (Hidden-SL, -Trailing, -BE, -Teilverkauf, -TP). Da sich die Variablen für die Preislinien sich ständig ändern (je nach selektierter Order) orientiere ich mich an iHighest, iLowest und OrderOpenPrice() der jeweiligen Order.
Die Ordermanagement-Funktion rufe ich auf und übergebe die Ticketnumber. Code:
//Anzahl der M1-Bars seit Ordereröffnung Code:
if(PeriodHighest > OrderOpenPrice()+trailingstart*point) Code:
Falls es so nicht klappen sollte, kann es immer noch als Inspiration dienen:-) Schönen Gruß Werner |
Hi,
eine „quick and dirty“ Lösung. Schreibe das aktuelle High/Low parallel zum OrderSend in zwei Variablen. Danach brauchst Du nur zu prüfen, sind die danach auftretenden High/Low größer bzw. kleiner als die zuvor erfassten „OrderSend High/Low Variablen“. Grüße |
Zitat:
Jetzt bin ich endlich fertig und der Code scheint auch sauber zu arbeiten. Es mussten doch noch einige Änderungen vorgenommen werden, an die ich anfangs nicht dachte und die mich fast zur Verzweiflung getrieben hätten. Vielleicht hilfts jemandem... Anzahl Kerzen nach Ordereröffnung: Code:
int BarsAfterOpen=iBarShift(symbol,PERIOD_M1,OrderOpenTime(),false); Code:
double BuyInitPeriodHighest = NormalizeDouble(OrderOpenPrice() + (trailingstart*point), digits); Schönen Gruß Werner |
Alle Zeitangaben in WEZ +2. Es ist jetzt 20:38 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