English 日本語
preview
Entwicklung eines Toolkit zur Analyse von Preisaktionen (Teil 2):  Ein Script für analytische Kommentare

Entwicklung eines Toolkit zur Analyse von Preisaktionen (Teil 2): Ein Script für analytische Kommentare

MetaTrader 5Beispiele | 4 April 2025, 07:54
115 0
Christian Benjamin
Christian Benjamin

Einführung

Um die Preisaktionsanalyse zu vereinfachen und die Markteinschätzung zu beschleunigen, habe ich ein robustes Tool entwickelt, das auf dem Konzept des Chartprojektors basiert. Dieses Tool bietet eine effiziente Zusammenfassung der wichtigsten Marktwerte, indem es Händlern erlaubt, ein einziges Skript auszuführen, ohne im Chart zu navigieren. Es zeigt die wichtigsten Kennzahlen an, darunter die Eröffnungs- und Schlusskurse des Vortags, wichtige Unterstützungs- und Widerstandsniveaus, die Höchst- und Tiefstwerte des Vortags sowie das Handelsvolumen. Zusätzlich wird eine vertikale Tabelle direkt auf dem Chart angezeigt, um eine einfache Referenz zu ermöglichen.

Das Tool zeichnet automatisch wichtige Unterstützungs- und Widerstandslinien und gibt Ihnen visuelle Anhaltspunkte für die Analyse. Darüber hinaus bietet er hilfreiche Kommentare zu den Marktbedingungen und potenziellen Bewegungen, die Ihren Handelsentscheidungen einen wertvollen Kontext verleihen.

Wir werden mit den folgenden Unterthemen fortfahren:

  1. Warum sollte man sich auf dieses Tool konzentrieren?
  2. Überblick über das neue Tool
  3. Das MQL5-Skript
  4. Die Code-Entwicklung
  5. Tests
  6. Schlussfolgerung


Warum sollte man sich auf dieses Instrument konzentrieren?

Nachdem ich untersucht habe, wie sich bestimmte Marktinformationen auf die Vorhersage der Marktrichtung auswirken, habe ich ein Tool entwickelt, das schnell die wichtigsten Markteinblicke liefert. Das bedeutet, dass Sie keine historischen Daten durchsuchen oder komplizierte Berechnungen durchführen müssen. Dieses Tool zeichnet sich dadurch aus, dass es Informationen in Sekundenschnelle bereitstellen kann.

Sie zeigt die Eröffnungs- und Schlusskurse des Vortages und hebt die wichtigsten Widerstands- und Unterstützungsniveaus hervor. Am wichtigsten ist vielleicht, dass es sowohl das aktuelle Volumen als auch das Volumen des Vortages berechnet. Das Verständnis des Volumens ist entscheidend, da es die Marktbeteiligung widerspiegelt. Wenn das heutige Volumen deutlich höher ist als das gestrige, deutet dies darauf hin, dass sich mehr Händler engagieren, was zu stärkeren Kursbewegungen führen und den vorherrschenden Preistrend verstärken kann, unabhängig davon, ob er sich aufwärts (bullish) oder abwärts (bearish) bewegt. Durch die Kombination all dieser Informationen werden Erkenntnisse über die erwartete Kursrichtung gewonnen.

Einige der wichtigsten Merkmale sind in der nachstehenden Tabelle aufgeführt.

Vorteile Beschreibung
Identifizierung von Schlüsselebenen Die Kenntnis der Höchst- und Tiefstkurse des Vortages kann Händlern helfen, wichtige psychologische Niveaus zu ermitteln, bei denen der Kauf- oder Verkaufsdruck zunehmen könnte.
Volumen Einblicke Die Analyse des Volumens hilft den Händlern, das Marktinteresse abzuschätzen. Ein hohes Volumen auf einem bestimmten Kursniveau deutet oft auf eine starke Überzeugung der Händler hin und ist somit eine wichtige Referenz für zukünftige Geschäfte.
Trendbestätigung Die Eröffnungs- und Schlusskurse geben Aufschluss über die Marktstimmung. Ein höherer Schlusskurs im Vergleich zum Eröffnungskurs deutet auf eine Aufwärtsstimmung hin, während das Gegenteil auf eine Abwärtsstimmung hindeutet.
Chart-Hinweise Das Skript fügt horizontale Linien für Unterstützung und Widerstand in das Chart ein und liefert so visuelle Anhaltspunkte, die die Analyse des Händlers verbessern können. Diese visuelle Unterstützung erleichtert das Verständnis der Marktniveaus und der Preisdynamik.
Klare Kommunikation Die Verwendung eines Kommentarfeldes auf dem Chart hilft, kritische Analysen kurz und bündig zu kommunizieren, was zu einer schnellen Entscheidungsfindung beitragen kann.
Lernwerkzeug Anfängern kann das Skript als Lehrmittel dienen, um zu verstehen, wie man historische Kursdaten, das Volumen und die Implikationen für zukünftige Kursbewegungen liest und interpretiert.
Effizienz und Zeitersparnis Das Tool automatisiert die Berechnung und Abfrage von Schlüsselindikatoren und spart so Zeit. So können sich die Händler auf die Ausführung ihrer Handelspläne konzentrieren, anstatt Daten zu sammeln.


Überblick über das Skript

Das MQL5-Skript, das wir uns ansehen werden, hilft Ihnen, automatisch wichtige Metriken des vorangegangenen Handelstages zu sammeln. Dies erleichtert die Analyse, sodass Sie mehr Zeit auf die Strategie und weniger auf die Datensammlung verwenden können. Das Skript geht folgendermaßen vor. 

1. Berechnung und Anzeige der wichtigsten technischen Niveaus durch direkten Abruf der Daten des vorherigen Handelstages auf der Handelsplattform.

Technische Schlüsselebenen

 Abb. 1. Wesentliche Ebenen

Abbildung 1 zeigt die wichtigsten Informationen über den Markt, einschließlich der Eröffnungs- und Schlusskurse des Vortags, der wichtigsten Widerstands- und Unterstützungsniveaus und der Reaktion des Marktes auf diese Niveaus.

2. Hinweise zum Chart zum sofortigen Überblick.

Wie die Informationen angezeigt werden

Abb. 2. Quick Chart Referenz

In Abbildung 2 sehen Sie, wie der unmittelbare Überblick im MetaTrader 5-Chart dargestellt werden.

Schauen wir uns das Skript genauer an, um zu verstehen, wie es funktioniert.


Das MQL5-Skript

Das Skript wurde entwickelt, um die Marktentwicklung des Vortages zu analysieren und den Händlern die wichtigsten Analysen zu präsentieren. Es ist besonders nützlich für Daytrader und technische Analysten, die sich auf das Verständnis der jüngsten Kursbewegungen und Volumentrends verlassen, um fundierte Handelsentscheidungen zu treffen. Nachfolgend finden Sie das vollständige Skript, das Sie auf Ihrer MetaTrader 5-Plattform implementieren können:

//+------------------------------------------------------------------+
//|                                                          ACS.mq5 |
//|                        Copyright 2024, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright   "2024, MetaQuotes Software Corp."
#property link        "https://www.mql5.com/en/users/lynnchris"
#property description "Script that displays previous day metrics on the current chart and predicts market direction."
#property version     "1.0"

#include <Trade\Trade.mqh>

//+------------------------------------------------------------------+
//| Input parameters                                                 |
//+------------------------------------------------------------------+
input color TableTextColor = clrBlue; // Text color for the table
input int   TableXOffset   = 10;      // X offset for the table
input int   TableYOffset   = 50;      // Y offset for the table
input color SupportColor = clrGreen; // Color for the support line
input color ResistanceColor = clrRed; // Color for the resistance line

//+------------------------------------------------------------------+
//| Global variables                                                 |
//+------------------------------------------------------------------+
double prevDayHigh, prevDayLow, prevDayOpen, prevDayClose, prevDayVolume;
double currentDayVolume;
double keySupport, keyResistance; // Initialized but will be calculated

