Vamos a recordar sus resultados en diario sobre el Ibex35
No estan mal los resultados, aplicando unas comisiones y slippage de 10 euros por operacion, tenemos un 60.77% de operaciones ganadoras, un Drawdown muy aceptable (10.98%), y un run up interesante (32.71%). Eso si, el Ratio ganancia/perdida es de solo un 1.78, lo cual no es demasiado bueno
Aunque el sistema parece funcionar bastante bien sin mas, vamos a intentar mejorarlo.
Y ya que estamos buscando entradas contratendenciales, vamos a filtrar las señales con un estocastico.
Vamos a ver como quedaria el codigo del sistema:
// Probacktest para comprobar la utilidad del MACd con BB para detectar zonas de rebote
// Esta version entra cuando el MACD se introduce en la BB, y el MACD marca sobrecompra o sobreventa
//Definimos el MACD
rapida = exponentialaverage[r](close) //r seria una variable a optimizar
lenta= exponentialaverage[l](close) //l seria otra variable a optimizar
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 //introducimos el Estocasticvo como filtro, y para largos debe ser inferior a 20
c1 = miMACD crosses under BBsup
c2 = Stochastic[14,6](close) > 80 // para cortos debe ser superior a 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))
stopinferior = lowest[13](low)
if longonmarket and cl1 then
sell at market thisbaronclose
set stop stopinferior[1]
endif
if longonmarket then
sell at stopinferior stop
endif
cc1 = close < (entryquote- beneficio*AverageTrueRange[14](close))
stopsuperior = highest[13](high)
if shortonmarket and cc1 then
exitshort at market thisbaronclose
set stop stopsuperior[1]
endif
//////////////////////////////////FIN////////////////////////////////////////////
Bueno, pues ahora vamos a ver como se comporta el sistema aplicando un estocastico normal (periodo14/ K3/ D3):
Podemos ver que la cosa ha mejorado bastante, tenemos un 65.55% de operaciones ganadoras, un Drawdown menor (10.05%), y un run up muy superior (40.94%). Ademas, el Ratio ganancia/perdida sube a 3.5, que ya es un valor mucho mas interesante.
Ahora vamos a probar que ocurre utilizando un estocastico mas lento todavia.
El primer sistema usa un estocastico 14/3/3 como filtro
El segundo un estocastico 21/6/3
Y el tercero es el sistema sin filtros
Se puede ver que el sistema con el estocastico lento (el segundo), es el que menos gana. Pero vamos a ver las estadisticas de los 3
Con estos resultados, ¿con cual os quedariais? . Yo probablemente con el el primero, ya que el beneficio es mucho mayor y el DrawDown es perfectamente aceptable.
En cualquier caso, hay que tener cuidado con los backtests, ya que de un dia para otro pueden variar ligeramente los resultados... ((y mas si no me doy cuenta de igualar las comisiones y slippages, culpa mia y no de PROREALTIME)
Muchas felicidades por la iniciativa. Te he encontrado gracias a Blai5 (que por cierto sigo mucho en su blog).
ResponderEliminarA la hora de pasar tu código al proBacktest de PRT me dice que defina las variables r, l y beneficio. ¿sabes a qué se debe?
muchas gracias y ánimo en tu trabajo en el bog
La variables r, l y beneficio hay que definirlas.
ResponderEliminar"r" es la media rapida del MACD, su valor puede- suele estar entre 5-13
"l" es la media lenta del MACD, puedes definirla entre 15-50
Y "beneficio" es el factor de AverageTrueRange por encima del que cerraremos la operacion.
Normalmente lo situo entre 0.4-2.
Voy a intentar hacer un pequeño manual, aunque se que Xar3.com o Blai5.net tenian algo ya hecho, pero no lo encuentro
¡Excelente, José!
ResponderEliminarVoy a echarle un ojo en detalle a Rebote. Tiene una pinta magnífica.
¡Un saludo!
Sería posible acceder en algún sitio a como se introducen las variables? es que soy novato y me pierdo...gracias
ResponderEliminarhe probado con acciones del ibex y no funciona muy bien. con índices si parece mejor. gracias
ResponderEliminarHola josemayo2.
ResponderEliminarProbablemente se debe a que el sistema esta configurado para indices, y para acciones hay que hacer alguna pequña modificacion.
Te pongo los resultados con 5 valores del Ibex en otra entrada