Die Idee für diesen Expert Advisor stammt von mir, während der Code von Sergey Diubakin geschrieben wurde.
In dieser Version wurde der Expert Advisor für den Handel auf einem PAMM-Konto eingesetzt. Aufgrund menschlicher Einflüsse (sprich: meinerseits) betrug der Nettogewinn 20 %. Der maximale Gewinn, der erreicht werden konnte, lag bei 84 % des ursprünglichen Kapitals.
Echtzeit-Handelszeitraum: vom 23.02.2015 bis 23.07.2015.
Meinen Beobachtungen zufolge erfordert der Handel mit diesem Expert Advisor ein hohes Kapital (mindestens 15.000 - 20.000 Euro).
Für den Handel werden die Werte des Moving Average-Indikators verwendet. Wenn die schnelle Moving Average-Linie über der langsamen Moving Average-Linie liegt und der Abstand zwischen diesen beiden Linien größer als festgelegt ist, wird ein Kaufauftrag eröffnet.
Die gegenteiligen Werte der Indikatoren werden genutzt, um einen Verkaufsauftrag zu öffnen. Die Schließung der Aufträge erfolgt gemäß den Werten des Moving Average-Indikators.
Dieser EA verfügt zudem über zusätzliche Plugin-Module: den Abstand zwischen der schnellen und der langsamen Moving Average-Linie, Take Profit, Stop Loss, Trailing Stop, den Abstand zwischen den Aufträgen (nach oben und unten), die Methode zur Durchschnittsbildung des Take Profit, Handelszeit, Turn und die Erhöhung der ersten Hauptlotgröße, falls der vorherige Auftrag mit Verlust geschlossen wurde.
Der Algorithmus des EAs:
- Der EA prüft, ob bereits Aufträge eröffnet wurden.
- Wenn keine offenen Aufträge vorhanden sind, analysiert der EA das Chart und eröffnet den ersten Hauptauftrag, sofern alle im Einstellungsfeld festgelegten Bedingungen erfüllt sind.
- Nach der Eröffnung des ersten Hauptauftrags legt der EA die Take Profit- und Stop Loss-Niveaus fest (sofern diese Module aktiviert sind).
- Wenn der erste Hauptauftrag mit Verlust schließt, kann der nächste Auftrag mit einer größeren Lotgröße eröffnet werden.
- Wurde der erste Hauptauftrag platziert und sind die Module Step Up und Step Down aktiviert, werden zusätzliche Aufträge platziert, sobald der Preis die festgelegten Werte erreicht. Zusätzliche Aufträge für die Step Up und Step Down-Module können nur platziert werden, wenn der EA zuvor den ersten Hauptauftrag eröffnet hat oder es noch offene zusätzliche Aufträge gibt.
- Dieser Expert Advisor hat zwei Betriebsmodi:
- a) Im ersten Betriebsmodus platziert der EA Kaufaufträge, wenn die schnelle MA über der langsamen MA liegt. Ändert sich der Trend (die schnelle MA liegt unter der langsamen MA), werden alle offenen Aufträge geschlossen und Verkaufsaufträge platziert.
- b) Im zweiten Betriebsmodus bleiben die geöffneten Kaufaufträge erhalten, wenn sich der Trend ändert. Der EA kann nur Verkaufsaufträge platzieren, wenn die schnelle MA unter der langsamen MA liegt und alle Aufträge des EAs geschlossen sind (Take Profit, Stop Loss erreicht oder manuell geschlossen).
- Dieser Expert Advisor hat ein Handelszeit-Modul, das, wenn aktiviert, es dem EA erlaubt, den ersten Hauptauftrag nur zu dem im Modul festgelegten Zeitpunkt zu platzieren. Dieses Modul gilt nicht für zusätzliche Aufträge der Step Up, Step Down und Turn-Module. Das bedeutet, wenn bereits Aufträge vom EA eröffnet wurden und eines der Step Up, Step Down oder Turn-Module aktiviert ist, werden zusätzliche Aufträge für diese Module unabhängig von der Zeit platziert.
Einstellungen des Expert Advisors:
Betriebsmodus:
- 1 — Wenn sich der Trend ändert, werden alle offenen Aufträge geschlossen und die gegenteiligen Aufträge eröffnet;
- 2 — Wenn sich der Trend ändert, werden die geöffneten Aufträge nicht geschlossen (der EA wartet, bis Take Profit, Stop Loss erreicht sind oder manuell geschlossen werden).
Schnelle MA — Einstellungen für das Moving Average-Indikator-Plugin: Periode, Offset, MA-Methode. Der im MetaTrader 4 integrierte Moving Average wird verwendet.
Langsame MA — Einstellungen für das Moving Average-Indikator-Plugin: Periode, Offset, MA-Methode. Der im MetaTrader 4 integrierte Moving Average wird verwendet.
Anfängliche Lotgröße
4.1. Anfängliche Lotgröße
- LotConst_or_not — ermöglicht es dem Benutzer zu wählen, ob mit der gleichen Lotgröße begonnen werden soll oder die anfängliche Lotgröße je nach Kontowechsel neu berechnet wird:
true — die erste Lotgröße bleibt konstant und entspricht dem unten angegebenen Wert;
false — die erste Lotgröße ändert sich dynamisch je nach Kontowechsel und hängt vom RiskPercent-Parameter und der Kontogröße ab. Lots =AccountBalance() * (RiskPercent / 100.0) / 10000.0 - Lots — legt die anfängliche Lotgröße für den Handel fest;
RiskPercent — legt die anfängliche Lotgröße abhängig von der Kontogröße fest.
4.2. Erhöhung der Lotgröße
- FirstLotMultiplicator — Parameter, der das Erhöhungsverhältnis jeder folgenden ersten Hauptorder festlegt, falls die vorherige erste Hauptorder mit Verlust geschlossen wurde (geschlossen durch Stop Loss, manuell oder einfach mit Verlust);
- First_LotSize — wenn die erste Hauptorder einen in dieser Zeile angegebenen Wert erreicht, platziert der EA Take Profit auf dem in der folgenden Zeile festgelegten Niveau (First_LotSize_TakeProfit), jedoch nicht in Punkt 5 der EA-Einstellungen;
- First_LotSize_TakeProfit — ein "neues" Take Profit-Niveau der ersten Hauptorder, falls sie die in der First_LotSize-Zeile festgelegte Größe erreicht;
- First_MaxLotSize — der maximale Wert, bis zu dem der EA die erste Hauptorder erhöhen wird. Falls die Größe der ersten Hauptorder, die platziert werden soll, größer ist als der in dieser Zeile angegebene Wert, wird der EA die erste Hauptorder gemäß Punkt 3.1. der EA-Einstellungen platzieren.
- LotConst_or_not — ermöglicht es dem Benutzer zu wählen, ob mit der gleichen Lotgröße begonnen werden soll oder die anfängliche Lotgröße je nach Kontowechsel neu berechnet wird:
Einstellungen des Abstands zwischen der schnellen MA und der langsamen MA
- Abstand — der erforderliche Abstand zwischen der schnellen MA und der langsamen MA, um einen Auftrag zu eröffnen, gemessen in Punkten des Charts, an dem der EA angehängt ist.
true — das Abstand-Modul ist aktiviert (ein),
false — das Abstand-Modul ist deaktiviert (aus).
- Abstand — der erforderliche Abstand zwischen der schnellen MA und der langsamen MA, um einen Auftrag zu eröffnen, gemessen in Punkten des Charts, an dem der EA angehängt ist.
Gewinn in Punkten — TP
- TakeProfit — der gewünschte Gewinnwert in Punkten beim Schließen eines Auftrags oder einer Gruppe von Aufträgen.
true — das TakeProfit-Modul ist aktiviert (ein),
false — das TakeProfit-Modul ist deaktiviert (aus).
- TakeProfit — der gewünschte Gewinnwert in Punkten beim Schließen eines Auftrags oder einer Gruppe von Aufträgen.
Durchschnittsmethode — Variante — eine Variante der Durchschnittsbildung des TakeProfit-Niveaus (auswählbar zwischen 1 oder 2).
- Variante 1. Die Durchschnittsbildung des Niveaus erfolgt nach dieser Formel: (Eröffnungspreis 1 + Eröffnungspreis 2 + Eröffnungspreis 3 + Eröffnungspreis N) / N + Take Profit-Niveau, das in den EA-Einstellungen festgelegt ist.
- Variante 2. Die Durchschnittsbildung des Niveaus erfolgt wie folgt: Der EA bestimmt das "verlustfreie Niveau" jeder Position (unter Berücksichtigung jedes Swaps und der Kosten von Aufträgen, die zum Zeitpunkt der Durchschnittsbildung des Take Profit-Niveaus vom EA eröffnet wurden) und addiert das in den EA-Einstellungen angegebene Take Profit-Niveau zu diesem Preis.
Stop in Punkten — SL
- StopLoss — Wert des Verlusts in Punkten, der auftreten kann, wenn sich der Preis in die entgegengesetzte Richtung (zum eröffneten Auftrag) bewegt.
true — das StopLoss-Modul ist aktiviert (ein),
false — das StopLoss-Modul ist deaktiviert (aus).
- StopLoss — Wert des Verlusts in Punkten, der auftreten kann, wenn sich der Preis in die entgegengesetzte Richtung (zum eröffneten Auftrag) bewegt.
Der Abstand zwischen den Aufträgen (Step Up) — der Abstand (Intervall) zwischen eröffneten Aufträgen im Ordergitter, das entlang des "Trends" festgelegt ist.
true — das Step Up-Modul ist aktiviert (ein),
false — das Step Up-Modul ist deaktiviert (aus).9.1. Trailing Stop — bewegliches Stop Loss-Niveau.
true — das Trailing Stop-Modul ist aktiviert (ein),
false — das Trailing Stop-Modul ist deaktiviert (aus).Abstand zwischen den Aufträgen (Step Down) — der Abstand (Intervall) zwischen eröffneten Aufträgen im Ordergitter, das gegen den "Trend" festgelegt ist.
true — das Step Down-Modul ist aktiviert (ein),
false — das Step Down-Modul ist deaktiviert (aus).Der Identifikator der EA-Aufträge — Magic (Magic Number) — der Parameter hilft EAs, ihre Aufträge beim Handel in einem Terminal zu erkennen.
Logo und Datenanzeige — ShowTableOnTesting — der Parameter erlaubt es, die Tabelle (Gewinne heute, gestern etc.) ein- und auszuschalten: true - ein, false - aus.
Zeitrahmen — Programmcode, der bestimmt, welcher Chart-Zeitrahmen vom EA für den Handel verwendet wird.
- Aktuell — der im Terminal angegebene Chart-Zeitrahmen.
- M1, M5, M15, M30, H1, H4, D1, W1, MN1 — feste Zeitrahmen.
Handelszeit — Modul für die Eröffnung des ersten Hauptauftrags zu einer bestimmten Zeit.
true — das Handelszeit-Modul ist aktiviert (ein),
false — das Handelszeit-Modul ist deaktiviert (aus).Turn — platziert Limitaufträge entsprechend dem Stop Loss-Niveau der ersten Hauptorder in Gegenrichtung.
true — das Turn-Modul ist aktiviert (ein),
false — das Turn-Modul ist deaktiviert (aus).- Turn — der Abstand, bei dem der gegenteilige Pending Auftrag platziert wird.
- LotMultiplicator — der Parameter, der das Erhöhungsverhältnis der vom Turn-Modul platzierten Aufträge festlegt, falls die vorherige Order mit Verlust geschlossen wurde (geschlossen durch Stop Loss, manuell oder einfach mit Verlust);
- Turn_TakeProfit — das Take Profit-Niveau für von dem Turn-Modul platzierte Aufträge;
- Turn_LotSize — wenn der Auftrag, der vom Turn-Modul platziert werden soll, den in dieser Zeile festgelegten Wert überschreitet, wird für diesen Auftrag ein neues Take Profit-Niveau verwendet, das in der nächsten Zeile vom Turn-Modul angegeben wird, jedoch nicht in der Turn_TakeProfit-Zeile;
- Turn_LotSize_TakeProfit — ein neues Take Profit-Niveau für die Aufträge des Turn-Moduls, falls die zu platzierenden Aufträge die in der Turn_LotSize-Zeile festgelegte Größe überschreiten;
- Turn_MaxLotSize — die maximale Größe eines Auftrags, der vom Turn-Modul platziert werden kann. Wenn der zu platzierende Auftrag die festgelegte Größe überschreitet, platziert der EA ihn nicht.
Handelsergebnisse:

In dieser Version wurde der Expert Advisor für den Handel auf einem PAMM-Konto eingesetzt. Echtzeit-Handelszeitraum: vom 23.02.2015 bis 23.07.2015.
Der maximale Gewinn, der erreicht werden konnte, lag bei 84 % des ursprünglichen Kapitals. Allerdings war der Nettogewinn aufgrund meiner Eingriffe nur 20 %. Der Grund war, dass ich in den Handel des EAs eingegriffen habe.
Die von mir durchgeführten EA-Testläufe zeigten eine Nettogewinnrendite von 5 %, 10 %, 15 % pro Monat mit einem maximalen Drawdown von nicht mehr als 20 % des Kapitals.
P.S. Die angehängten Einstellungen arbeiteten nur auf dem Konto, auf dem ich gehandelt habe. Individuelle EA-Einstellungen sind erforderlich für jeden DC/Broker und jedes Konto (Demo oder Real).
Übertreiben Sie es nicht mit der Optimierung, denn das hilft nicht immer und kann die Geschwindigkeit der Auftragsausführung bei sehr schnellen Bewegungen außer Acht lassen.