Citations maximales et minimales visibles - page 3

 
Pourquoi la valeur de départ de FirstVisibleBar( ) est incorrecte ? ??

Les dimensions géométriques du graphique sont inchangées.

FirstVisibleBar( ) = BarsPerWindow( ) - retrait du bord droit ;

BarsPerWindow( ) = constante, ne dépend pas de la période et des données.

retrait du bord droit = constante, ne dépend pas de la période et des données.
 
Pourquoi l'adresse стартовое значение FirstVisibleBar( ) est-elle erronée ?
FirstVisibleBar( ) = BarsPerWindow( ) - retrait du bord droit ;

Où avez-vous trouvé cette formule ?

La première barre visible sur le graphique et le nombre de barres entrant dans la fenêtre du graphique n'ont rien à voir l'un avec l'autre.
 
Lorsqu'il n'y a pas d'indentation FirstVisibleBar( ) = BarsPerWindow( ).

Dans ces conditions, FirstVisibleBar( ) a toujours la mauvaise valeur de départ lors du changement de période.
 
<br / translate="no"> Lorsqu'il n'y a pas d'indentation FirstVisibleBar( ) = BarsPerWindow( ).

Et alors ? Faites glisser le graphique de droite à gauche, au début (avec le bouton d'accueil) et regardez la valeur produite par la fonction FirsVisibleBar. Mais veillez à désactiver le défilement automatique du graphique avant de le faire.
 
Des questions très intéressantes ont été posées par Belkor.

Quelles fonctions et bibliothèques du système doivent être connectées à
- obtenir la taille verticale et horizontale du graphique actuel en pixels ;
- Obtenez les cotations maximales et minimales visibles du graphique actuel ;
- obtenir le nombre total de graphiques développés dans la fenêtre ? ??

Peut-être serait-il judicieux de compléter le langage MQL4 par des fonctions appropriées ?
 
Nous avons besoin d'une fonction qui renvoie le nombre de barres dans la fenêtre graphique actuelle, en tenant compte de la présence/absence d'indentation à partir du bord droit du graphique.
 
<br / translate="no">Nous avons besoin d'une fonction qui renvoie le nombre de barres dans la fenêtre graphique actuelle, en tenant compte de la présence / absence d'indentation à partir du bord droit du graphique.

Pourquoi ?
Malgré l'indentation, la fenêtre du graphique peut être entièrement remplie.
Et malgré l'absence d'indentation, la fenêtre du graphique peut ne pas être remplie.
 
L'utilisateur utilise des graphiques en retrait du bord droit. Combien de barres sont affichées sur un tel graphique ? Une constante géométrique pure, indépendante des périodes, de l'histoire, du défilement et de tout le reste.

Personnellement, je trouve inacceptables les sauts de 20 fois ou plus et les délais dans FirstVisibleBar( ).
 
Messieurs les développeurs, veuillez nous conseiller

Quelles fonctions et bibliothèques du système doivent être incluses pour

- obtenir la taille verticale et horizontale du graphique actuel en pixels ;
- obtenir les cotations maximales et minimales visibles du graphique en cours ;
- obtenir le nombre total de graphiques développés dans la fenêtre ? ??

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

Merci.
 
1. GetClientRect de user32.dll
2. Il n'y a pas de fonction spéciale. Vous pouvez calculer vous-même, en vous basant sur FirstVisibleBar() et BarsPerWindow()
3. Que signifie "nombre total de graphiques dans la fenêtre" ? S'il s'agit d'une sous-fenêtre avec des indicateurs, la fonction intégrée WindowsTotal() sera utile. S'il s'agit de graphiques ouverts dans le terminal du client, il n'est pas possible de le déterminer directement, mais uniquement par le biais des fonctions WinAPI correspondantes dans votre propre dll.

Maintenant, nous n'ajouterons rien à la langue.