Bibliotheken: MT4Orders - Seite 95

 
fxsaber #:

Es passt perfekt in die Zeitachse. Noch einmal. MT5 generiert einen Handelsverlauf. Es ist eine krumme Darstellung der geschlossenen Positionen.

Sie sollten sich nicht davon leiten lassen, was MT5 anzeigt, sondern vom gesunden Menschenverstand.

Okay, ich habe verstanden. Sie konzentrieren sich auf den Prozess der Schließung historischer Aufträge.

Und ich wollte sagen, oder genauer gesagt, eine Liste der Positionen (Aufträge für Positionen) erhalten, die im Konto zwischen den beiden angegebenen Zeitpunkten bestanden.

Natürlich können aufgrund der CloseBy-Operation der Preis und die Schlusszeit einiger Aufträge ungenau sein. Aber für mich (als Benutzer) ist das nicht entscheidend, da die Gewinnberechnung korrekt ist. Wenn Sie Details benötigen, können Sie jederzeit im Abschnitt "Orders & Deals" nachsehen.
 
hini #:
eine Liste der Positionen (Positionsaufträge), die auf dem Konto zwischen den beiden angegebenen Zeitpunkten bestanden.
Dies zeigt MT4Orders im Modus ohne Snapshots. D.h. auf einmal.
 
#define  MT4ORDERS_BYPASS_MAXTIME 1000000

Wenn dieses Makro aktiviert ist, wird aus irgendeinem Grund manchmal eine Zeile mit zwei oder drei Tickets in das Protokoll gedruckt: "18521123 22323214".

Nachdem ich dieses Makro auskommentiert habe, ist dies nie wieder passiert. Ich habe versucht, Print im Code zu finden, aber ich konnte es nicht finden.

 
hini Print im Code zu finden, aber ich konnte es nicht finden.
Include\fxsaber\TradesID\ByPass.mqh

Vor einiger Zeit hat MQ die Bildung der Tabelle der historischen Aufträge verpfuscht und wollte sie nicht korrigieren. Daher garantiert dieses Makro nicht die Funktionalität, die es vor der schlechten Implementierung von MQ hatte.
 
fxsaber #:

Vor einiger Zeit hat MQ die Bildung der Tabelle mit den historischen Aufträgen vermasselt und wollte sie nicht korrigieren. Daher garantiert dieses Makro nicht die Funktionalität, die es vor der schlechten Implementierung von MQ hatte.
Wovon sprechen Sie?
 
fxsaber # :
Dieses Makro garantiert also nicht die Funktionalität, die es vor der schlechten Implementierung von MQ hatte.
Müssen wir dieses Makro also aufgeben?
 
Alain Verleyen #:
Wovon sprechen Sie?
Hier ist eine sehr detaillierte Wiedergabe. Kurz gesagt - ein neu gelöschter schwebender Auftrag kann nicht an das Ende der Handelshistorie gelangen, da er zwangsweise nach Tickets sortiert wird.
Зашивается в Ex5 или задается терминалом при загрузке платформы MetaTrader 5 build 2940
Зашивается в Ex5 или задается терминалом при загрузке платформы MetaTrader 5 build 2940
  • 2021.06.19
  • www.mql5.com
Это как с транзакциями в OnTradeTransaction - очередность прихода транзакций не гарантируется. Одни транзакции фактически приходят после других хотя в теории должно быть наоборот. Супер-оптимизированная разработчиками HistorySelect дозаписывает в конец все новые ордера
 
hini #:
Müssen wir dieses Makro also aufgeben?

Das Makro nutzte diese Funktion.

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Neue Version von MetaTrader 5 Build 2940: MQL5 Services Showcases in den Arbeitsbereich verschoben und Design-Update

fxsaber, 2021.06.11 09:47 PM

Wenn Sie HistorySelect von Null an verwenden, gehen neue Orders an das Ende der Tabelle, während der Expert Advisor läuft - korrekt.

  • Wenn man NUR mit HistorySelect(0, INT_MAX) arbeitet, werden neue Orders (die während der Arbeit des EA in die History kommen) an das Ende hinzugefügt - sortiert nach ORDER_TIME_DONE_MSC.

Dies war kaputt. Daher kann das Makro seine Funktionalität nicht garantieren.


ZY In Virtual wird beim Löschen einer schwebenden Order diese immer an das Ende der historischen Ordertabelle geschrieben. MT5-Tester macht das Gleiche. Das Problem tritt nur im Terminal auf.