Technischer Händler-Strategie
Technical Trader reimplementiert den MetaTrader Expert Advisor aus MQL/22304/Technical_trader.mq5, indem zwei einfache gleitende Durchschnitte mit einem adaptiven Liquiditätscluster-Detektor kombiniert werden. Die Strategie sucht nach wiederholt gehandelten Preisleveln in der Nähe des aktuellen Bid/Ask und öffnet nur dann Trades, wenn diese Cluster mit der Richtung des Schnell/Langsam-SMA-Kreuzungssignals übereinstimmen. Das Risiko wird durch preisschrittbasierte Stop-Loss- und Take-Profit-Offsets kontrolliert, die die ursprüngliche MQL-Konfiguration widerspiegeln.
Überblick
- Plattform: StockSharp High-Level-Strategie-API.
- Marktdaten: Zeitrahmen-definierte Kerzen plus Orderbuch-Snapshots zur Ermittlung aktueller Bid/Ask-Preise.
- Stil: Direktionaler Ausbruch nach nahen Liquiditätsclustern.
- Quellzuordnung: SMA-Kreuzung, historische Close-Probenahme, Clustering-Toleranz und Order-Dimensionierung wurden vom MQL-Expert portiert.
Handelslogik
- Kerzen des konfigurierten Zeitrahmens abonnieren und zwei SMAs berechnen (
FastMaPeriodundSlowMaPeriod). - Ein rollierendes Fenster (
HistoryDepth) der aktuellsten Schlusskurse pflegen und auf drei Dezimalstellen runden, um das ursprünglicheNormalizeDouble-Verhalten zu emulieren. - Ein Histogramm der Preisvorkommen erstellen und Level klassifizieren, deren Häufigkeit
ResistanceThresholdüberschreitet. - Den neuesten Bid und Ask über das Orderbuch verfolgen; auf den Kerzenschlusskurs zurückgreifen, wenn keine Notierungen verfügbar sind.
- Long-Einstiegsbedingungen:
- Schnelle SMA liegt über der langsamen SMA.
- Ein qualifizierter Preiscluster befindet sich direkt unterhalb des aktuellen Ask (
LevelTolerancedefiniert die erlaubte Distanz). - Wenn die Strategie flach oder short ist, kauft sie genug Volumen, um die Short-Position zu schließen und die Long-Basisposition aufzubauen.
- Short-Einstiegsbedingungen spiegeln die Long-Logik wider, verwenden aber Cluster direkt über dem Bid und erfordern, dass die schnelle SMA unter der langsamen SMA liegt.
- Beim Einstieg in eine Position werden Stop-Loss- und Take-Profit-Level berechnet, indem der
PriceStepdes Wertpapiers mitStopLossPointsbzw.TakeProfitPointsmultipliziert wird. Diese Offsets recreieren die_Point-Multiplikatoren in der MQL-Version. - Bei jeder abgeschlossenen Kerze werden Positionen beendet, wenn der verfolgte Bid/Ask den Stop-Loss- oder Take-Profit-Level erreicht.
Parameter
| Parameter | Beschreibung | Standard |
|---|---|---|
FastMaPeriod |
Länge der schnellen SMA, die das Kreuzungssignal antreibt. | 25 |
SlowMaPeriod |
Länge der langsamen SMA als Trendfilter. | 30 |
StopLossPoints |
Stop-Distanz in Kursschritten (PriceStep * StopLossPoints). |
30 |
TakeProfitPoints |
Gewinnziel in Kursschritten (PriceStep * TakeProfitPoints). |
100 |
ResistanceThreshold |
Mindestanzahl von Vorkommen, damit ein Preislevel als Liquiditätscluster behandelt wird. | 15 |
HistoryDepth |
Anzahl der gespeicherten aktuellen Kerzen für die Cluster-Erkennung (für Gold-Paare auf 100 setzen, wie im Original-EA). | 500 |
LevelTolerance |
Maximal erlaubte Distanz zwischen dem aktuellen Bid/Ask und einem Cluster-Level. | 0.0005 |
CandleType |
Von der Strategie verarbeitete Kerzenserie (Zeitrahmen oder benutzerdefinierter Typ). | 1-Minuten-Zeitrahmen |
Implementierungshinweise
- Die Orderbuch-Abonnierung wird verwendet, um aktuelle beste Bid/Ask-Preise zu erfassen und die tick-basierte Ausführung im MQL-Expert zu matching.
- Die Cluster-Berechnung vermeidet LINQ und speichert Ergebnisse in wiederverwendbaren Puffern, um die StockSharp-Konvertierungsrichtlinien einzuhalten.
- Stop- und Take-Profit-Ziele werden intern verwaltet, da StockSharp-Strategien synthetische Orders statt broker-seitiger ausstehender Orders ausführen.
- Charting-Helper zeichnen Kerzen, beide SMAs und ausgeführte Trades zur visuellen Überprüfung während des Testens.
Verwendungstipps
HistoryDeptherhöhen, wenn auf höheren Zeitrahmen gearbeitet wird, um eine aussagekräftige Stichprobengröße für das Level-Clustering beizubehalten.LevelToleranceauf Instrumenten mit kleinen Tick-Größen enger stellen, um unzusammenhängende Cluster zu vermeiden.ResistanceThresholdauf illiquiden Märkten senken, wo weniger Wiederholungen erwartet werden.- Der Standard-Volumenparameter der Basisklasse
Strategysteuert die Ordergröße; im Hosting-Environment anpassen oder vor dem Starten der Strategie überschreiben.