Suggerimenti per l'EA (da perdere a profitto) - pagina 7

 
diostar:

No, non è proprio così, in questa fase. Può essere una perdita di tempo, testando da comprare a vendere e viceversa, anche se ha dato dei cambiamenti. Quando dico, questo è quello che intendevo:

Trovare la soluzione migliore nel minor tempo possibile. Mentre nello stesso tempo (molto breve), 5-10 minuti al massimo, testare la logica per unità, in modo che la logica possa essere determinata, diciamo. 99% buono o 99% cattivo, è praticamente confermato.

1) Basta prendere 1 logica principale, diciamo per es:

e rimuovi tutto il resto, e fai questo:

che è una logica per unità - testando sia l'acquisto che la vendita, allo stesso tempo. Quindi, se volete fare l'ottimizzazione con questa 1 logica master, ottimizzerete semplicemente sui vostri parametri di base - sl, tp, lotti, ecc solo. Poi analizzare le istanze dei loro acquisti e vendite, giudicare se questa 1 logica è in grado di fare il taglio, in entrambi gli scenari - se fa un errato o corretto ingressi. Entrambi. Poi passate alla logica successiva.

Man mano che vai avanti, potresti voler provare delle combinazioni... la 1a logica solo acquisto, la 2a logica, solo vendita, o entrambe, ecc. Trovo che questo modo sia più strutturato e puoi davvero vedere quale logica precisa sta realmente causando il drawdown.


Non ho mai testato un EA con questi metodi, quindi non mi interessa...

La mia domanda è: quali parametri devo isolare per concentrarmi strettamente sul profitto?

  • Le MA?
  • TP
  • SL
  • ?
 
c0d3:

Non ho mai testato un EA con questi metodi, quindi non mi interessa...

La mia domanda è: quali parametri devo isolare per concentrarmi strettamente sul profitto?

  • MAs?
  • TP
  • SL
  • ?

Nemmeno io, mi sono solo imbattuto in questa idea totalmente nuova mentre lavoravo su questo. Vengo da una formazione piuttosto tecnica, quindi è stato facile per me giudicare che una certa logica è completamente sbagliata/difettosa/difettosa, sui mercati.

Ma mi chiedevo: "Come si può provare questo sul tester di strategia, se è veramente così? Sicuramente ci dev'essere un modo", e così mi sono imbattuto in questo metodo, casualmente.

Basta prendere, in questo caso, quelle logiche MA in checkcondition, una per una, diciamo per esempio, si inizia con M240close< MA 240. Si testano entrambi i lati - comprare e vendere, ALLO STESSO TEMPO. Ora questi sono i casi:


1) Ora, matematicamente, se questa logica è davvero fattibile, il risultato dovrebbe essere in qualche modo NEUTRO, poiché copre entrambe le parti. D'accordo? Se risulta redditizio - allora si può concludere guardando attraverso, i risultati di acquisto e di vendita, questa logica sta facendo il taglio molto, molto bene, anche mentre sta prendendo pugni dal contrario. Quindi è molto solida.

2) Ora, se il risultato è disastroso, allora si può concludere che TUTTA la logica, cioè il confronto tra la chiusura a 240 e la MA 240, è sbagliata al 100% contro ogni tipo di movimento del mercato. Quindi questo dovrebbe lasciarti convinto che l'intera logica dovrebbe essere tolta, sostituita del tutto.

Lasciate il resto - tp, sl, per l'ottimizzazione. La cosa più importante in questa fase è correggere la logica, pezzo per pezzo.

Da quando uso questo approccio, ho fatto progressi abbastanza buoni con il mio. Prima, facevo le cose più o meno come molti, ma con questo nuovo modo, sto facendo seri progressi in pochissimo tempo...;-)

 
diostar:

Nemmeno io. Mi sono appena imbattuto in questa idea totalmente nuova mentre lavoravo su questo. Vengo da una formazione piuttosto tecnica, quindi è stato facile per me giudicare che alcune logiche sono completamente errate/difettose/difettose, sui mercati.

Ma mi chiedevo: "Come si può provare questo sul tester di strategia, se è veramente così? Sicuramente ci deve essere un modo", e così, per coincidenza, mi sono imbattuto in questo metodo.

Basta prendere, in questo caso, quelle logiche MA in checkcondition, una per una, diciamo per esempio, si inizia con M240close< MA 240. Si testano entrambi i lati - comprare e vendere, ALLO STESSO TEMPO. Ora questi sono i casi:


1) Ora, matematicamente, se questa logica è davvero fattibile, il risultato dovrebbe essere in qualche modo NEUTRO, poiché copre entrambe le parti. D'accordo? Se risulta redditizio - allora si può concludere guardando attraverso, i risultati di acquisto e di vendita, questa logica sta facendo il taglio molto, molto bene, anche mentre sta prendendo pugni dal contrario. Quindi è molto solida.

2) Ora, se il risultato è disastroso, allora puoi concludere che TUTTA la logica, cioè il confronto tra la chiusura a 240 e la MA 240, è sbagliata al 100% contro ogni tipo di movimento del mercato. Quindi questo dovrebbe lasciarti convinto che l'intera logica dovrebbe essere tolta, sostituita del tutto.

Lasciate il resto - tp, sl, per l'ottimizzazione. La cosa più importante in questa fase è correggere la logica, pezzo per pezzo.

Da quando uso questo approccio, ho fatto progressi abbastanza buoni con il mio. Prima, facevo le cose più o meno come molti, ma con questo nuovo modo, sto facendo seri progressi in pochissimo tempo...;-)

Perché non ottimizzare tutte le variabili allo stesso tempo? Potrebbe volerci un po' di tempo per eseguire il test di ottimizzazione ma, ecco perché ho 2 computer. Uno per i test e uno per lo sviluppo.

Supponendo che tu abbia una shell EA che funzioni correttamente, cioè, SL, TP, Trailing SL, Incremento, Stack, Rischio, molte ore di trading, email, reporting, apertura ordini di chiusura, funziona su più coppie ecc. Supponendo che tutto questo funzioni correttamente, il che non è un compito da poco, vi rimane poi la logica che usate per entrare in un trade. Nel mio caso ho Trade() che restituisce 1,0 o -1. La logica in Trade() può essere qualsiasi sistema tu voglia inserire.

Prima provo il mio sistema logico di trading in modalità visiva, così mi assicuro che la logica funzioni correttamente, per esempio gli stop sono impostati nel posto giusto, l'entrata è nel posto giusto e qualsiasi cosa il sistema richieda. Una volta fatto questo, generalmente questo richiede un'ora o soto test a meno che io non abbia completamente perso la testa. Poi eseguo l'intera ottimizzazione per intervalli di TP, SL Stack, ore di trading e qualsiasi variabile debba essere testata all'interno della logica di trading Ma, pattern di barre o altro.

Se si esegue tutte le ottimizzazioni e lo stesso tempo vi darà una migliore idea se la strategia funziona. Se volete ridurre il tempo di test, eseguite un'opzione per un periodo di tempo più breve, solo per avere un assaggio del sistema, diciamo 1-2 mesi. Questo non dovrebbe richiedere molto tempo, 4-8 ore o giù di lì, se si mantengono i range bassi. Se sembra promettente, allora esegui un vero backtest che ti darà un senso reale di come il sistema sta lavorando. Niente dice che non si può fermare un backtest dopo un centinaio di corse perché sembra già un perdente.

Nei miei test sto guardando il drawdown come la mia statistica numero uno, se il mio EA tira giù più del 12% con un rischio del 2% allora sono di nuovo al punto di partenza. Se questo funziona, guardo la percentuale di perdita di guadagno e il rapporto tra vincita media e perdita media. Non sono sicuro che otterrai quei numeri più velocemente facendo a modo tuo. Se la maggior parte, l'80-90% dei miei opzionamenti non porta il conto a 0, allora hai una possibilità decente di avere un EA redditizio. Poi prendo le corse di profitto medio e la media e riottimizzo con intervalli più piccoli per ottenere le mie impostazioni per un test in avanti sui dati dal vivo. Questo da solo può richiedere un mese. Non correrei con denaro reale se questo non fosse stato fatto.

Ingnorando tutto quanto sopra, questo è solo il modo in cui faccio il lavoro di sviluppo, almeno con gli EA.

Non sono d'accordo con 1 o 2.

1) Non credo che si possa provare o addirittura sapere se il sistema sarà redditizio, a meno che non si esegua un opt run attraverso il backtester con ogni variabile possibile. Che cosa se, SL, TP, Stack, distanza tra Stack, o MoveStop rende lo stratagy un vincitore, non è davvero un cosa se, è un fatto. Se provi la tua strada hai ancora bisogno di uno SP o TP o qualsiasi altra cosa per vedere una vittoria o una perdita. Se hai uno SL di 100 pip su un grafico a 1 minuto è molto probabile che tu abbia un grande sistema con 85 -> 98% di vittorie. Posso dirvi che non si comporterà in questo modo quando lo farete girare attraverso un'ottimizzazione. Puoi avere una percentuale di vincita del 30% e un EA molto redditizio. Puoi anche avere un tasso di vincita del 90% e il drawdown potrebbe essere del 70% e 3000 su 4000 opt run prosciugano il conto. Alla fine farai comunque una corsa completa. Perché non farlo prima e codificare un nuovo sistema in parallelo.

2) Potrebbe trasformarsi in un disastro e gettare un sistema senza un test completo. Potrebbe essere come buttare un biglietto vincente del powerball nella spazzatura perché hai appena controllato il numero del powerball e sai che non hai fatto il jackpot. Hai avuto gli altri cinque numeri e hai appena gettato un vincitore da 250.000 dollari nella spazzatura, ora qualche piccione ha un nido molto costoso.

Lalinea di fondo è che penso che la codifica effettiva del sistema sia la parte che richiede meno tempo del processo di sviluppo. Il test è la parte più lunga e importante e voglio passare la maggior parte del mio tempo nella fase di test. Tendo anche a imparare di più dai miei EA falliti, so che questo è quello che tutti dicono, ma i fallimenti nei test tendono ad aiutare a restringere gli intervalli di parametri per le future ottimizzazioni, questo rende i test degli EA più promettenti più veloci alla fine.

Solo i miei 2 centesimi.

 
danjp:

Perché non ottimizzare tutte le variabili allo stesso tempo? Potrebbe volerci un po' di tempo per eseguire il test di ottimizzazione ma, questo è il motivo per cui ho 2 computer. Uno per i test e uno per lo sviluppo.

Supponendo che tu abbia una shell EA che funzioni correttamente, cioè, SL, TP, Trailing SL, Incremento, Stack, Rischio, molte ore di trading, email, reporting, apertura ordini di chiusura, funziona su più coppie ecc. Supponendo che tutto questo funzioni correttamente, il che non è un compito da poco, vi rimane poi la logica che usate per entrare in un trade. Nel mio caso ho Trade() che restituisce 1,0 o -1. La logica in Trade() può essere qualsiasi sistema tu voglia inserire.

Prima provo il mio sistema logico di trading in modalità visiva, così mi assicuro che la logica funzioni correttamente, per esempio gli stop sono impostati nel posto giusto, l'entrata è nel posto giusto e qualsiasi cosa il sistema richieda. Una volta fatto questo, generalmente questo richiede un'ora o soto test a meno che io non abbia completamente perso la testa. Poi eseguo l'intera ottimizzazione per intervalli di TP, SL Stack, ore di trading e qualsiasi variabile debba essere testata all'interno della logica di trading Ma, pattern di barre o altro.

Se si esegue tutte le ottimizzazioni e lo stesso tempo vi darà una migliore idea se la strategia funziona. Se volete ridurre il tempo di test, eseguite un'opzione per un periodo di tempo più breve, solo per avere un assaggio del sistema, diciamo 1-2 mesi. Questo non dovrebbe richiedere molto tempo, 4-8 ore o giù di lì, se si mantengono i range bassi. Se sembra promettente, allora esegui un vero backtest che ti darà un senso reale di come il sistema sta lavorando. Niente dice che non si può fermare un backtest dopo un centinaio di corse perché sembra già un perdente.

Nei miei test sto guardando il drawdown come la mia statistica numero uno, se il mio EA tira giù più del 12% con un rischio del 2% allora sono di nuovo al punto di partenza. Se questo funziona, guardo la percentuale di perdita di guadagno e il rapporto tra vincita media e perdita media. Non sono sicuro che otterrai quei numeri più velocemente facendo a modo tuo. Se la maggior parte, l'80-90% dei miei opzionamenti non porta il conto a 0, allora hai una possibilità decente di avere un EA redditizio. Poi prendo le corse di profitto medio e la media e riottimizzo con intervalli più piccoli per ottenere le mie impostazioni per un test in avanti sui dati dal vivo. Questo da solo può richiedere un mese. Non correrei con denaro reale se questo non fosse stato fatto.

Ingnorando tutto quanto sopra, questo è solo il modo in cui faccio il lavoro di sviluppo, almeno con gli EA.

Non sono d'accordo con 1 o 2.

1) Non credo che si possa provare o addirittura sapere se il sistema sarà redditizio, a meno che non si esegua un opt run attraverso il backtester con ogni variabile possibile. Che cosa se, SL, TP, Stack, distanza tra Stack, o MoveStop rende lo stratagy un vincitore, non è davvero un cosa se, è un fatto. Se provi la tua strada hai ancora bisogno di uno SP o TP o qualsiasi altra cosa per vedere una vittoria o una perdita. Se hai uno SL di 100 pip su un grafico a 1 minuto è molto probabile che tu abbia un grande sistema con 85 -> 98% di vittorie. Posso dirvi che non si comporterà in questo modo quando lo farete girare attraverso un'ottimizzazione. Puoi avere una percentuale di vincita del 30% e un EA molto redditizio. Puoi anche avere un tasso di vincita del 90% e il drawdown potrebbe essere del 70% e 3000 su 4000 opt run prosciugano il conto. Alla fine farai comunque una corsa completa. Perché non farlo prima e codificare un nuovo sistema in parallelo.

2) Potrebbe trasformarsi in un disastro e gettare un sistema senza un test completo. Potrebbe essere come buttare un biglietto vincente del powerball nella spazzatura perché hai appena controllato il numero del powerball e sai che non hai fatto il jackpot. Hai avuto gli altri cinque numeri e hai appena buttato un vincitore da 250.000 dollari nella spazzatura, ora qualche piccione ha un nido molto costoso.

La linea di fondo è che penso che la codifica effettiva del sistema sia la parte che richiede meno tempo del processo di sviluppo. Il test è la parte più lunga e importante e voglio passare la maggior parte del mio tempo nella fase di test. Tendo anche a imparare di più dai miei EA falliti, so che questo è quello che tutti dicono, ma i fallimenti nei test tendono ad aiutare a restringere gli intervalli di parametri per le future ottimizzazioni, questo rende i test degli EA più promettenti più veloci alla fine.

Solo i miei 2 centesimi.

Bene, allora siamo d'accordo di non essere d'accordo....e grazie per aver scritto un post molto lungo. forse questo articolo andrà bene. ottimizzazione = TRAP, si può cadere dentro. https://www.mql5.com/en/articles/1434

 

@c0d3: Ecco un consiglio che mi è stato dato da alcuni grandi sviluppatori su questo forum. Non usare mai lo Strategy Optimizer (tranne che per il fine tuning). Il processo di sviluppo ideale è: 1) Pensi che una strategia abbia senso. 2) Si codifica e si testa la strategia. 4) La strategia risulta redditizia. 5) Si usa Optimizer per la messa a punto. 6) Si impara dalle aree in cui ha fallito.

L'ottimizzatore è un #-cruncher che farebbe diventare 1-pip Sl/Tp la differenza tra vincere o perdere. Ottimizzare le variabili 1 alla volta o tutte insieme non fa differenza, IMO. Ecco il mio holy-grail quando ero 1-Month new. Se fosse così facile, non sarei ancora alla ricerca di metodi migliori.

 
ubzen:

@c0d3: Ecco un consiglio che mi è stato dato da alcuni grandi sviluppatori su questo forum. Non usare mai lo Strategy Optimizer (tranne che per il fine tuning). Il processo di sviluppo ideale è: 1) Pensi che una strategia abbia senso. 2) Si codifica e si testa la strategia. 4) La strategia risulta redditizia. 5) Si usa Optimizer per la messa a punto. 6) Si impara dalle aree in cui ha fallito.

L'ottimizzatore è un #-cruncher che farebbe diventare 1-pip Sl/Tp la differenza tra vincere o perdere. Ottimizzare le variabili 1 alla volta o tutte insieme non fa differenza, IMO. Ecco il mio holy-grail quando ero 1-Month new. Se fosse così facile, non sarei ancora alla ricerca di metodi migliori.

Questi punti sono esattamente ciò che l'articolo aveva sull'ottimizzazione. E anche la mia personale presa del tester. Sono abbastanza sorpresa perché anche consigliato il contrario. Contraddizioni di business?

Tutto sommato, il trading è un gioco relativamente "semplice", se si considera questo fatto. Nessuno, nemmeno quelli geniali, fa trading tutto il giorno come fanno alcuni robot - quelli buoni ed eccezionali impiegano solo 15-30 min, al massimo 1 ora per entrare, tirare fuori 70-100 pips e andare a pranzo. Sembra abbastanza difficile per un robot? Se puoi farlo settimanalmente, o quotidianamente, e ami farlo fino a quando sei vecchio come quella vecchia signora di YTE, questo è quello che ho chiamato un santo graal. non un robot che ha bisogno di armeggiare per sempre.

Ma per caso, se volete complicare le cose con un robot, allora preparatevi ad avere a portata di mano certe conoscenze di ciò che fa veramente ticchettare un programma informatico, oltre ai mercati. Potreste aver bisogno di abilità che coprano diverse aree, non solo la programmazione, ma anche argomenti fondamentali - la logica booleana è una certezza, la matematica e gli approfondimenti ingegneristici saranno utili, ecc, ecc. Queste possono essere al di là di alcune persone.

Se volete saperne di più, quello che posso condividere, spero, è il test e l'ottimizzazione, non è altro che un'abile forza meccanica statistica per sfornare dati secondo una logica che VOI gli avete dato da seguire. Ma la verità è che i mercati non funzionano secondo le leggi statistiche o la TUA logica, se non l'hai ancora scoperto.

Ho degli EA commerciali ben raccomandati, che hanno dato risultati piacevoli nei backtest, eppure mi hanno dato ancora un enorme, enorme drawdown soprattutto negli ultimi mesi. Ora, se ci siete passati, saprete meglio cosa intendo. C'è una cosa come un Santo Graal, ma sicuramente non un meccanico che richiede armeggiare solo per adattarsi al momento. E i suoi gloriosi risultati di backtest.

Il mio consiglio è questo: prendi questo armeggiare come un hobby e fai trading SEPARATAMENTE. Se volete combinarli entrambi, allora siate pronti ad essere il suo stesso sacrificio, a lungo termine.

 

Il99% delle persone che fanno trading sul Forex perdono. Questi sono trader non robot. I robot non sono il male, sono uno strumento. Il robot è buono solo quanto il denaro e il tempo che si paga per loro. ;)

 
diostar:

Bene, allora siamo d'accordo di non essere d'accordo....e grazie per aver scritto un post molto lungo. forse questo articolo andrà bene. ottimizzazione = TRAP, puoi caderci dentro. https://www.mql5.com/en/articles/1434


L'ottimizzazione è una trappola se ti lasci intrappolare. Io uso l'ottimizzazione per ottenere il maggior numero possibile di trade in un certo numero di anni. Mentre sto facendo qualcos'altro. Non metterei un centesimo dei miei soldi con un robot che non è stato testato, backtestato e testato in avanti. Il problema è il tempo, quanto tempo hai intenzione di aspettare per scambiare denaro reale. Faccio trading da circa 5 anni, il vantaggio di un robot rispetto ad un uomo è questo, fa quello che tu gli hai programmato di fare. Non accende la CNBC e ascolta quello che pensa qualche idiota, non aspetta una nuova uscita, non si innervosisce e non ferma un'operazione in anticipo perché ha la sensazione che il mercato stia per cambiare. Funziona anche se non sei un trader a tempo pieno.

Se esegui 12.000 simulazioni nell'ottimizzatore e il 70% di queste esecuzioni fallisce, e il 10% delle esecuzioni ti fa guadagnare il 2000% o qualsiasi numero folle che la gente sta cercando, allora hai praticamente un sistema perdente e non vale il tempo di testarlo.

Se pensate di testare un sistema manualmente per un certo numero di anni e di modificarlo dopo ogni corsa cambiando un parametro alla volta, questo è più folle che eseguire l'ottimizzatore. Tuttavia, se si eseguono diciamo 15.000 passaggi nell'opt e nessuno di quei passaggi è un perdente, allora si ha un sistema che è pronto per almeno cadere in un conto demo per il test in avanti per dire 4 settimane. BTW a questo punto troverete i veri bug di codifica.

Mostratemi una persona che fa trading per 15-30 minuti al giorno e mette in banca 100-150 pips e poi va a pranzo, vi mostrerò qualcuno che non fa trading con soldi veri. Il trading è un lavoro a tempo pieno come qualsiasi altro lavoro.

Se questo è un hobby, non sono sicuro del perché dovresti perdere tempo facendo questo tipo di codifica. È abbastanza facile tecnicamente e non guadagnerai tanto quanto faresti in un normale lavoro di sviluppo. Nel mio lavoro diurno lavoro su un sistema che ha quasi 2 milioni di linee di codice usando 4 linguaggi e funziona su mainframe, PC, ogni sapore di UNIX e la maggior parte dei sistemi operativi Linux.

A mio modesto parere, l'articolo era interessante. Questo non significa che io creda ad ogni parola in esso contenuta. È solo l'opinione dell'autore, probabilmente hanno dovuto eseguire molte ottimizzazioni per arrivare alla conclusione che l'ottimizzazione è una trappola. Se l'hanno fatto, allora come può essere corretto l'articolo dato che l'ottimizzazione non funziona.

 
ubzen:

@c0d3: Ecco un consiglio che mi è stato dato da alcuni grandi sviluppatori su questo forum. Non usare mai lo Strategy Optimizer (tranne che per il fine tuning). Il processo di sviluppo ideale è: 1) Pensi che una strategia abbia senso. 2) Si codifica e si testa la strategia. 4) La strategia risulta redditizia. 5) Si usa Optimizer per la messa a punto. 6) Si impara dalle aree in cui ha fallito.

L'ottimizzatore è un #-cruncher che farebbe diventare 1-pip Sl/Tp la differenza tra vincere o perdere. Ottimizzare le variabili 1 alla volta o tutte insieme non fa differenza, IMO. Ecco il mio holy-grail quando ero 1-Month new. Se fosse così facile, non sarei ancora alla ricerca di metodi migliori.

  • Sono fortemente d'accordo, il back-testing è buono solo per testare la logica (tecnica, visiva), e non dovrebbe mai essere usato come un indicatore del potenziale di profitto
  • Quindi, ho solo testato in avanti gli EA per misurare le loro prestazioni, quindi cose come l'ottimizzazione è un argomento completamente nuovo, su cui sono ancora scettico
 
danjp:

Se pensi di testare un sistema manualmente per un certo numero di anni e di modificarlo dopo ogni esecuzione cambiando un parametro alla volta, questo è più folle che eseguire l'ottimizzatore. Tuttavia, se si eseguono diciamo 15.000 passaggi nell'opt e nessuno di quei passaggi è un perdente, allora si ha un sistema che è pronto per almeno cadere in un conto demo per il test in avanti per dire 4 settimane. BTW a questo punto troverete i veri bug di codifica.


Questo è un buon punto, circa il back-testing

Motivazione: