Predicción del futuro con transformadas de Fourier - página 4

 
Por cierto, ayer escribí que el periodo de media onda de la izquierda debería ser más corto y el de la derecha más largo. Y entonces la extrapolación también llevaría la misma ley. Y el día de hoy ciertamente lo ha confirmado. Una rápida caída del euro seguida de un lento pero intenso intento de recuperación.
 

Por supuesto, debería permitir usar la DLL, la propia dll está conectada, pero no ve las funciones en ella.

Cierto, mientras cuento las funciones de frente, tal vez salga el mq5 y las clases también aparezcan en él.

 
m_keeper:

Creo que las redes neuronales deben utilizarse cuando no es posible sacar conclusiones mediante análisis matemáticos, estadísticos, diferenciales o de cualquier otro tipo.


Esto tiene su lógica: la NS no es la herramienta más fácil en todos los aspectos, así que primero es mejor exprimir todo lo posible de las clásicas.


m_keeper:

No hagas nada con mi indicador todavía, está demasiado inacabado.

Pero dibuja muy bien :)
 
ANG3110:
goldtrader:

¿Y si la señal del indicador (o más bien la diferencia entre la lectura y el precio actual) se envía a la entrada NS?

Puedo responder a la pregunta, pero no me la han hecho a mí, ya que estoy navegando por esta página.

En realidad, la pregunta no es muy correcta, porque hay diferentes redes con distinto número de entradas y salidas.

Los hay aproximativos, clasificatorios y asociativos. Con o sin profesor.

Pero si asumes lo que el autor quiso decir, puedes hacerlo. ¿Pero el resultado será satisfactorio?

Está claro. Tenía una sugerencia más general que específica. La respuesta de m_keeper es satisfactoria.

 

Problemas con el indicador para otro día

Se ha sustituido la transformada rápida de Fourier por las habituales, ahora la ventana se puede ajustar a cualquier longitud


Experimenté con el tamaño de la ventana intentando "coger una ola" y encontré muchas cosas interesantes

)Si hay armónicos, no superan los tres o cuatro

) Estos armónicos no coinciden precisamente con las ondas de mercado correspondientes por frecuencia (sería extraño que lo hicieran)

)esto provoca latidos durante el movimiento de la ventana - la fase se pierde

tenemos varias frecuencias no armónicas en el mercado

Se pueden aislar, como escribió ANG3110, por la amplitud máxima

Pensé en aumentar el periodo para tener más armónicos en el rango que necesito.

) Si la frecuencia deseada está presente en todo el rango, se retrasa,

entonces se acelera (la no linealidad es evidente), no se desfasa correctamente al final

)un periodo largo no es muy bueno, hay mucha redundancia.


En realidad, se me ocurrieron dos ideas en este momento.

)Quién dijo que las frecuencias deben ser armónicas de la frecuencia principal (probablemente lo dijo Fourier)

1/T 2/T 3/T por qué no tomar 10/10T 11/10T 12/10T y obtenemos una mayor densidad de frecuencia

en la gama que nos interesa.

) ¿por qué tomar los armónicos en absoluto? Sólo tenemos que calcular las frecuencias fundamentales (amplitud y fase)

para todos los anchos de banda menores que el dado. Creo que el gráfico de amplitud será

bastante suave en la gama de frecuencias bajas) tenemos que tomar los máximos locales y estos armónicos

ya puede dar una predicción.


Y también me gustaría preguntar.

¿Qué criterio podría utilizarse para determinar la importancia de la amplitud en función de la frecuencia?

Al fin y al cabo, antes de buscar los máximos locales, sería conveniente pronormalizar el espectro.

 

PS Creo que me equivoqué con las frecuencias principales solamente, al menos 2-3 períodos deben ser vistos

 

Puede simplemente normalizar la ventana y separar el segmento de previsión, ci= (Close[i] - min)/(max - min); esto mejora un poco las cosas, pero sólo ligeramente. Lograr una coincidencia en la amplitud suele ser bastante difícil. La identificación de posibles puntos de giro es bastante más valiosa en este caso.


Allí, 2-4 armónicos son realmente óptimos. Solía hacer un guión de dibujo para ver rápidamente lo que ocurría allí. Me las arreglé para dibujar curvas de barras. Entonces se puede cambiar el periodo con el ratón, y todo es rápido y bien visible. O bien, otra forma es desarrollar un indicador y un script para actualizar los datos en la ventana, de lo contrario la función start() del indicador no se iniciará. Es posible utilizar el canal de regresión en el script y enviar sus parámetros al indicador utilizando las variables globales, así como cambiar el número de armónicos pulsando las teclas del teclado.

#import "user32.dll"
int GetAsyncKeyState(int nVirtKey);
int PostMessageA(int hWnd,int Msg,int wParam,int lParam);
#import
#define WM_COMMAND 0x0111


A continuación, la imagen del indicador se puede mover con el ratón. Por cierto, el RMS se calcula dc=Cierre[i]-fx; sq+=dc*dc; y al final sq=MathSqrt(sq/T); y las amplitudes totales MathSqrt(ak[k]*ak[k]+bk[k]*bk[k]);

El emparejamiento se hace por extremos, primero a ojo, luego por RMS mínimo y amk máximo;

Esto es para la investigación con el fin de ver todo rápidamente. Para la automatización es un poco diferente, allí no se hace nada a ojo.

Si la fase es flotante, no hay onda estacionaria y el pronóstico se deteriorará. Puedes poner un mouving o regresión, entonces la fase es más estable. Pero, en principio, la diferencia de fase debería utilizarse en la automatización para la sintonización automática del período, como en los receptores de radio utilizan la sintonización automática de la fase de la frecuencia.

Pero esto es para una frecuencia. Para aumentar la precisión, se toman períodos más grandes y más pequeños y el número de armónicos para todos ellos de 1 a 5, no es conveniente más, y se suman y se obtiene la media. Pero, una vez más, es casi imposible conseguir una buena predicción todo el tiempo con una escala de tiempo lineal. Más bien hay que combinar la previsión y el autotuning continuo. En general, la automatización no es sencilla, aunque, por supuesto, si tuviera éxito, creo que los resultados comerciales serían muy buenos.


 
m_keeper:

Y también me gustaría preguntar.

¿Qué criterio puede utilizarse para determinar la importancia de la amplitud en función de la frecuencia?

Al fin y al cabo, antes de buscar los máximos locales, sería conveniente pronormalizar el espectro.

Tal vez intente la normalización propuesta por el autor del artículo (archivo, p.17).

Archivos adjuntos:
1.zip  246 kb
 

Neutrón

No encuentro ningún racionamiento normal allí.


a m_keeper

Intenta normalizar la energía total.

 

He trazado el periodograma - en la figura siguiente


el valor más a la derecha es la amplitud del segundo armónico del período máximo

cada uno sucesivo (un compás, no un armónico) más pequeño, y así sucesivamente, hasta que el período sea igual al 12º armónico del máximo


Como esperaba, el gráfico es bastante suave y muestra claros máximos locales

cada máximo corresponde a una frecuencia y una fase ya calculadas, y la fase en el máximo debe

valor sin ninguna desviación.


Lo único que queda es trazar el conjunto.

Razón de la queja: