Startseite Systemhandel Beitrag

Smart Trend Follower: Ihr Trading-Assistent für MetaTrader 5

Anhang
53022.zip (3.5 KB, Herunterladen 0 mal)

1. Enum-Typen (enumJnsSignal, enumOrderType)

enumJnsSignal: Dieser Enum definiert den Signaltyp, der im EA verwendet wird. Es gibt zwei Signaloptionen:

  • eTypeCrossMA: Verwendet das Signal des Cross 2 MA (das Kreuzen von zwei gleitenden Durchschnitten).
  • eTypeTrend: Folgt dem Trend mithilfe von gleitenden Durchschnitten und dem Stochastic-Indikator.

2. Eingabeparameter

  • inMagicNumber: Eine eindeutige Magic-Nummer, um die Aufträge dieses EAs zu unterscheiden.
  • inLotSize: Die anfängliche Lotgröße für jeden Auftrag.
  • inMultiply: Der Multiplikator für die Lotgrößenstrategie.
  • inJarakLayer: Die Pip-Distanz zwischen Handelspositionen in der Gitter-/Layer-Strategie.
  • inMAPeriodFast & inMAPeriodSlow: Die Zeiträume für den schnellen und langsamen gleitenden Durchschnitt.
  • inSTOKPeriod, inSTODPeriod, inSTOSlowing: Parameter für den Stochastic-Oszillator.
  • inTakeProfit & inStopLoss: Die Einstellungen für Take Profit und Stop Loss.

3. Struct dataTrades

Diese Struktur wird verwendet, um Daten zu offenen Handelspositionen zu speichern, wie die Gesamtzahl der Positionen (ttlPos), den durchschnittlichen Preis der Positionen (hargaTA, hargaTB) und das gesamte Volumen (ttlLot).

4. OnInit() Funktion

Diese Funktion kümmert sich um die Initialisierung des EAs, einschließlich der Validierung der Eingabeparameter (z.B. Sicherstellen, dass der schnelle MA-Zeitraum kleiner ist als der langsame MA-Zeitraum) und dem Erstellen von Handles für die MA- und Stochastic-Indikatoren.

5. OnTick() Funktion

Die Hauptfunktion, die jedes Mal ausgeführt wird, wenn sich der Preis bewegt (Tick).

  • Sie ruft die Funktion zur Überprüfung auf ein neues Signal mit GetSignal() auf, und wenn ein Signal gefunden wird, wird manageTrading() verwendet, um Trades auszuführen.
  • Sie ruft auch setTPSL() auf, um sicherzustellen, dass Take Profit und Stop Loss immer aktualisiert werden.

6. isNewCandle() Funktion

Diese Funktion erkennt, ob eine neue Kerze entstanden ist. Dies ist wichtig, da der EA nur bei neuen Kerzenformationen nach Signalen sucht.

7. GetSignal() Funktion

Diese Funktion bestimmt, ob ein gültiges Handelssignal basierend auf der ausgewählten Strategie existiert:

  • Für eTypeCrossMA wird das Signal durch das Kreuzen der schnellen und langsamen gleitenden Durchschnitte bestimmt.
  • Für eTypeTrend wird das Signal durch Bestätigung von MA und Stochastic unterstützt.

8. manageTrading() Funktion

Diese Funktion verwaltet die Ausführung von Trades.

  • Wenn ein gültiges Signal erkannt wird, öffnet der EA eine Position mit der Lotgröße, die durch die Funktion getLotSize() bestimmt wird.
  • Eine Gitter-/Layer-Strategie wird ebenfalls angewendet, um zusätzliche Positionen basierend auf der Preisdistanz (inJarakLayer) zu eröffnen.

9. updateDataTrades() Funktion

Diese Funktion aktualisiert die Daten zu laufenden Handelspositionen, wie das Berechnen des durchschnittlichen Preises und des gesamten Volumens offener Positionen.

10. openTrade() Funktion

Diese Funktion eröffnet eine neue Handelsposition basierend auf dem generierten Signal und der berechneten Lotgröße. Sie verwendet OrderSend(), um den Auftrag auszuführen.

11. setTPSL() Funktion

Diese Funktion setzt oder aktualisiert das Take Profit und Stop Loss für jede offene Position.

12. modifTPSL() Funktion

Diese Funktion ändert das Take Profit und Stop Loss bestehender Positionen, wenn die Werte von den zuvor festgelegten abweichen.

13. validateLot() Funktion

Diese Funktion stellt sicher, dass die verwendete Lotgröße innerhalb des zulässigen Minimums und Maximums liegt und mit dem minimalen Lot-Schritt (gLotStep) übereinstimmt.

14. getLotSize() Funktion

Diese Funktion berechnet die Lotgröße, die verwendet werden soll, basierend auf der anfänglichen Lotgröße und der Anzahl bereits geöffneter Positionen unter Berücksichtigung des Multiplikationsfaktors (inMultiply).

Dieser Code ist darauf ausgelegt, Markttrends zu erfassen und Handelspositionen automatisch zu verwalten, indem technische Signale von gleitenden Durchschnitten und Stochastic verwendet werden.

Verwandte Beiträge

Kommentar (0)