FORTS. Fragen der Durchsetzung - Seite 9

 
Renat:
Dies ist Terminal 1060 und der Server ist immer noch 1035.
Verstanden))
 

Guten Tag, Renat!

Beim Entwurf eines "Notfall"-Auftragsverfolgungsmodus (für den Fall, dass das OnTradeTransaction-Ereignis nicht eintritt),

Ich habe festgestellt, dass ein MARKT-Auftrag in der Historie in mehr als 3 SEKUNDEN erscheint:

CN      0       07:10:26.424    History_bug (Eu-3.15,H1)        Ордер отослан =  2015.02.10 07:10:26
CE      0       07:10:26.424    History_bug (Eu-3.15,H1)        Уникальный номер ордера (mem_magic) = 1010000
CG      0       07:10:27.554    History_bug (Eu-3.15,H1)        Время ожидания составило = 1138 мсек
NN      0       07:10:27.554    History_bug (Eu-3.15,H1)        CheckOrders: Не получен билет ордера!
JD      0       07:10:29.328    History_bug (Eu-3.15,H1)        Ордер отослан =  2015.02.10 07:10:29
DK      0       07:10:29.328    History_bug (Eu-3.15,H1)        Уникальный номер ордера (mem_magic) = 1010001
EP      0       07:10:30.596    History_bug (Eu-3.15,H1)        Время ожидания составило = 1279 мсек
RE      0       07:10:30.596    History_bug (Eu-3.15,H1)        CheckOrders: Не получен билет ордера!
KJ      0       07:10:41.112    History_bug (Eu-3.15,H1)        Ордер отослан =  2015.02.10 07:10:41
LQ      0       07:10:41.112    History_bug (Eu-3.15,H1)        Уникальный номер ордера (mem_magic) = 1010000
GJ      0       07:10:43.123    History_bug (Eu-3.15,H1)        Время ожидания составило = 2012 мсек
HK      0       07:10:43.123    History_bug (Eu-3.15,H1)        CheckOrders: Не получен билет ордера!
IQ      0       07:10:46.176    History_bug (Eu-3.15,H1)        Ордер отослан =  2015.02.10 07:10:46
LG      0       07:10:46.176    History_bug (Eu-3.15,H1)        Уникальный номер ордера (mem_magic) = 1010001
DD      0       07:10:48.193    History_bug (Eu-3.15,H1)        Время ожидания составило = 2028 мсек
LQ      0       07:10:48.193    History_bug (Eu-3.15,H1)        CheckOrders: Не получен билет ордера!
EG      0       07:10:58.440    History_bug (Eu-3.15,H1)        Ордер отослан =  2015.02.10 07:10:58
NL      0       07:10:58.440    History_bug (Eu-3.15,H1)        Уникальный номер ордера (mem_magic) = 1010000
NN      0       07:11:01.531    History_bug (Eu-3.15,H1)        Время ожидания составило = 3104 мсек
PG      0       07:11:01.531    History_bug (Eu-3.15,H1)        CheckOrders: Не получен билет ордера!
DM      0       07:11:06.359    History_bug (Eu-3.15,H1)        Ордер отослан =  2015.02.10 07:11:06
NR      0       07:11:06.359    History_bug (Eu-3.15,H1)        Уникальный номер ордера (mem_magic) = 1010001
RG      0       07:11:09.649    History_bug (Eu-3.15,H1)        Время ожидания составило = 3292 мсек
HN      0       07:11:09.649    History_bug (Eu-3.15,H1)        CheckOrders: Не получен билет ордера!
LS      0       07:11:19.636    History_bug (Eu-3.15,H1)        Ордер отослан =  2015.02.10 07:11:19
GH      0       07:11:19.636    History_bug (Eu-3.15,H1)        Уникальный номер ордера (mem_magic) = 1010000
RQ      0       07:11:23.808    History_bug (Eu-3.15,H1)        Время ожидания составило = 4180 мсек
PF      0       07:11:23.808    History_bug (Eu-3.15,H1)        CheckOrders: Билет получен = 9833674
QE      0       07:11:27.865    History_bug (Eu-3.15,H1)        Время ожидания составило = 4056 мсек
HN      0       07:11:27.865    History_bug (Eu-3.15,H1)        CheckOrders: Сделка совершена, билет = 9833674
HD      0       07:11:30.832    History_bug (Eu-3.15,H1)        Ордер отослан =  2015.02.10 07:11:30
IK      0       07:11:30.832    History_bug (Eu-3.15,H1)        Уникальный номер ордера (mem_magic) = 1010001
LP      0       07:11:34.962    History_bug (Eu-3.15,H1)        Время ожидания составило = 4134 мсек
DG      0       07:11:34.962    History_bug (Eu-3.15,H1)        CheckOrders: Билет получен = 9833675
CD      0       07:11:39.018    History_bug (Eu-3.15,H1)        Время ожидания составило = 4057 мсек
JN      0       07:11:39.018    History_bug (Eu-3.15,H1)        CheckOrders: Сделка совершена, билет = 9833675

