Caractéristiques du langage mql5, subtilités et techniques - page 165
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Oui, j'ai une lecture d'histoire présente.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie
Bibliothèques : Easy Canvas
Nikolai Semko, 2020.02.17 05:15
Je souhaite clarifier un point important pour les programmeurs intéressés par l'utilisation du kanvas en mode testeur.
Un programmeur bien connu dans cette communauté est venu me voir avec cette question :
- Pourquoi en mode Testeur mon panneau, créé sur des objets, est redessiné beaucoup plus rapidement que sur la toile, alors qu'en mode normal mon panneau est dessiné à une vitesse normale sur la toile ?
J'en ai compris la raison et j'ai trouvé la solution au problème.
Le problème est que le redécoupage des objets s'accompagne d'un redécoupage de l'ensemble de l'écran, alors que l'écran du testeur n'est redécoupé que 30 fois par seconde.
Les objets sont en fin de compte le même canevas (interne), mais lorsque vous modifiez les propriétés de l'objet, le canevas de l'objet n'est pas généré (pas recalculé), mais généré uniquement lorsque l'écran est mis à jour (ChartRedraw), ce qui se produit dans le testeur (et en mode normal, aussi) pas plus souvent que notre œil peut distinguer les changements, c'est-à-dire pas plus souvent que ~ 32 images par seconde.
Supposons que le panneau change à chaque tick. Ensuite, le canevas par défaut sera également redessiné à chaque tick, mais le redessin dans le testeur n'est toujours pas plus fréquent que ~30 msec (~30 fps).
En d'autres termes, le canevas sera recalculé beaucoup plus fréquemment qu'il n'est réellement affiché à l'écran, ce qui entraîne une utilisation disproportionnée des ressources.
La solution à ce problème serait de s'assurer que le canevas est recalculé et redessiné au maximum toutes les 15-30 millisecondes de temps informatique, et ainsi il n'y aura pas de cycles inutiles de recalcul à vide.
Par exemple, comme ceci :
Si, par exemple, je veux créer le fichier "EURUSD.txt" (grands symboles) et qu'il y a déjà "eurusd.txt" (petits symboles) sur le disque, le fichier aura le même nom que précédemment.
De plus, lorsque je sauvegarde EURUSD TicksLongOpt.set, eurusd tickslongopt.set est sauvegardé. Je dois ensuite le renommer. Il y a beaucoup de petites choses ennuyeuses comme ça.
De plus, lorsque je sauvegarde EURUSD TicksLongOpt.set, eurusd tickslongopt.set est sauvegardé. Je dois ensuite le renommer. Je dois ensuite le renommer. Il y a beaucoup de petites choses aussi ennuyeuses.
Je pense que si je supprime d'abord et crée ensuite, tout ira bien.
Je pense que si vous supprimez d'abord et créez ensuite, tout ira bien.
Non, je veux dire la création d'un nouveau fichier, notamment lors de l'enregistrement à partir de la boîte de dialogue du terminal. Si ça ne marche pas pour tout le monde, alors ça dépend d'autre chose. J'ai Win7, le cas échéant.
Non, je veux dire la création d'un nouveau fichier, exactement comme lors de l'enregistrement à partir du dialogue du terminal. Si ça ne marche pas pour tout le monde, alors ça dépend d'autre chose. J'ai Win7, le cas échéant.
Je voulais parler des fonctions FileOpen et FileSave.
Je voulais parler des fonctions FileOpen et FileSave.
Oui, je viens de me rendre compte que c'est déplacé, le sujet porte sur la langue...
Tri facile d'un tableau de structures
Application
Résultat
Il ne fonctionne pas, pouvez-vous le mettre à jour ? Les déclarations de modèles ne sont pas autorisées dans les classes locales TestarrSort.mq5 81 3
Cela ne fonctionne pas, pouvez-vous mettre à jour ? Les déclarations de modèles ne sont pas autorisées dans les classes locales TestarrSort.mq5 81 3
Malheureusement, la langue a été coupée. Ce code ne fonctionne pas.
Mais vous pouvez essayer une autre variante.
SZZ Voici un autre exemple d'utilisation.