Questions des débutants MQL5 MT5 MetaTrader 5 - page 1237

 
Alexey Viktorov:

Le problème réside dans l'organisation du code. J'ai essayé de le regarder, mais il est écrit d'une telle manière que mon cerveau ne le perçoit pas. Et je ne sais pas comment expliquer ce que sont ces erreurs.

Je ne peux que vous conseiller de commencer par le début et dans l'ordre.

  1. Commencez par isoler chaque bougie N.
  2. Définissez ensuite une condition pour choisir la bougie à mettre en évidence.
Et enfin, apprenez à utiliser le débogueur.

Pour ne pas avoir à tout expliquer ici, j'ai donné des commentaires complets dans mon fil de discussion. Jetez un coup d'oeil, si vous voulez bien...

 
Сергей Таболин:

Afin de ne pas être trop directif, j'ai donné des commentaires complets dans mon fil de discussion. Jetez un coup d'oeil, si vous voulez bien...

Sergey, je n'ai aucune envie d'entrer dans le code. C'est comme dans le proverbe : "Si une griffe s'y plante, l'oiseau entier est perdu". Ce n'est que le début.

   if(rates_total - prev_calculated > 1)
   {
      if(prev_calculated == 0)
      {

Lorsque prev_calculé == 0, peut-il y avoir taux_total - prev_calculé < 1 ?

 
Alexey Viktorov:

Sergei, je n'ai aucune envie d'entrer dans le code. Après tout, c'est comme le proverbe : "Si une griffe se coince, tout l'oiseau est perdu". Ce n'est que le début.

Lorsque prev_calculé == 0, est-ce que taux_total - prev_calculé < 1 ?

Oui, c'est possible. A chaque tic. S'il n'y a aucun fait d'ouverture d'un nouveau bar et aucun changement d'histoire, et si ce n'est pas la première manche. Il est toujours égal à zéro dans ce cas.

 
Artyom Trishkin:

Can. A chaque tic. En l'absence d'ouverture d'un nouveau bar et sans changement d'histoire, et si ce n'est pas la première manche. Toujours zéro dans ce cas.

Artyom regarde de plus près. S'il n'y a pas de barres calculées ! Ensuite, nous constatons qu'il n'y a aucune barre sur le graphique ! Alors qu'y a-t-il à compter ? Il aurait probablement pu être dans MT3 et une telle sur-assurance s'étend à partir de là.

 
Alexey Viktorov:

Sergei, je n'ai aucune envie d'entrer dans le code. Après tout, c'est comme le proverbe : "Si une griffe se coince, tout l'oiseau est perdu". Ce n'est que le début.

Lorsque prev_calculé == 0, est-ce que taux_total - prev_calculé < 1 ?

Et bien, regardons les choses en face))))

Cependant, j'ai été surpris... Je ne suis pas un expert en indicateurs, mais d'après la documentation, je sais exactement qu'au démarrage prev_calculated = 0 et plus loin autant que compté. Données totales 100, 100 comptées 100-100=0...

Mais ce n'est même pas la question ! Ma condition n'est pas < mais > ! La différence est évidente ! Et c'est ainsi que je détermine le moment du démarrage de l'indicateur. Peut-être que ce n'est pas correct selon tous les canons, mais ça marche ! La question est de savoir pourquoi, lorsque les tampons de l'indicateur sont remplis (correct !), les chandeliers ne sont pas dessinés ?

Donnez-moi un indice !

 
Alexey Viktorov:

Artyom regarde de plus près. S'il n'y a pas de barres calculées ! !! Alors il n'y a pas de barres sur le graphique du tout ! !! Qu'y a-t-il à compter alors ? Il pourrait probablement être dans MT3 et une telle réassurance vient de là.

Vous avez posé une question claire :

Les taux_total - prev_calculé < 1 ?

et obtenu la même réponse claire : dans 99,99% des cas :)

Vous avez inventé le pourcentage vous-même :)

 
Artyom Trishkin:

Vous avez posé une question claire :

et vous avez obtenu une réponse tout aussi claire : 99,99% du temps :)

Vous avez trouvé le pourcentage vous-même :)

Et la première partie de la ligne et la question dans son ensemble ?

 

Сергей Таболин:

Données totales 100, comptées 100 100-100=0...

