
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Gut, aber das ist keine Echtzeitlösung, weil wir die Reaktionszeit für Nicht-Tick-Ereignisse nicht kontrollieren können.
Im Falle von "sleep()" können wir das.
Wenn wir also Tick-by-Tick und veraltete Preise mit Schlaf kombinieren, können wir eine Echtzeituhr haben :)
Wie gesagt, wenn diese Lösung in einem EA implementiert wird, besteht keine Notwendigkeit mehr für TimeCurrent() und die Schleife wird durch Sleep(Interval-Runtime) (in ms) gesteuert.
Der größte Teil des Codes bleibt derselbe, redraw() wird nicht mehr benötigt. Wenn Sie die Geschwindigkeit des Codes erhöhen wollen, können Sie auch einige (ah mir fehlt das englische Wort) Arrays mit Rotationsnullpunkt verwenden, um die Shift-Schleife loszuwerden.
AFAIK ist dies (oder ähnlich) die beste Lösung, die in reinem MQL in einem Indikator durchgeführt werden kann. Es gibt sicherlich bessere Lösungen, wenn man eine DLL verwendet und die Berechnungen in ein externes Programm exportiert
Wenn wir also Tick-by-Tick und veraltete Preise mit Schlaf kombinieren, können wir eine Echtzeituhr haben :)
Ja, aber Sleep ist nicht möglich in Indikatoren, das ist Ihr Problem seit Beginn dieses Threads
Kann ein EA einen Indikator aufrufen?
Sie können ein Skript an den Chart anhängen, das jede Sekunde einen gefälschten Tick an den Chart sendet. Das ist es, was ich normalerweise tue, um Multi-Pair-Indikatoren und EAs in regelmäßigen Abständen zu aktualisieren.
Braucht man dafür eine DLL oder geht das auch ohne?
Es ist nur eine Handvoll Zeilen in mql4 (natürlich müssen Sie DLL-Aufrufe erlaubt, die Windows-API aufrufen, aber Sie brauchen nicht zu installieren):
Ich habe dieses Skript in meinen Favoriten und wenn ich Ticks brauche, ziehe ich es einfach auf den Chart.
Ich habe auch eine Variante davon ohne die Schleife, die nur einen Tick sendet und dann beendet wird, und habe diese (one_tick.mq4) an die Tastenkombination ALT+T gebunden, und jetzt kann ich einen Tick an das aktive Diagramm senden, indem ich einfach ALT-T drücke. Ich brauche dies für einige meiner stat-arb EAs beim Experimentieren während des Wochenendes, um start() zu erzwingen, um ihre Berechnungen und das Plotten ihrer Graphen auszulösen (ich kann Linien auf dem Chart verschieben, um das Intervall zu ändern und dann brauche ich einen neuen Tick, um ihre Berechnungen zu aktualisieren).
Schöner Beitrag. Danke fürs Teilen