//+------------------------------------------------------------------+
//| Main function                                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- Get previous day's data
   int prevDayIndex = iBarShift(NULL, PERIOD_D1, iTime(NULL, PERIOD_D1, 1));

   if(prevDayIndex == -1)
     {
      Print("Error retrieving previous day's data.");
      return;
     }

   prevDayHigh    = iHigh(NULL, PERIOD_D1, prevDayIndex);
   prevDayLow     = iLow(NULL, PERIOD_D1, prevDayIndex);
   prevDayOpen    = iOpen(NULL, PERIOD_D1, prevDayIndex);
   prevDayClose   = iClose(NULL, PERIOD_D1, prevDayIndex);
   prevDayVolume  = iVolume(NULL, PERIOD_D1, prevDayIndex);

//--- Get today's volume
   currentDayVolume = iVolume(NULL, PERIOD_D1, 0); // Current day's volume

//--- Calculate key support and resistance
   keySupport = prevDayLow;  // Support level can be set to the previous day's low
   keyResistance = prevDayHigh; // Resistance level can be set to the previous day's high

//--- Manage existing lines (if any)
//ObjectDelete("SupportLine");
//ObjectDelete("ResistanceLine");

//--- Create support line
   if(!ObjectCreate(0, "SupportLine", OBJ_HLINE, 0, 0, keySupport))
     {
      Print("Failed to create SupportLine");
     }
   ObjectSetInteger(0, "SupportLine", OBJPROP_COLOR, SupportColor);
   ObjectSetInteger(0, "SupportLine", OBJPROP_WIDTH, 2); // Set the width of the line

//--- Create resistance line
   if(!ObjectCreate(0, "ResistanceLine", OBJ_HLINE, 0, 0, keyResistance))
     {
      Print("Failed to create ResistanceLine");
     }
   ObjectSetInteger(0, "ResistanceLine", OBJPROP_COLOR, ResistanceColor);
   ObjectSetInteger(0, "ResistanceLine", OBJPROP_WIDTH, 2); // Set the width of the line

//--- Determine the day's nature (Bullish or Bearish)
   string marketNature;
   if(prevDayClose > prevDayOpen)
     {
      marketNature = "Bullish";
     }
   else
      if(prevDayClose < prevDayOpen)
        {
         marketNature = "Bearish";
        }
      else
        {
         marketNature = "Neutral";
        }

//--- Compare volumes and determine market sentiment
   string volumeCommentary;
   if(currentDayVolume > prevDayVolume)
     {
      volumeCommentary = "Current day volume is higher than previous day volume. Bullish sentiment may continue.";
     }
   else
      if(currentDayVolume < prevDayVolume)
        {
         volumeCommentary = "Current day volume is lower than previous day volume. Bearish sentiment may follow.";
        }
      else
        {
         volumeCommentary = "Current day volume is equal to previous day volume. Market sentiment remains uncertain.";
        }

//--- Generate market movement commentary
   string marketCommentary;
   if(marketNature == "Bullish")
     {
      marketCommentary = "The market closed higher yesterday, indicating bullish sentiment. Look for potential continuation patterns.";
     }
   else
      if(marketNature == "Bearish")
        {
         marketCommentary = "The market closed lower yesterday, indicating bearish sentiment. Consider taking positions that align with this trend.";
        }
      else
        {
         marketCommentary = "The market showed neutrality with little change. Watch for potential breakout opportunities.";
        }

//--- Display the information in a table-like format on the chart
   string textOutput = "Previous Day Analytics:\n";
   textOutput += "Open: " + DoubleToString(prevDayOpen, 5) + "\n";
   textOutput += "Close: " + DoubleToString(prevDayClose, 5) + "\n";
   textOutput += "High: " + DoubleToString(prevDayHigh, 5) + "\n";
   textOutput += "Low: " + DoubleToString(prevDayLow, 5) + "\n";
   textOutput += "Volume (Prev Day): " + DoubleToString(prevDayVolume, 0) + "\n";
   textOutput += "Volume (Current Day): " + DoubleToString(currentDayVolume, 0) + "\n";
   textOutput += "Support: " + DoubleToString(keySupport, 5) + "\n";
   textOutput += "Resistance: " + DoubleToString(keyResistance, 5) + "\n";
   textOutput += "\nMarket Nature: " + marketNature + "\n";
   textOutput += volumeCommentary + "\n";
   textOutput += marketCommentary;

// Draw the text output on the chart
   Comment(textOutput);
  }

//+------------------------------------------------------------------+
//+------------------------------------------------------------------+


Die Code-Entwicklung

Wir entwickeln unseren Code mit dem MetaEditor. In diesem Fall entscheiden wir uns für die Erstellung eines Skripts. Nachfolgend werden wir die einzelnen Schritte zur Erreichung dieses Ziels erläutern.

1. Eigenschaften

Diese Eigenschaften helfen Ihnen, Ihre Arbeit angemessen zu würdigen und wichtige Informationen über den Autor oder die Quelle des Skripts mitzuteilen. Sie geben auch die Version des Skripts an, was nützlich ist, um die Aktualisierungen zu verfolgen und sicherzustellen, dass die Nutzer über alle Änderungen informiert sind.

#property copyright "2024, MetaQuotes Software Corp"
#property link      "https://www.mql5.com/en/users/lynnchris"
#property version   "1.0"

2.  Einbinden der erforderlichen Bibliotheken

Diese Zeile bindet die Bibliothek Trade.mqh ein.

Trade: Dieser Begriff bezieht sich wahrscheinlich auf die verschiedenen Funktionen, Klassen oder Objekte, die für die Verwaltung von Handelsgeschäften vorgesehen sind. Diese Elemente erleichtern die Ausführung von Geschäften, die Überprüfung des Handelsstatus und die Abwicklung damit verbundener Aufgaben innerhalb Ihrer Handelsalgorithmen.

.mqh: Diese Dateierweiterung wird für MetaQuotes Header-Dateien verwendet. In MetaTrader dienen .mqh-Dateien dazu, wiederverwendbaren Code zu speichern, einschließlich Funktionen, Klassen oder Bibliotheken. Dieser Code kann leicht in andere MQL-Programme integriert werden, was Effizienz und Modularität fördert.

#include <Trade\Trade.mqh>

3. Eingabeparameter: 

Ein Eingabeparameter ist eine in einem MQL5-Programm definierte Variable, die der Nutzer im Strategietester oder in den Eingabeeinstellungen eines EAs anpassen kann, ohne den zugrunde liegenden Code zu ändern.

Das Skript erlaubt auch die Eingabe von Parametern durch den Nutzer, sodass die Händler ihre Analyse flexibel an ihre Präferenzen anpassen können. Das bedeutet, dass sie bestimmte Symbole oder Farben für Unterstützungs- und Widerstandslinien auswählen können, wodurch das Tool persönlicher und leichter zu lesen ist.

input color TableTextColor = clrBlue; // Text color for the table
input int   TableXOffset   = 10;      // X offset for the table
input int   TableYOffset   = 50;      // Y offset for the table
input color SupportColor = clrGreen; // Color for the support line
input color ResistanceColor = clrRed; // Color for the resistance line

Als Nächstes befassen wir uns mit globalen Variablen. Diese globalen Variablen speichern Informationen über die Kursentwicklung des Vortages und das Volumen des aktuellen Tages. Die Variablen keySupport und keyResistance werden später im Code initialisiert.

double prevDayHigh, prevDayLow, prevDayOpen, prevDayClose, prevDayVolume;
double currentDayVolume;
double keySupport, keyResistance; // Initialized but will be calculated

4. Hauptfunktionen:

Dies ist die Hauptfunktion, mit der die Ausführung des Skripts beginnt. Alles, was in dieser Funktion steht, wird ausgeführt, wenn das Skript ausgeführt wird. Skripte sind Einzelausführungsprogramme, die bestimmte Aufgaben in der MetaTrader 5-Umgebung ausführen, wie z. B. das Platzieren eines Handels, das Ändern von Aufträgen oder das Erzeugen von Signalen.

void OnStart()

Zunächst rufen wir die Daten des vorangegangenen Handelstages ab, einschließlich Kursniveau und Volumen. In diesem Schritt wird der Index des letzten abgeschlossenen Tagesbalkens ermittelt, der für die Analyse des jüngsten Marktverhaltens und für fundierte Handelsentscheidungen unerlässlich ist.

int prevDayIndex = iBarShift(NULL, PERIOD_D1, iTime(NULL, PERIOD_D1, 1));

Sie prüft, ob der Index des Vortages erfolgreich abgerufen wurde. Wenn nicht, wird eine Fehlermeldung ausgegeben und die Funktion beendet.

if (prevDayIndex == -1)
{
   Print("Error retrieving previous day's data.");
   return;
}

Als Nächstes werden die Daten des Vortages abgerufen:

prevDayHigh    = iHigh(NULL, PERIOD_D1, prevDayIndex);
prevDayLow     = iLow(NULL, PERIOD_D1, prevDayIndex);
prevDayOpen    = iOpen(NULL, PERIOD_D1, prevDayIndex);
prevDayClose   = iClose(NULL, PERIOD_D1, prevDayIndex);
prevDayVolume  = iVolume(NULL, PERIOD_D1, prevDayIndex);

Das Volumen des aktuellen Tages abrufen

Damit wird das Volumen des aktuellen Tages abgerufen.

currentDayVolume = iVolume(NULL, PERIOD_D1, 0); // Current day's volume

Berechnung von Unterstützungs- und Widerstandsniveaus

Als Unterstützung gilt das Tief des Vortages, als Widerstand das Hoch des Vortages.

keySupport = prevDayLow;  // Support level can be set to the previous day's low
keyResistance = prevDayHigh; // Resistance level can be set to the previous day's high

Unterstützungs- und Widerstandslinien erstellen

Damit wird versucht, eine horizontale Linie zu erzeugen, die eine Unterstützung darstellt. Schlägt es fehl, wird eine Fehlermeldung ausgegeben. Das gleiche Verfahren gilt für die Widerstandslinie.

if (!ObjectCreate(0, "SupportLine", OBJ_HLINE, 0, 0, keySupport))
{
   Print("Failed to create SupportLine");
}

Bestimmung der Natur des Marktes

Im nächsten Abschnitt wird anhand der Eröffnungs- und Schlusskurse des Vortages ermittelt, ob der Markt stieg, fiell oder sich seitwärts bewegte:

if (prevDayClose > prevDayOpen)
{
   marketNature = "Bullish";
}
else if (prevDayClose < prevDayOpen)
{
   marketNature = "Bearish";
}
else
{
   marketNature = "Neutral";
}

Kommentar

Mit der Funktion Comment() können ein beschreibendet Text direkt im Trading-Chart angezeigt werden. Hier können wichtige Informationen wie aktuelle Werte, Handelssignale oder Statusmeldungen angezeigt werden.

Hier ein Kommentar zum aktuellen Volumen im Vergleich zum Vortag:

if (currentDayVolume > prevDayVolume)
{
   volumeCommentary = "Current day volume is higher...";
}
else if (currentDayVolume < prevDayVolume)
{
   volumeCommentary = "Current day volume is lower...";
}
else
{
   volumeCommentary = "Current day volume is equal...";
}

Das Skript verwendet die Kommentarfunktion, um eine sauber formatierte Nachricht in das Chart zu schreiben, die die Eröffnungs-, Höchst-, Tiefst- und Schlusskurse des Vortages sowie das Volumen des Vortages und des aktuellen Tages anzeigt. Dies dient den Händlern als unmittelbarer Bezugspunkt.

if (marketNature == "Bullish")
{
   marketCommentary = "The market closed higher yesterday...";
}
else if (marketNature == "Bearish")
{
   marketCommentary = "The market closed lower yesterday...";
}
else
{
   marketCommentary = "The market showed neutrality...";
}

Tabelle anzeigen

Schließlich wird eine Textnachricht mit allen gesammelten Daten erstellt und im Chart angezeigt:

