maurice
Buona vita a tutti !
- Registrato
- 2/6/01
- Messaggi
- 489
- Punti reazioni
- 124
Prendo lo spunto "biblico" e scrivo un indicatore per lanciare una pietra sulle "code" di distribuzione; mi auguro che chi ha qualcosa da condividere, un po' di tempo e qualche indicazione da dare si impegni in funzione educativa e senza eccessiva polarizzazione per evitare di trasformare la discussione in ring.
Il Meta non possiede un gran linguaggio di scripting, ma per chi viene dall'assembler i vincoli dichiarativi non sono insormontabili, e con un po' di pazienza e l'aiuto di chi è preparato sull'argomento specifico si può tentare di costruire un contributo Open Source-FOL con un minimo di valore statistico. Se necessario potremo preparare anche una DLL esterna con funzioni nuove, anche se non credo sarà necessario.
Questo è il primo indicatore (che spero serva ad accendere la discussione), scritto per tracciare con Metastock una distribuzione empirica:
{------------------------------------------}
{****** (c) Maurizio Neri - 03/2004 ******}
{Distribuzione Empirica per Metastock V 1.0}
{------------------------------------------}
{calcola dt corrente,minimo,massimo}
Ct:=Cum(1); Rc:=ROC(C,1,%);
Kh:=ValueWhen(1,HighestBars(Rc)=0,Rc);
Kl:=ValueWhen(1,LowestBars(Rc)=0,Rc);
{Loop di conteggio ed assegnazione valori dt+}
B:=Kh/7; X:=1;
S1:=100*Cum(If(Rc>=(Kh-X*B),1,0))/Ct;
X:=X+1;
S2:=100*Cum(If(Rc>=(Kh-X*B)AND Rc<(Kh-(X-1)*B),1,0))/Ct;
X:=X+1;
S3:=100*Cum(If(Rc>=(Kh-X*B)AND Rc<(Kh-(X-1)*B),1,0))/Ct;
X:=X+1;
S4:=100*Cum(If(Rc>=(Kh-X*B)AND Rc<(Kh-(X-1)*B),1,0))/Ct;
X:=X+1;
S5:=100*Cum(If(Rc>=(Kh-X*B)AND Rc<(Kh-(X-1)*B),1,0))/Ct;
X:=X+1;
S6:=100*Cum(If(Rc>=(Kh-X*B)AND Rc<(Kh-(X-1)*B),1,0))/Ct;
X:=X+1;
S7:=100*Cum(If(Rc>=(Kh-X*B)AND Rc<(Kh-(X-1)*B),1,0))/Ct;
{Loop di conteggio ed assegnazione valori dt-}
B:=Abs(Kl/7); X:=1;
S8:=100*Cum(If(Rc>=(0-X*B)AND Rc<(0-(X-1)*B),1,0))/Ct;
X:=X+1;
S9:=100*Cum(If(Rc>=(0-X*B)AND Rc<(0-(X-1)*B),1,0))/Ct;
X:=X+1;
S10:=100*Cum(If(Rc>=(0-X*B)AND Rc<(0-(X-1)*B),1,0))/Ct;
X:=X+1;
S11:=100*Cum(If(Rc>=(0-X*B)AND Rc<(0-(X-1)*B),1,0))/Ct;
X:=X+1;
S12:=100*Cum(If(Rc>=(0-X*B)AND Rc<(0-(X-1)*B),1,0))/Ct;
X:=X+1;
S13:=100*Cum(If(Rc>=(0-X*B)AND Rc<(0-(X-1)*B),1,0))/Ct;
X:=X+1;
S14:=100*Cum(If(Rc<(0-(X-1)*B),1,0))/Ct;
{Visualizzazione risultati su ultime 14 barre }
X:=14-(Ct-ValueWhen(1,Ref(Ct,-1)+14=LastValue(Ct),Ct));
If(X=1,S1,If(X=2,S2,If(X=3,S3,If(X=4,S4,If(X=5,S5,If(X=6,S6,If(X=7,S7,0)))))));
If(X=8,S8,If(X=9,S9,If(X=10,S10,If(X=11,S11,If(X=12,S12,If(X=13,S13,If(X=14,S14,0)))))));
Kh;Kl;Kh/7;Kl/7
Oltre ai valori delle variazioni percentuali giornaliere campionati in 14 bin (il limite è di 20 variabili ma se serve si aggira facilmente) si espone la massima escursione sia positiva che negativa ed il valore del bin per le variazioni positive e negative.
Quali grandezze potrebbe essere campionate (Volumi, MFI etc) e perchè?
Il Meta non possiede un gran linguaggio di scripting, ma per chi viene dall'assembler i vincoli dichiarativi non sono insormontabili, e con un po' di pazienza e l'aiuto di chi è preparato sull'argomento specifico si può tentare di costruire un contributo Open Source-FOL con un minimo di valore statistico. Se necessario potremo preparare anche una DLL esterna con funzioni nuove, anche se non credo sarà necessario.
Questo è il primo indicatore (che spero serva ad accendere la discussione), scritto per tracciare con Metastock una distribuzione empirica:
{------------------------------------------}
{****** (c) Maurizio Neri - 03/2004 ******}
{Distribuzione Empirica per Metastock V 1.0}
{------------------------------------------}
{calcola dt corrente,minimo,massimo}
Ct:=Cum(1); Rc:=ROC(C,1,%);
Kh:=ValueWhen(1,HighestBars(Rc)=0,Rc);
Kl:=ValueWhen(1,LowestBars(Rc)=0,Rc);
{Loop di conteggio ed assegnazione valori dt+}
B:=Kh/7; X:=1;
S1:=100*Cum(If(Rc>=(Kh-X*B),1,0))/Ct;
X:=X+1;
S2:=100*Cum(If(Rc>=(Kh-X*B)AND Rc<(Kh-(X-1)*B),1,0))/Ct;
X:=X+1;
S3:=100*Cum(If(Rc>=(Kh-X*B)AND Rc<(Kh-(X-1)*B),1,0))/Ct;
X:=X+1;
S4:=100*Cum(If(Rc>=(Kh-X*B)AND Rc<(Kh-(X-1)*B),1,0))/Ct;
X:=X+1;
S5:=100*Cum(If(Rc>=(Kh-X*B)AND Rc<(Kh-(X-1)*B),1,0))/Ct;
X:=X+1;
S6:=100*Cum(If(Rc>=(Kh-X*B)AND Rc<(Kh-(X-1)*B),1,0))/Ct;
X:=X+1;
S7:=100*Cum(If(Rc>=(Kh-X*B)AND Rc<(Kh-(X-1)*B),1,0))/Ct;
{Loop di conteggio ed assegnazione valori dt-}
B:=Abs(Kl/7); X:=1;
S8:=100*Cum(If(Rc>=(0-X*B)AND Rc<(0-(X-1)*B),1,0))/Ct;
X:=X+1;
S9:=100*Cum(If(Rc>=(0-X*B)AND Rc<(0-(X-1)*B),1,0))/Ct;
X:=X+1;
S10:=100*Cum(If(Rc>=(0-X*B)AND Rc<(0-(X-1)*B),1,0))/Ct;
X:=X+1;
S11:=100*Cum(If(Rc>=(0-X*B)AND Rc<(0-(X-1)*B),1,0))/Ct;
X:=X+1;
S12:=100*Cum(If(Rc>=(0-X*B)AND Rc<(0-(X-1)*B),1,0))/Ct;
X:=X+1;
S13:=100*Cum(If(Rc>=(0-X*B)AND Rc<(0-(X-1)*B),1,0))/Ct;
X:=X+1;
S14:=100*Cum(If(Rc<(0-(X-1)*B),1,0))/Ct;
{Visualizzazione risultati su ultime 14 barre }
X:=14-(Ct-ValueWhen(1,Ref(Ct,-1)+14=LastValue(Ct),Ct));
If(X=1,S1,If(X=2,S2,If(X=3,S3,If(X=4,S4,If(X=5,S5,If(X=6,S6,If(X=7,S7,0)))))));
If(X=8,S8,If(X=9,S9,If(X=10,S10,If(X=11,S11,If(X=12,S12,If(X=13,S13,If(X=14,S14,0)))))));
Kh;Kl;Kh/7;Kl/7
Oltre ai valori delle variazioni percentuali giornaliere campionati in 14 bin (il limite è di 20 variabili ma se serve si aggira facilmente) si espone la massima escursione sia positiva che negativa ed il valore del bin per le variazioni positive e negative.
Quali grandezze potrebbe essere campionate (Volumi, MFI etc) e perchè?