Media mobile spostata in avanti

rescueland

Nuovo Utente
Registrato
20/3/01
Messaggi
2.862
Punti reazioni
157
Ref(Mov(C,5,E),+5)

questa formula va bene per spostare in avanti la media mobile relativa ??

Il mio obiettivo è disegnare su un grafico la media mobile spostata avanti di 5 giorni

Grazie
 
Scritto da rescueland
Ref(Mov(C,5,E),+5)

questa formula va bene per spostare in avanti la media mobile relativa ??

Il mio obiettivo è disegnare su un grafico la media mobile spostata avanti di 5 giorni

Grazie
sei fuori strada

quello che tu cerchi e la media mobile centrata ...una media con interpolazione a n giorni ... ho cercato per la formula meta ma non ho trovato nulla ... io c'ho provato ma ci sono andato solo vicino ... seper caso ci riesci o trovi qualcosa fammelo sapere ciao
 
Re: Re: Media mobile spostata in avanti

Scritto da marco292
sei fuori strada

quello che tu cerchi e la media mobile centrata ...una media con interpolazione a n giorni ... ho cercato per la formula meta ma non ho trovato nulla ... io c'ho provato ma ci sono andato solo vicino ... seper caso ci riesci o trovi qualcosa fammelo sapere ciao

io ho questa..per la media mobile centrata

Periodo :=Input("Periodo", 1,1000,2);
Mov(Ref(CLOSE,+(Periodo/2)),Periodo,S)


ciao
 
Re: Re: Re: Media mobile spostata in avanti

Scritto da dan24
io ho questa..per la media mobile centrata

Periodo :=Input("Periodo", 1,1000,2);
Mov(Ref(CLOSE,+(Periodo/2)),Periodo,S)


ciao


ho sbagliato scusate bisogna trovare la ema estimated moving average a n giorni(interpolando i n giorni) poi si centra
 
Scritto da rescueland
Ref(Mov(C,5,E),+5)

questa formula va bene per spostare in avanti la media mobile relativa ??

Il mio obiettivo è disegnare su un grafico la media mobile spostata avanti di 5 giorni

Grazie

Intendi la Displaced Moving Average ? (DMA)
 
Innanzi tutto grazie per la collaborazione.

Provo a spiegarmi meglio:
mi piacerebbe disegnare su un grafico con metastock la media mobile a n giorni spostata in avanti di x giorni, con excel si può fare tranquillamente in modo statico, calcolo la media e poi prendo in considerazione la serie storica del close e la media che ho calcolato aggiungendo alcune celle vuote nella colonna dei prezzi

Mi piacerebbe poter fare lo stesso su metastock ma non so da CHE PARTE GIRARMI

Di nuovo grazie
 
Scritto da rescueland
Ref(Mov(C,5,E),+5)

questa formula va bene per spostare in avanti la media mobile relativa ??

Il mio obiettivo è disegnare su un grafico la media mobile spostata avanti di 5 giorni

Grazie

Ciao.
In realtà la forumla che ti serve è questa:

Ref(Mov(C,5,E),-5)

Nell'esempio grafico allegato la media rossa è quella normale, mentre:
- quella verde si ottiene con Ref(Mov(C,5,e),+5) che è evidentemente sbagliata;
- quella blu è quella che vuoi, ottenibile con Ref(Mov(C,5,e),-5).
 

Allegati

  • esempio.gif
    esempio.gif
    19,6 KB · Visite: 1.186
Ok ci siamo

Puoi spiegarmi perchè la linea blu non prosegue oltre le candele del titolo ?

Grazie 1000
 
Semplicemente perché Ms non lo consente (Tradestation invece sì)
 
Scritto da rescueland
Innanzi tutto grazie per la collaborazione.

Provo a spiegarmi meglio:
mi piacerebbe disegnare su un grafico con metastock la media mobile a n giorni spostata in avanti di x giorni, con excel si può fare tranquillamente in modo statico, calcolo la media e poi prendo in considerazione la serie storica del close e la media che ho calcolato aggiungendo alcune celle vuote nella colonna dei prezzi

Mi piacerebbe poter fare lo stesso su metastock ma non so da CHE PARTE GIRARMI

Di nuovo grazie

Magari ho capito male. Su moving average properties imposti il periodo 5, su horizontal shift 5 e ottieni una 5 shiftata di 5: se è quello che cerchi
 
si ma che senzo ha spostare in avanti una media .. io credo che lui voglia come ho detto io un estimazione del proseguimento di una media nel futuro ... percio' per forza di cose devi fare delle interpolazioni matematiche ... poi se la media che ottieni non prosegue oltre il close 0 (se non e' possibile) la centri e fai riverimento al valore ultimo della media per i tuoi calcoli . il problema e fare calcolare a metastock o ad altro software le interpolazioni, io non ci sono riuscito e non ho trovato un bel niente in giro..... magari la formula c'e' compresa in qualche indicatore confezionato e neanche lo so , io ho fatto una prova immettendo una serie storica come da libro ma i valori non li ho ottenuti... ci sono andato solo vicino e l'accrocco di una ema 7 era questo:
n:= 7;
sumx:= 28;
sumx2:= 140;
sum2x:= (sumx*sumx);
sumy:= (Ref(Mov(C,7,S),-3))+(Ref(Mov(C,7,S),-2))+(Ref(Mov(C,7,S),-1))+(Ref(Mov(C,7,S),-0))+Ref(C,-2)+Ref(C,-1)+Ref(C,-0);

sumxy:= (Ref(Mov(C,7,S),-3))*1+(Ref(Mov(C,7,S),-2))*2+(Ref(Mov(C,7,S),-1))*3+(Ref(Mov(C,7,S),-0))*4+Ref(C,-2)*5+Ref(C,-1)*6+Ref(C,-0)*7;
a:= (sumy*sumx2-sumx*sumxy)/(n*sumx2-sum2x);
b:= (n*sumxy-sumx*sumy)/(n*sumx2-sum2x);

c8:= a+(b*8);
c9:= a+(b*9);
c10:= a+(b*10);

(Ref(C,-6)+Ref(C,-5)+Ref(C,-4)+Ref(C,-3)+Ref(C,-2)+Ref(C,-1)+Ref(C,-0)+Ref(c8,0)+Ref(c9,0)+Ref(c10,0))/10



c8 , c9 ,c,10 sono i giorni futuri ottenuti dall'interpolazione... ma l'errore e' dato nel dividere per 10 ... infatti la media e a 7 ma non ho trovato il modo anche perche su metastock non potendo creare i giorni futuri non posso nemmeno centrarla dopo
 
Ultima modifica:
Per questa sera vi dico grazie
Per i commenti ne riparliamo domani
Notte !
 
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
 
Displaced Moving Avarage

Con il programma AD GET ..è prevista un operativita con la DMA

tenuta come riferimento di supporto ...

in particolar modo per identificare la fine fine della onda 5


CIAo IGROM
 

Allegati

  • dma.png
    dma.png
    23,5 KB · Visite: 410
Scritto da merozzo
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

ciao ...la mia traduzione funziona anche se non sara' quella piu' breve ...a parte l'inizio dove ho messo gia' i valori per fare prima il problema e' la parte finale dove bisogna fare la media mobile a 7 con i nuovi 10 valori ....e poi l'altro problema e' che una volta trovata la media mobile bisogna centrarla ...in modo da retrocedere i nuovi 3 valori solo che la media che viene fuori non e' spostata in avanti ...quindi c'e bisogno di qualcuno che sappia fare questo ... ma ho seri dubbi che ci sia
 
Scritto da marco292
ciao ...la mia traduzione funziona anche se non sara' quella piu' breve ...a parte l'inizio dove ho messo gia' i valori per fare prima il problema e' la parte finale dove bisogna fare la media mobile a 7 con i nuovi 10 valori ....e poi l'altro problema e' che una volta trovata la media mobile bisogna centrarla ...in modo da retrocedere i nuovi 3 valori solo che la media che viene fuori non e' spostata in avanti ...quindi c'e bisogno di qualcuno che sappia fare questo ... ma ho seri dubbi che ci sia

hhmmm... capisco.

ciao ciao.
 
Indietro