Le changement de TF est un problème - page 4

 

Le dernier modèle me convient parfaitement.

Merci à tous.

 
Vasyl Nosal:
Non. Sans mise à zéro, il sera ce qu'il est dans les captures d'écran.

Vous avez donc des lacunes dans la boucle elle-même, la séquence est brisée. Dans ce code, dont je vous ai donné un fragment, TOUTES les barres sont recalculées lorsque prev_calculated est remis à zéro. Et cela signifie que les mettre à zéro au préalable n'a aucun sens - une perte de temps pour le processeur.

PS. Au passage, vous avez oublié une nuance importante. Par hasard, parlez-vous de MT5 où les tableaux de prix ne sont pas inversés dans les séries chronologiques ? Dans ce cas, ce serait comme ceci :

int OnCalculate(...)
{
   // индекс последнего посчитанного на прошлом вызове бара
   // с которого начинаем расчёт
   int nStartBar = MathMax(prev_calculated - 1, 0);

   for(int i = nStartBar; i < rates_total; i++)
   {
       // рассчитываем индикатор на всех непосчитанных барах
   }
}
 
Sergei Vladimirov:

Vous avez donc des lacunes à l'intérieur de la boucle elle-même, la séquence est brisée. Dans ce code, dont je vous ai donné un fragment, TOUTES les barres sont recalculées lorsque prev_calculated est remis à zéro. Et cela signifie que les mettre à zéro au préalable n'a aucun sens - une perte de temps pour le processeur.

PS. Au passage, vous avez oublié une nuance importante. Par hasard, parlez-vous de MT5 où les tableaux de prix ne sont pas inversés dans les séries chronologiques ? Dans ce cas, ce serait comme ça :

mql4

Non. Voilà avec ton dessin sur une paire où il n'y avait pas d'histoire.

Dossiers :
 

Bien. Le problème s'est avéré ne pas être si simple.

Les développeurs demandent une nouvelle variable bull pour stocker si le graphique est mis à jour et une réinitialisation automatique des tampons si plus d'une barre est chargée.

 
Vasyl Nosal:

Bien. Le problème s'est avéré ne pas être si simple.

Les développeurs demandent une nouvelle variable bull pour stocker si le graphique est mis à jour et une réinitialisation automatique des tampons si plus d'une barre est chargée.

Vous avez deux variables : prev_calculated et rates_total. En contrôlant le chargement de l'historique (dans ce cas prev_calculé==0) vous devez penser à ce qu'il faut faire avec les tampons des indicateurs - le comportement habituel dans de tels cas, est d'assimiler le chargement de l'historique au premier événement de chargement de l'indicateur.
 
Karputov Vladimir:
Vous avez deux variables à votre disposition : prev_calculated et rates_total. En contrôlant le chargement de l'historique (avec prev_calculated==0), vous devez penser à ce qu'il faut faire avec les tampons d'indicateurs - le comportement habituel dans de tels cas est d'assimiler le chargement de l'historique au premier événement de chargement d'indicateur.
Qu'est-ce que cela a à voir avec l'ordre ? Il y a 4 options ici et aucune d'entre elles ne fonctionne.
 
Vasyl Nosal:

Bien. Le problème s'est avéré ne pas être si simple.

Les développeurs demandent une nouvelle variable bull pour stocker si le graphique a été mis à jour et une réinitialisation automatique des tampons si plus d'une barre a été chargée.

Prenez votre temps, s'il vous plaît.

Et pendant que vous attendez une réponse des développeurs, écoutez ce que le modérateur a dit ci-dessus. Je vous recommande de relire attentivement votre sujet depuis le début.

Faites attention à ce post du modérateur, par exemple : https://www.mql5.com/ru/forum/68180#comment_2089395, où il a cité :

if(prev_calculated==0)  // значит история изменилась или это первый проход

Après tout, j'ai, ainsi que d'autres, fait des allusions à ce sujet, ainsi qu'à d'autres choses, dans mes deux messages : https://www.mql5.com/ru/forum/68180/page3#comment_2095342.

Regardez la Documentation, qui y est citée (non seulement dans la partie de la phrase surlignée, mais dans l'ensemble du texte).

Prenez votre temps, s'il vous plaît, et tout s'arrangera pour que vous puissiez résoudre votre problème. Bonne chance !

 
Dina Paches:

Prenez votre temps, s'il vous plaît.

Et pendant que vous attendez une réponse des développeurs, écoutez ce que le modérateur a dit plus haut. Je vous recommande de relire ce fil de discussion.

Faites attention à ce post du modérateur, par exemple : https://www.mql5.com/ru/forum/68180#comment_2089395 où il a cité :

Après tout, j'ai, ainsi que d'autres, fait des allusions à ce sujet, ainsi qu'à d'autres choses, dans mes deux messages : https://www.mql5.com/ru/forum/68180/page3#comment_2095342.

Jetez un coup d'œil à la documentation que vous avez donnée ici.

Prenez votre temps, s'il vous plaît, et tout s'arrangera pour que vous puissiez résoudre votre problème. Bonne chance !

Avez-vous une solution pour ce code ?

Ou avez-vous peur que je modifie le TF et que votre conception ne fonctionne pas aussi ? C'est bon, nous résolvons ici un problème GENERAL.

 
Vasyl Nosal:

Avez-vous une solution pour ce code ?

Ou avez-vous peur que je change le TF et que votre conception ne fonctionne pas non plus ? Ce n'est pas grave, nous résolvons ici un problème courant.

Mais je recommande quand même d'utiliser le conseil que j'ai donné dans ce billet : https://www.mql5.com/ru/forum/68180/page4#comment_2097011.

Et j'ai des solutions pour moi.

Pour votre propre conseil, n'hésitez pas à continuer sans moi. Des indications générales (voir prev_calculated et rates_total) vous ont été données à de nombreuses reprises par diverses personnes ici.

D'après votre supposition à mon sujet, je suppose que vous n'avez pas non plus remarqué ce qui suit, que je vous ai dit:

La mise en œuvre peut être différente en fonction de la tâche. Les nuances peuvent être différentes. Pourquoi ne pas voir comment les choses sont mises en œuvre dans d'autres pays, en fonction de diverses conditions ? Y compris à l'aide de rayures pour trier, décider, former des options acceptables pour soi en fonction des tâches ?

Vous n'avez probablement pas remarqué le post de Victora Nikolaev : https://www.mql5.com/ru/forum/68180/page2#comment_2091839.

Vous avez une tête, n'est-ce pas ? Je le fais.

Voulez-vous résoudre votre problème ? C'est ce qu'il semble.

Ainsi, si vous le souhaitez et si vous en avez besoin, vous pouvez sortir vos solutions pour différents programmes et les produire vous-même.

Est-ce que moi ou quelqu'un d'autre dans ce fil de discussion doit vous fournir quelque chose de plus détaillé ? Non.


 
Dina Paches:

...


Avez-vous un code de solution ?