PDA

Visualizza versione completa : Metastock Uncino Ross



lux69
17-05-2006, 08.22.53
Buon giorno, sto cercando di costruirmi una formula valida per l'explorer di Metastock per evidenziare i titoli su cui operare con la tecnica dell'uncino di Ross ... però non è che sono bravo ... :o
Questa è la formula che trova l'uncino tenendo però conto solamente della prima una candela di pullback; se ce ne sono due, il titolo non viene segnalato e questo non è corretto, chi può aiutarmi "implementando" la formula in modo che tenga conto fino a 4 giornate di pullback ?
Praticamente oltre a segnalare i titoli che oggi hanno il massimo inferiore a quello di ieri dovrebbe tener conto anche che nelle 4 giornate precedenti si sia stabilito il massimo a 2 mesi (43 giorni) e non SOLO nella giornata precedente:

UNCINO RIALZISTA:
Per titoli con ADX(14)>30 e +DI(14)>-DI(14) che oggi hanno il massimo inferiore a quello di ieri e ieri hanno stabilito il massimo a 2 mesi (43 giorni):
(ADX(14)>30 AND PDI(14)>MDI(14)) AND (H<=Ref(H,-1)AND Ref(H,-1)>=HHV(H,43))

UNCINO RIBASSISTA:
(ADX(14)>30 AND MDI(14)>PDI(14)) AND (L<=Ref(L,-1)AND Ref(L,-1)<=LLV(L,43))

stepbystep
03-06-2006, 17.25.19
ciao lux,
purtroppo non ti posso aiutare ma se riesci a trovarla poi ricordati anche di me..........
grazie ;)
(e grazie anche per il benvenuto di qualche giorno fa!!!!! :) )

lux69
03-06-2006, 19.39.58
Ciao !
ho chiesto aiuto al bravissimo Massimo Gotta ... ho comperato anche il suo bel libro "Il meglio dell'analisi tecnica in Metastock" ma non c'era la formula dell'uncino ... mi ha risposto che nei prossimi numeri del Top Trader Magazine dovrebbe inserire la risposta al mio quesito ... :)

ninbra
03-06-2006, 21.36.24
Buon giorno, sto cercando di costruirmi una formula valida per l'explorer di Metastock per evidenziare i titoli su cui operare con la tecnica dell'uncino di Ross ... per&#242; non &#232; che sono bravo ... :o
Questa &#232; la formula che trova l'uncino tenendo per&#242; conto solamente della prima una candela di pullback; se ce ne sono due, il titolo non viene segnalato e questo non &#232; corretto, chi pu&#242; aiutarmi "implementando" la formula in modo che tenga conto fino a 4 giornate di pullback ?
Praticamente oltre a segnalare i titoli che oggi hanno il massimo inferiore a quello di ieri dovrebbe tener conto anche che nelle 4 giornate precedenti si sia stabilito il massimo a 2 mesi (43 giorni) e non SOLO nella giornata precedente:

UNCINO RIALZISTA:
Per titoli con ADX(14)>30 e +DI(14)>-DI(14) che oggi hanno il massimo inferiore a quello di ieri e ieri hanno stabilito il massimo a 2 mesi (43 giorni):
(ADX(14)>30 AND PDI(14)>MDI(14)) AND (H<=Ref(H,-1)AND Ref(H,-1)>=HHV(H,43))

UNCINO RIBASSISTA:
(ADX(14)>30 AND MDI(14)>PDI(14)) AND (L<=Ref(L,-1)AND Ref(L,-1)<=LLV(L,43))
Ho la formula che desideri,te la posso mandare via email

mastbell
05-06-2006, 08.19.33
Buon giorno, sto cercando di costruirmi una formula valida per l'explorer di Metastock per evidenziare i titoli su cui operare con la tecnica dell'uncino di Ross ... però non è che sono bravo ... :o
Questa è la formula che trova l'uncino tenendo però conto solamente della prima una candela di pullback; se ce ne sono due, il titolo non viene segnalato e questo non è corretto, chi può aiutarmi "implementando" la formula in modo che tenga conto fino a 4 giornate di pullback ?
Praticamente oltre a segnalare i titoli che oggi hanno il massimo inferiore a quello di ieri dovrebbe tener conto anche che nelle 4 giornate precedenti si sia stabilito il massimo a 2 mesi (43 giorni) e non SOLO nella giornata precedente:

UNCINO RIALZISTA:
Per titoli con ADX(14)>30 e +DI(14)>-DI(14) che oggi hanno il massimo inferiore a quello di ieri e ieri hanno stabilito il massimo a 2 mesi (43 giorni):
(ADX(14)>30 AND PDI(14)>MDI(14)) AND (H<=Ref(H,-1)AND Ref(H,-1)>=HHV(H,43))

UNCINO RIBASSISTA:
(ADX(14)>30 AND MDI(14)>PDI(14)) AND (L<=Ref(L,-1)AND Ref(L,-1)<=LLV(L,43))


Per ora prova questa, dovrebbe andar bene...

(ADX(14)>30 AND PDI(14)>MDI(14)) AND
((H<=Ref(H,-1) AND Ref(H,-1)>=HHV(H,43)) OR
(H<=Ref(H,-1) AND Ref(H,-1)<=Ref(H,-2) AND Ref(H,-2)>=HHV(H,43)) OR
(H<=Ref(H,-1) AND Ref(H,-1)<=Ref(H,-2) AND Ref(H,-2)<=Ref(H,-3) AND Ref(H-3)>=HHV(H,43)) OR
(H<=Ref(H,-1) AND Ref(H,-1)<=Ref(H,-2) AND Ref(H,-2)<=Ref(H,-3) Ref(H,-3)<=Ref(H,-4) AND Ref(H-4)>=HHV(H,43))) ;)

lux69
05-06-2006, 09.23.30
Ti ringrazio molto ... :) ho aggiunto un AND e qualche virgola .... sperando di non aver fatto danni nella formula ma mi dava errore nell'inserimento ... così non mi da errore :

(ADX(14)>30 AND PDI(14)>MDI(14)) AND
((H<=Ref(H,-1) AND Ref(H,-1)>=HHV(H,43)) OR
(H<=Ref(H,-1) AND Ref(H,-1)<=Ref(H,-2) AND Ref(H,-2)>=HHV(H,43)) OR
(H<=Ref(H,-1) AND Ref(H,-1)<=Ref(H,-2) AND Ref(H,-2)<=Ref(H,-3) AND Ref(H,-3)>=HHV(H,43)) OR
(H<=Ref(H,-1) AND Ref(H,-1)<=Ref(H,-2) AND Ref(H,-2)<=Ref(H,-3) AND Ref(H,-3)<=Ref(H,-4) AND Ref(H,-4)>=HHV(H,43)))

Per l'uncino ribassista penso sia sufficiente cambiare qualche parametro (L al posto di H) ... vediamo se ci riesco e se è giusto :

(ADX(14)>30 AND MDI(14)>PDI(14)) AND
((L<=Ref(L,-1) AND Ref(L,-1)>=LLV(L,43)) OR
(L<=Ref(L,-1) AND Ref(L,-1)<=Ref(L,-2) AND Ref(L,-2)>=LLV(L,43)) OR
(L<=Ref(L,-1) AND Ref(L,-1)<=Ref(L,-2) AND Ref(L,-2)<=Ref(L,-3) AND Ref(L,-3)>=LLV(L,43)) OR
(L<=Ref(L,-1) AND Ref(L,-1)<=Ref(L,-2) AND Ref(L,-2)<=Ref(L,-3) AND Ref(L,-3)<=Ref(L,-4) AND Ref(L,-4)>=LLV(L,43)))

è giusto ? :confused:

mastbell
05-06-2006, 11.31.13
Ti ringrazio molto ... :) ho aggiunto un AND e qualche virgola .... sperando di non aver fatto danni nella formula ma mi dava errore nell'inserimento ... così non mi da errore :

