Entwickler: Zeitformat im MT5-Terminal - Seite 4

 
stringo:

GetTickCount? Die ganze Sache? Machen Sie sich nicht lächerlich.

Ihre Handelsanforderungen entsprechen nicht den begrenzten Möglichkeiten von GetTickCount

Die Frage der zweifelhaften Nützlichkeit der Messung der Tickrate innerhalb einer Meta wird durch die begrenzten Möglichkeiten von GetTickCount vollständig gelöst.

Hier braucht man nicht einmal zu streiten, jeder kann dieses Problem sehr schnell lösen.

Was Millisekunden im Allgemeinen und meine Bedürfnisse betrifft, so habe ich meine Meinung über ihre Nutzlosigkeit im MT5 mehr oder weniger begründet.

 
Swan:

Alle Berechnungen basieren auf den letzten 10 (oder was immer eingestellt ist) Ticks...

Bei einem minütlichen tick_volume ist es etwas anders) Der Zeitraum ist um eine Größenordnung länger.

Wenn Sie von den Minuten ausgehen und 60.000 Millisekunden durch das tick_volume teilen, wäre dann nicht die Anzahl der in jeder untersuchten Minute empfangenen Ticks auf die Millisekunde genau?

Wenn wir die aktuelle lokale Computerzeit in Millisekunden nehmen (unter Verwendung von WinAPI-Tools) und diese Millisekunden durch das aktuelle akkumulierte tick_volume dividieren, erhalten wir dann nicht die aktuelle tick arrival rate?

 
hrenfx:

Die Frage der fragwürdigen Nützlichkeit der Messung der Tickrate innerhalb einer Meta wird durch die begrenzten Möglichkeiten von GetTickCount vollständig gelöst.

Es gibt nicht einmal einen Grund zum Streiten, jeder kann dieses Problem sehr schnell lösen.

Was Millisekunden im Allgemeinen und meine Bedürfnisse betrifft, so habe ich meine Meinung über ihre Nutzlosigkeit im MT5 mehr oder weniger begründet.

Niemand hindert Sie daran, die aktuelle Zeit in Millisekunden zu messen. Der Rest ist eine Frage der Technik.
 

hrenfx:

Mit GetTickCount wird dieses einfache Problem jedoch vollständig gelöst. Millisekunden haben damit nichts zu tun.

Das ist eine gute Idee. Ich sollte es versuchen).

Aber mit Millisekunden in der Tickzeit wäre es einfacher.

 
Ich habe sogar ein Skript für fours geschrieben, das die aktuelle Zeit in Millisekunden angibt. Schauen Sie im Viererforum nach.
Документация по MQL5: Дата и время / TimeCurrent
Документация по MQL5: Дата и время / TimeCurrent
  • www.mql5.com
Дата и время / TimeCurrent - Документация по MQL5
 
Swan:
hier ist keine Werbung erlaubt :)
Wenn ein Depot leerläuft und es keine Erklärung dafür gibt, geht der menschliche Verstand von einem Extrem zum anderen und sucht nach Gründen, vergisst dabei aber, in den Spiegel zu schauen.
 
stringo:
Niemand hindert Sie daran, die aktuelle Zeit in Millisekunden zu ermitteln. Der Rest ist eine Frage der Technik.

Sie haben ihn wohl nicht aufmerksam gelesen:

P.P.S. Niemand hindert Sie daran, Ticks in der Meta mit Millisekunden zu erfassen (über Emulation mit GetTickCount). Es ist ganz einfach. Die Frage ist, ob dies notwendig ist.

Das Gute an GetTickCount ist, dass es keine WinAPI in MQL benötigt. Ihr Vorteil ist jedoch viel größer, da die lokale Zeit nicht unbedingt mit der Zeit des Handelsservers synchronisiert ist. Und die Daten über die Tick-Ankunftszeit müssen zur Zeit des Handelsservers empfangen werden. Deshalb werden Millisekunden mit GetTickCount emuliert. Damit ist die Genauigkeit höher als bei der Berücksichtigung der ständig schwankenden Differenz zwischen den beiden Zeitpunkten.

Sie sehen, es geht nicht um theoretische Überlegungen, sondern um praktisches Handeln.

 
hrenfx:
Und die Daten über die Ankunftszeit des Ticks müssen in der Zeit des Handelsservers empfangen werden. Daher werden die Millisekunden durch GetTickCount emuliert. Damit ist die Genauigkeit besser als bei der Berücksichtigung der ständig fließenden De-Synchronisation von zwei Zeiten.

+ richtig.

Die Zeitmessung auf der Endgeräteseite bedeutet, dass es Verzögerungen beim Senden der Daten gibt.

Und eine gespeicherte Zeit vom Server ist genau das, was Sie brauchen.

Stanislav, aber Sie haben es bereits im System für Bestellungen. Geben Sie es einfach an das Terminal, damit die Händler es nehmen können.

Bei den Zecken wurde das Problem auf Serverebene nicht gelöst, weshalb ich es nicht einmal erwähnen werde.

 
papaklass:

Wenn Sie einen Tick bekommen, bedeutet das, dass eines der folgenden Dinge passiert ist:

1. Wenn sich das Level 1 Gebot (Bid_1) geändert hat;

2. Wenn sich Bid_1 nicht geändert hat, aber das Volumen auf diesem Preisniveau sich geändert hat (erhöht/verringert);

Wenn sich Gebot_1 nicht geändert hat und sich entweder Gebot_2 oder das Volumen auf der Preisstufe Gebot_2 geändert hat;

usw.

Das Gleiche gilt für Ask. Und nun Bid, Ask und Volumina auf jedem Preisniveau zusammen. Können Sie sich vorstellen, wie viele unterschiedliche Daten es gibt? Und das alles ist in 1c verpackt.

In einer Sekunde kann es bis zu Dutzende solcher Ticks geben. Der Zeitschritt von 1s ist eine sehr grobe Klassifizierung, wir brauchen einen feineren Zeitschritt - Millisekunden. Ist das im Allgemeinen klar?

, na ja, was soll's... zum Beispiel auf dem Server verzögern und alle Bits und Bitten werden auch in Zukunft kommen, egal wie viele es waren.

Wie kann dies wirklich beim Handel helfen...? Ich verstehe es noch nicht, außer um die Volatilität zu messen.

Und übrigens, sind Sie sicher, dass alle Ticks mit einer Millisekundenrate von der ursprünglichen Quelle bis zu Ihrem Monitor (endgültiger visueller Punkt) gelangen, wenn der MC m.s. hinzufügt?

 

Ich habe den Artikel gelesen und verstanden, dass Millisekunden nur zum Spaß benötigt werden. Um den Preis eines 100-m-Laufs auf die Sekunde genau messen zu können.

sergeev

Geben Sie es einfach an das Terminal, damit die Händler es mitnehmen können.

Um sie zu erhalten, muss der Datetime-Typ auf 10 Bytes erweitert werden und die MqlDateTime-Struktur muss dicker werden.

Warten Sie auf MQL6, der Millisekunden-Timer, die Tick-Historie und viele andere Funktionen werden dort erscheinen. Aber ich sehe keinen Grund, sie jetzt hinzuzufügen. IMHO.