English 日本語
preview
Entwicklung des Price Action Analysis Toolkit (Teil 48): Multi-Timeframe Harmony Index mit gewichtetem Bias Dashboard

Entwicklung des Price Action Analysis Toolkit (Teil 48): Multi-Timeframe Harmony Index mit gewichtetem Bias Dashboard

MetaTrader 5Beispiele |
28 3
Christian Benjamin
Christian Benjamin

Inhalt


Einführung

Als Händler von Preisaktionen verlassen wir uns auf strukturelle Klarheit – wir verstehen, wie sich der Markt über verschiedene Zeitrahmen hinweg verhält, bevor wir uns auf einen Einstieg festlegen. Eine der größten Herausforderungen beim Handel mit mehreren Zeitrahmen besteht jedoch darin, die Konsistenz zwischen diesen Ebenen zu gewährleisten. Ein Chart kann auf H4 einen Aufwärtstrend zeigen, während es auf H1 zögert oder auf M15 eine vollständige Umkehrung zu sehen ist, was den Händler mit einer widersprüchlichen Tendenz und begrenztem Vertrauen zurücklässt.  

In diesem 48. Teil der Entwicklungsreihe des Price Action Analysis Toolkits gehen wir dieses Problem mit der Erstellung des Multi-Timeframe Harmony Index (HI) an – einem Mechanismus, der die Übereinstimmung zwischen den Zeitrahmen mathematisch als einen einzigen, normalisierten Wert ausdrückt. Durch die Zusammenfassung der Richtung mehrerer struktureller Verzerrungen in einer kohärenten Ausgabe ermöglicht HI den Händlern, auf einem einzigen Dashboard zu sehen, ob sich der Markt in Harmonie oder Disharmonie bewegt. 

In diesem Artikel werden die konzeptionellen Grundlagen des Harmony-Index, sein Erkennungsalgorithmus, der auf der strukturellen Logik der drei Balken basiert, die Methode zur Gewichtung und Glättung des Beitrags jedes Zeitrahmens sowie die operativen Merkmale erläutert, die ihn zu einer handlungsfähigen Handelshilfe machen. Das mehrschichtige Design macht HI sowohl zu einem visuellen Werkzeug für diskretionäre Händler als auch zu einem quantitativen Filter für algorithmische Systeme, die auf der MetaTrader 5-Plattform aufgebaut sind. Am Ende dieses Artikels werden Sie verstehen, wie Sie den Harmony Index implementieren und sein farbcodiertes Dashboard, seine Warnungen und Signalmarkierungen interpretieren können, um Entscheidungen mit größerer Präzision und Sicherheit in Umgebungen mit mehreren Zeitrahmen zu treffen.


Konzept und Algorithmus

Beim Handel mit Preisaktionen in mehreren Zeitrahmen besteht die Herausforderung darin, Trends in den einzelnen Charts zu erkennen und diese Signale zu einer einheitlichen Tendenz zusammenzufassen. Kürzere Zeitrahmen wie M15 und H1 sind von unschätzbarem Wert, wenn es darum geht, einzelne Bewegungen und frühe Einstiegshinweise zu erfassen, während höhere Zeitrahmen wie H4 und D1 den vorherrschenden Trend und wichtige strukturelle Ebenen definieren. Auf schnelllebigen Märkten stimmen diese Zeitrahmen jedoch oft nicht überein. Ohne eine systematische Methode zur Quantifizierung des Konsenses sind die Händler zu subjektiven, zeitaufwändigen Einschätzungen gezwungen. Der Multi-Timeframe Harmony Index (HI) löst dieses Problem, indem er die strukturelle Verzerrung pro Zeitrahmen zu einem einzigen normalisierten numerischen Maß zwischen -1,0 und +1,0 verdichtet. Diese Echtzeitberechnung rationalisiert die Entscheidungsfindung, bietet visuelle Klarheit über ein Dashboard und ermöglicht eine automatische Alarmierung und Signalgenerierung.

Logik der Bias-Erkennung

Die Bias-Erkennung beginnt mit der Funktion GetStructureBias(), die die letzten drei geschlossenen Kerzen für jeden aktivierten Zeitrahmen untersucht:

Drei-Balken-Treppen-Regel


Wenn die strenge Treppenbedingung nicht erfüllt ist, greift der Algorithmus auf die Schlusskursregel zurück:

Wenn beide Bedingungen nicht erfüllt sind oder die Daten unvollständig sind, wird die Verzerrung durch einen direkten Vergleich der beiden letzten Ergebnisse ermittelt. Dieser mehrschichtige Ansatz stellt sicher, dass offensichtliche, anhaltende Trends durch strenge Regeln erkannt werden, während subtilere Verzerrungsänderungen weiterhin durch die auf Schlusskurse basierte Rückfalllösung erkannt werden. Es vermeidet die Abhängigkeit von unvollständigen Balken und reduziert falsche Neutralität in Umgebungen mit höherer Volatilität.

Berechnung des gewichteten Harmonie-Index

Sobald ein Bias-Wert für jeden Zeitrahmen berechnet wurde (+1+1+1 aufwärts, 000 neutral, -1-1-1 abwärts), aggregiert das HI diese Werte mittels einer gewichteten Formel:

Hier ist weight(i) ein nutzerdefinierter Faktor, der die Bedeutung dieses Zeitrahmens steuert. Das Ergebnis wird auf den Bereich [-1,0, +1,0] normiert, um unabhängig von der Gewichtung eine einheitliche Skala zu gewährleisten.

Denken Sie zum Beispiel an:

  • M15: Bias = +1, Weight=0,10 ergibt Beitrag = +0,10
  • H1: Bias = +1, Weight=0,20 ergibt Beitrag = +0,20
  • H4: Bias = 0, Weight=0,30 ergibt Beitrag = 0,00
  • D1: Bias = +1, Weight=0,40 ergibt Beitrag = +0,40

WeightedSum = 0,10+0,20+0,00+0,40 = 0,70, TotalWeight = 1,0

  • Harmonie-Index (HI) = (0,70/1,0) = 0,70

Ein HI von 0,70 deutet auf einen mäßig starken Aufwärtskonsens hin, der bei einem Wert von 0,8 knapp unter einem starken Schwellenwert liegt.

EMA Glättung des HI

Die Marktbedingungen, insbesondere die niedrigeren Zeiträume, können zu starken Schwankungen der HI-Werte führen. Um dem Signalrauschen entgegenzuwirken, wendet der Harmony-Index die Glättung des Exponential Moving Average (EMA) an:

Dieser EMA erzeugt eine glattere Trendverzerrung:

  • Kürzere EMA-Perioden → reaktiver, geeignet für Scalping.
  • Längere EMA-Perioden → stabiler, ideal für Swing Trading.

Die EMA-Glättung verringert die Zahl der „Whipsaw“-Warnungen und erhöht das Vertrauen in das Überschreiten von Schwellenwerten.

Schwellenwert-basierte Klassifizierung von Zuständen

Der Harmony-Index liefert zwar einen präzisen numerischen Wert, doch die Umsetzung dieser Zahl in einen handlungsrelevanten Kontext erfordert klare Klassifizierungsregeln. Rohe Dezimalwerte können für Analysten informativ sein, aber auf einem Live-Chart sollten sie sofort eine Bedeutung vermitteln, ohne dass mentale Berechnungen erforderlich sind. Um dies zu erreichen, wendet der Harmony-Index ein zweistufiges Schwellensystem an, das starke und mäßige Verzerrungen definiert, und zwar sowohl für steigende als auch für fallende Kurse.

Der StrongThreshold stellt den Punkt dar, an dem der Konsens über die aktivierten Zeitrahmen ein hohes Vertrauen erreicht. Wenn StrongThreshold beispielsweise auf 0.80.80.8 festgelegt ist, müssten die meisten gewichteten Zeitrahmen fest in eine Richtung ausgerichtet sein, damit der Index diesen Wert überschreitet. Dies deutet auf ein Marktumfeld hin, in dem das Multi-Timeframe-Alignment so robust ist, dass eine aggressive Positionierung für viele Händler gerechtfertigt ist. Der Schwellenwert ModerateThreshold – der niedriger angesetzt ist, z. B. 0.40.40.4 – signalisiert ein mittleres Konsensniveau. Sie zeigt auf, wo sich eine Angleichung der Vorurteile abzeichnet, aber noch keine große Überzeugung erreicht hat.  

Mathematisch wird die Klassifizierungslogik wie folgt ausgedrückt

Auf dem Chart-Dashboard werden diese Zustände durch eine intuitive Farbcodierung visuell verstärkt. Ein starker Aufwärtskonsens lässt den HI-Wert in einem kräftigen Grün erscheinen, während ein starker Abwärtskonsens ihn in ein leuchtendes Rot taucht. Moderate Aufwärts- oder Abwärtsbewegungen werden durch weichere Grün- bzw. Rottöne angezeigt, die auf mögliche Chancen hinweisen, aber auch zur Vorsicht mahnen. Werte im schwachen oder neutralen Bereich werden gelb dargestellt, was auf Unentschlossenheit oder das Fehlen eines klaren Mehrzeitrahmen-Trends hinweist. Diese Farb-Zustands-Verknüpfung ist von entscheidender Bedeutung. In schnelllebigen Situationen können sich Händler allein auf visuelle Hinweise verlassen, um diese Informationen aufzunehmen, ohne von der eigentlichen Preisaktionsanalyse abgelenkt zu werden.  

Warnmeldungen und Signallogik

Eine leistungsstarke Funktion des Multi-Timeframe Harmony Index ist seine Fähigkeit, den Bias-Konsens in Echtzeit zu berechnen und anzuzeigen und den Händler aktiv zu informieren, wenn bedeutende Änderungen auftreten. Durch die Einbeziehung von Warnmeldungen und Chart-Signalen wird das HI von einem reinen Analysetool zu einem reaktionsschnellen taktischen Instrument, das die automatische Entscheidungsfindung und die visuelle Handelsmarkierung unterstützt.  

Das Warnsystem konzentriert sich auf zwei Schlüsselereignisse. Die erste ist das Kreuzen der HI-Schwelle, das auftritt, wenn sich der Harmony-Index in einer Aufwärtsrichtung von unterhalb der starken Schwelle nach oben bewegt oder in einer Abwärtsrichtung von oberhalb nach unterhalb der negativen starken Schwelle. Diese Ereignisse bedeuten in der Regel eine deutliche Veränderung des Konsenses und markieren oft den Übergang von Unentschlossenheit zu großer Überzeugung über mehrere Zeiträume hinweg. Der zweite ist der Higher-Timeframe Bias Flips, bei dem der Bias für H4 oder D1 das Vorzeichen wechselt, z. B. von Auf- zu Abwärts oder umgekehrt. Da diese höheren Zeitrahmen bei den meisten Strategien ein größeres Marktgewicht haben, kann ein solcher Umschwung größeren strukturellen Bewegungen vorausgehen und verdient die Aufmerksamkeit des Händlers, auch wenn der Gesamt-HI noch nicht eine starke Schwelle überschritten hat.  

Die Signaldarstellung ergänzt die Warnungen, indem sie bei starken Schwellenwertüberschreitungen Kauf- oder Verkaufspfeile direkt auf dem Chart platziert. Wenn HI beispielsweise die starke Schwelle nach oben durchbricht, wird ein grüner Kaufpfeil knapp unter dem Tiefpunkt des letzten geschlossenen Balkens eingezeichnet; wenn HI die negative starke Schwelle nach unten durchbricht, wird ein roter Verkaufspfeil knapp über dem Hochpunkt dieses Balkens platziert. Durch diese versetzte Platzierung wird die Lesbarkeit gewährleistet und ein Durcheinander in der Nähe der Kerzenkörper vermieden. Um falsche oder übermäßige Signale zu vermeiden, verwendet der EA einen Deduplizierungsmechanismus – er prüft, ob ein Pfeil für dieselbe Richtung bereits auf dem aktuellen Balken platziert wurde – und respektiert einen nutzerdefinierten MaxSignals-Parameter, der die Anzahl der Pfeile auf dem Chart begrenzt.  

Mathematisch lässt sich die Bedingung für die Pfeilauslösung wie folgt zusammenfassen

Datenexport für die Systemintegration

Der Harmony Index ist als eigenständiges Dashboard für den diskretionären Handel konzipiert, aber auch als modulare Komponente innerhalb einer größeren algorithmischen Handelsarchitektur. Um dies zu erleichtern, exportiert er seine berechneten Ausgaben in globale MetaTrader 5-Variablen, auf die andere Expert Advisors, nutzerdefinierte Indikatoren oder Skripte, die gleichzeitig auf der Plattform laufen, zugreifen können.  

Dieser Exportmechanismus hat mehrere praktische Vorteile. Erstens können andere automatisierte Module den Harmony-Index als Trendfilter verwenden und beispielsweise verlangen, dass HI über einem bestimmten Schwellenwert liegt, bevor ein Ausbruchsgeschäft ausgeführt wird. Zweitens ermöglicht es eine koordinierte Entscheidungsfindung über mehrere Charts hinweg – ein EA, der ein Währungspaar überwacht, kann auf die Werte des Harmony-Index eines anderen korrelierten Paares oder eines Charts mit einem höheren Zeitrahmen reagieren. Drittens unterstützt es ausgefeilte Portfoliostrategien, bei denen Allokations-, Absicherungs- oder Risikoskalierungsentscheidungen auf der Grundlage der von HI über verschiedene Instrumente hinweg ermittelten Konsenstrends getroffen werden.  


Überblick über die Funktionen

Der Multi-Timeframe Harmony Index ist weit mehr als eine einfache numerische Ausgabe – er ist ein vollwertiges Handelsmodul, das sowohl für diskretionäre Händler, halbautomatische Strategien als auch für vollständig algorithmische Systeme entwickelt wurde. Seine Designphilosophie basiert auf Klarheit, Anpassungsfähigkeit und Interoperabilität, um sicherzustellen, dass die Händler den Marktkonsens erkennen und mit Vertrauen und Schnelligkeit darauf reagieren können. Nachfolgend finden Sie eine ausführliche Aufschlüsselung der wichtigsten Funktionen.  

Konfigurierbare Zeitrahmen und Gewichtung

Das Herzstück des Harmony Index ist die Möglichkeit, zu entscheiden, welche Zeitrahmen in die Konsensberechnung einbezogen werden sollen, und deren individuelle Gewichtung entsprechend dem eigenen Handelsstil festzulegen. Kürzere Zeitrahmen (M15, H1) können von aktiven Tageshändlern, die versuchen, Schwankungen innerhalb des Tages zu erfassen, stärker berücksichtigt werden. Umgekehrt können Swing-Trader oder Positionsinhaber H4 und D1 stärker gewichten, damit der Index den Makrotrend widerspiegelt und kleinere Gegenbewegungen ignoriert. Mit unabhängigen booleschen Umschaltern zur Aktivierung jedes Zeitrahmens passt sich der Harmony Index an verschiedene Stile an – vom Scalping bis zum langfristigen Investieren – ohne eine feste Struktur zu erzwingen. Diese Flexibilität stellt sicher, dass die Konsensberechnung für Ihren einzigartigen Rhythmus des Engagements auf dem Markt aussagekräftig bleibt.

//--- user inputs
input bool Use_M15  = true;
input bool Use_H1   = true;
input bool Use_H4   = true;
input bool Use_D1   = true;

input double Weight_M15 = 1.0;
input double Weight_H1  = 1.5;
input double Weight_H4  = 2.0;
input double Weight_D1  = 2.5;

//--- example bias retrieval for selected TF
double GetBias(string symbol, ENUM_TIMEFRAMES tf)
{
   double close_now = iClose(symbol, tf, 0);
   double close_prev= iClose(symbol, tf, 1);
   if(close_now > close_prev) return  1; // bullish
   if(close_now < close_prev) return -1; // bearish
   return 0; // neutral
}

//--- example weighted calculation
double weighted_sum = 0;
double total_weight = 0;
if(Use_M15) { weighted_sum += GetBias(_Symbol, PERIOD_M15) * Weight_M15; total_weight += Weight_M15; }
if(Use_H1)  { weighted_sum += GetBias(_Symbol, PERIOD_H1)  * Weight_H1;  total_weight += Weight_H1;  }
if(Use_H4)  { weighted_sum += GetBias(_Symbol, PERIOD_H4)  * Weight_H4;  total_weight += Weight_H4;  }
if(Use_D1)  { weighted_sum += GetBias(_Symbol, PERIOD_D1)  * Weight_D1;  total_weight += Weight_D1;  }

double harmony_index = (total_weight > 0) ? weighted_sum / total_weight : 0;

Anzeige des Dashboard-Panels und UI-Flexibilität

Klarheit auf den Live-Märkten ist nicht optional, sondern unerlässlich. Der Harmony-Index bietet dies durch ein klares, vollständig integriertes Chart-Panel, das die Daten anzeigt:

  • Der aktuelle HI-Wert und sein EMA-geglättetes Gegenstück.
  • Eine Aufschlüsselung der Tendenzen pro Zeitrahmen, die den Status jeder TF als Aufwärts, Abwärts oder Neutral anzeigt.
  • Gewichtete Beitragswerte für jeden Zeitraum, wodurch der individuelle Einfluss sofort sichtbar wird.

//--- Creating a chart label for HI values
string panelName = "HI_Dashboard";
if(!ObjectCreate(0, panelName, OBJ_LABEL, 0, 0, 0))
   Print("Failed to create dashboard label");

ObjectSetInteger(0, panelName, OBJPROP_CORNER, CORNER_RIGHT_UPPER);
ObjectSetInteger(0, panelName, OBJPROP_XDISTANCE, 10);
ObjectSetInteger(0, panelName, OBJPROP_YDISTANCE, 20);

string panelText = StringFormat("HI: %.2f\nEMA: %.2f", harmony_index, harmony_index_ema);
ObjectSetString(0, panelName, OBJPROP_TEXT, panelText);
ObjectSetInteger(0, panelName, OBJPROP_FONTSIZE, 12);
ObjectSetInteger(0, panelName, OBJPROP_COLOR, clrWhite);

