Prevedere il futuro con le trasformate di Fourier - pagina 8

 

Non è quello che intendevo. Come hai costruito l'immagine? Hai appena dato da mangiare a ZZ invece che a Close?

Se hai abbozzato qualcosa di separato, per favore mettilo qui. Sperimenterò.

"Il prezzo del PS è salito a 1,6018 oggi, proprio al livello previsto".
Esattamente. Ma questa è la previsione. E la previsione si sta avverando. Ad un certo intervallo. Ma "non c'era nessuna promessa di nutrirsi sulla strada" :)

E guardo ZZ solo per le fermate.

 

m_keeper

In realtà quella curvatura è stata abbastanza ben visibile dall'altro ieri.

Ma con me, non è l'estremo Close che collega la linea di mezzo, è la deviazione dalla regressione che la costruisce.

Uso anche altri metodi, ma la regressione lineare è fondamentale per le distanze più brevi.



      af_LR(T,i0);

      for (n=0; n<T; n++) 
      {
        dcn=Close[n+i0]-b-a*n;
        sum_cos+=dcn*MathCos(k*n*w); 
        sum_sin+=dcn*MathSin(k*n*w);
      }
     
void af_LR(int p,int i)
{ 
   double sx=0,sy=0,sxy=0,sxx=0;
    if (p<2) p=2;
               
   for (int n=0; n<p; n++) 
   {
      sx+=n; 
      sy+=Close[n+i]; 
      sxy+=n*Close[n+i]; 
      sxx+=n*n; 
   }   
   a=(sx*sy-p*sxy)/(sx*sx-p*sxx);
   b=(sy-aa*sx)/p;
}

Per le distanze più lunghe, metto sotto una funzione speciale di centraggio:

 

Scusate, probabilmente off topic, ma ho un EA a medio termine abbastanza affidabile che vende oira da 1,5954 con stop a 1,6165, target (di solito qualche cifra) aperto. L'ora è 14.00 MSK. Chiudere la posa/inversione per segnale inverso, a strascico.

ZS A proposito, l'euro yen è stato venduto l'altro ieri.


Vediamo :)


Completando man mano che vado:

=========================================

23/04 17.30 MSK: 80p di profitto su EURUSD, stop a 1.6075 anche EURJPY è in profitto 85p.

24/04 09.00 MSC: 100p di profitto su EURUSD, stop a 1.6033 EURJPY profitto 80p

24/04 13.00 MSC: EURUSD 240p Profitto, stop a 1.5921, EURJPY 125p Profitto

24/04 19.00 MSC: 300p di profitto su EURUSD, stop a 1,5858, 155p di profitto su EURJPY

24/04 22.00 fuso orario di Mosca: EURUSD 298p di profitto, posizione chiusa dal consulente dall'inversione del mercato, EURJPY a mercato

 

Il mio setup è quello di cercare la ripetizione di più periodi di fila (ne uso sempre 2), quindi non ho guardato realmente i periodi brevi.

Inoltre, il PeriodStep è stato impostato alto e le alte frequenze non sono state considerate.

Ecco la previsione.


Ma se si aggiungono le alte frequenze


C'è un po' di declino, ma passerà sulla strada del vero declino, ma non mostrerà nemmeno un forte aumento.


Quando si opera con un numero diverso di periodi, le ampiezze non corrispondono,

Sembra un bug nell'algoritmo, penso di sapere anche dove.


Lo sistemerò più tardi, ora preparo i dati di input

 

Ecco un paio di indicatori


Uno conta le barre EquiVolume su barre più piccole

Il secondo ha il volume cambiato in


return((iHigh(NULL,SubPeriod,shift)-iLow(NULL,SubPeriod,shift)+MathAbs(iOpen(NULL,SubPeriod,shift)-iClose(NULL,SubPeriod,shift)))*ObrPoint);

i grafici sembrano migliori, vediamo cosa fa

 

"c'è una diminuzione, ma passerà quando si avvicina a una vera diminuzione, ma non mostrerà nemmeno un forte aumento
Quando si lavora con un numero diverso di periodi le ampiezze non coincidono molto".


O forse dovremmo in qualche modo mettere in relazione il numero di barre di previsione con le frequenze utilizzate?

 
vaa20003:

"c'è un calo, ma passerà sulla strada del vero calo, ma non mostrerà nemmeno un aumento significativo.
Quando si lavora con un numero diverso di periodi le ampiezze non coincidono molto".


Non dovremmo in qualche modo correlare il numero di barre di previsione con le frequenze utilizzate?

Ora sto testando l'algoritmo, alimentando un'onda sinusoidale all'ingresso, cercando di ottenerla all'uscita

Mentre l'ho diffuso e raffinato, ho raccolto alcuni bug.

la frequenza non viene trovata con precisione, l'ampiezza viene contata in modo errato,

Quando si impostano le frequenze manualmente, la frequenza più alta viene ripetutamente persa.


è troppo presto per trarre conclusioni su cosa dovrebbe essere collegato a cosa.


fino a quando l'output è quello che dovrebbe essere non si andrà avanti

 
m_keeper:

Ecco un paio di indicatori


Uno conta le barre EquiVolume su barre più piccole

Il secondo ha il volume cambiato in


i grafici sembrano migliori, vediamo cosa fa

Non credo che farà molto. Per linearizzare il trend almeno in una certa misura, possiamo provare a calcolare gli incrementi medi di prezzo per un periodo abbastanza lungo, cioè la lunghezza del percorso del prezzo nel tempo, e trovare l'incremento medio di prezzo per barra: sum+=MathAbs(Close[i]-Close[i+1]); dcs=sum/T; La scala temporale viene ricalcolata in punti. E poi gli incrementi specifici vengono ricalcolati in incrementi relativi. Questo viene utilizzato per costruire una funzione di Fourier e poi viene ricalcolato di nuovo alla scala del grafico tradizionale. Cioè, il mercato sta accelerando o decelerando. Di conseguenza, i semiperiodi delle sinusoidi non sono uguali in durata.

Con il metodo che ho descritto, possiamo provare a calcolare la velocità media e ricalcolare gli incrementi, e allora dove stava rallentando, sembrerà accelerare; e dove stava accelerando, sembrerà rallentare. E in prima approssimazione, si bilancerebbe.

Ma naturalmente questo è molto approssimativo.

 
ANG3110:
m_keeper:

Ecco un paio di indicatori


Uno conta le barre EquiVolume su barre più piccole

Il secondo ha il volume cambiato in


i grafici sembrano migliori, vediamo cosa fa

Non credo che farà molto. Per linearizzare il trend almeno in una certa misura, possiamo provare a calcolare gli incrementi medi di prezzo per un periodo abbastanza lungo, cioè la lunghezza del percorso del prezzo nel tempo, e trovare gli incrementi medi di prezzo per barra: sum+=MathAbs(Close[i]-Close[i+1]); dcs=sum/T; e poi convertire gli incrementi specifici in quelli relativi. Questo viene utilizzato per costruire una funzione di Fourier e poi viene ricalcolato di nuovo nella scala del grafico tradizionale. Significa che il mercato sta accelerando o decelerando. Di conseguenza, i semiperiodi delle sinusoidi non sono uguali in durata.

Con il metodo che ho descritto, possiamo provare a calcolare la velocità media e ricalcolare gli incrementi, e allora dove stava rallentando, sembrerà accelerare; e dove stava accelerando, sembrerà rallentare. E in prima approssimazione, si bilancerebbe.

Ma naturalmente questo è molto approssimativo.

Per qualche ragione, lo penso anch'io. Ma questo è puramente dall'osservazione di diversi indicatori, in modo operaio-contadino. Se un indicatore è avanti, poi dietro, poi in linea con il prezzo... è difficile fidarsi di lui :)

 

a ANG3110

Tezka, potresti bussare all'ICQ (339661094), se non è difficile. I pensieri vagano nella mia testa, ma la sensazione di averla già superata.

E non voglio sporcare il thread.