Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1311

 
MakarFX:

Frage 1: Ich verstehe die Frage nicht(

Das Programm, um den Beginn des gewählten Zeitraums oder den Zeitraum selbst zu ermitteln

 
Andrey Sokolov:

um den Beginn des ausgewählten Zeitraums oder den Zeitraum selbst zu ermitteln

Nein, "OrdersHistoryTotal Gibt die Anzahl der geschlossenen und gelöschten Aufträge in der aktuellen, im Kundenterminal geladenen Kontohistorie zurück."
 
Andrey Sokolov:

um den Beginn des ausgewählten Zeitraums oder den Zeitraum selbst zu ermitteln

Früher hing nicht nur der Zeitraum von den Einstellungen auf der Registerkarte "Historie" ab, sondern auch die Sortierreihenfolge. Die Sortierung scheint unabänderlich geworden zu sein, aber der Zeitraum scheint abhängig geblieben zu sein. D.h., wenn wir die Historie vom 01.12.2020 - 04.12.2020 anzeigen, dann wird OrdersHistoryTotal() nur die Anzahl der Bestellungen für diesen Zeitraum zurückgeben. Und wenn mein Gehirn noch nicht völlig ausgetrocknet ist, zählt es bis zum Feierabend. Dabei wird die offene Zeit nicht berücksichtigt. Angenommen, ein Auftrag wurde am 02.12.2020 eröffnet und am 05.12.2020 geschlossen (noch keine sehr guten Daten, aber immerhin), dann wird er nicht in den Zeitraum vom 01.12.2020 bis 04.12.2020 fallen.
 
Alexey Viktorov:
Und wenn mein Hirn noch nicht ganz trocken ist, zählt es bis zum Feierabend.

Ja, nur schließen oder löschen

 
Alexey Viktorov. MakarFX danke für die Klärung, welches Datum gezählt wird. Aber die Frage bezog sich nicht genau darauf. Angenommen, der Zeitraum "letzter Monat" ist ausgewählt. Wie können wir das Startdatum dieses (ausgewählten) Zeitraums ermitteln, auch wenn an diesem Tag keine Geschäfte getätigt wurden?
 
Andrey Sokolov:
Alexey Viktorov. MakarFX danke für die Klärung, welches Datum gezählt wird. Aber die Frage bezog sich nicht genau darauf. Angenommen, ich habe den Zeitraum "letzter Monat" ausgewählt. Wie kann ich das Startdatum dieses (ausgewählten) Zeitraums ermitteln, auch wenn ich an diesem Tag nicht gehandelt habe?
Das ist nicht möglich.
 
Andrey Sokolov:
Alexey Viktorov, MakarFX, danke für die Klarstellung, welches Datum berücksichtigt wird. Aber meine Frage bezog sich nicht genau darauf. Nehmen wir an, wir haben den Zeitraum "letzter Monat" ausgewählt. Wie können wir das Startdatum dieses (ausgewählten) Zeitraums programmatisch ermitteln, auch wenn wir an diesem Tag nicht gehandelt haben?

Es gibt kein Datum für den Fristbeginn, sondern einen Optionsschein mit dem frühesten Datum. Traurig, um ehrlich zu sein, denn wenn es keine Aufträge in der Geschichte gibt, gibt es auch keine Zeitangaben. Das war's dann auch schon.

 
Valeriy Yastremskiy:

Es gibt kein Datum für den Fristbeginn, sondern einen Optionsschein mit dem frühesten Datum. Traurig, um ehrlich zu sein, denn wenn es keine Aufträge in der Geschichte gibt, gibt es auch keine Zeitangaben. Das war's dann auch schon.

diese Einstellung ist nicht für die "tägliche Arbeit" gedacht - konfigurieren Sie das Terminal einmal und lassen Sie es dann ruhen

in 99,9% der Handelssysteme wird der Zeitraum von 3 Monaten Geschichte perfekt funktionieren, wahrscheinlich mit Ausnahme von TS, in dem Zehntausende von Aufträgen pro Monat - der Zeitraum von 1 Monat sollte hier eingerichtet werden

SZZ: Ich habe über einen langen Zeitraum hinweg keine Leistungseinbußen festgestellt (es ist klar, dass alles kaputt gehen kann). ) - aber bei einem Zeitraum von 1 Monat kann es einige Überraschungen geben


Wenn die MetaTrader-Entwickler uns also erlauben würden, die Auftragshistorie zu "drehen" - schlecht!

)))

 
Igor Makanu:

diese Einstellung ist nicht für die "tägliche Optimierung" gedacht - konfigurieren Sie das Terminal einmal und ändern Sie es nicht mehr

in 99,9% der Handelssysteme wird der Zeitraum von 3 Monaten Geschichte perfekt funktionieren, gut, wahrscheinlich mit Ausnahme von TS, in dem mehrere Zehntausende von Aufträgen pro Monat - hier, am ehesten ein Zeitraum von 1 Monat eingerichtet werden sollte

SZZ: Ich habe über einen langen Zeitraum hinweg keine Leistungseinbußen festgestellt (es ist klar, dass alles kaputt gehen kann). ) - aber bei einem Zeitraum von 1 Monat kann es einige Überraschungen geben


Wenn also die MetaTrader-Entwickler uns erlauben würden, die Auftragshistorie zu "drehen" - schlecht!

)))

Mein Ansatz ist eher pessimistisch. Wir können keine Analysen auf der Grundlage von Standarddaten wie der Geschichte durchführen, denn diese müssen vorhanden sein und wir müssen sie finden, und eine effiziente Analyse erfordert eine eigene Datenerfassung )))). Die Historie dient nur dem operativen Management.

 

Sie können versuchen, das Datum mit WinAPI aus dem Formular abzurufen. Und bestellen Sie auch eine neue Periode.

Für vier, ich weiß nicht, wie es mit fünf ist.


Ich habe das hier gefunden, das habe ich vor ein paar Jahren gemacht, etwa so:

#import "user32.dll"
   int GetForegroundWindow();
   int PostMessageA(int hWnd, int msg, int wParam, int lParam);
#import

//загружает всю историю закрытых ордеров
bool DownloadOrderHistory()
   {
   int eHandle=GetForegroundWindow();
   if(eHandle<=0) return(false);
   return(PostMessageA(eHandle,0x0111,0x8122,0)==1);
   }
GetForegroundWindow besser ersetzen....
Grund der Beschwerde: