I vostri simboli e i vostri flussi di dati in Metatrader 5 - pagina 7

 

In genetica, naturalmente, queste aree sono anche visibili, se dovessi sforare, amplierei ancora i parametri di analisi lì, in genetica mancherei questo punto con un 80% di probabilità

E c'è un bordo a sinistra che deve essere indagato, che la genetica non mostra


 
IvanIvanov:

Nella genetica queste aree sono ovviamente anche notevoli, ma amplierei ancora i parametri di analisi lì, nella genetica mancherei questo punto con una probabilità dell'80%.

L'algoritmo genetico nel test dei sistemi di trading non è un punto di arrivo, ma un metodo per trovare le direzioni per una ricerca più dettagliata.

L'algoritmo è di solito il seguente:

  1. Vengono fatte 1-5 corse sporche di genetica, in modo che attraverso la randomizzazione (trattando il potenziale scivolamento negli estremi locali) si cerca rapidamente di trovare gruppi di valori interessanti
  2. Poi viene una più frequente ricerca a pettine a passaggio completo nella zona dei cluster trovati
  3. N approcci sono fatti, i dati sono raccolti e analizzati
  4. Sono state tratte delle conclusioni.

Se qualcuno pensa che un ottimizzatore genetico o qualsiasi altra favola debba dare immediatamente risultati chiari, significa che non capisce affatto il processo.

 

In incrementi di 0,01

 
Renat:

L'algoritmo genetico nel test dei sistemi di trading non è un punto di arrivo, ma un metodo per cercare le direzioni per una ricerca più dettagliata.

L'algoritmo di funzionamento è solitamente il seguente:

  1. Vengono fatte 1-5 corse sporche di genetica, in modo che attraverso la randomizzazione (combattendo il potenziale scivolamento verso gli estremi locali) si cerca rapidamente di trovare gruppi di valori interessanti
  2. Poi viene una più frequente ricerca a pettine a passaggio completo nella zona dei cluster trovati
  3. N approcci sono fatti, i dati sono raccolti e analizzati.
  4. Si traggono conclusioni

Se qualcuno pensa che un ottimizzatore genetico o qualsiasi altra favola debba darci risultati puliti immediatamente, significa che non capisce affatto il processo.

Ok, d'accordo, convinto, userò come consigliate :-) Io, con il vostro aiuto, ho capito, la genetica permette di scegliere le aree più promettenti in una gamma gigantesca. e poi esplorarle

Rimangono due domande.

1) Perché l'algoritmo genetico è attivato PRECISAMENTE dalla condizione di N numero di varianti?

2) Cosa scarica il terminale quando lavoro nella modalità Calcoli matematici? Mentre stavo generando delle belle immagini qui, il terminale ha già scaricato 40 metri - non scarica così tanto nemmeno quando uso Expert Advisors nello Strategy Tester.

 
Renat:

È disponibile anche il controllo di tick, bar e tumbler.

Se, naturalmente, il particolare datafeed lo supporta.

Ottime notizie, grazie mille.
 

Vado a far rotolare la genetica :-)

 
IvanIvanov:

OK, sono d'accordo, convinto, userò come mi consigliate :-) Io, con il vostro aiuto, ho capito, la genetica permette di selezionare le aree più promettenti nella gamma gigantesca. e poi esplorarle

Rimangono due domande.

1) Perché l'algoritmo genetico è attivato PRECISAMENTE dalla condizione di N numero di varianti?

Perché fisicamente non ha senso fare un'enumerazione completa oltre il confine. Per le piattaforme a 32 bit è 1.000.000 di passaggi, mentre per le piattaforme a 64 bit è 100.000.000 di passaggi.

È così difficile da capire? Beh, non aspetterete mai 100 000 000 secondi. Non lo farai e non lo farai mai.


2) Cosa scarica il terminale quando lavoro in modalità Calcoli Matematici? Mentre stavo generando delle belle immagini, il terminale ha già scaricato 40 metri, non sta scaricando così tanto anche quando uso Expert Advisors nello Strategy Tester.

