-
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 .....
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354INPUTS
:
@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
e indicatore skew12345678910111213141516171819202122232425262728293031323334353637383940414243INPUTS
:
@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
12345678910111213141516171819202122232425262728293031323334353637383940INPUTS
:
@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