Startseite Systemhandel Beitrag

VR-Moving: Der Expertenratgeber für MetaTrader 5

Anhang
20610.zip (8.81 KB, Herunterladen 0 mal)

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:

  • Symbol - Name des Symbols, auf dem der EA arbeiten wird;
  • Magic - einzigartige Identifikationsnummer für den EA;
  • Slippage - Slippage.
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:

  • count_buys - Anzahl der KAUF-Positionen;
  • price_highest_buy - Preis der höchsten KAUF-Position;
  • price_lowest_buy - Preis der niedrigsten KAUF-Position;
  • lot_highest_buy - Volumen der höchsten KAUF-Position;
  • lot_lowest_buy - Volumen der niedrigsten KAUF-Position;
  • total_lots_buy - Gesamtvolumen der KAUF-Positionen;
  • count_sells - Anzahl der VERKAUF-Positionen;
  • price_lowest_sell - Preis der niedrigsten VERKAUF-Position;
  • price_highest_sell - Preis der höchsten VERKAUF-Position;
  • lot_lowest_sell - Volumen der niedrigsten VERKAUF-Position;
  • lot_highest_sell - Volumen der höchsten VERKAUF-Position;
  • total_lots_sell - Gesamtvolumen der VERKAUF-Positionen.
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."

VR---MUVING

Verwandte Beiträge

Kommentar (0)