Trading System con il Williams %R..... dalla A alla Z
Collapse
X
-
Scrivo per dare un appoggio morale....
mi dispiace non poter dare un contributo ma siete 4 rampe di scale più in alto del sottoscritto .... i miei 2 neuroni si stanno perdendo nel Sangiovese.
Continuate ragazzi.
Comment
-
AHAHAHAAH....troppo forte !!Scrivo per dare un appoggio morale....
mi dispiace non poter dare un contributo ma siete 4 rampe di scale più in alto del sottoscritto .... i miei 2 neuroni si stanno perdendo nel Sangiovese.
Continuate ragazzi.
https://www.youtube.com/watch?v=iI48uQe7lvU....non si desidera ciò che è facile ottenere (Ovidio)....
Comment
-
Salve,
in EasyScript c\'è la funzione POW per l\'elevamento a potenza:
POW(@base, @exponent)
Entrambi i parametri possono essere dei vettori di dati, quindi è anche possibile eseguire un elevamento a potenza con esponente variabile.
La funzione EXP è invece la funzione esponenziale, cioè l\'inverso del logaritmo naturale LN.
In matematica sono rispettivamente:
ex
ln(x)
Max FrancarioComment
-
grazie MaxSalve,
in EasyScript c\'è la funzione POW per l\'elevamento a potenza:
POW(@base, @exponent)
Entrambi i parametri possono essere dei vettori di dati, quindi è anche possibile eseguire un elevamento a potenza con esponente variabile.
La funzione EXP è invece la funzione esponenziale, cioè l\'inverso del logaritmo naturale LN.
In matematica sono rispettivamente:
ex
ln(x)
Max Francario
....non si desidera ciò che è facile ottenere (Ovidio)....
Comment
-
Salve,
in EasyScript c\'è la funzione POW per l\'elevamento a potenza:
POW(@base, @exponent)
Entrambi i parametri possono essere dei vettori di dati, quindi è anche possibile eseguire un elevamento a potenza con esponente variabile.
La funzione EXP è invece la funzione esponenziale, cioè l\'inverso del logaritmo naturale LN.
In matematica sono rispettivamente:
ex
ln(x)
Max Francario



Claudio passami del Sangiovese per cortesia .............
Comment
-
Mi spiace .... finito.
Ecco che mi scontro con la prima perplessità
Ho ottimizzato sul DJ EUROSTOXX 50 .... il Signal di base .... senza modifiche .... unica cosa serie e impegnativa è il nome che gli ho dato
Ecco il report
Salvo la WorkSpace ... chiudo BT ... riapro BT, apro la WS e mi ritrovo con risultati diversi? Perchè?
Comment
-
Salve,
perché i dati storici sono cambiati tre i due backtest.Mi spiace .... finito.
Ecco che mi scontro con la prima perplessità
Ho ottimizzato sul DJ EUROSTOXX 50 .... il Signal di base .... senza modifiche .... unica cosa serie e impegnativa è il nome che gli ho dato
Ecco il report
Salvo la WorkSpace ... chiudo BT ... riapro BT, apro la WS e mi ritrovo con risultati diversi? Perchè?
Siccome il tempo non lo possiamo fermare, con timeframe 1 minuto è facile che succeda che nel grafico "entrino" nuove barre, e quindi i dati sui quali vengono eseguiti i calcoli sono diversi, producendo di conseguenza risultati diversi.
Max FrancarioComment
-
Se Claudio dopo aver chiuso e riaperto BT e senza lanciare di nuovo il Backtest ha richiamato il summury report precedentemente salvato ed ha trovato risultati diversi allora credo ci sia un problema e Claudio ha ragione, se invece Claudio ha lanciato un nuovo backtest e confrontato i 2 report allora ha ragione Max.Salve,
perché i dati storici sono cambiati tre i due backtest.
Siccome il tempo non lo possiamo fermare, con timeframe 1 minuto è facile che succeda che nel grafico "entrino" nuove barre, e quindi i dati sui quali vengono eseguiti i calcoli sono diversi, producendo di conseguenza risultati diversi.
Max Francario
Insomma Claudio, ...quali delle due ?
Last edited by Apocalips; 09-12-14, 18:10.....non si desidera ciò che è facile ottenere (Ovidio)....
Comment
-
Non so Max ... ho fatto tutto nel giro di 2/3 minuti
Apo ... ho salvato la WS, chiuso BT , riaperto e aperta la WS. Non ho fatto altro backtest. Ho solo voluto scaricare la RAM perchè con il tempo, OS aperti ecc ecc mi stava saturando la capacità del PC.
A mercati chiusi riprovo.Comment
-
Scrivo per dare un appoggio morale....
mi dispiace non poter dare un contributo ma siete 4 rampe di scale più in alto del sottoscritto .... i miei 2 neuroni si stanno perdendo nel Sangiovese.
Continuate ragazzi.
https://www.youtube.com/watch?v=iI48uQe7lvU




Per quanto riguarda i piani di scale aspetta a vedere la ciofeca di script che ho fatto:
INPUTS: @price(CLOSE), @periods(70), @lev1(-65), @lev2(-35),@mav(5),@vola(1),@exp(1),@mav1(5)
set varia = ((oscillator(Variance(@price,@periods,@mav1),@peri ods)/50)-1)
set VariaPeriodi =(INTPORTION( pow(Varia,@exp)*50)*sign(varia))+@periods
SET PLOT1 = WilliamsPctR(VariaPeriodi)
SET PLOT2 = @lev1
SET PLOT3 = @lev2
Allora:
1. scusate il codice in sole due righe ma ho avuto dei problemi a scivere le variabili....
2. il parametro mav1 cambia il tipo di calcolo della media ( avrei pensato che in un segnale sell si dovrebbe usare qualcosa di più reattivo tipo media exp)
3. i risultati che ho per ora ottenuto non sono migliori di quelli dello script iniziale: forse bisogneebbe cambiare il modo in cui la variazione si aggiunge al periodo standard...E' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.Comment
-
Inizio con alcune domande e vediamo se vado nella direzione giusta.Questa discussione per proporre a tutti gli utenti una mia idea nata decenni orsono e pubblicata sull\'allora forum di Tradestation.
Ci focalizzeremo su come attribuire in maniera automatica il periodo da assegnare agli indicatori, cosa decisiva per una buona riuscita di trading.
A questo link avevo proposto l\'indicatore %R di Williams e si può vedere che i risultati ottenuti dai vari utenti sono buoni.
Metodi per cambiare il periodo ne esistono molti, infatti posso applicare alla sua lunghezza delle formule abbinate alla volatilità e creare due velocità applicando queste volatilità con modelli semplici, oppure logaritmici (che la ridurrebbero) o esponenziali (che la amplificherebbero).
Mi piacerebbe che si aprtisse magari dal sistema che propongo io per arrivare ad implementare delle idee nuove..in fin dei conti gli anni che passano porteranno ben delle cose nuove no?
Avanti con le idee, gli script e i test. Per come eseguire un backtest qui c\'è un post aperto nel quale fare domande.
Finito il sistema per tovare il miglior metodo per variare i periodi ci applicheremo a come .... ve lo dico dopo
1) Noi sappiamo che la volatilità può essere misurata attraverso l\'atr o la varianza/deviazione standard.
Metto un\'immagine dove si vede che in alcuni periodi i rispettivi oscillatori sono contrapposti, uno segna 100 mentre l\'altro 0.
Ammesso di non aver commesso errori nella costruzione dell\'oscillatore, l\'utilizzo di uno piuttosto che dell\'altro può portare a risultati diversi.
Mi domando quando è preferibile usare l\'uno e quando l\'altro.
2) Mi sembra fondamentale anche il periodo sul quale viene calcolato l\'indicatore di volatilità e il suo oscillatore.
E\' sensato parametrizzarlo a qualcosa? Tipo alla volatilità storica del sottostante?
3) Così come messo nella formula, il periodo può andare da 30 (80+0-50) a 130 (80+100-50). Però abbiamo visto che ci sono stati degli ottimi risultati anche con periodi più lunghi.
Si potrebbe moltiplicare il risultato dell\'oscillatore (0 / 100) per una costante in modo da allungare il periodo per il calcolo dell\'%R (magari da utilizzare su time frame più corti).
Comment
-
Ieri sera ero cotto e ho riprovato ora .... sembra essere OK . Meglio così.Non so Max ... ho fatto tutto nel giro di 2/3 minuti
Apo ... ho salvato la WS, chiuso BT , riaperto e aperta la WS. Non ho fatto altro backtest. Ho solo voluto scaricare la RAM perchè con il tempo, OS aperti ecc ecc mi stava saturando la capacità del PC.
A mercati chiusi riprovo.
Unica cosa .... tutti i parametri ottimizzati sono cambiati da ieri.
Periods e livelli.Comment
-
INPUTS: @price(CLOSE), @periods(70), @lev1(-65), @lev2(-35),@mav(5),@vola(1),@exp(1),@mav1(5)
#indicatore di volatilità... si potrebbe cambiarlo...
SET v = Variance(@price, @periods, @mav1)
#entità della variazione : ho inserito il segno meno perchè se aumneta la volatilità mi sembra più logico
#diminuire il periodo dell\'indicatore, ma forse mi sbaglio...
#si potrebbe parametrizzare anche la variazione di +/- 50 ma mi sembra esagerato
SET o = - pow(((Oscillator(v, @periods)/50)-1),@exp)*50
SET VariaPeriodi = @periods + o
SET PeriodoWilliams = IF(VariaPeriodi < 2, 2, VariaPeriodi)
SET PLOT1 = WilliamsPctR(Variaperiodi)
SET PLOT2 = @lev1
SET PLOT3 = @lev2
Ho modificato il codice perchè conteneva degli errori...E' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.Comment
-
buy signal
inputs: @mav1(5),@periods(70),@price(close),@mav2(2),@exp( 3),@lev1(-55),@lev2(-20)
SET v = Variance(@price, @periods, @mav1)
#faccio variare l\'oscillatore esponenzialmente da -50 a +50
SET o = - pow(((Oscillator(v, @periods)/50)-1),@exp)*50
SET VariaPeriodi = @periods + o
SET PeriodoWilliams = IF(VariaPeriodi < 2, 2, VariaPeriodi)
SET A = WilliamsPctR(VariaPeriodi)
SET B = @lev1
SET C = @lev2
CROSSOVER(A,@lev1)
sell signal
SET v = Variance(@price, @periods, @mav2)
#faccio variare l\'oscillatore esponenzialmente da -50 a +50
SET o = - pow(((Oscillator(v, @periods)/50)-1),@exp)*50
SET VariaPeriodi = @periods + o
SET PeriodoWilliams = IF(VariaPeriodi < 2, 2, VariaPeriodi)
SET A = WilliamsPctR(VariaPeriodi)
SET B = @lev1
SET C = @lev2
CROSSOVER(@lev2,A)
con questi parametri su dax
il meglio che avevo ottenuto con la formula iniziale, variando il tipo di medie soltanto:
E' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.Comment



Comment