(ADX(14)>30 AND PDI(14)>MDI(14)) AND
((H<=Ref(H,-1) AND Ref(H,-1)>=HHV(H,43)) OR
(H<=Ref(H,-1) AND Ref(H,-1)<=Ref(H,-2) AND Ref(H,-2)>=HHV(H,43)) OR
(H<=Ref(H,-1) AND Ref(H,-1)<=Ref(H,-2) AND Ref(H,-2)<=Ref(H,-3) AND Ref(H,-3)>=HHV(H,43)) OR
(H<=Ref(H,-1) AND Ref(H,-1)<=Ref(H,-2) AND Ref(H,-2)<=Ref(H,-3) AND Ref(H,-3)<=Ref(H,-4) AND Ref(H,-4)>=HHV(H,43)))

Per l'uncino ribassista penso sia sufficiente cambiare qualche parametro (L al posto di H) ... vediamo se ci riesco e se è giusto :

(ADX(14)>30 AND MDI(14)>PDI(14)) AND
((L<=Ref(L,-1) AND Ref(L,-1)>=LLV(L,43)) OR
(L<=Ref(L,-1) AND Ref(L,-1)<=Ref(L,-2) AND Ref(L,-2)>=LLV(L,43)) OR
(L<=Ref(L,-1) AND Ref(L,-1)<=Ref(L,-2) AND Ref(L,-2)<=Ref(L,-3) AND Ref(L,-3)>=LLV(L,43)) OR
(L<=Ref(L,-1) AND Ref(L,-1)<=Ref(L,-2) AND Ref(L,-2)<=Ref(L,-3) AND Ref(L,-3)<=Ref(L,-4) AND Ref(L,-4)>=LLV(L,43)))

è giusto ? used:


Di nulla... :)
Nn avevo provato la formula dell'uncino rialzista che avevo scritto al momento senza provare... ora va bene ;)
X qnto riguarda il ribassista credo ke dovresti anke invertire le relazioni d'ordine (> al posto di < e viceversa).

lux69
05-06-2006, 13.48.21
OK ! Provo :)
Grazie di nuovo !

ninbra
10-06-2006, 16.02.49
Questo mi sembra un buon 123 low


Indicatori

punto1_123

{123low}
{1 Low}
Punto1:= (If( LLV(L,15)=Ref(L,-1) AND L>Ref(L,-1),1,0));
Punto1


punto2_123



{123low}
{2 Low}
{Condizioni:
- massimo minore
- Non devono passare più di 10 barre da punto1
- La teza condizione serve per avere valore uno solo un giorno}

