Scritto da marco292
io ho fatto una prova immettendo una serie storica come da libro...
Ciao, mi accodo al thread dato che anch'io sto cercando di riportare in Metastock i calcoli effettuati da Di Lorenzo sulla ECA (Estimated Centered Average), ma senza risultati, per ora... data la mia scarsa competenza in matematica e Metastock Formula Language...
cmq do il mio contributo: credo di essere riuscito a sviluppare correttamente i procedimenti logici che sottostanno al calcolo, ora ho solo il problema di doverlo tradurre in Metastock... cosa che assolutamente non so fare:
<- inizio ->
N = Input("Mov periods",7,121,7);
MMOV = Mov(C,N,S);
SUMX = (N+1)*(N/2);
SUMX2 = N*(N+1)*((2*N)+1)/6;
SUM2X = SUMX*SUMX;
SUMY = 0;
SUMXY = 0;
T = (N-1)/2;
I = 0;
IF (I<T) {
CLOSEREF(I+1) = REF(C,-I);
I = I+1;
}
TM = ((N-1)/2)+1;
IM = 0;
IF (IM<TM) {
MOVREF(IM+1) = REF(MMOV,-IM);
IM = IM+1;
}
IY = 0;
IF(IY<T) {
SUMY = SUMY+CLOSEREF(IY+1);
IY = IY+1
}
IYM = 0;
IF(IYM<TM) {
SUMY = SUMY+MOVREF(IYM+1);
IYM = IYM+1
}
IXM = 0;
IF(IXM<TM) {
SUMXY = SUMXY+(MOVREF(IXM+1))*(IXM+1);
IXM = IXM+1;
}
IX = 0;
IF(IX<T) {
SUMXY = SUMXY+(CLOSEREF(IX+1))*(IX+1+TM);
IX = IX+1;
}
A = ((SUMY*SUMX2)-(SUMX*SUMXY))/((N*SUMX2)-SUM2X);
B = ((N*SUMXY)-(SUMX*SUMY))/((N*SUMX2)-SUM2X);
Z = 0;
IF(Z<T) {
Y(Z+1) = A+B(Z+1+N);
Z =Z+1
}
<- fine ->
Nota: CLOSEREF e MOVREF sono nomi di fantasia per delle variabili.
Ora, il linguaggio formale col quale ho scritto il tutto non esiste, e' un guazzabuglio a meta' fra il C, rimembranze di Javascript e Linguaggio Metastock, ma per uno che non ha mai studiato matematica, mi pare un puro colpo di genio!!!

(c'ho messo 3 giorni!!!)
C'e' qualcuno in grado di trasformare il procedimento logico in puro Metastock Formula Language? nel caso, ovviamente, sono disponibile a spiegare per filo e per segno i passaggi logici che ho postato e nel contempo chiedo agli altri che hanno letto Di Lorenzo di postare i propri tentativi...
Ciao