Quando faz sentido manter parte do código do robô em um indicador? - página 22

 
Integer:


Também havia isso. Exatamente o mesmo argumento que poltergeist e água pingando do teto.

Se você não se importa em repetir (você pode copiar-colar) o que eu perdi. Caso contrário, eu não sei do que estamos falando. Se você acha que meu código não é adequado para REAL. Favor especificar o motivo, para que não somente os particularmente inteligentes possam entender. Você pode articular o que você pensa.
 
hrenfx:
Se você não se importa em repetir (você pode copiar-colar) o que eu perdi. Caso contrário, eu não sei do que estou falando. Se lhe parece que meu código não é adequado para REAL. Favor especificar o motivo, para que não somente os particularmente inteligentes possam entender. Você pode articular o que você pensa.

DeJavu! Você pode começar a ler a partir do início da página 19. Repetição absoluta. Não se esqueça do operador de pausa ou retorno ou decida antecipadamente o número de loops.
 
Eu o li e ainda não entendo porque você decidiu que minha EA não é adequada para REAL. Você pode continuar sobre "está tudo escrito, reler", ou você pode ser específico (o que eu já chamei várias vezes neste tópico) e argumentar seu ponto de vista. Até agora é apenas água, por razões que não entendo.
 
hrenfx:
Eu o li e ainda não entendo porque você decidiu que minha EA não é adequada para REAL. Você pode continuar sobre "está tudo escrito, reler", ou você pode ser específico (o que eu já chamei várias vezes neste tópico) e argumentar seu ponto de vista. Até agora é apenas água, por razões que não entendo.

Houve esta pergunta, eu respondi, que eu não vou responder! Havia também uma explicação do motivo. Então, vamos à página 19 & enquanto(true)...
 
hrenfx:
Se eu o li, ainda não entendo porque você acha que meu consultor especializado não é adequado para REAL. O Expert Advisor não é adequado para REAL. Você pode entrar no erro "é tudo escrito, reler", ou você pode concretamente (que eu chamei várias vezes neste tópico) argumentar seu ponto de vista. Até agora é apenas água, por razões que não entendo.


Para calcular corretamente, você deve usar seu análogo de IndicatorCounted(). Se a diferença entre as barras e o valor de nossa função (variável) for maior que 1, devemos fazer um recálculo completo.

Se a diferença for 1, cálculo da barra anterior e cálculo da nova barra. Se 0, então apenas o recálculo da barra atual

 
Embora haja mais um problema ao transferir o cálculo do indicador para a EA. Isto é quando você precisa se referir aos valores 5 ou 10 ou mais barras atrás. O problema pode ser resolvido com algumas complicações. Mas isso pode ser resolvido
 
Vinin:


Você precisa usar seu análogo de IndicatorCounted() para calcular corretamente. Se a diferença entre as barras e o valor de nossa função (variável) for maior que 1, então um recálculo completo deve ser feito.

Se a diferença for 1, cálculo da barra anterior e cálculo da nova barra. Se 0, então apenas o recálculo da barra atual

Há algo de que você não gosta neste código?

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:

Há algo de que você não gosta neste código?


É claro que não gosto disso. Conta com erros para nada
 
Seja mais específico, por favor.
 
hrenfx:
Seja mais específico, por favor.

O valor da EMA na interrupção da comunicação é tomado incorretamente. É considerado como o último calculado. Mas isso não é correto. Como resultado, a função funcionará incorretamente não em n barras, mas em um número muito maior de barras. Se você salvar seus valores, é claro
Razão: