Processo di sviluppo del sistema Ubzen

 

Scopo: Sto cercando di definire un processo di sviluppo del sistema. Ho qualche idea nella mia testa, ma non è completa. La mia speranza è che altri che ne sanno di più possano criticare il processo. Se qualche membro prominente ha un problema con me che uso il forum come un blog personale, o non vede nulla di buono in questo esperimento, basta dirlo e mi fermerò prontamente.

Ok, abbiamo già il sistema fornito da un membro chiamato sakis qui. Un piccolo campione di 3 mesi di test ha mostrato risultati prevedibili. Ora sto imparando come ottenere tutte le misurazioni statistiche per questo periodo usando questo articolo. Inizierò prima con Mae/Mfe.

 

Ci sono fondamentalmente due approcci per catturare il MAE/MFE di ogni trade durante il backtesting.

Il primo metodo che ho seguito è stato quello di tracciare il massimo profitto/perdita della posizione tick-by-tick durante il backtesting, catturando gli estremi in modo "real-time". Questo è l'approccio più intensivo per la CPU ed è anche il meno soggetto a errori sistematici nel risultato finale.

Il secondo metodo, e quello che uso attualmente, è quello di aspettare che il backtest sia completo e poi durante la deinit() si fa un loop attraverso la orderhistory, estraendo i timestamp di apertura e chiusura dell'ordine per ogni trade e cercando il prezzo minimo e massimo estremo che si è verificato tra questi due timestamp. E poi usa questi prezzi estremi per calcolare il MAE e il MFE che devono essersi verificati per l'operazione in quei momenti.

Questo è molto veloce e leggero, ideale per il backtesting, ma può introdurre errori SE il MAE o MFE si verifica nella candela di apertura o in quella di chiusura perché i punti di prezzo che definiscono quelle candele nel file hst possono essere accaduti cronologicamente prima di orderopen o dopo orderclose (ma nella stessa candela).

In pratica non ho trovato questo inconveniente del secondo approccio che sia effettivamente un problema. Ma è qualcosa di cui essere consapevoli.

(un altro vantaggio di sviluppare una routine di inclusione per la vostra deinit() è che potete anche usarla come uno script da eseguire sui vostri conti forward/live...basta trascinare e rilasciare e vi permette di analizzare le operazioni passate sul conto)

 

ciao ubzen come stai?

1) La tua logica di uscita sembra non funzionare come definito nel sistema originale, almeno da un primo sguardo al grafico.

2) Il sistema funziona meglio per me con un risk revard ratio di 2 invece di uno, forse il RRR dinamico potrebbe anche migliorare di più.

3) Dal 01.01.2010 al 01.03.2010 sembra essere uno sweetspot per questo EA, quasi nessuna perdita, il periodo potrebbe essere un po' piccolo per i test e non scelto bene.

4) Abbiamo una diversa interpretazione della strategia, dopo un incrocio prezzo/ma io capisco che il MACD deve aver già incrociato lo 0 (ma non più di 5 barre di distanza) ma tu aspetti l'incrocio macd e apri gli ordini.

-La mia interpretazione filtra già molti trade.

Ho aggiunto:

a)supporto per i buy e i sell allo stesso tempo. (anche se gli ordini sono a pareggio si possono aprire nuovi ordini).

b)Filtro di entrata del punto pivot (compra solo sopra/vendi solo sotto)

c)Ho usato il CCI al posto della logica di uscita originale. (C'è ancora molto da fare in questo caso).

qui alcune foto:


 

Grazie Zzuegg,

Amico, sei un tale amante del rischio ;). 10% ???. Sono contento di vedere che funziona un po' nel futuro. Avevo paura di guardare al futuro per paura di curvare questa cosa. Un'occhiata visiva è tutto quello che serve.

1) La tua logica di uscita sembra non funzionare come definita nel sistema originale, almeno da una prima occhiata al grafico. Rifarò il codice per assicurarmi che stia facendo l'intenzione originale del fornitore prima di postare di nuovo l'EA.

2) Il sistema funziona meglio con un risk revard ratio di 2 invece di uno, forse il RRR dinamico potrebbe anche migliorare di più. Ecco perché sto facendo tutto questo per vedere cosa migliorerebbe.

3) Dal 01.01.2010 al 01.03.2010 sembra essere uno sweetspot per questo EA, quasi nessuna perdita, il periodo potrebbe essere un po' piccolo per i test e non ben scelto. Quindi ha colpito lo sweetspot al primo tentativo, avevo paura di questo. Non mi interessa davvero se questa cosa è il Santo Graal. Lo sto solo usando come caso di studio, non è il mio sistema quindi, posso postare i codici.

4) Abbiamo un'interpretazione diversa della strategia, dopo un incrocio prezzo/ma capisco che il MACD deve aver già attraversato lo 0 (ma non più di 5 barre di distanza) ma tu aspetti l'incrocio macd e apri gli ordini. Sì, l'ho imparato. Solo il fornitore originale può chiarirlo ora.

 
ubzen:

Grazie Zzuegg,


3) Dal 01.01.2010 al 01.03.2010 sembra essere uno sweetspot per questo EA, quasi nessuna perdita, il periodo potrebbe essere un po' piccolo per i test e non ben scelto.
Quindi ha colpito lo sweetspot al primo tentativo, avevo paura di questo. Non mi interessa davvero se questa cosa è il Santo Graal. Lo sto solo usando come caso di studio, non è il mio sistema quindi, posso postare i codici.

se funziona bene perché non usare un sistema? C'è ancora molto da fare, ma per una strategia grezza questa mostra del potenziale. la logica di uscita deve essere estesa pesantemente dal mio punto di vista.

per quanto riguarda il 10% mi piace vedere chiaramente gli alti e bassi su testruns, niente per simulazioni realistiche, naturalmente.


aggiungere:

la cosa più interessante è che anche con un rapporto rischio-rischio di 2 questo sistema ha vinto più del 50% dei trade, il che è un bel vantaggio

 

@1005phillip: Attenzione Notato. Non ho mai preso il tempo di scaricare i tick-data. Quanto è grande questo problema?

Poiché la Massima Escursione Avversa dovrebbe essere più importante per un trader, inizieremo con quella. Utilizzando gli stessi risultati, ho tracciato quello che credo sia il (metodo LS) all'interno del mio Excel ho fatto linea di tendenza, Qualcuno mi corregga se mi sbaglio. Lo strumento utilizzato per generare il foglio di calcolo è stato quello di Rosh trovato qui. Poi userò lo strumento di 1005phillip trovato qui per valutarlo in base ad alcune costanti di tempo diverse.

Bene, ha una pendenza positiva. Quindi, cosa significa questo e come possiamo migliorarlo? Diavolo, se lo sapessi, non starei facendo esperimenti qui. Tuttavia, fedele all'articolo, è Positivo, cioè un punto nel nostro salvadanaio. Lascerò la logica dello Stop_Level al suo posto. Quando lo testeremo con diversi time-2-close questi numeri dovrebbero cambiare completamente.

Di seguito l'immagine del grafico e dello Slope.... Ho anche allegato il .csv creato dal report.

File:
 

ubzen, è una questione di preferenze personali su cosa fare con i dati MAE.

Non caratterizzo il MAE rispetto al P/L... per me non è una causa-effetto statisticamente valida.

Caratterizzo il MAE come il MAE ti sta dicendo che la tua "strategia di entrata" ti ha portato in una posizione troppo presto, per un importo pari al MAE. In quanto tale, il tuo "potenziale di profitto" per l'operazione è stato minato da un importo pari al MAE.

Il MAE serve per mettere a punto la tua strategia di entrata. Il MFE serve per mettere a punto la tua strategia di uscita.

La differenza tra il MFE e l'OrderProfit è qualcosa che io chiamo "eccesso di MFE" o semplicemente "EMFE" e questo è il denaro che hai lasciato sul tavolo in virtù della tua strategia di uscita tenendo la posizione aperta troppo a lungo.

In terzo luogo, il tempo è denaro. Il capitale legato a sostenere la posizione di margine di un trade è un capitale che non può essere usato per sostenere un altro trade. Quindi il "tempo al MAE" e il "tempo all'EMFE" sono parametri da analizzare in quanto sono un'indicazione del tempo in cui non state usando il vostro capitale in modo saggio/efficiente.

Infine, è fondamentale che indaghiate la cronologia del verificarsi di MAE e MFE. Se il MAE si verifica prima del MFE allora il trade era buono ma ha bisogno di un'ottimizzazione per sintonizzare le strategie di entrata e uscita per un MAE minimo e un EMFE minimo.

Ma se il MAE si verifica dopo il MFE, allora la strategia si è rotta in più modi. Forse il più significativo è che sta aprendo posizioni opposte a quelle che si dovrebbero prendere. Se la vostra strategia apre una posizione lunga e il mercato procede a ritagliare un'azione di prezzo che si traduce nel MFE che si verifica prima del MAE per il vostro commercio, allora significa che il vostro commercio in realtà avrebbe dovuto essere una posizione corta, non una posizione lunga (nel qual caso il MFE per la posizione lunga diventa il MAE per la breve, e viceversa per il MFE).

Penso di averli postati prima, ma non ricordo:

 
Grazie per questi grafici, 1005phillip. Lo spiega molto bene per me.
 
Ciao Phillip, sono bloccato e ho bisogno del tuo aiuto. Usando il tuo strumento, ottengo in qualche modo valori che non mi aspetto. Per esempio, quando sommo il Profitto/Perdita in Pips Data, mi restituisce un numero negativo ma la sim era positiva. Immagino che questo abbia qualcosa a che fare con la frequenza, ma puoi spiegare. Stavo per mandarti un pm ma altri potrebbero avere questo problema con il tuo strumento. Grazie.... In allegato qui sotto ci sono i file del test.
File:
help.zip  20 kb
 
@1005phillip grazie per i grafici! Ho avuto queste statistiche codificate nel mio EA per un po'... questo migliora decisamente la mia interpretazione dei numeri che sputa fuori!
 

Ciao Phillip, solo qualche piccola domanda da parte mia:

Dopo aver usato il tuo strumento ho ottenuto questi file istogramma. Finora ho dato un'occhiata da vicino al "Profitloss versus MAE & MFE" in pips.

Per quanto ho capito questi valori mostrano i pips che ho perso durante il trade era aperto. Fondamentalmente i migliori risultati sarebbero quando Profit==MFE e MAE==0. Giusto?

Se si guarda l'immagine qui sotto si può vedere:

  • se l'EA fa profitto, è vicino al MFE (ovviamente dato che uso i takeprofits)
  • se l'EA fa profitto anche il MAE è per lo più vicino a 0, il che significa che anche le entrate sono abbastanza buone. (almeno il migliore durante il tempo di apertura dell'ordine)
  • se l'EA fa delle perdite, il MAE è per lo più uguale al MAE (naturalmente perché viene usato lo stoploss):
  • Se in quel caso il MFE è vicino a 0 non c'è possibilità di fare profitto
  • Ma se il MFE è alto significa che ho mancato un'uscita.

Queste conclusioni sono valide?


Motivazione: