Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Twitter!
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Ansichten:
19
Rating:
(9)
Veröffentlicht:
2025.06.29 12:09
MQL5 Freelance Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
1. Enum-Typen (enumJnsSignal, enumOrderType)
- enumJnsSignal Diese Aufzählung definiert den Typ des im EA verwendeten Signals. Es gibt zwei Signaloptionen:
- `eTypeCrossMA`: Verwendet das Signal von Cross 2 MA(die Kreuzung von zwei gleitenden Durchschnitten).
- eTypeTrend": Folgt dem Trend mit Hilfe von Gleitenden Durchschnitten und Stochastik.
- enumOrderType Diese Aufzählung definiert die Art des Auftrags:
- `eBuy`: Ein Kaufauftrag .
- eSell": Ein Verkaufsauftrag .
- eNone": Kein Auftrag ausgeführt.

2. Eingabe-Parameter
- inMagicNumber Eine eindeutige magische Zahl, die zur Unterscheidung von Aufträgen dieses EA verwendet wird.
- inLotSize Die anfängliche Losgröße für jeden Auftrag.
- inMultiply Der Multiplikationsfaktor, der in der Losgrößenstrategie verwendet wird.
- inJarakLayer Der Pip-Abstand zwischen den Handelspositionen in der Grid/Layer-Strategie.
- inMAPeriodFast & inMAPeriodSlow Die Perioden für schnelle und langsame gleitende Durchschnitte.
- inSTOKPeriod, inSTODPeriod, inSTOSlowing Parameter für den Stochastischen Oszillator.
- inTakeProfit & inStopLoss Die Einstellungen für Take Profit und Stop Loss.

3. Struktur dataTrades
- In dieser Struktur werden Daten zu offenen Handelspositionen gespeichert, wie die Gesamtzahl der Positionen (`ttlPos`), der Durchschnittspreis der Positionen (`hargaTA`, `hargaTB`) und das Gesamtvolumen (`ttlLot`).

4. OnInit() Funktion
- Diese Funktion übernimmt die Initialisierung des EA, einschließlich der Validierung der Eingabeparameter (z. B. Sicherstellung, dass die schnelle MA-Periode kleiner ist als die langsame MA-Periode) und der Erstellung von Handles für die MA- und Stochastik-Indikatoren.

5. OnTick() Funktion
- Die Hauptfunktion wird jedes Mal ausgeführt, wenn sich der Preis bewegt (Tick).
- Sie ruft die Funktion auf, um mit GetSignal() nach einem neuen Signal zu suchen, und wenn ein Signal gefunden wird, wird manageTrading() verwendet, um Trades auszuführen.
- Es ruft auch setTPSL() auf, um sicherzustellen, dass Take Profit und Stop Loss immer aktualisiert werden.

6. isNewCandle() Funktion
- Diese Funktion erkennt, ob sich eine neue Kerze gebildet hat. Dies ist wichtig, da der EA nur bei neuen Kerzenformationen auf Signale prüft.

7. GetSignal() Funktion
- Diese Funktion ermittelt, ob ein gültiges Handelssignal auf der Grundlage der ausgewählten Strategie existiert:
- Bei eTypeCrossMA wird das Signal durch die Kreuzung der schnellen und langsamen gleitenden Durchschnitte bestimmt.
- Für eTypeTrend verwendet das Signal die Bestätigung von MA und Stochastic.

8. manageTrading() Funktion
- Diese Funktion verwaltet die Ausführung von Trades.
- Wenn ein gültiges Signal erkannt wird, eröffnet der EA eine Position mit der Lotgröße, die mit der Funktion getLotSize() bestimmt wird.
- Eine Grid/Layer-Strategie wird ebenfalls angewendet, um zusätzliche Positionen basierend auf dem Preisabstand (`inJarakLayer`) zu öffnen.

9. updateDataTrades() Funktion
- Diese Funktion aktualisiert die Daten in Bezug auf laufende Handelspositionen, wie z.B. die Berechnung des Durchschnittspreises und des Gesamtvolumens der offenen Positionen.

10. openTrade() Funktion
- Diese Funktion eröffnet eine neue Handelsposition basierend auf dem generierten Signal und der berechneten Losgröße. Sie verwendet OrderSend(), um die Order auszuführen.

11. setTPSL() Funktion
- Diese Funktion setzt oder aktualisiert den Take Profit und Stop Loss für jede offene Position.

12. modifTPSL() Funktion
- Diese Funktion ändert den Take Profit und den 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 Mindest- und Höchstbereichs liegt und mit dem minimalen Lotschritt (`gLotStep`) übereinstimmt.

14. getLotSize() Funktion
- Diese Funktion berechnet die zu verwendende Losgröße auf der Grundlage der anfänglichen Losgröße und der Anzahl der bereits eröffneten Positionen, wobei der Multiplikatorfaktor (`inMultiply`) berücksichtigt wird.

Dieser Code wurde entwickelt, um Markttrends zu erfassen und Handelspositionen automatisch zu verwalten, indem technische Signale von gleitenden Durchschnitten und Stochastik verwendet werden.

Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/en/code/53022

Calendar-Based Backtesting: an Event-Driven Trading EA Calendar-Based Backtesting: an Event-Driven Trading EA

Mit diesem Skript & EA können Programmierer ihre auf Nachrichten basierenden Strategien, die den MQL5-Kalender verwenden, backtesten.

Trend-Equilibrium-Indikator TrendEQ Trend-Equilibrium-Indikator TrendEQ

Trend Equilibrium Indicator TrendEQ analysiert dynamisch Markttrends durch die Kombination von Momentum und Volatilität. Durch die Messung des Momentums im Vergleich zu den Markttrends bietet TrendEQ ein zuverlässiges Maß für die Trendstärke und -richtung.

Trade Assistant MT5 Trade Assistant MT5

Trade Assistant MetaTrader Indikator - ein Multi-Timeframe-Indikator, der auf drei Standardindikatoren basiert: Stochastik-Oszillator, RSI (Relative Strength Index) und CCI (Commodity Channel Index). Er zeigt die aktuellen Trendrichtungen für die Zeitrahmen M1, M5, M15, M30, H1, H4, D1, W1 und MN1 an. Wenn Sie einem solchen Indikator folgen, haben Sie ein klares Bild von den Trends in allen wichtigen Zeitrahmen. Dabei spielt es keine Rolle, in welchem Zeitrahmen Sie den Indikator einsetzen. Der Indikator kann für MT4 und MT5 heruntergeladen werden.

Wasserzeichen Wasserzeichen

Der Watermark-Indikator ist leichtgewichtig und effizient und zeigt ein informatives Wasserzeichen über dem MetaTrader 5-Hauptchart an. Er zeigt automatisch das aktuelle Symbol, die Chartzeit und die Beschreibung des Vermögenswerts an und ermöglicht es Händlern, ihre Oberfläche mit Stil und Komfort anzupassen.