
Entwicklung des Price Action Analysis Toolkit (Teil 23): Stärkemessung einer Währung
Inhalt
Einführung
Stellen Sie sich vor, Sie sind bei einem Autorennen. Jedes Fahrzeug ist einzigartig, und Sie können nicht einfach erraten, welches das schnellste oder langsamste ist. Stattdessen beobachten Sie Rundenzeiten, beurteilen die Beschleunigung, testen das Bremsverhalten und bewerten jedes Modell einzeln. Erst wenn Sie jedes Auto für sich gründlich analysiert haben, vergleichen Sie es, um die Gesamtleistung zu ermitteln.
Ähnlich funktionieren auch Währungen. Dieser EA prüft jedes Handelspaar, in dem eine Währung auftaucht. Für den USD werden zum Beispiel USDJPY, EURUSD, GBPUSD, USDCHF und andere untersucht. Er misst, wie stark sich jedes Paar in verschiedenen Zeitrahmen bewegt hat, zunächst in M15, dann in H1 und schließlich in H4. Diese Rückblickzeiträume werden durch die Parameter Lookback_M15, Lookback_H1 und Lookback_H4 festgelegt.
Wenn es sich bei der fraglichen Währung um die Kurswährung eines Paares handelt, kehrt der EA diese Veränderung um, um ihre Stärke genau widerzuspiegeln. Nachdem diese Bewegungen für alle relevanten Paare berechnet wurden, werden die Ergebnisse zu einem einzigen Stärke-Wert für jede Währung gemittelt. Der EA aktualisiert diese Berechnungen alle paar Sekunden, wie durch den Parameter Update_Seconds angegeben. Anschließend wird das Dashboard neu gezeichnet, um die aktuellen Stärken anzuzeigen, protokolliert, welche Währungen stark, schwach oder neutral sind, und aktualisiert visuelle Kurven, die das Eigenkapital und den Drawdown Ihres Kontos anzeigen.
In diesem Artikel werden wir ein MQL5-Tool entwickeln, das die Währungsstärke misst, indem es die Leistung jedes Symbols über mehrere Paare hinweg analysiert. Dieser Ansatz ermöglicht es Ihnen, die stärksten und schwächsten Währungen zuverlässig zu identifizieren, sodass Sie mit größerem Vertrauen handeln können.
Die Strategie verstehen
Die Hauptaufgabe des EA besteht darin, zu messen, wie stark oder schwach eine einzelne Währung ist, indem er alle Paare, in denen sie auftritt, über mehrere Zeitrahmen hinweg betrachtet. Dazu gehen wir folgendermaßen vor, um die Stärke der einzelnen Währungen über ihre Paare und Zeitrahmen hinweg zu berechnen.
Relevante Paare auswählen
Wir erfassen für jede der acht Hauptwährungen alle Währungspaare, in denen sie vorkommt (z. B. USD in USDJPY, EURUSD, GBPUSD, USDCHF).
Berechnen der %-Änderung
Wir berechnen auf dem von Ihnen gewählten Zeitrahmen (z. B. M15, H1, H4) die prozentuale Bewegung über den Rückblickzeitraum für jedes Paar:
Normalisieren der Vorzeichen
Wenn die Währung, die wir messen, die Kurswährung (zweite Währung) des Paares ist, kehren wir das Vorzeichen der prozentualen Veränderung um, sodass die stärkere Kurswährung immer als positive Stärke angezeigt wird.
Durchschnitt über die Paare
Wir nehmen die (vorzeichenbehafteten) %-Änderungswerte für alle Paare und berechnen einen einfachen Durchschnitt. So erhalten wir einen einzigen „Stärke-Score“ für die Währung in diesem Zeitrahmen.
Das obige Chart veranschaulicht unseren Prozess am Beispiel des USD. Wir messen die USD-Stärke in jedem Paar, in dem sie auftritt, über mehrere Zeitrahmen hinweg. So lässt sich feststellen, in welchem Zeitrahmen der USD am stärksten oder am schwächsten ist.
Code-Aufschlüsselung
Der EA beginnt mit der Definition wesentlicher Eigenschaften: Copyright, Link, Version und strikter Kompilierungsmodus. Diese Richtlinien helfen dabei, den EA zu identifizieren und sicherzustellen, dass er die erwarteten Standards in der MetaTrader-Umgebung einhält. Es bindet dann die Bibliothek SymbolInfo.mqh ein, die Funktionen zur Verwaltung und Abfrage von Symbolinformationen bietet, die für die Auswahl, Aktivierung und den dynamischen Abruf von Daten aus mehreren Währungspaaren unerlässlich sind. Diese Einbeziehung ist entscheidend, da der EA auf Daten für verschiedene Symbole zugreifen muss, die möglicherweise nicht standardmäßig aktiviert sind, um sicherzustellen, dass das Skript reibungslos über mehrere Paare hinweg funktioniert.
#property copyright "Copyright 2025, MetaQuotes Ltd." #property link "https://www.mql5.com/en/users/lynnchris" #property version "1.0" #property strict #include <Trade\SymbolInfo.mqh>
Als Nächstes definiert der Code mehrere Eingabeparameter, wie Lookback_M15, Lookback_H1 und Lookback_H4, die angeben, wie viele historische Balken für die Berechnung der Währungsstärke auf den jeweiligen Zeitrahmen berücksichtigt werden. Update_Seconds legt fest, wie häufig das Dashboard aktualisiert wird, um ein Gleichgewicht zwischen Echtzeit-Reaktionsfähigkeit und Recheneffizienz herzustellen.
Mit den Parametern FontSize, BackgroundColor, PanelWidth, PanelHeight und der Anfangsposition können die Nutzer das Erscheinungsbild und die Platzierung des Dashboards in ihrem Chart anpassen, sodass es sich an unterschiedliche Bildschirmgrößen und persönliche Vorlieben anpassen lässt. Die Rückblickszeiträume beeinflussen, wie empfindlich oder gleichmäßig die Stärkeberechnung der Währungen sind: kürzere Zeiträume reagieren schneller, können aber verrauscht sein, während längere Zeiträume mehr Stabilität, aber eine langsamere Reaktion bieten.
input int Lookback_M15 = 96; input int Lookback_H1 = 48; input int Lookback_H4 = 30; input int Update_Seconds = 30; input int FontSize = 12; input color BackgroundColor = clrBlack; input int PanelWidth = 280; input int PanelHeight = 240; input int InitPanelX = 10; input int InitPanelY = 10;
Die Arrays der Währungen „Currencies“ und der Paare „Pairs“ sind statische Datenstrukturen, in denen die wichtigsten Währungen und die zugehörigen Währungspaare aufgelistet sind. Die Organisation stellt sicher, dass die entsprechenden Währungspaare zusammen gruppiert werden, was das Durchlaufen von Schleifen während der Stärkeberechnungen vereinfacht. Das Array Pairs enthält beispielsweise vier Paare pro Währung, wobei jedes Paar die Währung entweder als Basis oder als Kurs enthält. Durch diese systematische Gruppierung können die Berechnungsfunktionen effizient beurteilen, wie jede Währung im Vergleich zu anderen abschneidet, indem sie mehrere Paare gleichzeitig analysieren und so ein umfassenderes Maß für die Stärke liefern.
static const string Currencies[8] = {"USD","EUR","GBP","JPY","CHF","CAD","AUD","NZD"}; static const string Pairs[8][4] = { {"USDJPY","EURUSD","GBPUSD","USDCHF"}, {"EURUSD","EURJPY","EURGBP","EURCHF"}, // ... ......... };
Es werden globale Variablen deklariert, um die berechneten Stärkewerte über die verschiedenen Zeiträume hinweg zu speichern, und zwar in einem zweidimensionalen Array Strength[8][3]. Diese Werte werden auf dem Dashboard angezeigt und zu Protokollierungszwecken verwendet. Zusätzliche Variablen wie LastUpdate halten fest, wann die Daten das letzte Mal aktualisiert wurden, um unnötige Neuberechnungen zu vermeiden.
Die Variablen zum Ziehen, dragOffsetX und dragOffsetY verwalten die Nutzerinteraktionen, insbesondere um dem Händler zu ermöglichen, das Dashboard durch Ziehen mit der Maus neu zu positionieren. Um die Kontoperformance zu visualisieren, werden die Arrays times[] und equities[] deklariert, um mit Zeitstempeln versehene Kontokapitaldatenpunkte zu speichern, wobei dataCount festhält, wie viele Punkte gesammelt wurden; diese sind für die Darstellung der Aktien- und Drawdown-Trends des Kontos im Zeitverlauf unerlässlich.
double Strength[8][3]; // [currency][timeframe] datetime LastUpdate; int dataCount; double equities[MAX_POINTS]; datetime times[MAX_POINTS]; int PanelX, PanelY; bool dragging; int dragOffsetX, dragOffsetY;
Während der Initialisierung OnInit() setzt der EA die Startposition des Dashboards auf der Grundlage von Nutzereingaben. Anschließend werden alle Währungspaare in einer Schleife durchlaufen und SymbolSelect() für jedes Paar aufgerufen, um den Datenzugriff zu ermöglichen. Dieser Schritt ist von entscheidender Bedeutung, denn wenn die Symbole nicht aktiviert sind, würden nachfolgende Datenabruffunktionen wie iClose() fehlschlagen, was zu falschen Berechnungen oder Fehlern führen würde.
Der Code initialisiert dann den Zeitstempel LastUpdate und setzt den Datenzähler dataCount zurück. Er führt eine anfängliche Berechnung der Währungsstärke mit UpdateStrengths() durch, um sicherzustellen, dass das Dashboard sofort nach dem Start aktuelle Daten anzeigt. Die Funktion DrawPanel() wird aufgerufen, um ein visuelles Dashboard mit Beschriftungen, farbigen Balken und Überschriften zu erstellen, das eine intuitive und visuell ansprechende Oberfläche bietet.
Darüber hinaus wird LogCurrencyStrengths() aufgerufen, um eine textuelle Zusammenfassung der Währungsstatus im Terminal auszugeben, die den Händlern einen schnellen Überblick verschafft. Schließlich plant EventSetTimer() die periodische Aktualisierungsroutine in den durch Update_Seconds festgelegten Intervallen, sodass das Dashboard automatisch und ohne manuelles Eingreifen aktualisiert werden kann.
int OnInit() { PanelX = InitPanelX; PanelY = InitPanelY; for(int i=0; i<8; i++) for(int j=0; j<4; j++) SymbolSelect(Pairs[i][j], true); LastUpdate = 0; dataCount = 0; UpdateStrengths(); DrawPanel(); LogCurrencyStrengths(1); EventSetTimer(Update_Seconds); return(INIT_SUCCEEDED); }
Wenn der EA deinitialisiert (OnDeinit()) wird, werden die Aufräumarbeiten durchgeführt: Entfernen der Timer-Ereignisse mit EventKillTimer(), Löschen aller grafischen Objekte, die mit dem Dashboard verbunden sind (einschließlich des Hintergrunds, der Beschriftungen, der Balken und der Überschriften), und Löschen der Trendlinien für Equity und Drawdown. Diese Bereinigung verhindert, dass übrig gebliebene Objekte das Chart verunreinigen oder Ressourcen verbrauchen, und gewährleistet eine aufgeräumte Umgebung, wenn der EA entfernt oder neu geladen wird.
void OnTimer() { if(TimeCurrent() - LastUpdate < Update_Seconds) return; LastUpdate = TimeCurrent(); UpdateStrengths(); DrawPanel(); LogCurrencyStrengths(1); double eq = AccountInfoDouble(ACCOUNT_EQUITY); if(dataCount < MAX_POINTS) { times[dataCount] = TimeCurrent(); equities[dataCount] = eq; dataCount++; } DrawEquityLines(); DrawDrawdownLines(); }
Die zentrale Aktualisierungslogik befindet sich in der Funktion OnTimer(), die in regelmäßigen Abständen ausgeführt wird. Zunächst wird geprüft, ob seit der letzten Aktualisierung genügend Zeit vergangen ist, indem die aktuelle Zeit mit LastUpdate verglichen wird. Wenn das angegebene Intervall noch nicht verstrichen ist, wird das Programm vorzeitig beendet, um übermäßige Berechnungen zu vermeiden. Wenn es ausgelöst wird, wird LastUpdate auf die aktuelle Zeit aktualisiert und es wird UpdateStrengths() aufgerufen, um die Scores der Währungsstärken auf der Grundlage der aktuellen Marktdaten neu zu berechnen.
Anschließend wird DrawPanel() aufgerufen, um das visuelle Dashboard zu aktualisieren und die Beschriftungen, Farben und Balken an die aktuellen Werte anzupassen. Außerdem werden die aktuellen Währungsstände über LogCurrencyStrengths() protokolliert, was einen textuellen Einblick ermöglicht. Die Funktion holt dann den aktuellen Kontostand (AccountInfoDouble(ACCOUNT_EQUITY)) und fügt den Zeitstempel und den Wert des Kontostands an die entsprechenden Arrays an, sofern die maximale Anzahl der Datenpunkte noch nicht erreicht ist.
Diese gespeicherten Datenpunkte werden von DrawEquityLines() und DrawDrawdownLines() verwendet, um die Performance-Trendlinien zu aktualisieren, die das Wachstum und das Risiko des Kontos im Laufe der Zeit visuell darstellen. Dieser Zyklus stellt sicher, dass das gesamte Dashboard mit den Echtzeit-Marktbedingungen und der Kontoperformance synchronisiert bleibt.
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if(id==CHARTEVENT_OBJECT_CLICK && sparam=="CS_BG") { dragging = true; dragOffsetX = (int)lparam - PanelX; dragOffsetY = (int)dparam - PanelY; } else if(id==CHARTEVENT_MOUSE_MOVE && dragging) { PanelX = (int)lparam - dragOffsetX; PanelY = (int)dparam - dragOffsetY; DrawPanel(); } else if(dragging && id==CHARTEVENT_OBJECT_CLICK) { dragging = false; } }
Die Nutzerinteraktion wird in OnChartEvent() verwaltet. Wenn der Nutzer auf das Hintergrundrechteck („CS_BG“) klickt, wird der Modus zum Ziehen aktiviert und der Versatz zwischen der Mausposition und der aktuellen Position des Panels aufgezeichnet. Wenn sich die Maus bewegt (CHARTEVENT_MOUSE_MOVE), wird die Position des Panels dynamisch aktualisiert, sodass der Händler das Dashboard interaktiv neu positionieren kann, um eine bessere Sicht zu erhalten. Wenn der Nutzer die Maustaste loslässt oder an anderer Stelle klickt, wird der Ziehmodus deaktiviert und das Bedienfeld in seiner neuen Position fixiert. Diese Funktion verbessert die Nutzerfreundlichkeit und macht das Dashboard anpassbar für verschiedene Arbeitsbereichslayouts.
double CalculateStrength(int ci, ENUM_TIMEFRAMES tf, int lookback) { double sum = 0; int cnt = 0; for(int j=0; j<4; j++) { string sym = Pairs[ci][j]; if(Bars(sym, tf) < lookback+1) continue; double now = iClose(sym, tf, 0); double prev = iClose(sym, tf, lookback); if(prev == 0) continue; double pct = (now - prev) / prev * 100.0; if(StringFind(sym, Currencies[ci]) > 0) pct = -pct; sum += pct; cnt++; } return (cnt == 0) ? 0 : sum / cnt; }
Die Berechnung der Währungsstärke wird in UpdateStrengths() und CalculateStrength() durchgeführt. UpdateStrengths() iteriert durch jeden Währungsindex und ruft CalculateStrength() für jeden der drei Zeitrahmen auf.
CalculateStrength() ruft den letzten Schlusskurs (iClose()) für jedes relevante Paar ab und holt dann die historischen Schlusskurse aus dem Rückblickzeitraum. Es wird geprüft, ob genügend Balken für die Berechnung zur Verfügung stehen; wenn nicht, wird das Paar übersprungen, um Fehler zu vermeiden. Die prozentuale Veränderung über den Rückblickszeitraum wird berechnet, und wenn die betreffende Währung die Kurswährung des Paares ist, wird das Vorzeichen der Veränderung umgekehrt, um die relative Stärke der Basiswährung genau zu messen.
Durch diese Umkehrung wird sichergestellt, dass eine Aufwertung der Notierungswährung eine Abschwächung der Basiswährung widerspiegelt und die Konsistenz der Berechnungen gewahrt bleibt. Die Funktion summiert diese prozentualen Veränderungen über alle vier Paare für jede Währung und bildet den Durchschnitt, um einen repräsentativen Stärke-Score zu erzeugen, der im Array Stärke zur Anzeige und Protokollierung gespeichert wird.
void DrawPanel() { RemovePanel(); ObjectCreate(0, "CS_BG", OBJ_RECTANGLE_LABEL, 0, 0, 0); ObjectSetInteger(0, "CS_BG", OBJPROP_CORNER, CORNER_LEFT_UPPER); ObjectSetInteger(0, "CS_BG", OBJPROP_XDISTANCE, PanelX); ObjectSetInteger(0, "CS_BG", OBJPROP_YDISTANCE, PanelY); ObjectSetInteger(0, "CS_BG", OBJPROP_XSIZE, PanelWidth); ObjectSetInteger(0, "CS_BG", OBJPROP_YSIZE, PanelHeight); // Add headers, labels, colored bars for each currency }
Die visuelle Darstellung dieser Daten erfolgt mit DrawPanel(), das ein Rechteck über dem vorgesehenen Dashboard-Bereich erstellt. Die Kopfzeilen für die einzelnen Zeiträume sind der Übersichtlichkeit halber am Anfang hinzugefügt. Die Funktion durchläuft dann jede Währung in einer Schleife und erstellt Beschriftungen für den Währungsnamen, den numerischen Wert der Stärke (mit zwei Dezimalstellen formatiert) und einen farbigen Balken, der die Stärke oder Schwäche visuell anzeigt.
Das Farbschema verwendet Grüntöne für stärkere Währungen, Orange für neutrale und Rot für schwächere Währungen, sodass Händler die Marktbedingungen schnell visuell einschätzen können. Die Breite des Balkens ist proportional zum Wert der Stärke, was einen intuitiven visuellen Anhaltspunkt bietet. Diese systematischen, konsistenten grafischen Elemente machen das Dashboard auf einen Blick informativ und leicht zu interpretieren.
void RemovePanel() { for(int i=ObjectsTotal(0)-1; i>=0; i--) { string name = ObjectName(0, i); if(StringFind(name, "CS_") == 0 || StringFind(name, "Lbl_") == 0 || StringFind(name, "Bar_") == 0) ObjectDelete(0, name); } }
Wenn das Dashboard aktualisiert oder entfernt werden muss, löscht RemovePanel() alle Objekte mit bestimmten Namenspräfixen, die mit dem Dashboard in Verbindung stehen, wie „CS_“, „Hdr_“, „Lbl_“, „Val_“ und „Bar_“. Dieses systematische Löschen sorgt dafür, dass das Chart sauber bleibt und verhindert grafische Unordnung, sodass das Dashboard bei jeder Aktualisierung von Grund auf neu aufgebaut werden kann, ohne dass sich mit der Zeit Restobjekte ansammeln.
void DrawEquityLines() { for(int i=1; i< dataCount; i++) { string id = StringFormat("EQ_%d", i); ObjectDelete(0, id); ObjectCreate(0, id, OBJ_TREND, 0, times[i-1], equities[i-1], times[i], equities[i]); ObjectSetInteger(0, id, OBJPROP_COLOR, clrYellow); ObjectSetInteger(0, id, OBJPROP_WIDTH, 2); } }
Die Funktionen DrawEquityLines() und DrawDrawdownLines() visualisieren den Performance-Trend des Kontos. Jedes Mal, wenn neue Aktiendaten aufgezeichnet werden, löschen diese Funktionen frühere Trendobjekte („EQ_“ und „DD_“), um das Chart sauber zu halten. Sie erstellen dann neue Trendobjekte, die die gespeicherten Datenpunkte miteinander verbinden, und zwar in unterschiedlichen Farben - gelb für Aktien und rot für Drawdown -, um die beiden klar zu unterscheiden.
Die Trendlinien zeigen an, wie sich der Wert des Kontos entwickelt hat und wie hoch der maximale Drawdown war. Diese visuellen Darstellungen sind nur dann wirklich aussagekräftig, wenn der EA den Handel aktiv verwaltet, da sie sich auf die durch ausgeführte Aufträge verursachten Veränderungen des Kontokapitals stützen.
void DrawDrawdownLines() { double peak = -DBL_MAX; for(int i=1; i< dataCount; i++) { peak = MathMax(peak, equities[i-1]); double dd = equities[i-1] - peak; string id = StringFormat("DD_%d", i); ObjectDelete(0, id); ObjectCreate(0, id, OBJ_TREND, 0, times[i-1], dd, times[i], equities[i] - peak); ObjectSetInteger(0, id, OBJPROP_COLOR, clrRed); ObjectSetInteger(0, id, OBJPROP_WIDTH, 2); } }
Dies ist ein wichtiger Punkt: Der Code für die Darstellung von Equity und Drawdown ist zwar enthalten und generiert Trendlinien, ihr Nutzen hängt jedoch stark davon ab, ob der EA automatische Handelsoperationen durchführt. Wenn es sich um einen rein informativen oder manuellen EA handelt, ändert sich der Kontostand nur, wenn der Händler manuell handelt oder Einzahlungen/Abhebungen vornimmt. In solchen Fällen kann es sein, dass die Kapitalkurve die Echtzeit-Handelsperformance nicht genau wiedergibt und die Trendlinien statisch oder weniger aussagekräftig sind.
Daher sind diese Zeichen-Funktionen am wertvollsten, wenn sie in einen EA integriert sind, der aktiv automatische Trades durchführt und den Kontostand kontinuierlich anpasst. Wenn ein solches automatisches Handelssystem eingesetzt wird, bietet die Kapitalkurve eine Echtzeitdarstellung des Kontowachstums, des Drawdowns und der Gesamtperformance, was für das Risikomanagement und die Leistungsbewertung von unschätzbarem Wert sein kann.
void LogCurrencyStrengths(int tfIdx) { string sStrong="", sWeak="", sNeutral=""; for(int i=0; i<8; i++) { double v = Strength[i][tfIdx]; if(v > 0.3) sStrong += Currencies[i] + " "; else if(v < -0.3) sWeak += Currencies[i] + " "; else sNeutral += Currencies[i] + " "; } Print("Strong: ", sStrong, "| Weak: ", sWeak, "| Neutral: ", sNeutral); }
Schließlich liefert LogCurrencyStrengths() eine textuelle Zusammenfassung, indem es jede Währung auf der Grundlage vordefinierter Schwellenwerte (z. B. größer als +0,3 %, kleiner als -0,3 %) als stark, schwach oder neutral kategorisiert. Es verkettet die Währungscodes zu Zeichenfolgen für jede Kategorie und gibt diese Zusammenfassungen im Terminalfenster aus. Dieser Textüberblick bietet einen schnellen Überblick über die Marktstimmung in den wichtigsten Währungen und ergänzt die grafische Darstellung für Händler, die einen schnellen Einblick auf hohem Niveau bevorzugen.
Ergebnisse
In diesem Abschnitt werden wir die Ergebnisse unserer EA-Tests auf MetaTrader 5 überprüfen.
Währung | M15 | H1 | H4 |
---|---|---|---|
USD | -0.11 | +1.12 | +2.20 |
EUR | -0.23 | -0.38 | -0.38 |
GBP | +0.20 | +0.49 | +0.67 |
JPY | +0.01 | -1.44 | -2.48 |
CHF | +0.32 | -0.25 | -0.33 |
CAD | +0.17 | +0.34 | +0.16 |
AUD | +0.05 | +0.71 | +0.52 |
NZD | +0.10 | +0.76 | +0.13 |
- Der USD ist sowohl auf H1 (+1,12 ) als auch auf H4 (+2,20 ) am stärksten, trotz einer kurzen M15-Delle.
- JPY und EUR sind am schwächsten auf H1 (-1,44 und -0,38 ) und H4 (-2,48 und -0,38).
- GBP, CAD, AUD und NZD zeigen auf H1/H4 leichte bis mittlere Stärke und sind damit sekundäre „starke“ Kandidaten.
Schlussfolgerung
Die Stärkemessung einer Währung hilft Ihnen, Verschiebungen in einem Paar über mehrere Zeitrahmen hinweg zu erkennen. Sie liefert eine klare Momentaufnahme der potenziellen Marktrichtung. Das bedeutet nicht, dass Sie sofort handeln sollten. Nutzen Sie sie stattdessen, um optimale Einstiegsniveaus zu finden und Ihre Risikomanagement- und Bestätigungsstrategien anzuwenden. Dieses Instrument ist ein Ausgangspunkt für die Messung der Währungsstärke, und es besteht die Möglichkeit, die Analyse zu verfeinern und die Darstellung der Ergebnisse zu verbessern. Bleiben Sie dran für weitere Entwicklungen bei den kommenden Projekten.
Datum | Name des Tools | Beschreibung | Version | Aktualisierungen | Hinweis |
---|---|---|---|---|---|
01/10/24 | Chart Projector | Skript zur Überlagerung der Kursentwicklung des Vortages mit einem Ghost-Effekt. | 1.0 | Erste Veröffentlichung | Tool Nummer 1 |
18/11/24 | Analytical Comment | Er liefert Informationen zum Vortag in Tabellenform und nimmt die zukünftige Marktentwicklung vorweg. | 1.0 | Erste Veröffentlichung | Tool Nummer 2 |
27/11/24 | Analytics Master | Reguläre Aktualisierung der Marktmetriken alle zwei Stunden. | 1.01 | Zweite Veröffentlichung | Tool Nummer 3 |
02/12/24 | Analytics Forecaster | Reguläre Aktualisierung der Marktmetriken alle zwei Stunden mit Telegram-Integration. | 1.1 | Dritte Ausgabe | Tool Nummer 4 |
09/12/24 | Volatility Navigator | Der EA analysiert die Marktbedingungen anhand der Indikatoren Bollinger Bands, RSI und ATR. | 1.0 | Erste Veröffentlichung | Tool Nummer 5 |
19/12/24 | Mean Reversion Signal Reaper | Analysiert den Markt anhand der Strategie „Umkehr zur Mitte“ und liefert Signale. | 1.0 | Erste Veröffentlichung | Tool Nummer 6 |
9/01/25 | Signal Pulse | Analysator für mehrere Zeitrahmen. | 1.0 | Erste Veröffentlichung | Tool Nummer 7 |
17/01/25 | Metrics Board | Bedienfeld mit Taste für die Analyse. | 1.0 | Erste Veröffentlichung | Tool Nummer 8 |
21/01/25 | External Flow | Analytik durch externe Bibliotheken. | 1.0 | Erste Veröffentlichung | Tool Nummer 9 |
27/01/25 | VWAP | Volumengewichteter Durchschnittspreis | 1.3 | Erste Veröffentlichung | Tool Nummer 10 |
02/02/25 | Heikin Ashi | Trendglättung und Identifizierung von Umkehrsignalen | 1.0 | Erste Veröffentlichung | Tool Nummer 11 |
04/02/25 | FibVWAP | Signalerzeugung durch Python-Analyse | 1.0 | Erste Veröffentlichung | Werkzeug Nummer 12 |
14/02/25 | RSI DIVERGENCE | Kursentwicklung versus RSI-Divergenzen | 1.0 | Erste Veröffentlichung | Tool Nummer 13 |
17/02/25 | Parabolic Stop and Reverse (PSAR) | Automatisierung der PSAR-Strategie | 1.0 | Erste Veröffentlichung | Tool Nummer 14 |
20/02/25 | Quarters Drawer Script | Einzeichnen der Ebenen der Viertel auf dem Chart | 1.0 | Erste Veröffentlichung | Tool Nummer 15 |
27/02/25 | Intrusion Detector | Erkennen und warnen, wenn der Preis ein Viertel-Niveau erreicht | 1.0 | Erste Veröffentlichung | Tool Nummer 16 |
27/02/25 | TrendLoom Tool | Analysepanel für mehrere Zeitrahmen | 1.0 | Erste Veröffentlichung | Tool Nummer 17 |
11/03/25 | Quarters Board | Bedienfeld mit Tasten zum Aktivieren oder Deaktivieren der Viertel-Ebenen | 1.0 | Erste Veröffentlichung | Tool Nummer 18 |
26/03/25 | ZigZag Analyzer | Zeichnen von Trendlinien mit dem ZigZag-Indikator | 1.0 | Erste Veröffentlichung | Tool Nummer 19 |
10/04/25 | Correlation Pathfinder | Plotten von Währungskorrelationen mit Python-Bibliotheken. | 1.0 | Erste Veröffentlichung | Tool Nummer 20 |
23/04/25 | Market Structure Flip Detector Tool | Erkennung von Marktstrukturschwankungen | 1.0 | Erste Veröffentlichung | Tool Nummer 21 |
08/05/25 | Correlation Dashboard | Beziehung zwischen verschiedenen Paaren | 1.0 | Erste Veröffentlichung | Tool Nummer 22 |
13/05/25 | Currency Strength Meter | Messung der Stärke der einzelnen Währungen über alle Paare hinweg | 1.0 | Erste Veröffentlichung | Tool Nummer 22 |
Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/en/articles/18108
Warnung: Alle Rechte sind von MetaQuotes Ltd. vorbehalten. Kopieren oder Vervielfältigen untersagt.
Dieser Artikel wurde von einem Nutzer der Website verfasst und gibt dessen persönliche Meinung wieder. MetaQuotes Ltd übernimmt keine Verantwortung für die Richtigkeit der dargestellten Informationen oder für Folgen, die sich aus der Anwendung der beschriebenen Lösungen, Strategien oder Empfehlungen ergeben.





- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.