COSTRUZIONE INDICATORE PER ANALISI CICLICA CON VISUAL TRADER (1 Viewer)

solospread

Forumer storico
TURION ORARIO: Short da 32250. Meglio non correre appresso ai piccoli movimenti , ma è piu' redditizio prendere i trend ( quando ci sono).


1207228840turion.gif
 

gilato

Forumer attivo
Segnali

Ciao Solospread.
Per i segnali operativi consiglio di mettere sempre l'ingresso del segnale (bar,atclose) in questo modo si ha qualche secondo in più per l'eseguito.
Per i test invece è corretto mettere l'ingresso (nextbar,atopen), perchè + realistico.
 

gilato

Forumer attivo
long/sell

Dimenticavo...
qualcuno mi può dire come si fà in visualtrader ad evidenziare i segnali come quelli del grafico di solospread, un buy seguito da un sell senza prima aver chiuso il precedente buy ????
Quale istruzione occorre dare a VT ??
Grazie a chi risponderà
 

solospread

Forumer storico
Re: long/sell

gilato ha scritto:
Dimenticavo...
qualcuno mi può dire come si fà in visualtrader ad evidenziare i segnali come quelli del grafico di solospread, un buy seguito da un sell senza prima aver chiuso il precedente buy ????
Quale istruzione occorre dare a VT ??
Grazie a chi risponderà

Ciao Gilato, il buy ed i sell postati sono artigianali. Li metto manualmente con la funzione indicatori solo per indicare il punto d'ingresso ideale quando c'è il cross di IDD con MM1. Non ho istruito volutamente le sezioni EnterLong ed Entershort. Altrimenti basta inserire la funzione:
SECTION_ENTERLONG:
if (IDD > MM1) then
EnterLong (Nextbar,AtOpen);
endif;
 

gilato

Forumer attivo
Re: long/sell

solospread ha scritto:
Ciao Gilato, il buy ed i sell postati sono artigianali. Li metto manualmente con la funzione indicatori solo per indicare il punto d'ingresso ideale quando c'è il cross di IDD con MM1. Non ho istruito volutamente le sezioni EnterLong ed Entershort. Altrimenti basta inserire la funzione:
SECTION_ENTERLONG:
if (IDD > MM1) then
EnterLong (Nextbar,AtOpen);
endif;

Ti ringrazio solospread,
so come si plotta, pensavo ci fossero delle funzioni speciali.
Ho seguito l'evoluzione del tuo ts sul forum e ti faccio i miei complimenti.
Ho cercato di seguirne la logica e mi sembra interessante il suo funzionamento.
Ho scritto in linguaggio VT tutti gli indicatori della velocità ma non riesco a farlo funzionare, cioè non genera il segnale di ingresso + semplice, il Long.
E' solo un esempio, è ovvio che poi andranno aggiunte altre condizioni x l'ingresso long.
Non capisco dove sbaglio, se mi vuoi dare una mano ti ringrazio.
Come ringrazierò chiunque mi aiuti.
Quest è il listato che ho scritto:

Var: velo1,velo2,velo3,mm1,valore,iddprec,idd,mm2,zona1,zona2;

velo1=diff(c,ref(c,1),sub);
velo2=op(velo1,constval(3),mul);
velo3=op(velo2,33000,add);
mm1=mov(velo3,34,s);
if velo3>mm1 then valore=1;
endif;
if velo3<mm1 then valore=-1;
endif;
idd=op(constval(iddprec),constval(valore),add);
iddprec = idd;
mm2=mov(iddprec,30,s);
//installstoploss(INPERC,0.6,"STOP");
//installtrailingprofit(inperc,1.5,0.1);

section_enterlong:
if crossover(iddprec,mm2) then enterlong(bar,atclose);
endif;

end_section

section_exitlong:
if crossunder(mm2,iddprec) then exitshort(bar,atclose);
endif;

end_section


zona1=createviewport(300,true,true,true);
zona2=createviewport(300,true,true,true);
Plotchart(velo2,zona1,red,Solid,2);
Plotchart(velo3,zona2,blue,Solid,2);
 

solospread

Forumer storico
Ciao Gilato, la sintassi è corretta però non funziona. Secondo me l'errore è IDD = IDDprec. Non lo riconosce e sinceramente non capisco a cosa serva o come tu lo intenda. V.T. legge le istruzioni da sin a dx e dall'alto verso il basso. Non puoi inserire una formula che contenga un parametro presente nella riga successiva, non lo riconosce. Se lo plotti in una zona sotto il grafico la costante 33000 non ti serve piu'. Serve se lo plotti direttamente nel grafico per adattare il valore della velocità che è dell'ordine delle centinaia a quello del future che è appunto 32000.
 

