BreakEvenTrailingMarket
- Utilitys
- Version: 1.0
BreakEven Trailing ist ein Hilfsprogramm für MetaTrader 5, das den Stop Loss bereits offener Positionen verwaltet. Es zieht den Stop Loss auf den Einstandspreis und führt ihn hinter dem Kurs nach, sodass Sie den Chart nicht ständig beobachten müssen, um einen aufgelaufenen Gewinn zu sichern.
Der EA eröffnet keine Positionen und schließt keine Positionen mit Marktaufträgen. Er ändert ausschließlich den Stop Loss bestehender Positionen. Der Ausstieg erfolgt, wenn der Kurs den vom EA gesetzten Stop Loss erreicht.
FUNKTIONEN
- Zieht den Stop Loss auf den Eröffnungspreis oder auf den Eröffnungspreis zuzüglich eines gewählten Abstands, sobald die Position einen festgelegten Gewinn in Pips erreicht.
- Führt den Stop Loss in festem Abstand hinter dem aktuellen Kurs nach, sobald die Position einen festgelegten Gewinn in Pips erreicht.
- Break-Even und Trailing lassen sich einzeln ein- und ausschalten und können zusammen verwendet werden.
- Arbeitet mit BUY- und SELL-Positionen.
- Verschiebt einen bestehenden Stop Loss niemals auf ein schlechteres Niveau. Der Stop Loss bewegt sich nur in die Richtung, die mehr Gewinn sichert.
- Lässt den bestehenden Take Profit unverändert, wenn der Stop Loss geändert wird.
- Zeigt die aktuellen Einstellungen, den Kontotyp und den Betriebszustand im Chart an.
WELCHE POSITIONEN VERWALTET WERDEN
Der EA verwaltet alle Positionen des Symbols des Charts, auf dem er läuft.
- Magic-Nummern werden nicht geprüft. Manuell eröffnete Positionen, Positionen anderer EAs und Positionen aus dem Kopieren von Signalen werden alle verwaltet.
- Positionen anderer Symbole werden nie verändert.
- Pending Orders werden nie verändert.
- Geändert wird nur der Stop Loss. Volumen, Take Profit und Positionsrichtung bleiben unverändert.
Da der EA nicht nach Magic-Nummer filtert, sollten Sie nicht zwei Programme gleichzeitig laufen lassen, die den Stop Loss desselben Symbols ändern. Sie würden sich gegenseitig überschreiben. Laden Sie den EA pro Symbol nur auf einen Chart.
HEDGING- UND NETTING-KONTEN
Auf einem Hedging-Konto wird jede Position einzeln anhand ihres Tickets verwaltet. Zwei Positionen desselben Symbols können unterschiedliche Break-Even-Niveaus haben, weil jede ihren eigenen Eröffnungspreis besitzt.
Auf einem Netting-Konto führt die Plattform pro Symbol eine einzige zusammengefasste Position. Mehrere Ausführungen werden zu einer Position mit durchschnittlichem Eröffnungspreis zusammengeführt, und dieser Durchschnittspreis ist die Referenz für Break-Even. Getrennte Break-Even-Niveaus je Ausführung sind auf einem Netting-Konto nicht möglich, und eine neue Ausführung verändert den durchschnittlichen Eröffnungspreis der gesamten Position. Der EA liest die aktuelle zusammengefasste Position bei jedem Tick neu und arbeitet daher immer mit dem aktuellen Durchschnittspreis.
Der erkannte Kontotyp wird im Chart-Panel als Hedging oder Netting angezeigt.
WIE DER STOP LOSS AUSGEWÄHLT WIRD
Wenn Break-Even und Trailing beide aktiviert sind, können beide Bedingungen gleichzeitig erfüllt sein. Der EA sendet in diesem Fall keine zwei Änderungsanfragen. Bei jedem Tick führt er folgende Schritte aus:
1. Berechnung des Break-Even-Kandidaten: Eröffnungspreis plus oder minus dem Abstand in Gewinnrichtung.
2. Berechnung des Trailing-Kandidaten: aktueller Kurs minus oder plus dem Trailing-Abstand.
3. Rundung jedes Kandidaten auf die Tickgröße des Symbols, immer auf die Seite, die den Stop Loss nicht näher an den aktuellen Kurs bringt als angefordert.
4. Getrennte Prüfung jedes Kandidaten gegen Stops Level und Freeze Level des Symbols.
5. Vergleich der gültigen Kandidaten und Versand nur desjenigen, der mehr Gewinn sichert: der höhere Stop Loss bei einer BUY-Position, der niedrigere bei einer SELL-Position.
Kann ein Kandidat wegen einer Broker-Beschränkung nicht gesetzt werden, wird der andere verwendet, sofern er gültig ist. Ein Kandidat wird niemals durch ein schlechteres Niveau ersetzt, nur um die Änderung durchzubringen.
BROKER-BESCHRÄNKUNGEN
Viele Broker akzeptieren keinen Stop Loss, der zu nahe am aktuellen Kurs liegt, und manche sperren die Änderung einer Position, solange der Kurs innerhalb einer Freeze-Zone liegt. Der EA prüft Stops Level und Freeze Level vor dem Senden der Anfrage und wertet nach dem Senden den Rückgabecode des Handelsservers aus.
Wenn ein Stop Loss nicht gesetzt werden kann, wartet der EA und versucht es beim nächsten Tick erneut. Er verschiebt den Stop Loss nicht auf ein schlechteres Niveau und schaltet die Funktion nicht ab. Der Grund wird im Chart-Panel angezeigt, sodass Sie erkennen können, ob der EA auf den Markt wartet oder der Server die Anfrage abgelehnt hat.
Beachten Sie, dass einige Broker ein Stops Level von null melden und dennoch serverseitig eine dynamische Beschränkung anwenden. In diesem Fall entscheidet der Rückgabecode des Handelsservers, den der EA im Panel und im Journal ausgibt.
EINGABEPARAMETER
Break-Even
- Enable break-even (Standard true). Schaltet die Break-Even-Funktion ein oder aus.
- Profit to trigger break-even, in pips (Standard 10.0). Schwebender Gewinn, den die Position erreichen muss, bevor der Stop Loss verschoben wird.
- Offset beyond open price, in pips (Standard 0.0). Abstand vom Eröffnungspreis in Gewinnrichtung. Damit lassen sich Spread, Kommission und Swap abdecken.
Trailing Stop
- Enable trailing stop (Standard true). Schaltet die Trailing-Funktion ein oder aus.
- Profit to start trailing, in pips (Standard 15.0). Schwebender Gewinn, der zum Start des Trailings nötig ist.
- Distance from price to stop, in pips (Standard 10.0). Abstand, der beim Trailing zwischen aktuellem Kurs und Stop Loss gehalten wird.
Chart-Panel
- Show settings and status on chart (Standard true).
- Panel font size (Standard 12). Werte werden auf den Bereich 8 bis 24 begrenzt.
Die Werte werden beim Start des EA geprüft. Kann ein Wert nicht funktionieren, meldet der EA dies und startet nicht. Ist eine Kombination zulässig, aber ungewöhnlich, startet der EA und schreibt eine Warnung ins Journal. Es gibt zwei Fälle: ein Offset, der größer ist als der Break-Even-Auslöser, wodurch der Stop Loss erst nach weiterem Kursanstieg gesetzt werden kann, und ein Trailing-Start, der kleiner ist als der Trailing-Abstand, wodurch der erste Trailing-Stop schlechter als der Eröffnungspreis sein kann.
CHART-PANEL
Das Panel zeigt Version, Symbol, Kontotyp, den Zustand beider Funktionen mit ihren Einstellungen, die Anzahl der verwalteten BUY- und SELL-Positionen, die Anzahl der Änderungen im aktuellen Tick und den aktuellen Status.
Statuswerte:
- ACTIVE: Der EA überwacht Positionen.
- WAITING: NO POSITION: Auf dem aktuellen Symbol gibt es keine Position.
- WAITING: NO QUOTE: Es liegen noch keine gültigen Bid- und Ask-Kurse vor.
- WAITING: STOP LEVEL: Der Kandidat für den Stop Loss liegt näher am Kurs, als der Broker erlaubt.
- BLOCKED: FREEZE LEVEL: Der Kurs liegt in der Zone, in der der Broker keine Änderung erlaubt.
- WAITING: MARKET CLOSED, WAITING: PRICE OFF, WAITING: PRICE CHANGED, WAITING: TOO MANY REQUESTS: vorübergehende Markt- oder Serverzustände.
- ALL FUNCTIONS OFF: Beide Funktionen sind deaktiviert.
- AUTO TRADING OFF, EA TRADING DISABLED, ACCOUNT TRADE DISABLED, EXPERT TRADE DISABLED, SERVER AUTO TRADING OFF, DISCONNECTED: Handel ist im Terminal, für diesen EA oder für dieses Konto nicht erlaubt, oder das Terminal ist nicht verbunden.
- ERROR: INVALID STOPS, ERROR: TRADE DISABLED, ERROR: SYMBOL SETTINGS, ERROR: MODIFY FAILED: Die Anfrage wurde abgelehnt. Der Rückgabecode wird ins Journal geschrieben.
Wiederholte Fehler beim selben Ticket werden nur beim ersten Auftreten, bei einem Wechsel des Rückgabecodes und danach höchstens einmal pro Minute protokolliert, damit das Journal lesbar bleibt. Erholt sich eine Position nach einem Fehler, wird eine entsprechende Zeile geschrieben.
PIP-DEFINITION UND UNTERSTÜTZTE SYMBOLE
Alle Abstände werden in Pips angegeben, nicht in Points.
- Symbole mit 3 oder 5 Nachkommastellen: ein Pip entspricht zehn Points.
- Symbole mit 2 oder 4 Nachkommastellen: ein Pip entspricht einem Point.
Diese Definition folgt der üblichen Notierung im Devisenhandel. Metalle, Indizes und Kryptowährungen liegen außerhalb des unterstützten Umfangs von Version 1.00, weil die Pip-Definition für diese Instrumente bei den Brokern nicht einheitlich ist. Auf solchen Symbolen würde die Berechnung zwar laufen, die Bedeutung eines Pips kann aber von Ihrer Erwartung abweichen. Prüfen Sie die resultierenden Abstände daher zuerst auf einem Demokonto.
WAS BREAK-EVEN HIER BEDEUTET
Break-Even bedeutet in diesem EA den von der Plattform erfassten Eröffnungspreis der Position. Kommission, Swap, Slippage und die Differenz zwischen Bid und Ask im Moment des Ausstiegs sind nicht enthalten. Eine genau zum Eröffnungspreis geschlossene Position ergibt daher nicht garantiert exakt null.
Wenn der Stop Loss Ihre eigenen Handelskosten abdecken soll, setzen Sie den Abstand zum Eröffnungspreis auf einen Wert, der diesen Kosten auf Ihrem Konto entspricht.
ANWENDUNG
1. Laden Sie den EA auf den Chart des Symbols, das verwaltet werden soll. Der Zeitrahmen ist frei wählbar; der EA arbeitet bei jedem Tick und ist vom Zeitrahmen unabhängig.
2. Aktivieren Sie den algorithmischen Handel im Terminal.
3. Stellen Sie Auslöser und Abstände in Pips passend zu Ihrem Handelsstil und der üblichen Schwankungsbreite des Symbols ein.
4. Prüfen Sie, dass das Panel bei offener Position ACTIVE und ohne Position WAITING: NO POSITION anzeigt.
5. Öffnen Sie einen Chart pro Symbol. Laden Sie den EA nicht zweimal auf dasselbe Symbol.
Der EA kann dauerhaft auf dem Chart bleiben. Solange keine Position auf dem Symbol besteht, tut er nichts.
VORAUSSETZUNGEN
- MetaTrader 5. Getestet mit Terminal-Build 5836.
- Algorithmischer Handel im Terminal und für den EA aktiviert.
- Ein Konto, das die Änderung des Stop Loss offener Positionen erlaubt.
- Es werden keine DLL, kein WebRequest, keine externen Dateien und keine Internetverbindung verwendet.
TESTS
Version 1.00 wurde auf einem Demokonto eines Retail-Brokers getestet.
- Berechnungstests: 46 automatische Prüfungen bestanden. Sie umfassen BUY und SELL, Break-Even, Trailing, beide Funktionen gemeinsam, den Tick vor dem Auslöser und den exakten Auslöser, einen Kandidaten mit Verletzung des Stops Level sowie beide Kandidaten mit Verletzung, den Schutz eines bestehenden Stop Loss, das Freeze Level für Stop Loss und Take Profit, Symbole mit 2, 3, 4 und 5 Nachkommastellen sowie die Rundung auf die Tickgröße in der korrekten Richtung.
- Integrationstest mit der Handels-API auf einem Hedging-Konto: Break-Even für BUY und SELL mit Rückgabecode 10009 (Anfrage ausgeführt), bestehender Take Profit erhalten, keine fehlgeschlagenen Anfragen. Verarbeitet wurden rund 360.000 Ticks.
HÄUFIGE FRAGEN
Eröffnet oder schließt der EA Trades?
Nein. Er ändert nur den Stop Loss bereits bestehender Positionen. Die Position wird vom Broker geschlossen, wenn der Kurs diesen Stop Loss erreicht.
Funktioniert er mit Trades eines anderen EA oder eines Signals?
Ja. Magic-Nummern werden nicht geprüft, daher wird jede Position des Symbols verwaltet. Aus demselben Grund sollten Sie ihn nicht zusammen mit einem anderen Programm einsetzen, das den Stop Loss desselben Symbols ändert.
Was passiert, wenn das Terminal geschlossen ist?
Bei geschlossenem Terminal arbeitet der EA nicht. Bereits gesetzte Stop-Loss-Niveaus bleiben auf dem Server bestehen und gelten weiter, da es sich um serverseitige Aufträge handelt.
Kann ich Break-Even ohne Trailing nutzen?
Ja. Jede Funktion hat ihren eigenen Schalter. Sind beide deaktiviert, bleibt der EA untätig und zeigt ALL FUNCTIONS OFF an.
Warum bewegt sich der Stop Loss nicht, obwohl das Gewinnziel erreicht ist?
Der häufigste Grund ist eine Broker-Beschränkung. Sehen Sie im Panel nach: WAITING: STOP LEVEL bedeutet, dass der gewünschte Stop Loss näher am Kurs liegt, als der Broker erlaubt, und der EA auf einen gültigen Abstand wartet, statt einen schlechteren Stop zu setzen.
Funktioniert er auf einem Netting-Konto?
Ja. Auf einem Netting-Konto gibt es pro Symbol eine zusammengefasste Position, deren durchschnittlicher Eröffnungspreis als Break-Even-Referenz dient.
VERSION
1.00 - Erste Veröffentlichung.