Das Panel kann als rechteckiges Etikett mit farbigen Themen für das Bias-Vertrauen konstruiert werden, oder – falls Kompatibilitätsprobleme auftreten – schaltet der EA automatisch auf einen Etikett-basierten Fallback-Block um, der über alle Plattform-Builds hinweg stabil ist. Nutzereingaben ermöglichen die Feinsteuerung von Position, Größe, Auffüllung, Schriftarten und Farben und stellen sicher, dass sich das Panel nahtlos in Ihre bestehenden Chartlayouts einfügt.  

Farbcodierte Vertrauenszustände

Der Harmony Index verwendet eine intuitive visuelle Sprache, um seine numerischen Berechnungen zu unterstützen. Die Farbcodes entsprechen direkt der im vorherigen Abschnitt erstellten Konsensklassifizierung:

Hellgrün → Stark steigend, HI ≥ StrongThreshold
Hellrot → Stark fallend, HI ≤ -StrongThreshold
Hellgrün/Hellrot → Moderate Zustände, zwischen den Schwellenwerten moderat und stark
Gelb → Schwacher oder neutraler Konsens

color GetHIColor(double hi, double strongThr, double moderateThr)
{
   if(hi >= strongThr)   return clrLime;      // strong bullish
   if(hi <= -strongThr)  return clrRed;       // strong bearish
   if(hi >= moderateThr) return clrLightGreen;// moderate bullish
   if(hi <= -moderateThr)return clrLightCoral;// moderate bearish
   return clrYellow;                          // neutral
}

ObjectSetInteger(0, panelName, OBJPROP_COLOR, GetHIColor(harmony_index, 0.7, 0.3));

Diese Farbkodierung stellt sicher, dass Sie einfach einen Blick auf das Panel werfen können, um die Marktausrichtung zu verstehen, ohne jede Zahl im Eifer des Gefechts gedanklich verarbeiten zu müssen.  

Schwellenwertgesteuerte Hinweise

Für ein entschlossenes Handeln in schnellen Märkten verfügt der Harmony Index über ein Alarmsystem, das unter bestimmten, hochwertigen Bedingungen ausgelöst wird:  

  • Starkes Kreuzen des Schwellenwertes – wenn der HI von einem schwächeren Zustand aus über/unter die starke Auf- oder Abwärts-Marke kreuzt.
  • Flip auf einem höheren Zeitrahmen – wenn der Trend auf H4 oder D1 das Vorzeichen wechselt, was auf einen potenziellen Trendwechsel hindeutet.

//--- once per bar check
static datetime lastAlertTime = 0;
if(Time[0] != lastAlertTime)
{
   if(harmony_index >= strong_threshold && prev_hi < strong_threshold)
      Alert("Strong Bullish Threshold Crossed on ", _Symbol);
      
   if(harmony_index <= -strong_threshold && prev_hi > -strong_threshold)
      Alert("Strong Bearish Threshold Crossed on ", _Symbol);
   
   lastAlertTime = Time[0];
}

Warnungen werden über das MetaTrader 5 Alert()-System, den Protokolldruck und optionale Push-Benachrichtigungen übermittelt, sodass sie unabhängig davon, ob Sie sich vor den Charts befinden oder diese aus der Ferne überwachen, empfangen werden.  

Automatisches Zeichnen von Kauf-/Verkaufssignalen

Für Händler, die visuelle Auslöser bevorzugen, kann der Harmony Index automatisch Kauf- und Verkaufspfeile auf dem Chart einzeichnen, die auf starken Schwellenwertüberschreitungen basieren. Kaufpfeile, die unter dem Tief des letzten geschlossenen Balkens eingezeichnet sind, wenn HI stark steigt. Verkaufspfeile, die oberhalb des Hochs des letzten geschlossenen Balkens eingezeichnet sind, wenn HI stark fällt. Mit integrierter Deduplizierung zur Vermeidung wiederholter Signale auf demselben Balken und einer Signalobergrenze zur Vermeidung von Unordnung bieten diese gezeichneten Marker eine saubere historische Aufzeichnung von Schwellenwert-Ereignissen, die sowohl für den Live-Handel als auch für die Post-Session-Analyse nützlich sein können. 

void PlotSignal(bool buy)
{
   string arrowName = "HI_Signal_" + IntegerToString(Time[0]);
   ObjectCreate(0, arrowName, OBJ_ARROW, 0, Time[0], buy ? Low[0] : High[0]);
   ObjectSetInteger(0, arrowName, OBJPROP_COLOR, buy ? clrLime : clrRed);
   ObjectSetInteger(0, arrowName, OBJPROP_ARROWCODE, buy ? 241 : 242); // Wingdings up/down arrow
}

if(harmony_index >= strong_threshold && prev_hi < strong_threshold)
   PlotSignal(true);

if(harmony_index <= -strong_threshold && prev_hi > -strong_threshold)
   PlotSignal(false);

EMA-Glättung zur Rauschunterdrückung

Die Einbeziehung von HI_EMA_Periode als ein vom Nutzer einstellbarer Parameter ermöglicht eine präzise Abstimmung des Gleichgewichts zwischen Signalempfindlichkeit und Stabilität. Niedrigere Werte führen zu schnellen Reaktionen auf Verzerrungsänderungen und eignen sich für Scalping-Umgebungen; höhere Werte erzeugen sanftere, bedächtigere Änderungen, die sich ideal für die Anpassung an die langfristige Struktur eignen. Das Panel zeigt sowohl rohe als auch geglättete HI-Werte an, sodass der Händler die unmittelbare Stimmung mit dem gefilterten, am Trend orientierten Konsens vergleichen kann.

//--- standard EMA smoothing formula
double alpha = 2.0 / (HI_EMA_Period + 1);
harmony_index_ema = harmony_index_ema + alpha * (harmony_index - harmony_index_ema);

Globaler Export variabler Daten

Der Harmony-Index wurde im Hinblick auf Interoperabilität entwickelt. Alle wichtigen Ergebnisse – einschließlich des rohen HI, des geglätteten HI und des pro-TF-Bias – werden in MetaTrader 5 Global Variables gespeichert. Dadurch werden sie sofort zugänglich für:  

  • Externe EAs, die auf den Harmony Index als Trendfilter wirken.
  • Risiko- und Handelsmanager passen die Positionsgröße an die Konsensbedingungen an.
  • Cross-Chart- und Cross-Pair-Strategien zur Integration von Multi-Symbol-Daten.

//--- store outputs as global vars
GlobalVariableSet("HI_Raw_"+_Symbol, harmony_index);
GlobalVariableSet("HI_EMA_"+_Symbol, harmony_index_ema);
GlobalVariableSet("HI_Bias_M15_"+_Symbol, (double)GetBias(_Symbol, PERIOD_M15));
GlobalVariableSet("HI_Bias_H1_"+_Symbol,  (double)GetBias(_Symbol, PERIOD_H1));
GlobalVariableSet("HI_Bias_H4_"+_Symbol,  (double)GetBias(_Symbol, PERIOD_H4));
GlobalVariableSet("HI_Bias_D1_"+_Symbol,  (double)GetBias(_Symbol, PERIOD_D1));

Da diese Daten plattformübergreifend zur Verfügung stehen, fungiert der Harmony-Index als Kernmaschine und nicht als isoliertes Werkzeug, das eine fortschrittliche Integration in komplexe Handelsinfrastrukturen ermöglicht.  


Erläuterung der Code-Struktur

Der Multi-Timeframe Harmony Index Expert Advisor ist modular aufgebaut, mit einer klaren Trennung zwischen Konfiguration, Kernlogik, Nutzeroberfläche und unterstützenden Dienstprogrammen. Diese Organisation ermöglicht eine hohe Anpassungsfähigkeit des EA und vereinfacht gleichzeitig die künftige Wartung. Die Struktur folgt einem natürlichen Handelslogikfluss:

Der Kern der Anpassungsfähigkeit liegt in den Eingabeparametern, die am Anfang des Skripts angegeben werden. Jeder unterstützte Zeitrahmen – M15, H1, H4 und D1 – hat sowohl einen Aktivierungsschalter als auch einen Gewichtungswert. Der Aktivierungsschalter legt fest, ob dieser Zeitrahmen an der Berechnung des Harmony-Index teilnimmt, während die Gewichtung seinen relativen Beitrag angibt. Neben diesen Steuerelementen gibt es Interpretationsschwellenwerte, Glättungseinstellungen und Schalter, die festlegen, ob Warnungen und Chartsignale aktiviert sind. Dieses Design stellt sicher, dass der EA sowohl für Scalper, Swing Trader als auch für Position Trader geeignet ist.

input bool   Use_M15 = true;  input double Weight_M15 = 0.10;
input bool   Use_H1  = true;  input double Weight_H1  = 0.20;
input bool   Use_H4  = true;  input double Weight_H4  = 0.30;
input bool   Use_D1  = true;  input double Weight_D1  = 0.40;

input double StrongThreshold   = 0.8;
input double ModerateThreshold = 0.4;

input int    HI_EMA_Period = 8;

input bool   EnableAlerts  = true;
input bool   EnableSignals = true;

Wenn der Expert Advisor gestartet wird, bereitet die Funktion OnInit() seine Betriebsumgebung vor. Die aktivierten Zeitrahmen und ihre Parameter werden in einem einzigen Array von Strukturen (tfs[]) gespeichert, sodass es einfach ist, später während der Berechnungen eine Schleife durch sie zu ziehen. Der EA baut dann sein Dashboard-Panel auf, indem er versucht, ein rechteckiges Beschriftungsobjekt zu zeichnen, und wenn dies nicht gelingt, aus Kompatibilitätsgründen auf einen Beschriftungsblock-Hintergrund zurückgreift. Titel, HI-Werte und Beschriftungen pro Zeitrahmen werden nacheinander erstellt, wobei eindeutige Objektnamen generiert werden, um Störungen zu vermeiden, wenn mehrere Instanzen ausgeführt werden. Die Initialisierung schließt mit dem Setzen eines Timers für die periodische Ausführung und dem sofortigen Aufruf von UpdateHarmony() aufruft, damit das Panel sofort gültige Daten anzeigt.

ArrayResize(tfs,4);
tfs[0].tf = PERIOD_M15; tfs[0].enabled = Use_M15; tfs[0].weight = Weight_M15; tfs[0].name = "M15";
tfs[1].tf = PERIOD_H1;  tfs[1].enabled = Use_H1;  tfs[1].weight = Weight_H1;  tfs[1].name = "H1";
tfs[2].tf = PERIOD_H4;  tfs[2].enabled = Use_H4;  tfs[2].weight = Weight_H4;  tfs[2].name = "H4";
tfs[3].tf = PERIOD_D1;  tfs[3].enabled = Use_D1;  tfs[3].weight = Weight_D1;  tfs[3].name = "D1";

bool rect_created = TryCreateRectangle(...);
if(!rect_created) CreateBackgroundBlock(...);

EventSetTimer(MathMax(1, UpdateIntervalSec));
UpdateHarmony();

Sobald der EA aktiv ist, wird sein zyklischer Betrieb durch den Ereigniszeitgeber gesteuert. In jedem Intervall ruft OnTimer() UpdateHarmony() auf, das eine neue Berechnung der Verzerrungen pro Zeitrahmen durchführt, den gewichteten Harmony-Index berechnet, ihn mit dem EMA glättet, die Nutzeroberfläche aktualisiert, Schwellenwerte prüft, Warnungen auslöst und Daten in globale Variablen für die Integration mit anderen Systemen schreibt.

void OnTimer()
{
   UpdateHarmony();
}

for(int i=0; i<4; i++)
{
    if(!tfs[i].enabled || tfs[i].weight <= 0.0) { biases[i] = 0; continue; }
    int b = GetStructureBias(tfs[i].tf);
    biases[i] = b;
    sumWeighted += (double)b * tfs[i].weight;
    sumWeights += tfs[i].weight;
}

double hi = (sumWeights != 0.0) ? (sumWeighted / sumWeights) : 0.0;
double alpha = 2.0 / (HI_EMA_Period + 1.0);
if(hi_ema == 0.0) hi_ema = hi;
else hi_ema = (hi - hi_ema) * alpha + hi_ema;

Die Logik zur Erkennung von Verzerrungen in GetStructureBias() basiert auf der Preisaktionsstruktur und nicht auf Indikatorderivaten. Es untersucht die letzten drei geschlossenen Balken eines Zeitrahmens, um zu prüfen, ob die Hochs und Tiefs eine konsistente Aufwärtstreppe für eine Aufwärtstrend oder eine Abwärtstreppe für einen Abwärtstrend bilden. Wird keine Treppe erkannt, fällt die Funktion auf den Vergleich von Kerzenschlüssen zurück, um Schwungverschiebungen zu erfassen, die möglicherweise keine strengen Strukturmuster erzeugen.

