Diskussion zum Artikel "Die Wiederaufnahme einer alten Trendhandelsstrategie: Zwei Stochastik-Oszillatoren, ein MA und Fibonacci"

 

Neuer Artikel Die Wiederaufnahme einer alten Trendhandelsstrategie: Zwei Stochastik-Oszillatoren, ein MA und Fibonacci :

Eine alte Handelsstrategie. In diesem Artikel wird eine der Strategien vorgestellt, mit denen sich der Trend auf rein technische Weise verfolgen lässt. Die Strategie ist rein technisch und verwendet einige technische Indikatoren und Werkzeuge, um Signale und Ziele zu liefern. Die Komponenten der Strategie sind wie folgt: Ein stochastischer Oszillator mit 14 Perioden. Ein 5-Perioden-Stochastik-Oszillator. Ein gleitender 200-Perioden-Durchschnitt. Ein Werkzeug zur Fibonacci-Projektion (für die Festlegung von Zielen).

Die Handelsregeln der Strategie lauten wie folgt:

  • Ein Kaufsignal wird generiert, wenn beide Stochastik-Oszillatoren gleichzeitig das überverkaufte Niveau erreichen, abprallen und dann wieder auf dieses Niveau zurückkehren (ungefähr zur gleichen Zeit). Der gesamte Prozess muss durchgeführt werden, solange der Markt über dem gleitenden 200-Perioden-Durchschnitt liegt. Das erste Ziel wird mit Hilfe der Fibonacci-Projektion festgelegt, die vom Tiefpunkt des ersten Tiefpunkts der stochastischen Oszillatoren und dem Tiefpunkt des zweiten Tiefpunkts ausgeht. Das erste Ziel ist also die 61,8%-Projektion und das zweite Ziel die 100,0%-Projektion.
  • Ein Verkaufssignal wird generiert, wenn beide Stochastik-Oszillatoren gleichzeitig das überkaufte Niveau erreichen, abprallen und dann wieder auf dieses Niveau zurückkehren (ungefähr zur gleichen Zeit). Der gesamte Prozess muss durchgeführt werden, während der Markt unter dem gleitenden 200-Perioden-Durchschnitt liegt. Das erste Ziel wird mit Hilfe der Fibonacci-Projektion festgelegt, die vom Höchststand des ersten Zeitpunkts, an dem die stochastischen Oszillatoren ihren Höchststand erreichten, und vom Höchststand des zweiten Zeitpunkts, an dem sie ihren Höchststand erreichten, ausgeht. Das erste Ziel ist also die 61,8%-Projektion und das zweite Ziel die 100,0%-Projektion.

(Ich habe die Strategie dahingehend geändert, dass die Stopp-Levels in jedem Fibonacci-Level liegen)

Die folgende Abbildung zeigt ein rückläufiges Signal:

abwärts


Letztendlich können die Ergebnisse von Markt zu Markt variieren und die aktuellen Ergebnisse sind möglicherweise nicht stabil. Strategien funktionieren in bestimmten Zeiträumen, können aber in anderen unterdurchschnittlich abschneiden.

Autor: Javier Santiago Gaston De Iriarte Cabrera

 

Das ist wahrscheinlich der Artikel, den ich mit dem schlechtesten Code gelesen habe, den ich je gesehen habe, nichts für ungut, nur Fakten. Verwenden Sie nicht, dass jemals auf ein Live-Konto.

   int Highest = iHighest(Symbol(),my_timeframe,MODE_REAL_VOLUME,WHOLE_ARRAY,1);

Was glauben Sie, was das bewirkt?

Für die meisten Symbole gibt es keine echten Volumendaten, außer für Futures und Aktien. Auf dem Forex wird dies immer 1 zurückgeben. Der Höchstwert ist immer = 1.

Dann verwenden Sie diesen Index (Höchstwert aus dem realen Volumen), um einen Höchstwert zu erhalten:

   double highestValue = iHigh(Symbol(),my_timeframe,Highest);

