MultiStrat Engine EA
- Experten
- Julien Favre
- Version: 1.0
- Aktivierungen: 5
Der MultiStrat Engine EA basiert auf einer fundamentalen goldenen Regel: Jeder eröffnete Trade ist ein vollständig angenommener Trade . Ohne Stop - Loss wird kein Verlust realisiert – die Positionen werden bis zur Rückkehr zum Gleichgewicht ( Nullpunkt ) gehalten .
Ein Expert Advisor (EA), der die Positionsverwaltung für alle Arten von Finanzinstrumenten (Devisen, Aktien, Indizes, Rohstoffe ) vollständig automatisiert . Er verfügt über eine außergewöhnlich umfangreiche modulare Architektur mit über 28 verschiedenen Handelsmodi, dynamischem Risikomanagement, einem System zur Erstattung von Brokergebühren und einem interaktiven HTML - Dashboard für vergleichende Backtest-Analysen.
Allgemeine Architektur
Expert Advisor (EA) basiert auf einer klaren Trennung zwischen Kauf- und Verkaufsseite , die jeweils über eigene , unabhängige Parameter verfügen : Trailing- Modus , Zeitrahmen, Positionsgröße, Gewinnmitnahme , Stop-Loss, Orderabstände und dynamisches Verhalten. Diese Dualität ermöglicht die Kombination asymmetrischer oder perfekt symmetrischer Strategien, je nach den Bedürfnissen des Traders.
Die 28+ Handelsmethoden
Kaufseite :
- BUY_MODE_NONE — Platzieren einer BuyStop-Order mit einfachem Trailing und festem individuellem Take-Profit pro Position.
- BUY_MODE_NONE_CANDLE — Identisch, jedoch wird die globale Schließung durch die Kerze ausgelöst, wenn der Gesamtnettogewinn positiv ist.
- BUY_CLOSE_CANDLE — Schließe alle Kaufpositionen bei jeder neuen Kerze, wenn der Gesamtgewinn positiv ist.
- BUY_CUMUL_SINGLE — Virtueller kumulativer Take Profit: Die gewichtete Summe der Pips ( nach Abzug der Gebühren) aller Kaufpositionen muss den konfigurierten Take Profit vor globaler Schließung erreichen.
- BUY_CUMUL_MULTI — CUMUL-Variante: Der Ziel-TP wird mit dem Verhältnis von Gesamtvolumen zu Basisvolumen multipliziert, um die Akkumulation von Lots auszugleichen .
- BUY_CUMUL_POS — Progressive TP nach Anzahl der Positionen: Jede zusätzliche Position reduziert die TP der Einheit gemäß einem konfigurierbaren Faktor, wobei ein Mindestwert gilt.
- BUY_HEDGE_CANDLE — Jeder Kaufvorgang generiert automatisch eine proportional große Verkaufs-Hedge-Position; schließt mit der Kerze , wenn der Gesamtgewinn positiv ist .
- BUY_HEDGE_SINGLE — Automatische Absicherung + EINZELNER kumulativer TP.
- BUY_HEDGE_MULTI — Automatische Absicherung + kumulativer TP MULTI.
- BUY_HEDGE_SINGLE_ADD_SELL_TP — EINZELNE Absicherung mit integrierter Kompensation von variablen Verlusten aus der VERKAUF-Absicherung bei der Berechnung des BUY TP.
- BUY_HEDGE_MULTI_ADD_SELL_TP — Hedging MULTI mit der gleichen Kompensation.
- BUY_DIRECT_HEDGE – Permanente direkte Absicherung: Mit jedem neuen Kauf wird die alte Verkaufsabsicherung durch eine neue ersetzt . Die Verkaufsabsicherung wird nach einem erfolgreichen Kauf automatisch geschlossen .
- BUY_DIRECT_HEDGE_ADD_SELL_TP — DIRECT_HEDGE mit Einbeziehung von SELL-Verlusten in den BUY TP.
- BUY_DIRECT_HEDGE_ADD_SELL_TP_AUTO_MAX — Entspricht der automatischen Berechnung des maximalen Kaufpreises über gleitende Durchschnitte.
- BUY_PARTIAL_CLOSURE — Ausgefeiltes Teilschließungssystem : Das Hauptlos wird in Einheiten aufgeteilt , Helfer werden je nach erreichtem Rasterniveau schrittweise platziert , und die kombinierten Gewinne aus Helfer- und Haupteinheit lösen eine schrittweise Reduzierung des Hauptgeschäfts aus .
- BUY_LADDER_PROFIT — Individuelle Schließung jeder Position , sobald der Nettogewinn in Pips den konfigurierten TP ( Profit Scale) erreicht .
- BUY_WAVE_RIDING — Schnelle Schließung, sobald 30 % des TP erreicht sind, dann sofortige Wiedereröffnung, um die nächste Welle zu "surfen".
- BUY_VIX_REVERSION — VIX-Spezialisierung : Schließung, wenn der VIX die Schwellenwerte für die Rückkehr zum Mittelwert überschreitet .
- BUY_MOMENTUM_BURST — Ultraschneller Schlusskurs bei 20 % des Kursziels, dann mehrere Einstiege bei reduziertem Volumen , um von Momentumimpulsen zu profitieren .
- BUY_SCALP_ACCUMULATOR — Scalping bei 15 % des Take-Profits pro Position, gefolgt von einer sofortigen Wiedereröffnung , um Mikro -Teilgewinne zu erzielen .
- BUY_VIX_OSCILLATION_MASTER — Erweitertes Multi-Zonen-VIX- Management mit Schließungsregeln , die vom Einstiegspreis und dem aktuellen VIX-Niveau abhängen.
- BUY_PROFIT_COMPOUNDING — Verstärkte Reinvestition : Je nach erzieltem Gewinn wird die Wiedereinstiegsposition vervielfacht ( bis zu x2 ) .
- BUY_BREAKOUT_SURFER — Momentumerkennung auf M1 : Schlusskurs bei 70 % des TP , bedingter Wiedereinstieg bei Ausbruchserkennung .
- BUY_ADAPTIVE_PYRAMID — Adaptives TP wird anhand der Volatilität ( Standardabweichung der Eröffnungskurse) und der Anzahl der offenen Positionen berechnet.
- BUY_GRID_RECOVERY_SMART — Intelligente Grid- Recovery- Erkennung : Schließen , wenn der Gewinn positiv ist und der Preis über dem Grid - Median liegt , dann Wiedereinstieg mit reduziertem Volumen .
- BUY_PATIENCE_ACCUMULATOR — Das TP sinkt im Laufe der Zeit ( −1 % pro Stunde), um Geduld zu fördern und Positionen auszugleichen , die lange gehalten wurden.
- BUY_FIBONACCI_ZONES — Schlusskurs bei Fibonacci-Niveaus von 50 %, 61,8 % oder 78,6 %, berechnet aus den Eröffnungskursen der aktiven Positionen.
- BUY_VOLATILITY_RIDER — Adaptives TP basierend auf ATR M1: Je höher die Volatilität , desto niedriger das TP, um Gewinne schnell zu sichern .
- BUY_PROFIT_PYRAMID — Schließung der einzelnen Pyramide bei 60 % des Zielwerts, mit Wiedereröffnung einer neuen Ebene, wenn 2 oder mehr Positionen aktiv bleiben.
Die SELL-Modi sind perfekt symmetrisch und verfügen über eigene Varianten wie SINGLE, MULTI, CANDLE, DIRECT_HEDGE, ADD_BUY_TP usw.
dynamisches Gittersystem
EA unterstützt zwei Batch-Regime für jede Seite :
- FIXED-Modus : Konstante Losgröße, konfigurierbar über den Parameter LotSizeBuy / LotSizeSell.
- GRID-Modus : Geometrische Progression der Parzellen gemäß BaseVolume × GridMultiplier^N, mit einer Obergrenze von MaxBaseVolume. Der Multiplikator kann 1,0 (lineares Raster ) oder höher (Martingalraster) sein .
Der Abstand zwischen den Aufträgen (DistanceOrderBuy/Sell) und der Anpassungsschwellenwert ( TrailingDistanceOrderBuy /Sell) steuern präzise die Neupositionierung der Pending Orders bei jedem Tick oder jeder Kerze.
Auftragsverwaltung
Die Funktion „Ausstehende Aufträge verwalten“ positioniert BuyStops, BuyLimits, SellStops und SellLimits automatisch neu, um den korrekten Abstand zum aktuellen Kurs zu gewährleisten . Sie nutzt die dynamische Logik „Neue Aufträge bei höherem Preis“: Im Modus „Nur niedrige Kurse“ für Kaufaufträge werden nur Aufträge unterhalb des aktuellen Tiefs beibehalten ; zu nahe liegende Duplikate werden gelöscht . Ein Schutzmechanismus verhindert das Löschen des letzten verbleibenden Auftrags/der letzten verbleibenden Position.
Automatische Erstattung von Maklergebühren
tatsächlich gezahlten Kommissionen pro Position (anhand der Transaktionshistorie), die aufgelaufenen Swaps und schätzt die zukünftige Ausstiegskommission. Diese Gebühren werden über MoneyToPoints in Pips umgerechnet und automatisch dem Take Profit (TP) jeder Position hinzugefügt ( AdjustTPWithRealFees). So wird sichergestellt, dass jeder Schlusskurs nach Abzug der Gebühren tatsächlich profitabel ist . Ein konfigurierbares Caching-System (CommissionCacheSeconds) verhindert übermäßig häufige Neuberechnungen .
Automatische Hecken- und Beinverwaltung
HEDGE-Modus wird bei jedem neuen Einstieg automatisch eine Gegenposition eröffnet . Im DIRECT_HEDGE -Modus wird neben aktiven BUY-Positionen nur eine SELL-Position geführt , die bei jedem neuen Kauf ersetzt wird . Die Schließung einer erfolgreichen BUY-Position (erkannt über OnTradeTransaction und ProcessDealTicket) löst automatisch die Schließung der zugehörigen SELL-Positionen aus . Das Hedge-Lot-Verhältnis ist über Voreinstellungen (1:1, 1:2, 1:3, 1:4, 2:1, 3:1) oder einen benutzerdefinierten Wert konfigurierbar .
EDGE virtuelle Signale
Hedge-Handelsmodi nutzen virtuelle Signale : Anstatt eine herkömmliche Pending Order zu platzieren, verwendet der Expert Advisor (EA) ein internes Signal (g_buyEdgeVirtualSignalActive) mit dynamischem Trailing. Das Signal wird erst dann in einen tatsächlichen Trade umgewandelt, wenn der Kurs es überschreitet. Dadurch werden Fehlsignale minimiert und eine automatische Neukalibrierung bei Änderungen der Distanzbeschränkung ermöglicht.
Maximaler dynamischer Kaufpreis (MA)
Der Parameter „MaximumPurchasePriceSource“ berechnet automatisch den maximalen Kaufpreis anhand zweier konfigurierbarer gleitender Durchschnitte ( Periode , EMA /SMA/SMMA/LWMA-Methode, Zeitrahmen). Der Durchschnitt der beiden gleitenden Durchschnitte wird um einen konfigurierbaren Prozentsatz ( MaximumPurchasePriceAutoOffsetPct) verschoben , um eine dynamische Sicherheitszone zu erstellen . Eine orange Linie im Chart zeigt das aktuelle Niveau an.
fortschrittliches Teilverschlusssystem ( TEILVERSCHLUSS )
Dieser einzigartige Modus teilt jedes Hauptlot automatisch in optimale Einheiten auf (angepasst an SYMBOL_VOLUME_STEP ). Hilfspositionen werden entsprechend dem erreichten Grid -Level platziert . Sobald die Kombination aus profit_helper und main_unit_profit den Zielgewinn erreicht, wird die Hilfsposition geschlossen und eine Einheit der Hauptposition reduziert ( PositionClosePartial ) . Dieser Zyklus wiederholt sich, bis die Hauptposition vollständig aufgebraucht ist .
Fortgeschrittenes Zeitmanagement
Jede Seite ( KAUFEN /VERKAUFEN) verfügt über einen unabhängigen Zeitrahmen mit konfigurierbarer Startzeit (Stunde und Minute). Die Gültigkeitsberechnung (IsValidTradingTime) richtet die Trigger präzise auf die Zyklen ab dem Startzeitpunkt aus und verhindert so Duplikate innerhalb einer Kerze. Nach einem Handelsschluss ermöglicht eine „ Schnellneustart “ -Logik den Einstieg in die erste Hälfte des nächsten Zyklus, ohne auf die nächste vollständige Ausrichtung warten zu müssen. Der optionale Parameter „ BlockTradingAroundSessionEdges “ blockiert jeglichen Handel innerhalb der 5 Minuten um die Eröffnung oder Schließung einer Handelssitzung.
Haushaltskontrolle und Kapitalschutz
Die Funktion „CanAffordNextTrade“ simuliert die Gesamtkosten (bestehende Positionen + neuer Trade), falls der Kurs auf null zurückfällt , und blockiert neue Einstiege, wenn diese Kosten das zugewiesene Kapital (MaxAccountBalance im Backtesting , BackTestStopThreshold im Live-Trading) überschreiten . Dieser Schutzmechanismus verhindert unbeabsichtigte Margin Calls unabhängig von der Grid-Konfiguration.
Ausschluss von Perioden (Geisterperioden)
Bis zu zwei Kalenderperioden können vom Backtest ausgeschlossen werden . Der Expert Advisor (EA) wartet, bis alle offenen Positionen regulär geschlossen wurden, bevor er während der Testperiode keine neuen Aktivitäten mehr ausführt . Die Anzahl der ausgeschlossenen Tage wird automatisch von der Berechnung der verlustfreien Perioden abgezogen , um negative Auswirkungen auf die Performancestatistik zu vermeiden .
Berichtssystem und HTML- Dashboard
Am Ende jedes Backtests generiert der Expert Advisor (EA) eine kumulative CSV-Datei (backtest_monthly_totals.csv), die alle Läufe mit folgenden Daten erfasst: OnTester-Score, Monatssummen, maximaler Drawdown, maximale Anzahl gewinnloser Tage und Identifikationsparameter . Für jeden Lauf wird ein interaktives HTML- Dashboard ( backtest_monthly_totals.html ) neu erstellt , das einen visuellen Vergleich aller Backtests anhand monatlicher Tortendiagramme, Ranglisten und zweier Scores ermöglicht: dem reinen Ertrag ( OnTester) und einem Balanced Score ( der monatliche Unregelmäßigkeiten über die normalisierte Standardabweichung berücksichtigt ) . Dynamische Filter (angezeigte Anzahl , Gewichtung von Unregelmäßigkeiten , Ausschluss negativer Monate ) sind direkt im Browser ohne Neuladen zugänglich.
Kriterien für den automatischen Abbruch des Backtests
Mehrere Frühstoppmechanismen schützen die Optimierung :
- Drawdown-Hintergrund : Stopp, wenn Kontostand − Eigenkapital ≥ BackTestStopThreshold.
- Nicht positiver Kalendermonat : Option StopIfNonPositiveClosedMonth, um zu stoppen, sobald ein voller Monat mit ≤ € 0 abschließt .
- Monatlicher gleitender Fensterfilter : Stopp , wenn der Gewinn der letzten N abgeschlossenen Monate unter dem Schwellenwert MonthlyMinProfitThreshold liegt .
- Tage ohne Gewinne : Stopp , wenn an X aufeinanderfolgenden Kalendertagen ( ohne Phantomperioden ) kein Gewinn erzielt wird .
Grafische Echtzeitdarstellung
Ein konfigurierbares Panel (Farben, Größen, Positionen) zeigt in Echtzeit für jedes überwachte Asset/jede Kennzahl an : Anzahl offener Kauf-/Verkaufspositionen, Brokerzeit, aktueller Spread, Zeit bis zur nächsten Order, Nullsaldo-Niveaus (Break-Even für Long- und Short-Positionen) mit horizontalen Linien im Chart sowie Gewinne/Verluste über sieben Perioden ( Gleitzeit, Tag, gestern, 7 Tage, 14 Tage, aktueller Monat, Vormonat ) mit dynamischer grüner/roter Farbgebung. Der virtuelle Take-Profit wird im kumulativen Modus als Linie im Chart dargestellt .
Trailing Stop Loss
Seiten steht ein Standard-Trailing-Stop mit TrailingStartBuy /Sell (Aktivierungsschwelle in Pips) und TrailingStopLossBuy/Sell (Haltedistanz) zur Verfügung. In den Modi CUMUL und HEDGE wird der Trailing-Stop auf Basis der gewichteten Summe der Pips aller aktiven Positionen berechnet, nicht positionsweise.
Kompatibilität und Konfiguration
- Kompatibel mit allen MT5-Instrumenten (Forex, CFD-Aktien, Indizes, Rohstoffe , VIX ).
- Konfigurierbare magische Zahl, die es ermöglicht, dass mehrere Instanzen auf demselben Konto koexistieren .
- Benutzerdefinierte Spreads im Backtesting zur Simulation realistischer Bedingungen .
- Debugging- Protokolle können aktiviert/ deaktiviert werden , um die Optimierungsleistung nicht zu beeinträchtigen.
- Parameterkonsistenzprüfung beim Start mit Blockierung bei ungültiger Konfiguration .
Die Trailing SL-Funktion ist nur in den folgenden Modi aktiv.
Kaufseite :
- KAUFMODUS_KEIN
- DIREKT_HEDGE KAUFEN
- BUY_DIRECT_HEDGE_ADD_SELL_TP (Familie)
- KAUFEN_KUM_EINZELN
- BUY_CUMUL_MULTI
- KAUFEN_HEDGE_EINZELN
- BUY_HEDGE_MULTI
- KAUFEN_HEDGE_EINZELNE_HINZUFÜGEN_VERKAUFEN_TP
- BUY_HEDGE_MULTI_ADD_SELL_TP
- BUY_CUMUL_POS
VERKAUFSSEITE :
- VERKAUFSMODUS_KEIN
- DIREKTVERKAUF HEDGEN
- Direkt verkaufen Hedgefonds hinzufügen, kaufen
- SELL_CUMUL_SINGLE
- SELL_CUMUL_MULTI
- SELL_HEDGE_SINGLE
- SELL_HEDGE_MULTI
- SELL_HEDGE_SINGLE_ADD_BUY_TP
- SELL_HEDGE_MULTI_ADD_BUY_TP
- SELL_CUMUL_POS
