Indicadores: Advanced_Fractal_Envelopes

 

Advanced_Fractal_Envelopes:

Indicador Advanced Fractal Envelopes

Advanced_Fractal_Envelopes

Autor: Scriptor

 

¿AVG en este caso es SMA (Simple MA)? Sólo para aclarar.

Y puede ser sustituido por cualquier otro MA?

 
Urman Ru #:

¿AVG en este caso es SMA (Simple MA)? Sólo para aclarar .

Y puede ser sustituido por cualquier otro MA?

Bueno, según el cálculo, es una SMA simple. Pero para sustituirlo por otro, usted tendrá que hacer ya sea un nuevo cálculo correcto de otro MA, o utilizar otro búfer - un búfer de cálculo para calcular otro MA utilizando iMA

 
Artyom Trishkin #:

Pues bien, según el cálculo, se trata de una simple SMA. Pero para sustituirla por otra, tendremos que hacer o bien un nuevo cálculo correcto de otra MA, o bien utilizar otro buffer - un buffer de cálculo para calcular otra MA utilizando iMA

Gracias, mis dudas innecesarias han desaparecido).

 
¿Es posible cambiar el código del indicador para que no se "caigan" las líneas? Entiendo que es debido al fractal. Es muy inconveniente sobrecargar constantemente el indicador. ¿Es así en todos los indicadores "fractales" o sólo en este en particular?
Archivos adjuntos:
 
Urman Ru #:
¿Es posible cambiar el código del indicador para que no se "caigan" las líneas? Entiendo que es debido al fractal. Es muy inconveniente sobrecargar constantemente el indicador. ¿Es así en todos los indicadores "fractales" o sólo en este en particular?

Puede ser. No he mirado el código, pero se suele solucionar preinicializando todos los buffers que se dibujan con un valor vacío en cada tick. Primero se rellenan los buffers con valores que se utilizan en el indicador como "vacíos" y luego se realiza el cálculo principal del indicador.

 
Artyom Trishkin #:

Puede ser. No he mirado en el código, pero esto se suele resolver mediante la inicialización preliminar de todos los búferes que se dibujan con un valor vacío en cada tick. En primer lugar, los búferes se llenan con valores que se utilizan en el indicador como "vacío", y luego se realiza el cálculo principal del indicador.

¿Cansado?

 
Artyom Trishkin #:

Puede ser. No he mirado en el código, pero esto se suele resolver mediante la inicialización preliminar de todos los búferes que se dibujan con un valor vacío en cada tick. En primer lugar, los búferes se llenan con valores que se utilizan en el indicador como "vacío", y luego se realiza el cálculo principal del indicador.

Gracias. ¿Puedo ver un ejemplo de un indicador de este tipo o al menos un "trozo" de código del mismo? ¿O dónde puedo leer más al respecto?

 
Urman Ru #:

Gracias. ¿Puedes darme un ejemplo de un indicador de este tipo o al menos un "trozo" de código del mismo? ¿O dónde puedo leer más sobre el tema?

Prueba a añadir estas líneas al código:

//--- Cálculo del indicador
   for(int i=limit; i>=0 && !IsStopped(); i--)
     {
      BufferTop[i]=EMPTY_VALUE;
      BufferCentral[i]=EMPTY_VALUE;
      BufferBottom[i]=EMPTY_VALUE;
      BufferFractUP[i]=EMPTY_VALUE;
      BufferFractDN[i]=EMPTY_VALUE;
      double average=0, fractal=BufferFractUP[i];
      int k=1,total=1;
      if(fractal>0 && fractal<EMPTY_VALUE)
        {
         average=fractal;
      //--- Media
         while(total<period_avg && i+k<rates_total-2)
           {
 
Artyom Trishkin #:

Prueba a añadir estas líneas al código:

¡Gracias! Creo que empiezo a entender algo).