Freeman: Dein Experte für MetaTrader 5 Strategien

Mike 2018.10.26 03:27 8 0 0
Anhang

Der Ideengeber - vgs

mq5 Code Autor - barabashkakvn

HINWEIS: Nur für Hedge-Konten! Netting ist verboten!

Stop Loss und Take Profit werden dynamisch berechnet, basierend auf dem iATR (Average True Range) Indikator. Der Indikatorwert auf Bar #0 wird mit dem Stop Loss und Take Profit Verhältnis multipliziert.

Sollten mehrere Positionen offen sein und kein Order zum Absichern vorhanden sein, prüfen wir die Möglichkeit zum Averaging:

  • Wenn eine BUY-Position besteht und der aktuelle Ask-Preis unter den Eröffnungspreis fällt, mindestens um Distance, eröffne eine weitere BUY-Position.
  • Wenn eine SELL-Position besteht und der aktuelle Bid-Preis über den Eröffnungspreis steigt, mindestens um Distance, eröffne eine weitere SELL-Position.

Distance wird auf Standardwerte für vierstellige Paare reduziert.

Das Volumen der eröffneten Position kann entweder konstant oder dynamisch berechnet werden:

  • Fixes Positionsvolumen - der Lots-Parameter ist größer als 0,0, während Risk gleich 0,0 ist; der Lots-Parameter legt das Positionsvolumen (Lots) fest.
  • Dynamisches Positionsvolumen - der Lots-Parameter ist 0,0, während Risk größer als 0,0 ist; Risk bestimmt das Risiko pro Trade.

Trailing funktioniert als Stop Loss-Beweger zum Break-even (während der ersten Positionsmodifikation) und als Trailing (für nachfolgende Modifikationen). Trailing Stop ist der Mindestabstand vom Preis zum Stop Loss nach der Modifikation, Trailing Step ist der Trailing-Schritt. Beide Parameter werden auf Standardwerte für vierstellige Paare reduziert.

Der Bars Control-Parameter definiert den Betrieb des EAs: nur beim Eintreffen eines neuen Bars ("true") oder innerhalb eines Bars ("false").

Handelssignale bilden

Allgemeiner Parameter für Handelssignale: Current Bar ist der aktuelle Bar.

Trendfilter

Der Trendfilter vergleicht den iMA (Moving Average) Wert des aktuellen Bars (Current Bar) mit dem Wert des vorherigen Bars (Current Bar - 1)

Minimaler Abstand zwischen Preis und MA-Indikator. Für das Öffnen einer BUY-Position sollte MA unter dem Preis liegen, während MA für das Öffnen einer SELL-Position über dem Preis liegen sollte.

RSI-Filter

Der RSI-Filter basiert auf dem Vergleich des iRSI (Relative Strength Index) Indikatorwertes auf dem aktuellen Bar (Current Bar) mit den RSI-Level UP und RSI-Level DOWN. Für ein SELL-Signal sollte der RSI den RSI-Level UP überschreiten, während er für ein BUY-Signal unter dem RSI-Level DOWN liegen sollte.

Absicherung

Wenn eine Position offen ist und der zuletzt geschlossene Preis derselben Richtung mit einem Verlust geschlossen wurde, ist dies eine Voraussetzung für das Absichern. Lass uns das prüfen:

  • Wenn eine BUY-Position besteht und die vorherige BUY mit einem Verlust geschlossen wurde, während der aktuelle Ask-Preis mindestens um Distance von dieser BUY-Position entfernt ist, eröffne eine weitere BUY-Position. Es spielt keine Rolle, ob sie höher oder niedriger ist - der Wert der Distanz wird absolut genommen.
  • Wenn eine SELL-Position besteht und die vorherige SELL mit einem Verlust geschlossen wurde, während der aktuelle Bid-Preis mindestens um Distance von dieser SELL-Position entfernt ist, eröffne eine weitere SELL-Position. Auch hier spielt es keine Rolle, ob sie höher oder niedriger ist - der Wert der Distanz wird absolut genommen.

Die Erkennung des Schließmoments der Position erfolgt in OnTradeTransaction.

EURUSD, M15:

freeman

Liste
Kommentar 0