Indicadores: Extrapolación del precio mediante Fourier

 

Extrapolación del precio mediante Fourier:

Este indicador ajusta un modelo trigonométrico a los precios y los extrapola hacia el futuro.

Extrapolación del precio mediante Fourier

Autor: Vladimir

 

Tiene fallos


 
Urain:

Tiene fallos



Gracias. Ya veo por qué ocurre. He arreglado el código. Habrá que esperar a que se publique.
 
gpwr:
Gracias. Ya veo por qué hace eso. Arreglé el código. Hay que esperar a que lo publiquen.

Es que con cada nueva barra hay que reinicializar el array de predicción para que no se acumule el histórico.

Y entonces el relleno se ha adelantado y esta barra se queda rellena desde la última barra, y nadie la reinicia.

 
Urain:

Es que con cada nueva barra hay que reinicializar la matriz de predicción para que no se acumule el historial.

De lo contrario, el relleno se ha adelantado y esta barra permanece rellena desde la última barra, y nadie la pone a cero.

Sí, es cierto. Mientras esperamos la publicación de una nueva versión del indicador, tenemos que hacer tal cambio en la antigua.

En lugar de

   if(prev_calculated==0) 
   {
      ArrayInitialize(xm,EMPTY_VALUE);
      ArrayInitialize(ym,EMPTY_VALUE);
   }
eliminar if(...)

ArrayInitialize(xm,EMPTY_VALUE);
ArrayInitialize(ym,EMPTY_VALUE);
 
gpwr:
Gracias. Ya veo por qué hace eso. Arreglé el código. Hay que esperar a que lo publiquen.
No veo una nueva versión del indicador, no hay nada que publicar. ¿Has cambiado algo?
 

Rosh:
Не вижу новой версии индикатора, публиковать нечего. Вы что-то меняли?

Sí, así es. Ahora veo que ambos extrapoladores (Fourier y AR) tienen nuevas versiones de código. Gracias. No necesito hacer nada más.

 

El indicador es interesante, pero muy contradictorio.

En 30M


y ya en H1:


 
gisip:

El indicador es interesante, ¡pero muy contradictorio!

A 30M


y ya en H1:



Tienes razón al señalar que es contradictorio. Las predicciones cambian en función de la longitud de la historia, sobre la que se ajusta la serie de Fourier. Al pasar de M30 a H1 manteniendo Npast, esto es exactamente lo que ocurre. Puede intentar reducir Npast 2 veces durante dicha transición para conservar la longitud del historial.

Por cierto, el cambio de predicciones en función de la longitud de la historia es inherente a todos los extrapoladores que he encontrado. Por lo tanto, la longitud de la historia (Npast) debe elegirse teniendo en cuenta algunos criterios. Por ejemplo, en uno de los foros de mql4, alguien sugirió añadir series de Fourier sólo a los precios que se mueven dentro del canal (el momento de entrada del precio en el canal da el comienzo de la historia y el valor de Npast). También puede intentar añadir barras que falten para los sábados y domingos y otros días festivos, para que la serie de Fourier se ajuste al tiempo del calendario. También puedes intentar aplicar esta serie a los ticks. Prival parecía hacerlo y estaba convencido de la corrección de este enfoque de ticks.

Prival, ¿aún te interesan las series de Fourier?

 
gpwr:...

Prival, ¿has perdido el interés por las series de Fourier?

No, no lo he perdido. Pero hay una enorme roca allí, y todo se rompe contra ella. Usted, como ingeniero electrónico, me entenderá. Voy a tratar de ponerlo en secuencia.

1. Si suponemos que el precio es continuo (señal analógica), no depende de si las cotizaciones nos llegan o no. Supongamos que es sábado o domingo, la demanda de euro o dólar no ha ido a ninguna parte....

2. Entonces las cotizaciones que nos llegan no son más que obra del CAD. Y ADC en su peor manifestación.

3. Recordemos que en el trabajo del CAD hay ruido de cuantificación y ruido de muestreo. Por ejemplo, en Sergienko A.B. Digital Signal Processing 2002. Los efectos que se manifiestan en la cuantificación se dedica a todo el capítulo ¹7, por ejemplo, mucha gente piensa que no hay ruido. Pero en realidad

Está ahí, si está ahí, debe ser procesado. Si sólo hubiera ruido de cuantificación. Eso sería estupendo, pero hay otra cosa de la que cualquier ingeniero electrónico huye como del demonio, que es...

4. el ruido de muestreo, y algo hay, los ticks no nos llegan con la precisión de un oscilador de cuarzo, de ahí que la frecuencia de muestreo sea una variable aleatoria. Intenta predecir una simple onda sinusoidal digitalizada con un tee delta variable... Ahora piénsalo, las barras nos dan la ilusión de un tee delta constante que en realidad no existe. Y el 95% de todos los algoritmos creen que delta te es una constante, de lo contrario todo se desmorona como un castillo de naipes....

Muchos operadores practicantes no van por debajo del período M5, intuitivamente sienten que allí el error - error de muestreo relativo (en relación con el principio - final de la barra) se hace grande, cuanto mayor sea el marco de tiempo, menos este error tiene un impacto. De alguna manera calculé que si no se aplican medidas especiales, el límite inferior está en algún lugar alrededor de 3 minutos, más allá el ruido aumenta enormemente....

Veo la única salida, ticks, aproximación, y trocear ya con el delta te necesario, pero sin historial de ticks, es casi irreal construir un autómata fiable... al mínimo fallo, y otra vez a sentarse copiando ticks, hasta que se te acumulan para tomar una decisión... y el tiempo ya está perdido, ya te han desnudado... o te están desnudando....

Fourier en sí es una gran herramienta para la construcción de filtros adaptativos, pero hay que entender muy bien lo que está pasando allí, cómo y por qué, incluso este https://www.mql5.com/es/code/120 se inventó por una razón, es digital, es DSP, todo un campo de conocimientos, habilidades y destrezas. Sin él, no habría ordenadores, ni teléfonos móviles, ni televisores.

H.Y. Resultó largo, pero no puedo describirlo en 2 palabras. Quizá me equivoque. Acabo de escribir a Niroba https://www.mql5.com/ru/forum/120788/page380 y ahora lo repetiré para mí.

Pienso - por lo tanto existo. En todo momento "pensar" significaba inevitablemente "disentir", dudar, elegir. Buena suerte con tu "disentimiento".

 
Hey, por alguna razón el indi no se muestra en mt5 bajo indicadores. Hice compilar el indi, y reinicié mt5. Todos los demás indis trabajo, excepto los dos indis extrapolación que ha publicado en el codebase.