domingo, 5 de febrero de 2012

Sistema REBOTE corregido (ya funcionando)

Os dejo el codigo del probacktest para el sistema rebote, ya corregido.
El problema estaba en la orden de stop, que estaba puesto dentro del if... then... de cierre en beneficios.
Ahora lo que hemos hecho es sacarlos fuera.

// Probacktest para comprobar la utilidad del MACd con BB para detectar zonas de rebote
// por jose 7674


//Definimos el MACD
rapida = exponentialaverage[r](close)// r--> varible a optimizar para la media rapida
lenta= exponentialaverage[l](close)// l--> vaiable a optimizar para la media lenta
miMACD = rapida - lenta

//definimos las BB
BBm = average[20](miMACD)
BBsup = BBm + 2*STD[20](miMACD)
BBinf =  BBm - 2*STD[20](miMACD)

//definimos las condiciones para entrar largos y cortos

l1 = miMACD crosses over BBinf
l2 = Stochastic[14,6](close) < 20

c1 = miMACD crosses under BBsup
c2 = Stochastic[14,6](close) > 80

//entramos largos y cortos si se cumplen las condiciones

if l1 and l2 then
    buy 1share at market nextbaropen
endif

if c1 and c2 then
    sellshort at market nextbaropen
endif

//definimos la condicion de cierre
cl1 = close > (entryquote+ beneficio*AverageTrueRange[14](close))//beneficio--> variable a optimizar, de 0.5 a 3, paso 0,5
stopinferior = lowest[13](low)
if longonmarket then
    if cl1 then
        sell at market thisbaronclose
    endif
    set stop (stopinferior*(1-stop2))// stop2--> variable a optimizar, de 0 a 0,05
endif

cc1 = close < (entryquote- beneficio*AverageTrueRange[14](close))
stopsuperior = highest[13](high)
if shortonmarket then
    if cc1 then
        exitshort at market thisbaronclose
    endif
    set stop (stopsuperior*(1+stop2))
endif

/////////////////FIN////////////////////////////////

5 comentarios:

  1. He intentado probarlo pero al darle a probar estrategia me dice que la siguiente variable no es utilizada en el código, pero no me señala ninguna y no se donde esta el fallo.

    ResponderEliminar
  2. Si, tienes toda la razón. El otro día puse el codigo sin comprobarlo. El error esta en la variable stop (ese nombre no se puede usar). Corrijo el codigo y lo dejo funcionando...

    ResponderEliminar
  3. Hola: desearia saber si tienes constancia de poder crear un ProScreener en el Proreal escaneando Sub-indices de un Mercado, en vez de con Valores (Acciones). Gracias

    Gran aporte este blog.

    ResponderEliminar
  4. Hola:
    Cuando lo pego a PRT me da el mensaje "defina la variblez". ¿cómo la defino para que funcione correctamente?. Gracias y enhorabuena por tu blog.

    ResponderEliminar
  5. Hola Jose! Gracias por el código,pero parece queno está actualizado para la última version de PRT (v10.1), porque hay variables que parece que han cambiado de formato y no las acepta.

    ResponderEliminar