MT5 Für alle, die Wert auf Geschwindigkeit legen. - Seite 12

 
shelandr:

Ich verstehe die Frage nicht... EA verarbeitet jeden Tick. Ticks sind in der Regel 2-3 pro Minute, bei Kursbewegungen erhöht sich die Frequenz auf etwa 200 pro Minute - oder 4-5 pro Sekunde (denken Sie nicht, dass ich falsch in Minuten in Sekunden übersetzt habe - es gibt eine andere Beziehung). Ich weiß nicht, ob ich mit der Minute oder der Sekunde falsch liege - es ist genauer, ich kann die CPU-Last visuell kontrollieren, außer bei synchronen Handelsoperationen, die den Prozess unweigerlich verlangsamen und wahrscheinlich eingehende Ticks blockieren.

Es sei darauf hingewiesen, dass weder EA noch das Skript den Eingang von Ticks in das Terminal blockieren können. Aber was will ich damit sagen - machen Sie ruhig weiter.
 
TheXpert:
Es sei darauf hingewiesen, dass weder EAs noch Skripte Ticks blockieren können, die im Terminal eingehen.

Ich habe nicht gesagt, dass sie blockieren ... nur physisch die Modem-Netzkarte Ports, wenn sie nicht Gigabit sind nicht alles durchlassen. Internet-Verkehr ist unberechenbar zu.

Aber synchrone Handelsoperationen sind blockiert... lernen Sie die Mathematik.

Die Indikatoren blockieren nicht - sie arbeiten im Fluss. Aber Skripte und Expert Advisors verlangsamen sich. (In der MT4-Dokumentation gibt es eine.

 
shelandr:

Ich denke, wenn ich die Kanalbandbreite erhöhe, werden sich auch die maximalen Frequenzen erhöhen... Ich habe wahrscheinlich keine Zeit, alle Ticks zu empfangen...

Forum zum Thema Handel, automatische Handelssysteme und Strategietests

MT5 Für alle, die Wert auf Geschwindigkeit legen.

shelandr, 2013.07.02 08:24

Ich habe eine gute Idee, meine eigene Gruppe von automatisierten Handelssystemen zu verwenden, ich sollte mein Bestes tun, um etwas zu lernen, was ich nicht verstehe, ich sollte lieber einmal lernen und es richtig machen, als mich auf den Tipp von jemandem zu verlassen.

Vielleicht sollten Sie das tun, anstatt die gleiche Frage 10 Mal zu stellen.
 
papaklass:

Zur Klarstellung.

1. Merken Sie sich die Startzeit des Experten für den nächsten Tick.

2. Wenn Expert Advisor einen Tick gearbeitet hat, subtrahieren Sie von der aktuellen Zeit die Zeit, die Sie sich zu Beginn gemerkt haben.

Wenn der Unterschied mehr als 6 ms beträgt, bedeutet dies, dass nicht der Kanal den EA verlangsamt, sondern dass Ihr EA mit der Geschwindigkeit des Kanals nicht zurechtkommt.

Ich habe einen solchen Zähler im MT5 - er zeigt 0 ms an. In MT4 gibt es keine Millisekunden. Ich messe auch die Trägheit zwischen den Ticks, sie zeigt manchmal 3000 ms an.

Ich muss auch die Betriebszeit des Terminals messen, es funktioniert auch. Aber 6 ms haben nichts damit zu tun - der Austausch mit dem Server erfolgt in einem anderen Zeitrahmen und hängt von der Länge des Pakets ab, die variieren kann... Genauso wenig wissen sie, ob sie Trades und Informationen über Positionen, Orders usw. in einem separaten Paket gebildet oder dem Tick-Paket hinzugefügt haben (ich habe es am Anfang offengelegt).

Ich habe jetzt genauer hingesehen und manchmal ist Work = 16 ms. Obwohl der Markt ruhig ist. Das Intervall beträgt etwa 500 msec.

 
sion:
Vielleicht sollten Sie das tun, anstatt 10 Mal das Gleiche zu fragen.
Das tue ich auch. Außerdem ist es nicht so, dass ich frage, sondern dass ich antworte oder -mitteile.
 
papaklass:

Sie können die Geschwindigkeit des Internet kalala leicht mit der gleichen Methode überprüfen.

Sie müssen sich die Zeit vor OrderSend(); merken und sie mit der Zeit nach Eingang des Bestellscheins vergleichen.

Die Funktion GetTickCount() hilft Ihnen, Millisekunden zu messen.

Jetzt schaue ich genauer hin: Manchmal ist Work = 16 ms. Obwohl der Markt ruhig ist. Das Intervall beträgt etwa 500 ms.

Allerdings gibt es keinen Handel.

Jetzt habe ich versucht, eine Position zu schließen, und es wurden 36 ms angezeigt.

Und jetzt zeigte der Leerlauf 64 ms an. Was könnte das bedeuten, eine solche Verbreitung.

 
shelandr:

Ich habe jetzt genauer hingesehen, und manchmal rutscht Work = 16ms durch. Obwohl der Markt ruhig ist. Das Intervall beträgt etwa 500 ms.

Allerdings gibt es keinen Handel.

Jetzt habe ich versucht, eine Position zu schließen, und es wurden 36 ms angezeigt.

Und jetzt zeigte der Leerlauf 64 ms an. Was könnte das bedeuten, eine solche Variation.

Die Genauigkeit der Zeitmessung durch GetTickCount liegt innerhalb von 16 ms.

Man kann sich also nicht auf die Zeitmessung innerhalb von 32 ms verlassen. Da die tatsächlichen Zeiten zwischen 0 und 31 ms liegen, werden die GetTickCount-Antworten häufiger auf 0 oder 16 gerundet.

 
shelandr:
Das tue ich auch. Außerdem ist es ja nicht so, dass ich frage, sondern antworte oder kommuniziere.
Nun, wenn Sie antworten, frage ich mich, was Sie mit "die maximalen Frequenzen werden zunehmen" meinen, insbesondere die Abhängigkeit dieser Frequenzen von der Kanalgeschwindigkeit...?
 
Renat:

Die Genauigkeit der GetTickCount-Zeitmessung liegt innerhalb von 16 ms.

Das heißt, dass Messungen innerhalb von 32 ms nicht vertrauenswürdig sind. Bei einer Echtzeit zwischen 0 und 31 ms können die Antworten von GetTickCount oft auf 0 oder 16 gerundet werden.

Danke... Ich verstehe das Problem... Ich habe es in Expert Advisor:finish =GetTickCount();
Es gibt also nichts zu messen. Denn ich frage mich, warum ich 0 habe - ich brauche nicht in Mikrosekunden zu messen...
 
shelandr:
Außerdem ist es nicht so, dass ich frage, sondern dass ich antworte oder -mitteile.

kein Vergehen

aber Ihre Antworten sehen in etwa so aus.