Diskussion zum Artikel "Zeitreihen in der Bibliothek DoEasy (Teil 58): Zeitreihen der Datenpuffer von Indikatoren"
Eine Anleitung mit Beispielen für die Lösung verschiedener Probleme wird erstellt, sobald die Bibliothek vollständig fertiggestellt ist.
Im Moment enthält jeder Artikel Beispiele für die Verwendung der im Artikel beschriebenen Funktionen.
Der Autor sollte eine Medaille für den absoluten Rekord für die Anzahl der Teile einer Bibliothek bekommen :)
Der Autor sollte eine Medaille für den absoluten Rekord für die Anzahl der Teile einer Bibliothek bekommen :)
Was hält Sie davon ab, diese Medaille selbst zu schreiben und entgegenzunehmen?
In dieser Artikelserie geht es um den Prozess der Erstellung einer Bibliothek. Dabei geht es nicht um die Verbesserung der ersten Implementierung, sondern um die konsequente Schaffung von Funktionalität. Beispiele für die Arbeit mit dem Bestellsystem finden Sie natürlich in den Artikeln, die der Erstellung dieser Bibliotheksfunktionalität gewidmet sind.
Das Problem ist, dass nach späteren Verbesserungen und konsequenter Erstellung der Funktionalität,
die Beispiele, die in den Artikeln über diese Funktionalität scheinbar funktionierten, nun in den nächsten
Versionen nicht funktionieren, zumindest nicht bei mir. Deshalb habe ich Sie um Hilfe gebeten, weil ich dachte, dass Sie
sie funktionieren werden.
Das Problem ist, dass nach weiteren Verfeinerungen und konsequenter Schaffung von Funktionalität,
Beispiele, die früher in den Artikeln, die dieser Funktionalität gewidmet waren, anscheinend funktionierten, nun in den folgenden Artikeln zu finden sind
Versionen nicht mehr funktionieren, zumindest bei mir. Deshalb habe ich Sie um Hilfe gebeten, weil ich dachte, Sie hätten
sie funktionieren werden.
Natürlich erweitert sich die Bibliothek, die Dinge ändern sich. Aber die Grundprinzipien bleiben die gleichen. Die Beispiele zeigen die Logik, nicht einen klaren Aktionsplan.
In der Funktion TestDoEasyPart56 void OnInitDoEasy() ganz am Ende habe ich diesen Code eingefügt, um
eine Sammlung von historischen Aufträgen vom Datum D'2020.12.11 10:00' bis zum aktuellen. Und ich habe nicht eine einzige
Aufträge nicht diesen Code erhalten.
CArrayObj* list_positions=engine.GetListHistoryOrders();
// list_positions=CSelect::ByOrderProperty(list_positions,ORDER_PROP_SYMBOL,Symbol(),EQUAL);
list_positions=CSelect::ByOrderProperty(list_positions,ORDER_PROP_TIME_CLOSE,D'2020.12.11 10:00',MORE);
//--- Выбираем позиции с прибылью болше нуля
list_positions=CSelect::ByOrderProperty(list_positions,ORDER_PROP_PROFIT_FULL,0,MORE);
if(list_positions!=NULL)
{Print("OK1");
//--- Сортируем список по прибыли
//list_positions.Sort(SORT_BY_ORDER_PROFIT);
list_positions.Total();
Print(list_positions.Total());// здесь получаем 0
//--- Получаем индекс позиции с наибольшей прибылью
int index=CSelect::FindOrderMax(list_positions,ORDER_PROP_PROFIT);
if(index>WRONG_VALUE)
{Print("index= ",index);
COrder* position=list_positions.At(index);
if(position!=NULL)
{
//--- Получаем тикет позиции с наибольшей прибылью и закрываем позицию по тикету
Print("OK");
Print(engine.GetListDeals());
}
}
}
An der Stelle, wo ich drucke Print(list_positions.Total()); Ich bekomme "0".

- www.metatrader5.com

- 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 58): Zeitreihen der Datenpuffer von Indikatoren :
Zum Abschluss des Themas Arbeit mit Zeitreihen organisieren wir das Speichern, Suchen und Sortieren von Daten, die in Indikatorpuffern gespeichert sind, was die weitere Durchführung der Analyse auf der Grundlage von Werten der Indikatoren ermöglicht, die auf der Basis der Bibliothek in Programmen zu erstellen sind. Das allgemeine Konzept aller Kollektionsklassen der Bibliothek ermöglicht es, die benötigten Daten in der entsprechenden Kollektion leicht zu finden. Dementsprechend wird das Gleiche in der heute erstellten Klasse möglich sein.
Kompilieren Sie den EA und starten Sie ihn auf dem Chart, indem Sie in den Einstellungen festlegen, dass nur das aktuelle Symbol und der aktuelle Zeitrahmen verwendet werden. In den Kommentaren des Charts werden die Daten des ersten und des nullten (aktuellen) Balkens aller erstellten Indikatoren angezeigt:
Dieselben Indikatoren mit denselben Einstellungen werden zur besseren Übersichtlichkeit auf dem Chart dargestellt - die Indikatordaten in den Kommentaren auf dem Chart und im Datenfenster (Strg+D) stimmen überein und die Werte auf dem aktuellen Balken werden aktualisiert.
Autor: Artyom Trishkin