Discussione: indicatore Curtosi
-
23-08-16, 00:35 #1
- Data Registrazione
- Aug 2010
- Località
- Padova
- Messaggi
- 738
indicatore Curtosi
.... ho costruito un indicatore "curtosi" sulla falsariga della pari formula che si trova su excel ..
in teoria da quello che ho capito per valori positivi i prezzi dovrebbero essere raggruppati vicini alla deviazione standard mentre per valori negativi il contrario ( lontano dalla deviazione standard ) ...
di seguito il codice , non garantisco sia corretto .....
INPUTS: @price(CLOSE), @periods(21) SET m = AVG(@price, 21) SET dv = StandardDeviations(@price, 21, 1, SIMPLE) SET f1 = 21*(21+1)/(21-1)/(21-2)/(21-3) SET f2 = 3*POW(20, 2)/19/18 SET k0 = POW((@price-m)/dv, 4) SET k1 = POW((REF(@price, 1)-m)/dv, 4) SET k2 = POW((REF(@price, 2)-m)/dv, 4) SET k3 = POW((REF(@price, 3)-m)/dv, 4) SET k4 = POW((REF(@price, 4)-m)/dv, 4) SET k5 = POW((REF(@price, 5)-m)/dv, 4) SET k6 = POW((REF(@price, 6)-m)/dv, 4) SET k7 = POW((REF(@price, 7)-m)/dv, 4) SET k8 = POW((REF(@price, 8)-m)/dv, 4) SET k9 = POW((REF(@price, 9)-m)/dv, 4) SET k10 = POW((REF(@price, 10)-m)/dv, 4) SET k11 = POW((REF(@price, 11)-m)/dv, 4) SET k12 = POW((REF(@price, 12)-m)/dv, 4) SET k13 = POW((REF(@price, 13)-m)/dv, 4) SET k14 = POW((REF(@price, 14)-m)/dv, 4) SET k15 = POW((REF(@price, 15)-m)/dv, 4) SET k16 = POW((REF(@price, 16)-m)/dv, 4) SET k17 = POW((REF(@price, 17)-m)/dv, 4) SET k18 = POW((REF(@price, 18)-m)/dv, 4) SET k19 = POW((REF(@price, 19)-m)/dv, 4) SET k20 = POW((REF(@price, 20)-m)/dv, 4) SET Kn0 = k0+k1 SET Kn1 = Kn0+k2 SET Kn2 = Kn1+k3 SET Kn3 = Kn2+k4 SET Kn4 = Kn3+k5 SET Kn5 = Kn4+k6 SET Kn6 = Kn5+k7 SET Kn7 = Kn6+k8 SET Kn8 = Kn7+k9 SET Kn9 = Kn8+k10 SET Kn10 = Kn9+k11 SET Kn11 = Kn10+k12 SET Kn12 = Kn11+k13 SET Kn13 = Kn12+k14 SET Kn14 = Kn13+k15 SET Kn15 = Kn14+k16 SET Kn16 = Kn15+k17 SET Kn17 = Kn16+k18 SET Kn18 = Kn17+k19 SET Kn19 = Kn18+k20 SET curtosi = f1 * Kn19 - f2 SET PLOT1 = curtosi
"Tempus omnia medetur" .... e fà guadagnare di Theta
-
23-08-16, 14:40 #2
Ottimo lavoro, grazie!
Per avere un sistema per fare trading avevi già un'idea?
La mia sarebbe di incrociare l'indicatore che hai fatto con la misura di queste asimetrie. La misura si chiama anche skew. Puoi trovare indicazioni qui.
In questo modo sai se l'asimetria prefigura un trend long oppure short.
Il curtosi ti dice che c'è e lo skew ti dice da che parte...se corri dietro a due lepri, non ne prendi nemmeno una.
-
23-08-16, 15:32 #3
- Data Registrazione
- Aug 2010
- Località
- Padova
- Messaggi
- 738
"Tempus omnia medetur" .... e fà guadagnare di Theta
-
23-08-16, 17:43 #4
Salve,
No, non esistono limitazioni da questo punto di vista.
Suggerisco in ogni caso di utilizzare le parantesi per raggruppare le operazioni, ed eventualmente dividere in più righe le operazioni più complesse, ottenendo in questo modo un codice più semplice da leggere, interpretare e modificare/mantenere.
Max Francario
-
23-08-16, 21:40 #5
- Data Registrazione
- Aug 2010
- Località
- Padova
- Messaggi
- 738
grazie Max
intanto curtosi rivisto
INPUTS: @price(CLOSE), @periods(21) SET m = AVG(@price, 21) SET dv = StandardDeviations(@price, 21, 1, SIMPLE) SET f1 = 21*(21+1)/(21-1)/(21-2)/(21-3) SET f2 = 3*POW(20, 2)/19/18 SET k0 = POW((@price-m)/dv, 4) SET k1 = POW((REF(@price, 1)-m)/dv, 4) SET k2 = POW((REF(@price, 2)-m)/dv, 4) SET k3 = POW((REF(@price, 3)-m)/dv, 4) SET k4 = POW((REF(@price, 4)-m)/dv, 4) SET k5 = POW((REF(@price, 5)-m)/dv, 4) SET k6 = POW((REF(@price, 6)-m)/dv, 4) SET k7 = POW((REF(@price, 7)-m)/dv, 4) SET k8 = POW((REF(@price, 8)-m)/dv, 4) SET k9 = POW((REF(@price, 9)-m)/dv, 4) SET k10 = POW((REF(@price, 10)-m)/dv, 4) SET k11 = POW((REF(@price, 11)-m)/dv, 4) SET k12 = POW((REF(@price, 12)-m)/dv, 4) SET k13 = POW((REF(@price, 13)-m)/dv, 4) SET k14 = POW((REF(@price, 14)-m)/dv, 4) SET k15 = POW((REF(@price, 15)-m)/dv, 4) SET k16 = POW((REF(@price, 16)-m)/dv, 4) SET k17 = POW((REF(@price, 17)-m)/dv, 4) SET k18 = POW((REF(@price, 18)-m)/dv, 4) SET k19 = POW((REF(@price, 19)-m)/dv, 4) SET k20 = POW((REF(@price, 20)-m)/dv, 4) SET precurtosi = (k0+k1+k2+k3+k4+k5+k6+k7+k8+k9+k10+k11+k12+k13+k14+k15+k16+k17+k18+k19+k20) SET curtosi = f1 * precurtosi - f2 SET PLOT1 = curtosi
e indicatore skew
INPUTS: @price(CLOSE), @periods(21) SET m = AVG(@price, 21) SET dv = StandardDeviations(@price, 21, 1, SIMPLE) SET f1 = 21/((21-1)*(21-2)) SET k0 = POW((@price-m)/dv, 3) SET k1 = POW((REF(@price, 1)-m)/dv, 3) SET k2 = POW((REF(@price, 2)-m)/dv, 3) SET k3 = POW((REF(@price, 3)-m)/dv, 3) SET k4 = POW((REF(@price, 4)-m)/dv, 3) SET k5 = POW((REF(@price, 5)-m)/dv, 3) SET k6 = POW((REF(@price, 6)-m)/dv, 3) SET k7 = POW((REF(@price, 7)-m)/dv, 3) SET k8 = POW((REF(@price, 8)-m)/dv, 3) SET k9 = POW((REF(@price, 9)-m)/dv, 3) SET k10 = POW((REF(@price, 10)-m)/dv, 3) SET k11 = POW((REF(@price, 11)-m)/dv, 3) SET k12 = POW((REF(@price, 12)-m)/dv, 3) SET k13 = POW((REF(@price, 13)-m)/dv, 3) SET k14 = POW((REF(@price, 14)-m)/dv, 3) SET k15 = POW((REF(@price, 15)-m)/dv, 3) SET k16 = POW((REF(@price, 16)-m)/dv, 3) SET k17 = POW((REF(@price, 17)-m)/dv, 3) SET k18 = POW((REF(@price, 18)-m)/dv, 3) SET k19 = POW((REF(@price, 19)-m)/dv, 3) SET k20 = POW((REF(@price, 20)-m)/dv, 3) SET preskew = (k0+k1+k2+k3+k4+k5+k6+k7+k8+k9+k10+k11+k12+k13+k14+k15+k16+k17+k18+k19+k20) SET skew = f1 * preskew SET PLOT1 = skew
"Tempus omnia medetur" .... e fà guadagnare di Theta