Estimados lectores,
hoy vamos a hablar de las posibilidades de mejora en un Expert Advisor, añadiendo código, específicamente el tema de los filtros.
Un filtro es cualquier rutina, que elimine más operaciones perdedoras, o más pérdidas que ganancias, en una proporción lo suficientemente interesante, para que siga habiendo relevancia estadística (es decir, no eliminar demasiadas operaciones y que nuestro caso se haga demasiado particular estadísticamente) y mejore la rugosidad de nuestra curva, nuestro Profit Factor, nuestro porcentaje de ganadoras, nuestro ratio y nuestra Ganancia Neta.
Filtros
Los filtros son de varios tipos, pero generalmente evitan que entre una orden y por eso se llaman así.
Filtros horarios
Filtros por día del mes
Filtros por día de la semana
Filtros de impulso
Filtros de indicador
Filtros de divergencia
Filtros de vela
Filtros de confirmación
Filtros de distancia de entrada
Filtros de bufer
Filtros de confirmación por tiempo o por velas
Probablemente se nos escapa alguno más, pero vamos a ir detallando todos y cada uno de estos.
Filtro horario
Muy usado en los sistemas de breakout o rompimiento. En este caso lo que se hace es entrar sólo a horas determinadas dónde sabemos que los rompimientos se pueden efectuar con claridad, por ejemplo, la apertura europea, la apertura americana, la apertura de Tokyo. Lo que se espera es que se rompa la caja de la sesión anterior, colocándonos a ambos extremos. Al filtrar por horas, el sistema evitará muchísimos falsos breakouts, o falsos rompimientos.
También se usa en sistemas tendenciales y de scalping, aunque con propósito diferente. En los tendenciales lo que queremos es evitar movimientos no suficientemente impulsivos, por ejemplo no entrando de 19 hrs a 1 am. Y en los scalpers todo lo contrario, entrando sólo cuándo el mercado va a estar lateral.
Filtros por día del mes
En este tipo de filtro lo que se nota es que hay sistemas que van mejor los primeros diez días de cada mes. Esto se debe a que los bancos institucionales hacen cierto tipo de operaciones según un calendario y los instrumentos se ven afectados por este.
Filtros por día de la semana
En este tipo de filtro lo que se logra es eliminar los días, en los que el instrumento no es rentable, o gana muy poco. Suele ocurrir que dependiendo del sistema y el instrumento hay días mucho más rentables que otros. Por ejemplo, en muchos sistemas el USDJPY funciona mejor los Viernes.
Filtros de impulso
Aquí lo que se valora es si el precio trae suficiente impulso para entrar, esto puede servir para todo tipo de sistemas, desde un breakout, un tendencial, incluso un scalper. Hay muchas formas de medir esto. El punto aquí es usar este filtro como confirmación, si el precio no lleva suficiente fuerza, no entramos.
Filtros de indicador
Lo que hacemos aquí es eliminar más operaciones perdedoras, funciona básicamente como confirmación de tipo condicional "y". Los clásicos son el RSI, el CCI, el estocástico, el Williams, el Laguerre por mencionar sólo unos pocos. Estos indicadores nos quitan muchas señales "ruidosas". También podemos combinarlos, pero ojo con la sobreoptimización.
Filtros de divergencia
En position trading, sistemas tendenciales de largo plazo, podemos filtrar y sólo entrar si se dan todas nuestras condiciones y además una divergencia en uno de nuestros indicadores, como puede ser un estocástico. De esta manera eliminamos muchas más señales perdedoras que ganadoras.
Filtros de vela
Aquí buscamos básicamente confirmación, es decir, que las velas previas vengan combinadas de cierta manera. Podemos filtrar determinadas figuras clásicas o no tan clásicas.
Filtros de confirmación
Llamamos filtro de confirmación a cualquier filtro que vaya en el mismo sentido y busque sólo un apoyo diferente a nuestra señal. Por ejemplo en una tendencia, una confirmación podría ser un filtro de divergencia o un filtro de vela (buscando el patrón que confirme inicio de tendencia). Más que un filtro en sí, es una subfamilia dentro de los filtros.
Filtros de distancia de entrada
En este tipo de filtro, que por ejemplo se usa bastante en los breakout, nos ponemos a una distancia de seguridad, que confirme el rompimiento (pueden ser 10 pips). De esta manera confirmamos que se ha dado el rompimiento, esto se puede programar y OPTIMIZAR en nuestro código, buscar distancias de seguridad, que confirmen las entradas y que sean optimizables por instrumento y por número de pips.
Filtros de bufer
En este tipo de filtro, que es muy similar al de distancia de entrada, el bufer se da respecto a un indicador, por ejemplo una media móvil, buscamos confirmación a un distancia de seguridad (o búfer) de un indicador concreto, que no del precio, por ejemplo a 15 pips de una media móvil de 60 periodos, entraríamos y nunca antes.
Filtros de confirmación por tiempo o velas
En este tipo de filtros, lo que buscamos es confirmar nuestra señal, entrando algo más tarde pero viendo que sigue vigente, pasadas x velas, o pasados x minutos. De esta forma estaremos más seguros, aunque también perderemos muchas entradas válidas. Optimizando veremos si este filtro nos ha ayudado a mejorar y filtrar más paja que trigo.
______________
Esperamos haberos dado una somera imagen de todas las mejoras de código que podemos introducir, y eso que sólo con los filtros. Seguiremos esta serie de artículos con otro tipo de mejoras de código. Probablemente se nos haya escapado algún tipo de filtro adicional, estamos abiertos a sugerencias. :)
saludos cordiales,
EA-Billionaire
www.robot-de-forex.com/
www.youtube.com/robotdeforex
www.twitter.com/robotdeforex