Sie vermischen hier Dinge, die nicht vermischt werden sollten (es sei denn, Sie wissen, was Sie tun). Wie hängt ein "High"-Preiswert mit einem realen Volumen zusammen?

Auf jeden Fall wird er immer dasselbe ergeben wie High[1], und das ist offenbar das, was Sie erreichen wollten. Aber warum erhalten Sie es dann nicht direkt, ohne diesen Umweg über iHighest und das reale Volumen?

Ich werde nicht weiter darauf eingehen. Sie sagten:

Das Ziel dieses Artikels ist es, den Leuten zu helfen, zu verstehen, wie man in MQL5 programmiert.

Wenn jemand verstehen will, wie man in MQL5 programmiert, würde ich empfehlen, diesen Artikel um jeden Preis zu vermeiden.

 
Alain Verleyen #:

Das ist wahrscheinlich der Artikel, den ich mit dem schlechtesten Code gelesen habe, den ich je gesehen habe, nichts für ungut, nur Fakten. Verwenden Sie nicht, dass jemals auf ein Live-Konto.

Was denken Sie, dass dies tut?

Für die meisten Symbole gibt es keine echten Volumendaten, außer für Futures und Aktien. Auf dem Forex wird dies immer 1 zurückgeben. Der Höchstwert ist immer = 1.

Dann verwenden Sie diesen Index (Höchstwert aus dem realen Volumen), um einen Höchstwert zu erhalten:

Sie vermischen Dinge, die nicht vermischt werden sollten (es sei denn, Sie wissen, was Sie tun). Wie hängt ein "High"-Preiswert mit einem realen Volumen zusammen?

Auf jeden Fall wird er immer dasselbe ergeben wie High[1], und das ist offenbar das, was Sie erreichen wollten. Aber warum erhalten Sie es dann nicht direkt, ohne diese Umwege über iHighest und das reale Volumen?

Ich werde nicht weiter darauf eingehen. Sie sagten:

Das Ziel dieses Artikels ist es, Menschen zu helfen, zu verstehen, wie man in MQL5 programmiert

Wenn jemand verstehen will, wie man in MQL5 programmiert, würde ich empfehlen, diesen Artikel um jeden Preis zu vermeiden.


Ich erkläre die Strategie, das ist mein Ziel. Sie können Ihr eigenes Programm programmieren. Das ist nur ein Beispiel. Ich bin in der Situation, Ergebnisse zeigen zu müssen, deshalb lade ich einen einfachen EA hoch. Das eigentliche Ziel ist es, die Strategie zu zeigen.

Ja, Sie haben Recht, dies ist nicht nützlich, um das Programmieren zu lernen, sondern nur, um eine Strategie zu zeigen.

 

Ich stimme mit Alain überein, der schlechteste Programmierer, den ich je gesehen habe. Hier ist die Lösung, falls das helfen könnte: (Ersetzen Sie den ersten Teil der Funktion OnTick())

MqlTick tick;
SymbolInfoTick(_Symbol,tick);

int highest_index = iHighest(NULL,0,MODE_CLOSE,100,0);
int lowest_index = iLowest(NULL,0,MODE_CLOSE,100,0); 

if(highest_index == -1 || lowest_index == -1) { 
   PrintFormat("iHighest()/iLowest() call error. Error code=%d",GetLastError());
   return;
 }

double previousHigh = iHigh(NULL, PERIOD_CURRENT, highest_index);
double previousLow = iLow(NULL, PERIOD_CURRENT, lowest_index);
double currentHigh = iHigh(NULL, PERIOD_CURRENT, 1);
double currentLow = iLow(NULL, PERIOD_CURRENT, 1);
 

Die Erklärung ist klar, aber der Code hat eine Menge unnötiger Erklärungen und Zeilen.

Ich sehe nicht, wo die MA-Bedingung verglichen wird und die Stochastik-Bedingung mit der MA-Trendanzeige konvergiert.

Bitte weisen Sie darauf hin, vielleicht kann der Code geändert und vereinfacht werden.

Ich habe den EA ausgeführt, leider führt er keine Trades aus.