sale:=If(H>Ref(H,-1),1,0);
Punto2:= If((BarsSince(Fml("punto1_123")=1)<10) AND H<=Ref(H,-1) AND Ref(sale,-1)=1,1,0);
{Non devono esserci punti 2 consecutivi dopo che punto1 è verificato: quindi il cumlato di punto2 deve salire solo di uno dall'ultima volta che il punto1 si è verificato}
Punto2a:= Cum(Punto2);
Punto2b:=ValueWhen( 1, Fml("punto1_123")=1, Punto2a);
punto2c:=If((Punto2a-punto2b)=1,Punto2,0);
Punto2c






{123low}
{3 Low}

{Criteri
- L giorno dopo maggiore della barra precedente
- Per avere solo un na volta indicatore a uno
- L deve essere maggiore del Low del punto 1
- L deve essere minore L del punto 2
- Non nello stesso giorno del punto 2 e 1
- Solo una volta uguale a 1 dopo punto2
- Condizione che prima deve esserci il punto due del punto uno
}


punto3_123


{Low il giorno del punto 1}
Lpunto1:=ValueWhen( 1, Fml("punto1_123")=1,Ref(L,-1));
{Low il giorno del punto 2}
Lpunto2:=ValueWhen( 1, Fml("punto2_123")=1, Ref(L,-1));
Punto3:= (If( BarsSince(Fml("punto2_123")=1)<10 AND L>Ref(L,-1) AND Ref(L,-1)>Lpunto1 AND Ref(L,-1)<Lpunto2 AND Fml("punto2_123")<>1 AND Fml("punto1_123")<>1 AND BarsSince(Fml("punto2_123")=1)<BarsSince(Fml("punto1_123")=1),1,0));

Punto3a:= Cum(Punto3);
Punto3b:=ValueWhen( 1, Fml("punto2_123")=1, Punto3a);
punto3c:=If((Punto3a-punto3b)=1,Punto3,0);
Punto3c



Punto4_RH


{RH}
ValorePunto3:= ValueWhen(1 , Fml( "Punto3_123")=1 ,Ref(L,-1));
ValorePunto2:= ValueWhen(1 , Fml( "Punto2_123")=1 , Ref(H,-1)) ;
ValNewMax:=ValueWhen(1 , Ref(H,-1)>H ,Ref(H,-1));
ValPrecMax:= ValueWhen(2 , Ref(H,-1)>H ,Ref(H,-1));

Punto4:= If(
{l'H della barra deve essere sopra il punto2}
H>ValorePunto2 AND
{il punto tre deve essere attivo}
BarsSince( Fml( "Punto3_123")=1)< BarsSince( Fml( "Punto2_123")=1) AND BarsSince( Fml( "Punto3_123")=1)< BarsSince( Fml( "Punto1_123")=1) AND
{Punto di massimo di due barra}
Ref(H,-1)>H AND
{Se continua a scendere segnala solo il possibile uncino all'interno stesso movimento}
ValNewMax>ValPrecMax
,1,0);
MaxDopoPunto3:=HighestSince(1,Fml("Punto3_123")=1 ,H);
ValoreH:=ValueWhen(1,Punto4=1,Ref(H,-1));
RH:=If(ValoreH>Ref(MaxDopoPunto3,-2),punto4,0);

RH


Expert


Highlights

Ref(Fml( "punto1_123"),+1) = 1

Highlights

Ref(Fml( "punto2_123"),+1) = 1

Highlights

Ref(Fml( "punto3_123"),+1) = 1

Highlights

Fml( "punto4_RH") = 1



Explorer

Filter
Fml( "punto1_123") = 1

Filter

Fml( "punto2_123") = 1

Filter
Fml( "punto3_123") = 1

Filter
Fml( "punto4_RH") = 1

lux69
10-06-2006, 17.55.16
Ciao Ninbra, ti ringrazio tantissimo !
Ho provato a metterlo in pratica e FUNZIONA !!!
Ora vedrò di esaminare qualche titolo e vorrei fare anche qualche backtest ... sempre con Metastock ... :) ... ma non ci riuscirò ...
Non è che hai anche l'123 high ? :o
Certo che non è facile ... ma dove si impara questo linguaggio ? Ci sono corsi ? Mi piacerebbe ...
Vorrei provare a fare un trading system etc. etc. ...
Nuovamente grazie !
Lux

ninbra
10-06-2006, 18.46.07
Per quanto riguarda 123 high bast che tu sostituisca appropriatamente ogni L con H.
C'è un testo che si chiama' Metastock formula language'se vuoi te lo mando via email.

Ciao

lux69
10-06-2006, 19.34.00
Ciao, :)
ringrazio nuovamente, ti ho mandato un messaggio privato ... saluto cordialmente, :)
Lux

ninbra
10-06-2006, 19.51.05
Ti ho mandato il file

Ciao

lux69
10-06-2006, 20.37.21
Ringrazio tanto, comincerò a studiare ... speriamo riesca ... :) :D

delaurentis
14-12-2007, 12.08.59
Salve,
potete spiegarmi operativamente come faccio a costruire un explorer con le formule del RH scritte in precedenza?
Vedo che ci sono sei 7 Box (colonna A B C D E F FILTER) in quale di questo devo incollare le formule?
Grazie

lux69
15-12-2007, 11.05.17
Ciao,
avevo messo nella colonna a l'uncino rialzista :

