Diese Strategie ist ein StockSharp-Port des MetaTrader-Expertenberaters "FiboArc" (Ordner MQL/24924). Das originale EA kombiniert mehrere Momentum-Filter mit Fibonacci-Arc-Ausbrüchen. Die StockSharp-Implementierung behält dieselbe Idee bei und passt sie an die High-Level-Kerzen-API an:
Zwei linear gewichtete gleitende Durchschnitte (FastMaPeriod, SlowMaPeriod) definieren die Trendrichtung.
Ein Momentum-Oszillator, gemessen am neutralen 100-Niveau, filtert schwache Setups heraus.
Ein MACD-Histogramm bestätigt die Trendstärke und erkennt frische Kreuzungen.
Ein vereinfachter Fibonacci-Arc wird auf jedem Balken unter Verwendung der Eröffnungspreise zweier durch TrendAnchorLength und ArcAnchorLength ausgewählter Ankerkerzen rekonstruiert. Ein Ausbruch durch dieses dynamische Niveau ersetzt die objektbasierten Prüfungen der MetaTrader-Version.
Die Strategie funktioniert mit jedem Symbol/Zeitrahmen-Paar, das von StockSharp unterstützt wird. Alle Berechnungen laufen auf vollständig fertigen Kerzen, um das EA-Verhalten zu spiegeln und Lookahead-Bias zu vermeiden.
Indikatoren und Datenfluss
Die Strategie abonniert einen einzelnen Kerzenstrom, der durch CandleType konfiguriert wird. Jede neue fertige Kerze wird über SubscribeCandles(...).BindEx(...) in folgende Indikatoren eingespeist:
Indikator
Zweck
Standardeinstellungen
LinearWeightedMovingAverage (schnell)
Kurzfristiger Trend und Einstiegs-Timing
FastMaPeriod = 6, typischer Preis
LinearWeightedMovingAverage (langsam)
Übergeordneter Trendfilter
SlowMaPeriod = 85, typischer Preis
Momentum
Abstand von 100 dient zur Bestätigung starker Bewegungen
Indikatorausgaben werden als IIndicatorValue-Instanzen empfangen; nur Endwerte werden verarbeitet.
Fibonacci-Arc-Rekonstruktion
MetaTrader zeichnet ein echtes Arc-Objekt und liest dessen Werte mit ObjectGetValueByShift. StockSharp verwendet keine Chart-Objekte, daher wird der Arc numerisch emuliert:
Die Strategie führt eine fortlaufende Liste fertiger Kerzen (_history).
TrendAnchorLength wählt den Index des Basisankers, und ArcAnchorLength wählt den zweiten Anker.
Das Arc-Niveau für die aktuelle Kerze wird als lineare Interpolation zwischen den Ankereröffnungen unter Verwendung von FibonacciRatio (Standard 0.618) berechnet.
Für die Ausbruchserkennung wird die vorherige Kerzeneröffnung mit dem vorherigen Arc-Niveau und die aktuelle Kerzeneröffnung mit dem neu berechneten Niveau verglichen. Ein Kreuz von unten (fibCrossUp) oder von oben (fibCrossDown) recreiert die ursprünglichen EA-Prüfungen.
Handelsregeln
Long-Einstiege
Eine Long-Position wird eröffnet, wenn alle folgenden Bedingungen erfüllt sind:
Der vorherige Balken öffnete unterhalb des vorherigen Arc-Niveaus und der aktuelle Balken öffnet oberhalb des neuen Niveaus (fibCrossUp).
Die schnelle LWMA liegt über der langsamen LWMA (bullishTrend).
Der absolute Abstand zwischen Momentum und 100 beträgt mindestens MomentumThreshold.
Die MACD-Hauptlinie liegt über ihrer Signallinie oder hat gerade nach oben gekreuzt (macdAboveSignal oder macdCrossUp).
Die aktuelle Positionsgröße ist kleiner oder gleich null (kein bestehendes Long-Exposure).
Die Strategie kauft Volume plus den absoluten Wert jedes offenen Short-Exposures, um flach-zu-Long-Übergänge sicherzustellen.
Short-Einstiege
Short-Trades spiegeln die Long-Logik:
fibCrossDown bestätigt einen Ausbruch nach unten.
Die schnelle LWMA liegt unter der langsamen LWMA.
Der Momentum-Abstand übersteigt MomentumThreshold.
MACD liegt unter seiner Signallinie oder kreuzt nach unten.
Kein bestehendes Long-Exposure verbleibt.
Ausstiege
Positionen werden geschlossen, wenn eines der folgenden eintritt:
Trend- oder MACD-Bedingungen kippen gegen den Trade.
Das entgegengesetzte Fibonacci-Ausbruchssignal erscheint.
Das adaptive Stop-Loss- oder Take-Profit-Niveau wird berührt.
Alle Ausstiege werden mit Marktorders ausgeführt, um die Konsistenz mit der MetaTrader-Version zu wahren.
Risikomanagement
Das originale EA bot geldbasierte Stops, Trailing-Logik und Break-Even-Schutz. Die StockSharp-Strategie behält dieselben Funktionen mit transparenten Parametern:
StopLossDistance und TakeProfitDistance definieren feste Abstände in Preiseinheiten vom ausgeführten Preis.
EnableBreakEven, BreakEvenTrigger und BreakEvenOffset steuern das Verhalten beim Verschieben zum Break-Even.
EnableTrailing, TrailingTrigger und TrailingDistance implementieren einen kerzenbasiserten Trailing Stop.
Parameter
Name
Beschreibung
CandleType
Zeitrahmen (und Aggregationstyp) für alle Berechnungen.