Evidentemente è proprio un bug di beeTrader: il vettore che abbiamo cercato di calcolare nell\'area di scripting del trading system vale sempre zero (ovvero, come se non venisse calcolato affatto), mentre nell\'area di scripting dell\'indicatore viene calcolato regolarmente!
Indicatore SthocasticRSI
Collapse
X
-
Salve,
nel calcolo del segnale era presente un bug in beeTrader che portava ad una divisione per zero sull\'ultima barra, che portava quindi alla mancata generazione degli ordini. Questo problema sarà corretto nella prossima release 0.8.10.18.
Ho inoltre applicato delle piccole modifiche agli script del segnale, in termini di ottimizzazione della velocità di calcolo.
Buy Script
Codice:# Signal Buy Script INPUTS: @periods(14), @lineamin(20), @lineamax(80) SET baseRSI = RSI(CLOSE, @periods) SET RSIL = MIN(baseRSI, @periods) SET RSIH = MAX(baseRSI, @periods) SET DIFF = RSIH - RSIL SET SRSI = CHANGEIF(DIFF <> 0, ((baseRSI - RSIL) / DIFF) * 100) CROSSOVER(SRSI, @lineamin) #SRSI > @lineamin AND REF(SRSI, 1) < @lineamin
Sell Script
Codice:# Signal Sell Script SET baseRSI = RSI(CLOSE, @periods) SET RSIL = MIN(baseRSI, @periods) SET RSIH = MAX(baseRSI, @periods) SET DIFF = RSIH - RSIL SET SRSI = CHANGEIF(DIFF <> 0, ((baseRSI - RSIL) / DIFF) * 100) CROSSOVER(@lineamax, SRSI) #SRSI < @lineamax AND REF(SRSI, 1) > @lineamax
Max FrancarioComment
-
Mi sembrava troppo bello......
Non so se il risultato sia comunque corretto, ma i bug ci sono ancora!!!!!
Se faccio il backtest su APPLE, FIAT o FTSE (ad esempio) ottengo un risultato analogo a quello sopra, se lo faccio su ATLANTIA, DAX, GENERALI non funziona e non mi da nessun risultato!!!!!!!
Inoltre ho appena verificato che su APPLE con TF 1 ora funziona, con TF 1 minuto no!!!!
Ovviamente l\'ho testato a caso su questi titoli quindi non li ho provati tutti per dire su quale funziona e quale no....Last edited by masterci; 14-11-13, 01:55.Comment
-
Ciao caro,Mi sembrava troppo bello......
Non so se il risultato sia comunque corretto, ma i bug ci sono ancora!!!!!
Se faccio il backtest su APPLE, FIAT o FTSE (ad esempio) ottengo un risultato analogo a quello sopra, se lo faccio su ATLANTIA, DAX, GENERALI non funziona e non mi da nessun risultato!!!!!!!
Inoltre ho appena verificato che su APPLE con TF 1 ora funziona, con TF 1 minuto no!!!!
Ovviamente l\'ho testato a caso su questi titoli quindi non li ho provati tutti per dire su quale funziona e quale no....
ho fatto diverse prove e mi pare funzioni, perchè dici che non funziona? Ti riporto l\'ultimo esempio su Atlantia (usando anche l\'indicatore di maxmax68) e corrisponde alla perfezione. Mi sfugge qualcosa?
Magari semplicemente su certi titoli non si sono verificate le condizioni..
Ciao CiaoComment
-
No Andrea, c\'è qualcosa che non va!!!!!!
Primo, ti posso assicurare che nelle prove fatte al volo ieri sera i risultati sono stati quelli che ti ho scritto mentre adesso appena acceso e testato su TF 1 ora funziona....
Secondo, ed è la cosa che mia ha rovinato la giornata, guarda il grafico.......
Ho caricato l\'indicatore (modificato con l\'aggiunta dei segnali di Massimo) per vedere se i segnali generati fossero veramente in linea con quanto indicato dall\'indicatore e fin qui mi sembra tutto OK.
Il problema è che non corrisponde assolutamente con il risultato del Backtest....
Se guardi dove sono stati effettuati i buy e sell ti accorgi che sono stati messi assolutamente a caso!!!!
Mi sembrava troppo bello........
Comment
-
Tagliamo la testa al toro!No Andrea, c\'è qualcosa che non va!!!!!!
Primo, ti posso assicurare che nelle prove fatte al volo ieri sera i risultati sono stati quelli che ti ho scritto mentre adesso appena acceso e testato su TF 1 ora funziona....
Secondo, ed è la cosa che mia ha rovinato la giornata, guarda il grafico.......
Ho caricato l\'indicatore (modificato con l\'aggiunta dei segnali di Massimo) per vedere se i segnali generati fossero veramente in linea con quanto indicato dall\'indicatore e fin qui mi sembra tutto OK.
Il problema è che non corrisponde assolutamente con il risultato del Backtest....
Se guardi dove sono stati effettuati i buy e sell ti accorgi che sono stati messi assolutamente a caso!!!!
Mi sembrava troppo bello........
Posta entrambi i codici così li verifico all\'istante..
Comment
-
Indicatore SthocasticRSI
SthocasticRSI signalCodice:# Assign the indicator values to the PLOTx variables like in the following example: INPUTS: @periods(14),@lineamin(30),@lineamax(74) SET RSIL = MIN(RSI(CLOSE, @periods), @periods) SET RSIH = MAX(RSI(CLOSE, @periods), @periods) set DIFF = MAX(RSI(CLOSE, @periods), @periods)-MIN(RSI(CLOSE, @periods), @periods) SET SthocasticRSI = ((RSI(CLOSE, @periods)-RSIL)/DIFF)*100 set plot1 = SthocasticRSI set plot2 = @lineamin set plot3 = @lineamax #nuove righe aggiunte per test SET cond1 = (SthocasticRSI > @lineamin) AND (REF(SthocasticRSI, 1) < @lineamin) SET cond2 = (SthocasticRSI < @lineamax) AND (REF(SthocasticRSI, 1) > @lineamax) SET prova1 = cond1 * 100 SET prova2 = cond2 * 100 SET PLOT4 = prova1 SET PLOT5 = prova2 #fine righe aggiunte per test
Buy
sellCodice:INPUTS: @periods(14),@valmin(30),@valmax(74) SET REQUIRED_BARS = 50 SET SRSI = SthocasticRSI(@periods) CROSSOVER(SRSI, @valmin)
Se metti il signal in Backtest dovresti ottenere il grafico che ho postato prima!Codice:SET SRSI = SthocasticRSI(@periods) CROSSOVER(@valmax,SRSI)
titolo ATLANTIA TF 1 oraComment
-
Ciao caro,Indicatore SthocasticRSI
SthocasticRSI signalCodice:# Assign the indicator values to the PLOTx variables like in the following example: INPUTS: @periods(14),@lineamin(30),@lineamax(74) SET RSIL = MIN(RSI(CLOSE, @periods), @periods) SET RSIH = MAX(RSI(CLOSE, @periods), @periods) set DIFF = MAX(RSI(CLOSE, @periods), @periods)-MIN(RSI(CLOSE, @periods), @periods) SET SthocasticRSI = ((RSI(CLOSE, @periods)-RSIL)/DIFF)*100 set plot1 = SthocasticRSI set plot2 = @lineamin set plot3 = @lineamax #nuove righe aggiunte per test SET cond1 = (SthocasticRSI > @lineamin) AND (REF(SthocasticRSI, 1) < @lineamin) SET cond2 = (SthocasticRSI < @lineamax) AND (REF(SthocasticRSI, 1) > @lineamax) SET prova1 = cond1 * 100 SET prova2 = cond2 * 100 SET PLOT4 = prova1 SET PLOT5 = prova2 #fine righe aggiunte per test
Buy
sellCodice:INPUTS: @periods(14),@valmin(30),@valmax(74) SET REQUIRED_BARS = 50 SET SRSI = SthocasticRSI(@periods) CROSSOVER(SRSI, @valmin)
Se metti il signal in Backtest dovresti ottenere il grafico che ho postato prima!Codice:SET SRSI = SthocasticRSI(@periods) CROSSOVER(@valmax,SRSI)
titolo ATLANTIA TF 1 ora
perfetto grazie! Oggi siamo stati molto impegnati, ma domani mattina lo faccio girare in debug e verifico che c\'è che non va....grazie!
Ciao CiaoComment
-
Grazie Andrea, comunque sono sicuro che c\'è un bug sul Backtest perchè anche oggi pomeriggio, volendo testare su APPLE, non mi segnava niente mentre ieri nelle stesse identiche condizioni mi ha generato 109 ordini!!!!!
D\'altra parte è impossibile che su un grafico orario a 1500 barre non venga mai soddisfatta la condizione per il buy o per il sell con questo indicatore......
Quindi non è per il mancato rispetto delle condizioni che il backtest non apre nemmeno una posizione!!
Se provi a fare dei test, falli su più titoli e su TF diversi e vedrai che è come ti dico....
Peccato perchè mi ero illuso alla grande con una equity del genere!!!!!
Grazie mille!!!
BeppeComment
-
Salve a tutti,Grazie Andrea, comunque sono sicuro che c\'è un bug sul Backtest perchè anche oggi pomeriggio, volendo testare su APPLE, non mi segnava niente mentre ieri nelle stesse identiche condizioni mi ha generato 109 ordini!!!!!
D\'altra parte è impossibile che su un grafico orario a 1500 barre non venga mai soddisfatta la condizione per il buy o per il sell con questo indicatore......
Quindi non è per il mancato rispetto delle condizioni che il backtest non apre nemmeno una posizione!!
Se provi a fare dei test, falli su più titoli e su TF diversi e vedrai che è come ti dico....
Peccato perchè mi ero illuso alla grande con una equity del genere!!!!!
Grazie mille!!!
Beppe
anch\'io ho osservato delle stranezze con il backtest, in generale.
Infatti spesso mi capita di applicare dei signal perfettamente funzionanti al backtest ed ottenere zero ordini di acquisto-vendita. E mi tocca cancellare e riapplicare un po\' di volte il signal prima di ottenere il risultato corretto.
Ho riscritto il segnale di Beppe e l\'ho applicato alla chart di Unicredit per provare.
La prima volta è partito, poi basta per un po\' di restart, e infine ha ricominciato ad andare. Strano ?
Allego codici signal e indicatore e immagini.
Saluti
Massimo
[High]
# Signal Buy
INPUTS: @periods(14),@valmin(30),@valmax(74)
SET RSIL = MIN(RSI(CLOSE, @periods), @periods)
SET RSIH = MAX(RSI(CLOSE, @periods), @periods)
set DIFF = MAX(RSI(CLOSE, @periods), @periods)-MIN(RSI(CLOSE, @periods), @periods)
SET SthocasticRSI = ((RSI(CLOSE, @periods)-RSIL)/DIFF)*100
SET SRSI = SthocasticRSI
CROSSOVER(SthocasticRSI, @valmin)
# Signal Sell
SET RSIL = MIN(RSI(CLOSE, @periods), @periods)
SET RSIH = MAX(RSI(CLOSE, @periods), @periods)
set DIFF = MAX(RSI(CLOSE, @periods), @periods)-MIN(RSI(CLOSE, @periods), @periods)
SET SthocasticRSI = ((RSI(CLOSE, @periods)-RSIL)/DIFF)*100
SET SRSI = SthocasticRSI
CROSSOVER(@valmax,SthocasticRSI)
# Indicatore
INPUTS: @periods(14),@valmin(30),@valmax(74)
SET RSIL = MIN(RSI(CLOSE, @periods), @periods)
SET RSIH = MAX(RSI(CLOSE, @periods), @periods)
set DIFF = MAX(RSI(CLOSE, @periods), @periods)-MIN(RSI(CLOSE, @periods), @periods)
SET SthocasticRSI = ((RSI(CLOSE, @periods)-RSIL)/DIFF)*100
SET SRSI = SthocasticRSI
SET COND1 = CROSSOVER(@valmax,SthocasticRSI)
SET COND2 = CROSSOVER(SthocasticRSI,@valmin)
SET PLOT1 = COND1
SET PLOT2 = COND2
[/High]Comment



Comment