Programmazione Prorealtime Prorealtime:formule, indicatori, oscillatori, tsi ...

Originalmente inviato da meursault
Nei prossimi post mettero' due applicazioni della traslazione: le medie mobili centrate e indicatori ciclici costruiti con esse e la proiezione nel futuro di indicatori. Sono cose che solitamente vengono fatte con excel ma grazie alla traslazione diventano possibili anche in PRT.

Ciao MEursault

non ci ho capito una mazza ma credo che sia una cosa davvero importante...:D

come vedi ti leggo sempre ;)

Ciao
Enzo
 
cog

ciao a tutti sono nuovo e vi seguo con piacere per la vostra abilità, chiedo il vostro aiuto, volevo provare il cog di mustafà su prorealtime , visto che esiste su mt4, ho trovato questo codice ma mi da errore, qualcuno mi può aiutare? grazie
REM The gravity center from Mustafa Belkhayate
k=p3 // Variable p3= 65

de48=DPO[k*2](close)
if de48=de48[1] and de48[1]=de48[2] and de48[2]<>de48[3] then
flag=1
endif
n=(k*2)-4
p=(n/2)-1
d100=DPO[n](close)
moy100=close-d100
co=(moy100-moy100[1]+(close[p])/n)*n
if flag[1]=1 and flag[2]=0 then
hh=co[1]
endif
if flag[1]=1 then
co=hh
endif
n=p3 mod 2
p=(p3-n)/2
p3=(2*p)+1
once x=0
w=abs((p-x)/p)
w=w*w*w
w=(1-w)
w=w*w*w
x=x+1
if barindex=p3 then
a=0
b=0
e=0
for i=1 to p3
z=barindex-i+1
a=a+w[z]
b=b+w[z]*(i)
e=e+(i)*(i)*w[z]
next
endif
if barindex>p3 then
c=0
d=0
for i=1 to p3
z=barindex-i+1
c=c+co[p3+p-i]*w[z]
d=d+co[p3+p-i]*w[z]*(i)
next
endif
alpha=(a*d-b*c)/(a*e-b*b)
beta=(c*e-b*d)/(a*e-b*b)
lowess=alpha*(p+1)+beta
if barindex < p3*2 then
lowess=undefined
endif

zz = close - lowess
zzsigma = STD[p3](zz)
bb1 = lowess + zzsigma
bb2 = lowess +1.618* zzsigma
bb3 = lowess +2* zzsigma
bl1 = lowess - zzsigma
bl2 = lowess - 1.618* zzsigma
bl3 = lowess - 2* zzsigma

return lowess, bb1, bb2, bb3, bl1, bl2, bl3


per errore la piatta mi dice che si aspetta il dpo con valore positivo
 
Salve a tutti e complimenti sinceri per il vostro prezioso lavoiro. Siete dei GENI (Meu e Tets in primis).
Volevo fare una domanda da principiante a proposito delle MMC e della traslazione:
quando inserisco la "Traslazione" ok, mi sposta il grafico indietro, come da manuale (post a pag. 4 di Meu), ma quando ci provo a mettere la MMC mi dice che c'è un "errore di sintassi poichè la funzione traslazione chiamata da MMC è accompagnata da 2 parametri invece di zero attesi".
Se Meursault potesse darmi una dritta per andare avanti mi farebbe una grossa cortesia.
saluti
Cristiano
 
Salve a tutti e complimenti sinceri per il vostro prezioso lavoiro. Siete dei GENI (Meu e Tets in primis).
Volevo fare una domanda da principiante a proposito delle MMC e della traslazione:
quando inserisco la "Traslazione" ok, mi sposta il grafico indietro, come da manuale (post a pag. 4 di Meu), ma quando ci provo a mettere la MMC mi dice che c'è un "errore di sintassi poichè la funzione traslazione chiamata da MMC è accompagnata da 2 parametri invece di zero attesi".
Se Meursault potesse darmi una dritta per andare avanti mi farebbe una grossa cortesia.
saluti
Cristiano

Ciao Cristiano.
Mmmmmm strano ... cominciamo col verificare che le tue mascherine di inserimento dei codici siano in tutto e per tutto uguali alle mie

1264886932traslazione.png


1264886963mmc.png
 
Ultima modifica:
ciao a tutti sono nuovo e vi seguo con piacere per la vostra abilità, chiedo il vostro aiuto, volevo provare il cog di mustafà su prorealtime , visto che esiste su mt4, ho trovato questo codice ma mi da errore, qualcuno mi può aiutare? grazie
REM The gravity center from Mustafa Belkhayate
k=p3 // Variable p3= 65

de48=DPO[k*2](close)
if de48=de48[1] and de48[1]=de48[2] and de48[2]<>de48[3] then
flag=1
endif
n=(k*2)-4
p=(n/2)-1
d100=DPO[n](close)
moy100=close-d100
co=(moy100-moy100[1]+(close[p])/n)*n
if flag[1]=1 and flag[2]=0 then
hh=co[1]
endif
if flag[1]=1 then
co=hh
endif
n=p3 mod 2
p=(p3-n)/2
p3=(2*p)+1
once x=0
w=abs((p-x)/p)
w=w*w*w
w=(1-w)
w=w*w*w
x=x+1
if barindex=p3 then
a=0
b=0
e=0
for i=1 to p3
z=barindex-i+1
a=a+w[z]
b=b+w[z]*(i)
e=e+(i)*(i)*w[z]
next
endif
if barindex>p3 then
c=0
d=0
for i=1 to p3
z=barindex-i+1
c=c+co[p3+p-i]*w[z]
d=d+co[p3+p-i]*w[z]*(i)
next
endif
alpha=(a*d-b*c)/(a*e-b*b)
beta=(c*e-b*d)/(a*e-b*b)
lowess=alpha*(p+1)+beta
if barindex < p3*2 then
lowess=undefined
endif

zz = close - lowess
zzsigma = STD[p3](zz)
bb1 = lowess + zzsigma
bb2 = lowess +1.618* zzsigma
bb3 = lowess +2* zzsigma
bl1 = lowess - zzsigma
bl2 = lowess - 1.618* zzsigma
bl3 = lowess - 2* zzsigma

return lowess, bb1, bb2, bb3, bl1, bl2, bl3


per errore la piatta mi dice che si aspetta il dpo con valore positivo

Devi inserire p3 come variabile.
Il remark ti dice appunto di inserirlo come variabile e prendere come valore di default 65.

Non ho guardato con attenzione il codice ma visto che usa il dpo occhi aperti perche' e' un indicatore che potrebbe modificarsi nel passato allo scorrere del tempo (e quindi in particolare risulta inutilizzabile per backtestare un ts che ne faccia uso, un po' come lo zig-zag o le mmc).
 
Meursault oltre che essere bravo sei anche gentile.
Ho risolto tutto con successo (non ti dico cosa sbagliavo altrimenti ti metti a ridere per 1 ora ..).
Nel tuo post dici anche che la traslazione e tutto ciò che ne consegue (MMC ecc) li hai settati per un titolo/indice che abbia numeri interi senza i decimali. Ma io ho provato a applicare le formule al future SP500 NG (che seguo attualmente) e mi sembra che vadano bene. Dal momento che io sono un profano e che forse credo erroneamente che vadano bene, quando avrai tempo uno di questi giorni potresti per cortesia fare anche tu una prova sul SP500 NG (che ha i decimali) e darmi conferma che le tue formule vadano bene così come le hai postate a pag 4 ?!
Piano piano vedrò di andare avanti con le mie gambe con Probuilder, ma per adesso la vedo dura .. molto dura ..
Grazie ancora
 
Visto che sono chiedere ... chiedo !! Ho provato fino ad ora, ma ... niente non mi riesce.
Mettiamo che io abbia creato l'Indicatore di ciclo poniamo a 200 periodi (quindi diff tra mmc 100 e mmc200). E poi abbia calcolato la sua velocità (facendo semplicemente velo=Ind-ind[1]. OK. Adesso vorrei calcolare la media mobile centrata a 200 periodi della velocità appena creata. E non mi riesce. Poi ci sono altri passaggi da fare, ma credo di poterci arrivare dopo che avrò fatto questo passo. E poi posterò il risultato (se verrà fuori quello che penso) dopo altri 2 o 3 ulteriori passaggi.
Grazie
 
Meursault oltre che essere bravo sei anche gentile.
Ho risolto tutto con successo (non ti dico cosa sbagliavo altrimenti ti metti a ridere per 1 ora ..).
Nel tuo post dici anche che la traslazione e tutto ciò che ne consegue (MMC ecc) li hai settati per un titolo/indice che abbia numeri interi senza i decimali. Ma io ho provato a applicare le formule al future SP500 NG (che seguo attualmente) e mi sembra che vadano bene. Dal momento che io sono un profano e che forse credo erroneamente che vadano bene, quando avrai tempo uno di questi giorni potresti per cortesia fare anche tu una prova sul SP500 NG (che ha i decimali) e darmi conferma che le tue formule vadano bene così come le hai postate a pag 4 ?!
Piano piano vedrò di andare avanti con le mie gambe con Probuilder, ma per adesso la vedo dura .. molto dura ..
Grazie ancora

Ciao Cristiano,
se vuoi applicare i codici al fut sp500 togli l'arrotondamento dal codice dalla traslazione che diventa quindi

Codice:
REM traslazione

if (barindex <= numbarre - indietro) and (barindex > indietro) then
	if indietro = 0 then
		ind = close
	elsif indietro = 1 then
		ind = -DPO[1](close)+close
	elsif indietro = 2 then
		ind = 2*(-DPO[2](close)+close) - (-DPO[1](close)+close)
	else
		ind = (2*indietro-2)*(-DPO[2*indietro-2](close)+close) - (2*indietro-4)*(-DPO[2*indietro-4](close)+close)-close[indietro-3]
	endif
else
	if barindex<= indietro then
		ind = undefined
	else
		ind =ind[1]
	endif
endif

return ind as "traslazione"

Anche questa non e' la soluzione ottimale (la traslazione viene approssimata al primo decimale), ma e' gia' una buona approssimazione per il calcolo delle mmc. Per strumenti tipo l'eur/usd che hanno 4 decimali bisogna fare dell'altro, se poi c'e' qualcuno interessato posso fare delle prove.

Per quanto riguarda la tua domanda sulla velocita' adesso non ho tempo, poi ci penso.
 

Users who are viewing this thread

Back
Alto