Quand est-il judicieux de conserver une partie du code du robot dans un indicateur ? - page 22

 
Integer:


Il y avait ça aussi. Exactement le même argument que le poltergeist et l'eau qui coule du plafond.

Si cela ne vous dérange pas de répéter (vous pouvez copier-coller) ce que j'ai manqué. Sinon, je ne sais pas du tout de quoi on parle. Si vous pensez que mon code ne convient pas à REAL. Veuillez en préciser la raison, afin que les personnes particulièrement intelligentes ne soient pas les seules à comprendre. Vous pouvez exprimer clairement ce que vous pensez.
 
hrenfx:
Si cela ne vous dérange pas de répéter (vous pouvez copier-coller) ce que j'ai manqué. Sinon, je ne sais pas du tout de quoi je parle. S'il vous semble que mon code ne convient pas à REAL. Veuillez être précis quant à la raison, afin que les personnes particulièrement intelligentes ne soient pas les seules à comprendre. Vous pouvez exprimer clairement ce que vous pensez.

DeJavu ! Vous pouvez commencer à lire à partir du début de la page 19. Répétition absolue. N'oubliez pas l'opérateur break ou return et décidez à l'avance du nombre de boucles.
 
Je l'ai lu et je ne comprends toujours pas pourquoi vous avez décidé que mon EA ne convient pas à REAL. Vous pouvez continuer à dire "tout est écrit, relisez-le", ou vous pouvez être précis (ce que j'ai demandé plusieurs fois dans ce fil) et argumenter votre point de vue. Pour l'instant, c'est juste de l'eau pour des raisons que je ne comprends pas.
 
hrenfx:
Je l'ai lu et je ne comprends toujours pas pourquoi vous avez décidé que mon EA ne convient pas à REAL. Vous pouvez continuer à dire "tout est écrit, relisez-le", ou vous pouvez être précis (ce que j'ai demandé plusieurs fois dans ce fil) et argumenter votre point de vue. Pour l'instant, c'est juste de l'eau pour des raisons que je ne comprends pas.

Il y avait cette question, j'y ai répondu, que je ne le ferai pas ! Il y avait également une explication de la raison. Donc, allons à la page 19 & while(true)...
 
hrenfx:
Si je le lis, je ne comprends toujours pas pourquoi vous pensez que mon conseiller expert n'est pas adapté à REAL. Le conseiller expert ne convient pas à REAL. Vous pouvez vous lancer dans l'erreur du "tout est écrit, relisez", ou vous pouvez concrètement (ce que j'ai appelé plusieurs fois dans ce fil) argumenter votre point de vue. Pour l'instant, c'est juste de l'eau pour des raisons que je ne comprends pas.


Pour calculer correctement, vous devez utiliser votre analogue d'IndicatorCounted(). Si la différence entre Bars et la valeur de notre fonction (variable) est supérieure à 1, nous devons effectuer un nouveau calcul complet.

Si la différence est de 1, calcul de la barre précédente et calcul de la nouvelle barre. Si 0, alors seulement le recalcul de la barre actuelle.

 
Cependant, il y a encore un problème lors du transfert du calcul de l'indicateur vers l'EA. C'est à ce moment-là que vous devez vous référer aux valeurs d'il y a 5 ou 10 barres ou plus. Le problème peut être résolu avec quelques complications. Mais il peut être résolu
 
Vinin:


Vous devez utiliser votre analogue de IndicatorCounted() pour calculer correctement. Si la différence entre les barres et la valeur de notre fonction (variable) est supérieure à 1, alors un nouveau calcul complet doit être effectué.

Si la différence est de 1, calcul de la barre précédente et calcul de la nouvelle barre. Si 0, alors seulement le recalcul de la barre actuelle.

Y a-t-il quelque chose que vous n'aimez pas dans ce code?

double GetEMA()
{
  static int PrevTime = 0;
  
  if (PrevTime == Time[0])
    return(EMA);

  int i = iBarShift(Symbol(), Period(), PrevTime) - 1;  

  PrevTime = Time[0];    
  
  while (i >= 0)
  {
    EMA = EMA * Alpha + (1 - Alpha) * GetPrice(i);
    
    i--;
  }
  
  return(EMA);
} 
 
hrenfx:

Y a-t-il quelque chose que vous n'aimez pas dans ce code?


Bien sûr que je n'aime pas ça. Il compte avec des erreurs pour rien
 
Soyez plus précis, s'il vous plaît.
 
hrenfx:
Soyez plus précis, s'il vous plaît.

La valeur de l'EMA à l'interruption de la communication est prise de manière incorrecte. Il est considéré comme le dernier calculé. Mais ce n'est pas correct. Par conséquent, la fonction ne fonctionnera pas correctement sur n barres mais sur un nombre beaucoup plus important de barres. Si vous sauvegardez ses valeurs, bien sûr