Calcolo del lotto da parte di Vince - pagina 5

 
MaxZ:
O ho sbagliato di nuovo, o i risultati dell'esecuzione dell'EA nel tester per la prima e la seconda volta sono identici. L'unico "ma": la seconda volta, l'Expert Advisor calcola ancora il parametro ottimale f...


Proprio così - questo parametro è usato per calcolare il volume del lotto nell'offerta in seguito. Il metodo è la media geometrica. Vedi pagina 31 del libro. 31 del libro ed eseguirlo in qualsiasi tavola e cercare di calcolarlo.

Io stesso ora sto seguendo il tuo consiglio dalla prima pagina e suddividere il prodotto fino alle radici, in modo da evitare il riempimento eccessivo.

 

Allora perché ripetere il test? Se possiamo trovare il trade più non redditizio nella funzione deinit(), anche il numero di trade, invece di inserire questi parametri manualmente? Cioè, calcolare la f ottimale dopo il primo test.

O il tester non permette di farlo?

 
MaxZ:

Allora perché ripetere il test? Se possiamo trovare il trade più non redditizio nella funzione deinit(), anche il numero di trade, invece di inserire questi parametri manualmente? Cioè, calcolare il f ottimale dopo il primo test.

O il tester non vi permette di farlo?


Teoricamente permette, ma ... Può essere implementato in diversi modi. Ma sarebbe un puro adattamento. Bisogna calcolare senza conoscere il futuro
 
Vinin:

Teoricamente permette, ma ... Ci sono diversi modi per implementarlo. Ma sarebbe una misura pura. Abbiamo bisogno di un calcolo senza conoscere il futuro.


Il punto è che si tratta di R.Vince - vedi i post del trailer sopra i pp. 31-32. Non c'è modo di aggirarlo - basta prendere un campione rappresentativo per ogni caso e basta, e poi arrivare a un valore arrotondato della perdita massima verso l'alto, nemmeno arrotondato, ma aumentato di un fattore di 1,5 e basta... Qui va tutto bene. Offerte - anche sotto i 500 e basta... Posso già calcolare la f ottimale con le tolleranze necessarie a destra e a sinistra.

La domanda è diversa: come evitare l'overflow della variabile TWR?


 
Roman.:


Il punto è che questo è R. Vince - vedi i post di rimorchio sopra i pp. 31-32. Non c'è modo di aggirarlo - basta prendere un campione rappresentativo per ogni caso, e poi ballare da lì, e arrotondare i valori della perdita massima, nemmeno arrotondando, ma aumentandolo di 1,5 volte e basta... Qui tutto è normale.

La domanda è un'altra: come si evita di sovrarappresentare la variabile TWR?



Limitare la profondità dei calcoli
 
Vinin:

Limitare la profondità dei calcoli

Come?
 
Roman.:

Com'è?

Intendo solo il numero di trade analizzati. Reale o virtuale.
 

Qualcosa ha cominciato ad emergere - poiché i valori assoluti delle variabili non sono importanti, ma solo il loro confronto su più, meno ad un certo valore di f, hoaggiunto la radice di terzo grado di TWRsu raccomandazione di MaxZ: la prima pagina, in questo blocco - funziona bene, senza overflow:

for (f = 0.01; f<=1.0; f=f+0.01)//цикл перебора переменной f для поиска оптимального ее значения,при котором TWR-максимально
     {  
          
          for ( orderIndex = 1;orderIndex<Qnt; orderIndex++) //при заданной f проходим по всем закрытым ордерам
            {                                                // и считаем относительный конечный капитал (TWR)
             TWR = MathPow(TWR*(1+f*(-Mas_Outcome_of_transactions[orderIndex]/(D))),0.33); // TWR - это произведение всех HPR                    
            }
          if (TWR>TWR_Rez) {
              TWR_Rez = TWR;
              G=MathPow (TWR_Rez, 0.001988); // 1/503 сделки по данной торговой системе, как в книжке: в степени 1/N 
              Print(" TWR = ",TWR_Rez," G = ",G, " при f = ", f);} // если текущий TWR > результирующего, 
              else break;    // то результирующий делаем равным текущему, иначе переходим на след итерацию цикла по f                                  
      }      
             
   Print("Закрытых позиций = ", Qnt, " Нетто Профит/лосс = ", SUMM, " У последней ",Qnt, " закрытой позы профит/лосс = ", 
        Mas_Outcome_of_transactions[Qnt]);     
  

Nel registro:

 
Vinin:

Sto parlando solo del numero di scambi analizzati. Reale o virtuale


Faccio tutti i calcoli nel tester usando i prezzi di apertura, i trade dal 2002 ad oggi 2011 - 503, i trade con la perdita più alta = -628.

I risultati sono qui sopra. Ora sto testando su altre varianti di Expert Advisor.

Ecco il testo dell'approccio alla soluzione di questo problema dal codice sorgente - p. 31.

Abbiamo visto che il miglior sistema di trading è quello con la media geometrica più alta. Per calcolare la media geometrica dobbiamo conoscere f. Quindi, descriviamo le nostre azioni passo dopo passo.

1. Prendete la storia delle transazioni nel sistema di mercato dato.

2. Trovate l'f ottimale guardando diversi valori di f da 0 a 1. L'f ottimale corrisponde al valore più alto di TWR.

3. Una volta trovato f, prendete la radice di grado N TWR (N è il numero totale di scambi). Questa è la vostra media geometrica per questo sistema di mercato. Ora puoi usare la media geometrica ottenuta per confrontare questo sistema con altri. Il valore f vi dirà quanti contratti scambiare in questo sistema di mercato. Una volta trovato f, può essere convertito nell'equivalente in denaro dividendo la perdita maggiore per l'optimum negativo/. Per esempio, se la perdita maggiore è pari a 100 dollari, e f ottimale = 0,25, allora -100 dollari / -0,25 = 400 dollari. In altre parole, dovresti scommettere 1 unità per ogni 400 dollari di conto. Per semplicità potete calcolare tutto su base unitaria (per esempio un chip da 5 dollari o un contratto futures, o 100 azioni). Il numero di dollari da assegnare ad ogni unità può essere calcolato dividendo la vostra perdita maggiore per il f ottimale negativo. Ilf ottimale è il risultato del bilanciamento tra la redditività del sistema (basata su 1 unità) e il suo rischio (basato su 1 unità). Molte persone pensano che la frazione fissa ottimale sia la percentuale del conto che viene assegnata a

 
Roman.:

Qualcosa ha cominciato ad emergere - poiché i valori assoluti delle variabili non sono importanti, ma solo il loro confronto su più, meno ad un certo valore di f, hoaggiunto la radice di terzo grado di TWRsu raccomandazione di MaxZ: la prima pagina, in questo blocco - funziona bene, senza overflow:

Nel registro:

Non è esattamente il tipo di raccomandazione che stavo facendo. Questo è più il tuo approccio. L'importante è che sia anche quella giusta.