Questo è il traffico tra gli agenti locali e il terminale. Si presenta come traffico di rete, essendo di fatto traffico di rete (anche se all'interno di localhost).
 
event:

Funzione Z = cos(1.5*x)*cos(1.5*x) + sin(2.25*y) + cos(3*x*y); dove X e Y sono da -3 a +3

Mi sto anche chiedendo come trovare i suoi massimi in MT5.

Per quanto riguarda il metodo - l'idea viene da un articolo su hubra, l'implementazione è in matlab e in C#.

Sì, i risultati sono stati pubblicati senza di me. È chiaro che l'algoritmo descritto nell'articolo trova gli estremi locali quasi immediatamente e di qualità molto più alta rispetto al GA standard.
Renat:

Il problema delle prove è che è difficile darle, dato che l'autore non ha esperienza pratica. A differenza degli sviluppatori di MetaTrader che lo fanno da molti anni.

Nel granito! È il vostro slogan, non ha senso muoversi contro di esso, proprio su questa insensatezza ho detto subito. Non hai bisogno di prove, non hai nemmeno il dubbio di avere ragione. Sono sicuro che l'aspetto dei dati di tick e dei feed personalizzati, dal vostro punto di vista, non risuona con la frase granitica, quando vi è stato chiesto e avete dimostrato la fattibilità per N anni. Esperto come te!

Sfortunatamente, hai appena citato dei punti teorici di base conosciuti.

E ho fatto una domanda specifica: "Cosa non ti piace di GA? Non trova aree di soluzioni per voi?". Certo che sì, e non peggio di qualsiasi altro metodo. Ed esce dai buchi locali meglio della ricottura. Ma la cosa più importante è che risolva i vostri problemi in modo efficiente.

Non hai letto affatto l'articolo, per questo parli di questo "churn". Ma l'articolo non lo usa minimamente. "Non l'ho letto, ma lo condanno" - non puoi leggere l'esperienza, vero? In particolare, non sono soddisfatto che GA non trovi estremi locali convergenti (non casuali). Quindi la sua idoneità per l'ottimizzazione di TC è dubbia, per non dire altro. Tanti algoritmi euristici sono stati inventati per un motivo. E non esiste un algoritmo euristico migliore. Ogni compito ha il suo migliore. Quindi GA per questo compito di ottimizzazione molto TC è, purtroppo, lontano dall'essere il migliore. Gli argomenti sono riportati nell'articolo per chi vuole capire di cosa stiamo parlando.

 
Renat:

Perché fisicamente non ha senso fare un overrun completo sul bordo. Per le piattaforme a 32 bit sono 100.000.000 di passaggi e per le piattaforme a 64 bit sono 1.000.000.000 di passaggi.

È così difficile da capire? Beh, non aspetterete mai 1 000 000 000 di secondi. Non lo farai mai.


Questo è il traffico tra gli agenti locali e il terminale. Si presenta come traffico di rete, essendo di fatto traffico di rete (anche se all'interno di localhost).

Ok, mi arrendo :-)

Un ultimo tentativo, puramente per curiosità, quanto costerebbe 1.000.000.000 di passaggi se si sfrutta l'intera rete di servizi di agenti remoti esistente? Non uso agenti remoti da un po', non conosco i prezzi.

E quanto tempo impiegherebbe l'intera rete di agenti remoti per fare 1.000.000.000 di passaggi, almeno approssimativamente?

 
zaskok:
Sì, i risultati sono stati pubblicati senza di me. Si può vedere chiaramente che l'algoritmo descritto nell'articolo trova gli estremi locali quasi immediatamente e di una qualità molto più alta del GA standard.

No, non lo fa.

Non è quella semplice funzione Z = cos(1.5*x)*cos(1.5*x) + sin(2.25*y) + cos(3*x*y); dove X e Y sono da -3 a +3 che ho discusso nell'articolo come suggerito sopra.

Non solo, ma l'autore di quell'articolo ha effettivamente costruito un'enorme bicicletta (che è buona per l'autoapprendimento, naturalmente), ma apparentemente ha affinato l'ottimizzazione della ricerca per il suo compito. Questa ottimizzazione causerà molto probabilmente problemi (aumento della quantità di calcoli) con altri compiti.

Ci sono anche importanti metriche lasciate fuori - quanti passaggi sono stati effettivamente fatti in modalità euristica rispetto a un superamento completo. Per esempio, nell'esempio MT5 di cui sopra abbiamo ottenuto 8.700 in genetica e 361.201 in forza bruta. C'è il sospetto che la variante ottimizzata euristica dell'autore abbia effettivamente speso molti più passaggi per completare i risultati.

Il numero di passaggi è molto importante, poiché raramente qualsiasi strategia rispetta la scadenza dei secondi. La differenza tra il nostro GA con 10.000 passaggi e un altro con 30.000 passaggi si traduce in un'attesa di 20.000 passaggi in più * tempo di passaggio, che è molto lungo. Il nostro GA è specificamente ottimizzato per il più veloce errore di calcolo possibile. Normalmente il nostro è sufficiente per 10.000-12.000 passaggi, indipendentemente dalla dimensione totale del campo di ricerca. Ciò significa che qualsiasi profondità di ricerca può essere effettuata approssimativamente in 10.000 passaggi. Da qui in poi, abbiamo una testa nelle mani ed esploriamo con più precisione.

A proposito, in MetaTrader 5 l'autore non ha dovuto spendere mesi per scrivere il proprio motore, ed è possibile ottenere immediatamente i risultati premendo il pulsante. E in 2D/3D si potrebbe girare in diverse proiezioni.


Nel granito! Questo è il tuo slogan, non ha senso andare contro di esso, questa è l'inutilità che ho fatto subito. Non hai bisogno di prove, non dubiti nemmeno di avere ragione. Sono sicuro che l'aspetto dei dati di tick e dei feed personalizzati, dal vostro punto di vista, non risuona con la frase granitica, quando vi è stato chiesto e avete dimostrato la fattibilità per N anni. Esperto come te!

Il mio lavoro è visibile a tutti. Il tuo non è visibile, purtroppo.

Se pensate che i motori genetici MT4/MT5 mi abbiano superato, vi sbagliate di grosso.

Non hai letto affatto l'articolo, per questo parli di questo "churn". Ma l'articolo non lo usa minimamente. "Non l'ho letto, ma lo condanno" - non puoi leggere l'esperienza, vero? In particolare, non sono soddisfatto che GA non trovi estremi locali convergenti (non casuali). Quindi la sua idoneità per l'ottimizzazione di TC è a dir poco dubbia. Tanti algoritmi euristici sono stati inventati per un motivo. E non esiste un algoritmo euristico migliore. Ogni compito ha il suo migliore. Quindi GA per questo compito di ottimizzazione molto TC è, purtroppo, lontano dall'essere il migliore. Gli argomenti sono riportati nell'articolo per chi vuole capire di cosa stiamo parlando.

Devo scrivere in ogni caso una frase giuridicamente precisa come "metodi monte carlo, annealing, ecc.

Ho scritto questa frase una volta sopra. Poi ho riassunto i "metodi euristici", sottolineando che anche il normale algoritmo genetico può essere trasformato in un altro metodo giocando con criteri personalizzati e stimolando il motore a continuare a calcolare.

Gli argomenti dell'articolo sono solo di natura generale. Ma lo sgabello creato per una strategia (date un'occhiata agli screenshot) ed esattamente lo stesso metodo di tweaking mostra che ci devono essere problemi di scala quando si passa ad una piattaforma di calcolo universale, che MT5 + MQL5 è.

Sì, l'articolo è buono come dimostrazione di ciò che il programmatore ha fatto. Ma in termini pratici, non è la migliore decimillesima bicicletta inventata dall'ennesimo principiante.