COSTRUZIONE INDICATORE PER ANALISI CICLICA CON VISUAL TRADER (24 lettori)

luca2009

Nuovo forumer
Non sà neanche lui da che parte andare

Sì, ma è normale che sia così, oggi mi sa che parecchi TS sono andati in tilt :rolleyes:
Di solito in questi casi succede che il TS dà 2 o 3 segnali fasulli, poi quando il trader, preso dallo sfinimento :), decide di non seguire quello successivo, ecco che in quel caso si rivela correttissimo e consegue un gain stratosferico :D :lol:
 

solospread

Forumer storico
Allora ,come avrete avuto modo di notare, a volte quando la spinta rialzista o ribassista è molto violenta l'oscillatore tende ad anticipare il reverse. Ho quindi introdotto delle limitazioni che lo rendono piu' preciso. In pratica ho evitato che dia il segnale in presenza di una candela fortemente rialzista o ribassista qual'è appunto una maroubozu (spero che si scriva cosi)cioè H e L coincidono con O e C. Poi ho cercato una candela d'inversione tipo hammer dicendoli che il corpo della candela moltiplicato per 1.5 ( questo moltiplicatore si deve adattare al tipo di sottostante) sia inferiore al Range. Ovviamente non si ha la pretesa di beccare tutti i min e max piu' significativi, ma sicuramente quando dà il segnale c'è la quasi certezza di uscire con almeno 100 punti in tasca. Provare per credere.
Ora voglio assemblarlo con un trailing dinamico per l'uscita e vediamo cosa ne viene fuori. Buona serata a tutti.
Codice:
// OSCILLATORE LASER_SOLOSPREAD
// INDIVIDUA MINIMI e MASSIMI CON PRECISIONE
var:MIN,MAX,bb,CC,zona1;	

MIN = LLV(RSI(C,14,s),20) < Ref(LLV(RSI(C,14,s),20),2) AND LLV(RSI(C,14,s),20) < 25;
MAX = HHV(RSI(C,14,s),20) > Ref(HHV(RSI(C,14,s),20),2) AND HHV(RSI(C,14,s),20) > 75;

if (MIN = true and C > C[1]) or (MIN = True and (O-C)*1.5 < (H-L)) then
bb =1;
else
bb =0;
endif;
if (MAX = TRUE and C < C[1]) or (Max = true and (O-C)*1.5 < H-L)then
CC =1;
else
CC =0;
endif;
zona1=CreateViewport(200,true,true);
PlotChart(bb,zona1,blue,solid,2);
PlotChart(cc,zona1,red,solid,2);
 

gilato

Forumer attivo
Anomalia

Ciao Solo,
ho caricato il tuo oscillatore guarda che cosa accade al grafico.
Sinceramente è la prima volta che mi capita.
Cosa è successo ?

minifib.GIF
 

solospread

Forumer storico
Ciao Solo,
ho caricato il tuo oscillatore guarda che cosa accade al grafico.
Sinceramente è la prima volta che mi capita.
Cosa è successo ?
Strano. Sul mio funziona. Prova a cancellarlo e riscaricarlo oppure cancella il grafico e richiamalo, anche a me a volte fà degli scherzi. Il listato però funziona penso sia un problema di VT.
 

gilato

Forumer attivo
Grazie per la risposta Solo.
Infatti ho cancellato e ricaricato il grafico e adesso è normale.
Ne approfitto per complimentarmi con te. Veramente un ottimo lavoro.
Se volessi sostituire le linee dell'oscillatore con un istogramma...sai come si fa?
 

bingo_bongoo

Forumer storico
Buona sera a tutti,

mi piace molto lo spirito costruttivo, di studio, di condivisione e di confronto
che regna sovrano in questo thread, per questo lette alcune richieste via email, MP pervenutemi recentemente in merito al lavoro che ho svolto per la conversione del KVO su piattaforma realtime, lo pubblico e lo condivido volentieri.

allego il PROBACKTEST E
e
indicatore KVO con INTEGRAZIONE del LASER

Buon weekend.

Codice:
PROBACKTEST

yo = RSI [9](Close)
mini = lowest [20](yo)
mini2 = mini [2]
maxi = highest [20](yo)
maxi2= maxi[2]

IF (mini < mini2 and mini < 15 and Close > Close[1]) or (mini < mini2 and mini < 25 and ((close-open) > 0.618* range)) then
bb = 1
else
bb= 0
endif

if (maxi > maxi2 and maxi > 80 and Close < Close[1]) or (maxi > maxi2 and maxi > 80 and ((open-close)< 0.618* range)) then
cc = 1
else
cc = 0
endif

IF bb = 1 then

BUY 1 CASH AT MARKET realtime
endif

IF cc = 1 then

sellshort 1 CASH AT MARKET realtime
endif
 

bingo_bongoo

Forumer storico
INDICATORE KVO+LASER

Tsum = High+Low+Close
DM = Range
IF Tsum > Tsum[1] then
trendi = 1
else
trendi = -1
endif

IF Trendi = Trendi [1] then

CM = CM[1]+DM
else
CM = Range[1]+DM
endif

IF CM <> 0 then
VFORCE= Volume * ABS(2*(DM/CM)-1) * trendi * 100
endif

kVO = ExponentialAverage[34](vforce)-ExponentialAverage[55](vforce)

Trigger = ExponentialAverage[13](kvo)

line = 0

scala = highest[180](trigger)

//////////////////////////////////////////////// LASER ///////////////////////////////////////////

yo = RSI [9](Close)
mini = lowest [20](yo)
mini2 = mini [2]
maxi = highest [20](yo)
maxi2= maxi[2]

IF (mini < mini2 and mini < 15 and Close > Close[1]) or (mini < mini2 and mini < 25 and ((close-open) > 0.618* range)) then
bb = scala
else
bb= 0
endif

if (maxi > maxi2 and maxi > 80 and Close < Close[1]) or (maxi > maxi2 and maxi > 80 and ((open-close)< 0.618* range)) then
cc = scala
else
cc = 0
endif

return kvo, trigger, line ,bb,cc
 

Users who are viewing this thread

Alto