Ayuda con Fourier - página 7

 
eugenk1 писал (а):
ANG3110, lo siento, he leído todos tus posts y la impresión es esta. O estás ocultando algo seriamente (no juzgo, el dinero es algo íntimo), o tienes una idea, necesitas ayuda, pero no quieres abrirte hasta el final (esto no es bueno), o estás hablando de tiempos del orden de meses. Yo mismo empecé a dominar todo esto precisamente con la idea de aplicar la transformada de Fourier. Y rápidamente se desilusionó.

Ni lo uno, ni lo otro, ni lo tercero. Ayer y hoy he tenido ganas de escribir un poco. En realidad no tenía intención de decir mucho sobre el tema. Más bien me pidieron que mostrara y contara y yo lo hice. Sé lo que sé y lo que no sé en este momento. Tal vez alguien pueda ayudarme, pero en primer lugar, debe entender al menos de qué estoy escribiendo, y en segundo lugar, tener buenos conocimientos y experiencia en el campo, y lo más importante, relacionarse bien conmigo, y con la esencia misma del tema. No creo que sea necesario y lo más probable es que ya no haya que hablar de ello. ¿Algo que ocultar? Es que no tengo mucho tiempo y no quiero perderlo en tonterías ingeniosas y charlas académicas vacías, hay muchos aficionados así en los foros. He expuesto algunos de mis primeros trabajos en Spider y han recibido buenas críticas. Al principio del hilo, ver, alguien citó uno de mis primeros códigos en bruto. Así que - cómo, quién, qué, percibir y lo que está fascinado o decepcionado, no estoy realmente interesado, para mí, lo que hago - en su mayoría funciona.
 
eugenk1 писал (а):
YraZ, perdona, ¿podrías explicar qué es lo que realmente se muestra en la imagen? En cuanto a lo que funciona en el plano, para ser honesto, siempre pensé que funciona perfectamente en una apertura perfectamente fonada (digamos cara - compra, cruz - venta), con un stop mayor que el spread del plano. Sí, puede que no sea óptimo en términos de reducción, pero funciona...

Estoy de acuerdo: todo funciona,
a no ser que bajes y vayas a vender de nuevo y comprar en la parte superior.
Pero si estamos en el medio, podemos ir a comprar o a vender.

en la imagen, elegí los niveles principales intermedios de acuerdo con el siguiente principio

1+2 = 3
3 + 2 = 5
5 + 3 = 8
8 + 5 = 13
13 + 8 = 21
21 + 13 = 34
34 + 21 = 55
etc.
.... Principio FIBO

algo así como
hay líneas de puntos entre los patrones - parece ser suficiente una línea de base
si se observa la rejilla en plano en todos los tf, se pueden ver claramente las ondas - inversiones visualmente - nada más
+ algunos conocidos "secretos" de las medias como la 8ª EMA cuando la vela cierra por debajo de la -8ª , análisis de velas + EMA, la 3ª EMA
por ejemplo, si la vela está completamente cerrada fuera de la 3ª EMA, suele ser una gran entrada
y en el piso y no sólo eso, suele ser una entrada de pico


sólo la idea de una onda sinusoidal en el futuro está muy cerca
 
¿Cómo puedo extrapolar una serie de Fourier utilizando las funciones de la biblioteca #_lib_FFT.mq4?
Sería interesante ver lo que la línea muestra en el futuro.
Tal vez alguien pueda actualizar las funciones de esta biblioteca para poder mostrar la línea en el futuro.
Archivos adjuntos:
y_lib_fft.mq4  28 kb
 
Frankfurt:

Sería interesante observar lo que la línea muestra para el futuro.

Se mostrará exactamente lo mismo que ya está dibujado.
 
Integer писал (а):
EnFráncfort:

Sería interesante observar lo que muestra la línea para el futuro.

Se mostrará exactamente lo mismo que lo que ya está dibujado.

En el caso de un fft completo repetirá lo que ya está dibujado,
y en el caso de la transformación del coseno, reflejada hacia atrás desde el final.


 

Curiosamente, la FFT basada en el coseno tiene una derivada igual a cero para la última barra, es decir, mostrará que se produce una flexión del precio (máximo o mínimo) en la última barra aunque no exista tal flexión en realidad. La FFT basada en el seno siempre mostrará la tendencia en su punto máximo (la derivada tiene el valor máximo en la última barra). Una serie de Fourier basada en el coseno y el seno es más aceptable para construir una media móvil.

Aquí está el código de la media móvil basado en el código escrito por Klot, que utilizó la FFT del coseno.

//+------------------------------------------------------------------+
//|                                                       FFT_MA.mq4 |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_width1 2
#property indicator_color1 Red
//Imorting library #_lib_FFT.ex4. It must be in the expert directory. 
#import "#_lib_FFT.ex4"
void realfastfouriertransform(double& a[], int tnn, bool inversefft);
#import
//Input parameters
extern int n      =8;   // Sets the number of data points as 2^n.
extern int hmax   =2;   // Max number of harmonics including dc.
//Global variables
int N;                  //N is number of data points.
//Indicator buffer
double FFTMA[];
int init()
{
   N=MathPow(2,n);
   if(hmax>N) hmax=N;
   IndicatorBuffers(1);
   SetIndexBuffer(0,FFTMA);
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
   IndicatorShortName("FFTMA");
   return(0);
}
int deinit(){return(0);}

int start()
{
   double data[];
   ArrayResize(data,N);
   for(int i=0;i<N;i++) data[i]=Close[i];
   realfastfouriertransform(data,N,false);
   if(hmax>0) for(i=hmax;i<N;i++) data[i]=0.0;
   realfastfouriertransform(data,N,true);
   ArrayInitialize(FFTMA,EMPTY_VALUE);
   for(i=0;i<N;i++)FFTMA[i]=data[i];
   return(0);
}
//+------------------------------------------------------------------+

 
Con hmax =2; habrá un simple MA, para un periodo dado, no está muy claro por qué se necesita una FFT completa?
 
ANG3110 писал (а):
Con hmax =2; habrá un simple MA, para un período determinado, no está muy claro por qué necesitamos una FFT completa?

No, también me he dado cuenta de que la FFT completa es mucho más estable (se redibuja menos).
En general, creo que deberíamos utilizar el siguiente filtro
if(hmax>0) for(i=hmax;i<N;i++) data[i]=0.0;
para hacer algún filtro inteligente. Necesitamos que deje selectivamente los armónicos necesarios y elimine los innecesarios. Entonces puede tener algo de sentido y estabilidad.

Además, NeuroshellDayTrader utiliza cinco o seis filtros diferentes en FFTadon, lo siento no tengo fórmulas, podría juguetear con ellos.
Y si se limitan las frecuencias no sólo por arriba sino también por abajo, se puede seleccionar una determinada banda de oscilaciones. El indicador se ve bien, recuerda a un estocástico.
 
ANG3110 писал (а):
Con hmax =2; habrá un simple MA, para un periodo dado, no está muy claro por qué se necesita una FFT completa?

Francamente, no defiendo la aplicación de la FFT (completa o coseno) para la construcción de medias móviles por la razón de que la FFT rompe las series de precios por frecuencias 2*pi*k*l/N, es decir, las frecuencias se conocen de antemano aunque las series de precios pueden tener armónicos más fuertes en frecuencias adyacentes diferentes de 2*pi*k*l/N. La idea de la FFT se basa en el ajuste de una serie trigonométrica a una serie real mediante el método de los mínimos cuadrados. De este modo, se puede ajustar cualquier función ortogonal (polinomios ortogonales, en el caso más sencillo). La ventaja de la FFT es que las amplitudes de las funciones trigonométricas son muestras de la respuesta en frecuencia del proceso con un paso constante de 2*pi/N. Utilizando la FFT es posible rechazar los armónicos de alta frecuencia y construir así una media móvil. Pero este tipo de filtrado es mucho más complicado que el filtrado digital, como la simple media móvil o el filtro FIR. Echa un vistazo a mis indicadores de media móvil basados en el filtro FIR:

'FIR MA'.
AFIRMA".
 
klot писал (а):
ANG3110 escribió (a):
Con hmax =2; habrá un simple MA, en un período determinado, no está muy claro, ¿por qué molestarse con una FFT completa entonces?

No, yo también lo noté, el FFT completo es mucho más estable (menos redibujado).
En general, creo que deberíamos utilizar el siguiente filtro
if(hmax>0) for(i=hmax;i<N;i++) data[i]=0.0;
para hacer algún filtro inteligente. Necesitamos que deje selectivamente los armónicos necesarios y elimine los innecesarios. Entonces puede tener algo de sentido y estabilidad.

Además, NeuroshellDayTrader utiliza cinco o seis filtros diferentes en FFTadon, lo siento no tengo fórmulas, podría juguetear con ellos.
Y si se limitan las frecuencias no sólo en la parte superior sino también en la inferior, se puede seleccionar una determinada banda de oscilaciones. El indicador se ve bien, recuerda a un estocástico.
El valor de la Fourier es que, si está bien afinada, muestra bien los momentos en los que son probables los puntos de inflexión. No es tan malo que la trayectoria de la amplitud no coincida, al contrario, es bueno, la velocidad de cambio de fase puede ser tenida en cuenta. Aquí hay un dibujo hecho hace 2 días usando el mínimo de RMS.
Muestra que las principales oscilaciones en el tiempo posteriormente, coincidieron más o menos.