Diskussion zum Artikel "Zeitreihen in der Bibliothek DoEasy (Teil 35): das Bar-Objekt und die Liste der Zeitreihen eines Symbols"
Es ist irgendwie unkoscher, eine neue CSeries-Klasse zu haben, wenn es eine mit demselben Namen in SB gibt.

- www.mql5.com
Es ist irgendwie unkoscher, eine neue CSeries-Klasse zu haben, wenn es eine mit demselben Namen in SB gibt.
Das sehe ich auch so. Danke, ich werde es korrigieren.
Ein sehr wichtiger Parameter jedes Balkens ist der Zeitpunkt des Höchstkurses und der Zeitpunkt des Tiefstkurses oder zumindest eine Markierung, die angibt, welcher der beiden Höchst- oder Tiefstkurse zeitlich zuerst eingetreten ist. Diese Information kann durch die Analyse von Balken aus einem niedrigeren Zeitrahmen oder direkt aus M1 gewonnen werden. Bitte fügen Sie diese Funktionalität hinzu.
Ein sehr wichtiger Parameter jedes Balkens ist der Zeitpunkt des Höchstkurses und der Zeitpunkt des Tiefstkurses oder zumindest eine Markierung, die angibt, welcher der beiden Höchst- oder Tiefstkurse zeitlich zuerst eingetreten ist. Diese Information kann durch die Analyse von Balken aus einem niedrigeren Zeitrahmen oder direkt aus M1 gewonnen werden. Bitte fügen Sie diese Funktionalität hinzu.
Eine solche Funktionalität kann von Ihnen selbst durchgeführt werden - es gibt alle Daten auf den unteren Zeitrahmen, und es gibt alle Daten auf deren Balken. Dies ist nicht der letzte Artikel, und in den nächsten gibt es eine vollständige Liste aller Zeitrahmen eines beliebigen Symbols - Sie sollten also den bereits vorhandenen nicht mit unnötigen Funktionen überladen. Zumal sich dadurch die Aktualisierungszeit der Zeitreihe erhöht. Daher ist es besser, auf Anfrage Daten aus den bereits vorhandenen zu erhalten, als eine solche Analyse dort durchzuführen, wo sie nicht benötigt wird.
Hallo Artyom -- mit DoEasy anstelle der Standardbibliothek, was ist der beste Ansatz, um eine Klasse für die Erkennung verschiedener Kerzenmuster zu erstellen, ähnlich dem, was CCandlePattern in https://www.mql5.com/de/code/316 ist?
Ich frage, um zu vermeiden, dass ich etwas tue, das der zukünftigen Richtung, die Sie mit dieser Bibliothek einschlagen, völlig zuwiderläuft... Ich dachte daran, entweder (1) die Klassen CBar & CSeries zu modifizieren oder zu erweitern, um das zu tun, was ich brauche; oder (2) oder die DoEasy-Ereignisse zu verwenden, um neue Balken auf den Symbolen/Perioden zu erkennen, an denen ich interessiert bin, und von dort aus meinen Code zu implementieren, um nach meinen Kerzenmustern zu suchen und DoEasy erneut zu verwenden, um Aufträge zu platzieren oder Positionen zu eröffnen. Vielleicht ist Option #2 sauberer und weniger riskant in Bezug auf Ihre zukünftigen Entwicklungen, aber lassen Sie mich bitte wissen, wenn Sie einen anderen Vorschlag haben.
acandlepatterns.mqh
class CCandlePattern : public CExpertSignal
{
protected:
// ...
//--- Methoden, die zur Überprüfung der Candlestick-Musterbildung verwendet werden
double AvgBody(int ind);
double MA(int ind) const { return(m_MA.Main(ind)); }
double Open(int ind) const { return(m_open.GetData(ind)); }
double High(int ind) const { return(m_high.GetData(ind)); }
double Low(int ind) const { return(m_low.GetData(ind)); }
double Close(int ind) const { return(m_close.GetData(ind)); }
double CloseAvg(int ind) const { return(MA(ind)); }
double MidPoint(int ind) const { return(0.5*(High(ind)+Low(ind))); }
double MidOpenClose(int ind) const { return(0.5*(Open(ind)+Close(ind))); }
//--- Methoden zur Überprüfung von Candlestick-Mustern
bool CheckPatternThreeBlackCrows();
bool CheckPatternThreeWhiteSoldiers();
bool CheckPatternDarkCloudCover();
bool CheckPatternPiercingLine();
bool CheckPatternMorningDoji();
bool CheckPatternEveningDoji();
bool CheckPatternBearishEngulfing();
bool CheckPatternBullishEngulfing();
bool CheckPatternEveningStar();
bool CheckPatternMorningStar();
bool CheckPatternHammer();
bool CheckPatternHangingMan();

- www.mql5.com
Hallo Artyom - mit DoEasy anstelle der Standard-Bibliothek, was ist der beste Ansatz, um eine Klasse für die Erkennung von verschiedenen Kerzen-Muster, ähnlich wie das, was ist CCandlePattern wie in https://www.mql5.com/de/code/316?
Ich frage, um zu vermeiden, dass ich etwas tue, das völlig konträr zu der zukünftigen Richtung ist, die Sie mit dieser Bibliothek einschlagen... Ich dachte daran, entweder (1) die Klassen CBar & CSeries zu modifizieren oder zu erweitern, um das zu tun, was ich brauche; oder (2) oder die DoEasy-Ereignisse zu verwenden, um neue Balken auf den Symbolen/Perioden zu erkennen, an denen ich interessiert bin, und von dort aus meinen Code zu implementieren, um nach meinen Kerzenmustern zu suchen und DoEasy erneut zu verwenden, um Aufträge zu platzieren oder Positionen zu eröffnen. Vielleicht ist Option #2 sauberer und weniger riskant in Bezug auf Ihre zukünftigen Entwicklungen, aber lassen Sie mich bitte wissen, wenn Sie einen anderen Vorschlag haben.
acandlepatterns.mqh
class CCandlePattern : public CExpertSignal
{
protected :
// ...
//--- Methoden, die zur Überprüfung der Candlestick-Musterbildung verwendet werden
double AvgBody( int ind);
double MA( int ind) const { return (m_MA.Main(ind)); }
double Open( int ind) const { return (m_open.GetData(ind)); }
double High( int ind) const { return (m_high.GetData(ind)); }
double Low( int ind) const { return (m_low.GetData(ind)); }
double Close( int ind) const { return (m_close.GetData(ind)); }
double CloseAvg( int ind) const { return ( MA(ind) ); }
double MidPoint( int ind) const { return ( 0.5 *(High(ind)+Low(ind)) ); }
double MidOpenClose( int ind) const { return ( 0.5 *(Open(ind)+Close(ind)) ); }
//--- Methoden zur Überprüfung von Candlestick-Mustern
bool CheckPatternThreeBlackCrows();
bool CheckPatternThreeWhiteSoldiers();
bool CheckPatternDarkCloudCover();
bool CheckPatternPiercingLine();
bool CheckPatternMorningDoji();
bool CheckPatternEveningDoji();
bool CheckPatternBearishEngulfing();
bool CheckPatternBullishEngulfing();
bool CheckPatternEveningStar();
bool CheckPatternMorningStar();
bool CheckPatternHammer();
bool CheckPatternHangingMan();
Die Bibliothek wird eine Klasse für die Suche nach PriceAction-Candlestick-Mustern und verschiedenen japanischen Candlestick-Formationen enthalten.
Ich halte es für sehr sinnvoll, der CBar-Objektklasse eine neue Eigenschaft hinzuzufügen. Dementsprechend wird die Sammlung von Zeitreihen in der Lage sein, nach den gewünschten Kerzen und Mustern zu suchen.
So wird es in der Bibliothek sein.
Im Moment können Sie die Muster und Kerzen, die Sie benötigen, in den Listen der Sammlung von Zeitreihen suchen - dort befinden sich alle Balken, und Sie können sie verwenden, um das Muster zu bestimmen.
Die Bibliothek wird eine Klasse für die Suche nach PriceAction-Candlestick-Mustern und verschiedenen japanischen Candlestick-Formationen enthalten.
Ich halte es für sehr sinnvoll, der CBar-Objektklasse eine neue Eigenschaft hinzuzufügen. Dementsprechend wird die Sammlung von Zeitreihen in der Lage sein, nach den gewünschten Kerzen und Mustern zu suchen.
So wird es in der Bibliothek sein.
Im Moment können Sie die Muster und Kerzen, die Sie benötigen, in den Listen der Sammlung von Zeitreihen suchen - dort sind alle Balken, und Sie können sie verwenden, um das Muster zu bestimmen.
Das klingt großartig! Haben Sie eine Idee, wann Sie mit der Implementierung all dieser guten Dinge beginnen werden? Sind Sie an irgendwelchen Code-Beiträgen interessiert?
Das klingt großartig! Wissen Sie schon, wann Sie mit der Umsetzung all dieser guten Dinge beginnen werden? Sind Sie an Code-Beiträgen interessiert?
Wenn die Zeit reif ist :)

- 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.
Neuer Artikel Zeitreihen in der Bibliothek DoEasy (Teil 35): das Bar-Objekt und die Liste der Zeitreihen eines Symbols :
Dieser Artikel startet eine neue Serie über das Erstellen der Bibliothek DoEasy zur einfachen und schnellen Programmentwicklung. Im aktuellen Artikel werden wir die Bibliotheksfunktionen für den Zugriff auf und die Arbeit mit den Zeitreihen der Symbole implementieren. Wir werden das Bar-Objekt erstellen, das die Haupt- und erweiterten Zeitreihendaten speichert, und Bar-Objekte in der Zeitreihenliste platzieren, um eine bequeme Suche und Sortierung der Objekte zu ermöglichen.
Dieser Artikel beginnt den neuen Abschnitt in der Beschreibung der Bibliothek zur bequemen Entwicklung von Programmen für MetaTrader 5 und 4 Terminals. Die erste Serie (34 Artikel) war dem Konzept der Bibliotheksobjekte und ihrer Verbindungen gewidmet. Das Konzept wurde verwendet, um die Funktionen für die Arbeit mit einem Konto zu entwickeln — seinen aktuellen Status und seine Historie.
Gegenwärtig verfügt die Bibliothek über die folgenden Funktionen:
Wir können der Bibliothek auch mitteilen, auf welche Ereignisse sie reagieren und Benachrichtigungen über die überwachten Ereignisse senden soll.
Außerdem haben wir die Möglichkeit implementiert, mit den Handelsfunktionen des Terminals zu arbeiten. Wir haben auch neue Arten von Handelsanfragen entwickelt — schwebende Handelsanfragen, die es uns ermöglichen, die Verhaltenslogik des Programms unter verschiedenen Handelsbedingungen zu erstellen, sowie den vollständigen Satz von Funktionen für die Erstellung neuer Arten von schwebenden Aufträgen bereitzustellen.
Die zweite Reihe der Bibliotheksbeschreibung berücksichtigt viele Aspekte der Arbeit mit Preisdaten, Symboldiagrammen, Markttiefen, Indikatoren usw. Generell soll die neue Artikelserie der Entwicklung der Bibliotheksfunktionalität für den schnellen Zugriff, die Suche, den Vergleich und die Sortierung beliebiger Preisdatenfelder sowie deren Speicherobjekte und Quellen gewidmet werden.All dies und noch viel mehr wurde in den vorangegangenen Artikeln der Bibliotheksentwicklungsbeschreibungen erstellt und beschrieben.
Autor: Artyom Trishkin