Trebuchet Bracket Engine
- Experten
-
Syarief Azman Bin Rosli
Hallo und herzlich willkommen auf meinem offiziellen MQL5-Profil!
Ich bin Syarief Azman Bin Rosli, Entwickler algorithmischer Handelssysteme und Software-Ingenieur mit über zehn Jahren Erfahrung in der Entwicklung robuster automatisierter Handelslösungen für MetaTrader 5 und MetaTrader 4. - Version: 1.0
- Aktivierungen: 5
Trebuchet Bracket Engine ist ein Expert Advisor für MetaTrader 4, der Ausbrüche aus der Tagesspanne handelt. Am Anker (standardmäßig die Tageseröffnung) misst er die Spanne der letzten N Tage, legt einen Buy Stop über und einen Sell Stop unter den Anker im Abstand K x Spanne, setzt den Stop Loss auf den Anker und schließt alles zum Tagesausstieg. Höchstens ein Trade je Seite und Tag; kein Grid, Martingale, Nachkaufen und kein Halten über Nacht (außer Sie schalten den Tagesausstieg ab).
Schnellstart
- EA auf einen Chart des Symbols ziehen (jeder Zeitrahmen; die Logik nutzt Tagesbalken und die Uhr) und AutoTrading sowie "Allow live trading" aktivieren.
- Mit den Standardwerten beginnen: 4-Tage-Spanne Dual Thrust, Trigger bei 0.50 x Spanne, Stop am Anker, Einstiegsschluss 21:00 und Ausstieg 22:00 Serverzeit, 1 % Risiko.
- Nach dem Anker zeigt das Panel BRACKET ARMED, und zwei Pending Orders erscheinen: ein Buy Stop und ein Sell Stop.
- Test: ein visueller Strategietester-Lauf auf XAUUSD M15 über zwei Wochen zeichnet jede Klammer und jeden Trade.
- Push: MetaQuotes ID eintragen (Extras > Optionen > Benachrichtigungen) und Push Notifications = true.
Handelslogik
Spanne: Range Basis Dual Thrust (max of HH-LC, HC-LL) nutzt die N abgeschlossenen Tage vor heute (Range Lookback): HH/LL sind deren Hoch und Tief, HC/LC der höchste und tiefste Schluss, Spanne = der größere Wert aus HH-LC und HC-LL. Average daily range = mittleres Hoch-Tief dieser Tage; Previous day range = Hoch-Tief von gestern.
Anker: zur Anchor Time wird der Ankerpreis fixiert. 00:00 nutzt die Tageseröffnung (erster Tick des Servertags). Eine andere Uhrzeit nutzt die Eröffnung des ersten Balkens zu oder nach dieser Zeit.
Trigger: Kauftrigger = Anker + Buy Trigger Distance x Spanne, Verkaufstrigger = Anker - Sell Trigger Distance x Spanne. Liegt Spanne / Tages-ATR (Daily ATR Period) unter Minimum Range oder über Maximum Range, gibt es an diesem Tag keine Klammer (RANGE TOO NARROW / RANGE TOO WIDE).
Entry Orders:
- Pending stop orders: ein Buy Stop und ein Sell Stop werden direkt nach dem Anker platziert. Liegt ein Trigger näher als das Stop-Level des Brokers, überwacht der EA diese Seite selbst und steigt per Marktorder ein (VIRTUAL).
- Market order on touch: keine Pending Orders; der EA kauft, wenn Ask den Kauftrigger erreicht, und verkauft, wenn Bid den Verkaufstrigger erreicht (ausgelassen, solange der Spread über Max Spread for Market Entries liegt).
Eine Seite, deren Trigger beim Setzen der Klammer bereits überschritten war (z. B. nach einem Neustart), wird MISSED und nie nachgejagt. Jede Seite handelt höchstens einmal pro Tag, Max Trades per Day begrenzt die Summe. Cancel the Opposite Order on Fill löscht die Gegenseite, sobald eine ausgeführt wird.
Stop Loss Placement:
- At the anchor: der Stop liegt am Ankerpreis.
- At the opposite trigger (stop and reverse): der Long-Stop liegt am Verkaufstrigger, der Short-Stop am Kauftrigger, sodass ein Fehlausbruch in die Gegenseite drehen kann.
- Range fraction from entry: Einstieg minus (bei Verkäufen plus) Stop Distance for Range Fraction x Spanne.
Stops werden bei Bedarf auf das Broker-Minimum erweitert.
Ausstiege: Take Profit setzt ein Ziel bei diesem R-Vielfachen des Stopabstands (0 = kein Ziel). Breakeven Trigger zieht den Stop auf den Einstieg, sobald der Trade so viele R gewonnen hat. Zum Entry Cutoff werden alle Pending Orders gelöscht; zur Day Exit Time werden alle Positionen des EA geschlossen, und eine Position eines früheren Servertags sofort (leer = über Nacht halten). Schließungen, Löschungen und Stopänderungen nur außerhalb der Freeze-Zone und innerhalb der Handelszeit, sonst Wiederholung.
Lot Sizing: Fixed lots handelt Fixed Lots. Risk % of balance: Lots = Saldo x Risk per Trade / 100 / Verlust je Lot bis zum Stop, auf den Schritt abgerundet und durch Max Lots begrenzt. Unter dem Broker-Minimum wird das Mindestlot genutzt, daher können kleine Konten oder Gold mit großen Tagesspannen mehr als den eingestellten Prozentsatz riskieren. Die freie Marge wird vor jeder Order geprüft (NO MARGIN).
Empfohlen: XAUUSD und GBPUSD. Ruhige Paare wie EURUSD lieferten mit den Standardwerten schwache Ergebnisse. Uhrzeiten sind Serverzeit (ausgelegt für GMT+2/+3-Server). Lohnend zu optimieren: Range Lookback, beide Triggerabstände, Stop Loss Placement, Day Exit Time und Maximum Range.
Panel-Bedienung
- [-] / [+]: zur Pille einklappen (TREBUCHET plus Zustand) oder ausklappen.
- <>: Panel in die nächste Chartecke verschieben.
- PAUSE / RESUME: PAUSE löscht die Pending Orders und sperrt neue Einstiege (offene Positionen werden weiter verwaltet); RESUME setzt die heutige Klammer erneut, wenn sie noch gültig ist. In einer globalen Variable gespeichert, übersteht Neustarts.
- BRACKET ON / BRACKET OFF: Chartlinien zeigen oder ausblenden.
- CLOSE ALL: der erste Klick zeigt CONFIRM?, ein zweiter Klick binnen 4 Sekunden schließt alle Positionen und löscht alle Pending Orders des EA auf dem Symbol.
Einklappen, Ecke und Linien kehren beim erneuten Anhängen zu den Eingaben zurück.
Panel-Anzeigen
- Kopf-LED: grün bei scharfer Klammer oder laufendem Trade, bernstein bei Pause, sonst grau.
- DAY STATE: Abzeichen WAITING FOR ANCHOR, BRACKET ARMED, LONG LIVE, SHORT LIVE, PAUSED, DAY QUOTA USED, DAY DONE (nach dem Einstiegsschluss), BRACKET SPENT (beide Seiten verbraucht), RANGE TOO NARROW, RANGE TOO WIDE oder NO DAILY HISTORY; Datum; ANCHOR-Zeit und -Preis; CUTOFF- und EXIT-Zeit.
- RANGE ENGINE: Zeitraum und Basis; RANGE-Wert mit beiden K; HH, LL, HC, LC; eine Anzeige Spanne / ATR von 0 bis 3 mit Marken an beiden Grenzen; Verhältnis, Grenzen und OK oder der Grund.
- BRACKET: Skala mit Verkaufstrigger (Koralle), Anker (Bronze) und Kauftrigger (Türkis); die Markierung zeigt Bid und färbt sich jenseits eines Triggers. Darunter: Preise SELL, ANCHOR und BUY und der Abstand zu jedem Trigger in Punkten. Rechts: STOP AT ANCHOR, STOP+REVERSE oder STOP x.xxR und das Ziel in R.
- Seitenzeilen LONG und SHORT: READY, BUY STOP AT / SELL STOP AT Preis, WATCHING Preis (VIRTUAL), FILLED - IN TRADE, TRADED TODAY, MISSED: PRICE ALREADY BEYOND, SKIPPED: NO MARGIN oder ORDER FAILED, CANCELLED: OCO, CUTOFF, QUOTA, PAUSED, MANUAL oder NEW DAY, NO BRACKET TODAY.
- POSITION: FLAT, oder Seite, Lots, Einstieg und schwebender Gewinn; SL, TP, R und BE ([x], sobald der Stop auf Breakeven steht). Ohne Position: TODAY Trades / Maximum und DAY P/L oder NEW ENTRIES PAUSED.
- ACTIVITY: die letzten drei Ereignisse mit Zeit: BRACKET, NO BRACKET, BUY STOP / SELL STOP platziert, BUY FILLED / SELL FILLED, STOP CANCELLED, MISSED, SKIPPED, ORDER FAILED, BREAKEVEN, CLOSED (Tagesausstieg, Vortag, manuell), CLOSE ALL, PAUSED by user, RESUMED by user.
- Fußzeile: TRADES, WIN-Prozent und NET geschlossener Gewinn des EA auf dem Symbol.
Chartlinien
Vom Anker bis zum Tagesausstieg: eine türkise Linie BUY TRIGGER, eine korallfarbene SELL TRIGGER und eine gepunktete bronzene ANCHOR, für heute beschriftet; Past Days Drawn on Chart frühere Klammern in dünnen Linien (grau, wenn gefiltert). Sichtbar bis Zeitrahmen H4.
Alarme
Pop-up Alerts und Push Notifications melden das Setzen der Klammer am Anker, jede Ausführung und jede Schließung. Nicht im Strategietester.
Nebenwirkungen
- Globale Variable TBE_PAUSE_<Symbol>_<Magic> = 1 während der Pause.
- Chartobjekte mit Präfix TBE_P_ (Panel) und TBE_Z_ (Linien), werden mit dem EA entfernt. Sekunden-Timer. Keine Dateien, keine DLLs.
bool paused = GlobalVariableCheck("TBE_PAUSE_XAUUSD_26110901"); Eingabeparameter
Range Engine
- Range Lookback (4 Tage), Range Basis (Dual Thrust (max of HH-LC, HC-LL); oder Average daily range, Previous day range).
- Buy Trigger Distance (0.50) und Sell Trigger Distance (0.50): x Spanne.
- Daily ATR Period (14 Tage), Minimum Range (0.0 x ATR, 0 = aus), Maximum Range (2.5 x ATR, 0 = aus).
Zeitplan
- Anchor Time (00:00 = Tageseröffnung), Entry Cutoff (21:00), Day Exit Time (22:00, leer = aus): Serverzeit, Anker vor dem Einstiegsschluss, Einstiegsschluss nicht nach dem Ausstieg.
Orders und Ausstiege
- Entry Orders (Pending stop orders; oder Market order on touch).
- Stop Loss Placement (At the anchor; At the opposite trigger (stop and reverse); Range fraction from entry), Stop Distance for Range Fraction (0.30 x Spanne).
- Take Profit (0.0 R = nur Tagesausstieg), Breakeven Trigger (0.0 R = aus).
- Max Trades per Day (2), Cancel the Opposite Order on Fill (false).
Money Management
- Lot Sizing (Risk % of balance; oder Fixed lots), Fixed Lots (0.10), Risk per Trade (1.0 %), Max Lots (5.0).
- Max Spread for Market Entries (0 Punkte = aus).
Ausführung
- Magic Number (26110901, eine je Chart desselben Symbols), Max Slippage (30 Punkte), Order Comment (Trebuchet).
Anzeige und Alarme
- Show Panel (true), Draw Bracket Levels (true), Past Days Drawn on Chart (5), Start Collapsed (false), Panel Scale (1.0, 0.5-2.5).
- Pop-up Alerts (true), Push Notifications (false).
Typische Einstellungen
- Klassische Tagesklammer (XAUUSD, GBPUSD): Standardwerte.
- Stop und Umkehr: Stop Loss Placement = At the opposite trigger (stop and reverse), Max Trades per Day 2.
- London-Klammer: Anchor Time 08:00, Entry Cutoff 16:00, Day Exit Time 21:00, Range Basis = Average daily range, beide Triggerabstände 0.40.
- Ziel und Schutz: Take Profit 2.0, Breakeven Trigger 1.0, Cancel the Opposite Order on Fill true.
Hinweise
- Nach einem Neustart wird die Klammer aus Tagesbalken rekonstruiert; bestehende Orders behalten ihre Seite, ein überschrittener Trigger wird nie nachgejagt.
- Pending Orders gehen nie in einen neuen Tag über.
- Ein leeres Day Exit Time ist nur zusammen mit einem Take Profit über 0 erlaubt; sonst könnte ein Trade nur am Stop schließen.
- Der Strategietester nutzt dieselben Regeln; Panel und Linien nur im visuellen Modus. Zuerst auf einem Demokonto testen.
Risikohinweis
Der Handel mit Forex und CFDs auf Marge birgt ein hohes Verlustrisiko. Vergangene oder simulierte Ergebnisse garantieren keine zukünftigen Ergebnisse. Dieser EA verspricht keinen Gewinn; setzen Sie nur Kapital ein, dessen Verlust Sie verkraften können.