int GetStructureBias(ENUM_TIMEFRAMES tf)
{
   MqlRates rates[];
   int copied = CopyRates(_Symbol, tf, 1, 4, rates);

   if(copied >= 3)
   {
      if(rates[0].high > rates[1].high && rates[1].high > rates[2].high &&
         rates[0].low  > rates[1].low  && rates[1].low  > rates[2].low)
         return +1;

      if(rates[0].high < rates[1].high && rates[1].high < rates[2].high &&
         rates[0].low  < rates[1].low  && rates[1].low  < rates[2].low)
         return -1;
   }
   return 0;
}

Das Rendering der Nutzeroberfläche wird in Hilfsfunktionen abstrahiert, die die Erstellung und das Styling der Dashboard-Komponenten übernehmen. Durch diese Kapselung wird sichergestellt, dass die Änderung der Ästhetik des Panels keinen Einfluss auf die Berechnungslogik hat. Sollte das bevorzugte Rechteck-Etikett aufgrund von Plattformbeschränkungen nicht dargestellt werden können, wechselt der EA automatisch zu einem einfacheren Etiketten-Block-Hintergrund, wobei die funktionale Integrität erhalten bleibt.

bool TryCreateRectangle(...);
bool CreateBackgroundBlock(...);
bool CreateLabel(...);

Das Alert- und Signalplotting-Subsystem macht Händler sofort auf wichtige Änderungen der Marktausrichtung aufmerksam. Alarme werden über das Alarmsystem des Terminals versandt und können als Push-Benachrichtigungen gesendet werden, wenn dies in MetaTrader 5 aktiviert ist. Die Chart-Pfeile markieren genau die Stellen, an denen starke Aufwärts- oder Abwärtsschwellen überschritten wurden. Sie sind am Hoch oder Tief des auslösenden Balkens verankert und zur besseren Übersichtlichkeit leicht versetzt. 

void SendAlert(string txt)
{
   Print("HarmonyIndexEA: ", txt);
   Alert(txt);
   SendNotification(txt);
}

void PlaceSignalArrow(bool isBuy, datetime barTime, double price)
{
    ObjectCreate(0, name, OBJ_ARROW, 0, barTime, price);
    ObjectSetInteger(0, name, OBJPROP_ARROWCODE, isBuy ? 233 : 234);
    ObjectSetInteger(0, name, OBJPROP_COLOR, isBuy ? clrGreen : clrRed);
}

Wenn der EA entfernt wird, bereinigt OnDeinit() den Arbeitsbereich gründlich. Es löscht alle Chartobjekte, die mit dem Dashboard und den Signalen zusammenhängen, stoppt den Timer und löscht alle globalen Variablen, die von der aktuellen EA-Instanz erstellt wurden. Dadurch wird eine saubere Weste gewährleistet und eine Beeinträchtigung künftiger Analysen oder anderer EAs verhindert.

void OnDeinit(const int reason)
{
   // Delete chart objects, arrows, globals
   EventKillTimer();
}

Durch Konfiguration, Initialisierung, zeitgesteuerte Neuberechnung, UI-Rendering, Alarmierung und Bereinigung bildet der Multi-Timeframe Harmony Index ein vollständiges Analyse- und Benachrichtigungssystem mit geschlossenem Regelkreis. Jeder Code-Block ist zweckmäßig aufgebaut und dennoch miteinander verbunden, um ein Gleichgewicht zwischen Leistung, Flexibilität und Robustheit zu erreichen, das für professionelle Handelsumgebungen geeignet ist.


Nutzereingaben und Anpassungen

Der Multi-Timeframe Harmony Index wurde so konzipiert, dass er sich durch eine Reihe von hochgradig konfigurierbaren Eingabeparametern an verschiedene Handelsstile, Marktbedingungen und Händlerpräferenzen anpassen lässt. Diese Eingaben bestimmen jeden Aspekt der EA-Operation, von der Auswahl der Zeitrahmen, die an der Analyse teilnehmen, über die visuelle Darstellung des Dashboards bis hin zu den Regeln, die handlungsfähige Bias-Zustände definieren, und dem Verhalten von Warnungen und Chartsignalen. Die Konfiguration beginnt mit den Zeitfenster-Freigabeschaltern und -Gewichten. Jeder unterstützte Zeitrahmen – M15, H1, H4 und D1 – kann einzeln ein- oder ausgeschaltet werden. Wenn sie aktiviert ist, nimmt sie an der Berechnung des Harmony Index (HI) teil und steuert ihren eigenen Bias-Wert bei. Die Gewichtung, die einem Zeitrahmen zugewiesen wird, bestimmt, wie viel Einfluss er im Vergleich zu anderen hat. Händler können das Gleichgewicht des HI in Richtung kürzerer Zeitrahmen für reaktionsschnellere Signale oder in Richtung längerer Zeitrahmen für höhere strukturelle Stabilität kippen. Diese Granularität bedeutet, dass das Tool für Scalper, die eine Mikroausrichtung suchen, ebenso nützlich ist wie für Swing-Trader, die auf große strukturelle Pivots warten.

Die Schwellenwerte spielen eine entscheidende Rolle bei der Interpretation des Harmony-Index-Rohwerts. Der StrongThreshold definiert den Punkt, oberhalb dessen der Trend als stark steigend und unterhalb dessen sie als stark fallend angesehen werden kann, abhängig vom Vorzeichen des HI. Ein separater ModerateThreshold definiert Bedingungen im mittleren Bereich, die nützlich sind, um eine sich entwickelnde Ausrichtung zu erkennen, bevor sie ihre volle Stärke erreicht. Beide Schwellenwerte arbeiten mit den EMA-geglätteten HI-Werten zusammen, um die Farbkodierung und die Alarmauslöser des Dashboards zu bestimmen. Der Parameter EMA-Periode bestimmt das Glättungsverhalten. Eine kurze Zeitspanne ermöglicht es dem Harmony-Index, schnell auf neue Bias-Änderungen zu reagieren, während eine längere Zeitspanne langsamere, stabilere Signale liefert, indem sie die Empfindlichkeit gegenüber Rauschen im unteren Zeitrahmen reduziert. Dies ist ein leistungsfähiges Steuerelement zur Anpassung des EA an unterschiedliche Volatilitätsumgebungen: In schwankenden, unruhigen Perioden filtert eine längere Glättungsperiode falsche Signale heraus, während in trendigen Märkten kurze Perioden frühzeitige Partizipationsmöglichkeiten erfassen.

Über die Analyse hinaus bietet der EA optionale Warnmeldungen und eine chartbasierte Signalaufzeichnung. Die Aktivierung von Warnungen führt dazu, dass der EA den Nutzer benachrichtigt, wenn Schwellenwerte überschritten werden oder hohe Zeitrahmenverzerrungen auftreten. Wenn Sie die Signalaufzeichnung aktivieren, werden Kauf-/Verkaufspfeile im Moment des Überschreitens starker Schwellenwerte auf dem Chart angezeigt und dienen als visuelle Aufzeichnung zur späteren Überprüfung. Stil, Platzierung und Anzahl der Pfeile können fein abgestimmt werden, um Unordnung zu vermeiden und die Übersichtlichkeit zu wahren. Alle Parameter sind über die Registerkarte „Inputs“ des MetaTrader zugänglich, wenn der EA an ein Chart angehängt wird, und Änderungen werden beim erneuten Laden sofort wirksam. Dadurch wird sichergestellt, dass Händler schnell mit Konfigurationen experimentieren können, um den Harmony-Index an ihre Strategie anzupassen, ohne eine einzige Zeile Code zu bearbeiten.

Eingabe Name Typ Standard Beschreibung
Use_M15 bool true Ermöglicht die Analyse des 15-Minuten-Zeitfensters.
Weight_M15
double 0.10 Relatives Gewicht von M15 in der HI-Berechnung.
Use_H1
bool true Ermöglicht die Analyse des 1-Stunden-Zeitrahmens.
Weight_H1
double 0.20 Relatives Gewicht von H1 in der HI-Berechnung.
Use_H4
bool true Ermöglicht die Analyse des 4-Stunden-Zeitrahmens.
Weight_H4
double 0.3 Relatives Gewicht von H4 in der HI-Berechnung.
Use_D1
bool true Ermöglicht die Analyse des täglichen Zeitrahmens.
Weight_D1
double 0.40 Relatives Gewicht von D1 in der HI-Berechnung.
StrongThreshold
double 0.8 Die für einen starken Zustand erforderliche Bias-Größe.
ModerateThreshold
double 0.4 Verzerrung, die für einen gemäßigten Zustand erforderlich ist.
HI_EMA_Period
int 8 Zeitraum für die auf HI angewandte EMA-Glättung.
EnableAlerts
bool true Aktivieren Sie Schwellenwert- und Zeitrahmenwechselwarnungen.
EnableSignals
bool true Aktivieren Sie automatische Pfeile bei Überschreiten starker Schwellenwerte.
UpdateIntervalSec
int 1 Sekunden zwischen Aktualisierungen und Neuberechnungen des Dashboards.
MaxSignals
int 100 Maximale Pfeile gezeichnet, um Unübersichtlichkeit zu vermeiden.

Durch die Kombination dieses umfangreichen Parametersatzes mit der anpassungsfähigen Architektur des EA können Händler den Harmony Index so gestalten, dass er mehrere Funktionen erfüllt. In einer Konfiguration kann er als schnelles Ausrichtungswerkzeug für Scalper fungieren, das schnelle Alarme bei frühen Bias-Verschiebungen auslöst; in einer anderen Konfiguration kann er als langsamer, stetiger Trendfilter eingestellt werden, der den Positionshandel steuert, ohne auf Störungen überzureagieren. Diese Anpassungsfähigkeit ist eine entscheidende Stärke des EA und ein wichtiger Grund, jede Eingabe im Kontext Ihrer Handelsziele vollständig zu verstehen.


Tests und Ergebnisse

Um die Wirksamkeit des Harmony-Index in praktischen Handelsszenarien zu bewerten, haben wir Tests sowohl in Demo-Live-Trading- als auch in Strategie-Tester-Backtesting-Umgebungen durchgeführt.

Demo Live Chart Test-Volatilität 75 (1s) Index

Unser erster Test wurde auf einem Demo-Live-Chart durchgeführt, der den Volatility 75 (1s) Index abbildet. Das Harmony-Index-Dashboard wurde in Echtzeit überwacht, und es wurden mehrere Signale generiert, wenn in den überwachten Zeiträumen Verzerrungen auftraten.

Die Anzeige auf dem Armaturenbrett umfasst:

  • Aktuelle HI (roh) und EMA-geglättete HI-Werte.
  • Verzerrungswerte für jedes überwachte Zeitfenster (M15, H1, H4, D1).
  • Entsprechende Gewichtungsfaktoren.
  • Endgültiger gewichteter Harmony-Index-Beitrag.

Bei diesem Test stellte das System mehrere Abwärts-Ausrichtungen fest. Die Verkaufspfeile wurden genau dann eingezeichnet, wenn der Harmony-Index den negativen starken Schwellenwert überschritt, was die korrekte Signallogik bestätigte.

Abbildung oben – Demo-Live-Charttest des Volatilitätsindex 75 (1s) mit mehreren Abwärtssignalen und Harmony Index Dashboard-Ausgabe.

Backtest-GBPUSD, H1-Zeitrahmen

Ein zusätzlicher Strategietester-Backtest wurde mit GBPUSD, H1 durchgeführt, um das Tool in einem Forex-Marktkontext zu validieren. Die Backtest-Ergebnisse waren positiv, mit konsistenter Erkennung von Multi-Timeframe-Bias-Übereinstimmung und glatten EMA-basierten Harmony-Index-Werten. Diese Ergebnisse unterstreichen das große Potenzial des Harmony-Index als zuverlässige Komponente bei der Analyse von Preisbewegungen über mehrere Zeitrahmen hinweg.

Abbildung oben – GBPUSD (H1) Backtest, der zeigt, wie das Harmony-Index-Dashboard den Bias-Status verfolgt und Kauf-/Verkaufssignale erzeugt.

Sowohl die Ergebnisse der Live-Demo als auch der Backtests zeigten eine genaue Einstufung der Verzerrungen und eine zeitnahe Darstellung der Signale. In verschiedenen Marktumgebungen – synthetischer Index (Volatilität 75) und Hauptwährungspaar (GBPUSD) – hat der Harmony Index durchgängig die Richtungsübereinstimmung gemessen und verwertbare Erkenntnisse sowohl für diskretionäre als auch für algorithmische Handelssysteme geliefert.


Schlussfolgerung

Der Multi-Timeframe Harmony Index stellt eine bedeutende Entwicklung in der Art und Weise dar, wie Price Action Trader Multi-Timeframe-Trendausrichtungen quantifizieren und visualisieren können. Durch die Verdichtung der strukturellen Verzerrungen mehrerer Zeitrahmen in einer einzigen, gewichteten Metrik und die Verbesserung der Interpretierbarkeit durch intuitive Farbkodierung, schwellenwertbasierte Zustände und EMA-Glättung verwandelt der EA subjektive Informationen in objektive, umsetzbare Informationen. Anstatt sich auf fragmentierte Einschätzungen in verschiedenen Charts zu verlassen, können Händler nun in einem einzigen Dashboard sehen, ob kurz-, mittel- und langfristige Strukturen übereinstimmen oder in Konflikt stehen. Diese Klarheit ermöglicht eine schnellere Entscheidungsfindung, eine saubere Handelsfilterung und eine bessere Integration mit automatisierten Strategien. Der Harmony Index wurde mit Blick auf die Flexibilität entwickelt und passt sich an eine breite Palette von Handelsstilen an, vom Hochfrequenz-Scalping bis zum Positionshandel, indem er einfach seine Zeitrahmen, Gewichtungen, Schwellenwerte und Glättungsparameter anpasst.

Im Rahmen der Entwicklungsreihe des Price Action Analysis Toolkit zeichnet sich dieses Modul durch seine analytischen Fähigkeiten und seine Interoperabilität aus. Der Export von Harmony-Index-Werten in globale Variablen bedeutet, dass er als zentraler Trendfilter in größeren Handelssystemen dienen kann, der sowohl algorithmische als auch diskretionäre Workflows unterstützt. Der modulare Aufbau, die robuste Logik der Nutzeroberfläche und die disziplinierten Bereinigungsroutinen machen das System stabil und nutzerfreundlich für Live-Konten. Letztlich liegt die Stärke des Multi-Timeframe Harmony Index in seiner Fähigkeit, die Präzision der strukturierten Preisaktionsanalyse mit der Effizienz der Echtzeit-Automatisierung zu verbinden. Unabhängig davon, ob es als eigenständige Entscheidungshilfe oder als Teil einer umfassenderen Handelsarchitektur verwendet wird, ermöglicht es Händlern, komplexe Auswertungen mehrerer Zeitrahmen in ein einziges, lesbares Signal zu destillieren – und auf dieses Signal hin mit dem Vertrauen auf einen quantifizierten Konsens zu handeln.

Der Harmony-Index ist in erster Linie für Bildungs- und Forschungszwecke gedacht. Es sollte mit Ihren eigenen Handelsstrategien und Risikomanagementregeln verwendet werden. Die Testergebnisse der Vergangenheit sind keine Garantie für die künftige Performance, und die Händler sollten die Logik verstehen, bevor sie sie auf den Märkten anwenden.
Lesen Sie meine anderen Artikel.

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

Letzte Kommentare | Zur Diskussion im Händlerforum (3)
ayaghut
ayaghut | 4 Nov. 2025 in 09:46
Wie sollten die Eingänge für Scalping konfiguriert werden?
Christian Benjamin
Christian Benjamin | 4 Nov. 2025 in 10:54
ayaghut #:
Wie sollten die Eingaben für Scalping konfiguriert werden?
Versuchen Sie beim Scalping, niedrigere Zeitrahmen zu verwenden, z. B. die Zeitrahmen M1 bis M5, und setzen Sie für diese niedrigeren Rahmen höhere Gewichte.
Verringern Sie die Glättungslänge und den Bias-Schwellenwert leicht, um schneller reagieren zu können.
ayaghut
ayaghut | 4 Nov. 2025 in 17:39
Christian Benjamin #:
Versuchen Sie beim Scalping, niedrigere Zeitrahmen zu verwenden, z. B. M1 bis M5, und setzen Sie für diese niedrigeren Zeitrahmen höhere Gewichte.
Verringern Sie die Glättungslänge und den Bias-Schwellenwert leicht, um schneller reagieren zu können.
Könnten Sie bitte angeben, welche Elemente geändert werden sollten, und mir die genauen Beträge für M1 mitteilen?
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.
Aufbau eines Smart Trade Managers in MQL5: Automatisieren Sie Break-Even, Trailing Stop und Teilweises Schließen Aufbau eines Smart Trade Managers in MQL5: Automatisieren Sie Break-Even, Trailing Stop und Teilweises Schließen
Lernen Sie, wie man einen Smart Trade Manager Expert Advisor in MQL5 erstellt, der das Handelsmanagement mit Break-Even-, Trailing-Stop- und Partial-Close-Funktionen automatisiert. Ein praktischer, schrittweiser Leitfaden für Händler, die durch Automatisierung Zeit sparen und die Konsistenz verbessern wollen.
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.
Automatisieren von Handelsstrategien in MQL5 (Teil 37): Regelmäßige RSI-Divergenz-Konvergenz mit visuellen Indikatoren Automatisieren von Handelsstrategien in MQL5 (Teil 37): Regelmäßige RSI-Divergenz-Konvergenz mit visuellen Indikatoren
In diesem Artikel bauen wir einen MQL5 EA, der regelmäßige RSI-Divergenzen anhand von Umkehrpunkten mit Stärke, Balken-Limits und Toleranzprüfungen erkennt. Er führt Handelsgeschäfte auf Auf- oder Abwärtssignale mit festen Losgröße, SL/TP in Pips und optionalen Trailing Stops aus. Zu den visuellen Elementen gehören farbige Linien in den Charts und beschriftete Schwankungen für einen besseren Einblick in die Strategie.