Wie in MQL, ohne Rückgriff auf WinAPI, wie kann ich wissen, wenn das Terminal Benutzer Fokus hat (d.h. der Benutzer hat ein aktives Fenster)? Einige Funktionen, wie z.B. das Auslesen des Tastaturstatus (z.B. TerminalInfoInteger(TERMINAL_KEYSTATE_CAPSLOCK)), geben nun je nach Aktivität des Fensters mit demselben Tastaturstatus unterschiedliche Werte zurück. Das ist eine Schande.
Folgendes Problem: Ich hatte einen Expert Advisor auf einem Netting-Konto, der Positionen eröffnete und schloss. Ich fügte der vom Roboter eröffneten Position manuell einen Kontrakt hinzu und nach einer Weile zeigte das Log des Expert Advisors Fehler:
Fehler beim Öffnen einer Position: 4753 - Position nicht gefunden
Das Interessanteste daran ist, dass die Position geschlossen, der automatische Handeldeaktiviert und der EA aus dem Diagramm gelöscht wurde, aber weiterhin Fehler auftreten.
Ich habe nämlich festgestellt, dass OnCalculate bei Änderungen des Ask- und Bid-Preises aufgerufen wird, aber tick_volume[] zählt nur Änderungen des Bid-Preises
OnTick wird bei jeder Preisänderung aufgerufen und nicht nur dann (das Terminal kann bei vielen Gelegenheiten eine Neuberechnung erfordern, z. B. wenn zusätzliche Daten heruntergeladen oder historische Datensätze neu verteilt werden).
DasTick-Volumen sowie die Grafik basieren auf der Veränderung des Geldkurses. Bei der Börsenausführung wird ein separater realer Volumenzähler verwendet, in dem alle Kauf- und Verkaufstransaktionen verbucht werden.
Folgendes Problem: Ich hatte einen Expert Advisor auf einem Netting-Konto, der Positionen eröffnete und schloss. Ich fügte der vom Roboter eröffneten Position manuell einen Kontrakt hinzu und nach einer Weile zeigte das Log des Expert Advisors Fehler:
Fehler beim Öffnen einer Position: 4753 - Position nicht gefunden
Das Interessanteste daran ist, dass die Position geschlossen, der automatische Handeldeaktiviert und der Expert Advisor aus dem Chart gelöscht wird.
Dies hängt von der Logik des Expert Advisors ab.
Er kann sich nur an seine eigenen Operationen erinnern und denken, und Ihre manuellen Eingriffe können die Logik des Expert Advisors stören.
Er kann sich nur an seine eigenen Operationen erinnern und darüber nachdenken, und Ihre manuellen Eingriffe können die Logik des Expert Advisors durcheinander bringen.
Ich verstehe, aber warum ist dieser Fehler im Terminal geblieben? Ich habe Ihnen gesagt, dass alle Positionen geschlossen sind, der automatische Handel deaktiviert ist, der Expert Advisor entladen ist und sogar das Terminal neu gestartet wurde!
Der K-meleon Browser gibt den Text in privaten Nachrichten nicht wieder (siehe Screenshot). Aber verletzend! Irgendwie nur unter vier Augen. Der Browser ist der einfachste und schnellste, aber nicht weit verbreitet und Moz fehlt eine Schriftart? Hilfe, wer weiß. Die Hardware ist alt und schwere Browser schlecht zieht.
Ich verstehe, aber warum ist dieser Fehler im Terminal geblieben? Ich habe Ihnen gesagt, dass alle Positionen geschlossen sind, der automatische Handel ausgeschaltet ist, der Expert Advisor entladen ist und ich sogar das Terminal neu gestartet habe!
Wunder gibt es nicht. Ihr Expert Advisor läuft auf einem der Charts.
MT5 Build 2755
Das Terminal zählt nicht alle Ticks
Warum haben Sie eine solche Schlussfolgerung gezogen?
MT5 Build 2755
Das Terminal zählt nicht alle Ticks
Probieren Sie es so
Warum haben Sie diese Schlussfolgerung gezogen?
Denn wie ich bemerkt habe, wird OnCalculate aufgerufen, wenn sich Ask- und Bid-Kurse ändern, aber tick_volume[] zählt nur Bid-Änderungen
Folgendes Problem: Ich hatte einen Expert Advisor auf einem Netting-Konto, der Positionen eröffnete und schloss. Ich fügte der vom Roboter eröffneten Position manuell einen Kontrakt hinzu und nach einer Weile zeigte das Log des Expert Advisors Fehler:
Fehler beim Öffnen einer Position: 4753 - Position nicht gefunden
Das Interessanteste daran ist, dass die Position geschlossen, der automatische Handeldeaktiviert und der EA aus dem Diagramm gelöscht wurde, aber weiterhin Fehler auftreten.
Ich habe nämlich festgestellt, dass OnCalculate bei Änderungen des Ask- und Bid-Preises aufgerufen wird, aber tick_volume[] zählt nur Änderungen des Bid-Preises
OnTick wird bei jeder Preisänderung aufgerufen und nicht nur dann (das Terminal kann bei vielen Gelegenheiten eine Neuberechnung erfordern, z. B. wenn zusätzliche Daten heruntergeladen oder historische Datensätze neu verteilt werden).
DasTick-Volumen sowie die Grafik basieren auf der Veränderung des Geldkurses. Bei der Börsenausführung wird ein separater realer Volumenzähler verwendet, in dem alle Kauf- und Verkaufstransaktionen verbucht werden.
Folgendes Problem: Ich hatte einen Expert Advisor auf einem Netting-Konto, der Positionen eröffnete und schloss. Ich fügte der vom Roboter eröffneten Position manuell einen Kontrakt hinzu und nach einer Weile zeigte das Log des Expert Advisors Fehler:
Fehler beim Öffnen einer Position: 4753 - Position nicht gefunden
Das Interessanteste daran ist, dass die Position geschlossen, der automatische Handeldeaktiviert und der Expert Advisor aus dem Chart gelöscht wird.
Dies hängt von der Logik des Expert Advisors ab.
Er kann sich nur an seine eigenen Operationen erinnern und denken, und Ihre manuellen Eingriffe können die Logik des Expert Advisors stören.
Das hängt von der Logik des EA selbst ab.
Er kann sich nur an seine eigenen Operationen erinnern und darüber nachdenken, und Ihre manuellen Eingriffe können die Logik des Expert Advisors durcheinander bringen.
Ich verstehe, aber warum ist dieser Fehler im Terminal geblieben? Ich habe Ihnen gesagt, dass alle Positionen geschlossen sind, der automatische Handel deaktiviert ist, der Expert Advisor entladen ist und sogar das Terminal neu gestartet wurde!
Ich verstehe, aber warum ist dieser Fehler im Terminal geblieben? Ich habe Ihnen gesagt, dass alle Positionen geschlossen sind, der automatische Handel ausgeschaltet ist, der Expert Advisor entladen ist und ich sogar das Terminal neu gestartet habe!
Wunder gibt es nicht. Ihr Expert Advisor läuft auf einem der Charts.