Lisez mes réponses à Artyom. Il n'y en a que deux.

 
Сергей Таболин: La question est de savoir pourquoi les chandeliers ne sont pas dessinés lorsque les tampons de l'indicateur sont remplis (correctement !)?

Montre le chemin !

Êtes-vous sûr que le remplissage est correct ?

Je vous ai suggéré de commencer par sélectionner les barres après un nombre N, ou au moins une dernière clôture. Avez-vous essayé ? Est-ce que ça rend ? N'êtes-vous pas intéressé par le fait de réussir avec votre propre cerveau ? Vous demandez à mettre votre nez dedans......... proposez-vous de montrer à quelqu'un à quel point il est plus intelligent que vous......... Je ne le ferai certainement pas.

 
Alexey Viktorov:

Êtes-vous sûr que le remplissage est correct ?

Je vous ai suggéré de commencer par sélectionner les barres après un nombre N, ou au moins une dernière clôture. Avez-vous essayé ? Est-ce que ça rend ? N'êtes-vous pas intéressé par le fait de réussir avec votre propre cerveau ? Vous demandez à mettre votre nez dans......... suggérant à quelqu'un de montrer à quel point il est plus intelligent......... Je ne vais certainement pas faire ça.

Alexey, je suis intéressé par )))) Mais je ne vois pas l'erreur ! Et il n'y a pas de honte à apprendre. Et si quelqu'un est plus intelligent ou plus expérimenté, je n'y vois rien de mal non plus.

Je viens de lancer un indicateur avec un grand paramètre d'entrée pour la taille d'une bougie. Je veux avoir des chandeliers plus petits.

2020.08.08 10:38:51.184 newCandles (USDJPY,H1)  ~~~~ Предварительный расчёт индикатора.
2020.08.08 10:38:51.343 newCandles (USDJPY,H1)  2019.01.02 06:00:00 >>> Свеча 00000 >> open = 109.419 hihg = 109.462 low = 105.388 close = 105.388 > Сформирована за 122162 тика.
2020.08.08 10:38:51.785 newCandles (USDJPY,H1)  2019.01.03 00:41:15 >>> Свеча 00001 >> open = 105.388 hihg = 109.388 low = 105.268 close = 109.388 > Сформирована за 1336258 тиков.
2020.08.08 10:38:55.673 newCandles (USDJPY,H1)  2019.01.17 21:50:34 >>> Свеча 00002 >> open = 109.388 hihg = 112.398 low = 105.388 close = 105.388 > Сформирована за 11546466 тиков.
2020.08.08 10:38:57.434 newCandles (USDJPY,H1)  2019.08.09 18:57:55 >>> Свеча 00003 >> open = 105.388 hihg = 109.388 low = 104.453 close = 109.388 > Сформирована за 5400916 тиков.
2020.08.08 10:38:59.257 newCandles (USDJPY,H1)  2019.11.07 17:57:24 >>> Свеча 00004 >> open = 109.388 hihg = 112.225 low = 105.384 close = 105.384 > Сформирована за 5555641 тик.
2020.08.08 10:38:59.391 newCandles (USDJPY,H1)  2020.03.06 11:47:26 >>> Свеча 00005 >> open = 105.384 hihg = 105.732 low = 101.377 close = 101.377 > Сформирована за 272724 тика.
2020.08.08 10:38:59.488 newCandles (USDJPY,H1)  2020.03.09 15:37:48 >>> Свеча 00006 >> open = 101.377 hihg = 105.378 low = 101.187 close = 105.378 > Сформирована за 314847 тиков.
2020.08.08 10:39:00.400 newCandles (USDJPY,H1)  2020.03.10 21:05:27 >>> Свеча 00007 >> open = 105.378 hihg = 109.385 low = 103.094 close = 109.385 > Сформирована за 2045775 тиков.
2020.08.08 10:39:03.802 newCandles (USDJPY,H1)  2020.03.19 04:13:11 >>> Свеча 00008 >> open = 109.385 hihg = 111.711 low = 105.385 close = 105.385 > Сформирована за 10250092 тика.
2020.08.08 10:39:03.974 newCandles (USDJPY,H1)  ~~~~ Предварительный расчёт индикатора закончен.

Tous les prix des chandeliers sont calculés et initialisés à partir des tampons de l'indicateur. Tout est correct. Mais il n'y a pas eu de rendu. Et je ne comprends pas pourquoi...

Raison: