Programmazione Prorealtime Prorealtime:formule, indicatori, oscillatori, tsi ... (2 lettori)

frenke

detto Frankie Controvento
Ho un'altra domanda per chi programma PRT.... :D

il loro manualetto fa abbastanza ridere ed il supporto lasciamo stare...:down:

Ho una funzione/indicatore che restituisce 2 valori (crea un grafico con doppia linea)

Se volessi utilizzare il suo output in un altra funzione/script, come potrei fare per riferirmi al primo o secondo valore di output?

Ho provato quasi di tutto... ma non funziona e continua a darmi errore .

Se provo a fare riferimento alla variabile che contiene l'output senza dire altro... mi dice giustamente che la funzione ha restituito 2 valori ed io non ho specificato quale usare.

Ma come specificarlo? :-?

Grazie :)
Ciao
F
 

enzo_52

Nuovo forumer
Forse ci stiamo riferendo ad indicatori diversi... :)

Dunque, io per centrato intendo un valore riportato in mezzo al periodo a cui fa riferimento...

Una media mobile centrata di 20 periodi per esempio sarà centrata spostandola indietro di 10 ecc...

Quindi se tu già hai una velocità centrata, quindi correggimi se sbaglio.... già traslata indietro di x periodi... come fai ad avere anche la sua media mobile centrata? devi spostare indietro la risultante di un'altra formula giusto? o mi son perso in un bicchiere d'acqua? :D

Ciao e grazie per questo chiarimento...
Francesco

...si, è perfettamente come pensi, "...Una media mobile centrata di 20 periodi per esempio sarà centrata spostandola indietro di 10 ecc...",
come tu sai, la velocità centrata non è rappresentata,graficamente, da una linea ben definita, ma ha molte incertezze ,si presenta con una forma a zig-zag...per addolcire la velocità centrata devo applicare una MMobile, ma se metto una MMoble semplice sarà in ritardo..ci vuole una MMobile anch essa centrata ,così da avere una linea più dolce....
non so se sono stato chiaro...fammi sapere :up:
 

frenke

detto Frankie Controvento
La velocità centrata è una linea "isterica".. hai ragione! :D

Detto questo ... appunto..... tu trasli indietro qualcosa usando la funzione di traslazione con il DPO presente in questa discussione..

E quindi.... possiamo ottenere la velocità "centrata".... a questo punto..... una volta fatta la velocità........

Se io voglio la sua media mobile "centrata" come faccio a spostarla indietro??

Come dicevo nel mio primo messaggio non posso utilizzare la funzione DPO nuovamente ...

come sposto indietro la velocità? Ecco la domanda principe da 1 milione di dollari! :D:D:D

Visto che ci siamo.... buongiorno Enzo!

Ciao a tutti
Francesco
 

enzo_52

Nuovo forumer
La velocità centrata è una linea "isterica".. hai ragione! :D



come sposto indietro la velocità? Ecco la domanda principe da 1 milione di dollari! :D:D:D

Visto che ci siamo.... buongiorno Enzo!

Ciao a tutti
Francesco



ecco la formula della MMC della Velocità Centrata...

trasl1 = CALL "traslazione"[a+nbreve,numbarre]
trasl2 = CALL "traslazione"[a+nlunga,numbarre]


mmcbreve =Average[sbreve](trasl1)
mmclunga = Average[slunga](trasl2)

ind = mmcbreve - mmclunga

mmciclo=average[p](ind)

veloc=mmciclo-mmciclo[1]

mmveloc=average[x](veloc)

miavel=zero+(mmveloc*moltiplicatore)

return miavel
-----------------------------

i parametri sono:
numbarre : barre del grafico
slunga : ciclo di riferimento (la velocità del ciclo che si vuole estrarre)
sbreve : ciclo inferiore a quello di riferimento
nbreve : arretramento ciclo inferiore
nlunga : arretramento ciclo di riferimento

p : 1a MMS
x : 2a MMS
a : arretramento delle 2 MMS per avere le MMC

esempio... se volessi estrarre la MMC della Velocità centrata del ciclo T (durata media 100 h) dell EUR/USD dovrei procedere:

slunga: 100
sbreve: 50
nbreve: 25
nlunga: 50

