Ajuda com Fourier - página 7

 
eugenk1 писал (а):
ANG3110, desculpe, li todos os seus posts e a impressão é a seguinte. Ou você está seriamente escondendo algo (não estou julgando, dinheiro é uma coisa íntima), ou você tem uma idéia, precisa de ajuda, mas não quer se abrir até o fim (isto não é bom), ou você está falando de tempos da ordem dos meses. Eu mesmo comecei a dominar tudo isso precisamente com a idéia de aplicar a transformação de Fourier. E muito rapidamente se desiludiu.

Nem uma, nem a outra, nem a terceira. Tive apenas o desejo de escrever um pouco ontem e hoje. Na verdade, eu não pretendia dizer muito sobre o assunto. Eu fui bastante solicitado a mostrar e contar e fui junto com isso. Eu sei o que sei e o que não sei no momento. Talvez alguém possa me ajudar, mas primeiro, ele deve pelo menos entender sobre o que estou escrevendo, e segundo, ter bons conhecimentos e experiência na área, e o mais importante, relacionar-se bem comigo, e com a própria essência do assunto. Acho que não há nenhuma necessidade e muito provavelmente não há mais necessidade de falar sobre isso. Algo a esconder? Eu simplesmente não tenho muito tempo e não quero desperdiçá-lo em lixo inteligente e tagarelice acadêmica vazia, há muitos desses amadores nos fóruns. Exibi alguns dos meus primeiros trabalhos sobre Spider e foi bem revisto. Logo no início do fio, veja, alguém citou um dos meus primeiros códigos em bruto. Então - como, quem, o que, percebe e o que lhe fascina ou decepciona, não estou realmente interessado, comigo, no que faço - a maioria funciona.
 
eugenk1 писал (а):
YraZ, desculpe-me, você pode explicar o que realmente é mostrado na foto? Quanto ao que funciona no apartamento, para ser honesto, sempre achei que funciona perfeitamente em uma abertura perfeitamente telefônica (digamos cabeça - comprar, cauda - vender), com uma parada maior do que a propagação do apartamento. Sim, pode não ser ótimo em termos de drawdown, mas funciona...

Concordo - tudo funciona,
a menos que você vá para baixo e vá vender novamente e comprar no topo.
Mas se estivermos no meio, podemos ir ou comprar ou vender.

na figura, eu escolhi os níveis principais do meio de acordo com o seguinte princípio

1+2 = 3
3 + 2 = 5
5 + 3 = 8
8 + 5 = 13
13 + 8 = 21
21 + 13 = 34
34 + 21 = 55
etc
.... Princípio FIBO

algo como isto
há linhas pontilhadas entre os padrões - parece ser suficiente uma linha de base
se você olhar para a grade em Flat em todas as TFs, você pode ver claramente as ondas - inverte visualmente - nada mais
+ alguns "segredos" comerciais bem conhecidos das médias como o 8º EMA quando a vela fecha abaixo do -8º , análise do castiçal + EMA, o 3º EMA
por exemplo, se o castiçal estiver totalmente fechado fora do 3º EMA, geralmente é uma ótima entrada
e no apartamento e não apenas isso, geralmente é uma entrada de espigão


apenas a idéia de uma onda sinusoidal no futuro é muito próxima
 
Como posso extrapolar uma série Fourier usando as funções encontradas na biblioteca #_lib_FFT.mq4?
Seria interessante ver o que a linha mostra no futuro.
Talvez alguém possa atualizar as funções desta biblioteca para poder exibir a linha para o futuro.
Arquivos anexados:
y_lib_fft.mq4  28 kb
 
Frankfurt:

Seria interessante observar o que a linha mostra para o futuro.

Ele mostrará exatamente a mesma coisa que já está desenhada.
 
Integer писал (а):
Frankfurt:

Seria interessante observar o que a linha mostra para o futuro.

Ele mostrará exatamente o mesmo que já está desenhado.

No caso de um fft completo, ele repetirá o que já está desenhado,
e, no caso da transformação cosseno, espelhada de trás para frente a partir do final.


 

