Idee von: Vladimir Pastushak.
MQL5-Code von: Vladimir Karputov.
Der EA nutzt den Indikator Moving Average und implementiert alle vorbereitenden und Handelsfunktionen als CMoving-Handelsklasse in einer separaten Datei namens Moving.mqh.
Einstellungen
- Magic Number - die eindeutige Kennung des EAs;
- Lots - Positionsgröße (die Positionsgröße muss größer als Null sein, oder die Risikogröße muss größer als Null sein);
- Risiko - Risiko in Prozent des freien Margins pro Trade (die Positionsgröße muss größer als Null sein, oder die Risikogröße muss größer als Null sein);
- MA: Zeitraum - Indikator Moving Average: Zeitrahmen;
- MA: Glättungsperiode - Indikator Moving Average: Glättungsperiode;
- MA: Horizontale Verschiebung - Indikator Moving Average: Horizontale Verschiebung;
- MA: Glättungstyp - Indikator Moving Average: Glättungsmethode;
- MA: Preisart - Indikator Moving Average: Preistyp, auf dem der Indikator berechnet wird;
- Take Profit - Take Profit (für den Fall, dass eine Position geöffnet ist);
- Lotmultiplikator für eine Positionsreihe - Erhöhung des Volumens einer Position für eine Reihe von Positionen;
- Abstand vom Moving Average - Abstand vom Indikator Moving Average;
- Additiv bei vorhandenem Gesamtgewinn - Hinzufügen zur Indent, wenn ein Gesamtgewinn vorliegt.
Der EA arbeitet nach dem Swing-Prinzip und bietet die Möglichkeit, die Anzahl der Lots zu erhöhen. Eine einfache Strategie wird dafür verwendet:
- Wenn der Preis über dem Indikator Moving Average liegt, öffnen wir eine KAUF-Position bei einem vordefinierten Abstand vom Moving Average;
- Wenn der Preis unter den Indikator Moving Average fällt, öffnen wir eine VERKAUF-Position mit demselben Lot;
- Wenn der Preis von der KAUF-Position mit dem höchsten Preis bei einem vordefinierten Abstand vom Moving Average gestiegen ist, öffnen wir die nächste KAUF-Position;
- Wenn der Preis von der KAUF-Position mit dem niedrigsten Preis bei einem vordefinierten Abstand vom Moving Average gefallen ist, öffnen wir die nächste VERKAUF-Position.
Klasse CMoving
| Setzparameter | |
Initialisierung |
Primäre Initialisierung - folgende Parameter werden gesetzt:
|
GetFlag |
Gibt den Status des Initialisierungsflags zurück. Wird als Hilfsfunktion verwendet, um den Status der internen m_init-Variablen der Klasse CMoving zu überprüfen. |
LotsOrRisk |
Bestimmung des Typs der Positionslot-Berechnungen: Entweder manuell (der lots-Parameter ist größer als Null) oder in Prozent des freien Margins pro Trade (der risk-Parameter ist größer als Null). |
CreateMA |
Erstellung des Moving Average Indikators. |
TakeProfit |
Bestimmung des Take Profit Parameters. |
Multiplier |
Bestimmung des Parameters zur Erhöhung der Lots. |
DistanceMA |
Bestimmung des Abstands vom Moving Average Indikator. |
ProfitPlus |
Bestimmung des zusätzlichen Abstands bei Gesamtgewinn. |
| Hauptfunktion | |
Processing |
Hauptfunktion, in der alle Berechnungen durchgeführt werden. |
| Klassenfunktionen mit dem geschützten Zugriffsmodifikator | |
RefreshRates |
Aktualisierung der Kurse für das Symbol. |
CheckVolumeValue |
Überprüfung der Korrektheit des eingegebenen Positionsvolumens (die Überprüfung wird bei der manuellen Definition des Positionsvolumens verwendet). |
IsFillingTypeAllowed |
Überprüfung des Orderfüllmodus. |
iMAGet |
Erhalt der Werte des Moving Average Indikators auf der Kerze mit dem Index index. |
CalculateAllPositions |
Erhalt der Informationen zu Positionen pro Aufruf:
|
Prices |
Erhalt der Referenzpreise für KAUF- und VERKAUF-Positionen unter Berücksichtigung des vordefinierten Abstands vom Moving Average. |
LotCheck |
Überprüfung und Normalisierung des Positionsvolumens (wird bei der manuellen Definition der Positionsgröße verwendet). |
OpenBuy |
Öffnen einer KAUF-Position. |
OpenSell |
Öffnen einer VERKAUF-Position. |
PrintResult |
Ausgabe der Ergebnisse einer Handelsoperation zum Öffnen einer Position. |
SetTakeProfit |
Festlegung des Take Profit-Niveaus für Positionen oder Entfernen aller Take Profit- und Stop Loss-Niveaus (wenn der delete_take_profit-Parameter auf "true" gesetzt ist). |
CompareDoubles |
Vergleich von zwei reellen Zahlen auf Gleichheit. |
AverangeTakeProfit |
Berechnung und Festlegung des einzelnen Take Profit-Niveaus für eine Position eines bestimmten Typs pos_type. |
GBPUSD, H1, "Jeder Tick basiert auf realen Ticks."

Verwandte Beiträge
- Handelssignale mit MQL5 Wizard: Bullish und Bearish Harami mit CCI bestätigen
- MQL5 Wizard: Trade Signale auf Basis von Kurs-Crossover mit gleitendem Durchschnitt und ADX Bestätigung
- MQL5 Wizard: Handels-Signale mit 3 schwarzen Krähen / 3 weißen Soldaten + CCI für MetaTrader 5
- MQL5 Wizard: Handelssignale durch 3 Schwarze Krähen/3 Weiße Soldaten + RSI
- MQL5 Wizard: Handelssignale mit 3 schwarzen Krähen/3 weißen Soldaten und Stochastik erstellen