Tutto sul TS BeeChristmasTree
Collapse
X
-
Comment
-
buonasera a tutti, sto provando ad ottimizzare i valori per il backtest di beeChristmastree e mi è sorto un dubbio che forse è relativo a tutti i backtest che si possono fare con beetrader.
Nell\'immagine allegata si vede come tutti i trade vengano effettuati alle 18:00 ora USA, quindi volevo sapere se il segnale buy/sell si genera prima della chiusura della candela e poi aspetta le 18 per inviare l\'ordine.. è corretto?
In fase di strategy e non di backtest è sempre cosi?
L\'obiettivo della mia domanda è capire se il segnale buy/sell appare sul grafico prima della fine della giornata o durante.
Grazie milleLast edited by TomBishop; 18-01-15, 17:22.Comment
-
Allora ragazzi, eccomi di nuovo qua alle prese con il nostro TS.
In questi giorni ho fatto un po\' di backtest su alcuni titoli USA, ho trovato dei risultati piuttosto interessanti, ma ci sono dei problemi.
Molto probabilmente sono dovuti a quanto sottolineava Apo nel post #16 sull\'utilizzo di parametri fuori specifica.
Per capirci meglio farò un esempio pratico.
Ho preso il titolo Autozone.
Dall\'ottimizzazione su grafico a 1H ho ottenuto il set migliore (5/2/5/300).
Ecco i risultati con un Amount di 10.000$ con Normal Distribution:
Si evidenzia un Profit Factor <3, degli ottimi Percent Profitable e Return on Account. L\'Efficiency debole.
Vedo che comunque l\'equity è molto buona.
Oggi ho messo in Real Market con gli stessi set e per 1 solo trade, per rendermi conto di come si comporta il TS.
La cosa che non comprendo è che pur essendo in perdita, il trade è stato chiuso in Trailing
:
Quesiti:
1)Il @Gainlevel impostato a 2 è un errore? Sarebbe l\'Amount per il calcolo del Trailing?
2) In caso affermativo alla domanda 1, perché in backtest i risultati sono buoni?
Infatti se fosse vero che a +2$ comincia il calcolo del trailing, il comportamento in test sarebbe incoerente.
3) Come si spiega l\'attivazione del Trailing con un trade in perdita?
Grazie.Comment
-
Alex, per quello che ne so io, poco:
Quesiti:
1)Il @Gainlevel impostato a 2 è un errore? Sarebbe l\'Amount per il calcolo del Trailing?
2) In caso affermativo alla domanda 1, perché in backtest i risultati sono buoni?
Infatti se fosse vero che a +2$ comincia il calcolo del trailing, il comportamento in test sarebbe incoerente.
3) Come si spiega l\'attivazione del Trailing con un trade in perdita?
Grazie.
1) si, si è un errore
2) per il solito motivo del trailing stop in backtest (a questo proposito sto preparando un quesito/richiesta per il dream team)
3) bisogna vedere come si è formata la candela
comunque così purtroppo non ha senso fare backtest, immagina che hai impostato un trailing profit di 2 $ ma hai un gain medio di 300$ ... qualcosa non funziona no
?!
E\' il solito problema di come si forma la candela nella realtà!Io non vendo tasti ! - Tiziano Cagalli
...quindi se c'è un tasto (su Fiuto) vuol dire che serve !!Comment
-
Ciao civvic,Alex, per quello che ne so io, poco:
1) si, si è un errore
2) per il solito motivo del trailing stop in backtest (a questo proposito sto preparando un quesito/richiesta per il dream team)
3) bisogna vedere come si è formata la candela
comunque così purtroppo non ha senso fare backtest, immagina che hai impostato un trailing profit di 2 $ ma hai un gain medio di 300$ ... qualcosa non funziona no
?!
E\' il solito problema di come si forma la candela nella realtà!
è vero, qualcosa non quadra.
Penso che si debbano quanto prima risolvere questi dubbi, al fine di poter riprendere le nostre analisi.
Spero anch\'io in un aiuto del dream team.
Comment
-
Salve,
nell\'esecuzione del backtest di beeTrader non ci sono errori.
L\'errore è nell\'impostazione di un livello di Trailing Stop troppo basso, praticamente più piccolo del valore di movimento minimo del titolo considerando la quantità aperta. Con questa impostazione, è ovvio che il primo tick in salita dopo l\'apertura della posizione attiva il Trailing Stop, ed il successivo tick in discesa chiude la posizione, perchè la percentuale di scostamento rispetto al massimo profitto ottenuto è pari al 100% !
Lo stesso errore di impostazione si può commettere anche nell\'impostazione degli Stop Loss e Take Profit.
Per capire come funziona il Trailing Stop, faccio un semplice esempio:
- supponiamo di avere una posizione Long aperta di 100 contratti al prezzo di carico 100 (pari a 10000 €), con Tick minimo di 0.1, ed impostiamo il Trailing Stop a 5 €
- data la posizione, la variazione minima del Profit / Loss è pari a Tick Minimo * Quantita = 0.1 * 100 = 10 €
- al primo tick superiore al prezzo di carico, ad esempio a 100.1, ho un Profit / Loss pari a (100.1 - 100) * 100 contratti = 10 €, quindi il Trailing Stop si attiva
- se il tick successivo è inferiore al tick di attivazione del Trailing Stop, la posizione viene chiusa, perchè la variazione rispetto al massimo Profit / Loss è come minimo pari a 10€, quindi al 100%, e qualsiasi impostazione sia stata fatta sulla percentuale del Trailing Stop diventa ininfluente.
Ovviamente in backtest non ci sono le sequenze di tick, ma solo di barre. Di conseguenza, se la barra successiva a quella di entrata ha un prezzo high maggiore del prezzo di entrata (long), il Trailing Stop si attiva subito, viene calcolato quindi un prezzo teorico di uscita in Trailing in base all\'impostazione della percentuale, arrotondato al valore del tick più vicino, e se questo prezzo è compreso tra high e low della barra, viene segnalato come eseguito.
Un ulteriore errore di impostazione che si può notare dai grafici è quello di non filtrare i dati in arrivo dal datafeed per i prezzi al di fuori degli orari di negoziazione normali. Nella selezione del simbolo, quando si crea il nuovo chart, è possibile attivare l\'apposita sezione a questo scopo.
Per capire l\'effetto di questa mancata impostazione, basta aggiungere una media mobile al grafico, con qualsiasi periodo.
Ricapitolando, prima di qualsiasi altra cosa, bisogna:
1. Impostare dei livelli di Stop Loss, Take Profit e Trailing Stop adeguati in base al titolo, alla quantità ed al controvalore da usare nel backtest
2. Filtrare i dati escludendo i periodi al di fuori degli orari di negoziazione standard.
Max FrancarioLast edited by Francario Massimiliano; 22-01-15, 12:28.Comment
-
Grazie Max per la spiegazione e i chiarimenti.Salve,
nell\'esecuzione del backtest di beeTrader non ci sono errori.
L\'errore è nell\'impostazione di un livello di Trailing Stop troppo basso, praticamente più piccolo del valore di movimento minimo del titolo considerando la quantità aperta. Con questa impostazione, è ovvio che il primo tick in salita dopo l\'apertura della posizione attiva il Trailing Stop, ed il successivo tick in discesa chiude la posizione, perchè la percentuale di scostamento rispetto al massimo profitto ottenuto è pari al 100% !
Lo stesso errore di impostazione si può commettere anche nell\'impostazione degli Stop Loss e Take Profit.
Per capire come funziona il Trailing Stop, faccio un semplice esempio:
- supponiamo di avere una posizione Long aperta di 100 contratti al prezzo di carico 100 (pari a 10000 €), con Tick minimo di 0.1, ed impostiamo il Trailing Stop a 5 €
- data la posizione, la variazione minima del Profit / Loss è pari a Tick Minimo * Quantita = 0.1 * 100 = 10 €
- al primo tick superiore al prezzo di carico, ad esempio a 100.1, ho un Profit / Loss pari a (100.1 - 100) * 100 contratti = 10 €, quindi il Trailing Stop si attiva
- se il tick successivo è inferiore al tick di attivazione del Trailing Stop, la posizione viene chiusa, perchè la variazione rispetto al massimo Profit / Loss è come minimo pari a 10€, quindi al 100%, e qualsiasi impostazione sia stata fatta sulla percentuale del Trailing Stop diventa ininfluente.
Ovviamente in backtest non ci sono le sequenze di tick, ma solo di barre. Di conseguenza, se la barra successiva a quella di entrata ha un prezzo high maggiore del prezzo di entrata (long), il Trailing Stop si attiva subito, viene calcolato quindi un prezzo teorico di uscita in Trailing in base all\'impostazione della percentuale, arrotondato al valore del tick più vicino, e se questo prezzo è compreso tra high e low della barra, viene segnalato come eseguito.
Un ulteriore errore di impostazione che si può notare dai grafici è quello di non filtrare i dati in arrivo dal datafeed per i prezzi al di fuori degli orari di negoziazione normali. Nella selezione del simbolo, quando si crea il nuovo chart, è possibile attivare l\'apposita sezione a questo scopo.
Per capire l\'effetto di questa mancata impostazione, basta aggiungere una media mobile al grafico, con qualsiasi periodo.
Ricapitolando, prima di qualsiasi altra cosa, bisogna:
1. Impostare dei livelli di Stop Loss, Take Profit e Trailing Stop adeguati in base al titolo, alla quantità ed al controvalore da usare nel backtest
2. Filtrare i dati escludendo i periodi al di fuori degli orari di negoziazione standard.
Max Francario
Bene, riprendo da zero la ricerca ........
Vorrei solo domandare ai gentili colleghi se sono riusciti finora dove io finora sto miseramente fallendo.
Non oso chiedere particolari, ma vorrei solo sapere se siete riusciti ad ottenere un risultato con tutti i requisiti che un buon TS deve soddisfare, come abbiamo visto nelle discussioni dedicate all\'ottimizzazione.
Grazie.Comment
-
Alex, sul BeeCTree sto facendo tante prove anche io ma per ora settaggi funzionanti in backtest si rivelano fallimentari poi in strategy (le mie prove sono a bassi tf).
Penso che per l\'uscita in trailing stop la distribuzione probabilistica giusta non sia nè la gaussiana nè l\'uniforme ma forse una probabilità che scenda esponenzialmente a partira dal valore di ingresso della candela.
Io non vendo tasti ! - Tiziano Cagalli
...quindi se c'è un tasto (su Fiuto) vuol dire che serve !!Comment
-
Alex69 devo farti una confessione...Grazie Max per la spiegazione e i chiarimenti.
Bene, riprendo da zero la ricerca ........
Vorrei solo domandare ai gentili colleghi se sono riusciti finora dove io finora sto miseramente fallendo.
Non oso chiedere particolari, ma vorrei solo sapere se siete riusciti ad ottenere un risultato con tutti i requisiti che un buon TS deve soddisfare, come abbiamo visto nelle discussioni dedicate all\'ottimizzazione.
Grazie.
io contavo sulla tua laboriosità
Avevo fatto qualche prova a Natale ma senza esiti soddisfacenti
Appena ho un po\' di tempo ci riprovo e, nel caso, vi aggiorno
"la libertà è il tempo della vita che se ne va e che spendiamo nelle cose che ci motivano”. PepeComment
-
Grazie civvic,Alex, sul BeeCTree sto facendo tante prove anche io ma per ora settaggi funzionanti in backtest si rivelano fallimentari poi in strategy (le mie prove sono a bassi tf).
Penso che per l\'uscita in trailing stop la distribuzione probabilistica giusta non sia nè la gaussiana nè l\'uniforme ma forse una probabilità che scenda esponenzialmente a partira dal valore di ingresso della candela.
aspettiamo altri commenti.
Se magari Tiziano volesse darci un altro aiutino....
Comment
-
Ciao Fab,
ho fatto un sacco di lavoro, ma a quanto pare c\'erano degli errori alla base.
Alla luce di quanto ha detto Max, bisogna settare meglio il @Gainlevel ed escludere le barre di chiusura mercato.
Ti ricordi i backtest sullo Stoxx a 5M che avevo postato al post #20 a dicembre? I risultati erano discreti.
Ora, non so perché, sovrapponendo il periodo in comune fra il test di allora e quello fatto oggi, con lo stesso set, con la Normal Distribution, ottengo delle equity molto diverse.
Comment
-
Vi dico la mia,Alex, sul BeeCTree sto facendo tante prove anche io ma per ora settaggi funzionanti in backtest si rivelano fallimentari poi in strategy (le mie prove sono a bassi tf).
Penso che per l\'uscita in trailing stop la distribuzione probabilistica giusta non sia nè la gaussiana nè l\'uniforme ma forse una probabilità che scenda esponenzialmente a partira dal valore di ingresso della candela.
in un TS con trailing stop come sappiamo l\'uscita viene simulata mediante prezzi generati in base ad una data distribuzione.
In ogni caso il valore di uscita sarà aleatorio e l\'errore commesso rispetto al caso reale sarà spannometricamnte uguale all\'ampiezza di una candela.
Se a questo punto noi andiamo a costruire un TS che ha un average bars in trade di 1,3 barre o giù di li (come ho visto in un post precedente), ecco che allora dobbiamo attendeci in reale di avere discostamenti significativi.
A mio avviso, su TS con trailing stop, affinche il backtest sia significativo si deve cercare un average bars in trade più grande possibile.Comment
-
Non so se sia giusto risponderti in questo 3d Maurizio, comunque ...Ciao Vittorio anche io mi sono incarognito nella ricerca di un TS su bassi Timeframe che dia un ritorno soddisfacente, non c\'è giorno che passi senza che mi si accende una lampadina
Voglio equity che salgono con regolarità, non voglio montagne russe ma curve di profitto con drowdown accettabili e sufficientemente lontani dalla mia soglia di ulcer index che sul Dax deve essere necessariamente a prova di bomba
Dalle centinaia di prove che sto facendo sono arrivato alla conclusione che in sistemi che prevedono breakout di soglie di prezzo come il BeeChristmass, per avere migliori risultati bisogna operare in coerenza con il trend.
Ti faccio vedere come migliora la curva dei profitti semplicemente inserendo un filtro di direzionalità
Ho filtrato i segnali del mio TS che lavora sui breakout, con 2 medie mobili, una gaussiana + una esponenziale.
....
Apo
Io sempre su dax ho preso una strada diversa ma con lo stesso ragionamento di fondo,
cioè prima stabilire il trend
e io lo faccio con la statistica cioè incrocio linear regression forecast e intercept,
poi stabilire quando uscire ... ho provato un pò a sparigliare ...
e qui sto provando ad usare Wil%R
in quest\'altro modo però : il segnale long di Wil nel mio ts vuol dire esci dal trend short e viceversa.
Pensavo di avvicinarmi ad un buon risultato, vedi future marzo:
ma poi ho caricato il future dicembre e:
questa equity fa un pò schifo!
Insomma non ci sono ... comunque nei backtest metto 1 tick di slippage e tu?Io non vendo tasti ! - Tiziano Cagalli
...quindi se c'è un tasto (su Fiuto) vuol dire che serve !!Comment
-
Vittorio,
hai provato a legare il segnale di uscita alla volatilità dello strumento ?
Last > AverageEntryPrice() + (@Multiplier* ATR(@periods, @matype))
tirando fuori negli input @Multiplier puoi vedere quale è il miglior moltiplicatore
fai questa prova e vedi se ottieni miglioramenti
Ciao
Apo....non si desidera ciò che è facile ottenere (Ovidio)....
Comment


Comment