Prorealtime - formule, indicatori etc... ‎continua....

  • Ecco la 60° Edizione del settimanale "Le opportunità di Borsa" dedicato ai consulenti finanziari ed esperti di borsa.

    Questa settimana abbiamo assistito a nuovi record assoluti in Europa e a Wall Street. Il tutto, dopo una ottava che ha visto il susseguirsi di riunioni di banche centrali. Lunedì la Bank of Japan (BoJ) ha alzato i tassi per la prima volta dal 2007, mettendo fine all’era del costo del denaro negativo e al controllo della curva dei rendimenti. Mercoledì la Federal Reserve (Fed) ha confermato i tassi nel range 5,25%-5,50%, mentre i “dots”, le proiezioni dei funzionari sul costo del denaro, indicano sempre tre tagli nel corso del 2024. Il Fomc ha anche discusso in merito ad un possibile rallentamento del ritmo di riduzione del portafoglio titoli. Ieri la Bank of England (BoE) ha lasciato i tassi di interesse invariati al 5,25%. Per continuare a leggere visita il link

Black Swan

Basta che funzioni
Registrato
14/9/00
Messaggi
1.622
Punti reazioni
49
Prorealtime - formule, indicatori, oscillatori etc...

Oggi è domenica e apro questo thread con lo scopo di compilare un elenco ragionato (più o meno) di formule, links e quant'altro serva ad un utilizzo più completo di Prorealtime.

Alcuni links interessanti e dai quali ho tratto alcune delle formule che sono pubblicate di seguito.

http://hk-lisse.daily-bourse.fr/
http://hk-lisse.over-blog.com/


Michele (the driver), segnala altri due interessanti siti di programmazione PRT.

http://sohocool.over-blog.com/

http://www.o-bo.com/
 
Ultima modifica:
Indicatore ciclico basato sugli stocastici

Indicatore ciclico basato sugli stocastici:

Lo spunto originale è http://hk-lisse.daily-bourse.fr/index.php/post/l_indicateur_cycle_de_prorealtime

STPMT=(4.1*(Stochastic[5,3](close))+2.5*(Stochastic[14,3](close))+Stochastic[45,14](close)+4*(Stochastic[75,20](close)))/11.6
CN=STPMT - average[9](STPMT)
return cn


Come segnalato da Cammello

"Questa è già disponibile in PRT come "Ciclo" con la seguente definizione:


Cycle - Ciclo
Definizione :
Per costruire l'indicatore ciclo, si comincia a costruire l'indicatore seguente:
I=[4.1*Stocastico%K(5,3)+2.5*Stocastico%K(1 4,3)+
Stocastico%K(45,14)+4*Stocastico%K(75,20 ) ] / 11.6
Poi si calcola la media mobile semplice da I a 9 barre.
mm = Average[9](I) Infine l'indicatore Ciclo é la differenza tra queste due grandezze: Cycle=I - mm

Interpretazione :
Nella vita corrente,i cicli ci permettono di prevedere gli avvenimenti: Per esempio (le maree, movimenti planetari, le stagioni ecc...).

L'analisi dei cicli é ugualmente impiegata nei mercati finanziari per determinare i rovesciamenti di tendenza. In funzione di questi cicli potrete inserire ed estrarre più facilmente le vostre posizioni. Questa analisi é interessante sui mercati delle materie prime soprattutto legate alle stagioni. Per i valori legati a questi fenomeni naturali ridondanti, si parlerà di valori ciclici."
 
Ultima modifica:
Swing di GANN

// Swing di GANN
// dedicato a Katia
// creato da Luca De Florio (luca@deflorio.it) per ProRealTime

if barindex=0 then
lasthigh=high
lastlow=low
oldrv=high
endif

// calcola le barre che hanno massimo e minimo piu' alto della precedente
if (high > lasthigh) AND (low > lastlow) then
rv = High[0]
lasthigh=rv
lastlow=low
lastrv=1
// Poi calcola le barre che hanno massimo e minimo piu' basso della precedente
elsif (high < lasthigh) AND (low < lastlow) then
rv = low[0]
lastlow=rv
lasthigh=high
lastrv=2
else

// nel caso di inside o outside, controlla la barra precedente,
// se era High prende il valore high, se era Low prende il valore Low

if lastrv=1 and high>lasthigh then
rv=high
lasthigh=high
lastlow= low
elsif lastrv=2 and low<lastlow then
rv=low
lasthigh=high
lastlow= low
else
rv=oldrv
endif

endif

// Solo nel caso della prima barra, si parte dall'High del giorno
oldrv=rv
return rv as "Swing"
 
altro
 

Allegati

  • SPMIB.png
    SPMIB.png
    23,8 KB · Visite: 23.524
Ultima modifica:
Supertrend

L'indicatore supertrend di Oliver Seban (link)

Bisogna introdurre le varibabili aa (3) e bb (10). Tra parentesi i valori di default.

avola=averagetruerange[bb](close)
avg=medianprice
up=avg+aa*avola
dn=avg-aa*avola
once trend=1
if close>up[1] then
trend=1
elsif close<dn[1] then
trend=-1
endif
if trend<0 and trend[1]>0 then
flag=1
else
flag=0
endif
if trend>0 and trend[1]<0 then
flagh=1
else
flagh=0
endif
if trend>0 and dn<dn[1] then
dn=dn[1]
endif
if trend<0 and up>up[1] then
up=up[1]
endif
if flag=1 then
up=avg+aa*avola
endif
if flagh=1 then
dn=avg-aa*avola
endif
if trend=1 then
super=dn
else
super=up
endif
return super
 
Ultima modifica:
Doppio stocastico

Molto interessante questo oscillatore

Doppio stocastico (http://hk-lisse.daily-bourse.fr/index.php/post/cycles_le_double_stochastic) di Walter Bressert, oscillatore noto anche come DBS 10

slw=3
pds=7

ratio=ExponentialAverage[3](close)/ExponentialAverage[7](close)
divi=highest[pds](ratio)-lowest[pds](ratio)
a=exponentialaverage[slw]((ratio-lowest[pds](ratio))/divi)*100
divi2=highest[pds](a)-lowest[pds](a)
dss=exponentialaverage[slw]((a-lowest[pds](a))/divi2)*100
return dss,10,90

Si possono assegnare valori diversi a slw e pds e ottenere risultati interessanti.




Trading With Time Fractals to Reduce Risk and Improve Profit Potential

Workbook sui cicli



Discussione aperta da Fabrivero su fol http://www.finanzaonline.com/forum/showthread.php?t=589039
 
Ultima modifica:
Cicli di Hurst

Formula modificata da Wdgigi e da Tetsuo

si devono creare 4 variabili

- k è il numero di barra contando da destra dalla quale far partire il ciclo

- n è il numero di cicli che si vogliono plottare

- wa è la lunghezza del ciclo in barre

- trend è il trend per definizione -1, 0 o +1

Ci sarebbero altre 2 variabili da creare grc (0,010) sarebbe in pratica "l'alzata" del battleplan nella formula postata da wdgigi era (min_ciclo+max_ciclo)/486.

---------------------------------------------
det=DPO[k*2](close)
c=(k-(n*wa))
if c<=0 then
c=k
flag2=0
endif


det2=DPO[c*2](close)

if det=det[1] and det[1]=det[2] and det[2]<>det[3] then
flag=1
endif
if det2=det2[1] and det2[1]=det2[2] and det2[2]<>det2[3] then
flag2=1
endif


if flag=0 then
hurst=undefined
elsif flag2=1 then
hurst=undefined
else

a=a+1
x=(360/wa)*a
phase=-90
w1=SIN(8*x+phase)
w2=2*SIN(4*x+phase)
w3=3*SIN(2*x+phase)
w4=4*SIN(x+phase)
ciclo=w1+w2+w3+w4
grc=0.01029
c=(grc*trend*1)
b=b+c
hurst=ciclo+b
endif

RETURN hurst


-------------------------------------------
 
Ultima modifica:
Creare le bands di Hurst

Grazie al blog hklisse possiamo provare a costruire delle bands di hurst

occorrono le variabili p3 (83) valore default e
un xx che è un valore che va aggiunto o sottratto per ottenere le bands
Per il momento vado a naso :)
Un esempio con il nostro spmib. Ho aggiunto 125 punti alla media centrale. Il risultato non è malaccio ... Questo numero andrebbe programmato in funzione anche della volatilità ... almeno credo :)

Tetsuo, ho corretto sulla base delle tue indicazioni nel messaggio più in basso.. Mi ero accorto dopo che x era già usata :)
k=p3
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

lowess1=lowess+xx
lowess2=lowess-xx

return lowess, lowess1, lowess2
 

Allegati

  • SPMIB.png
    SPMIB.png
    25,2 KB · Visite: 23.600
Ultima modifica:
Elliott Indicator

formula pubblicata da drenaggio alcuni giorni fa

fast=average[5](customclose)
slow=average[34](customclose)
EI=fast-slow
return EI as "Elliott Indicator",0 as "0"
 
Ultima modifica:
Canali di regressione dal noto sito francese

det=DPO[k*2](close)
if det=det[1] and det[1]=det[2] and det[2]<>det[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
h100=dpo[n](high)
moyh=high-h100
hi=(moyh-moyh[1]+(high[p])/n)*n
l100=dpo[n](low)
moyl=low-l100
lo=(moyl-moyl[1]+(low[p])/n)*n
if flag=1 and flag[1]=0 then
somx=0
somy=0
somxx=0
somxy=0
for i=1 to k
somx=somx+i
next
for i=0 to k-1
somy=somy+co
next
for i=1 to k
somxx=somxx+(i*i)
next
for i=0 to k-1
somxy=somxy+(co*(k-i))
next
a=(k*somxy-somx*somy)/(k*somxx-somx*somx)
b=(somy-a*somx)/k
for i=0 to k-1
ecah=hi-a*(k-i)-b
maxh=max(maxh,ecah)
ecal=a*(k-i)+b-lo
maxl=max(maxl,ecal)
next
endif
if flag=0 then
reg=average[20](close)
else
j=j+1
reg=a*j+b
endif
raff=max(maxh,maxl)
raffl=reg-raff
raffh=reg+raff
riff=min(maxh,maxl)
riffh=reg+riff
riffl=reg-riff
return reg,riffl,riffh,raffl,raffh,average[20](close)
 
Ultima modifica:
Grazie al blog hklisse possiamo provare a costruire delle bands di hurst

occorrono le variabili p3 (83) valore default e
un x che è un valore che va aggiunto o sottratto per ottenere le bands
Per il momento vado a naso :)
Un esempio con il nostro spmib. Ho aggiunto 125 punti alla media centrale. Il risultato non è malaccio ... Questo numero andrebbe programmato in funzione anche della volatilità ... almeno credo :)


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

lowess1=lowess+x
lowess2=lowess-x

return lowess, lowess1, lowess2

ciao Black OK!
e complimenti per la piccola collezione di indicatori che ti stai facendo:D

Andavo giusto in questi giorni cercando, come avevamo detto in mp, una soluzione per poter graficare le bande di Hurst. Per Metastock ho trovato sempre sul forum un listato per la media mobile centrata (grazie a supermilan) ed a questa aggiungo e sottraggo una costante per disegnare le bande equidistanti. Cercando in rete avevo letto che in PRT è impossibile creare medie centrate e quindi guardavo in giro per cercare un alternativa e vedo che ancora una volta il nostro amico francese ci viene incontro....

Ho provato il listato che hai riportato però nn funziona mica:mmmm:

ho visto che rispetto al blog hk-lisse manca il primo rigo

k=p3

e poi come variabile da aggiungere alla media generata usi la lettera "x" ma quest'ultima viene gia definita all'interno del listato, e quindi io l'ho cambiata con "xx" ( che fantasia che c'ho!:D però ora che ci penso se uso "xxx" le curve saranno sicuramente più morbide :D:p:D)

Con queste due modifiche mi funziona OK!
 
Grazie Tetsuo, ho corretto sulla base delle tue indicazioni.
 
Ultima modifica:
Formula modificata da Wdgigi e da Tetsuo

si devono creare 4 variabili

- k è il numero di barra contando da destra dalla quale far partire il ciclo

- n è il numero di cicli che si vogliono plottare

- wa è la lunghezza del ciclo in barre

- trend è il trend per definizione -1, 0 o +1

Ci sarebbero altre 2 variabili da creare grc (0,010) sarebbe in pratica "l'alzata" del battleplan nella formula postata da wdgigi era (min_ciclo+max_ciclo)/486.

---------------------------------------------

c=(k-(n*wa))
-------------------------------------------

puoi spiegare la realzione tra k, n e wa?

grazie

C
 
Indicatore ciclico basato sugli stocastici:

Lo spunto originale è http://hk-lisse.daily-bourse.fr/index.php/post/l_indicateur_cycle_de_prorealtime

STPMT=(4.1*(Stochastic[5,3](close))+2.5*(Stochastic[14,3](close))+Stochastic[45,14](close)+4*(Stochastic[75,20](close)))/11.6
CN=STPMT - average[9](STPMT)
return cn

Questa è già disponibile in PRT come "Ciclo" con la seguente definizione:


Cycle - Ciclo
Definizione :
Per costruire l'indicatore ciclo, si comincia a costruire l'indicatore seguente:
I=[4.1*Stocastico%K(5,3)+2.5*Stocastico%K(14,3)+
Stocastico%K(45,14)+4*Stocastico%K(75,20) ] / 11.6
Poi si calcola la media mobile semplice da I a 9 barre.
mm = Average[9](I) Infine l'indicatore Ciclo é la differenza tra queste due grandezze: Cycle=I - mm

Interpretazione :
Nella vita corrente,i cicli ci permettono di prevedere gli avvenimenti:
Per esempio (le maree, movimenti planetari, le stagioni ecc...).

L'analisi dei cicli é ugualmente impiegata nei mercati finanziari per determinare i rovesciamenti di tendenza.
In funzione di questi cicli potrete inserire ed estrarre più facilmente le vostre posizioni.
Questa analisi é interessante sui mercati delle materie prime soprattutto legate alle stagioni.
Per i valori legati a questi fenomeni naturali ridondanti, si parlerà di valori ciclici.

C
 
puoi spiegare la realzione tra k, n e wa?

grazie

C

praticamente quella parte lì serve solo per fare in modo che uno possa scegliere quanti cicli rappresentare.
A dire il vero non so quanto possa essere utile, l'ho messo con l'ottica di riuscire a disegnare più cicli con ampiezze diverse nella stessa finestra

Ciao
 
Ciao


come posso incollare le formule su prorealtime?


Copiaincolla non funziona:mmmm:


Ps

avevo visto non ricordo dove , una formula che riusciva a proiettare il battleplan nella sezione indicatori


mi sapete dire qualcosa:bow:
 
praticamente quella parte lì serve solo per fare in modo che uno possa scegliere quanti cicli rappresentare.
A dire il vero non so quanto possa essere utile, l'ho messo con l'ottica di riuscire a disegnare più cicli con ampiezze diverse nella stessa finestra

Ciao

Grazie tetsuo :bow:
ho provaot ad applicare a SPMIB, ma non mi da nessun risultato :rolleyes: Puoi indicarmi dei valori da cui iniziare?

C
 
Indietro