![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Angenommen, das Diagramm wird so weit wie möglich nach rechts gescrollt, dann ist der Einzug sichtbar und es befinden sich beispielsweise 100 Balken im Diagramm.
Wenn wir jedoch das Diagramm nach links scrollen, um es einzurücken, werden 100 + so viele Balken angezeigt, wie in den Einzug passen.
Es ist uninteressant, die Karte von Hand zurückzuspulen.
verbunden werden? - Ermitteln der vertikalen und horizontalen Größe des aktuellen Diagramms in Pixeln;
1. GetClientRect aus user32.dll
Ich habe keine Erfahrung mit dem Import von *.dll.
Ich fand eine Beschreibung von GetClientRect
Syntax
BOOL GetClientRect
(
HWND hWnd, // Fensterdeskriptor
LPRECT lpRect // Adresse der Arbeitskoordinatenstruktur
);
Parameter
hWnd
Identifiziert das Fenster, dessen Arbeitskoordinaten zurückgegeben werden sollen.
lpRect
Gibt die RECT-Struktur an, die die Arbeitskoordinaten aufnimmt. Die Elemente links und oben sind Null. Die Elemente rechts und unten enthalten die Breite und Höhe des Fensters.
Rückgabewerte
Wenn die Funktion erfolgreich abgeschlossen wurde, ist der Rückgabewert ungleich Null. Schlägt die Funktion fehl, ist der Rückgabewert Null. Um erweiterte Fehlerdaten zu erhalten, rufen Sie GetLastError auf.
In anderen Quellen wird diese Funktion als nichtig beschrieben. Was soll man glauben?
Ist es notwendig, #import "user32.dll" anzugeben, um eine Verbindung herzustellen?
Einigen Quellen zufolge ist die RECT-Struktur in winuser.h beschrieben, anderen in windef.h. Keine dieser Dateien ist auf meinem Rechner vorhanden.
#include <winuser.h> oder #include <windef.h> ?
Was sollte als hWnd-Fensterbezeichner angegeben werden?
Wie erhält man die erforderlichen Parameter aus der lpRect-Struktur? MQL4 unterstützt keine komplexen Datentypen (Strukturen).
verbunden werden? - Erhalten Sie maximale und minimale scheinbare Kurse des aktuellen Charts;
Vielleicht ist es sinnvoll, die Sprache MQL4 mit entsprechenden Funktionen zu ergänzen?
|------------------------------------------------| <- 1.8595
|................................................|
|................................................|
|.............--- Hoch ........................|
|................................................|
|................................................|
|................................................|
|................................................|
|................................................|
|................................................|
|............................--- Tief..........|
|................................................|
|................................................|
|----
Bitte beantworten Sie meine Fragen.
Auf der Website finden sich zahlreiche Artikel und eine Sammlung von Programmen. Zögern Sie nicht, sie zu lesen. Insbesondere die Frage der Mindest- und Höchstquoten wurde hier erörtert: "MQL4: Abfangen".
Ich zitiere aus
===
Wenn Sie die Größe des Fensters in Pixeln kennen, können Sie einfach die Funktionen BarsPerWindow und FirstVisibleBar verwenden. Es ist kein Problem, die Nummer des Balkens zu berechnen.
Komplizierter wird es bei der Preiskoordinierung. Wenn die Skala automatisch ist, können wir sie berechnen, indem wir 5 % der Differenz zwischen den Höchst- und Mindestpreisen am oberen und unteren Rand addieren. Wenn die Skala fest ist, kann sie nicht berechnet werden, da es keine Informationen über die Ober- und Untergrenze gibt.
===
===
Wenn Sie die Größe des Fensters in Pixeln kennen, können Sie die Funktionen BarsPerWindow und FirstVisibleBar problemlos verwenden. Es ist kein Problem, die Taktzahl herauszufinden.
Komplizierter wird es bei der Preiskoordinierung. Wenn die Skala automatisch ist, können wir sie berechnen, indem wir 5 % der Differenz zwischen den Höchst- und Mindestpreisen am oberen und unteren Rand addieren. Wenn die Skala fest ist, kann sie nicht berechnet werden, da es keine Informationen über die Ober- und Untergrenze gibt.
===
Reales Beispiel: EURUSD, M1
Hoch 1,2613 Max. sichtbarer Wert 1,2620 delta 0,0007
Tief 1,2602 Min 1,2600 delta 0,0002 sichtbarer Wert
Wo sind 5%?
Die GetClientRect-Suche im MQL4.COM-Forum ergibt 2 Referenzen. Keine spezifischen Antworten oder Empfehlungen.
Sie stellen also eine Frage. Ich habe Sie in ein spezielles Forum für diesen Zweck eingeladen.
Außerdem habe ich mich selbst zitiert: "Mit der Preiskoordinierung ist es komplizierter. Das bedeutet, dass es auf die Frage keine eindeutige Antwort gibt.
Übrigens, 5% ist nicht der Preis, sondern die Anzahl der Pixel zwischen dem Höchst- und dem Mindestpreis.
Außerdem habe ich mich selbst zitiert: "Mit der Preiskoordinierung ist es komplizierter. Das bedeutet, dass es auf die Frage keine eindeutige Antwort gibt.
Übrigens, 5% ist nicht der Preis, sondern die Anzahl der Pixel zwischen dem Höchst- und dem Mindestpreis.
Ich habe Ihren Rat befolgt und Ihre Frage im MQL4.COM-Forum gestellt. Ich habe keine Antwort erhalten, keine Antwort und keine Hoffnung. Bitte um Hilfe.
Bitte helfen Sie mir mit der GetClientRect-Funktion von user32.dll, um die vertikale und horizontale Größe des aktuellen Diagramms in Pixel zu erhalten.
Die Beschreibung der Funktion ist oben angegeben.
Um sie zu verbinden, geben Sie #import "user32.dll" an.
Als Bezeichner des Fensters hWnd geben wir den von der Funktion WindowHandle (...) zurückgegebenen Wert an.
Wie erhält man die erforderlichen Parameter aus der lpRect-Struktur, wenn MQL4 keine komplexen Datentypen (Strukturen) unterstützt?
Seit mehr als einem Monat bitte ich um Hilfe bei der Lösung meines Problems, ohne Erfolg.
Auf manche Beiträge wird nach ein oder zwei Stunden geantwortet, andere werden lange Zeit ignoriert. Und warum?