p: è circa il 60/80% della sbreve quindi metto 30
x: idem quindi 30
a: sarà 30+30 /2 quindi 30

spero di essere stato chiaro...fammi sapere :up:
 

frenke

detto Frankie Controvento
Ciao Enzo, chiarissimo ti ringrazio! :up:

La tua formula è molto simile alla mia che su PRT non mi dava molta soddisfazione, la tua è molto meglio.

Ci sono ancora molti scostamenti con i miei fogli excel, dovrò probabilmente lavorare un po' sulle variabili..... :)


Mi metto all'opera!
 
Da Metastock con funzione PREV a Prorealtime

Ciao a tutti,

sto tentanto di tradurre in Prorealtime questo pezzo di codice Metastock ma non riesco a capire come si traduce in prorealtime la funzione PREV di Metastock.

Qualcuno mi può dare una mano ?

Il codice Metastock è questo:

support:=If(L>=Ref(L,-2) AND Ref(L,-1)>=Ref(L,-2) AND Ref(L,-3)>=Ref(L,-2) AND Ref(L,-4)>= Ref(L,-2),Ref(L,-2),If(L>Ref(H,-1)*1.0013,Ref(H,-1)*0.9945, If(L>PREV*1.1,PREV*1.05,PREV)));

trends:=If(H>PREV AND Ref(H,-1)>PREV,Max(PREV,support),If(H< PREV AND Ref(H,-1)< PREV, Min(PREV,resistance),If(H>=PREV,support,resistance)));
 

frenke

detto Frankie Controvento
mmmmmmm buongiorno... :)


in Metastock PREV cosa fa???

leggendo il codice ed essendo una condizione non si può capire a cosa si riferisce...

Dobbiamo capire come sostituire PREV con qualcosa .... ma se non sappiamo cosa fa prev... è difficile!! :D


A leggere così, mi verrebbe da pensare che è il riferimento al prezzo precedente... magari.. ma non ne sono sicuro.

Ciao
F
 
Ciao,
questo è quello che ho trovato sul manuale di Metastock:

The PREV constant allows you to create self-referencing formulas.
A self referencing formula is one that is able to reference the
“previous” period’s value of itself.
For example, the following is an example of a self referencing formula:
((H+L+C)/3) + PREV
This simple formula divides the high, low, and closing prices by 3
and then adds this value to yesterday’s value of the ((H+L+C)/3).
The calculation of the popular indicator On Balance Volume
illustrates the use of the PREV function.
(if(c>ref(c,-1),1,-1)*volume)+PREV
Although On Balance Volume can be calculated without the use of the
PREV function, an exponential moving average cannot (other than
using the mov() function). The following formula shows how a 18%
exponential moving average (approximately 10-periods) is calculated
using the PREV function.
(close*0.18)+(PREV*0.82)
 

frenke

detto Frankie Controvento
Ok quindi la parola chiave PREV si riferisce al valore precedente della formula (un po' ambigua come cosa ma ok... )...

Quindi..... trasferendo la logica su PRT tu dovresti prima assegnare il valore di una formula ad una variabile... questa variabile viene calcolata per ogni periodo del grafico...


a questo punto puoi fare riferimento alla variabile ed aggiungere le parentesi quadrate ed un valore per fare riferimento ad x valori precedenti...

es: assegniamo alla variabile A il valore del close + 10

a = close + 10

per avere il valore di questa (stupida) formula precedente basta usare

a[1]

stessa cosa per tutte le parole chiave / variabili che indicano un valore calcolato ... quindi... puoi fare riferimento direttamente al close di ieri usando

close[1]



il manuale di PRT BUILDER fa schifo... ma i concetti base ci sono... e questo è spiegato abbondantemente..

ciao
F
 
Grazie.

Ma tu riesci a capire a cosa si riferisce il PREV nella formula che ho postato ? Con tutti quegli "IF" non riesco a capirlo....

Se ti interessa questa formula è parte di un "Trailing Stop" abbastanza complesso ma secondo me migliore di quelli che ci sono attualemente in circolazione. L'ho trovata leggendo la rivista Stcok & Commodities e poi l'ho trovata sul sito dell'autore della formula. Se ti interessa ti do il link del sito, sarebbe secondo me utilissima utilizzarla su Prorealtime per le uscite.
 

Users who are viewing this thread

Alto