string textOutput = "Previous Day Analytics:\n";
textOutput += "Open: " + DoubleToString(prevDayOpen, 5) + "\n";
...
textOutput += marketCommentary;

// Draw the text output on the chart
Comment(textOutput);


Tests

Nachfolgend finden Sie die Schritte zur erfolgreichen Implementierung des Skripts.

1: Öffnen Sie MetaTrader 5 und navigieren Sie zum MetaEditor.

2: Erstellen Sie im MetaEditor ein neues Skript, indem Sie Neu > Skript wählen.

3: Kopieren Sie das bereitgestellte Skript und fügen Sie es in den Editor ein.

4: Kompilieren Sie das Skript mit der Schaltfläche Kompilieren. Stellen Sie sicher, dass keine Fehler vorhanden sind.

5: Kehren Sie zu Ihrer MetaTrader-Plattform zurück, suchen Sie das Skript im Navigator-Panel unter „Skripte“ und ziehen Sie es auf den gewünschten Chart. Nachdem das Skript auf das Chart gezogen worden ist, wird folgendes Ergebnis sichtbar:

  Testergebnis 1

Abb. 3. Werkzeug Test Ergebnis 1

6: Legen Sie (falls gewünscht) in dem daraufhin angezeigten Dialogfeld alle nutzerdefinierten Eingabeparameter fest. Unten sehen Sie ein GIF-Bild, das zeigt, wie ich einige Parameter im MetaTrader 5 geändert habe.

  Parameter ändern

Abb. 4. Parameter einstellen

Nach der Ausführung des Skripts wurden die folgenden Ergebnisse erzielt. Ich stelle drei verschiedene GIFs der verschiedenen Paare zur Verfügung, mit denen ich das Skript getestet habe. Das erste GIF zeigt ein Währungspaar, USD/SEK, das die unten dargestellten Ergebnisse liefert.

  ERGEBNIS

Abb. 5. Test Ergebnis 2

In der obigen Abbildung 5 stellt das Instrument die erforderlichen Informationen effektiv dar. Es zeigt eine erwartete, steigende Marktstimmung (bullish) an. Der Markt verzeichnete zunächst eine leichte Abwärtsbewegung, doch im Laufe des Tages setzte ein starker Aufwärtsimpuls ein.

Zweitens haben wir auch den Crash 900 Index analysiert.

  Testergebnis

Abb. 6. Test Ergebnis 3

Auch beim Crash 900 Index (Abb. 6) waren die Informationen klar und deutlich und zeigten eine rückläufige Stimmung, die sich schnell und ohne Umkehrung entwickelte.

Schließlich analysierten wir das USDCNH-Paar, wie unten beschrieben.

  Ergebnis

Abb. 7. Test Ergebnis 4

In der obigen Abbildung 7 zeigte das Instrument eine außergewöhnlich gute Leistung und signalisierte eine Aufwärtsbewegung des Marktes. Der Markt reagierte entsprechend und respektierte sowohl die Widerstände als auch die Unterstützungsniveaus.

Darüber hinaus zeigt Abbildung 3 (Boom 300 Index) einige bemerkenswerte Ergebnisse während des Testprozesses des Tools. Sie zeigt übersichtlich die Anfangs- und Endkurse des Vortages an und bietet so wertvolle Einblicke in die Marktanalyse und das Marktverhalten. Die Daten deuten auch auf einen Abwärtstrend hin, wie die Navigation des Instruments zeigt.


Schlussfolgerung

Nachdem ich das Tool erfolgreich entwickelt und getestet habe, kann ich mit Zuversicht sagen, dass das analytische Kommentarinstrument robust ist. Seine Fähigkeit, frühere Marktbewegungen schnell zu analysieren, Unterstützungs- und Widerstandsniveaus zu ermitteln, Handelsvolumina zu berechnen und auf der Grundlage der gesammelten Informationen Einblicke in erwartete künftige Kursbewegungen zu geben, ist beeindruckend.

 Die Informationen werden übersichtlich dargestellt, was die Nutzerfreundlichkeit erhöht. Ich ermutige die Händler, ihre eigenen Handelsstrategien mit diesem Tool zu verbinden, um ihre Ergebnisse und Entscheidungsprozesse zu verbessern. Außerdem habe ich festgestellt, dass das Instrument im Laufe des Tages optimal funktioniert, da es die aktuellen Zeitvolumina berechnet, die für eine genaue Analyse erforderlich sein können.

