Stale Trade Expiry Guard
- Utilitys
-
AL MOOSAWI ABDULLAH JAFFER BAQER
To trade successfully we need to go through the proven path that others had gone and reached!
Here are 17 quotes from such successful investors:
1- Limit your size in any position so that fear does not become the prevailing instinct guiding your judgment.
Joe Vidich - Version: 1.0
- Aktivierungen: 5
Probieren Sie es zunächst kostenlos aus: Starten Sie „Stale Trade Expiry Guard“ im Strategietester mit aktiviertem visuellen Modus. Das Programm eröffnet dort absichtlich kleine Demo-Positionen und lässt sie unberührt, sodass Sie auf dem Bedienfeld beobachten können, wie jede einzelne Position altert, wie der Countdown auf Null läuft und was der Guard anschließend tut.
EIN TRADE OHNE FRIST IST EIN TRADE, DEN NIEMAND VERWALTET. DIESER GUARD GIBT JEDER POSITION EINE.
„Stale Trade Expiry Guard“ ist ein Expert Advisor für MetaTrader 5. Er platziert niemals eigene Einstiegsorders auf einem Live-Konto. Sie legen fest, wie lange eine Position offen bleiben darf – in Stunden, in Bars oder beidem. Eine Position, die diesen Zeitraum überschreitet und den von Ihnen erwarteten Gewinn noch nicht erreicht hat, wird als „veraltet“ bezeichnet, und der Guard behandelt sie so, wie Sie es gewählt haben: mit einer Warnung, einem Schluss, einem Schluss nur solange der Verlust noch gering ist oder einem Stop-Loss, der auf Breakeven verschoben wird, sobald die Position im Gewinn liegt.
Kurz gesagt
- Maximale Laufzeit in Stunden, in Bars eines von Ihnen gewählten Zeitrahmens oder beides (je nachdem, was zuerst eintritt).
- Die Laufzeit kann nur die Handelszeit berücksichtigen, sodass ein Wochenende oder eine geschlossene Handelssitzung eine Position nicht älter macht.
- Ein Mindestgewinn, ab dem eine Position als „Runner“ gilt: „Runner“ werden niemals berührt, egal wie alt sie sind.
- Vier Modi: 0 nur Warnung, 1 schließen, 2 schließen nur, wenn der Verlust kleiner als Ihr Limit ist, 3 den Stop-Loss auf Breakeven verschieben, wenn Gewinn vorliegt.
- Ein „läuft in … ab“-Countdown für jede Position sowie die Margin, die veraltete Positionen halten, werden im Panel angezeigt.
- Filter: alle Symbole oder das Chart-Symbol, beliebige „Magic Numbers“, nur manuelle Trades oder eine bestimmte „Magic Number“.
- Kein Grid, kein Martingale, kein Averaging, keine DLLs, keine Webanfragen, keine zusätzlichen Dateien.
HIER STARTEN
Fügen Sie es einem Chart hinzu, zum Beispiel EURUSD H1. Eine Instanz überwacht alle Symbole des Kontos, sofern Sie dies nicht einschränken. Stellen Sie das maximale Alter auf die längste Zeit ein, die Ihre Trades normalerweise benötigen sollten, zum Beispiel 48 Handelsstunden für Intraday-Schwankungen. Lassen Sie Modus 0 (nur Warnung) eine Woche lang laufen und beobachten Sie, welche Positionen als veraltet eingestuft werden. Wenn diese Warnungen mit dem übereinstimmen, was Sie selbst getan hätten, wechseln Sie zu Modus 2 oder 3 und aktivieren Sie den Algo-Handel.
Warum sollte man einem Trade ein Ablaufdatum zuweisen?
Die meisten Trades werden aus einem zeitgebundenen Grund eröffnet: eine Reaktion auf Nachrichten, ein Ausbruch während einer Handelssitzung, ein Abprallen von einem Niveau. Wenn diese Zeit verstrichen ist und der Trade nichts bewirkt hat, ist der Grund weg, aber die Position bleibt bestehen. Sie beansprucht Margin, zahlt Swap und wartet auf die nächste Überraschung, die über ihr Ergebnis entscheidet. Niemand hat sich bewusst dafür entschieden, sie zu behalten; sie wurde einfach nicht mehr beachtet. Der „Wächter“ behält sie für Sie im Auge – jede Sekunde – und stellt eine Frage: Hat dieser Trade seine Chance gehabt?
So sieht das Leben einer Position aus
Jung. Die Position altert. Das Panel zeigt ihr Alter, einen Countdown bis zu ihrem Ablauf und einen Balken an, der angibt, wie viel ihrer zulässigen Laufzeit bereits verbraucht ist. Im letzten Viertel färbt sich der Balken gelb.
Läuft gut. Wenn der Gewinn dein Mindestgewinnziel erreicht, wird sie zum „RUNNER“ und die Uhr spielt keine Rolle mehr. Ein Trade, der funktioniert, wird einfach weiterlaufen gelassen.
Abgelaufen. Wenn der Countdown Null erreicht, während der Gewinn unter diesem Wert liegt, gilt der Trade als „STALE“ und Ihr Modus entscheidet. Modus 2 in der Praxis: Ein „stale“ Trade mit einem kleinen Verlust wird geschlossen und der Verlust bleibt gering; ein „stale“ Trade mit einem großen Verlust wird gehalten und du erhältst eine Meldung („KEPT BIG LOSS“), und der „Guard“ schließt ihn später, wenn der Verlust unter dein Limit sinkt. Modus 3 in der Praxis: Bei einem veralteten Trade mit Gewinn wird der Stop-Loss auf den Eröffnungskurs plus einige Punkte verschoben, sodass er nicht mehr in einen Verlust umschlagen kann; ein veralteter Trade, der noch im Verlust liegt, wartet (WAIT PROFIT).
Was ist neu im Vergleich zu unseren früheren „Guards“?
Jede Position erhält eine eigene Spalte „Läuft ab am“, und der Plan zeigt an, welche Position als Nächstes abläuft und wann. Die Zeile „ZEITGEBUNDENE MARGE“ summiert die von alten Positionen gehaltene Marge, neben der Marge aller betroffenen Positionen und als Prozentsatz des Eigenkapitals, sodass Sie sehen können, was alte Trades Sie an Kaufkraft kosten, nicht nur an Gewinn.
Wie das Alter berechnet wird
Die Stunden werden ab dem Eröffnungszeitpunkt der Position gezählt. Bei der Option „Nur Handelszeit“ (Standardeinstellung) zählt nur die Zeit innerhalb der Handelssitzungen des Symbols, wie sie von Ihrem Terminal gemeldet werden. Der Zeitraum von Freitagabend bis Montagmorgen wird nicht berücksichtigt. Bei einem Symbol, für das keine Handelssitzungen aufgeführt sind, wird die gesamte Zeit gezählt. Die Kerzen werden auf dem von Ihnen gewählten Zeitrahmen gezählt, beginnend mit der Kerze zum Zeitpunkt der Eröffnung. Wenn beide Regeln aktiviert sind, wird die Position durch die zuerst erreichte Regel als veraltet eingestuft, und der Countdown zeigt die näher liegende an.
Eingaben, jede einzeln erklärt
AGE
InpMaxAgeHours = 48. Maximales Alter in Stunden. 0 deaktiviert diese Regel.
InpMaxAgeBars = 0. Maximales Alter in Balken. 0 deaktiviert diese Regel. Mindestens eine der beiden Regeln muss aktiviert sein.
InpBarsTF = H1. Zeitrahmen, der zum Zählen der Balken verwendet wird.
InpCountTradingTimeOnly = true. Die Stunden werden nur innerhalb der Handelssitzungen des Symbols gezählt. Setzen Sie den Wert auf „false“, um die Kalenderzeit einschließlich der Wochenenden zu zählen.
AKTION
InpMinProfitMoney = 20. Eine Position, deren Gewinn (einschließlich Swap) diesen Betrag oder mehr in Kontowährung beträgt, gilt als „Runner“ und wird niemals als „stale“ eingestuft. 0 deaktiviert diese Regel, sodass jede alte Position als „stale“ eingestuft werden kann.
InpMode = 2. 0 gibt einmal pro Position eine Benachrichtigung aus und ändert nichts. 1 schließt jede veraltete Position. 2 schließt eine veraltete Position nur, wenn ihr Verlust kleiner als InpMaxLossMoney ist (eine veraltete Position mit geringem Gewinn wird ebenfalls geschlossen). 3 verschiebt den Stop-Loss bei einer veralteten Position mit Gewinn auf Breakeven.
InpMaxLossMoney = 15. Nur Modus 2: Der Verlust in Kontowährung, der noch klein genug ist, um die Position zu schließen.
InpBEPlusPoints = 10. Nur im Modus 3: Punkte über dem Eröffnungskurs für den Breakeven-Stop, um Spread oder Provision abzudecken. Der Stop wird nur gesetzt, wenn die Stop- und Freeze-Limits des Brokers dies zulassen; andernfalls lautet der Status „STOPS NEAR“ und die Überwachung versucht es beim nächsten Durchlauf erneut. Ein bereits vorhandener Stop, der bereits günstiger ist, wird niemals zurückverschoben.
AUSFÜHRUNG
InpSlippagePoints = 30. Maximal akzeptierte Slippage bei einer Schließung.
InpFailAlertAt = 3. Ein abgelehnter Schlusskurs oder eine abgelehnte Stop-Änderung wird mit einer zunehmend längeren Pause erneut versucht, bis zu zwei Minuten. Nach dieser Anzahl von Fehlversuchen bei einer Position erhalten Sie eine Warnmeldung. Wenn der Broker den Ausführungsmodus ablehnt, wird sofort der nächste zulässige Modus versucht.
FILTER – WELCHE POSITIONEN WERDEN ÜBERPRÜFT
InpSymbolScope = Alle Symbole. „Chart-Symbol“ überwacht nur das Chart-Symbol allein.
InpMagicFilter = Beliebige Magic-Nummer. Nur manuelle Trades bedeuten Magic-Nummer 0. Nur die Magic-Nummer beschränkt die Überwachung auf einen Expert Advisor.
InpMagic = 0. Die Nummer für diese letzte Auswahl.
WARNMELDUNGEN
InpAlertPopup = true. Popup-Benachrichtigung im Terminal.
InpAlertPush = false. Push-Benachrichtigung an die MetaTrader-App auf Ihrem Smartphone, die in den Terminal-Optionen aktiviert sein muss.
PANEL
ShowPanel = true. Das Panel anzeigen oder ausblenden. Der Schutz funktioniert in beiden Fällen.
PanelX = 12, PanelY = 15. Versatz von der oberen linken Ecke. Mit der Schaltfläche „MOVE“ können Sie es verschieben.
PanelFontSize = 9. Grundschriftgröße.
MaxTableRows = 5, MaxHistoryRows = 4. Anzahl der Zeilen in der Positionstabelle und im Aktionsverlauf. Bei einem kurzen Chart blendet das Panel zuerst die unwichtigsten Zeilen aus.
STRATEGIE-TESTER-DEMO
InpTesterDemo = true. Nur im Strategietester: eine kleine Position pro Wochentag auf dem Chart-Symbol (bis zu 0,1 Lot innerhalb von 10 Prozent der freien Margin, geprüft auf das 1,5-Fache der Margin, Seiten wechseln sich ab, höchstens 6 offene Positionen), die unverändert bleibt, damit sie „altern“ kann. Eine Demo-Position, die nach 10 Tagen noch offen ist, wird geschlossen. Keine neue Demo-Position nach einem Guthabenverlust von 20 Prozent. Dieser Code läuft niemals auf einem Chart eines Echt- oder Demokontos.
Das Panel
„NEXT EXPIRY“ zeigt die nächste Position, deren Laufzeit abläuft, deren Countdown sowie den bereits verstrichenen Anteil ihrer Laufzeit an. „EXPIRY PLAN“ listet den nächsten Verfallstag, veraltete Positionen und deren Gewinn, die zeitgebundene Margin, die letzte Aktion, den Modus, den Status von Algo-Trading (ein oder aus), Ihre Altersregel, die Runner-Stufe, das Verlustlimit oder den Breakeven-Offset des aktiven Modus, fehlgeschlagene Übermittlungen, Summen und die betroffenen Positionen auf. „POSITIONS, OLDEST FIRST“ zeigt Symbol, Seite, Lots, Gewinn, Alter, verbleibende Laufzeit bis zum Ablauf, Status und einen Balken zur verbleibenden Laufzeit an. Die Status sind: AGEING, RUNNER, STALE, ALERTED, KEPT BIG LOSS, WAIT PROFIT, AT BREAKEVEN, STOPS NEAR, NO BARS, MARKET SHUT, TRADE OFF und RETRY. „ACTION HISTORY“ speichert Warnmeldungen, Schlusskurse, Stop-Änderungen und gehaltene Positionen mit Serverzeit. SCHNELLSTEUERUNG: „ARMED“ oder „PAUSED“, eine Modus-Schaltfläche zum Wechseln zwischen den vier Modi und „RESCAN NOW“. Die rechte Seite des Charts bleibt frei.
Was das Programm nicht kann
Es weiß nicht, warum Sie einen Trade eröffnet haben. Ein Swing-Trade, der zwei Wochen benötigt, wird nach 48 Stunden als veraltet eingestuft, wenn Sie die Standardeinstellung beibehalten. Passen Sie die Laufzeit an Ihren eigenen Stil an und nutzen Sie den „Magic Filter“, um verschiedenen Strategien unterschiedliche Schwellenwerte zuzuweisen.
Das Schließen ist real. Bei einem Abschluss wird das aktuelle Ergebnis verbucht und Spread sowie Provision gezahlt. Modus 1 schließt Verlustpositionen jeder Größe; Modus 2 existiert genau aus diesem Grund.
Es funktioniert nur, solange es läuft. Bei ausgeschaltetem Terminal, deaktiviertem Algo-Trading, geschlossenem Markt oder einem deaktivierten Symbol wird nichts gesendet; es wird beim nächsten Durchlauf aktiv, sobald der Handel wieder möglich ist. Lassen Sie das Terminal laufen, zum Beispiel auf einem VPS.
Sein Speicher ist kurz. Verlauf und Summen werden beim Neustart zurückgesetzt; pro Position wird nur „bereits alarmiert“ beibehalten, sodass ein Neustart keine Warnmeldungen wiederholt.
Was getestet wurde und was nicht
Getestet im Strategietester auf einem Hedging-Konto, 1. bis 30. Juni 2026, H1, Einlage 10.000, Hebel 100, vier Durchläufe. EURUSD Modus 2: 20 Demo-Positionen, 14 wurden veraltet, 13 geschlossen (einige wurden zunächst mit einem großen Verlust gehalten und später geschlossen, als der Verlust schrumpfte), 6 Meldungen beibehalten. EURUSD Modus 0: 11 veraltet, 11 Warnmeldungen, keine Änderungen. EURUSD-Modus 1 mit einer 30-Bar-Regel und Kalenderzeit: 18 veraltet, 18 geschlossen. XAUUSD-Modus 3: 12 veraltet, 8 Stopps auf Breakeven verschoben. Es gab keine fehlgeschlagenen Sendevorgänge und es traten keine Journalfehler auf. Auf einem Live-Demo-Chart war das Panel an einem Sonntag zu sehen: Die Countdowns standen still, da keine Handelssitzung geöffnet war, und die Alarmmarkierung blieb auch nach einem Neustart erhalten.
Zum Zeitpunkt der Erstellung dieses Artikels noch nicht getestet: ein tatsächlicher Schlusskurs oder eine Stop-Änderung bei einem Live- oder Demo-Broker, ein Netting-Konto, Wiederholungsversuche nach einer Ablehnung durch den Broker, eine Ablehnung im Ausführungsmodus, der Geltungsbereich von Chart-Symbolen, Magic-Filter, Pop-up- und Push-Benachrichtigungen sowie die Schaltflächen des Panels. Diese Funktionen sind im Code vorhanden und gemäß der Konzeption beschrieben. Bitte probieren Sie diese zunächst auf einem Demokonto bei Ihrem eigenen Broker aus.
Probieren Sie es im Strategietester aus
Wählen Sie „Stale Trade Expiry Guard“, EURUSD oder XAUUSD, H1, eine Einlage von einigen Tausend, den visuellen Modus und drücken Sie „Start“. Wählen Sie nacheinander jeden Modus aus und beobachten Sie, wie die Countdowns zwei Handelstage nach Eröffnung jeder Demo-Position ablaufen.
Falls der Schutz einige Trades geschlossen hat, die Sie vergessen hatten, oder Sie der Meinung sind, dass er etwas anders handhaben sollte, hilft eine ehrliche Bewertung auf der Produktseite anderen Tradern bei der Entscheidung und gibt mir Hinweise darauf, was ich als Nächstes verbessern sollte.
