Questions des débutants MQL5 MT5 MetaTrader 5 - page 1164
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
Il est nécessaire de penser à l'avance comment le code est exécuté au niveau de la mémoire, de l'initialisation et du retour de la valeur.
Vous n'avez pas besoin d'y réfléchir, il existe des manuels pour ces choses, et il n'y a jamais eu de manuel pour l'allocation de mémoire dans MQL, seulement des messages des développeurs, et souvent avec une précision que l'implémentation peut changer...
Ok, la discussion se résume à qui lit quel livre sur la programmation, je le lis depuis le lycée et le fais encore depuis 30 ans.
Vous n'avez pas besoin d'y réfléchir, il existe des manuels pour ces choses, et il n'y a jamais eu de manuel pour l'allocation de mémoire dans MQL, seulement des messages des développeurs, et souvent avec une précision que l'implémentation peut changer...
Ok, la discussion se résume à qui lit quel livre de programmation, je le lis depuis le lycée et je continue à le lire depuis 30 ans...
Bien sûr, vous n'avez pas à y réfléchir, pourquoi le feriez-vous... Le compilateur le fera tout seul. ))
C# n'est pas C
Et regardez la vidéo sur __inline.
Il y est expliqué comment les fonctions fonctionnent en mémoire pour ceux qui ne font pas de différence.
Faites d'abord un dessin et précisez ce qu'est pour vous la "barre de zéro" d'un indicateur avec le paramètre shift.
Dessiné. La barre de zéro est mise en évidence par une ligne verticale.
Dessiné. La barre de zéro est mise en évidence par une ligne verticale.
Exemple de code :
Résultat :
Comme vous pouvez le voir, il est copiable sans aucune modification.
Exemple de code :
Résultat :
Comme vous pouvez le voir, il est copié facilement, sans tambourin.
Exemple de code. Sur la base d'un indicateur. L'indicateur est occupé à allouer la mémoire tampon.
Lorsque start_pos = 0, la valeur correspondant à la 0ème barre du graphique est sur la position 5. 1.017041 Il est sur la position 0 dans votre EA. Ok.
Mais j'ai besoin d'obtenir cette valeur à la position zéro.
J'ai réglé start_pos = 5. Je n'obtiens pas le résultat escompté. La valeur que je recherche se trouve à nouveau à la position 5.
J'ai réglé start_pos = -5. Je n'obtiens pas le résultat souhaité. Encore une fois, la valeur que je recherche se situe à la position 5.
J'ai réglé start_pos = -10. Et ce n'est que maintenant que j'obtiens le résultat souhaité.
Exemple de code. Sur la base de l'indicateur. L'indicateur est occupé à allouer de la mémoire tampon.
Lorsque start_pos = 0, la valeur correspondant à la 0ème barre du graphique est affichée à la position 5. 1.017041 Dans votre EA il est sur la position 0. Ok.
Mais j'ai besoin d'obtenir cette valeur à la position zéro.
J'ai réglé start_pos = 5. Je n'obtiens pas le résultat souhaité. La valeur que je recherche se trouve à nouveau à la position 5.
J'ai réglé start_pos = -5. Je n'obtiens pas le résultat souhaité. Encore une fois, la valeur que je recherche se situe à la position 5.
J'ai réglé start_pos = -10. Et ce n'est que maintenant que j'obtiens le résultat souhaité.
Nous devons comprendre la différence entre le travail du conseiller expert et celui de l'indicateur. Pour le travail à partir de l'indicateur, utilisez l'exemple de l'aide(iMA).
Vous devez comprendre la différence entre opérer à partir d'un EA et d'un indicateur. Pour travailler à partir d'un indicateur, utilisez l'exemple de l'aide(iMA).
Vous prenez donc un exemple de l'aide iMA, ajoutez
et vérifiez que la valeur est différente de la valeur de sortie de votre EA d'exactement ma_chiffre de barres.
Moi, par contre, j'ai besoin d'obtenir dans l'indicateur dans iMABuffer[0] la valeur que vous avez dans votre Expert Advisor dans array_ma[0].
Au moins pour le moment, nous pouvons voir que le comportement de CopyBuffer pour les Expert Advisors et les indicateurs est différent. Si vous comprenez la différence de CopyBuffer lorsque vous travaillez avec un EA et un indicateur, veuillez indiquer la section appropriée de la documentation à étudier.
Je vais essayer de simplifier la question. Comment puis-je obtenir ces valeurs MA (à partir de la ligne verticale rouge et vers la gauche) dans le tampon de l'indicateur ? Pouvez-vous rédiger un exemple ?
Je vais essayer de simplifier la question. Comment puis-je obtenir ces valeurs MA (à partir de la ligne verticale rouge et vers la gauche) dans le tampon de l'indicateur ? Pouvez-vous rédiger un exemple ?
Dans la capture d'écran, l'affichage du tampon est décalé de cinq barres vers la droite. Donc - pour obtenir la cinquième barre du tampon de l'indicateur (index 4), et plus à gauche dans la liste, où devons-nous les prendre ? Du tampon [4] et plus loin sur la gauche.
En théorie. En pratique - je n'ai pas ouvert le code de l'indicateur ni travaillé avec lui depuis longtemps - presque un an... Essayez-le.
En théorie. En pratique - je n'ai pas ouvert le code de l'indicateur ni travaillé avec lui depuis longtemps - presque un an... Essayez-le.
Tu ne peux pas perdre une compétence.