Visual Trader - Stop loss

maggioser

Nuovo forumer
Buongiorno, ho questo problema con la programmazione di VT. Non riesco a implementare il comando "se hai raggiunto il guadagno dell'1% sposta lo stop loss in pari".
Ho provato così ma non funge:

//Long
.......
ingresso=c;
sicurezza1=ingresso*1.01;
pari=ingresso;
installstoploss(inperc,valstop,"stop");
if c[0]>sicurezza1 then
removestoploss;
installstoploss(inperc,pari,"stop");


//Short
......
ingresso=c;
sicurezza2=ingresso*0.99;
pari=ingresso;
installstoploss(inperc,valstop,"stop");
if c[0]<sicurezza2 then
removestoploss;
installstoploss(inperc,pari,"stop");
endif;


Nessuno ha qualche idea?
Grazie
 
a mio avviso per verificare il problema devi plottare le variabili; potrebbe esistere anche la possibilità che non vengano attivati il removestoploss e l'installstoploss. Una volta fatto si potrebbe provare con il modify e alla fine sentire anche con traderlink.
 
Buongiorno, ho questo problema con la programmazione di VT. Non riesco a implementare il comando "se hai raggiunto il guadagno dell'1% sposta lo stop loss in pari".
Ho provato così ma non funge:

//Long
.......
ingresso=c;
sicurezza1=ingresso*1.01;
pari=ingresso;
installstoploss(inperc,valstop,"stop");
if c[0]>sicurezza1 then
removestoploss;
installstoploss(inperc,pari,"stop");


//Short
......
ingresso=c;
sicurezza2=ingresso*0.99;
pari=ingresso;
installstoploss(inperc,valstop,"stop");
if c[0]<sicurezza2 then
removestoploss;
installstoploss(inperc,pari,"stop");
endif;


Nessuno ha qualche idea?
Grazie

Per spostare lo stop in parti devi mettere:

installstoploss(inval,positionvalue);

ciao
 
Prova cosi:

ingresso=positionvalue;
if positiondir=1 and c>1.01*ingresso then
installstoploss(inval,ingresso,"stop1");
endif;
if positiondir=-1 and c*1.01<ingresso then
installstoploss(inval,ingresso,"stop2");
endif;

Ciao, Damien.
 
Per spostare lo stop in parti devi mettere:

installstoploss(inval,positionvalue);

ciao

Grazie, ma così ancora non mi funziona poichè in alcuni casi entra ed esce in stoploss sulla stessa barra (5 min).
Adesso provo anche con il secondo suggerimento.

Con questa sintassi sembra funzionare correttamente
// SPOSTA STOPLOSS LONG
ingresso=positionvalue;
if positiondir=1 and c>1.01*ingresso then
removestoploss;
installstoploss(inval,ingresso,"stop1");
endif;

Ora per creare un traling profit manualmente (aggiungendo altre condizioni)
che sintassi dovrei usare visto che con questa mi considera solo la prima condizione?
// SPOSTA STOPLOSS LONG AL CRESCERE DEL GAIN
ingresso=positionvalue;
if positiondir=1 and c>1.01*ingresso then
removestoploss;
installstoploss(inval,ingresso,"stop1");
endif;
if positiondir=1 and c>1.02*ingresso then
removestoploss;
installstoploss(inval,ingresso*1.01,"stop1");
endif;
.....
e così via...

Grazie
 
Ultima modifica:
.........
e così via...

Grazie

Hai provato così?

ingresso=positionvalue;
if positiondir=1 and c>1.01*ingresso and c<1.02*ingresso then
removestoploss; installstoploss(inval,ingresso,"stop1");
endif;
if positiondir=1 and c>1.02*ingresso and c<1.03*ingresso then
removestoploss; installstoploss(inval,ingresso*1.01,"stop2");
endif;

mettendo "c>1.01*ingresso and c<1.02*ingresso " vincoli l'esecuzione nel valore compreso tra i 2
 
Hai provato così?

ingresso=positionvalue;
if positiondir=1 and c>1.01*ingresso and c<1.02*ingresso then
removestoploss; installstoploss(inval,ingresso,"stop1");
endif;
if positiondir=1 and c>1.02*ingresso and c<1.03*ingresso then
removestoploss; installstoploss(inval,ingresso*1.01,"stop2");
endif;

mettendo "c>1.01*ingresso and c<1.02*ingresso " vincoli l'esecuzione nel valore compreso tra i 2

Ti ringrazio ma anche così mi considera solo la prima condizione e si "dimentica" delle altre. Per esempio dopo una operazione in guadagno del 3.06% mi esce in pari considerando solo la prima condizione.

Qui sotto il listato:
ingresso=positionvalue;
if positiondir=1 and c>1.01*ingresso and c<1.02*ingresso then
removestoploss; installstoploss(inval,ingresso,"stop1");
endif;
if positiondir=1 and c>1.02*ingresso and c<1.03*ingresso then
removestoploss; installstoploss(inval,ingresso*1.01,"stop2");
endif;
if positiondir=1 and c>1.03*ingresso and c<1.04*ingresso then
removestoploss; installstoploss(inval,ingresso*1.02,"stop3");
endif;

CIAO
 
Non so ma invece di fare remove e install (stoploss) fai solo il modify dello stop loss; inoltre se non l'hai già fatto scarica la 5.1.
 
Non so ma invece di fare remove e install (stoploss) fai solo il modify dello stop loss; inoltre se non l'hai già fatto scarica la 5.1.

Ho già installato la 5.1 e utilizzato il comando modify senza raggiungere il risultato sperato. Ho provato comunque l'instaltrailingprofit ma i risultati non sono soddisfacenti (quelli sperati!).
Grazie a tutti per l'impegno, vedrò in futuro cosa altro introdurre per migliorare il mio ts.
Ciao
 
Ciao, a me sembra strano che non funzioni; prova ad inserire il valore ingresso, ingresso*1,01, ingresso*1,02) con tre variabili che dovranno essere loro inserite dentro l'installstoploss, tipo esempio:

ingresso=positionvalue;
stopp1 = ingresso;
stopp2 = ingresso*1.01;
stopp3 = ingresso*1.02;

if positiondir=1 and c> (1.01*ingresso) and c<= (1.02*ingresso) then
removestoploss; installstoploss(inval,stopp1,"stop1");
endif;
if positiondir=1 and c> (1.02*ingresso) and c<= (1.03*ingresso) then
removestoploss; installstoploss(inval,stopp2,"stop2");
endif;
if positiondir=1 and c> (1.03*ingresso) and c<= (1.04*ingresso) then
removestoploss; installstoploss(inval,stopp3,"stop3");
endif;





delle volte avevo verificato che se si inseriva una variabile invece del calcolo in talune funzioni funzionava.
 

Users who are viewing this thread

Back
Alto