Programmazione Visual Trader il minimo di oggi (1 Viewer)

ale73a

break even trader
lo vorrei usare come stop loss, ad esempio:
if positiondir=1 then exitlong un paio di tick sotto al minimo di oggi...
 

robom1

Forumer storico
Ciao, prova con EOD.L[0] (io non l'ho mai fatto); altrimenti occorrerebbe fare un ciclo di controllo che inizia con firstbarday e finisce con lastbar e mettere in una variabile il minimo ad ogni barra del giorno.
 

ale73a

break even trader
Ciao, prova con EOD.L[0] (io non l'ho mai fatto); altrimenti occorrerebbe fare un ciclo di controllo che inizia con firstbarday e finisce con lastbar e mettere in una variabile il minimo ad ogni barra del giorno.

grazie Robom, adesso lo provo, io avevo buttato giù una roba del genere
Codice:
var: n,minoggi,ieri;
if isfirstbarday then n=1;
endif;
if positiondir=0 and t>t[1] then n=n+1;
endif;
minoggi=hhv(c,n);
ieri=eod.h[1];
if c>ieri then enterlong(nextbar,atopen);
endif;
if positiondir=1 then exitlong(bar,minoggi,stop);
endif;

ma devo vedere se funziona ancora :sad:
 

ale73a

break even trader
grazie Robom, adesso lo provo, io avevo buttato giù una roba del genere
Codice:
var: n,minoggi,ieri;
if isfirstbarday then n=1;
endif;
if positiondir=0 and t>t[1] then n=n+1;
endif;
minoggi=llv(c,n);
ieri=eod.h[1];
if c>ieri then enterlong(nextbar,atopen);
endif;
if positiondir=1 then exitlong(bar,minoggi,stop);
endif;

ma devo vedere se funziona ancora :sad:

no, la sintassi la riconosce ma c'è ancora qualcosa che non va
 
Ultima modifica:

robom1

Forumer storico
Io non ho capito bene l'esigenza; intanto ho scritto queste cose ma non ho neanche provato.

Codice:
{******************************************************************************
* ale73a
******************************************************************************}
var: n,minoggi,ieri, stoplong;
Input: tick(2), valtick(5);
 
//Calcola il minimo della giornata prima dell'entrata long perche altrimenti
//verrebbe sempre riaggiornato al ribasso ed il sistema non uscirebbe mai
//dal long ma bisogna vedere se ho capito bene.
 
if positiondir = 0 then
                          if isfirstbarday then minoggi = L; endif;
                          if currentbar >= 2 and L < minoggi then minoggi = L;  endif;
                   endif;
                   
//Calcola lo stop rispetto al minimo
stoplong = minoggi - (tick*valtick);
//Esempio di enterlong ripreso dall'esempio di ale
ieri = EOD.H[1];
if C > ieri then enterlong(nextbar, atopen);
            installstoploss(inval, stoplong);
            endif;
 

ender85

Forumer attivo
:wall: mi sa che ho avuto un abbaglio ieri sera,,,:eek:

Nel codice che avete scritto c'è un errore di concetto, non tenete conto che VT fa il controllo ogni candela, per cui dovete ragionare secondo ogni controllo candela e non recuperando i vecchi valori.
In pratica dovete ragionare come se VT facesse un ciclo infinito per cui scrivete le istruzioni di conseguenza!

Codice:
Var: Massimo, Minimo;

if isfirstbarday then //Assegno i valori della prima barra
   Minimo=L;
   Massimo=H;
endif;

If H>Massimo then //Controllo ogni barra
   Massimo=H; //Massimo assoluto della giornata
endif;

If L<Minimo then //Controllo ogni barra
   Minimo=L; //Minimo assoluto della giornata
endif;

PlotChart(Massimo, 0, green, solid, 3);
PlotChart(Minimo, 0, red, solid, 3);

Ovviamente questo codice deve essere sempre PRIMA del ts vero e proprio.
Spero di essere stato di aiuto.:up:
 

ale73a

break even trader
Grazie ad entrambi :bow:
lo script di Ender è ok, mi serviva x automatizzare un'operatività di swing trading che dà buoni frutti, ma purtroppo vt senza money management non mi dà un backtest sufficientemente credibile (o meglio non posso fare le uscite a tranches che vorrei)
 

Users who are viewing this thread

Alto