Calcolo delle differenze, esempi. - pagina 12

 
Aleksey Panfilov:

Le idee sono benvenute.

Dato che non ci sono suggerimenti, andiamo con la strada battuta.

Aggiunto l'indicatore di base e la versione dell'Expert Advisor per MT 5.

Ottimizzazione su timeframe a 5 minuti.

I disegni sono in file Excel.

 

Usiamo ancora solo i segnali dell'indicatore.

Supponiamo il segnale principale su M5 e il perfezionamento dell'entrata su M1. Ottimizzato su M1 dai prezzi di apertura. Nella cartella di test, selezionato (non molto attentamente) variante, sia da "prezzi aperti" che da "tutti i tick". Non vedo differenze fondamentali. Test sull'intervallo due volte più grande dell'intervallo di ottimizzazione.


 
Aleksey Panfilov:

Per esempio, ecco un altro modo di usare gli incrementi di prezzo come nuova informazione. Qui, l'incremento viene letto esplicitamente come una differenza.

1*Y1-1*Y2-2*Y2+3*Y3-1*Y4 =0

1*Y1-1*Y2-3*Y2+6*Y3-4*Y4 + 1*Y5 =0

1*Y1-1*Y2-4*Y2+10*Y3-10*Y4 + 5*Y5 -1*Y6=0

1*Y1-1*Y2-5*Y2+15*Y3-20*Y4 + 15*Y5 -6*Y6 + 1*Y7=0

1*Y1-1*Y2-6*Y2+21*Y3-35*Y4 + 35*Y5 -21*Y6 + 7*Y7 -1*Y8=0

...

Puoi vedere che anche la linea (rossa) disegnata convenzionalmente dal polinomio della quinta potenza (basata sul numero di punti collegati) è diventata saldamente ancorata al grafico.


È come se a spese del polinomio di quarto grado sulle prime differenze (incrementi di prezzo) avessimo aumentato (per il numero di punti) il grado al quinto.

È questa la regolarizzazione?


Ho guardato le cifre, le ho confrontate con l'immagine di VIKI "Coefficiente Binomiale", risulta che sono le stesse:


Questi sono "coefficienti nell'espansione di (1+x)^n in una serie di potenza"

"Le righe di un triangolo di Pascal divise per 2^n (la somma di tutti i numeri della riga) tendono, nel limite, a una funzione di distribuzione normale".

Quando il topic è stato creato, si diceva che era interessato principalmente alla "matematica,...". Così ho scritto. Le relazioni matematiche del triangolo di Pascal in VIKI sono scritte in modo molto dettagliato, solo che non è chiaro cosa sia necessario.

 
Vladimir:

Guardato i numeri, li ha confrontati con l'immagine da VIKI "coefficiente Binomiale", risulta essere lo stesso:


È "coefficienti dell'espansione di (1+x)^n in una serie di potenze".

"Le righe di un triangolo di Pascal divise per 2^n (somma di tutti i numeri della riga) tendono a una funzione di distribuzione normale nel limite ".

Quando il topic è stato creato, si diceva che era interessato principalmente alla "matematica,...". Così ho scritto. Le relazioni matematiche del triangolo di Pascal in VIKI sono spiegate in modo molto più dettagliato, solo che non è chiaro quale sia necessario.

Se questa è una domanda, sembra molto retorica. ))

Rispondere a una tale domanda non è facile. Le proprietà del triangolo si manifestano in "argomenti" molto diversi.

Hai menzionato la statistica, ho già cercato di aggiornarmi dal punto di vista della cinematica (nei link allegati).

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Calcolo delle differenze, esempi.

Aleksey Panfilov, 2018.01.10 16:34


Sì.

Direttamente collegato al Binomio di Newton.

È vero per i punti equidistanti:

1*Y1-2*Y2+1*Y3=0- equazione della differenza della linea retta.

1*Y1-3*Y2+3*Y3-1*Y4=0 - l'equazione della differenza della parabola di secondo grado.

