English 日本語
preview
Entwicklung einer Handelsstrategie: Ansatz der Pseudo-Pearson-Korrelation

Entwicklung einer Handelsstrategie: Ansatz der Pseudo-Pearson-Korrelation

MetaTrader 5Handel |
23 1
Daniel Opoku
Daniel Opoku

Einführung

Die Generierung neuer Indikatoren aus vorhandenen Indikatoren bietet eine leistungsstarke Möglichkeit zur Verbesserung der Handelsanalyse. Durch die Definition einer mathematischen Funktion, die die Ergebnisse bestehender Indikatoren integriert, können Händler hybride Indikatoren erstellen, die mehrere Signale in einem einzigen, effizienten Instrument zusammenfassen. Diese Methode reduziert die Unübersichtlichkeit des Charts, vereinfacht die Interpretation und nutzt die individuellen Stärken jedes einzelnen Indikators, um die Entscheidungsfindung zu verbessern.

Der Ansatz der technischen Analyse besteht darin, mehrere Indikatoren gleichzeitig zu beobachten, von denen jeder ein einzigartiges Signal liefert. Dies kann jedoch dazu führen, dass das Horoskop unübersichtlich wird, die Interpretation schwieriger wird und manchmal widersprüchliche Signale auftreten. Die hier vorgeschlagene Lösung besteht darin, die Signale ausgewählter Indikatoren mathematisch zu einem einzigen, neuen Oszillator zu kombinieren.

In diesem Artikel wird ein neuer Indikator vorgestellt, der aus drei Oszillatoren besteht und eine modifizierte Version der Pearson-Korrelationsfunktion verwendet, die wir Pseudo-Pearson-Korrelation (PPC) nennen. Der PPC-Indikator zielt darauf ab, die dynamische Beziehung zwischen Oszillatoren zu quantifizieren und sie in einer praktischen Handelsstrategie anzuwenden.


Konzept Übersicht

Der Pearson-Korrelationskoeffizient (r) ist ein bekanntes statistisches Maß, das die Stärke und Richtung einer linearen Beziehung zwischen zwei Variablen, X und Y, quantifiziert und wie folgt definiert ist

Gleichung von Pearson

  • x_i und y_i stellen einzelne Stichprobenpunkte dar,
  • x_bar und y_bar bezeichnen die Mittelwerte von x bzw. y.

Der Korrelationskoeffizient r liegt zwischen -1 und +1, wobei:

  • r = +1 bedeutet eine perfekte positive lineare Korrelation.
  • r= -1 steht für eine perfekte negative lineare Korrelation.
  • r= 0 deutet auf keine lineare Korrelation hin.

Diese Formel misst im Wesentlichen den Abstand jedes Datenpunktes von seinem Mittelwert, standardisiert durch die Quadratwurzel der Summe der quadrierten Abstände.


Die modifizierte Funktion: Pseudo-Pearson-Korrelation (PPC)

Bei der vorgeschlagenen Methode wird die ursprüngliche Pearson-Korrelationsformel geändert, indem die Mittelwerte x und y durch eine dritte Variable z ersetzt werden. Anstatt die Abweichungen vom Mittelwert zu messen, wird also das Verhältnis zwischen x und y relativ zu z gemessen.

Die modifizierte Formel für die Pseudo-Pearson-Korrelation (r′) wird daher wie folgt ausgedrückt:

PpcEqn

Hier ist z eine weitere Variable (nicht der Mittelwert von x und y), wodurch die Korrelation „pseudo“ wird.

Obwohl die Formelstruktur der ursprünglichen Pearson-Korrelation ähnelt, misst sie eine Interaktion zwischen drei Variablen und nicht eine Beziehung zwischen zwei Variablen. Das Ergebnis, 𝑟′, bleibt innerhalb des Bereichs von -1 bis +1 begrenzt, was wie folgt interpretiert wird:

r'-Werte Interpretation
1 Perfekte positive Korrelation 
0.7 – 0.9 Starke positive Korrelation
0.4 – 0.6 Mäßige positive Korrelation
0.1 – 0.3 Schwache positive Korrelation
0 Keine Korrelation
-0,1 bis -0,3 Schwache negative Korrelation
-0,4 bis -0,6 Mäßige negative Korrelation
-0,7 bis -0,9 Starke negative Korrelation
 -1 Perfekte negative Korrelation 

Der positive Wertr' bedeutet, dass x und y in der gleichen Richtung relativ zu z liegen, während der negative Wert besagt, dass x und y in entgegengesetzter Richtung relativ zu z liegen.


Anwendung: Pseudo-Pearson-Korrelations-Oszillator und seine Handelsstrategie

In diesem Abschnitt wird der PPC angewandt, um einen neuen Oszillator zu konstruieren und eine entsprechende Handelsstrategie zu formulieren. 

  • Pseudo-Pearson-Korrelations-Oszillator

Der Ansatz kombiniert drei bekannte technische Indikatoren – den Relative Strength Index (RSI), den Money Flow Index (MFI) und den DeMarker (DEM) – als Eingabevariablen für die PPC-Formel. Jeder dieser Oszillatoren hat einen normalisierten Bereich zwischen 0 und 1, was sie ideal für vergleichende Korrelationsanalysen macht.

Der RSI misst die Geschwindigkeit und das Ausmaß der jüngsten Kursveränderungen, um festzustellen, ob ein Vermögenswert überkauft oder überverkauft ist. Er ist ein reiner Kursmomentum-Indikator. Er vergleicht die durchschnittlichen Gewinne der Schlusskurse mit den durchschnittlichen Verlusten über einen bestimmten Rückblickszeitraum.

Der MFI wird oft als „volumengewichteter RSI“ bezeichnet. Sie enthält sowohl Preis- als auch Volumendaten. Anstatt nur die Schlusskurse wie der RSI zu verwenden, verwendet der MFI den typischen Preis (Durchschnitt aus Höchst-, Tiefst- und Schlusskurs) und multipliziert ihn mit dem Volumen, um den Geldfluss zu erzeugen. Damit wird der Kauf- und Verkaufsdruck gemessen. 

Der DEM Indikator konzentriert sich speziell auf den Vergleich des aktuellen Preises mit dem Preis der Vorperiode, um den Kauf- und Verkaufsdruck zu messen. Er berechnet die Höhe des Hochs (oder Tiefs) des aktuellen Zeitraums im Verhältnis zum Hoch (oder Tief) des vorherigen Zeitraums. Ziel ist es, festzustellen, wann die Käufer nicht in der Lage sind, den Preis auf ein neues Hoch zu treiben (potenzielle Erschöpfung) oder wann die Verkäufer nicht in der Lage sind, den Preis auf ein neues Tief zu treiben. 

Indem wir ihre Ergebnisse in die PPC-Funktion integrieren, können wir quantifizieren, wie eng sich zwei Indikatoren (DEM und MFI) im Verhältnis zu einem dritten (RSI) bewegen, der als Basiswert dient. 

Ersetzt man die PPC-Variablen x, y, z durch DEM, MFI bzw. RSI, so ergibt sich die Formel:

drmf

Diese Gleichung definiert den Pseudo-Pearson-Korrelationsoszillator, der die dynamische Beziehung zwischen DEM und MFI in Bezug auf die RSI-Basislinie erfasst.

Der PPC-Oszillator kann wie folgt interpretiert werden:

  • +1 → DEM und MFI bewegen sich gemeinsam im Verhältnis zum RSI (starke positive Korrelation).
  • -1 → DEM und MFI bewegen sich im Verhältnis zum RSI in entgegengesetzte Richtungen (starke negative Korrelation).
  • ≈ 0 → Schwacher oder kein linearer Zusammenhang zwischen DEM und MFI relativ zum RSI.

Dieser korrelationsbasierte Oszillator ist ein kompaktes und dennoch leistungsstarkes Analyseinstrument. Er fasst die Verhaltenstendenzen von drei Oszillatoren in einem einzigen zusammen, was die Chartanalyse vereinfacht und die Identifizierung von Konfluenzzonen erleichtert, in denen Preisdynamik und Marktstärke übereinstimmen oder auseinanderlaufen.

  • Die Codestruktur des PPC-Indikators:

In diesem Abschnitt befassen wir uns mit der Codestruktur des PPC-Indikators und wie er in unserer Handelsmethode verwendet werden kann. 

#property indicator_maximum 1
#property indicator_minimum -1

#property indicator_level1 -0.80
#property indicator_level2 -0.50
#property indicator_level3  0.00
#property indicator_level4  0.50
#property indicator_level5  0.80

Wir definieren die Eigenschaften des Indikators, indem wir seinen Höchstwert auf 1 und seinen Mindestwert auf -1 setzen. Die Pegel der Indikatorlinien sind auf ±0,8 und ±0,5 konfiguriert.

//---- Inputs
input int                 CorrPeriod      = 21;   
input int                 RSIPeriod       = 14;
input int                 MFIPeriod       = 14;
input int                 DeMPeriod       = 14;

Der Code ermöglicht es den Nutzern, die RSI-, MFI- und DeMarker-Perioden sowie die Anzahl der Indikatorwerte, die zur Berechnung der Korrelation verwendet werden (CorrPeriod), anzupassen.

   IndicatorSetString(INDICATOR_SHORTNAME,
      StringFormat("PPr[ Corr=%d  RSI=%d  MFI=%d  DeM=%d ]",
                   CorrPeriod, RSIPeriod, MFIPeriod, DeMPeriod));
   
   // Create indicator handles
   rsi_handle = iRSI(_Symbol, _Period, RSIPeriod, PRICE_CLOSE);
   mfi_handle = iMFI(_Symbol, _Period, MFIPeriod,VOLUME_TICK);
   dem_handle = iDeMarker(_Symbol, _Period, DeMPeriod);
   
   if(rsi_handle == INVALID_HANDLE || mfi_handle == INVALID_HANDLE || dem_handle == INVALID_HANDLE)
   {
      Print("Error creating indicator handles");
      return(INIT_FAILED);
   }

Während der Initialisierung wird der Indikator-Kurzname festgelegt, und es werden Handles für die Indikatoren RSI, MFI und DeMarker (DEM) erstellt. Darüber hinaus prüft der Code, ob jedes Handle erfolgreich erstellt wurde und ob dabei Fehler aufgetreten sind.

void OnDeinit(const int reason)
{
   if(rsi_handle != INVALID_HANDLE) IndicatorRelease(rsi_handle);
   if(mfi_handle != INVALID_HANDLE) IndicatorRelease(mfi_handle);
   if(dem_handle != INVALID_HANDLE) IndicatorRelease(dem_handle);
}

Bei der Deinitialisierung geben wir alle Indikator-Handles frei, um Systemressourcen freizugeben und eine ordnungsgemäße Speicherverwaltung zu gewährleisten.

   for(int i = pStart; i<rates_total; i++)
   {
      double sum_xy = 0.0;
      double sum_x2 = 0.0;
      double sum_y2 = 0.0;

      for(int j = 0; j < CorrPeriod; j++)
      {
         int sh = i - j;

         // Get RSI value
         double rsi = rsi_buffer[sh];

         // Get MFI value
         double mfi = mfi_buffer[sh];

         // Get DeMarker value
         double dem = dem_buffer[sh];

         // Deviations relative to RSI
         double dx = (dem - rsi);
         double dy = (mfi - rsi);

         sum_xy += dx * dy;
         sum_x2 += dx * dx;
         sum_y2 += dy * dy;
      }

      double denom = MathSqrt(sum_x2 * sum_y2);
      if(denom > 0.0)
         CorrBuffer[i] = sum_xy / denom;   //Pseudo Pearson r in [-1, +1]
      else
         CorrBuffer[i] = EMPTY_VALUE;
   }

In diesem Abschnitt des Codes wird der PPC-Wert anhand der Eingangsindikatoren DEM, MFI und RSI berechnet. Die berechneten Korrelationswerte werden dann im corrBuffer gespeichert, um sie im Chart darzustellen. Der Code behandelt Fälle, in denen der PPC-Nenner gleich Null ist, indem er einen leeren Wert zuweist, wodurch Divisionsfehler vermieden und eine stabile Leistung des Indikators gewährleistet wird.

  • Demonstration des PPC-Oszillators:

Nachdem Sie die MetaTrader 5-Version des PPC Oszillators in Ihrem Indikatoren-Ordner abgelegt und erfolgreich kompiliert haben, können Sie ihn einfach aus der Liste der nutzerdefinierten Indikatoren auswählen und Ihrem Chart zuordnen. Das folgende GIF veranschaulicht die Funktionsweise und das Verhalten des Systems in Echtzeit.

dem1

Abbildung 1: Pseudo-Pearson-Korrelation Demo 1

ppcdm2

Abbildung 2: Pseudo-Pearson-Korrelation Demo 2

Beachten Sie, dass der PPC-Indikator, ähnlich wie der Average True Range (ATR)-Indikator, nicht die Handelsrichtung anzeigt, wie es einzelne Oszillatoren wie RSI, MFI und DeMarker (DEM) tun. Stattdessen wird die Korrelation zwischen diesen Oszillatoren gemessen, d. h. ob sie konvergieren (positiv korreliert) oder divergieren (negativ korreliert).

  • Rahmen für Strategieentwicklung und -prüfung: 

Nach der Entwicklung des PPC Oszillators besteht der nächste Schritt darin, eine einfache Handelsstrategie zu entwerfen, um den Rahmen unter realen Marktbedingungen zu testen. Bei dieser Strategie wird der PPC Oscillator mit einem Moving Average (MA) Indikator kombiniert, um einen ergänzenden Handelsrahmen zu schaffen. 

Der gleitende Durchschnitt dient als Filter für die Trendrichtung und hilft Händlern zu erkennen, ob sich der Markt generell aufwärts oder abwärts bewegt. Die Grundlogik besteht darin, dass ein Kaufsignal nur dann generiert wird, wenn der kurzfristige MA über dem langfristigen liegt, was auf einen beginnenden Aufwärtstrend hindeutet, und umgekehrt für Verkaufssignale.

Andererseits fungiert der PPC-Oszillator in diesem Trendkontext als Einstiegssignalgeber. Die beiden Strategien zielen darauf ab, die unterschiedlichen Marktzustände zu nutzen, die sich aus der PPC-Anzeige ergeben.

Strategie 1: Die Strategie „Korreliertes Momentum“

Diese Strategie zielt darauf ab, in einen Handel einzusteigen, wenn die Momentum-Indikatoren (RSI, MFI, DeM) eine plötzliche, starke Ausrichtung zeigen, was auf den Beginn eines einheitlichen Momentum-Schubs in Richtung des vorherrschenden Trends hindeutet.
  • Kaufsignal: Wird ausgelöst, wenn der PPC-Wert den Schwellenwert von +0,5 nach oben durchbricht, was einen Wechsel in einen stark positiv korrelierten Momentum-Zustand anzeigt, und dies innerhalb eines Aufwärtstrends des MA geschieht.
  • Verkaufssignal: Wird ausgelöst, wenn der PPC-Wert den Schwellenwert von +0,5 nach oben durchbricht, was jedoch während eines Abwärtstrends des MA geschieht. Dies deutet auf ein starkes koordiniertes Momentum nach unten hin.

Strategie 2: Die Strategie „Nicht-Korreliert“

Diese Strategie beruht auf einer konträren Prämisse. Es wird versucht, in einen Handel einzusteigen, wenn sich die zugrunde liegenden Momentum-Indikatoren (DEM und MFI) im Verhältnis zum RSI auseinander bewegen, was einen starken Zusammenbruch ihrer Beziehung bedeutet (starke negative Korrelation) und möglicherweise einen Erschöpfungspunkt und eine bevorstehende Umkehr in Richtung des kurzfristigen Trends signalisiert.

  • Kaufsignal: Wird ausgelöst, wenn der PPC-Wert den Schwellenwert von -0,5 nach unten durchbricht, was auf eine starke negative Korrelation hindeutet, während der kurzfristige Trend weiterhin nach oben gerichtet ist. Die Logik ist, dass sich diese extreme Divergenz mit einer starken Kursbewegung nach oben auflösen könnte.
  • Verkaufssignal: Wird ausgelöst, wenn der PPC-Wert während eines kurzfristigen Abwärtstrends den Schwellenwert von -0,5 nach unten durchbricht und damit einen weiteren Kursrückgang aufgrund einer extremen Divergenz des PPC erwartet.
Abbildung 3 zeigt den einfachen Handelsstrategierahmen für Strategie 1 und Strategie 2. Das Diagramm zeigt anschaulich, wie die Handelslogik innerhalb des Codes strukturiert ist, und veranschaulicht den Entscheidungsfluss zwischen dem PPC-Oszillator und den gleitenden Durchschnitten. Dieser Rahmen hilft zu verstehen, wie Einstiegssignale auf der Grundlage von Korrelationsbedingungen (positiv oder negativ) erzeugt werden und wie sie durch die Trendrichtung gefiltert werden, um Kauf- oder Verkaufsentscheidungen zu treffen.

pseudoCode

Abbildung 3: Rahmen der Handelsstrategie

Indem sie sowohl korrelierte als auch nicht korrelierte Bedingungen testen, können Händler analysieren, wie sich der PPC Oscillator in verschiedenen Marktphasen verhält, und feststellen, welches Setup besser zu ihrem Handelsstil und ihrer Risikotoleranz passt.

Code-Struktur des Expertenberaters

In diesem Stadium fahren wir fort, die Codestruktur des Expert Advisors (EA) zu untersuchen, der den PPC-Oszillator verwendet. In diesem Abschnitt wird erläutert, wie der EA den PPC-Oszillator mit dem Moving Average-Filter integriert, um die zuvor beschriebenen Handelsstrategien zu automatisieren. Es umreißt den logischen Ablauf, die Hauptfunktionen und die Entscheidungskomponenten, die es dem EA ermöglichen, Indikatorsignale zu interpretieren, Handelseinträge zu generieren und Positionen auf der Grundlage der definierten Korrelationsstrategien zu verwalten.

//--- Input parameters
input double Lots = 0.01;
input double StopLoss = 300;
input double TakeProfit = 700;
input int Slippage = 3;

input int CorrPeriod = 21;
input int RSIPeriod = 14;
input int MFIPeriod = 14;
input int DeMPeriod = 14;
input double PPr = 0.5;    // PseudoCorrelatedValue (0.1 to 1)

input int FastMAPeriod = 2;
input int SlowMAPeriod = 20;

Wir beginnen mit der Definition der Eingabeparameter des Expert Advisors (EA), die es den Händlern ermöglichen, das Verhalten des EA über das Einstellungsfeld extern zu steuern und anzupassen. Diese Parameter bieten Flexibilität bei der Handelsverwaltung und der Konfiguration der Indikatoren.

Zu den wichtigsten Handelsparametern gehören:

  • Lots – gibt die Positionsgröße für jeden Handel an.
  • StopLoss und TakeProfit – definieren die Ausstiegspunkte in Punkten, wobei der maximal akzeptable Verlust und das gewünschte Gewinnziel festgelegt werden.
  • Slippage – bestimmt die zulässige Abweichung vom angeforderten Preis, um eine reibungslosere Auftragsausführung zu gewährleisten, auch unter volatilen Marktbedingungen.

Zusätzlich zu diesen Handelsmanagement-Parametern enthält der EA auch Eingaben zur Konfiguration von Indikatoren:

  • CorrPeriod, RSIPeriod, MFIPeriod und DEMPeriod – ermöglichen es dem Nutzer, die Parameter des PPC-Oszillators und der zugrundeliegenden Indikatoren (RSI, MFI und DeMarker) einzustellen und anzupassen.
  • PPr-Parameter – stellt den Korrelationsschwellenwert dar, der bestimmt, wann ein Einfahrsignal ausgelöst wird. Er definiert das Empfindlichkeitsniveau des PPC-Oszillators, der für den Handelseinstieg verwendet wird. Wenn der PPr-Wert im Bereich von 0 bis 1 liegt, berechnet der EA automatisch sein negatives Gegenstück (-PPr), um die entgegengesetzte Korrelationsschwelle darzustellen.
  • Die Parameter FastMAPeriod und SlowMAPeriod definieren die Periodenlängen für die Indikatoren des gleitenden Durchschnitts (MA), die zur Bestimmung der allgemeinen Trendrichtung verwendet werden. Der FastMA reagiert schnell auf die jüngsten Preisänderungen und erfasst kurzfristige Bewegungen, während der SlowMA die Preisschwankungen glättet, um den breiteren Markttrend zu erkennen.
//--- Strategy Selection
input bool EnableStrategy1 = true;   // Enable Strategy 1 Correlated
input bool EnableStrategy2 = false;  // Enable Strategy 2 NotCorrelated

Mit diesem Parameter kann der Nutzer auswählen, welcher Handelsstrategie (Strategie 1 oder Strategie 2) der EA folgen soll. Der EA ist so konzipiert, dass er immer nur ein Handelsgeschäft zur gleichen Zeit ausführt, um sicherzustellen, dass sich die Handelsgeschäfte nicht überschneiden oder in Konflikt geraten.

Wenn beide Strategien gleichzeitig auf „wahr“ gesetzt werden, priorisiert der EA automatisch die erste Strategie, deren Bedingungen in Echtzeit erfüllt sind, und führt sie aus. Diese logische Absicherung gewährleistet eine konsistente und konfliktfreie Handelsausführung unter Beibehaltung der beabsichtigten Strategiestruktur. 

   //--- Create indicator handles
   indicatorHandle = iCustom(Symbol(), Period(), IndicatorName, 
                            CorrPeriod, RSIPeriod, MFIPeriod, DeMPeriod);
   fastMaHandle = iMA(Symbol(), Period(), FastMAPeriod, 0, MODE_EMA, PRICE_CLOSE);
   slowMaHandle = iMA(Symbol(), Period(), SlowMAPeriod, 0, MODE_EMA, PRICE_CLOSE);

In der Initialisierungsphase des EA wird die Funktion iCustom aufgerufen, um die Ausgabewerte des PPC-Indikators abzurufen und sie im indicatorHandle zu speichern. Mit diesem Handle kann der EA während seines gesamten Betriebs auf Echtzeit-Korrelationsdaten des PPC-Oszillators zugreifen.

In ähnlicher Weise wird die Funktion iMA verwendet, um die Werte des schnellen gleitenden Durchschnitts (FastMA) und des langsamen gleitenden Durchschnitts (SlowMA) zu erhalten. Diese werden in ihren jeweiligen Handles – fastMAHandle und slowMAHandle – gespeichert, sodass der EA die Markttrends kontinuierlich verfolgen kann. Zusammen bilden diese Handles die zentralen Datenverbindungen, auf die sich der EA stützt, um effektiv Handelssignale zu generieren, auszuwerten und auszuführen.

void OnDeinit(const int reason)
{
   if(indicatorHandle != INVALID_HANDLE) IndicatorRelease(indicatorHandle);
   if(fastMaHandle != INVALID_HANDLE) IndicatorRelease(fastMaHandle);
   if(slowMaHandle != INVALID_HANDLE) IndicatorRelease(slowMaHandle);
}

Während der Deinitialisierungsphase werden alle Handles für Indikatoren und gleitende Durchschnitte freigegeben, um Systemressourcen freizugeben und eine effiziente Speicherverwaltung zu gewährleisten. Dieser Schritt verhindert potenzielle Speicherlecks oder Ressourcenkonflikte und gewährleistet die Stabilität und Leistung des EA während und nach seiner Ausführung.

//+------------------------------------------------------------------+
//| Check for new bar                                                |
//+------------------------------------------------------------------+
bool IsNewBar()
{
   datetime currentBar = iTime(Symbol(), Period(), 0);
   
   if(currentBar == lastBar) 
      return false;
   
   lastBar = currentBar;
   return true;
}

Die Funktion IsNewBar stellt sicher, dass der EA seine Logik nur einmal pro neuem Balken oder neuer Kerze ausführt. Dadurch wird verhindert, dass der EA wiederholt Berechnungen durchführt oder mehrere Handelsgeschäfte innerhalb desselben Balkens eröffnet, was die Effizienz erhöht und redundante Verarbeitung reduziert.

   //--- STRATEGY 1 (Correlated) ---
   if(EnableStrategy1 && corr_prev < PPr && corr_curr > PPr)
   {
      if(maFast[0] > maSlow[0])
         OpenTrade(ORDER_TYPE_BUY, "Strategy1 BUY");
      else if(maFast[0] < maSlow[0])
         OpenTrade(ORDER_TYPE_SELL, "Strategy1 SELL");
   }

   //--- STRATEGY 2 (Not Correlated) ---
   if(EnableStrategy2 && corr_prev > -PPr && corr_curr < -PPr)
   {
      if(maFast[0] > maSlow[0])
         OpenTrade(ORDER_TYPE_BUY, "Strategy2 BUY");
      else if(maFast[0] < maSlow[0])
         OpenTrade(ORDER_TYPE_SELL, "Strategy2 SELL");
   }

In diesem Abschnitt des Codes werden, wie bereits beschrieben, die Einstiegsbedingungen für Strategie 1 und Strategie 2 festgelegt. Er wertet die Korrelationswerte des PPC-Indikators zusammen mit der Trendrichtung des gleitenden Durchschnitts aus, um festzustellen, ob ein Kauf- oder Verkaufssignal ausgelöst werden sollte.

Anschließend wird die Funktion OpenTrade aufgerufen, um den Handel auszuführen. Er benötigt zwei Schlüsselparameter – die Auftragsart (Kauf oder Verkauf) und einen Kommentar, der bei der Ausführung den Ursprung oder die Strategie des Handelsgeschäfts erkennen lässt. Dieser strukturierte Ansatz gewährleistet, dass jeder Handel unter klar definierten Bedingungen eröffnet wird, was die Transparenz und Nachvollziehbarkeit des EA verbessert.

Demonstration von EA

In diesem Abschnitt zeigen wir, wie der EA auf der Grundlage der oben beschriebenen Handelslogik funktioniert. Der EA nutzt die definierten Korrelations- und Trendbedingungen, um potenzielle Handels-Setups zu identifizieren und automatisch auszuführen.

Abbildung 4 veranschaulicht die verschiedenen Parameter, die der Nutzer anpassen und optimieren kann, um die Gesamtleistung des EA zu verbessern. Dazu gehören Handelsinputs wie Losgröße, Stop-Loss, Take-Profit und Slippage sowie Indikatorparameter wie CorrPeriod, RSIPeriod, MFIPeriod, DEMPeriod, PPr und Moving-Average-Perioden. Durch die Feinabstimmung dieser Einstellungen können Händler den EA an unterschiedliche Marktbedingungen anpassen, die Genauigkeit erhöhen und bessere Risiko-Ertrags-Ergebnisse erzielen.

rInputs

Abbildung 4: PPC EA-Eingaben

Abbildung 5 veranschaulicht den Prozess, mit dem der EA Handelsaufträge in Echtzeit ausführt. In diesem Beispiel wird die Strategie 1 verwendet, um zu demonstrieren, wie der EA automatisch Positionen auf der Grundlage der vordefinierten Handelsbedingungen öffnet und schließt.

Sobald die PPC-Korrelation und der Trend des gleitenden Durchschnitts übereinstimmen, um ein gültiges Einstiegssignal zu erzeugen, eröffnet der EA eine entsprechende Kauf- oder Verkaufsorder. Jeder Handel ist durch Stop-Loss und Take-Profit geschützt, die in den Eingabeparametern des EAs definiert werden. Take-Profit sichert Gewinne, wenn sich der Markt günstig entwickelt, während der Stop-Loss mögliche Verluste begrenzt, wenn sich der Markt gegen die Position entwickelt.

Diese Abbildung veranschaulicht den automatisierten Entscheidungsfindungsprozess des EAs – wie er Chancen erkennt, Geschäfte ausführt und Risiken ohne manuelle Eingriffe verwaltet.

PPCorr_EA

Abbildung 5: PPC EA Handelsausführung


Schlussfolgerung

In diesem Artikel haben wir gezeigt, dass es möglich ist, bestehende Indikatoren zu verfeinern, um mit Hilfe einer definierten mathematischen Funktion ein neues und leistungsstarkes Analyseinstrument zu schaffen. Die vorgeschlagene Funktion, die so genannte Pseudo-Pearson-Korrelation, nimmt drei Eingangsvariablen – RSI, MFI und DeMarker (DEM) – auf, um eine einzige Ausgangsvariable zu erzeugen, die den Grad der Korrelation zwischen ihnen misst. Ähnlich wie bei der traditionellen Pearson-Korrelation reicht der PPC-Wert von -1 bis +1 und gibt die Stärke und Richtung der Korrelation zwischen den ausgewählten Oszillatoren an. Der Indikator stellt diese Korrelationswerte visuell auf dem Chart dar, sodass Händler die Perioden mit starker und schwacher Korrelation im Marktmomentum leicht erkennen können.

Der PPC-Indikator wurde außerdem in einen Expert Advisor integriert, um Handelsentscheidungen zu automatisieren. Durch die Kombination mit einem gleitenden Durchschnittsfilter wurden zwei Handelsstrategien entwickelt und getestet – eine auf der Grundlage einer positiven Korrelation (Strategie 1) und die andere auf der Grundlage einer negativen Korrelation (Strategie 2). Beide Strategien führten erfolgreich Handelsgeschäfte gemäß ihrer definierten Logik aus, was das Potenzial des PPC als effektives Einstiegssignal in Verbindung mit einem Trendfolgeindikator demonstriert.

Insgesamt zeigen die Ergebnisse, dass der Ansatz der Pseudo-Pearson-Korrelation eine neuartige Methode zur Quantifizierung von Beziehungen zwischen Oszillatoren darstellt und Händlern einen zusätzlichen Einblick in das Marktverhalten bietet. Bei weiterer Optimierung und Backtests könnte der PPC-Indikator als wertvolle Komponente bei der Entwicklung adaptiverer und datengesteuerter Handelssysteme dienen.

Im nächsten Kapitel dieser Studie werden wir die Strategie an verschiedenen Finanzinstrumenten und Währungspaaren testen, um die Stärken und Schwächen des EA, der den PPC-Indikator verwendet, zu bewerten. Bleiben Sie dran, um weitere Einblicke und Ergebnisse aus diesen bevorstehenden Experimenten zu erhalten.


Datei Beschreibung
PseudoPC.mq5 Diese Datei enthält den Indikator Pseudo-Pearson-Korrelation (PseudoPC), der zur Messung direktionaler Beziehungen in Preisdaten entwickelt wurde.
PPCorr_EA.mq5 Diese Datei enthält den Expert
baut auf dem PseudoPC-Indikator auf und ermöglicht eine automatisierte Handelsausführung auf der Grundlage der Signale und der zugrunde liegenden Logik des Indikators.


Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/en/articles/20065

Beigefügte Dateien |
PseudoPC.mq5 (4.52 KB)
PPCorr_EA.mq5 (5.24 KB)
Letzte Kommentare | Zur Diskussion im Händlerforum (1)
Stanislav Korotky
Stanislav Korotky | 20 Nov. 2025 in 16:21

Es wäre schön, Berichte mit den tatsächlichen Leistungskennzahlen des Test-EAs im Vergleich zu denselben Strategien zu sehen, die den Korrelationsfilter nicht verwenden - auf diese Weise kann die Effizienz des neuen Indikators geschätzt werden.

   if(EnableStrategy1 && ((corr_prev < PPr && corr_curr > PPr) || !EnableCorrelation))
   {
      if(maFast[0] > maSlow[0])
         OpenTrade(ORDER_TYPE_BUY, "Strategy1 BUY");
      else if(maFast[0] < maSlow[0])
         OpenTrade(ORDER_TYPE_SELL, "Strategy1 SELL");
   }

Die meisten Oszillatoren desselben Zeitraums sind per Definition hoch korreliert, und die Verwendung ihrer Korrelation ist von geringem Interesse. Die Analyse mehrerer verschiedener Perioden ist sinnvoll, aber wahrscheinlich würde jeder Trader dies mit seinem bevorzugten Oszillator tun, d.h. mit derselben Art von Oszillator, dessen Setup in diesem Artikel nicht behandelt wird (d.h. man kann z.B. nicht 3 RSIs oder 3 MFis wählen).

Oszillatoren: RSI, MFI, DeMarker

Die Übertragung der Trading-Signale in einem universalen Expert Advisor. Die Übertragung der Trading-Signale in einem universalen Expert Advisor.
In diesem Artikel wurden die verschiedenen Möglichkeiten beschrieben, um die Trading-Signale von einem Signalmodul des universalen EAs zum Steuermodul der Positionen und Orders zu übertragen. Es wurden die seriellen und parallelen Interfaces betrachtet.
Entwicklung des Price Action Analysis Toolkit (Teil 51): Revolutionäre Chart-Suchtechnologie für die Entdeckung von Kerzenmustern Entwicklung des Price Action Analysis Toolkit (Teil 51): Revolutionäre Chart-Suchtechnologie für die Entdeckung von Kerzenmustern
Dieser Artikel richtet sich an algorithmische Händler, quantitative Analysten und MQL5-Entwickler, die ihr Verständnis für die Erkennung von Kerzenmustern durch praktische Umsetzung verbessern möchten. Es bietet eine eingehende Untersuchung des CandlePatternSearch.mq5 Expert Advisor – ein komplettes Framework zur Erkennung, Visualisierung und Überwachung klassischer Kerzenmuster in MetaTrader 5. Neben einer Zeile-für-Zeile-Überprüfung des Codes erörtert der Artikel die Architektur, die Logik zur Mustererkennung, die Integration in die grafische Nutzeroberfläche und die Warnmechanismen und zeigt, wie die traditionelle Preis-Aktions-Analyse effizient automatisiert werden kann.
Eine alternative Log-datei mit der Verwendung der HTML und CSS Eine alternative Log-datei mit der Verwendung der HTML und CSS
In diesem Artikel werden wir eine sehr einfache, aber leistungsfähige Bibliothek zur Erstellung der HTML-Dateien schreiben, dabei lernen wir auch, wie man eine ihre Darstellung einstellen kann (nach seinem Geschmack) und sehen wir, wie man es leicht in seinem Expert Advisor oder Skript hinzufügen oder verwenden kann.
Aufbau von KI-gestützten Handelssystemen in MQL5 (Teil 5): Hinzufügen einer ausklappbaren Seitenleiste mit Chat-Popups Aufbau von KI-gestützten Handelssystemen in MQL5 (Teil 5): Hinzufügen einer ausklappbaren Seitenleiste mit Chat-Popups
In Teil 5 unserer Serie über das KI-Handelssystem MQL5 verbessern wir den in ChatGPT integrierten Expert Advisor, indem wir eine ausklappbare Seitenleiste einführen, die Navigation mit kleinen und großen Verlaufs-Popups für eine nahtlose Chat-Auswahl verbessern und gleichzeitig die Handhabung von mehrzeiligen Eingaben, die dauerhafte verschlüsselte Chat-Speicherung und die KI-gesteuerte Erzeugung von Handelssignalen aus Chartdaten beibehalten.