Campionato di ottimizzazione degli algoritmi. - pagina 94

 

Vedo che il campionato è già in pieno svolgimento... hmmm... quindi chi sta vincendo? )))))))

 
Nikkk:

Cos'è stato? Era un tentativo di prenderti in giro? Quindi ora stai correndo per dimostrare qualcosa. Tali post inutili e azioni organizzative disoneste hanno già scoraggiato anche i partecipanti più fedeli che erano lì all'inizio. E ora ha appena riassunto che non ne valeva la pena.

Essere gelosi di qualcosa che non è stato affatto dimostrato è il massimo della stupidità. Perché questa palese stupidità nel post.

Nel mio post, non mi rivolgevo a persone specifiche, ma agli stati d'animo che a volte visitano tutti noi.

In effetti, non l'ho spiegato abbastanza chiaramente e potrei aver offeso qualcuno. Le mie scuse. (Ho sbagliato quando ho detto questo sui lettori di questo thread. Inappropriato e sbagliato).

È difficile scoraggiare qualcuno dal partecipare a un campionato se è desideroso di competere.

Penso che quello che non scriverei per offendere una persona del genere gli rimbalzerebbe addosso come i piselli su un muro.

I costi di organizzazione del campionato, le proprie lacune di conoscenza, e certamente il gergo sciatto vantandosi nerotrolly (come me) non spegnerà il desiderio di prendere una sfida da un uguale.

La competizione è parte integrante della vita, dell'evoluzione, della società. La base dello sviluppo in quanto tale.

Incoraggio la partecipazione al campionato, e ho grande rispetto per tutti i partecipanti e gli osservatori, ma a quelli che vengono solo per fomentare e portare confusione, sono stato e sarò spietato nei miei post.

Appoggio il topicstarter, a patto che il topicstarter stesso sostenga una competizione equa e trasparente.

Grazie per l'attenzione.

 
Andrey Dik:
Sì, c'è stata un'offerta di proporre un candidato per il ruolo di giudice/arbitro (guardare indietro pagine fa). Peter non ha presentato alcuna candidatura.
Beh, sono stato io a suggerire la candidatura di Anatoly. )
 
Реter Konow:
Beh, sono stato io a suggerire la candidatura di Anatoly. )
Molto bene, nella foga della discussione non l'ho nemmeno notato. Allora tutte le invettive dei detrattori della pagina precedente nei miei confronti sono inappropriate, a differenza dei miei calci nel culo).
 
Реter Konow:
...

Preparatevi a non avere limiti di intervallo e di passo FF, il che significa intervallo [-DBL_MAX; DBL_MAX] in incrementi di 0,0.

 
Andrey Dik:

Preparatevi a non avere restrizioni sulla portata e sul passo FF, il che significa portata [-DBL_MAX; DBL_MAX] in passo 0,0.


Bene.
 

Ho accettato di partecipare, ma scusate ragazzi, non sono ancora pronto. L'interfaccia di connessione non è evidente per me e non so quale sia rilevante. E non c'è tempo per preparare e allenare il mio algoritmo. E ora è tempo di vacanze.

Permettetemi di presentare la mia comprensione del campionato attraverso gli occhi di un principiante, per così dire.

Spesso abbiamo bisogno di trovare i valori massimi e minimi (estremi) di qualcosa. Ad esempio, è estremamente importante per gli scalper conoscere le condizioni di trading, ad esempio lo spread massimo e minimo per timeframe di un certo broker. Su questo sotto. Per ora, come vedo il campionato.

Quindi l'essenza del campionato è trovare gli estremi di qualche funzione, come dicono i partecipanti, la funzione di fitness (FF).

Per esempio c'è il Grande Teorema di Fermat.

Per qualsiasi numero naturale l'equazione a^n+b^n=c^n

non ha soluzioni in numeri interi non nulli.

cioè per n=2 c'è una soluzione: 3^2+4^2=5^2. Ma per n=3 e più si afferma che non ci sono soluzioni.

Finora i grandi matematici non sono stati in grado di confutare il teorema. Se trovate questi numeri sarete famosi come Perelman.

Se riscrivi la formula a^3+b^3=c^3 come a^3+b^3-c^3=min, il problema si riduce a trovare le incognite a, b, c in cui il lato destro dell'equazione è minimo. Si cerca un estremo.

Come trovarlo? Il modo più semplice è impostare cicli completi di a, b e c e aspettare per sempre. Lo scopo della gara è trovare un estremo con il minor numero possibile di giri dell'algoritmo del partecipante all'equazione (FF).

Nell'esempio dato la funzione è definita da una formula ed è nota all'algoritmo. Ma cosa si può fare se la FF è sconosciuta ma gli estremi devono essere identificati? Torniamo agli spread. Lo spread è determinato dallo stato del mercato così come dalla politica di un certo broker. Quale algoritmo abbia il broker è un'ipotesi. Supponiamo che lo spread minimo sul timeframe sia determinato da tre fattori principali - prezzi massimi e minimi e tempo della barra H, L, T.Inoltre, spread= f(H,L,T) non è dato dalla formula ma dall'array spread= double[ H,L,T]. Il compito è di inviare al FF (cioè all'algoritmo) un tale array al quale il FF è minimo. In realtà, ci sono molti più fattori che determinano lo spread, e cambiano costantemente.

Ho deciso di scrivere un pannello per addestrare il mio algoritmo. Questo è quello che sembra.

Per prima cosa, cliccate su "Choose from List" per selezionare una funzione semplice dalla lista, per esempio, l'equazione che ho menzionato prima.

Questo collegherà il vostro codice. Se non c'è ancora un codice in MQL, puoi lavorare nel tuo ambiente e poi inserire i migliori parametri manualmente con il pulsante corrispondente e guardare il risultato.

Inoltre, se premiamo "Generate FF" genereremo casualmente un FF sconosciuto. Per trovare il suo estremo, dobbiamo inviare array double[] dal nostro ambiente o coinvolgere il nostro codice in MQL. In entrambi i casi, il risultato sarà visualizzato.

Mi eserciterò per ora e forse parteciperò al campionato questo autunno, se è vivo.

P.S Se vuoi rispondere al mio post, per favore non citare completamente il mio lungo testo, per non causare inconvenienti nella lettura del ramo.

 
Yuri Evseenkov:


Sai, ho avuto la stessa difficoltà a capire l'essenza del problema (e in una certa misura lo faccio ancora a causa della mancanza di esperienza nella risoluzione di problemi di ottimizzazione) che hai avuto tu.

Non ho anche capito l'interfaccia di connessione.

Il compito con il testo mi ha aiutato a capirlo a sufficienza.

Dopo averlo risolto, quasi tutto va a posto. Credo che il principio della sua soluzione possa essere applicato anche ad altri tipi di problemi di ottimizzazione. Naturalmente si dovrà sviluppare un algoritmo più universale, ma credo che non sia necessario cambiare la direzione del pensiero.

Una volta che ho descritto la mia comprensione dell'ottimizzazione nel ramo Open Championship e dato che il topic-starter non ha offerto alcuna critica o correzione, ho deciso che ho capito correttamente l'ottimizzazione. Ecco la mia comprensione: https://www.mql5.com/ru/forum/89230

Se il topicstarter ragionevolmente non riesce a criticare questa visione, forse questo post vi aiuterà a comprenderla meglio.

Eppure, torna al compito con il testo. Cercate di capirlo - è molto semplice. Se avete bisogno di qualcosa, basta chiedere.

Riguardo al tempo per prepararsi - penso che ne terremo conto in modo che tutti abbiano abbastanza tempo.

P.S. A proposito, il tuo pannello può essere molto utile.

Чемпионат алгоритмов оптимизации поиска лучших значений параметров
Чемпионат алгоритмов оптимизации поиска лучших значений параметров
  • www.mql5.com
Алгоритмы оптимизации поиска лучших значений параметров применяются в разных областях науки и технологии...
 
Реter Konow:

Se il topic-starter non critica ragionevolmente questo punto di vista, forse questo post vi aiuterà a capirlo meglio.

Sia il tuo approccio che quello di Yuri "peccano" di una visione troppo concreta dei problemi di ottimizzazione, mancando di astrazione, di universalità. Questo è irto di risultati insoddisfacenti quando la FF è sconosciuta, che è il 99% dei problemi di ottimizzazione nel trading.

Guarda l'esempio con il testo. C'è una variante dell'algoritmo (nemmeno un algoritmo, ma una semplice interfaccia di connessione) per l'ottimizzatore MT standard. Si prega di notare che l'algoritmo dell'ottimizzatore standard non ha alcuna idea di un compito, milioni di commercianti gli forniscono i loro compiti con parametri che variano da diverse migliaia a diverse centinaia di parametri e l'ottimizzatore trova con successo i valori massimi di ciò che l'utente vuole trovare.

Ma ripeto ancora una volta, se ti aiuta a vincere il campionato, puoi usare qualsiasi opinione - secondo me, la chiave del successo è l'universalità e "l'onnivocità" dell'algoritmo.

L'etichetta è Konow:

Eppure, torna al compito con il testo. Risolvi il problema - lì è tutto semplice. Se avete bisogno di qualcosa, basta chiedere.

L'esempio con il testo è davvero molto semplice e chiaro. Il suo scopo principale - mostrare la connessione e l'interazione della FF e dell'algoritmo. Chiunque voglia capire le interfacce di connessione, vale la pena di vedere questo esempio.

 
Yuri Evseenkov:

Ho deciso di scrivere un pannello per addestrare il mio algoritmo. Questo è quello che sembra.

Se il vostro pannello è di aiuto a qualcuno, ne sarei felice. Mettetelo qui, se volete.

Ma non ho il diritto di insistere sul suo uso obbligatorio da parte dei partecipanti, non fraintendetemi.