Oui, en plus de la longueur du code, des centaines de tampons d'indicateurs seraient un terrible gaspillage de mémoire. Ma variante utilise un tableau avec la dimension suivante : nombre de barres à l'écran + période maximale.
Un indicateur ultra-rapide de centaines de moyennes mobiles, implémenté sur Canvas.
100 lignes MA (pas de période 10) - temps de calcul et d'affichage à l'écran - 4-7 millisecondes
1000 lignes MA (période étape 1) - temps de calcul et d'affichage - 20-30 millisecondes.
Je n'ai pas trop testé le code. Il peut y avoir des bugs. Implémenté seulement pour une barre d'un pixel d'épaisseur (elle est forcée à cette échelle). Le taux de rafraîchissement de l'écran n'est pas non plus optimisé. Toutes les lignes sont calculées et entièrement sorties à chaque tick.
Comme on l'a compris, la moyenne est simple ? Je ferais maintenant la même chose pour l'exponentiel.
Comment savez-vous que la moyenne est simple ? Maintenant, feriez-vous la même chose pour une exponentielle ?
Il ne s'agit que d'un exemple de démonstration. Tous les types de MA peuvent être mis en œuvre. Tout ce dont vous avez besoin est votre désir et votre nécessité. Le code deviendra un peu plus complexe avec l'expotentiel. Je vous suggère de l'essayer.
Il y a une limite. Il est possible de créer jusqu'à 512 tampons indicateurs >>>https://www.mql5.com/ru/docs/indicators
Un indicateur ultra-rapide de centaines de moyennes mobiles, implémenté sur Canvas.
100 lignes MA (pas de période 10) - temps de calcul et d'affichage à l'écran - 4-7 millisecondes
1000 lignes MA (période étape 1) - temps de calcul et d'affichage - 20-30 millisecondes.
Je n'ai pas trop testé le code. Il peut y avoir des bugs. Implémenté seulement pour une barre d'un pixel d'épaisseur (elle est forcée à cette échelle). Le taux de rafraîchissement de l'écran n'est pas non plus optimisé. Toutes les lignes sont calculées et entièrement sorties à chaque tick.
Comme on l'a compris, la moyenne est simple ? Je ferais maintenant la même chose pour l'exponentiel.
Comment savez-vous que la moyenne est simple ? Maintenant, feriez-vous la même chose pour une exponentielle ?
Pour illustrer la vitesse...
Modification de deux paramètres à l'aide du pointeur de la souris
X - modifications de la période maximale de l'AMM
Y - étape du changement de période MA
Pour illustrer la vitesse...
Modification de deux paramètres à l'aide du pointeur de la souris
X - modifications de la période maximale de l'AMM
Y - changement d'échelon de la période MA
Sympa, mais le compilateur explose
C'est beau, mais le compilateur est en train de combattre
La bibliothèque doit être installée, bien sûr. Il y a un lien vers cette bibliothèque dans le code.
Merci ! Tout fonctionne !
Comment faire pour que l'indicateur se redessine/déplace lorsque je redessine/déplace le graphique ?
Merci ! Tout fonctionne !
Comment faire pour que l'indicateur se redessine/se déplace lorsque le graphique est redessiné/déplacé ?
C'est ainsi que le redécoupage fonctionne.
Le mien ne fonctionne que lorsque la souris est en mouvement.
Le mien ne fonctionne que lorsque je bouge la souris.
Oui, il y avait un petit bug. Je l'ai corrigé.
Merci pour cela.