Diskussion zum Artikel "Zeitreihen in der Bibliothek DoEasy (Teil 58): Zeitreihen der Datenpuffer von Indikatoren"

 

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

 
Man hat das Gefühl, dass der Dampfzug eine lange Strecke zurückgelegt hat und die Fahrgäste hinterherlaufen.
 
Ja, das stimmt mit der Dampflokomotive. Ich denke, nach dem, was wir bisher gemacht haben.
könntest du ein Handbuch darüber schreiben, wie man sie benutzt. Ich habe mir gedacht.
beim derzeitigen Stand der Bibliothek würde ich gerne alle Daten über die Ergebnisse
des Handels für einen bestimmten Zeitraum in der Vergangenheit, z. B. wie viele Trades es gab,
mit welchen Symbolen, mit welchem Gewinn usw., und ich konnte es nicht herausfinden.
Können Sie mir sagen, wie man das macht?

 
Alexander:
Ja, das stimmt mit der Dampflokomotive. Es scheint mir, basierend auf dem, was bereits getan wurde.
könnte man ein Handbuch schreiben, wie man sie benutzt. Ich wollte schon immer mal
angesichts des aktuellen Stands der Bibliothek, alle Daten über die Ergebnisse zu bekommen
Handelsergebnisse für einen bestimmten Zeitraum in der Vergangenheit, z. B. wie viele Geschäfte insgesamt getätigt wurden,
mit welchen Symbolen, mit welchem Gewinn usw. und konnte es immer noch nicht herausfinden.
Können Sie mir sagen, wie man das macht?

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 :)

 
Aleksey Mavrin:

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?

 
Können Sie sich vorstellen, dass alle Programmierer, die Programme schreiben und sie ständig verbessern, zum Beispiel die gleichen
Metaquotes hat, bevor sie eine Hilfe über die Plattform und die MQL-Sprache geschrieben haben, allen gesagt, als sie die Plattform zum ersten Mal veröffentlicht haben.
MT4, warten Sie, wir werden MT5 veröffentlichen, und dann die Integration mit SQL, und dann mit Piton.
Wir werden die Hilfe für alles auf einmal veröffentlichen. Und zweitens habe ich den EA in Ihrer letzten Version nicht gefunden.
ToDoEasyPart56 nicht eine einzige Zeile über die Arbeit mit historischen Aufträgen.
 
Alexander:
Können Sie sich vorstellen, dass alle Programmierer, die Programme schreiben und sie ständig verbessern, zum Beispiel die gleichen
Metaquotes hat, bevor sie eine Hilfe zur Plattform und zur MQL-Sprache geschrieben haben, allen gesagt, als sie die Plattform zum ersten Mal veröffentlicht haben.
MT4, warten Sie, wir werden MT5 zu veröffentlichen, und dann die Integration mit SQL, und dann mit Piton.
Wir werden die Hilfe für alles auf einmal veröffentlichen. Und zweitens habe ich den EA in Ihrer letzten Version nicht gefunden.
ToDoEasyPart56 nicht eine einzige Zeile über die Arbeit mit historischen Aufträgen.
In dieser Artikelserie geht es um den Prozess der Erstellung der Bibliothek. Nicht um die Verbesserung der ersten Implementierung, sondern um die konsequente Schaffung von Funktionalität. Beispiele für die Arbeit mit dem Auftragssystem finden Sie natürlich in den Artikeln, die der Erstellung dieser Bibliotheksfunktionalität gewidmet sind.
 
Artyom Trishkin:
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.

 
Alexander:

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, die Bibliothek erweitert, etwas ändert. Aber die Grundprinzipien bleiben die gleichen. Die Beispiele zeigen die Logik, nicht einen klaren Plan der Aktion.
Zeigen Sie einfach Ihren Code und sagen Sie mir, was bei Ihnen nicht funktioniert.
 
Artyom Trishkin:
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.
Zeigen Sie uns einfach Ihren Code und sagen Sie uns, was bei Ihnen nicht funktioniert.

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".

Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...