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 gros indice était "Mais je ne sais pas comment faire ça.".
L'absence de toute réponse de la part du PO indique que quelque chose ne va pas. Je pense que le PO a été frustré par le manque de compréhension et a abandonné le fil. Il y a des années, j'ai fait la même chose. J'ai plus appris sur différents sites/forums que sur celui-ci parce que personne ne prenait le temps de réaliser à quel point j'étais nouveau et ne cessait de poster des exemples et d'avoir des discussions qui dépassaient complètement ma compréhension à ce moment-là.
De votre point de vue, vous avez peut-être raison, mais d'un autre côté, j'ai vu de nombreuses questions auxquelles il était possible de répondre en jetant un coup d'œil rapide dans les documentations et vous avez vraiment l'impression d'être un idiot en répondant à ces questions encore et encore.
De plus, il y a Google et une option de recherche ici. Si je ne sais pas comment faire quelque chose, c'est l'étape suivante pour essayer de résoudre le problème par moi-même.
Dans le cas du sujet de ce fil de discussion, je ne sais pas comment coder un système multi-devises, j'aurais répondu à Google ou cherché ici un code déjà existant.
De votre point de vue, vous avez peut-être raison, mais d'un autre côté, j'ai vu de nombreuses questions auxquelles il a été répondu simplement en jetant un coup d'œil rapide dans les documentations et vous avez vraiment l'impression d'être un imbécile en répondant à ces questions encore et encore.
De plus, il y a Google et une option de recherche ici. Si je ne sais pas comment faire quelque chose, c'est l'étape suivante pour essayer de résoudre le problème par moi-même.
Dans le cas du sujet de ce fil, je ne sais pas comment coder un système multi-devises, j'aurais répondu à Google ou cherché ici un code déjà existant.
Merci pour le feedback, et content qu'il soit positif. lol
Je suis désolé pour ceux qui sont concernés par la façon dont je suis apparu dans cette situation. Je suis vraiment une personne pacifique, sans drame, qui ignore généralement la plupart des choses avec lesquelles je ne suis pas d'accord.
Salut les gars,
Désolé pour la longue période sans activité ici. J'étais en voyage pour le travail et également occupé avec certains projets et a dû laisser le projet de côté pendant un certain temps ....
Après avoir lu les mises à jour du post, j'ai quelques points à clarifier :
Ci-dessous, le code de l'indicateur :
J'essaie d'utiliser RefreshRates() mais toujours avec le même résultat... seule la paire à la même fenêtre fonctionne, les autres paires ne sont pas mises à jour.
RefreshRates() n'a rien à voir avec les données MqlRates. L'exemple de code de WHRoeder n'est valable que pour les builds Pre-600. Pour la dernière version, vous devez vérifier les différents points mentionnés dans mon post, comme le test des codes de retour de ArrayCopyRates(), ainsi que les codes d'erreur, la taille du tableau de taux et, comme une précaution supplémentaire signalée par WHRoeder, la validité de l'attribut de temps.
PS ! Si vous avez des difficultés avec l'anglais, envoyez-moi un PM. Je suis portugais (Portugal)
Salut les gars.
En testant, j'ai inclus une "recopie" des taux dans la fonction OnCalculate... en ajoutant une boucle qui libère d'abord le tableau de la paire dans toutes les itérations, puis recopie les taux. Il semble que cela fonctionne et ne renvoie pas d'erreur.
Je ne sais pas si c'est la meilleure façon de faire ce dont j'ai besoin, mais apparemment cela fonctionne et sans erreur.
Une mise à jour pour ceux qui suivent ce fil !
J'ai aidé l'OP via PM à corriger son code car il a des difficultés en anglais et nous parlons tous les deux portugais. Lors de nos tests, nous sommes tombés sur un autre phénomène "étrange" qui se produit avec la fonction"ArrayCopyRates()". Lorsque l'on utilise un tableau MqlRates avec"ArrayCopyRates()" dans un EA, le tableau de données est un tableau virtuel qui rapporte toujours l'état actuel des choses, donc les données sont toujours fraîches.
Cependant, dans un Indicateur, cela ne semble pas être le cas. Le tableau n'est pas une copie virtuelle mais plutôt une copie statique fixée dans le temps au moment où"ArrayCopyRates()" a été appelé. Les données ne sont pas mises à jour lorsque le symbole est différent du symbole du graphique. Lorsqu'il s'agit du même symbole que le graphique, les données du tableau sont "vivantes" et se mettent à jour comme prévu, mais lorsqu'il s'agit d'un autre symbole, il s'agit d'une copie statique.
Donc, pour que cela fonctionne dans un indicateur, il faut appeler la fonction "ArrayCopyRates()" à chaque appel à l'événement OnCalculate() si des données fraîches sont nécessaires.
Bonjour à tous.
C'est (presque) la même chose que je fais plus tard, mais la différence est que je lance un ArrayFree avant ArrayCopyRates... et je ne fais pas les validations que vous m'avez aidées.
Voici le code final que FMIC m'a aidé. Il fonctionne normalement maintenant dans un code indicateur.. :