Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 1071

 
Bonjour ! l'ancien indicateur a un cycle prescrit, il surcharge fortement le terminal, s'il vous plaît aidez-moi à le changer à la nouvelle façon, de sorte que les barres ne sont pas constamment recalculés ... Je vous en suis très reconnaissant à l'avance !
int i,limit;
limit = Bars-2;
for(i=limit; i>0; i--)
 
   limit=rates_total-prev_calculated;
   if(prev_calculated>0)
      limit++;
Tiré de l'exemple MACD fourni avec le terminal.
 
evillive:
Tiré de l'exemple MACD de la livraison terminale.
Merci, mais dans ce cas limite=0, et dans la boucle le calcul se fait à partir de la dernière barre jusqu'à zéro.
 
Pokrov:
Merci, mais dans ce cas limite=0, et dans la boucle le calcul va de la dernière barre à zéro.

Dans ce cas, si 0 est compté, on prend toutes les barres, et dans les autres cas, on prend autant de barres que celles qui ne sont pas comptées :

  limit=rates_total-prev_calculated;
  if(prev_calculated<1) limit=rates_total-1;
 
evillive:

Ensuite, si 0 est compté, on prend tous les bars, dans les autres cas, combien ne sont pas comptés :

Merci beaucoup ! Je ne comprends pas pourquoi cela fonctionne, lorsque je chargerates_total et prev_calculated sont égaux à un nombre égal de barres et ensuite limit = 0, plus la condition qui n'est pas vraie, pourquoi cela fonctionne-t-il ? Expliquez-moi ça, s'il vous plaît,

Je veux comprendre pourquoi ça marche...
 
Pokrov:

Merci beaucoup ! Seulement je ne comprends toujours pas pourquoi ça marche, quand je charge l'indicateurrates_total et prev_calculated sont égaux au même nombre de barres et ensuite limit = 0, ensuite la condition qui n'est pas vraie, alors pourquoi ça marche ? Expliquez-moi,

Vous voulez comprendre pourquoi ça marche...

Lors du chargement derates_Bars, un prev_calculated=0.

 
evillive:

Lors du chargement derates_Bars, un prev_calculated=0.

Oh c'est vrai, je n'ai juste pas regardé de près le log, premier tickprev_calculated=0. merci encore !!!!
 
evillive:
Vous pouvez. Laissez-lui juste plus d'espace, les dossiers d'historique et de journaux s'agrandissent, j'ai plus de 5 Go d'historique, et une fois mon Expert Advisor avait 20 Go d'erreurs dans ses journaux, c'est bien que ce ne soit pas sur une clé USB )))).
Bien. Je vois. Merci à tous !
 

Bonjour à tous. Je veux utiliser les données de H4 dans le testeur de stratégie sur l'échelle de temps H1. Lorsque j'initialise l'indicateur, il est rendu correctement, mais lorsque je lance le testeur, il n'est pas redessiné.

Est-ce une fonctionnalité du testeur ? Comment puis-je le surmonter ?

int shift = iBarShift(Symbol(), PERIOD_H4, Time[i]);

bufBuffer[i] = iClose(Symbol(),PERIOD_H4,shift); 
 
storuky:

Bonjour à tous. Je veux utiliser cet indicateur de H4 dans le testeur de stratégie sur le cadre temporel H1. Lorsque j'initialise l'indicateur, il est rendu correctement, mais lorsque je lance le testeur, il n'est pas redessiné.

Est-ce une fonctionnalité du testeur ? Y a-t-il un moyen de le réparer ?

Oui, le testeur bloque l'accès aux données des autres TFs dans le mode de visualisation. Lors d'un test normal sans visualisation, les données se déroulent correctement, mais le rendu en souffre.

Il n'existe aucun moyen de résoudre ce problème directement - nous pouvons seulement compliquer l'algorithme et dessiner des objets, mais cela en vaut-il la peine ?

Raison: