Erreurs, bugs, questions - page 2728
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
Le bogue MT5 (build 2390) compte incorrectement les accolades dans la description de la structure de la classe.
Merci pour le post, corrigé
c'est comme ça que ça marche :
donc non (toujours 0)
direction -1 ; +1 ; 0
c'est comme ça que ça marche :
donc non (toujours 0)
direction -1 ; +1 ; 0
Et donc
Et par là.
fonctionne également, la deuxième option ne fonctionne pas.
J'ai moi-même été confronté à de tels problèmes récemment. Je n'avais aucun problème auparavant. Mais on m'a demandé de corriger le code et il ne voulait pas fonctionner correctement jusqu'à ce que je le mette en double.
Vous avez déclaré la direction comme int. C'est ce que vous obtenez. Ces derniers temps, de nombreuses fonctions sont devenues assez pointilleuses sur les valeurs. Il est préférable de s'occuper de la conversion.
J'ai moi-même été confronté à de tels problèmes récemment. Je n'avais aucun problème auparavant. Mais on m'a demandé de corriger le code et il ne voulait pas fonctionner correctement jusqu'à ce que je l'amène en double.
Oui, int. Mais c'est une multiplication - dans les entiers, c'est aussi 30*1=30. Je suis sûr à 100% qu'il y a quelques constructions, cela fonctionnait bien dans la deuxième variante également, puisque ces 30 étaient déterminés par le choix...
On dirait une autre "fonctionnalité" de MT5... Au moins le bloc est décoratif, mais si quelque part comme autolot ou stoploss - la tristesse peut arriver - j'inverse souvent en multipliant par -1...
Merci, je vais utiliser une autre béquille...
fonctionne également, la deuxième option ne fonctionne pas.
Ah. J'ai copié par inadvertance le mauvais code.
Konstantin a raison, pourquoi mettre int là où double est attendu... Ce n'est pas une caractéristique de mql5, il s'agit juste de quelques tentatives pour s'habituer à la commande.
Aidez-moi, s'il vous plaît.
L'indicateur émet une erreur de type "array out of the range".
Dans le code, j'ai défini les tampons
Variables globales déclarées
Dans Init() j'ai défini les propriétés
Dans OnCalculate(), le code définit une condition - la variable up.
Si c'est vrai, alors le code suivant est exécuté
Veuillez préciser s'il est normal que pendant le débogage de l'indicateur, les valeurs de cet indicateur ne soient pas visibles sur le graphique ouvert? C'est-à-dire que, par exemple, nous ouvrons MACD dans le débogueur. Nous fixons un point d'arrêt dans le cycle d'écriture des valeurs dans les tampons. Après l'écriture de la valeur, ChartRedraw(). Je m'attends à voir cette valeur sur le graphique immédiatement après l'écriture de la valeur, mais je ne vois qu'une fenêtre vide.
Build 2380 x64.
Ce n'est pas une fonctionnalité de mql5, c'est juste une tentative d'enseigner l'ordre.
l'accoutumance à l'ordre, c'est quand le compilateur donne un avertissement (ou une erreur). la conversion d'entiers en fractions renvoie 0 - c'est un non-sens, pas un ordre. 90% des vieux codes se cassent de cette façon.
et remarquez, la variante qui fonctionne est toujours avec int ! c'est-à-dire que le problème n'est pas la conversion de type à l'étape de substitution, mais à l'étape de calcul.
AJOUTÉ : passage à MQ-demo, mise à jour du terminal de travail. Il n'a pas ce problème.