Hola a todos.
En el siguiente código, se me ejecuta una orden sell de 3 contratos
EMPEZARCICLO = 1
VALORPROFIT = 50
VALORDELSTOP = 40
if barindex > 1 then
IF NOT ONMARKET AND EMPEZARCICLO[1] = 1 THEN
SELLSHORT 3 CONTRACTS at market
//EMPEZARCICLO = 0
ELSIF NOT ONMARKET AND EMPEZARCICLO[1] = 2 THEN
EMPEZARCICLO = EMPEZARCICLO[1]
ELSIF NOT ONMARKET AND EMPEZARCICLO[1] = 0 THEN
EMPEZARCICLO = 2
ENDIF
ENDIF
SET TARGET PROFIT(VALORPROFIT)
SET STOP LOSS(VALORDELSTOP)
Pero ahora descomento la linea donde digo empezarciclo=0, y no ejecuta ninguna orden sell.
EMPEZARCICLO = 1
VALORPROFIT = 50
VALORDELSTOP = 40
if barindex > 1 then
IF NOT ONMARKET AND EMPEZARCICLO[1] = 1 THEN
SELLSHORT 3 CONTRACTS at market
EMPEZARCICLO = 0
ELSIF NOT ONMARKET AND EMPEZARCICLO[1] = 2 THEN
EMPEZARCICLO = EMPEZARCICLO[1]
ELSIF NOT ONMARKET AND EMPEZARCICLO[1] = 0 THEN
EMPEZARCICLO = 2
ENDIF
ENDIF
SET TARGET PROFIT(VALORPROFIT)
SET STOP LOSS(VALORDELSTOP)
NO LO ENTIENDO, SI EN EL PRIMER CASO, EL PROGRAMA EJECUTA LA ORDEN SELL, PORQUE EN EL SEGUNDO CASO NO, CUANDO LA INFORMACIÓN DE LA VARIABLE ESTÁ DESPUÉS DE LA ORDEN SELL….
ALGUIEN ME PUEDE AYUDAR???? MUCHAS GRACIAS.
Intente poner, al principio:
DEFPARAM PreLoadBars = 0
Pues muchisimas gracias Roberto, FUNCIONA…
Lo que no entiendo es el porque….
Debido a que ProOrder carga por defecto 2000 barras ANTES de la barra inicial, lo que usted piensa que es el número 0 es en realidad el número 2000, entonces> 1.
Como ha descomentado, esa variable se convertirá en 0 antes de que la estrategia comience a venderse.