1*Y1-4*Y2+6*Y3-4*Y4+ 1*Y5=0 - equazione della differenza della parabola di terzo grado.

Si sovrappone anche agli argomenti:

https://www.mql5.com/ru/forum/61389/page48#comment_5633264

https://www.mql5.com/ru/forum/211220/page2#comment_5632736 .

Allego, a mio parere, un articolo interessante nella rivista "Kvant". E questo non è l'unico articolo di N.B. Vasiliev su questo argomento, e naturalmente non esaurisce l'intera gamma delle proprietà del triangolo di Pascal. (Lasciamo fuori dalle parentesi il fatto che Pascal non fu il primo a prestare attenzione a questo "modello").

P/S. Il nome dell'archivio è storto, si chiamava: Nikolay Vasiliev. Diario Quant.doc.zip

 
Aleksey Panfilov:

Se questa è una domanda, è molto retorica. ))

Rispondere a una tale domanda non è facile. Le proprietà di un triangolo si manifestano in "argomenti" molto diversi.

Hai menzionato la statistica, ho già cercato di aggiornarmi dal punto di vista della cinematica (nei link allegati).

Allego, a mio parere, un interessante articolo della rivista "Kvant". E questo non è l'unico articolo di N.B. Vasiliev sull'argomento, e naturalmente non esaurisce l'intera gamma di manifestazioni delle proprietà del triangolo di Pascal. (Lasciamo fuori dalle parentesi il fatto che Pascal non fu il primo a prestare attenzione a questo "modello").

P/S. Il nome dell'archivio è storto, si chiamava: Nikolay Vasiliev. Diario quantitativo.doc.zip

Grazie per la sua risposta dettagliata. Ho letto tutto il materiale aggiuntivo. La domanda in quanto tale non era, piuttosto una reazione al tuo suggerimento da un altro thread https://www.mql5.com/ru/forum/221552/page194#comment_6625488 :"È possibile utilizzare sia il secondo e n-differenza e EMA dal primo al quarto grado in questo modo? Sarebbe curioso fare uno schema generale dei processi in esempi simili".

Non è necessario andare alla generalità dello schema aumentando gradualmente il numero di differenze considerate di 1, si può andare direttamente a un numero molto grande di esse analizzando le proprietà del triangolo di Pascal. È stato in quel thread, per quanto ho capito, che è nata la necessità di stimare una "distribuzione di riferimento". Che sia per migliaia di incrementi, ma il "benchmark" è immediatamente postulato nelle proprietà dei vostri coefficienti dal triangolo di Pascal come aspiranti a una distribuzione normale. @Alexander_K2 stava cercando una distribuzione degli incrementi che fosse almeno in qualche modo vicina a una distribuzione di Poisson, e la stessa distribuzione di Poisson tende a essere normale all'aumentare dell'indice. Considerando che i tuoi coefficienti corrispondono alla sostituzione dell'espressione (1-x)^n con il suo analogo differenziale, allora... si può anche pensare a uno schema generale di "processi in esempi analoghi".

Tuttavia, questo sarebbe fuori dallo stesso thread, e il suo autore, credo, non è interessato alle risposte alle domande che lui stesso pone. Anche se personalmente sarei curioso di vedere lo schema generale menzionato da te.

 

P/S. A giudicare dagli ultimi grafici, dobbiamo controllare i tempi dell'ottimizzazione degli scambi.

 

Tutto sommato, il "pushback" sugli orari di apertura non è stato significativo.

Nuovo grafico.

Il grafico mostra la chiusura degli affari, e per gli affari che durano da 15 minuti a 15 ore (principalmente) è probabilmente possibile regolare l'apertura in base al tempo, ma non "direttamente". Non so come filtrare la chiusura.

Non so come filtrare la chiusura, non lo so ancora.

File:
2018_02_28.zip  441 kb
 

Aggiunta un'opzione per disabilitare il livello di filtraggio nell'ultimo EA.

E corretto l'imprecisione che costringeva a chiudere il trade e ad aprirne uno opposto su due tick / barre diverse (quando si ottimizza per punti di apertura), invece di uno.

  if(( line1_L0[0] > line2_L0[0] || L0_1_line_power ==0)  &&  (line1_L1[0] > line2_L1[0]  || L1_1_line_power ==0))
     {
      if(
           (
           (line1_L2[0] > line2_L2[0] || L2_1_line_power ==0) && ((New_Time[0]-3600*Start_Hour)%86400 < 3600*Period_Hour)
           )
            || Sell_opened
        )  
        {
         // есть ли в данный момент открытая позиция на покупку?
         if(Buy_opened)
           {
//            Alert("Уже есть позиция на покупку!!!");
            return;    // не добавлять к открытой позиции на покупку
           }        
         if(
             Sell_opened && ( line1_L0[0] > line2_L0[0] || L0_1_line_power ==0) &&  (line1_L1[0] > line2_L1[0]  || L1_1_line_power ==0)
              && (line1_L2[0] > line2_L2[0] || L2_1_line_power ==0) && ((New_Time[0]-3600*Start_Hour)%86400 < 3600*Period_Hour)
           )
            {      LotS = 2*Lot;      }        
            else   LotS = 1*Lot;

Se il filtraggio per livello deve essere disabilitato, il grado della prima linea nel livello deve essere uguale a 0. Se anche il grado della seconda linea è reso zero, allora suppongo che accelererà il calcolo, perché una delle condizioni dell'indicatore extra per ciclo non sarà soddisfatta.

Il filtraggio dell'orario di apertura viene annullato assegnando un periodo consentito superiore alle 24 ore.

//=====================================================================================
input int      Start_Hour=0;
input int      Period_Hour=25;

input int     EA_Magic       = 12345;    // Magic Number slippage 
input int     EA_Slippage    = 30;       // Slippage from the current price
//=====================================================================================
//--- глобальные переменные
File:
 

E naturalmente non si può lasciare nemmeno un EA tester senza TP e SL correttamente funzionanti.

   if((line1_L0[0] < line2_L0[0] || L0_1_line_power ==0) &&  (line1_L1[0] < line2_L1[0] || L1_1_line_power ==0) && relay >= 0 )
     {
        relay = -1;
     
      if(
          (
          (line1_L2[0] < line2_L2[0] || L2_1_line_power ==0) && ((New_Time[0]-3600*Start_Hour)%86400 < 3600*Period_Hour)
          )
           || Buy_opened  
        )
        {
         // есть ли в данный момент открытая позиция на продажу?
         if(Sell_opened )
           {
//            Alert("Уже есть позиция на продажу!!!");
            return;    // Ждем исполнения стоп приказа //не добавлять к открытой позиции на продажу
           }
         if(
             Buy_opened  && (line1_L0[0] < line2_L0[0] || L0_1_line_power ==0) &&  (line1_L1[0] < line2_L1[0] || L1_1_line_power ==0) 
             &&  (line1_L2[0] < line2_L2[0] || L2_1_line_power ==0) && ((New_Time[0]-3600*Start_Hour)%86400 < 3600*Period_Hour)  
           )
            {      LotS = 2*Lot;      }        
            else
                   LotS = 1*Lot;

P/S.

Mi spiego, TP e SL funzionavano anche prima, ma dopo la chiusura da parte loro, il segnale di apertura era solo il livello del periodo minimo, mentre il periodo medio e superiore condizionatamente filtrato dalla tendenza. La seconda opzione, con l'interruttore, assume il segnale principale sul periodo inferiore e medio, e il filtraggio della tendenza solo sul periodo superiore, che è più vicino all'idea originale.

PP/S.

Ho eseguito l'ottimizzazione TP e SL, sembra che la prima opzione sia stata più utile.

Motivazione: