Zweck des Expert Advisors
Der Expert Advisor (EA) wurde entwickelt, um mit jedem Custom Indikator zu arbeiten, der Kauf- und Verkaufs-Pfeile anzeigt, außer bei Indikatoren mit String-Parametern.
Der Name des Custom-Indikators wird in den Parametern des EAs angegeben, ebenso wie die Liste der Indikatorparameter und die Puffer-Nummern für das Zeichnen der Kauf- und Verkaufs-Pfeile.

Trotz der Verwendung einer String-Liste von Parametern ist es möglich, bis zu fünf Parameter des Indikators zu optimieren. Anstelle einer der Variablen aus der iCustomParam-Stringliste kann der Wert einer der Variablen Opt_1_Value - Opt_5_Value verwendet werden.

Parameter des Expert Advisors
- TimeFrame - Arbeitszeitrahmen des EAs: 0 - Zeitrahmen des Charts, auf dem der EA läuft, oder der im Tester ausgewählt wurde. Oder ein spezifischer Wert 1, 5, 15, 30, 60, 240, 1440...
- iCustomName - Name des Custom-Indikators.
- iCustomParam - Liste der Parameter, die durch " / " getrennt sind. Für die booleschen Variablen verwenden Sie 1 anstelle von true, 0 anstelle von false. Wenn die Indikatorparameter String-Variablen enthalten, funktioniert der EA nicht!
- iBuyBufIndex - Index des Puffers mit den Kauf-Pfeilen.
- iSellBufIndex - Index des Puffers mit den Verkaufs-Pfeilen.
- iShift - Offset des Indikators. 1 - arbeiten an den gebildeten Balken, 0 - am sich bildenden Balken (nicht empfohlen). Es ist auch möglich, einen Wert von 2, 3, 4... einzugeben.
- Opt_1_Use - Aktivierung der Nutzung der Variable 1 zur Optimierung. Wenn die zu optimierende Variable aktiviert ist, wird anstelle des Wertes aus der iCustomParam-Stringliste, der durch die Opt_X_Index-Variable definiert ist, der Wert der Opt_X_Value-Variable verwendet.
- Opt_1_Index - Index der Variable 2, die im Parameter-Array (in der iCustomParam-Stringliste) optimiert werden soll. Die Nummerierung beginnt bei null.
- Opt_1_Value - Wert der Variable 1 zur Optimierung.
- Opt_2_Use - Aktivierung der Nutzung der Variable 2 zur Optimierung.
- Opt_2_Index - Index der Variable 2 zur Optimierung im Parameter-Array (in der iCustomParam-Stringliste). Die Nummerierung beginnt bei null.
- Opt_2_Value - Wert der Variable 2 zur Optimierung.
- Opt_3_Use - Aktivierung der Nutzung der Variable 3 zur Optimierung.
- Opt_3_Index - Index der Variable 3 zur Optimierung im Parameter-Array (in der iCustomParam-Stringliste). Die Nummerierung beginnt bei null.
- Opt_3_Value - Wert der Variable 3 zur Optimierung.
- Opt_4_Use - Aktivierung der Nutzung der Variable 4 zur Optimierung.
- Opt_4_Index - Index der Variable 4 zur Optimierung im Parameter-Array (in der iCustomParam-Stringliste). Die Nummerierung beginnt bei null.
- Opt_4_Value - Wert der Variable 4 zur Optimierung.
- Opt_5_Use - Aktivierung der Nutzung der Variable 5 zur Optimierung.
- Opt_5_Index - Index der Variable 5 zur Optimierung im Parameter-Array (in der iCustomParam-Stringliste). Die Nummerierung beginnt bei null.
- Opt_5_Value - Wert der Variable 5 zur Optimierung.
- MMMethod - MM-Methode: 0 - Lots, 1 - Teil (Risiko) des freien Margen, 2 - Teil (Risiko) der freien Margin normalisiert durch MeansStep (z. B. Risiko=0.1, MeansStep=1000, wenn die Margin weniger als 2000 beträgt, entspricht das Lot 0.1, wenn die Margin größer als 2000 oder mehr ist - 0.2 Lot, 3000 oder mehr - 0.3 Lot usw.)
- Lots - Anzahl der Lots bei MMMethod=0.
- Risk - Risiko. Der Wert basiert auf den Mitteln bei FixedLot=false.
- MeansType - Art der Mittel, die bei der Berechnung der Lots verwendet werden. 1 - Balance, 2 - Equity, 3 - FreeMargin.
- MeansStep - Schritt der Mittel. Wird bei MMMethod=2 verwendet.
- LotsDigits - Anzahl der Dezimalstellen im Lotwert.
- Slippage - zulässige Abweichung vom angeforderten Preis.
- StopLoss - Stop-Loss.
- TakeProfit - Take-Profit.
- Magic_N - magische Zahl.
- MaxOrdersCount - maximal zulässige Anzahl der offenen Aufträge. -1 - nicht begrenzt.
- MaxBuyCount - maximal zulässige Anzahl offener Kauf-Aufträge. -1 - nicht begrenzt.
- MaxSellCount - maximal zulässige Anzahl offener Verkaufs-Aufträge. -1 - nicht begrenzt.
- SleepBars - Timeout nach dem Öffnen eines Auftrags als Anzahl der Balken des Arbeitszeitrahmens.
- CancelSleeping - Aktivierung der Timeout-Abbruch beim Öffnen eines Auftrags in die entgegengesetzte Richtung.
- CloseOnRev - Schließen von Aufträgen in die entgegengesetzte Richtung vor dem Öffnen.
- TrailingStop_Use - Aktivierung der Trailing-Stop-Funktion.
- TrailingStopStart - Gewinn des Auftrags zur Aktivierung des Trailing-Stops.
- TrailingStop - Stopp-Loss-Level des Trailing-Stops.
- BreakEven_Use - Aktivierung der Breakeven-Funktion.
- BreakEvenStart - Gewinn des Auftrags zur Aktivierung des Breakevens.
- BreakEvenLevel - Niveau, um den Stop-Loss vom Preis der Breakeven-Aktivierung zu platzieren.
Hinweis
Im Archiv mit dem Expert Advisor befindet sich die Datei test_example.set mit einem Beispiel für Einstellungen zur Verwendung des ind_Test-Indikators (Kreuzung von zwei MAs) und den zu optimierenden Variablen. Der ind_Test-Indikator ist beigefügt.
Version 2
1. Die Möglichkeit hinzugefügt, verschiedene Indikatoren für Eröffnungs- und Schließsignale zu verwenden. Die Parameter für den Eröffnungsindikator beginnen mit dem Präfix _O_, für den Schließindikator - mit dem Präfix _C_.
Es gibt drei mögliche Modi zur Nutzung der Eröffnungs- und Schließindikatoren (definiert durch die _OС_Mode-Variable):
- Modus 1 - Indikator wird nicht für das Schließen verwendet. Das Schließen ist nur durch Stop-Loss und Take-Profit möglich.
- Modus 2 - der Schließindikator wird nicht verwendet. Neben dem Schließen durch Stop-Loss und Take-Profit erfolgt das Schließen von Gegenaufträgen durch die Eröffnungssignale. Der Stop-Loss und Take-Profit können deaktiviert werden - setzen Sie den Wert 0 für die Variablen StopLoss und/oder TakeProfit (gilt für alle Modi).
- Modus 3 - Separate Schließsignale basierend auf dem Schließindikator (_C_) werden verwendet. In diesem Modus ist es möglich, einen zusätzlichen Modus zu aktivieren, um die Parameter des Eröffnungsindicators auf die Parameter des Schließindikators zu kopieren (die C_UseOpenParam-Variable), während der Name des Indikators und seine Parameter kopiert werden. Dieser Modus wurde für Indikatoren erstellt, die Eröffnungs- und Schließsignale generieren, um die Geschwindigkeit der Optimierung zu erhöhen (die optimierten Parameter werden ebenfalls kopiert).
2. Es ist möglich, nicht nur Indikatoren mit Pfeilen, sondern auch Indikatoren mit Linien zu verwenden. Es können zwei Linien (Kreuzung der Haupt- und Signal-Linien) und eine Linie - ihre Kreuzung mit den Niveaus verwendet werden. Verwenden Sie die _O_Mode-Variable (und _С_Mode im Schließblock), um den Indikatortyp auszuwählen.
- Modus 1 - der Indikator zeichnet Pfeile. Die Variablen _O_M1_iBuyBufIndex und _O_M1_iSellBufIndex werden verwendet, um die Pufferzahlen anzugeben, und im Schließblock - _C_M1_iCloseBuyBufIndex und _C_M1_iCloseSellBufIndex.
- Modus 2 - die Haupt- und Signallinie des Indikators werden verwendet. Wenn die Hauptlinie die Signallinie von unten kreuzt - Signal zum Öffnen von Kauf oder Schließen von Verkauf. Die Variablen _O_M2_iMainBufIndex, _O_M2_iSignalBufIndex und _C_M2_iMainBufIndex, _C_M2_iSignalBufIndex werden verwendet, um die Puffer anzugeben.
- Modus 3 - eine Indikatorlinie wird verwendet. Die Pufferzahl wird in der _O_M3_iBufIndex-Variable (oder _С_M3_iBufIndex im Schließblock) angegeben. Die _O_M3_BuyLevel und _O_M3_SellLevel (_O_M3_CloseBuyLevel und _C_M3_CloseSellLevel im Schließblock) werden verwendet, um die Niveaustufen anzugeben. Kreuzung des Kaufniveaus von unten - Kauf, Kreuzung des Verkaufsniveaus von oben - Verkauf.
Version 3
Ein weiterer _O_Mode-Modus (und _S_Mode) hinzugefügt
Modus 4 - Extremum durch drei Punkte. Verwendet eine Indikatorlinie. Die Pufferzahl wird in der _O_M4_iBufIndex (oder _С_M4_iBufIndex im Schließblock) Variable angegeben.