Der EA-Code, der dieses Protokoll erzeugt hat, ist beigefügt.

Zunächst betrug die Wartezeit 1000 ms, dann 2000, 3000 und schließlich 4000 ms.

Für jeden Zeitraum wurden 2 Befehle gesendet(Position öffnen - schließen)

Ist das nicht zu lang für eine MARKET-Bestellung?

P/S Demo Eröffnung (Terminal Build 1060)

Dateien:
History_bug.mq5  10 kb
 

Ich habe den Code noch nicht ausgeführt, aber in der Quelle wird der klassische Fehler eines falschen Enddatums in HistorySelect angezeigt.

Jeder erste Programmierer ruft diese Funktion mit dem falschen Datum auf, beißt immer wieder in das Ende der Geschichte und findet "long transaction in history".

 

Dies ist wahrscheinlich die Funktion, denn "jeder Erste" macht einen "klassischen Fehler".

In dieser Datei wird versucht, den Verlauf von einem bestimmten Datum bis zum jetzigen Zeitpunkt zu lesen. Können Sie mir sagen, wie ich das richtig mache, damit ich nicht "am Ende der Geschichte knabbere"?

 

Der Fehler besteht darin, dass die Leute nicht an die aktuelle Uhrzeit denken und das falsche Datum aus der falschen Quelle eingeben.

Es reicht aus, ein bekanntes, weit entferntes Datum als Enddatum anzugeben und nicht die veraltete serverTime.

 
Renat:

Der Fehler besteht darin, dass die Leute nicht an die aktuelle Uhrzeit denken und das falsche Datum aus der falschen Quelle eingeben.

Es reicht aus, das bekannte, weit entfernte Datum als Enddatum anzugeben und nicht die veraltete serverTime.

Vielleicht kann die Hilfe mit dem Beispiel darin dann auch korrigiert werden?

https://www.mql5.com/ru/docs/trading/historyselect

Документация по MQL5: Торговые функции / HistorySelect
Документация по MQL5: Торговые функции / HistorySelect
  • www.mql5.com
Торговые функции / HistorySelect - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
papaklass:

Renat, haben Sie schon mit OnTradeTransaction() gearbeitet?

Nein, leider, sehr beschäftigt.

Bitte probieren Sie es selbst auf unserem MetaQuotes-Demo-Server aus.

 

Aus dem Satz von Renat

Es reicht aus, als Enddatum ein bekanntes, weit entferntes Datum anzugeben und nicht die veraltete serverTime.

Ich habe es so verstanden, dass Sie das morgige Datum (oder ein noch weiter entferntes Datum) als Enddatum angeben sollten, und Sie werden zufrieden sein.

 
Renat:

Der Fehler besteht darin, dass die Leute nicht an die aktuelle Uhrzeit denken und das falsche Datum aus der falschen Quelle eingeben.

Es reicht aus, ein bekanntes, weit entferntes Datum als Enddatum anzugeben und nicht die veraltete serverTime.

Und der "veraltete"TimeTradeServer() ist als Startdatum in Ordnung?
 
Mikalas:
Und als Startdatum ist auch der "veraltete"TimeTradeServer() geeignet?

Die Anfangs- und Enddaten müssen in Kenntnis der Fehler und mit einem obligatorischen Spielraum festgelegt werden. Das sind mindestens minus N Sekunden und plus N Sekunden.

TimeTradeServer() ist keine exakte Echtzeit, sondern wird ausschließlich durch die in der Marktübersicht eingehenden Preis-Ticks aktualisiert.


Wenn Sie plötzlich keine Daten in der Verlaufsstichprobe haben, dann liegen 99 % der Fehler in den Abfragegrenzen.

Grund der Beschwerde: