Teilschließung und Trailing-Stop: Fehlerquellen prüfen
Inhalt (5)
- Fazit: Kaputt geht meist die „Zustandsübergabe“, nicht die Logik
- Warum die Kombination so fehleranfällig ist
- Auf das „Gedächtnis“ des EA ist bei der Restmenge kein Verlass
- Lots werden nicht gerundet, sondern abgerundet
- SL-Änderungen an einer einzigen Stelle bündeln
- Checkliste für Umsetzung und Kontrolle
- Grenzen und Hinweise
- Zusammenfassung
Inhalt
- Fazit: Kaputt geht meist die „Zustandsübergabe“, nicht die Logik
- Warum die Kombination so fehleranfällig ist
- Auf das „Gedächtnis“ des EA ist bei der Restmenge kein Verlass
- Lots werden nicht gerundet, sondern abgerundet
- SL-Änderungen an einer einzigen Stelle bündeln
- Checkliste für Umsetzung und Kontrolle
- Grenzen und Hinweise
- Zusammenfassung
Fazit: Kaputt geht meist die „Zustandsübergabe“, nicht die Logik
Teilschließung und Trailing-Stop sind für sich genommen keine schwierigen Aufgaben. Probleme entstehen, wenn beide auf dieselbe Position wirken. Auch in unserer eigenen Entwicklungserfahrung konzentrierten sich die Fehler fast immer auf diese drei Stellen:
- Restmengen-Verwaltung: Der EA kann sich nicht merken, ob bereits teilgeschlossen wurde
- Lot-Schritte: Die Schließmenge passt nicht zum Mindestlot oder zur Schrittgröße des Brokers
- Reihenfolge der SL-Anpassung: Teilschließung, Break-even-Verschiebung und Trailing überschreiben sich gegenseitig
Alle drei fallen im Backtest kaum auf und zeigen sich oft erst im Live-Betrieb.
Empfohlene Broker-Vergleich →
🎁 Kostenlose EA herunterladen📧 Kostenloser E-Mail-Kurs (8 E-Mails) + Paket mit 13 MT5-Indikatoren nur für Abonnenten
* Datenschutz streng geschützt. Sie können jederzeit kündigen.
Warum die Kombination so fehleranfällig ist
Auf das „Gedächtnis“ des EA ist bei der Restmenge kein Verlass
In MT5 bleibt das Ticket einer Position nach einer Teilschließung unverändert, nur POSITION_VOLUME sinkt. Wer „bereits teilgeschlossen“ lediglich in einer bool-Variable hält, verliert diesen Wert bei einem EA-Neustart, einer VPS-Neuverbindung oder einem Zeitrahmenwechsel. Mit dem ersten Tick danach wird die verbliebene Position erneut zur Hälfte geschlossen – ein typischer Unfall.
Wir lesen deshalb mit HistorySelectByPosition() die Ausführungshistorie der Position aus und beurteilen die Teilschließungsstufe, indem wir das ursprüngliche Eröffnungsvolumen mit der aktuellen Restmenge vergleichen. Flags im Arbeitsspeicher dienen nur als Ergänzung.
Lots werden nicht gerundet, sondern abgerundet
Die Hälfte von 0,03 Lot ist 0,015. Bei einem Konto mit Schrittgröße 0,01 würde kaufmännisches Runden 0,02 schließen – also mehr, als vorgesehen. Die Schließmenge muss anhand von SYMBOL_VOLUME_STEP abgerundet werden, und zusätzlich ist zu prüfen, ob die Restmenge nach dem Schließen mindestens SYMBOL_VOLUME_MIN beträgt. 0,01 Lot lässt sich grundsätzlich nicht teilen. Ob dann gar nicht teilgeschlossen oder komplett geschlossen wird, muss als Regel festgelegt sein – sonst liefert der EA fortlaufend Fehler.
SL-Änderungen an einer einzigen Stelle bündeln
PositionModify() setzt SL und TP gleichzeitig. Übergibt die Trailing-Routine für den TP den Wert 0, verschwindet der TP. Läuft außerdem nach der Teilschließung die Verschiebung des SL auf Einstand getrennt von der Trailing-Anhebung im selben Tick, gewinnt, wer zuletzt schreibt. Dann kann ein bereits auf Einstand angehobener SL wieder sinken.
Die Reihenfolge, die wir verwenden:
- Teilschließung senden → Position neu auswählen und die Restmenge prüfen
- Kandidaten für Einstands-SL und Trailing-SL beide berechnen
- Nur in Richtung des „günstigeren SL“ bewegen (bei Long der höhere, bei Short der niedrigere Wert)
- Stop-Level und Freeze-Level prüfen, den aktuellen TP erneut mitgeben und genau einmal ändern
Checkliste für Umsetzung und Kontrolle
| Prüfpunkt | Symptom bei Fehlern | Prüfmethode |
|---|---|---|
| Wird die Teilschließungsstufe aus der Ausführungshistorie abgeleitet? | Doppelte Teilschließung nach Neustart | EA im laufenden Betrieb neu anhängen und die Restmenge beobachten |
| Wird die Schließmenge nach Schrittgröße abgerundet? | Mehr als geplant geschlossen oder Fehlermeldung | Mit Mindestlot eröffnen und das Log prüfen |
| Ist festgelegt, wie beim Mindestlot geteilt wird? | Schließen scheitert bei jedem Tick | Mit 0,01 Lot testen |
| Kehrt der SL nie in eine ungünstigere Richtung zurück? | Verlustschließung nach Einstands-SL | SL-Verlauf im Log zeitlich nachverfolgen |
| Löscht die SL-Änderung den TP? | Gewinnmitnahme greift nicht | TP-Feld der Position nach der Änderung prüfen |
| Bleibt der SL unverändert, wenn die Teilschließung fehlschlägt? | Restmenge und SL-Annahmen laufen auseinander | Order kurz vor Marktschluss senden und gezielt scheitern lassen |
| Läuft der EA auf einem Netting-Konto? | Positionen anderer EAs werden zusammengerechnet | Kontotyp prüfen |
Aus Anwendersicht ist der schnellste Test: auf dem Demokonto mit Mindestlot laufen lassen und den EA mittendrin neu anhängen, um zu sehen, ob sich das Verhalten ändert. Die Grundlagen der Einrichtung finden Sie unter EA einrichten.
Grenzen und Hinweise
Der Strategietester führt Orders sofort aus, und Teilausführungen kommen praktisch nicht vor. Fehler rund um die Teilschließung zeigen sich deshalb kaum in den Backtest-Zahlen. Unterschiede bei der Ausführungsart (Filling-Modus) im Live-Konto und das Verhalten bei Requotes lassen sich ehrlich gesagt nur pro Broker überprüfen.
Außerdem verbessert eine Teilschließung die Ergebnisse nicht automatisch. Bei trendfolgenden Systemen mit niedriger Trefferquote, die von wenigen großen Gewinnen getragen werden (etwa DONCHIAN ENGINE mit einer Trefferquote von 34.5% im Backtest), reduziert man die Positionsgröße gerade dann, wenn der Gewinn läuft – der Erwartungswert kann sinken. Die Schwankungen der Gewinn- und Verlustkurve werden zwar kleiner, was man dafür opfert, lässt sich aber nur pro EA durch eigene Tests klären. Auch wir haben nicht jede Kombination geprüft.
Wenn Sie einer Strategie wie DONCHIAN ENGINE nachträglich selbst eine Teilschließung hinzufügen, beachten Sie, dass die ursprünglichen Testergebnisse dann nicht mehr unverändert gelten.
Zusammenfassung
- Bei der Kombination aus Teilschließung und Trailing geht meist die „Zustandsübergabe“ kaputt, nicht die Logik
- Die Teilschließungsstufe aus Ausführungshistorie und Restmenge ableiten, nicht aus Flags im Arbeitsspeicher
- Lots nach Schrittgröße abrunden und prüfen, dass die Restmenge nicht unter das Mindestlot fällt
- SL-Änderungen an einer Stelle bündeln, nur in günstiger Richtung bewegen und den TP nicht löschen
- Im Backtest schwer erkennbar – deshalb auf dem Demokonto den Neuanhänge-Test durchführen
- Eine Teilschließung glättet die Gewinn- und Verlustkurve, kann aber auch den Erwartungswert senken
Weitere Hinweise zur Implementierung finden Sie auch in EA- und MT5-Know-how.
Verwandt
📧 Kostenloser E-Mail-Kurs (8 E-Mails) + Paket mit 13 MT5-Indikatoren nur für Abonnenten
* Datenschutz streng geschützt. Sie können jederzeit kündigen.
Fragen zu EAs oder Forex?
Stelle sie im Trading-Forum von Nattzy (kostenlose Registrierung). Auch Fragen über diesen Artikel hinaus sind willkommen – etwa zu EA-Einstellungen oder zur Brokerwahl.
Auf Nattzy fragen ↗