solospread

Forumer storico
Re: long/sell

gilato ha scritto:
L'ultimo quote non esiste!

Questo è il listato sporco di IDD. E' impostato per plottare IDD e TURION. Togliendo le // puoi provare tutte le altre funzioni che ho creato. Mi sembra sia arrivato il momento di condividerlo con tutti gli amici del forum. Se a qualcuno non funziona mi mandi la sua mail che glielo posto in file txt. Prima di usarlo bisogna prenderci un pò di dimestichezza. Buon divertimento.
PS: Ho provato a fare copia e incolla; funziona perfettamente.


Var:IDD(0),
vel2(0),
vel3(0),
mm1(0),
zona1(0),
zona2(0);
Var: media(0), m2m (0), BTS(0), MioVEL1,mm3(0),MiaOP1,ANTICIPO(0),VVM(0);
Var: miomaxCO,indvp(0),MOVmax,BandaVolumeUpper,BandaVolumeLower, MiaOP7;
Var: mioosc,const2,MiaOP9,Turion,M3M;
Var: miovol (0),mioval1000,MM00;
Var: SolospreadUp,SolospreadDown,zona1,ANTICIPO_SEGNALE;
Var: ANTICIPO_SEGNALE(0),MIXER(0),MMMIX(0),EXITLONG1;
Var: mioatr(0),Sol1,zxz,MioVal0,IDDrw,MM1rw;

SolospreadUp = VEL(C, 30, 0, 10);
SolospreadDown = MOV(SolospreadUp,34,s);
mioatr = RSI(C, 14, S);
Sol1 = MOV(mioatr,14,s);
//PlotChart(SolospreadUp,zona2,black,solid,1);
//PlotChart(SolospreadDown,zona2,red,solid,1);
//PlotChart(ANTICIPO_SEGNALE,zona2,blue,solid,1);

MioVal0 = constval(30);
const2 = constval(1.5);
miovol = VolumeTit (C);
MiaOP9 = OP(miovol,const2,divis);
EXITLONG1 = MOV(L,14,s);
mioosc = Variaz(miovol, P, PREC);
Turion = OP(mioatr,MioVal0,sub);
M3M = OP(Sol1,MioVal0,sub);
// controlla se la chiusura è maggiore dell'apertura allora in miomaxCO viene impostato la chiusura (C), altrimenti gli imposta l'apertura (A).
miomaxCO = OSC_COMPAREVALUES (C, O, G, C, O);
indvp = createviewport(200, true, true);
//PlotChart(miomaxCO, indvp, black, solid,2); // plotto quindi il massimo tra C ed O
IDD = diff(c,ref(c,14),sub); //velocità
MOVmax = MOV(miomaxCO,21,s);
mm1= mov(IDD,14,s); //media mobile semplice a 14 periodi
BTS = Mov(mm1,14,s);
mm3 = mov(BTS,14,s);
MM00 = MOV(IDD,21,s);
BandaVolumeUpper = OP(C,MiaOP9,add);
BandaVolumeLower = OP(C,MiaOP9,sub);
MiaOP7 = OP(BandaVolumeUpper,BandaVolumeLower,sub);
MIXER = OP(SolospreadUp,IDD,add);
MMMIX = OP(mm1,SolospreadDown,add);
IDDrw = OP(Turion,IDD,add);
MM1rw = OP(M3M,MM1,add);
if mioatr > Sol1 then
zxz =65;
else
zxz =35;
endif;

zona1=CreateViewport(300,true,true);
zona2=CreateViewport(300,true,true);
//PlotChart(MM00,zona1,green,solid,1);
PlotChart(MM1RW,zona1,red,solid,1);
PlotChart(IDDRW,zona1,blue,solid,1);
PlotChart(M3M,zona2,red,solid,1);
//PlotChart(zxz,zona2,black,solid,1);
PlotChart(50,zona2,black,solid,1);
PlotChart(TURION,zona2,blue,solid,1);
Plotchart(-10,zona2,black,solid,1);
//PlotChart(BandaVolumeUpper,0,green,solid,1);
//PlotChart(BandaVolumeLower,0,red,solid,1);
 

robom1

Forumer storico
Ciao, per quanto riguarda l'idd una cosa che potrebbe semplificare molto il codice è fare cosi se è stato mantenuto il discorso dei 34 periodi su timeframe 15 minuti:

speed = pistaciclica(C, 34);
signal = mov(speed, 34, E);

La pista alla fine è un indicatore di velocità mentre la sua media mobile è la sua signal line (esponenziale o semplice).
 

Users who are viewing this thread

Alto