Die Ermittlung der vertikalen und horizontalen Größe des aktuellen Graphen in Pixeln ist derzeit eine unlösbare Aufgabe ? Renat, habe ich Sie richtig verstanden?
Die vertikale und horizontale Größe des aktuellen Diagramms in Pixeln zu ermitteln, ist derzeit eine unlösbare Aufgabe ? Renat Habe ich Sie richtig verstanden?
Meine Antwort war eine allgemeine Antwort auf die allgemeine Frage: "Einige werden seit langem eklatant ignoriert. Warum?"
Und es ist elementar, die Bildschirmgröße zu bestimmen - das haben Sie doch wohl selbst herausgefunden, oder?
#import "user32.dll" int GetClientRect(int hWnd,int lpRect[]); //+------------------------------------------------------------------+ //| Skript-Programmstartfunktion | //+------------------------------------------------------------------+ int start() { int rect[4]; //---- int hwnd=WindowHandle(Symbol(),Period()); if(hwnd>0) { GetClientRect(hwnd,rect); Print("Links: ",rect[0]," Oben: ",rect[1]," Rechts: ",rect[2]," Unten: ",rect[3]); } //---- return(0); }
Sünder, ich bereue, es tut mir leid. Ich habe den Import der DLL zugelassen, und es hat alles funktioniert.
Dies ist das erste Drehbuch dieser Art für mich. Ich dachte, ich hätte Störungen auf meinem Rechner, altes Betriebssystem, kopierte die Bibliothek user32.dll in den Ordner libraries, versuchte void GetClientRect, bool GetClientRect. Und eine einfache Sache öffnete ...
Ich schwöre, dass ich diesen Fehler nicht noch einmal wiederholen werde.
Bei der Lösung des Problems der Vorwärts- und Rückwärtsumrechnung
pixel_Y -> quote, quote -> pixel_Y
stellt sich die folgende Frage:
Wie bestimmt man die Werte der maximalen und minimalen Notierungen, die auf der vertikalen Achse sichtbar sind (in der Abbildung oben und unten markiert), wenn das Hoch 1.8600, das Tief 1.8400 und die vertikale Chartgröße in Pixel 500 bekannt sind ? Die Skalierung des Diagramms erfolgt automatisch.
Wenn die Skala automatisch ist, kann sie durch Addition von 5 % der Differenz zwischen dem höchsten und dem niedrigsten Preis am oberen und unteren Ende berechnet werden. <br / translate="no"> Übrigens: Es geht nicht um den Preis, sondern um die Anzahl der Pixel zwischen dem höchsten und dem niedrigsten Preis.
Die Abstände vom Tiefpunkt zum unteren Rand des Charts und vom Hochpunkt zum oberen Rand des Charts sind oft nicht identisch, insbesondere bei kleinen Zeiträumen.
Wie ist dies möglich, wenn die gleiche Anzahl von Pixeln ( 5% ) von oben nach oben und von unten nach unten hinzugefügt wird?
Die Abstände von Low zur unteren Grenze des Charts und von High zur oberen Grenze des Charts stimmen oft nicht überein, insbesondere bei kleinen Perioden. <br / translate="no">
Ich werde diese Frage beantworten, um die Entwickler nicht zu belästigen:
Ich arbeite schon seit einem Jahr mit mt4, aber so etwas habe ich noch nie gesehen...
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.
Meine Antwort war eine allgemeine Antwort auf die allgemeine Frage: "Einige werden seit langem eklatant ignoriert. Warum?"
Und es ist elementar, die Bildschirmgröße zu bestimmen - das haben Sie doch wohl selbst herausgefunden, oder?
#import "user32.dll" int GetClientRect(int hWnd,int lpRect[]); //+------------------------------------------------------------------+ //| Skript-Programmstartfunktion | //+------------------------------------------------------------------+ int start() { int rect[4]; //---- int hwnd=WindowHandle(Symbol(),Period()); if(hwnd>0) { GetClientRect(hwnd,rect); Print("Links: ",rect[0]," Oben: ",rect[1]," Rechts: ",rect[2]," Unten: ",rect[3]); } //---- return(0); }Dieser Code lässt sich erfolgreich kompilieren, aber bei der Ausführung wird in den Protokollen die folgende Meldung angezeigt:
2006.08.28 07:51:05 ____pixel EURUSD,M1: entfernt
2006.08.28 07:51:05 ____pixel EURUSD,M1: Experte angehalten
2006.08.28 07:51:05 ____pixel EURUSD,M1: dll-Aufrufe sind nicht erlaubt; 'user32.dll'-'GetClientRect'
2006.08.28 07:51:05 ____pixel EURUSD,M1: erfolgreich geladen.
Überprüft mit Windows XP und Win98, gleiches Ergebnis. Baujahr 195.
Dies ist das erste Drehbuch dieser Art für mich. Ich dachte, ich hätte Störungen auf meinem Rechner, altes Betriebssystem, kopierte die Bibliothek user32.dll in den Ordner libraries, versuchte void GetClientRect, bool GetClientRect. Und eine einfache Sache öffnete ...
Ich schwöre, dass ich diesen Fehler nicht noch einmal wiederholen werde.
Herzlichen Dank!!!
Bei der Lösung des Problems der Vorwärts- und Rückwärtsumrechnung
pixel_Y -> quote, quote -> pixel_Y
stellt sich die folgende Frage:
Wie bestimmt man die Werte der maximalen und minimalen Notierungen, die auf der vertikalen Achse sichtbar sind (in der Abbildung oben und unten markiert), wenn das Hoch 1.8600, das Tief 1.8400 und die vertikale Chartgröße in Pixel 500 bekannt sind ? Die Skalierung des Diagramms erfolgt automatisch.
|------------------------------------------------| <- ???
|................................................|
|................................................|
|...........Hoch 1.8600....................|
|................................................|
|................................................|
|................................................|
|................................................|
|................................................|
|................................................|
|............ Tief 1.8400...................|
|................................................|
|................................................|
|------------------------------------------------| <- ???
Zitate aus Ihren früheren Antworten:
Übrigens: Es geht nicht um den Preis, sondern um die Anzahl der Pixel zwischen dem höchsten und dem niedrigsten Preis.
Die Abstände vom Tiefpunkt zum unteren Rand des Charts und vom Hochpunkt zum oberen Rand des Charts sind oft nicht identisch, insbesondere bei kleinen Zeiträumen.
Wie ist dies möglich, wenn die gleiche Anzahl von Pixeln ( 5% ) von oben nach oben und von unten nach unten hinzugefügt wird?
Ich werde diese Frage beantworten, um die Entwickler nicht zu belästigen:
Ich arbeite schon seit einem Jahr mit mt4, aber so etwas habe ich noch nie gesehen...
Hoch 1,2729 Max. sichtbarer Wert 1,2730 delta 0,0001
Tief 1,2695 Min. sichtbarer Wert 1,2690 delta 0,0005