
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ecco i primi risultati:
- Ho preso i migliori risultati del 401 e ho eseguito il test in MT4 con gli stessi parametri



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



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



Conclusioni: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.
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
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.
- È 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.
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: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.
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.
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.
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.
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.
... cos'è un cavallo nel vuoto sferico e perché è stato messo lì?
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. :)
"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...