¿Cuándo tiene sentido mantener parte del código del robot en un indicador? - página 22

 
Integer:


También había eso. Exactamente el mismo argumento que el poltergeist y el agua que gotea del techo.

Si no te importa repetir (puedes copiar y pegar) lo que me faltó. Si no, no sé de qué estamos hablando. Si crees que mi código no es adecuado para REAL. Por favor, especifique la razón, para que no sólo los particularmente inteligentes puedan entenderlo. Puedes articular lo que piensas.
 
hrenfx:
Si no te importa repetir (puedes copiar y pegar) lo que me he perdido. Si no, no sé de qué estoy hablando. Si te parece que mi código no es apto para REAL. Por favor, especifique la razón, para que no sólo los particularmente inteligentes puedan entenderlo. Puedes articular lo que piensas.

¡DeJavu! Puede empezar a leer desde el principio de la página 19. Repetición absoluta. No olvides el operador de ruptura o de retorno ni decidas de antemano el número de bucles.
 
Lo he leído y sigo sin entender por qué has decidido que mi EA no es apto para REAL. Puedes seguir con lo de "está todo escrito, vuelve a leerlo", o puedes ser concreto (lo que he pedido varias veces en este hilo) y argumentar tu punto de vista. Hasta ahora es sólo agua por razones que no entiendo.
 
hrenfx:
Lo he leído y sigo sin entender por qué has decidido que mi EA no es apto para REAL. Puedes seguir con lo de "está todo escrito, vuelve a leerlo", o puedes ser concreto (lo que he pedido varias veces en este hilo) y argumentar tu punto de vista. Hasta ahora es sólo agua por razones que no entiendo.

Hubo una pregunta, la respondí, ¡que no lo haré! También había una explicación del motivo. Entonces, vayamos a la página 19 y mientras (verdadero)...
 
hrenfx:
Si lo leo, sigo sin entender por qué crees que mi Asesor Experto no es adecuado para el REAL. El Asesor Experto no es apto para la REALIDAD. Puedes entrar en el error de "está todo escrito, relee", o puedes concretar (a lo que he llamado varias veces en este hilo) argumentar tu punto de vista. Hasta ahora es sólo agua por razones que no entiendo.


Para calcular correctamente, debe utilizar su análogo de IndicatorCounted(). Si la diferencia entre Bares y el valor de nuestra función (variable) es mayor que 1, debemos hacer un recálculo completo.

Si la diferencia es 1, cálculo de la barra anterior y cálculo de la nueva barra. Si es 0, sólo se recalcula la barra actual

 
Aunque todavía hay un problema al transferir el cálculo del indicador al EA. Esto es cuando se necesita hacer referencia a valores de hace 5 o 10 o más bares. El problema puede resolverse con algunas complicaciones. Pero se puede resolver
 
Vinin:


Necesita utilizar su análogo de IndicatorCounted() para calcular correctamente. Si la diferencia entre Bares y el valor de nuestra función (variable) es mayor que 1, entonces se debe hacer un recálculo completo.

Si la diferencia es 1, cálculo de la barra anterior y cálculo de la nueva. Si es 0, entonces sólo el recálculo de la barra actual

¿Hay algo que no le guste de este 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:

¿Hay algo que no le guste de este código?


Por supuesto que no me gusta. Cuenta con errores para nada
 
Sea más específico, por favor.
 
hrenfx:
Sea más específico, por favor.

El valor de la EMA en la interrupción de la comunicación se toma incorrectamente. Se toma como el último calculado. Pero no es correcto. Como resultado, la función funcionará incorrectamente no en n barras sino en un número mucho mayor de barras. Si guarda sus valores, por supuesto
Razón de la queja: