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
Der Code prüft nur die Sprachen Russisch und Englisch
Wenn jemand den Namen der Start-Schaltfläche in anderen Sprachen angibt, werde ich ihn in den Quelltext aufnehmen.
Im Chinesischen lautet der Text der Schaltflächen "Start" und "Stop" wie folgt: "开始" und "停止".
Aktualisiert.
Wäre es nicht einfacher, eine Zeichenkette von der Schaltfläche zu lesen und dann zu vergleichen, ob sie gleich bleibt oder sich geändert hat?
Schließlich soll die Funktion nicht von vorherigen Zuständen abhängig sein. Einfacher wäre es, die Farbe zu verwenden: grün - Start, sonst - Stop. Aber ich mache alles in WinAPI per poke-Methode, daher weiß ich nicht, wie ich die Farbe (Grünkomponente) der Schaltfläche auslesen kann. Wenn es eine funktionierende Variante gibt, werde ich sie natürlich ersetzen.
Dennoch sollte die Funktion nicht von vorherigen Zuständen abhängig sein. Es wäre einfacher, die Farbe zu verwenden: Grün - Start, sonst - Stop. Aber ich mache alles in WinAPI mit der poke-Methode, daher weiß ich nicht, wie ich die Farbe (Grünkomponente) der Schaltfläche auslesen kann. Wenn es eine funktionierende Variante gibt, werde ich sie natürlich ersetzen.
Dieser Code wurde von mir getestet und es wurde bestätigt, dass er funktioniert.
(Ich empfehle, beide Methoden beizubehalten, vielleicht werden die MT5-Entwickler in Zukunft die Farben ändern).
Dennoch sollte die Funktion nicht von vorherigen Zuständen abhängig sein. Es wäre einfacher, die Farbe zu verwenden: Grün - Start, sonst - Stop. Aber ich mache alles in WinAPI mit der poke-Methode, daher weiß ich nicht, wie ich die Farbe (Grünkomponente) der Schaltfläche auslesen kann. Wenn es eine funktionierende Variante gibt, werde ich sie natürlich ersetzen.
Wahrscheinlich ist es einfacher, nicht nach der Farbe der Schaltfläche zu suchen, sondern nach dem Status der Liste Eingänge - aktiviert/deaktiviert.
Wo kann man den Status der Eingaben abfragen? Es gibt keine offizielle API, wir müssen ihn anhand von Farben und Text ermitteln.
Nun, es gibt keine offizielle API für alle MT5-Interna - man muss sie mit Dienstprogrammen wie MS Spy untersuchen - so wurden die Kontrollkennungen gefunden, die jetzt im Multitester verwendet werden.
Wenn Sie sich nicht in die wilde Welt der Inputs begeben und nur die bereits getestete Start-Schaltfläche verwenden, sollte der Aufruf GetWindowLongA(hwnd, 0) die aktuelle Farbe der Schaltfläche zurückgeben. Meiner liefert 0xD0B1DF10 für die grüne Schaltfläche. Nur wenn MQ beschließt, den Stil zu korrigieren, könnte diese Einstellung verschwinden. Daher ist die Überprüfung der Aktivität von Inputs ohnehin zuverlässiger.
sieht so aus, als sollte der Aufruf GetWindowLongW(hwnd, 0) die aktuelle Farbe der Schaltfläche zurückgeben. Ich erhalte 0xD0B1DF10 für die grüne Schaltfläche.