Curiosamente, o FFT baseado em co-seno tem um derivado igual a zero para a última barra, ou seja, ele mostrará que uma curva de preço (máx ou mín) ocorre na última barra, mesmo que de fato não exista tal curva. O FFT baseado no seno sempre mostrará a tendência em seu auge (o derivado tem valor máximo na última barra). Uma série Fourier baseada em coseno e seno é mais aceitável para a construção de uma média móvel.

Aqui está o código da média móvel baseado no código escrito por Klot, que usou o coseno FFT.

//+------------------------------------------------------------------+
//|                                                       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);
}
//+------------------------------------------------------------------+

 
Com hmax =2; haverá um simples MA, por um determinado período, não está bem claro por que um FFT completo é necessário?
 
ANG3110 писал (а):
Com hmax =2; haverá um simples MA, por um determinado período, não está bem claro porque precisamos de um FFT completo?

Não, eu também notei, o FFT completo é muito mais estável (menos redesenhado).
Em geral, acho que devemos usar o seguinte filtro
if(hmax>0) for(i=hmax;i<N;i++) data[i]=0,0;
para compor algum filtro inteligente. Precisamos dele para deixar seletivamente os harmônicos necessários, e zerar os desnecessários. Então, pode ter algum senso e estabilidade.

Além disso, a NeuroshellDayTrader usa cinco ou seis filtros diferentes no FFTadon, desculpe-me por não ter fórmulas, eu poderia mexer com eles.
E se você limitar as freqüências não apenas de cima, mas também de baixo, você pode selecionar uma certa faixa de oscilações. O indicador parece bonito, lembra um estocástico.
 
ANG3110 писал (а):
Com hmax =2; haverá um simples MA, por um determinado período, não está bem claro por que um FFT completo é necessário?

Francamente falando, eu não defendo a aplicação do FFT (completo ou co-seno) para a construção de médias móveis pela razão de que o FFT quebra as séries de preços por freqüências 2*pi*k*l/N, ou seja, as freqüências são conhecidas antecipadamente, embora as séries de preços possam ter harmônicas mais fortes em freqüências adjacentes diferentes de 2*pi*k*l/N. A idéia do FFT se baseia na adaptação de uma série trigonométrica a uma série real usando o método dos mínimos quadrados. Desta forma, qualquer função ortogonal (polinômios ortogonais, no caso mais simples) pode ser ajustada. A vantagem do FFT é que as amplitudes das funções trigonométricas são amostras da resposta de freqüência do processo com um passo constante de 2*pi/N. Usando FFT é possível rejeitar harmônicas de alta freqüência e assim construir uma média móvel. Mas tal filtragem é muito mais complicada do que a filtragem digital, como a média móvel simples ou o filtro FIR. Veja os meus indicadores de média móvel baseados no filtro FIR:

'FIR MA'.
AFIRMA".
 
klot писал (а):
ANG3110 escreveu (a):
Com hmax =2; haverá um simples MA, em um determinado período, não está bem claro, então por que se preocupar com um FFT completo?

Não, eu também notei que o FFT cheio é muito mais estável (menos redesenhado).
Em geral, acho que devemos usar o seguinte filtro
if(hmax>0) for(i=hmax;i<N;i++) data[i]=0,0;
para compor algum filtro inteligente. Precisamos dele para deixar seletivamente os harmônicos necessários, e zerar os desnecessários. Então, pode ter algum senso e estabilidade.

Além disso, o NeuroShellDayTrader usa cinco ou seis filtros diferentes no FFTadon, desculpe-me por não ter fórmulas, eu poderia mexer com eles.
E se você limitar as freqüências não apenas na parte superior, mas também na parte inferior, você pode selecionar uma certa faixa de oscilações. O indicador tem bom aspecto, lembra um estocástico.
O valor de Fourier é que, se estiver bem sintonizado, mostra bem os momentos em que os pontos de viragem são prováveis. Não é tão ruim que a trajetória de amplitude não coincida, pelo contrário, é boa, a velocidade de mudança de fase pode ser levada em conta. Aqui está um desenho feito há 2 dias usando o mínimo de RMS.
Isso mostra que as principais oscilações no tempo posteriormente, mais ou menos coincidiram.