Effetto bordo sulla strada per il GRAAL

 

Signori, buon pomeriggio.

Sto lavorando su un MTS inverso. Expert Advisor dà segnali di ACQUISTO e VENDITA e il sistema inverte le transazioni

a seconda di questi segnali.

SELL appare al massimo dell'indicatore, BUY al minimo. Questo indicatore è proprietario, basato su

su diversi cursori, che rappresenta il momentum delle variazioni di prezzo (simile all'RSI, ma non lo è).

L'indicatore stesso è rumoroso, quindi ho cercato di usare filtri passa-basso e wavelets per lo smoothing.

La lisciatura tramite wavelets è risultata la più riuscita, ma l'effetto bordo (distorsione nei punti estremi) rovina tutto.

Ho fatto un esperimento: approssimazione di un indicatore tramite wavelets dal 2000 al 2008 su EURUSD su un timeframe di un minuto.

Il sistema dà in media 2000-4000 punti al mese senza alcun MM o altri additivi. Puramente consulente.

Il grafico della crescita dell'equilibrio è liscio e quasi dritto.

Naturalmente non c'è nulla di cui rallegrarsi, perché nel vero trading online l'effetto bordo dà solo minus.

Domanda: qualcuno ha provato altri metodi per approssimare le funzioni o trovare gli estremi?

O è un caso inutile?

O è ancora possibile trovare qualcosa?

 
Il caso non ha successo ed è una conseguenza dell'impossibilità principale di guardare al futuro. Pertanto, l'effetto marginale è in linea di principio indipendente dal metodo di lisciatura, ma può essere ridotto a un minimo teorico, che, tuttavia, non dà un vantaggio commerciale significativo.
 
Desperado писал(а) >>

Domanda: qualcuno ha provato altri metodi per approssimare le funzioni o trovare gli estremi?

O è una causa persa?

O è possibile inventarsi qualcosa?

Recentemente stavo raccogliendo statistiche per un indicatore - a quali valori la probabilità di aumento (diminuzione) del prezzo è più alta. La curva si è rivelata irregolare. Ho inventato per appianare le cose. Sembra che la cosa sia stata risolta. Il metodo è semplice: prendo 3 valori considerati a, b, c. Calcola la media dei valori estremi (a+c)/2. Se è maggiore del valore medio b, aggiungiamo la loro mezza differenza al valore medio (cioè aumentiamo b = b + ((a+c)/2 - b)/2), e diminuiamo i valori estremi (a = a - ((a+c)/2 - b)/4, c = c - ((a+c)/2 - b)/4). Si appiana il grafico, ma si perdono i picchi (ma questo è esattamente ciò che volevo).

   double raznicha; // Наша разница значений через исследуемое

   for (j = 2; j <= step-1; j++)    // Пробегаемся по числу отрезков индикатора от 1 до последнего, т.е. [a - step; a = max]
   {
      raznicha = LOG_norm_Bay[j] - (LOG_norm_Bay[j-1] + LOG_norm_Bay[j+1])/2;
      LOG_norm_Bay[j]  =(LOG_norm_Bay[j-1] + LOG_norm_Bay[j+1])/2;  // Среднее значение есть среднее из крайних
      LOG_norm_Bay[j-1]= LOG_norm_Bay[j-1] + raznicha/2;
      LOG_norm_Bay[j+1]= LOG_norm_Bay[j+1] + raznicha/2;
   }
 
Neutron писал(а) >>
Il caso non ha successo ed è una conseguenza della fondamentale impossibilità di guardare al futuro. Ecco perché l'effetto bordo non può essere eliminato in linea di principio indipendentemente da un metodo di lisciatura, ma può essere ridotto al minimo teorico che, tuttavia, non dà alcun vantaggio commerciale significativo.

Questo è comprensibile, ma c'è la possibilità di ridurre l'errore, o di prevedere il prossimo risultato dell'indicatore e smussare il segnale originale con la parte prevista. Davvero, non l'ho provato.

1) Ho cercato di diminuirlo. Ho trovato una certa regolarità che l'errore è sempre dello stesso segno dell'indicatore iniziale e uniformemente

diminuisce dal valore massimo all'ultima uscita a quello minimo all'uscita i-10. Ma come trovare questo valore, non l'ho trovato.

2) Ho anche provato a variare la lunghezza della trasformazione. La stessa trasformazione wavelet dipende dalla lunghezza del vettore di input.

In questo caso, possiamo trovare la trasformazione più vicina al vettore corrente usando il metodo della distanza vettoriale.

Ma una wavelet spesso cambia la sua direzione nei punti estremi e il trading basato su di essa non ha molto successo.

 

A proposito, qualcuno ha usato solo un segnale di Close centrato come indicatore?

La distribuzione è gaussiana e c'è poca correlazione.

 
infinum13 писал(а) >>

Recentemente, stavo raccogliendo statistiche per un indicatore - a quali valori la probabilità di aumento (diminuzione) del prezzo è più alta. La curva si è rivelata un po' nervosa. Ho pensato di appianare le cose. Sembra che la cosa sia stata risolta. Il metodo è semplice: prendo 3 valori considerati a, b, c. Calcola la media dei valori estremi (a+c)/2. Se è maggiore del valore medio b, aggiungiamo la loro mezza differenza al valore medio (cioè aumentiamo b = b + ((a+c)/2 - b)/2), e diminuiamo i valori estremi (a = a - ((a+c)/2 - b)/4, c = c - ((a+c)/2 - b)/4). Rende la trama più scorrevole, ma elimina i salti evidenti (ma è esattamente quello che volevo).

Lo smoothing risulterà ancora una curva spezzata, non una curva liscia.

Ma non è una cattiva idea, farò un tentativo.

 
Desperado писал(а) >>

Lo smoothing sarà ancora una linea spezzata, non una curva liscia.

Ma non è una cattiva idea, dovrò fare una prova.

Basta farlo più volte :))

 
infinum13 писал(а) >>

Basta farlo più volte :))

Poi lag :)

 
Desperado писал(а) >>

Poi lag :)

Altrimenti non funziona :((. Mi dispiace. Qualsiasi lisciatura porterà ad un ritardo. Fate voi i conti. In questo momento hai, anche se non esplicitamente, un adattamento alla storia. Con qualsiasi normalizzazione, gli alti e i bassi si stabilizzeranno. E poi sarà più preciso, ma non più nel +. Forse, invece di aumentare e diminuire il segnale dovremmo definire il livello oltre il quale l'indicatore andrà oltre. (Sono anche preoccupato per gli spread, sono solo 2 punti, altrimenti sarei a Sochi. Ma la diminuzione del "mio" smoothing porta ai segnali di 1barile, mentre l'aumento porta al ritardo).

 
infinum13 писал(а) >>

Altrimenti non funziona:((. Mi dispiace. Qualsiasi lisciatura porterà ad un ritardo. Fate voi i conti. In questo momento, hai un adattamento implicito, ma non esplicito, alla storia. Con qualsiasi normalizzazione, gli alti e i bassi si stabilizzeranno. E poi sarà più preciso, ma non più nel +. Forse, invece di aumentare e diminuire il segnale dovremmo usare il livello oltre il quale l'indicatore va oltre. (Sono anche preoccupato per gli spread, sono solo 2 punti, altrimenti sarei a Sochi. Ma diminuire il "mio" smoothing porta a segnali di 1bp, mentre aumentare - lag).

Attraversare i livelli non dà un risultato molto attraente. Questo ha attraversato anche la mia mente.

Nell'indicatore la distribuzione dei massimi e dei minimi obbedisce a una legge gaussiana, solo con MO diversi.

I massimi hanno circa 0,3, i minimi -0,3.

Più la barra è alta, più i segnali sono affidabili e meno sono numerosi.

E non è interessante guadagnare 200 punti al mese :)

Sì, purtroppo ci sono distorsioni o ritardi.

 
Desperado писал(а) >>

E guadagnare 200 pips al mese non è interessante :)

Se è 200 +/-500, allora non è interessante. Se è 200 +/-10, allora sarai presto come Soros.

Motivazione: