Visual Trader - Stop loss (1 Viewer)

maggioser

Nuovo forumer
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.

Ho provato anche questo! :wall:
Ti allego il listato di un semplice ts per verificare l'errore e lo screen dell'operazione sbagliata. Come puoi notare dopo un gain del 4% l'operazione si conclude con il primo stop anzichè con il terzo.
Ciao

TS provato sul DAX 5 min

Var: media1,media2,media3,stop0,stop1,stop2,stop3,
ValStop(0.75),
ValCondiz(1),
ingresso,
parmedia1(35),
parmedia2(200), // Valore delle medie mobili
parmedia3(500);

ingresso=positionvalue;
stop0 = ingresso;
stop1 = ingresso*1.01;
stop2 = ingresso*1.02;

// Media mobili
media1=Mov(L,parmedia1,A); // Media piu' lenta
media2=Mov(L,parmedia2,A); // Media veloce
media3=Mov(C,parmedia3,A); // Media piu' veloce

InstallStopLoss(inperc, 0.75); // Chiudi posizione se va sotto il 1%.


//ENTER LONG
if not PositionLong then // Se non sono Long
if CrossOver(media1, media3) then
ValCondiz = media1;
EnterLong(NextOpen, ValCondiz, stop);
endif;
endif;

// SPOSTA STOPLOSS LONG
if positiondir=1 and c> (1.01*ingresso) and c<= (1.02*ingresso) then
removestoploss; installstoploss(inval,stop0,"stop");
endif;
if positiondir=1 and c> (1.02*ingresso) and c<= (1.03*ingresso) then
removestoploss; installstoploss(inval,stop1,"stop1");
endif;
if positiondir=1 and c> (1.03*ingresso) and c<= (1.04*ingresso) then
removestoploss; installstoploss(inval,stop2,"stop2");
endif;

//EXIT LONG
if PositionLong then
if CrossOver(media1, media2) then
ValCondiz = media1;
ExitLong(NextOpen, ValCondiz, stop);
endif;
endif;
 

Allegati

  • Grafico.png
    Grafico.png
    136,6 KB · Visite: 304

Users who are viewing this thread

Alto