Version 4
1. Unterstützung für die Arbeit mit Pending Orders hinzugefügt.
2. Abschnittsseparatoren im Eigenschaftenfenster (aus String-Variablen) hinzugefügt.
Die Auswahl des Ordertyps erfolgt über die OrdType-Variable: 0 - Markt, 1 - Stop, 2 - Limit (die Variable befindet sich im Abschnitt "Order").
Der Abschnitt "Pending Orders" zur Verwaltung des Ablaufs von Pending Orders:
- PendLevel - die Ebene vom aktuellen Marktpreis, um die Pending Order zu platzieren.
- PendPromPrice - der Preis zur Platzierung der Pending Order wird aus dem Preis der Null-Bar berechnet, bei dem Wert PendPromPrice=0 - vom Schlusskurs (entspricht dem aktuellen Marktpreis), 1 - vom Eröffnungspreis der Bar.
- PendNewSigMode - die Methode zur Steuerung der Pending Order bei einem neuen Handelssignal: 0 - wenn bereits eine Order platziert wurde, wird bei einem neuen Handelssignal keine Aktion durchgeführt, 1 - die Order wird bei einem neuen Signal ersetzt, 2 - bei einem neuen Signal wird die Order nur zu einem "besseren Niveau" ersetzt - Kauf-Stopp nur nach unten, Kauf-Limit nur nach oben, Verkauf-Stopp nur nach oben, Verkauf-Limit nur nach unten.
- PendPriceFollow - Preisverfolgungsmodus. Die Order wird bei jeder Änderung einer bestimmten Variable PendPromPrice modifiziert, die Order wird nur zu einem "besseren Preis" ersetzt (siehe Beschreibung der PendNewSigMode-Variable).
- PendDelete - Pending Order bei einem entgegengesetzten Handelssignal löschen. Bei dem Wert false ist es möglich, dass zwei Pending Orders in verschiedene Richtungen gleichzeitig existieren.
- PendExpiration - Ablaufzeit der Order in Minuten (der Mindestwert beträgt 11 Minuten).
연관 포스트
- So integrierst du hochkarätige Wirtschaftsdaten in deinen EA für MetaTrader 4
- Währungsstärke: Der perfekte Expert Advisor für MetaTrader 4
- Der perfekte Expert Advisor für präzises Trading: Orders zu festgelegten Zeiten öffnen und schließen
- AutoSLTP: Der perfekte EA für MetaTrader 4
- RRS Impulse – Dein Trading-Partner für MetaTrader 4