Geschichte ankreuzen - Seite 10

 
Vasiliy Sokolov:
Zeit ist ein echtes Problem im MT5. Erstens ist der Systemzeittyp zu niedrig aufgelöst, nach modernen Standards ist eine Sekunde eine Ewigkeit. Zweitens ist das Eintreffen von Ereignissen nicht an die Zeit gebunden. Angenommen, wir erhalten einen neuen Screenshot eines Glases in OnBookEvent, und auf welche Zeit bezieht er sich? Sollten wir TimeCurrent mit der letzten bekannten Zeit des Servers abrufen? Was ist, wenn die letzte bekannte Serverzeit vor einer Minute aktualisiert wurde?

Es ist unwahrscheinlich, dass sie den Zeitpunkt vor dem Jahr 3000 ändern werden.

последняя дата datetime 3001.01.01 00:00:00 | 32535216000

Es ist viel einfacher, einen Wrapper zu machen.

struct millisekdatetime
  {
   datetime time;
   ushort millisek;
  };
 
Tapochun:
Ich brauche keinen Indikator. Und ich brauche keine Unterschiede zwischen den Modi. Sagen Sie mir, ob Sie Unterschiede bei den gleichen Ticks feststellen, wenn Sie in einem Modus einen anderen Betrag anfordern (z. B. 2000 und 10000).
Karputow Wladimir:
Jetzt verstehe ich es. Ich muss es überprüfen...

Ghjdt Überprüft. Also: in ein und demselben Tool für ein und denselben Modus des Tick-Empfangs (ich habe nach dem Modus COPY_TICKS_INFO gesucht - nur Bid und Ask) und bei unterschiedlicher Tiefe der Tick-Anforderung erhalten wir unterschiedliche Tick-Streams. Die beigefügte Datei des Expert Advisors (v. 1.41) zeigt deutlich den Grund für dieses Verhalten:

1

Bei einer Anforderung von 1500 werden 1500 Ticks zurückgegeben, bei einer Anforderung von 10000 werden 4691 zurückgegeben. Wenn mehr als 2000 Ticks zurückgegeben werden, ändert sich in der Regel die Art der Rückgabe der Historie.

Dateien:
CopyTicks.mq5  4 kb
 
Karputov Vladimir:

Ghjdt Überprüft. Also: in ein und demselben Code für ein und denselben Tick-Empfangsmodus (ich habe den COPY_TICKS_INFO-Modus überprüft - nur Bid und Ask) und bei unterschiedlicher Tiefe der Tick-Anforderung wird ein Tick-Stream unterschiedlich empfangen. Die angehängte Datei des Expert Advisors (v. 1.41) zeigt deutlich den Grund für dieses Verhalten:

Bei einer Anforderung von 1500 werden 1500 Ticks zurückgegeben, bei einer Anforderung von 10000 werden 4691 zurückgegeben. Wenn mehr als 2000 Ticks zurückgegeben werden, wird im Allgemeinen der Modus für die Rückgabe der Historie geändert.

So, toll, ich habe das Gleiche. Ich habe an servicedesk geschrieben, wir werden warten.
 
Tapochun:
Das ist großartig, ich habe das Gleiche. Ich habe an servicedesk geschrieben, wir werden warten.

Mir ist ein interessantes Merkmal aufgefallen. Ich habe den in meinem vorherigen Beitrag beschriebenen EA mit einem neuen Instrument ausgeführt (er hat noch keine Tick-Historie angefordert und daher noch keine Dateien mit der Tick-Historie auf der Festplatte erstellt) und festgestellt, dass er zunächst etwa 200 Ticks zurückgab, wenn er 2000 anforderte. Aber allmählich, mit jedem Tick, wächst die Anzahl der zurückgegebenen Ticks - es fühlt sich an, als ob die Online-Geschichte zu den anfänglichen 200 Ticks hinzugefügt wird, während ich hier schreibe.

Hinzugefügt: EA v 1.42 - korrigiert den Fehler beim Verlassen des Bereichs beim allerersten Durchlauf.

Dateien:
CopyTicks.mq5  4 kb
 
Aufgerüstet auf die neue Version 1190. EA in der neuen Version neu kompiliert. In der Testversion erhält CopyTicks() keine Ticks - Fehler 4014.
 
Karputov Vladimir:

Mir ist ein interessantes Merkmal aufgefallen. Ich habe den in meinem vorherigen Beitrag beschriebenen EA mit einem neuen Instrument ausgeführt (er hat noch keine Tick-Historie angefordert und daher noch keine Dateien mit der Tick-Historie auf der Festplatte erstellt) und festgestellt, dass er zunächst etwa 200 Ticks zurückgab, wenn er 2000 anforderte. Aber allmählich, mit jedem Tick, wächst die Anzahl der zurückgegebenen Ticks - es fühlt sich an, als ob die Online-Geschichte zu den anfänglichen 200 Ticks hinzugefügt wird, während ich hier schreibe.

Hinzugefügt: EA v 1.42 - der Fehler beim Verlassen des Bereichs beim allerersten Durchlauf wurde behoben.

Ja, Renat hat festgestellt, dass die Zecken geladen werden. Wir sollten also prüfen, ob (zumindest) eine -1 zurückkommt. Im Gegensatz dazu ermöglicht der Modus COPY_TICKS_INFO dem Analysator, die Gleichheit der zurückgegebenen Ticks mit den angeforderten zu überprüfen, auch wenn dies nicht so wichtig ist. Es wird immer noch weniger zurückgegeben.
 
Tapochun:
Ja, Renat hat darauf hingewiesen, dass die Zecken aufgesammelt werden. Sie sollten also (zumindest) auf die Rückgabe -1 prüfen. Und im Modus COPY_TICKS_INFO können Sie prüfen, ob der zurückgegebene Betrag dem angeforderten Betrag entspricht, auch wenn Sie das nicht tun - es ist nutzlos.
Nun, vor Montag werde ich nichts mit Zecken überprüfen können. Ich werde mich um andere Dinge kümmern.
 

Ich habe jetzt versucht, Ticks anzufordern - auf der Offline-Karte. Unabhängig vom Modus und der Anzahl der angeforderten Ticks ist das Ergebnis in etwa dasselbe: überhaupt keine Geldkurse (alle Ticks haben Bid = 0).

 
Karputov Vladimir:
Nun, bis Montag werden Sie sowieso nichts mit Tics glauben können. Ich werde etwas anderes tun.
Und warum? Wenn Sie einen Indikator herunterladen, gibt es eine tolle Schaltfläche zum Aktualisieren. Und niemand hat die Drehbücher gestrichen.
 
Bitte erklären Sie das noch einmal. Wie umfangreich ist die jetzt verfügbare Zeckengeschichte? Wird der Verlauf vom Server heruntergeladen, d. h. er muss nicht akkumuliert werden? Wie funktioniert der Tester, verwendet er eine Tick-Simulation oder einen Tick-Verlauf?