Citations maximales et minimales visibles - page 4

 
L'utilisateur utilise графики с отступами от правого края. Сколько баров отображается на таком графике ? . Une constante géométrique pure, indépendante des périodes, de l'histoire, du défilement et de tout le reste.
Et si vous y réfléchissez ?
Supposons que le graphique soit déroulé vers la droite autant que possible, que l'indentation soit visible et qu'il y ait, par exemple, 100 barres sur le graphique.
Mais si nous faisons défiler le graphique vers la gauche pour le mettre en retrait, il affichera 100 + autant de barres que l'on peut faire entrer dans le retrait.
 
Supposons que le graphique soit déroulé vers la droite autant que possible, que l'indentation soit visible et qu'il y ait, par exemple, 100 barres sur le graphique. <br/ translate="no">Mais si on fait défiler le graphique vers la gauche pour l'indenter, il y aura 100 + autant de barres que l'indentation le permet.


Il n'est pas intéressant de rembobiner le tableau à la main.


Quelles fonctions et bibliothèques du système doivent être connectées à
- obtenir la taille verticale et horizontale du graphique actuel en pixels ;

1. GetClientRect de user32.dll


Je n'ai pas d'expérience dans l'importation de *.dll.
J'ai trouvé une description de GetClientRect

.
La fonction GetClientRect récupère les coordonnées de la zone de travail de la fenêtre. Les coordonnées de travail définissent les coins supérieur gauche et inférieur droit de l'espace de travail. Comme les coordonnées de travail sont relatives au coin supérieur gauche de l'espace de travail de la fenêtre, les coordonnées du coin supérieur gauche sont (0,0).
Syntaxe
BOOL GetClientRect
(
HWND hWnd, // descripteur de fenêtre
LPRECT lpRect // adresse de la structure des coordonnées de travail
) ;
Paramètres
hWnd
Identifie la fenêtre dont les coordonnées de travail doivent être renvoyées.
lpRect
Indique la structure RECT qui accepte les coordonnées de travail. Les éléments gauche et supérieur sont nuls. Les éléments de droite et de bas contiennent la largeur et la hauteur de la fenêtre.
Valeurs de retour
Si la fonction se termine avec succès, la valeur de retour est différente de zéro. Si la fonction échoue, la valeur de retour est zéro. Pour obtenir des données d'erreur étendues, appelez GetLastError.


Dans d'autres sources, cette fonction est décrite comme nulle. Que croire ?

Est-il nécessaire de spécifier #import "user32.dll" pour se connecter ?

Selon certaines sources, la structure RECT est décrite dans winuser.h, d'autres dans windef.h. Aucun de ces fichiers n'existe sur ma machine.

#include <winuser.h> ou #include <windef.h> ?

Que doit-on spécifier comme identifiant de la fenêtre hWnd ?

Comment obtenir les paramètres requis à partir de la structure lpRect ? MQL4 ne supporte pas les types de données complexes (structures).


Quelles fonctions et bibliothèques du système devraient être connectées à

- obtenir les cotations maximales et minimales apparentes du graphique actuel ;

Peut-être est-il judicieux de compléter le langage MQL4 avec des fonctions appropriées ?




|------------------------------------------------| <- 1.8595
|................................................|
|................................................|
|.............--- High ........................|
|................................................|
|................................................|
|................................................|
|................................................|
|................................................|
|................................................|
|............................--- Low..........|
|................................................|
|................................................|
|----
 
Chers développeurs !

Veuillez répondre à mes questions.
 
Les questions de programmation sont discutées dans le forum spécialisé MQL4.COMmunity.

Le site contient de nombreux articles et une collection de programmes. N'hésitez pas à les lire. En particulier, la question des cotations minimales et maximales a été abordée ici : "MQL4 : Interception".

Je cite
===
Si vous connaissez la taille de la fenêtre en pixels, vous pouvez facilement utiliser les fonctions BarsPerWindow et FirstVisibleBar. Il n'y a aucun problème pour calculer le numéro de la barre.
C'est plus compliqué avec la coordination des prix. Si l'échelle est automatique, nous pouvons la calculer en ajoutant 5% de la différence entre les valeurs de prix maximum et minimum en haut et en bas. Si l'échelle est fixe, elle ne peut pas être calculée car il n'y a aucune information sur la limite supérieure et inférieure.
===
 
<br / translate="no">Je vais vous citer
===
Si vous connaissez la taille de la fenêtre en pixels, vous pouvez facilement utiliser les fonctions BarsPerWindow et FirstVisibleBar. Il n'y a aucun problème pour trouver le numéro de la barre.
C'est plus compliqué avec la coordination des prix. Si l'échelle est automatique, nous pouvons la calculer en ajoutant 5% de la différence entre les valeurs de prix maximum et minimum en haut et en bas. Si l'échelle est fixe, elle ne peut pas être calculée car il n'y a aucune information sur la limite supérieure et inférieure.
===


Exemple réel : EURUSD, M1
Haut 1.2613 Valeur maximale visible 1.2620 delta 0.0007
Low 1.2602 Min 1.2600 delta 0.0002 valeur visible

Où sont les 5% ?

La recherche GetClientRect dans le forum MQL4.COM produit 2 références. Pas de réponses ou de recommandations spécifiques.
 
<br/ translate="no">Une recherche de GetClientRect sur le forum MQL4.COMmunity donne 2 références. Pas de réponses ou de recommandations spécifiques.

Alors vous posez une question. Je vous ai invité sur un forum spécialisé à cet effet.
D'ailleurs, je me suis cité moi-même : "C'est plus compliqué avec la coordination des prix". Ce qui signifie que la question n'a pas de réponse univoque.

À propos, 5% n'est pas le prix, mais le nombre de pixels entre le prix maximum et le prix minimum.
 
Seuls les prix haut et bas sont encore disponibles pour l'utilisateur. Selon l'exemple ci-dessus, les objets texte ne peuvent être affichés que sur 50 % de la surface du graphique. Est-ce normal ?
 
<br / translate="no">Donc vous posez une question. Je vous ai invité sur un forum spécialisé à cet effet.
D'ailleurs, je me suis cité moi-même : "C'est plus compliqué avec la coordination des prix". Ce qui signifie que la question n'a pas de réponse univoque.

À propos, 5% n'est pas le prix, mais le nombre de pixels entre le prix maximum et le prix minimum.


J'ai suivi votre conseil et posté votre question dans le forum MQL4.COM. Je n'ai eu aucune réponse, aucune réponse et aucun espoir. Aidez-moi, s'il vous plaît.
 
Chers développeurs !

Veuillez m'aider avec la fonction GetClientRect de user32.dll pour obtenir la taille verticale et horizontale du graphique actuel en pixels.

La description de la fonction est donnée ci-dessus.

Pour le connecter, spécifiez #import "user32.dll".

Comme identifiant de la fenêtre hWnd nous indiquons la valeur retournée par la fonction WindowHandle (...) .

Comment obtenir les paramètres requis de la structure lpRect, si MQL4 ne supporte pas les types de données complexes (structures) ?
 
Chers développeurs !

Cela fait plus d'un mois que je demande de l'aide pour résoudre mon problème, sans succès.

Certains messages reçoivent une réponse au bout d'une heure ou deux, d'autres sont ignorés de manière flagrante pendant longtemps. Pourquoi ?