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!
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;