Ja, aber man muss auch bedenken, dass es nur einen Timer gibt, nicht so, so VC++, und wenn man viele Timing-Checks hat, kann es sein, dass man eine Menge Ticks verliert und alles zu Brei wird.
Das ist kein Problem. Nur in einem Timer führen Sie bei jedem Start des Timers eine Prüfung durch und die anderen X Sekunden nach der letzten relevanten Prüfung.
Alexey Kozitsyn: Das ist kein Problem. Es ist nur so, dass man in einem Timer bei jedem Timerlauf eine Prüfung durchführt und die anderen X Sekunden nach der letzten relevanten Prüfung.
Das verstehe ich nicht. Wissen Sie, wie viel es kostet, eine Zeitschaltuhr zu betreiben? Ist es möglich, ihn mehr als 1 Mal auszuführen.
Ich sagte, dass jeder Tick wichtig ist, und Sie sprechen von Sekunden. Sie sollten alle parallel und unabhängig voneinander arbeiten.
Ich weiß es nicht. Wissen Sie, wie viel es kostet, die Zeitschaltuhr zu betreiben? Ist es möglich, ihn mehr als 1 Mal auszuführen.
Ich sagte, dass jeder Tick wichtig ist, und Sie sprechen von Sekunden.
Der Betrieb der Zeitschaltuhr kostet genau so viel, wie für die Aufgabe benötigt wird, wenn sie nicht anders erledigt werden kann. Es muss nicht viele Male durchgeführt werden, es reicht, wenn Sie eine Prüfung 3 Mal von 3 Durchläufen und eine weitere 1 Mal von 3 Durchläufen durchführen. Ich hoffe, die Idee ist jetzt klar.
Es wäre ineffizient, wenn EA jeden Tick behandelt, selbst wenn Millisekunden im Timer verwendet werden.
Ich brauche einen einfacheren Weg, um alle Ticks direkt aus der Marktübersicht zu erhalten.
Ein durchgehender OpTisk ist nicht möglich, da er nur dann funktioniert, wenn der nächste Tick dort kommt, wo der EA steht.
Die Variante ist, ihn auf dem volatilsten Symbol laufen zu lassen. Natürlich wird es einen Verlust geben... aber es wird einen Verlust in der Geschwindigkeit der Logikausführung für den gesamten EA geben
Nun, als eine Option auf die meisten volatilen Symbol laufen. natürlich wird es einige Verlust... aber es wird auch ein Verlust in der Geschwindigkeit der Ausführung aller EA-Logik sein
Deshalb habe ich Ihnen geraten, ein weiteres OnTick zu erstellen, das Ticks von allen Symbolen empfängt, die derzeit in der Marktübersicht verfügbar sind. Eine einfache und schnelle Variante.
Und nicht nur das. Sie sollten auch eine Funktion haben, die die tatsächliche Hebelwirkung eines jeden Symbols zurückgibt.
Und so sagte, um eine andere OnTick, die die Ticks von allen Symbolen, die derzeit in der Marktübersicht bekam zu machen. Eine einfache und schnelle Möglichkeit.
Eigentlich überspringt OnTick() Ticks. Auch OnCalculate() überspringt Ticks. Außerdem können Zecken in Rudeln auftreten. Der Timer ist also nicht sehr teuer, erst recht nicht, wenn man viele Zeichen analysiert. Die Hauptsache ist, dass die Berechnung kosteneffizient ist.
Alexey Kozitsyn: Eigentlich überspringt OnTick() Ticks. Auch OnCalculate() überspringt Ticks. Darüber hinaus können Zecken in Rudeln auftreten. Der Timer ist also nicht sehr teuer, erst recht nicht, wenn man viele Zeichen analysiert. Die Hauptsache ist, dass eine wirtschaftliche Kalkulation durchgeführt wird.
Sie können dies auch über einen Timer tun. Die gute Sache ist, dass wir EventSetMillisecondTimer haben, aber es ist schlecht, dass es auch OnTimer startet. Wir hätten OnMillisecondTimer hinzufügen sollen.
Nun, man kann es mit einer Zeitschaltuhr machen. Es ist gut, dass EventSetMillisecondTimer existiert, aber es ist schlecht, dass es auch OnTimer startet. Sie hätten OnMillisecondTimer hinzufügen sollen.
Was hindert Sie daran, es so zu machen?
voidOnTimer()
{
if( condition1 )
{...копируем тики...}
if( condition2 )
{...иной расчет, который не нужно запускать так часто, как condition1...}
}
Und im Großen und Ganzen wäre es gut, wenn wir das Symbolfeld als OnBookEvent() Handler hinzufügen würden.
Alexey Kozitsyn: Eigentlich überspringt OnTick() Ticks. Auch OnCalculate() überspringt Ticks. Darüber hinaus können Zecken in Rudeln auftreten. Der Timer ist also nicht sehr teuer, erst recht nicht, wenn man viele Zeichen analysiert. Die Hauptsache ist, dass eine wirtschaftliche Kalkulation durchgeführt wird.
Der Timer überspringt auch Ticks, wenn Sie sie bis zum Tick zählen müssen, müssen Sie sie durch das Tick-Volumen dort zählen... aber es wird Sie auch nicht retten... Ticks können sehr schnell und in Chargen kommen, ja
Timer wird auch verpassen, wenn Sie direkt auf die Zecke gehen müssen Sie den Überblick über sie zu halten, von der Zecke Volumen gibt ... aber es wird auch nicht speichern ... Zecken können sehr schnell kommen und eine Menge, ja
Nichts kann das retten. Man kann nicht jeden Tick verarbeiten.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Ja, aber man muss auch bedenken, dass es nur einen Timer gibt, nicht so, so VC++, und wenn man viele Timing-Checks hat, kann es sein, dass man eine Menge Ticks verliert und alles zu Brei wird.
Das ist kein Problem. Es ist nur so, dass man in einem Timer bei jedem Timerlauf eine Prüfung durchführt und die anderen X Sekunden nach der letzten relevanten Prüfung.
Das verstehe ich nicht. Wissen Sie, wie viel es kostet, eine Zeitschaltuhr zu betreiben? Ist es möglich, ihn mehr als 1 Mal auszuführen.
Ich sagte, dass jeder Tick wichtig ist, und Sie sprechen von Sekunden. Sie sollten alle parallel und unabhängig voneinander arbeiten.
Ich weiß es nicht. Wissen Sie, wie viel es kostet, die Zeitschaltuhr zu betreiben? Ist es möglich, ihn mehr als 1 Mal auszuführen.
Ich sagte, dass jeder Tick wichtig ist, und Sie sprechen von Sekunden.
Der Betrieb der Zeitschaltuhr kostet genau so viel, wie für die Aufgabe benötigt wird, wenn sie nicht anders erledigt werden kann. Es muss nicht viele Male durchgeführt werden, es reicht, wenn Sie eine Prüfung 3 Mal von 3 Durchläufen und eine weitere 1 Mal von 3 Durchläufen durchführen. Ich hoffe, die Idee ist jetzt klar.
Es wäre ineffizient, wenn EA jeden Tick behandelt, selbst wenn Millisekunden im Timer verwendet werden.
Ich brauche einen einfacheren Weg, um alle Ticks direkt aus der Marktübersicht zu erhalten.
Ein durchgehender OpTisk ist nicht möglich, da er nur dann funktioniert, wenn der nächste Tick dort kommt, wo der EA steht.
Die Variante ist, ihn auf dem volatilsten Symbol laufen zu lassen. Natürlich wird es einen Verlust geben... aber es wird einen Verlust in der Geschwindigkeit der Logikausführung für den gesamten EA geben
Nun, als eine Option auf die meisten volatilen Symbol laufen. natürlich wird es einige Verlust... aber es wird auch ein Verlust in der Geschwindigkeit der Ausführung aller EA-Logik sein
Deshalb habe ich Ihnen geraten, ein weiteres OnTick zu erstellen, das Ticks von allen Symbolen empfängt, die derzeit in der Marktübersicht verfügbar sind. Eine einfache und schnelle Variante.
Und nicht nur das. Sie sollten auch eine Funktion haben, die die tatsächliche Hebelwirkung eines jeden Symbols zurückgibt.
Und so sagte, um eine andere OnTick, die die Ticks von allen Symbolen, die derzeit in der Marktübersicht bekam zu machen. Eine einfache und schnelle Möglichkeit.
Eigentlich überspringt OnTick() Ticks. Auch OnCalculate() überspringt Ticks. Darüber hinaus können Zecken in Rudeln auftreten. Der Timer ist also nicht sehr teuer, erst recht nicht, wenn man viele Zeichen analysiert. Die Hauptsache ist, dass eine wirtschaftliche Kalkulation durchgeführt wird.
Sie können dies auch über einen Timer tun. Die gute Sache ist, dass wir EventSetMillisecondTimer haben, aber es ist schlecht, dass es auch OnTimer startet. Wir hätten OnMillisecondTimer hinzufügen sollen.
Nun, man kann es mit einer Zeitschaltuhr machen. Es ist gut, dass EventSetMillisecondTimer existiert, aber es ist schlecht, dass es auch OnTimer startet. Sie hätten OnMillisecondTimer hinzufügen sollen.
Was hindert Sie daran, es so zu machen?
Und im Großen und Ganzen wäre es gut, wenn wir das Symbolfeld als OnBookEvent() Handler hinzufügen würden.Eigentlich überspringt OnTick() Ticks. Auch OnCalculate() überspringt Ticks. Darüber hinaus können Zecken in Rudeln auftreten. Der Timer ist also nicht sehr teuer, erst recht nicht, wenn man viele Zeichen analysiert. Die Hauptsache ist, dass eine wirtschaftliche Kalkulation durchgeführt wird.
Der Timer überspringt auch Ticks, wenn Sie sie bis zum Tick zählen müssen, müssen Sie sie durch das Tick-Volumen dort zählen... aber es wird Sie auch nicht retten... Ticks können sehr schnell und in Chargen kommen, ja
Timer wird auch verpassen, wenn Sie direkt auf die Zecke gehen müssen Sie den Überblick über sie zu halten, von der Zecke Volumen gibt ... aber es wird auch nicht speichern ... Zecken können sehr schnell kommen und eine Menge, ja