Erreurs, bugs, questions - page 1393
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
sinon est bien. Quelle est la différence ?
MT5 1159. Incohérence de l'échelle horizontale si la police moyenne ou grande est définie dans "personnalisation". Win7, 32b
Comment MT5 met-il à l'échelle automatique les indicateurs dans une fenêtre séparée ?
Le terminal atteint le maximum de 0,5603, alors que la valeur maximale réelle de tout indicateur tampon sur l'ensemble de l'historique est de 0,0605. Inutile de dire que ces problèmes n'existent pas dans MT4.
Comment MT5 met-il à l'échelle automatique les indicateurs dans une fenêtre séparée ?
Le terminal atteint le maximum de 0,5603, alors que la valeur maximale réelle de tout indicateur tampon sur l'ensemble de l'historique est de 0,0605. Inutile de dire que ces problèmes n'existent pas dans MT4.
Vérifiez les valeurs que vous avez dans le tampon de l'indicateur. Vous pouvez le faire manuellement avec "Crosshair", vous pouvez le faire avec MQL5.
Je vous ai dit que le maximum sur toute l'histoire est de 0.0605. Vérifié dans OnCalculate en comparant la valeur maximale de chaque tampon sur chaque barre.
P.S. En fait, j'ai déjà trouvé quel est le problème. Algorithme différent pour le calcul des maxima dans MT4 et MT5. J'aimerais comprendre le bien-fondé de la modification de cet algorithme, mais il s'agit d'une question rhétorique.
Le problème se posait dans MT4 - les valeurs de la mémoire tampon de l'indicateur affichées dans la fenêtre de données affectent l'échelle d'une fenêtre d'indicateur séparée, même si leur affichage sur le graphique est désactivé (style DRAW_NONE). J'ai résolu le problème en les rendant négatifs et en fixant le minimum à 0. Tout s'est affiché parfaitement, car seules les valeurs de l'indicateur supérieures au minimum fixé (0) ont participé au calcul de l'échelle. Désormais, les valeurs inférieures au minimum fixé participent au calcul de l'échelle. En d'autres termes, ils n'ont pas ajouté la possibilité de supprimer les valeurs tampons du calcul de l'échelle (ou je ne l'ai pas encore compris), mais ils ont supprimé la possibilité de les exclure de l'échelle en les plaçant sous le minimum ou le maximum. (tout ceci s'applique aux tampons DRAW_NONE non affichés)
Je vous ai dit que le maximum sur toute l'histoire est de 0.0605. Vérifié dans OnCalculate en comparant la valeur maximale de chaque tampon sur chaque barre.
P.S. En fait, j'ai déjà trouvé quel est le problème. Algorithme différent pour le calcul des maxima dans MT4 et MT5. J'aimerais comprendre le bien-fondé de la modification de cet algorithme, mais il s'agit d'une question rhétorique.
Les valeurs que vous transmettez au tampon de l'indicateur seront les mêmes. Autre variante : au début du démarrage, vous n'analysez pas chaque élément du tampon de l'indicateur et obtenez en conséquence des valeurs aléatoires dans le tampon.
Donc, vous ne pouvez pas faire sans regarder le code.
Autre possibilité : au début du démarrage, vous ne comptez pas chaque élément du tampon de l'indicateur et vous vous retrouvez avec des valeurs aléatoires dans le tampon.
De toute façon, vous ne pouvez pas vous passer de regarder le code ici.
OK, voici le code
Je ne sais pas s'il s'agit d'un bug ou d'un comportement étrange mais dans le testeur de stratégie MT4, les tampons des indicateurs sont d'environ 1000 +/- 3 cellules.
Avec les autres types de tests - démo ou réels - le nombre de cellules dans le tampon est à peu près le même que le nombre de barres autorisées dans les paramètres du terminal.
Je veux savoir si c'est un bug ou si je pensais comme ça, j'ai aussi remarqué que les indicateurs peuvent être modifiés pendant le test sans arrêter le testeur. Je n'ai pas encore lu d'informations sur les EAs, mais merci pour cela !
OK, voici le code
Je ne suis pas vraiment bon avec les indicateurs, mais cette ligne est douteuse.
Valeur de retour
Le nombre d'éléments du tableau copié ou -1 en cas d'erreur.
S'il n'y a qu'un seul élément copié, la fonction renvoie sa valeur. S'il n'y a aucun élément ou s'il y en a plus d'un, la fonction renvoie EMPTY_VALUE.
Peut-être que ce serait mieux ?