Questions des débutants MQL5 MT5 MetaTrader 5 - page 466
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
Salutations à tous. J'ai une telle question. J'ai un indicateur (fractales modifiées), lorsqu'il est chargé sur un graphique tout est correct, fonctionne comme il le devrait, mais lorsque j'essaie de l'utiliser dans un EA, il dit que le tampon est vide. En même temps, lorsque le tampon est passé dans Deinit, il enregistre les valeurs correctes.
Le code source de l'indicateur est joint. Je suis prêt à écouter les conseils et les suggestions sur ce que je fais mal.
Code de l'EA :
Tu pourrais remplacer les "si" à la fin par :
(si c'est aussi simple que cela,,, :)
Merci
Salutations à tous. J'ai une telle question. J'ai un indicateur (fractales modifiées), lorsqu'il est chargé sur un graphique tout est correct, fonctionne comme il le devrait, mais lorsque j'essaie de l'utiliser dans un EA, il dit que le tampon est vide. En même temps, lorsque le tampon est passé dans Deinit, il enregistre les valeurs correctes.
Le code source de l'indicateur est joint. Je suis prêt à écouter les conseils et les suggestions sur ce que je fais mal.
Code de l'EA :
Un regard très superficiel. Question : une fractale peut-elle être sur une barre de zéro ? Mais dans OnDeinit() vous bouclez à travers les barres et trouvez naturellement une fractale (pas une valeur tampon vide).
Dans Deinit, je passe aussi par 4-6 et tout est à sa place.
Dans OnDeinit(), vous parcourez en boucle (de 0 à 100) les barres à la recherche d'une valeur non nulle et vous enregistrez la valeur trouvée.
Dans OnTick() vous essayez de sortir seulement les 6 dernières barres du buffer 0. Il n'y a peut-être pas de fractale sur eux.
D'abord, trouvez la barre avec la fractale et ensuite imprimez la valeur de cette barre.
Dans OnDeinit(), vous parcourez en boucle (de 0 à 100) les barres à la recherche d'une valeur non nulle et vous enregistrez la valeur trouvée.
Mais dans OnTick(), vous essayez d'imprimer seulement les 6 dernières barres du buffer 0. Il n'y a peut-être pas de fractale sur eux. D'abord, trouvez la barre avec la fractale et ensuite imprimez la valeur de cette barre.
La 6ème mesure est censée contenir du fractal.
2015.11.01 13:19:11.023 2015.10.30 22:54 MoneyRobotics_Proboi ! EURUSD,H1 : x = 29 fractal Up : 1.098552015.11.01 13:19:11.023 2015.10.30 22:54 MoneyRobotics_Proboi ! EURUSD,H1 : x = 21 fractal Up : 1.09976
2015.11.01 13:19:11.023 2015.10.30 22:54 MoneyRobotics_Proboi ! EURUSD,H1 : x = 16 fractal Down : 1.09652
2015.11.01 13:19:11.023 2015.10.30 22:54 MoneyRobotics_Proboi ! EURUSD,H1 : x = 6 fractal Up : 1.10721
2015.11.01 13:19:10.577 2015.10.30 22:54 MoneyRobotics_Proboi ! EURUSD,H1 : Désinit Fonction
2015.11.01 13:19:08.380 2015.10.01 00:00 Test de MoneyRobotics_Proboi ! démarré
C'est le début du journal. Le test a commencé, l'Expert Advisor a fonctionné, Deinit a été lancé et la fractale a été trouvée à 6 positions.
https://charts.mql5.com/9/256/eurusd-h1-alpari-limited-3.png
Reprise d'image.
la 6ème mesure est censée contenir une fractale.
2015.11.01 13:19:11.023 2015.10.30 22:54 MoneyRobotics_Proboi ! EURUSD,H1 : x = 29 fractal Up : 1.098552015.11.01 13:19:11.023 2015.10.30 22:54 MoneyRobotics_Proboi ! EURUSD,H1 : x = 21 fractal Up : 1.09976
2015.11.01 13:19:11.023 2015.10.30 22:54 MoneyRobotics_Proboi ! EURUSD,H1 : x = 16 fractal Down : 1.09652
2015.11.01 13:19:11.023 2015.10.30 22:54 MoneyRobotics_Proboi ! EURUSD,H1 : x = 6 fractal Up : 1.10721
2015.11.01 13:19:10.577 2015.10.30 22:54 MoneyRobotics_Proboi ! EURUSD,H1 : Désinit Fonction
2015.11.01 13:19:08.380 2015.10.01 00:00 Test de MoneyRobotics_Proboi ! démarré
C'est le début du journal. Début du test, l'Expert Advisor a travaillé, Deinit démarre, et immédiatement sur la 6ème position il trouve une fractale.
https://charts.mql5.com/9/256/eurusd-h1-alpari-limited-3.png
Je ne sais pas comment adresser le tampon de l'indicateur.
Celui-là :
faire
prevtime = Time[0];
à la toute fin
Ceci :
faire
à la toute fin.
comment cela peut-il l'affecter ? malheureusement rien n'a changé.
comment j'imagine le processus : l'indicateur est chargé, commence à vérifier chaque condition tick/bar, si la condition est remplie, met la valeur dans le ou les tampons sélectionnés, puis l'EA appelle l'indicateur par le numéro de tampon à la valeur à un certain décalage et prend la valeur. N'est-ce pas ?
comment cela peut-il l'affecter ? malheureusement rien n'a changé.
comment puis-je imaginer le processus : l'indicateur est chargé, commence à vérifier la condition à chaque tick/bar, si elle est remplie, met la valeur dans le ou les tampons sélectionnés, puis l'EA appelle l'indicateur par le numéro de tampon à la valeur à un certain décalage et prend la valeur. N'est-ce pas ?
Pourquoi y a-t-il un nouveau contrôle de barre dans l'indicateur ? Apparemment, il n'y a pas de calculs compliqués