(ADX(14)>28 AND PDI(14)>MDI(14))
AND
((H<=Ref(H,-1) AND Ref(H,-1)>=HHV(H,43)) OR
(H<=Ref(H,-1) AND Ref(H,-1)<=Ref(H,-2) AND Ref(H,-2)>=HHV(H,43)) OR
(H<=Ref(H,-1) AND Ref(H,-1)<=Ref(H,-2) AND Ref(H,-2)<=Ref(H,-3) AND Ref(H,-3)>=HHV(H,43)) OR
(H<=Ref(H,-1) AND Ref(H,-1)<=Ref(H,-2) AND Ref(H,-2)<=Ref(H,-3) AND Ref(H,-3)<=Ref(H,-4) AND Ref(H,-4)>=HHV(H,43)) OR
(H<=Ref(H,-1) AND Ref(H,-1)<=Ref(H,-2) AND Ref(H,-2)<=Ref(H,-3) AND Ref(H,-3)<=Ref(H,-4) AND Ref(H,-4)<=Ref(H,-5) AND Ref(H,-5)>=HHV(H,43)) OR
(H<=Ref(H,-1) AND Ref(H,-1)<=Ref(H,-2) AND Ref(H,-2)<=Ref(H,-3) AND Ref(H,-3)<=Ref(H,-4) AND Ref(H,-4)<=Ref(H,-5) AND Ref(H,-5)<=Ref(H,-6) AND Ref(H,-6)>=HHV(H,43)) OR
(H<=Ref(H,-1) AND Ref(H,-1)<=Ref(H,-2) AND Ref(H,-2)<=Ref(H,-3) AND Ref(H,-3)<=Ref(H,-4) AND Ref(H,-4)<=Ref(H,-5) AND Ref(H,-5)<=Ref(H,-6) AND Ref(H,-6)<=Ref(H,-7) AND Ref(H,-7)>=HHV(H,43)))

e nella colonna b l'uncino ribassista :

(ADX(14)>28 AND MDI(14)>PDI(14))
AND
((L>=Ref(L,-1) AND Ref(L,-1)<=LLV(L,43)) OR
(L>=Ref(L,-1) AND Ref(L,-1)>=Ref(L,-2) AND Ref(L,-2)<=LLV(L,43)) OR
(L>=Ref(L,-1) AND Ref(L,-1)>=Ref(L,-2) AND Ref(L,-2)>=Ref(L,-3) AND Ref(L,-3)<=LLV(L,43)) OR
(L>=Ref(L,-1) AND Ref(L,-1)>=Ref(L,-2) AND Ref(L,-2)>=Ref(L,-3) AND Ref(L,-3)>=Ref(L,-4) AND Ref(L,-4)<=LLV(L,43)) OR
(L>=Ref(L,-1) AND Ref(L,-1)>=Ref(L,-2) AND Ref(L,-2)>=Ref(L,-3) AND Ref(L,-3)>=Ref(L,-4) AND Ref(L,-4)>=Ref(L,-5) AND Ref(L,-5)<=LLV(L,43)) OR
(L>=Ref(L,-1) AND Ref(L,-1)>=Ref(L,-2) AND Ref(L,-2)>=Ref(L,-3) AND Ref(L,-3)>=Ref(L,-4) AND Ref(L,-4)>=Ref(L,-5) AND Ref(L,-5)>=Ref(L,-6) AND Ref(L,-6)<=LLV(L,43)) OR
(L>=Ref(L,-1) AND Ref(L,-1)>=Ref(L,-2) AND Ref(L,-2)>=Ref(L,-3) AND Ref(L,-3)>=Ref(L,-4) AND Ref(L,-4)>=Ref(L,-5) AND Ref(L,-5)>=Ref(L,-6) AND Ref(L,-6)>=Ref(L,-7) AND Ref(L,-7)<=LLV(L,43)))

nel filtro :
colA OR colB

Ciao ciao,
;)

delaurentis
15-12-2007, 12.53.43
Grazie 1000 ;)
Ho fatto una esplorazione sul mio Data base è il risultato è il seguente:

UNCINO RIALZISTA:
CAIRO COMM.
CREMONINI
DIGITAL BROS
NEGRI BOSSI
TARGETTI SANKEY

UNCINO RIBASSISTA:
SNAI

Mi confermi lo stesso esito anche sul tuo DB?
Operativamente come si può sfruttare l'uncino? Dove l'entry point? Dove l'exit e lo stop?
Grazie

lux69
16-12-2007, 20.34.08
Ciao, confermo; personalmente non utilizzo solo l'uncino ma pi&#249; "segnali" derivanti da diverse tecniche ... per quanto riguarda l'uncino, da come scrive Joe Ross, l'entrata con la trader's trick sarebbe a superamento del max dell'ultima candela con stop loss subito sotto di essa.
Ciao ciao.
:)

delaurentis
21-12-2007, 09.34.17
Buongiorno,
approfitto della tua gentilezza per chiederti se hai sistematizzato in linguaggio Metastock anche il pattern 1-2-3 High e Low, sempre di Ross.
Grazie e buona giornata
DL

lux69
07-01-2008, 11.07.32
Ciao, non uso formule per l'1-2-3 però girovagando su siti di trading ho trovato questo ... :

{Col A}
Peak(1,H,10)<=1.1*Peak(2,H,10) AND
Peak(1,H,10)>=0.9*Peak(2,H,10) AND
Trough(1,L,10)>=1.1*Trough(2,H,10) AND Trough(1,L,10)<=0.9*Trough(2,H,10);

{Col B}
Peak(1,H,5)<=1.1*Peak(2,H,5) AND
Peak(1,H,5)>=0.9*Peak(2,H,5) AND
Trough(1,L,5)>=1.1*Trough(2,H,5) AND
Trough(1,L,5)<=0.9*Trough(2,H,5);

{Col C}
Peak(1,H,1)<=1.1*Peak(2,H,1) AND
Peak(1,H,1)>=0.9*Peak(2,H,1) AND
Trough(1,L,1)>=1.1*Trough(2,H,1) AND
Trough(1,L,1)<=0.9*Trough(2,H,1);

{Filter}
colA=1 OR colB=1 OR colC=1;

delaurentis
07-01-2008, 20.33.02
Ciao, ti ringrazio perl'informazione...
ma temo che il codice non sia corretto in quanto l'ho fatto girare su un grandissimo Data base (titoli ita, Etf ecc) ma non ha riconosciuto in nessuno di questi il pattern 1-2-3...
Puoi verificare che il codice incollato sia corretto?
Grazie



Ciao, non uso formule per l'1-2-3 però girovagando su siti di trading ho trovato questo ... :

{Col A}
Peak(1,H,10)<=1.1*Peak(2,H,10) AND
Peak(1,H,10)>=0.9*Peak(2,H,10) AND
Trough(1,L,10)>=1.1*Trough(2,H,10) AND Trough(1,L,10)<=0.9*Trough(2,H,10);

{Col B}
Peak(1,H,5)<=1.1*Peak(2,H,5) AND
Peak(1,H,5)>=0.9*Peak(2,H,5) AND
Trough(1,L,5)>=1.1*Trough(2,H,5) AND
Trough(1,L,5)<=0.9*Trough(2,H,5);

{Col C}
Peak(1,H,1)<=1.1*Peak(2,H,1) AND
Peak(1,H,1)>=0.9*Peak(2,H,1) AND
Trough(1,L,1)>=1.1*Trough(2,H,1) AND
Trough(1,L,1)<=0.9*Trough(2,H,1);

{Filter}
colA=1 OR colB=1 OR colC=1;

lux69
07-01-2008, 20.58.33
Questo dovrebbe andare :

colA :
Peak(1,H,10)<=1.1*Peak(2,H,10)
AND Peak(1,H,10)>=0.9*Peak(2,H,10)
AND Trough(1,L,10)>=1.1*Trough(2,H,10)
AND Trough(1,L,10)<=0.9*Trough(2,H,10)
AND LLV(L,25)

colB
Peak(1,H,5)<=1.1*Peak(2,H,5)
AND Peak(1,H,5)>=0.9*Peak(2,H,5)
AND Trough(1,L,5)>=1.1*Trough(2,H,5)
AND Trough(1,L,5)<=0.9*Trough(2,H,5)
AND LLV(L,25)

colC
Peak(1,H,1)<=1.1*Peak(2,H,1)
AND Peak(1,H,1)>=0.9*Peak(2,H,1)
AND Trough(1,L,1)>=1.1*Trough(2,H,1)
AND Trough(1,L,1)<=0.9*Trough(2,H,1)
AND LLV(L,25)

Filter
colA=1 OR colB=1 OR colC=1

delaurentis
07-01-2008, 21.20.05
Anche con questa non mi evidenzia nessun titolo/etf ecc... :confused:

lux69
07-01-2008, 21.34.59
... magari perchè oggi non c'è alcun segnale ... :rolleyes: