75.000 opzioni - 4GB di RAM e 4GB di cache del disco non sono sufficienti??? - pagina 7

 
Ho fatto dei test su un IBM dall'inizio del 1970 all'inizio del 2000, la storia è corretta e normalizzata per tenere conto delle suddivisioni multiple. Il file zippato della cronologia dei simboli in formato HST è allegato, puoi importarlo nel terminale tramite History Center (F2) - > Import.

Ecco i primi risultati:
  • Ho preso i migliori risultati del 401 e ho eseguito il test in MT4 con gli stessi parametri





    Quello che ho ottenuto (rapporti completi nell'allegato StrategyTester_Mak. zip):



    Ci sono serie differenze nei trade - questo è un argomento separato. Ma il profitto netto $1664 in MT4 è più o meno simile al profitto netto $1884 in Omega.

  • Ho poi lanciato l'enumerazione dei parametri con la genetica in MT4 e ho ottenuto i seguenti risultati:



    Ecco l'elenco dei risultati (rapporto archiviato in OptimizationReport.zip):



    MT4 ha ri-computato in 3 min 34 sec, recuperando 15.616 varianti su 35 miliardi possibili:



    Devo chiarire che su 15616 varianti c'erano 9291 sequenze ripetute (incrociando si possono ottenere ripetizioni) e delle restanti 6325, 1027 passaggi sono stati scartati come inutili. Le sequenze ripetitive non occupano risorse e non richiedono ricalcoli, poiché sono prese dalla cache temporanea. Voci di registro finali:

    2006.10.16 23:40:12 Ci sono stati 6325 passaggi fatti durante l'ottimizzazione, 1027 risultati sono stati scartati come insignificanti
    2006.10.16 23:40:12 MACD Sample: ottimizzazione fermata, 9291 record della cache sono stati usati, 9291 record della cache respinti


  • perché mt4 ha tirato un profitto di 3600 e TSGO è la metà di 1800?

    Penso che sia una conseguenza diretta dell'approccio super economico all'ottimizzazione in TSGO, dove l'enfasi è sulla riduzione dei passaggi. È molto semplice - TSGO ha fatto 1000 passaggi, mentre MT4 ne ha fatti 6000 netti (9000 su 15000 erano ripetitivi e sono stati mancati). Inoltre, sono molto interessato al rapporto di TSGO - parametro MATrendPeriod ottimizzato, dove questo parametro è fissato a 100 (qualche volta scivola a 97, ma non è niente di grave). Possiamo vedere come l'ottimizzatore genetico ha colpito un estremo locale e un fallimento banale per uscirne. Questa è una situazione abituale nell'enumerazione genetica e una conseguenza diretta del sovraccarico dell'area di ricerca.



    MT4 è stato in quelle regioni dove risiedono tali valori? Sì, sono stato molte volte e non ci ho trovato niente di speciale:



    A parte i risultati matematici e i rapporti, si vuole sempre vedere con i propri occhi il quadro della distribuzione dei migliori risultati. MetaTrader lo mostra facilmente nella modalità di visualizzazione "Superficie bidimensionale" dove è possibile selezionare qualsiasi parametro da ottimizzare lungo gli assi. Per esempio, possiamo vedere qui che il valore di MATrendPeriod nell'area di 100 è chiaramente peggiore dei valori di 12-14.



Conclusioni:
  • È necessario pensare agli estremi locali e non fare ricerche troppo approssimative. Soprattutto quando si fornisce lo strumento a utenti inesperti che non possono capire i processi nei dettagli e potrebbero prendere i risultati del tester genetico al valore nominale.

  • Sullo sfondo della ripartizione mostrata in extremum locali a 1000 passaggi, l'idea di 100-200 corse di valutazione non può in alcun modo essere presa sul serio.

  • Quando stavamo scegliendo un meccanismo di overshooting sufficiente per la nostra genetica, abbiamo fatto qualche ricerca e ci siamo stabiliti su questa semplice formula: facciamo sempre 30 esecuzioni complete della popolazione, e poi per le successive 10 esecuzioni complete della popolazione aspettiamo fino a quando l'incremento della funzione obiettivo è garantito per decadere. Cioè, se la popolazione iniziale è 256, allora il primo stadio è 256 * 30 = 7680 esecuzioni, poi almeno altri 256 * 10 = 2560 affinamenti e poi ancora prima della dissolvenza. Questo meccanismo ridondante ci permette di uscire dagli estremi locali nella maggior parte dei casi.

Forse stiamo esagerando un po' più del necessario, ma per gli utenti normali questo è più o meno un modo garantito di lavorare.

Grazie a Yury (Mak) per aver sollevato l'argomento - è molto interessante discuterne + abbiamo corretto i nostri errori.
Per favore, commentate.
 
Renat, non ho trovato i parametri della tua migliore opzione.
Portateli su e controllerò in Omega quali risultati si ottengono lì.
Ho il sospetto che ci sia una grande differenza in ciò che si ottiene quando si fanno i test nelle due piattaforme.
Nel frattempo farò un test in Omega per molto più di 1000 corse.
 

Scusa, non ho specificato i parametri. Eccoli qui:

TakeProfit=819; Lots=0.6; TrailingStop=248; MACDOpenLevel=8; MACDCloseLevel=8; MATrendPeriod=12;

I parametri possono essere visti nel tooltip accanto al numero di passaggio nel rapporto del tester:

 
Renat, stai saltando di nuovo alle conclusioni.

Ha fatto 7000 corse in TSGO.
L'immagine qui sotto.

Notate i numeri delle corse che sono in cima alla popolazione.
La migliore per 7000 corse è stata la corsa numero 618 (cioè dopo 700 corse non c'è stato alcun miglioramento)




Ho eseguito i tuoi parametri migliori trovati in Omega.
È venuto fuori così :((



Apparentemente c'è una differenza significativa nelle prestazioni dei sistemi o dei tester o nei dati.
Forse non ho trasferito correttamente il sistema su Omega ...
Non si può trasferire uno a uno qui, Omega funziona in modo diverso.

Ma in ogni caso, le tue conclusioni sono che
che TSGO non ha trovato una soluzione due volte migliore e si è bloccato nell'alto locale è sbagliato.
TSGO e non poteva trovare un tale sistema perché non è redditizio nel mio test con Omega.
 
Sì, ho notato che avete posizioni che si aprono dove non dovrebbero. Controlla manualmente i primi cinque scambi - te ne accorgerai subito.
Ho preso IBM da yahoo, ho dovuto dividere le azioni 4 o 5 volte per ottenere i dati normalizzati.

A quanto pare bisogna ricominciare da capo.
 
Renat:
Sì, ho notato che avete posizioni che si aprono dove non dovrebbero. Controlla manualmente i primi cinque scambi - te ne accorgerai subito.
Ho preso IBM da yahoo, ho dovuto dividere le azioni 4 o 5 volte per ottenere i dati normalizzati.

A quanto pare bisogna ricominciare da capo.
Mi sembra che la mancata corrispondenza dei risultati non sia fondamentale.
Tester diversi e sistemi generalmente diversi...

Qualsiasi algoritmo genetico è una ricerca casuale.
La genetica differisce dalla semplice ricerca casuale in quanto
che la funzione di distribuzione dei parametri è uniforme in una semplice ricerca casuale
nella genetica non è uniforme e varia man mano che si cerca.

Questo aumenta notevolmente la velocità di ricerca nella genetica rispetto ad una semplice ricerca casuale.
In questo senso tutti gli ottimizzatori genetici sono uguali.
 
Ciao, cari amici!

Mi scuso per l'off-topic, ma i termini incomprensibili mi danno un forte sbadiglio e un mal di testa. Potresti, Renat, spiegare in poche parole cos'è un cavallo nel vuoto sferico e a cosa serve?

L'argomento è molto interessante per me, perché io stesso ho recentemente iniziato a usare GO per ottimizzare il mio Expert Advisor e voglio capire i limiti dell'applicazione GO. Solo che non ho esattamente MACD, ma due muwings basati su Zero Lag MA e con due isteresi ("backlashes" secondo l'articolo "Genetic Algorithms in MetaTrader 4. Confronto con l'overshoot diretto dell'ottimizzatore") all'entrata e all'uscita da una posizione. Non sono molto soddisfatto dei risultati finora, ma ho qualche speranza. Penso che presto aggiungerò nuovi filtri al mio Expert Advisor. Beh, per ora mi piace l'ottimizzatore.
 
Mathemat:

... cos'è un cavallo nel vuoto sferico e perché è stato messo lì?

Beh, in realtà Renat ha esagerato un po' qui. Naturalmente, un cavallo o un cavallo non è così semplice. Per quanto riguarda il vuoto sferico, tutto è semplice - una sfera di diametro sufficientemente grande (e di forza sufficiente), un cavallo è posto lì e l'aria viene pompata fuori. Il vuoto all'interno della sfera assume una forma sferica - da qui il termine vuoto sferico. Naturalmente, è necessario prendere in considerazione l'errore di misurazione, perché il vuoto non risulta realmente essere assoluto e la sfera non è perfettamente sferico-liscia, ma in linea di principio, l'errore non influisce molto sui risultati della misurazione.
Sì, non dobbiamo dimenticare che il cavallo/cavallo muore naturalmente come risultato dell'esperimento. Ahimè, niente è perfetto in questo mondo. :)

P.S. Beh, il cavallo è naturalmente piantato per il bene dell'esperimento. Lo scopo dell'esperimento non viene rivelato, per così dire, il know-how. :)
 
Strano, l'ho pensato come un cavallo sferico nel vuoto. Voglio dire, è rotondo così com'è, ma nel vuoto non è affatto realistico vedere dove si trova :)
 

"Un cavallo sferico nel vuoto" è un idioma che ha avuto origine sulla rete FIDO negli anni '90. Denota le sfuggenti condizioni ideali di un esperimento o di un'operazione.

C'era un vecchio aneddoto su un fisico incaricato di sviluppare un modello di corse di cavalli in modo da poter prevedere la vittoria di questo o quel cavallo.

Sapevi che...

  • Un cavallo sferico ha un corpo assolutamente nero.
  • Un cavallo sferico respira un gas perfetto.
  • Il rombo di un cavallo sferico è una singola armonica e si propaga senza dissipazione.
  • Un cavallo sferico pascola su campi omogenei.
  • Quando un cavallo sferico galoppa, la sua traiettoria è descritta da una cicloide.
  • Gli zoccoli di un cavallo sferico si scontrano con una superficie piana orizzontale in modo assolutamente elastico.
  • Il cavallo sferico con probabilità uno uscirà dalla fossa potenziale in un tempo finito.
  • Per salire su un cavallo sferico a cavallo, bisogna trovare il punto di sella. La resistenza del cavallo in questo caso è trascurabile.
  • Visto da un podio infinitamente lontano, il cavallo sferico appare come un punto materiale.
  • Il problema di pettinare il pelo di un cavallo sferico è irrisolvibile.
  • Un cavallo sferico si muove nel vuoto in modo uniforme e rettilineo.
  • Il cavallo sferico non ha bisogno di un cavallo sferico perché esiste nello spazio speculativo all'infinito.
  • La proiezione di un cavallo sferico unitario sullo spazio n-dimensionale è descritta dall'equazione r2 = 1.
  • Cavalli - La forza esercitata da un cavallo sferico con un diametro di 1 metro e una massa di 1 kg.