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
Lorsque j'appelle ma fonction, dois-je passer le tableau par référence, par pointeur ou autre chose ?
Lisez la section sur le passage de paramètres par valeur et par référence :
Référence MQL5 / Notions de base du langage / Fonctions / Passage de paramètres
Lisez la section du manuel de référence sur le passage de paramètres par valeur et par référence :
Référence MQL5 / Notions de base du langage / Fonctions / Passage de paramètres
En fait, j'en viens et les erreurs de compilation que j'ai mentionnées dans mon message précédent se sont produites après avoir lu la section ci-dessus.
Maintenant que je l'ai relu attentivement, tout est question de constance et de l'endroit où la mettre.
Merci, j'ai trouvé la solution.
DansOnCalculate, je peux facilement utiliser des éléments de tableau comme high par index. Est-il également possible d'accéder aux éléments d'index de ce tableau dans ExtFunc ? Lorsque j'appelle ma fonction, dois-je passer l'argument tableau par référence, par pointeur ou autre chose ? Jusqu'à présent, j'ai réussi à réduire les messages d'erreur à : "'high' - la conversion des paramètres n'est pas autorisée" et "'high' - une variable constante ne peut être passée comme référence" concernant la même ligne de mon appel de fonction avec l'argument tableau de OnCalculate. Est-ce sans espoir ou existe-t-il une solution ?
Jusqu'à présent, dans OnCalculate, j'ai eu recours à la copie des valeurs élevées dans un autre tableau:
et ensuite utiliser CopyOfHigh dans ExtFunc au lieu d'utiliser directement high-array.Il vous suffit de passer le tableau à votre fonction par référence
Salutations à tous !
Que signifie l'avertissement :
perte éventuelle de données due à la conversion de type expert.mq5
lors de sa compilation ? Ça dit ceci :
Qu'est-ce qu'il y a ?
Il suffit de passer le tableau à votre fonction par référence
Pas exactement :
Salutations à tous !
Que signifie l'avertissement :
perte éventuelle de données due à la conversion de type expert.mq5
lors de sa compilation ? Ça dit ceci :
Qu'est-ce qu'il y a ?
Ce que signifie l'avertissement :
perte éventuelle de données due à la conversion de type
La signification de ce message varie en fonction du contexte dans lequel il est considéré.
Par exemple :
1. "Faites une conversion de type explicite !"
2. "Possible data twitching with implicit type conversion." // C'est une traduction littérale.
Cela est compréhensible, puisque le type long renvoyé par la fonction a une taille plus grande et couvre une plus large gamme de valeurs.
Une autre option qui me vient à l'esprit le plus souvent ces derniers temps :
3. "Le personnel de MetaQuotes ne comprend pas à quel point il serait cool, attrayant et efficace d'apprendre si les messages d'erreur et les avertissements du compilateur mql5 étaient donnés dans la langue maternelle de l'utilisateur."
... combien il serait cool, attrayant et efficace d'apprendre si les messages d'erreur et les avertissements du compilateur mql5 étaient donnés dans la langue maternelle de l'utilisateur".
Je soupçonne que si l'indicateur est activé par iCustom, il est calculé à chaque tick. Et il ne dépend pas des appels qui lui sont adressés par le biais du CopyBuffer. Est-ce correct ?
Si c'est correct, est-il possible de désactiver le calcul de l'indicateur et de l'activer uniquement avant d'appeler le CopyBuffer ?
Je soupçonne que si l'indicateur est activé par iCustom, il est calculé à chaque tick. Et il ne dépend pas des appels qui lui sont adressés par le biais du CopyBuffer. Est-ce correct ?
Cela dépend de la logique de l'indicateur personnalisé. En fait, il peut recalculer ses valeurs une fois par jour, en sautant tous les autres tics. C'est à dire, selon la volonté de l'auteur.
Si c'est le cas, est-il possible de désactiver le recalcul de l'indicateur et de l'activer uniquement avant d'appeler le CopyBuffer ?
En fait, certaines personnes essaient d'utiliser cette approche monstre : créer une copie de l'indicateur via iCustom, copier les données requises, supprimer la copie de l'indicateur. La procédure est répétée si nécessaire.
Il y a aussi la fonction OnTimer(), je n'ai pas travaillé avec elle moi-même, mais peut-être pouvez-vous l'adapter à votre tâche.