Das ist aber für den MT5. Wenn ich seine Ansprache richtig verstehe, sucht er für den MT4 ;).
@McGirg
Du könntest bspw. die Tradehistorie durchlaufen, die letzte geschlossene Order Deines EA suchen und schauen, ob der ClosePrice nah(!) am eingetragenen SL liegt.
Auf den exakten Wert (Exit = Order SL) würde ich hier verzichten, da es ja ggf. zu Slippage kommen kann.
In Mt5 gäbe es die Funktionen OnTrade() und OnTradeTransaction - in MT4 scheinen sie zu fehlen.
Da bliebe nur am einfachsten PositionTotal() auf Veränderung zu kontrollieren. Vorsicht aber wenn quasi gleichzeitig eine neue geöffnet und eine geschlossen wird und so...
Also warum es hier um mt4 gehen sollte erschliest sich mir nicht
und im mt5 hat jede position auch noch die closing Attribute, die kann man auslesen in der history
Also warum es hier um mt4 gehen sollte erschliest sich mir nicht
und im mt5 hat jede position auch noch die closing Attribute, die kann man auslesen in der history
Er hat doch explizit die MT5'ler zur Ruhe aufgerufen 😂
Hallo MT4-ler,
In Mt5 gäbe es die Funktionen OnTrade() und OnTradeTransaction - in MT4 scheinen sie zu fehlen.
Da bliebe nur am einfachsten PositionTotal() auf Veränderung zu kontrollieren. Vorsicht aber wenn quasi gleichzeitig eine neue geöffnet und eine geschlossen wird und so...
Es gibt da Bibliotheken die eine oder beide Funktionen simulieren.
https://www.mql5.com/en/code/11127
In dem Code werden die letzten Tickets angezeigt mit Order-Art
Vielleicht kann der @McGirg sich da was passendes rauskopieren.
![MQL4 OnTrade() Alternative MQL4 OnTrade() Alternative](https://c.mql5.com/36/47/mql4-ontrade-alternative.jpg)
- www.mql5.com
Hallo MT4-ler,
meine Frage ist, ob es möglich ist, dass der EA ein Signal bekommt, wenn eine Order via StopLoss geschlossen wurde?
Einen aufwändigen Weg könnte ich mir vorstellen, in OnTick die Orders durchzuzählen und wenn die Zahl sinkt, ohne dass eine Gewinnmitnahme (die OrderClose auslöst). Das bedeutet, dass ich eine Flag setzen müsste, wenn ich die Gewinnmitnahme auslöse, die wieder entfernt wird, wenn eine neue Order platziert wird. Gibt es dafür eine einfache Funktion?
Ziel soll es sein, zum einen dem EA eine Info zu geben, wie die letzte Order beendet wurde, um dementsprechend einen Weg zu wählen, wie er wieder in den Markt gehen soll, auf der anderen Seite möchte ich eigene Protokolle schreiben, woraus ich auch ersehen kann, wie eine Order abgeschlossen wurde. Mein Problem ist halt bislang, dass der Schluss der Order per StopLoss passiv erfolgt und kein Ereignis auslöst. Das soll auch so bleiben, da ich mich immer vor Ausfall abgesichert wissen will. Oder ist es antiquiert, den Orders das Merkmal des StopLoss mitzugeben und schließt man nur noch aktiv?
Grüße
McGirg
Hallo,
das kann man mit MODE_HISTORY machen.
// Orders zählen int i,tip=0; for(i=0; i<OrdersTotal(); i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(OrderSymbol()==Symbol() && Magic==OrderMagicNumber()) { return; } } } //--------------- Orders in History abrufen for(i=OrdersHistoryTotal()-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { if(OrderSymbol()==Symbol() && Magic==OrderMagicNumber()) { tip=OrderType(); break; } } } if(tip==OP_BUY && OrderProfit() < 0) Comment("\n Order Buy war in Minus!"); if(tip==OP_SELL && OrderProfit() < 0) Comment("\n\n Order Sell war in Minus!");
Habe nicht geprüft, ob es funktioniert.
Es gibt auch eine OrderComment() Funktion in Meta Trader 4 und man könnte alle orders durchgehen, die string SL enthalten. Habe aber noch nie probiert.
Ich hoffe, dass ich Ihnen helfen könnte.
Gruß Igor
Pay24Money:
Es gibt auch eine OrderComment() Funktion in Meta Trader 4 und man könnte alle orders durchgehen, die string SL enthalten.
Das könnte auch gehen, stimmt. Das andere reicht nicht, da eine Order im Minus ja nicht zwingend der SL gewesen sein muss...
Hallo.
Ich danke an dieser Stelle allen Antwortern.
Irgendwann werde ich mir auch MT5 zu Gemüte führen, bis dahin werde ich mich mal um die OrderComment() schlau machen. Danke
McGirg
Hallo.
Ich danke an dieser Stelle allen Antwortern.
Irgendwann werde ich mir auch MT5 zu Gemüte führen, bis dahin werde ich mich mal um die OrderComment() schlau machen. Danke
McGirg
Hallo,
das Problem ist, dass man im Tester die Austopper als Kommentar ablegt, aber im Live Konto Historie wird SL nicht als Kommentar abgelegt!
Es gibt kaum Informationen im Internet, wie man das macht.
Gruß Igor
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo MT4-ler,
meine Frage ist, ob es möglich ist, dass der EA ein Signal bekommt, wenn eine Order via StopLoss geschlossen wurde?
Einen aufwändigen Weg könnte ich mir vorstellen, in OnTick die Orders durchzuzählen und wenn die Zahl sinkt, ohne dass eine Gewinnmitnahme (die OrderClose auslöst). Das bedeutet, dass ich eine Flag setzen müsste, wenn ich die Gewinnmitnahme auslöse, die wieder entfernt wird, wenn eine neue Order platziert wird. Gibt es dafür eine einfache Funktion?
Ziel soll es sein, zum einen dem EA eine Info zu geben, wie die letzte Order beendet wurde, um dementsprechend einen Weg zu wählen, wie er wieder in den Markt gehen soll, auf der anderen Seite möchte ich eigene Protokolle schreiben, woraus ich auch ersehen kann, wie eine Order abgeschlossen wurde. Mein Problem ist halt bislang, dass der Schluss der Order per StopLoss passiv erfolgt und kein Ereignis auslöst. Das soll auch so bleiben, da ich mich immer vor Ausfall abgesichert wissen will. Oder ist es antiquiert, den Orders das Merkmal des StopLoss mitzugeben und schließt man nur noch aktiv?
Grüße
McGirg