Datum Name des Werkzeugs   Beschreibung Version  Aktualisierungen  Hinweis
01/10/24 Chart Projector Skript zur Überlagerung der Kursentwicklung des Vortages mit Geistereffekt.  1.0 Erste Veröffentlichung Erstes Werkzeug in „Lynnchris Toolchest“
18/11/24 Analytischer Kommentar Er liefert Informationen zum Vortag in Tabellenform und nimmt die zukünftige Marktentwicklung vorweg.  1.0 Erste Veröffentlichung Zweites Werkzeug in „Lynnchris Toolchest“

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

Beigefügte Dateien |
Connexus Observer (Teil 8): Hinzufügen eines Request Observer Connexus Observer (Teil 8): Hinzufügen eines Request Observer
In diesem letzten Teil unserer Connexus-Bibliotheksreihe haben wir uns mit der Implementierung des Observer-Patterns sowie mit wesentlichen Refactorings von Dateipfaden und Methodennamen beschäftigt. Diese Serie umfasst die gesamte Entwicklung von Connexus, das die HTTP-Kommunikation in komplexen Anwendungen vereinfachen soll.
Datenwissenschaft und ML (Teil 32): KI-Modelle auf dem neuesten Stand halten, Online-Lernen Datenwissenschaft und ML (Teil 32): KI-Modelle auf dem neuesten Stand halten, Online-Lernen
In der sich ständig verändernden Welt des Handels ist die Anpassung an Marktveränderungen nicht nur eine Option, sondern eine Notwendigkeit. Täglich entstehen neue Muster und Trends, die es selbst den fortschrittlichsten Modellen für maschinelles Lernen erschweren, angesichts der sich verändernden Bedingungen effektiv zu bleiben. In diesem Artikel erfahren Sie, wie Sie Ihre Modelle durch ein automatisches Neu-Training relevant halten und auf neue Marktdaten reagieren können.
MQL5-Assistent-Techniken, die Sie kennen sollten (Teil 49): Verstärkungslernen mit Optimierung der proximalen Politik MQL5-Assistent-Techniken, die Sie kennen sollten (Teil 49): Verstärkungslernen mit Optimierung der proximalen Politik
Die „Proximal Policy Optimization“ ist ein weiterer Algorithmus des Reinforcement Learning, der die „Policy“, oft in Form eines Netzwerks, in sehr kleinen inkrementellen Schritten aktualisiert, um die Stabilität des Modells zu gewährleisten. Wir untersuchen, wie dies in einem von einem Assistenten zusammengestellten Expert Advisor von Nutzen sein könnte, wie wir es in früheren Artikeln getan haben.
Erstellen eines Handelsadministrator-Panels in MQL5 (Teil VII): Vertrauenswürdiger Nutzer, Wiederherstellung und Kryptografie Erstellen eines Handelsadministrator-Panels in MQL5 (Teil VII): Vertrauenswürdiger Nutzer, Wiederherstellung und Kryptografie
Sicherheitsabfragen, wie die, die jedes Mal ausgelöst werden, wenn Sie den Chart aktualisieren, ein neues Paar zum Chat mit dem Admin Panel EA hinzufügen oder das Terminal neu starten, können lästig werden. In dieser Diskussion werden wir eine Funktion untersuchen und implementieren, die die Anzahl der Anmeldeversuche verfolgt, um einen vertrauenswürdigen Nutzer zu identifizieren. Nach einer bestimmten Anzahl von Fehlversuchen geht die Anwendung zu einem erweiterten Anmeldeverfahren über, das auch die Wiederherstellung des Passcodes für Nutzer erleichtert, die ihn vergessen haben. Außerdem werden wir uns damit beschäftigen, wie Kryptographie effektiv in das Admin Panel integriert werden kann, um die Sicherheit zu erhöhen.