 |
|
23-03-2011, 22:26
|
#661 (permalink)
|
|
lo straniero
Data registrazione: Jul 2009
Località: Cefalù
Messaggi: 648
|
Citazione:
Originalmente inviato da cammello
allego il file xls, fatto sia prendendo gli esempi di Varadi sia altri reperibili ai link messi da Max.
Spero che da qui si capisca come funzica questa parte del TS pubblicato nel pdf.
C
ps: se qualcno sa come togliere quel fastidioso link http che parte all'inzio 
|
Ho guardato solo la parte del calcolo del DVO che finalmente mi ha chiarito tutto e mi ha anche evitato la parte noiosetta, visto che quando calcoliamo Percentrank(A,v) di un valore v presente in A (ed è questo il caso visto che v è il valore di theta nella barra in esame e A sono gli ultimi M valori di theta), esso non è altro che
numero di valori in A inferiori a v / (numero di valori in A inferiori a v + numero di valori in A superiori a v)
I codici li ho scritti di fretta, spero di non aver fatto quazzate.
Prima di tutto la theta, che ho chiamato Theta DVO, ho preso le stesse variabili del pdf, quindi wo,w1,w2,w3,s0,s1,s2,s3,s4,n. Ovviamente mi potevo evitare due variabili nei pesi ma ho preferito metterle tutte per chiarezza. Valori di default w0 = w1 = s0 = s1 = 0,5, n = 5, tutti gli altri 0. Poi non mi è venuta idea migliore di scrivermi l'espressione per esteso a seconda del fattore di lisciamento    ma vabbé voi fate copia e incolla
Codice:
Rem Theta DVO
if w0+w1+w2+w3 <>1 or (n =1 and s0 <>1) or (n=2 and s0+s1<>1) or (n=3 and s0+s1+s2<>1) or (n=4 and s0+s1+s2+s3<>1) or (n=5 and s0+s1+s2+s3+s4<>1) or n > 5 then
ind = undefined
elsif n = 1 then
ind = close/(high*w0+low*w1+open*w2+close*w3)
elsif n = 2 then
ind = close/(high*w0+low*w1+open*w2+close*w3)*s0 + (close[1]/(high[1]*w0+low[1]*w1+open[1]*w2+close[1]*w3))*s1
elsif n = 3 then
ind = close/(high*w0+low*w1+open*w2+close*w3)*s0 + (close[1]/(high[1]*w0+low[1]*w1+open[1]*w2+close[1]*w3))*s1 + (close[2]/(high[2]*w0+low[2]*w1+open[2]*w2+close[2]*w3))*s2
elsif n = 4 then
ind = close/(high*w0+low*w1+open*w2+close*w3)*s0 + (close[1]/(high[1]*w0+low[1]*w1+open[1]*w2+close[1]*w3))*s1 + (close[2]/(high[2]*w0+low[2]*w1+open[2]*w2+close[2]*w3))*s2 + (close[3]/(high[3]*w0+low[3]*w1+open[3]*w2+close[3]*w3))*s3
elsif n = 5 then
ind = close/(high*w0+low*w1+open*w2+close*w3)*s0 + (close[1]/(high[1]*w0+low[1]*w1+open[1]*w2+close[1]*w3))*s1 + (close[2]/(high[2]*w0+low[2]*w1+open[2]*w2+close[2]*w3))*s2 + (close[3]/(high[3]*w0+low[3]*w1+open[3]*w2+close[3]*w3))*s3 + (close[4]/(high[4]*w0+low[4]*w1+open[4]*w2+close[4]*w3))*s4
endif
return ind
Fatto questo il codice del DVO è il seguente, stesse variabili di prima (nello stesso ordine!) visto che richiamiamo la Theta DVO e poi aggiungiamo anche la variabile m che è la nostra finestra, valore di default 252. Ci ho aggiunto poi una linea di ipervenduto a 0,4 e una di ipercomprato a 0,7, chi vuole le cambi nel codice, non li ho messi come variabile per non appesantire ulteriormente.
Codice:
REM DVO
theta = CALL "Theta DVO"[w0 ,w1 ,w2 ,w3 ,s0 ,s1 ,s2 ,s3 ,s4 ,n]
sup = 0
inf = 0
if barindex < m - 1 then
ind = undefined
else
for i = 1 to m - 1 do
if theta[i] > theta then
sup = sup + 1
elsif theta[i] < theta then
inf = inf+1
endif
next
ind = inf/(inf+sup)
endif
ipervenduto = 0.4
ipercomprato = 0.7
return ind as "DVO", ipervenduto as "ipervenduto", ipercomprato as "ipercomprato"
Il risultato è una cosa del genere

__________________
Il ritorno è il movimento del Tao. [Lao Tzu]
|
|
|
| Avviso pubblicitario - i seguenti Banner Pubblicitari permettono al sito di offrirvi il consueto, alto standard qualitativo. |
| |
|
24-03-2011, 00:22
|
#662 (permalink)
|
|
lo straniero
Data registrazione: Jul 2009
Località: Cefalù
Messaggi: 648
|
Citazione:
Originalmente inviato da Clic
Innanzi tutto grazie ancora per il tempo che hai dedicato per risolvere il problema.    L'uso che ne voglio fare è quello traslarlo indietro di 1/2 barre per cercare di anticipare una possibile inversione del trend.
|
Ed eccomi finalmente a rispondere a Clic.
Sulla possibilità di traslare il sar ci ho messo una pietra sopra, non ho ben capito se per mia incapacità o per limiti del ProBuilder, ma non sono riuscito a risolvere. Ti propongo un alternativa che comunque potrebbe essere utile per l'uso che ne volevi fare.
Allora, prima di tutto metto un codice più carino per la traslazione.
Il codice originario (insieme alle indicazioni per usare tale codice, e soprattutto ai suoi limiti) lo trovate qui. Come vedete quel codice trasla solo il close, chiamiamolo traslazione C. Ora facciamo altri tre codici, dove al posto del close sostituiamo l'open, l'high, il low, e li chiamiamo con poca fantasia traslazione O, traslazione H, traslazione L.
Poi mettiamo questo codice, con variabili indietro e numbarre che hanno lo stesso significato che hanno nei codici di traslazione.
Codice:
traslazioneopen = CALL "traslazione O"[indietro ,numbarre]
traslazionehigh = CALL "traslazione H"[indietro ,numbarre]
traslazionelow = CALL "traslazione L"[indietro ,numbarre]
traslazioneclose = CALL "traslazione C"[indietro ,numbarre]
c = traslazioneclose - traslazioneopen
r=(traslazionehigh-traslazionelow)/29
b1=traslazionelow
b2=b1+r
b3=b2+r
b4=b3+r
b5=b4+r
b6=b5+r
b7=b6+r
b8=b7+r
b9=b8+r
b10=b9+r
b11=b10+r
b12=b11+r
b13=b12+r
b14=b13+r
b15=b14+r
b16=b15+r
b17=b16+r
b18=b17+r
b19=b18+r
b20=b19+r
b21=b20+r
b22=b21+r
b23=b22+r
b24=b23+r
b25=b24+r
b26=b25+r
b27=b26+r
b28=b27+r
b29=b28+r
b30=traslazionehigh
return b30 coloured by c as "High", b1 coloured by c as "Low", b2 coloured by c,b3 coloured by c,b4 coloured by c,b5 coloured by c,b6 coloured by c,b7 coloured by c,b8 coloured by c,b9 coloured by c,b10 coloured by c,b11 coloured by c,b12 coloured by c,b13 coloured by c,b14 coloured by c,b15 coloured by c,b16 coloured by c,b17 coloured by c,b18 coloured by c,b19 coloured by c,b20 coloured by c,b21 coloured by c,b22 coloured by c,b23 coloured by c,b24 coloured by c,b25 coloured by c,b26 coloured by c,b27 coloured by c,b28 coloured by c,b29 coloured by c
Con santa pazienza, selezioniamo per ogni indicatore (da fare 31 volte  ) colori per rialzo e ribasso, spessore massimo e stile a punti. Quello che si ottiene è la traslazione di barre HL con colorazione data al solito dalla differenza da close e open
Ora, avevo già prodotto qui il codice esplicito del Parabolic SAR, rimando a quello per le variabili, adesso lo modifico per farmi restituire oltre al sar anche ep e af (extreme price e acceleration factor a quanto ricordo dal libro di Welles Wilder ...)
Codice:
REM Codice esplicto SAR
if barindex = 0 then
ww = low
elsif barindex = 1 then
if low >= low[1] then
ww = ww[1]
ep = Max(high,high[1])
else
ww = high[1]
ep = low
colore = -1
af = valiniziale
endif
elsif barindex = 2 and ww[1] = ww[2] then
af = valiniziale
if low >= ww[1] then
ww = ww[1]
ep = Max(high,ep[1])
colore = 1
else
ww = ep[1]
ep = low
colore = -1
endif
else
ww = ww[1] + af[1]*(ep - ww[1])
if colore = 1 then
if ww > low[1]or ww > low[2] then
ww = Min(low[1],low[2])
endif
if low < ww then
ww = ep
ep = low
af = valiniziale
colore = -1
elsif high > ep then
ep = high
af = Min (af[1]+step,valmax)
endif
else
if ww < high[1]or ww < high[2] then
ww = Max(high[1],high[2])
endif
if high > ww then
ww = ep
ep = high
af = valiniziale
colore = 1
elsif low < ep then
ep = low
af = Min (af[1]+step,valmax)
endif
endif
endif
return ww as "valoresar",ep as "ep",af as "af"
continua ...
__________________
Il ritorno è il movimento del Tao. [Lao Tzu]
|
|
|
24-03-2011, 00:49
|
#663 (permalink)
|
|
lo straniero
Data registrazione: Jul 2009
Località: Cefalù
Messaggi: 648
|
Arrivo adesso al codice centrale, e cioè qualcosa che possa servire per capire quando invertirà il SAR. Lo chiamo SAR traslato
Codice:
if barindex < numbarre - indietro then
ind = undefined
else
ind = valoresar + af*(ep - valoresar)*(barindex - numbarre + indietro)
endif
return ind
Variabili da inserire indietro,numbarre,valoresar,ep,af.
Che valori dobbiamo inserire per queste variabili? Ovviamente l'indietro e il numbarre che abbiamo usato per la traslazione, e poi il valore del sar, l'ep e l'af che assume sull'ultima barra il codice esplicito del SAR. Spero che questa immagine chiarisca cosa intendo, nella finestra sotto c'è il codice esplicito del SAR
Il SAR traslato è una retta proiettata nel futuro, praticamente tangente alla parabola disegnata dal SAR. Rappresenta l'evoluzione che avrebbe il SAR a prezzi costanti, fino a quando tale retta incoccia i prezzi.
Tutta sta fatica per trovare sta schifezzina
ma la cosa non stupisce, visto che (come si vedeva nel grafico del post precedente) il SAR ha appena invertito, e quindi il suo fattore di accelerazione è ancora fermo al valore minimo (e quindi la retta risulta poco inclinata). Torniamo però indietro al 21 marzo, quando il SAR era ancora sopra i prezzi, e plottiamo la nostra retta
La retta ci faceva vedere che o si facevano max decrescenti, o il sar avrebbe invertito entro 2 giorni, dandoci giorno per giorno i livelli di inversione. Ed infatti il giorno dopo il max incoccia la retta, e il SAR inverte
Il discorso è un po' grossolano perché il SAR ha un'eccezione nella sua costruzione che potrebbe non portarlo ad invertire, ma diciamo che in linea di massima quella retta può dare qualche indicazione. Chiarmente i parametri di tale SAR traslato sono da aggiornare barra dopo barra, secondo quanto ci restituisce il nostro codice esplicito del SAR per i valori del sar, di extreme price e di acceleration factor.
E adesso me ne vado a dormire, ma un pochino di musica direi che posso permettermi di metterla no?
__________________
Il ritorno è il movimento del Tao. [Lao Tzu]
|
|
|
24-03-2011, 08:35
|
#664 (permalink)
|
|
Utente Senior
Data registrazione: Oct 2007
Località: Novara
Messaggi: 2,102
|
grazie Meurasult,
manco ti racconto cosa avevo provato a fare
C
__________________
Entries are easy because any clown can buy a lottery ticket, but exits separate winners from losers (A.Elder) If your motivation is monthly returns, don’t trade at all. You can’t force the market to give you monthly returns...(M.H. Benflika)
|
|
|
24-03-2011, 09:31
|
#665 (permalink)
|
|
Forumer attivo
Data registrazione: Apr 2008
Messaggi: 79
|
Grazie anche da parte mia 
Max
Ultima modifica di max3001 : 24-03-2011 alle ore 09:37.
|
|
|
28-03-2011, 17:53
|
#666 (permalink)
|
|
Forumer attivo
Data registrazione: Apr 2008
Messaggi: 79
|
Ciao, per rimanere nel tema degli ultimi post, si riesce a riprodurre in linguaggio prorealtime quanto c'è in questo blog?
mindmoneymarkets: PTO & DVB
Ultima modifica di max3001 : 28-03-2011 alle ore 18:30.
|
|
|
29-03-2011, 11:03
|
#667 (permalink)
|
|
Utente Senior
Data registrazione: Mar 2005
Messaggi: 523
|
Citazione:
Originalmente inviato da cammello
Per rispondere alla domanda in grassetto, mi serve il valore in quel punto e l'input può essre passato come variabile.
Per qel che ho capito, la percentrank è una ricorsiva e non so quanto piaccia a PRT.
In realtà volevo creare l'indicatore DVO per poi provare a replicare il TS che trovi in questo pdf (DVO in pg 10). Se hai tempo e voglia di leggerlo, potrebbe facilitare il lavoro.
C
|
cammello tu hai capito come fare le entrate in regime bull? 
__________________
dicono che è vero che ogni sognatore diventerà cinico invecchiando
|
|
|
29-03-2011, 12:09
|
#668 (permalink)
|
|
Nuovo forumer
Data registrazione: Mar 2011
Messaggi: 7
|
Citazione:
Originalmente inviato da tetsuo
Semplice no!??? 
Idee per continuare ???? 
|
Salve a tutti spero che il vostro weekend sia stato proficuo come il mio  Ho seguito le indicazioni di Tetsuo San e ho lavorato indeFessamente.
Riprendendo il discorso sui cicli, abbiamo detto che per
l'individuazione del periodo fondamentalmente abbiamo a disposizione solo l'informazione prezzo. Per questo motivo in genere si fissa arbitrariamente un periodo, basato su una media scelta (spesso a pene di
sugugio) alla quale si tenta di dare un senso.
Avrei quindi un paio d'idee sulle quali ragionare ed elaborare l'applicazione in PRT.
Nelle ultime settimane ho iniziato a sperimentare su vari indici il pitchfork o forcone di Andrew e devo ammettere che il risultato e' molto interessante. Stavo pensando che potremmo usare la linea mediana come
riferimento in modo da poter calcolare i succesivi spostamenti del prezzo. In pratica la mediana, che chiameremo portante, rimane fissa. La seconda linea, la modulante, ha il vertice in comune con la portante ma muovendosi ad ogni cambiamento di prezzo oscillera' con una FREQ AMP e FASE sulla portante. In linea teorica sembra essere molto semplice ma dal punto di vista della programmazione su PRT la vedo ardua. In pratica equivale all'uso del repaint dello ZigZag per calcolare quante volte oscilla sulla linea mediana portante.
Inoltre, sempre utilizzando il tridente, ho notato che le linee di azione e reazione hanno una proporzione costante nello sviluppo di una Elliott Wave. Ho provato ad utilizzare per esempio il forcone con l'arco di Fibo e credo sia chiara la differenza tra i due. La serie di Fibo evidenzia la relazione all'interno del singolo trend in verticale, mentre le linee di azione reazione evidenziano la relazione dei diversi trend in orizzontale, con una proporzione costante. Quindi si potrebbe pensare allo sviluppo di un trend caratterizzato da un fattore di scala di una progressione geometrica come ad esempio nel sistema temperato.
Una volta identificata la ragione della progressione potremmo calcolare quante volte il prezzo aumenta in proporzione alla scala inclusi multipli o sottomultipli.
Queste sono solo idee frutto di ozio domenicale, fatemi sapere cosa ne pensate e se le ho sparate troppo grosse 
|
|
|
29-03-2011, 12:41
|
#669 (permalink)
|
|
Nuovo forumer
Data registrazione: Mar 2011
Messaggi: 7
|
Citazione:
Originalmente inviato da meursault
E adesso me ne vado a dormire, ma un pochino di musica direi che posso permettermi di metterla no? 
|
Grande scelta, io vado sul classico
P.S.
Se ne consiglia la visione a tutto schermo e l'ascolto con potenti diffusori acustici 
|
|
|
29-03-2011, 19:50
|
#670 (permalink)
|
|
Utente Senior
Data registrazione: Oct 2007
Località: Novara
Messaggi: 2,102
|
Citazione:
Originalmente inviato da luka46
cammello tu hai capito come fare le entrate in regime bull? 
|
prime righe di pag 12 del pdf
(e poi sviluppate in 3.1, 3.3.1, 3.3.2 ed uscita in 3.3.3)
C
__________________
Entries are easy because any clown can buy a lottery ticket, but exits separate winners from losers (A.Elder) If your motivation is monthly returns, don’t trade at all. You can’t force the market to give you monthly returns...(M.H. Benflika)
|
|
|
|