Ottimizzazione! Condividete le vostre esperienze, per favore. - pagina 3

 
solandr писал (а):
Ho dato un link alla proposta di Bakeev per confrontare i risultati dell'ottimizzazione su martingala per capire come il tuo algoritmo può essere affilato per una curva casuale (quanto è fattibile l'idea dell'algoritmo). E da lì devi decidere se vuoi farlo o no.

Sei agganciato a Bakeev:):):):)
Penso che un tester eseguito su un "pezzo" di storia non ottimizzabile sia sufficiente.
 
sashken:

Sei agganciato a Bakeev:):):):):):):)
Penso che un tester eseguito su un "pezzo" di storia non ottimizzabile sia sufficiente.

I risultati dell'esecuzione su un pezzo di storia non ottimizzabile (fuori campione) possono risultare casuali. A causa di questo, ci sono due possibili situazioni problematiche:
1. Adozione di una strategia drenante, se mostra un profitto nella parte non ottimizzata della storia.
2. Non usare una strategia redditizia, se ha mostrato un drawdown nella parte non ottimizzata della storia.

In generale, il problema del contrappeso è probabilmente il più complesso nella costruzione di MTS. E dire solo che dovremmo ottimizzare così e così e non così è come puntare il dito nel cielo, perché probabilmente non c'è una risposta esatta, IMHO. È necessario considerare tutte le opzioni possibili per testare la strategia prima di metterla su denaro reale. Considero le indicazioni su Bakeev come una delle opzioni aggiuntive per considerare una strategia da usare nel trading. Io stesso non ho ancora raggiunto la sua applicazione pratica, ma ho intenzione di usarlo nel prossimo futuro. Come dice la frase, ho solo condiviso i miei pensieri con una persona che è arrivata a un punto morto, a cui TUTTI gli scrittori di EA, indipendentemente dal livello di formazione e dalla visione del mondo, vanno quando mettono il tester MT4 per ottimizzarlo. Tanto più che con l'avvento dell'algoritmo genetico nel tester, la capacità di adattarsi a QUALSIASI curva è solo aumentata!
 
Vita:
AndyGri:
È possibile regolare i parametri per così tanti trade e il mercato può cambiare così immediatamente? Cosa fare?

Il modo più semplice per verificare "non c'è adattamento della curva?" è cambiare uno o due parametri del 5-10% e ottenere risultati scadenti. Avete controllato?

No, ma lo farò. Grazie!
 
Reshetov:
AndyGri:
sashken:
Perché non ti vanti? :) E postare il codice dell'Expert Advisor?
O almeno i rapporti dei tester. Forse l'immagine diventerà più chiara:)

Rapporto del tester di strategia
chas_GBP_TP_TSnorm_SLlowHigh

Simbolo GBPUSD (Sterlina britannica contro dollaro USA)
Periodo 1 ora (H1) 2006.01.01 23:00 - 2007.03.21 00:00 (2006.01.01 - 2007.03.21)
Modello Tutti i tick (basati su tutti i più piccoli periodi disponibili con interpolazione frattale di ogni tick)
Parametri porog=1; MAmor=2; MAtrend=24; risk=0.1; CandleBar=0.55; TP=120; TS=70; SL=54; TimeCH=10; VolP=1.5; t=0; porogSL=10; candle=11; candleEX=17; MAporog=17; DellOrd=23;
Bar nella storia 8494 Zecche modellate 1576481 Qualità della simulazione 57.67%
Deposito iniziale 1000.00
Utile netto 3745.64 Profitto totale 7681.59 Perdita totale -3935.95
Redditività 1.95 Payoff previsto 25.14
Dispersione assoluta 0.00 Massimo prelievo 384.68 (12.31%) Prelievo relativo 12.31% (384.68)
Totale scambi 149 Posizioni corte (% vittoria) 60 (65.00%) Posizioni lunghe (% vittoria) 89 (75.28%)
Operazioni redditizie (% di tutte) 106 (71.14%) Operazioni in perdita (% di tutte) 43 (28.86%)
Il più grande commercio redditizio 120.00 perdere l'accordo -263.31
Media affare redditizio 72.47 transazione perdente -91.53
Numero massimo vittorie continue (profitto) 8 (547.11) Perdite continue (perdita) 3 (-249.45)
Massimo Profitto continuo (numero di vittorie) 635.18 (7) Perdita continua (numero di perdite) -263.31 (1)
Media vincite continue 3 Perdita continua 1

Tutto è chiaro. Test e ottimizzazione a tempo, e trading reale 2 volte in 3 giorni, vale a dire un completo disallineamento tra l'orizzonte temporale del test e quello reale. Dovresti spostare i test sul grafico giornaliero, è più vicino alla verità. Oppure, se è scomodo uscire alla fine del timeframe americano, allora esegui l'EA a una certa ora, ma aggiungilo al codice:
...
//il tempo di partenza del consulente
extern int hour = 12;

...

int start() {
if (hour != TimeHour(Time[0])) return(0);
// codice EA
...
}

Notate che l'ora che impostate nella variabile dell'ora corrisponde all'ora della vostra società di intermediazione, non all'ora del vostro computer. Pertanto, può essere spostato.

Grazie per il suggerimento. Ho iniziato con le candele giornaliere, ma le ho cambiate con quelle dell'orologio, perché ci sono più informazioni per l'analisi. Nel complesso... i risultati sono più stabili.
 
solandr:
AndyGri:
Il campione è grande - sotto i 160-200 ingressi nel mercato, e 2 settimane non è il lasso di tempo per grandi cambiamenti. È possibile adattare i parametri a così tanti trade e il mercato può cambiare così immediatamente? Cosa fare?
160-200 scambi - stai scherzando? Con 5-7 parametri ottimizzabili si può facilmente adattare una curva di migliaia di affari (E si hanno 16 parametri esterni per l'ottimizzazione!!! - Decine di migliaia di trade si adattano a QUALSIASI curva se hai abbastanza tempo e un computer più potente! :o) Guarda per esempio qui:
https://www.mql5.com/ru/forum/50458 solandr 18.03.06 20:11
Questa infanzia in cui sono stato impegnato un anno fa. Quel sistema è stato poi risciacquato con successo nel mondo reale (ne ho parlato più tardi nello stesso thread, da qualche parte nel maggio 2006). L'idea del sistema è stata condizionatamente presa dal soffitto (catturare i picchi nel rumore). Quindi non sei il primo a calpestare il rastrello del montaggio.
Nel mio primo post di questo thread solandr 23.03.2007 15:43 ho dato un link al suggerimento di Bakeev sul confronto dei risultati dell'ottimizzazione su martingala per capire come il tuo algoritmo può essere adattato a una curva casuale (quanto è fattibile la tua idea di algoritmo). E poi sta a voi decidere se volete farlo o no.

Grazie, è esattamente quello che temevo, ma che volevo sentire! Intuitivamente capisco che questo è esattamente il caso. Ma non posso né provarlo né confutarlo fisicamente. Ma l'esperienza è la prova migliore, grazie ancora!
 
Ciao!
Per favore, risolvi l'enigma dell'algoritmo genetico.
Ecco un esempio di due esecuzioni dell'ottimizzatore:


In entrambi i casi vengono ottimizzati gli stessi 2 (due) parametri, esattamente negli stessi intervalli
Il primo parametro ha 11 passi, il secondo ha 21 passi - 11x21 = 231.

La prima volta con l'algoritmo genetico disabilitato, la seconda volta ho deciso di abilitare la genetica.
Da dove viene la cifra di 1280 corse e il tempo di 53 minuti di corsa?
 

Glialgoritmi genetici sono appropriati quando si parla di migliaia di corse. Nel tuo caso, 231 è un numero molto piccolo per la genetica. Quindi forse qualcosa è andato storto quando si usa l'algoritmo genetico per l'ottimizzazione in un intervallo così piccolo di corse? Solo gli sviluppatori possono rispondere a questa domanda in modo più preciso.

 
solandr:

Glialgoritmi genetici sono appropriati quando si parla di migliaia di corse. Nel vostro caso, 231 è un numero molto piccolo per la genetica. Quindi forse qualcosa è andato storto quando si usa l'algoritmo genetico per l'ottimizzazione in un intervallo così piccolo di corse? Solo gli sviluppatori possono rispondere a questa domanda in modo più preciso.


Capisco, grazie!
È quello che ho pensato che fosse una specie di glitch... facile da riprodurre, però.

Ora, per quanto riguarda l'esperienza di ottimizzazione.
Non ho mai cercato di ottimizzare tutti i parametri in una volta sola. Penso che sia uno spreco eccessivo di risorse del computer.
È meglio passare il tempo a studiare le relazioni dei parametri e ottimizzarli attraverso piccoli gruppi correlati.
Ne ho due: uno è relativo all'entrata nelle transazioni e al posizionamento degli ordini, l'altro - per uscire dal commercio.
Ottimizzo prima l'entrata e poi l'uscita. Il periodo massimo di ottimizzazione è di mezzo anno.
Dopo l'ottimizzazione eseguo un test sull'intero array - se non ci sono problemi, inizio a lavorare con i parametri.
Se c'è un enorme drawdown a qualche frammento molto vicino, ottimizzo proprio durante questo periodo (di nuovo, non più di sei mesi).
Ancora una volta ripeto l'analisi in tutto il database. Lo faccio ogni 2-3 mesi, o più frequentemente, se non mi piacciono i risultati dell'ultimo scambio.

Non vedo il senso di ottimizzare dal 19... anno, poi il mercato e ora - è, come si dice, due grandi differenze!

Tutto detto solo IMHO.
 
AndyGri:
Signori, sto cominciando a perdere la fiducia negli EA, o in me stesso :(. Ha scritto molte varianti. Per lo più sulla sterlina sugli orologi. Uso muwings, stocastico e analisi oraria. Uso la storia annuale per la scrittura e l'ottimizzazione. Expert Advisor entra nel mercato una media di 2 volte in 3 giorni. Tutto va bene nei test. Ma!!! ... nella vita reale nelle prossime 2 settimane perdiamo soldi... E non è tutto così :(. Parlare di parametri che vengono regolati per un periodo di un anno e il mercato che cambia costantemente e rapidamente...? sì, in qualche modo non ci credo. Il campione è grande - sotto 160-200 uscite dal mercato, e 2 settimane non è un lasso di tempo per grandi cambiamenti. Si possono adattare i parametri a un tale numero di scambi e il mercato può cambiare così rapidamente? Dimmi come fare. Se qualcosa funziona, vantatene e datemi fiducia. Ho perso la speranza.

per le ultime 2 settimane perdenti sono le stesse? Voglio dire, l'Expert Advisor apre i trade nello stesso punto in cui si trovano i dati storici?
 
PSmith:
solandr:

Glialgoritmi genetici sono appropriati quando si parla di migliaia di corse. Nel vostro caso, 231 è un numero molto piccolo per la genetica. Quindi forse qualcosa è andato storto quando si usa l'algoritmo genetico per l'ottimizzazione in un intervallo così piccolo di corse? Solo gli sviluppatori possono rispondere a questa domanda in modo più preciso.


Capisco, grazie!
Ho pensato che fosse una specie di guasto... facilmente riproducibile però.

Ora, per quanto riguarda l'esperienza di ottimizzazione.
Non ho mai cercato di ottimizzare tutti i parametri in una volta sola. Penso che sia uno spreco eccessivo di risorse del computer.
È meglio passare il tempo a studiare le relazioni dei parametri e ottimizzarli attraverso piccoli gruppi correlati.
Ne ho due: uno è relativo all'entrata nelle transazioni e al posizionamento degli ordini, l'altro - per uscire dal commercio.
Ottimizzo prima l'entrata e poi l'uscita. Il periodo massimo di ottimizzazione è di mezzo anno.
Dopo l'ottimizzazione eseguo un test sull'intero array - se non ci sono problemi, inizio a lavorare con i parametri.
Se c'è un enorme drawdown a qualche frammento molto vicino, ottimizzo proprio durante questo periodo (di nuovo, non più di sei mesi).
Ancora una volta ripeto l'analisi in tutto il database. Lo faccio ogni 2-3 mesi, o più frequentemente, se non mi piacciono i risultati dell'ultimo scambio.

Non vedo il senso di ottimizzare dal 19... anno, poi il mercato e ora - è, come si dice, due grandi differenze!

Tutto detto solo IMHO.
Stai parlando del timeframe orario dell'EA? Di quale lasso di tempo stiamo parlando quando menzionate l'intera matrice? Come si comporta l'EA in anni diversi, come il 2004, 2005, 2006? Il mio Expert Advisor ha una dinamica alternata. O ha profitto 0 o guadagnato (sto parlando del test della storia). Grazie in anticipo per la vostra risposta! :)