En este artículo te traigo una solución que durante mucho tiempo me trajo de cabeza.
Espero que a ti también te sirva.
Normalmente, cuando las condiciones de venta son independientes de las condiciones de compra, no tienes ningún problema para dibujar las entradas y las salidas en el gráfico. Digo dibujar para que sea más gráfico, lo mismo nos pasaría con las posiciones del sistema, que no vendería cuando toca.
La dificultad viene cuando tienes un sistema en el que las condiciones de venta dependen del precio de entrada de la compra.
En muchos casos, no detectarás ningún problema.
Pero en aquellos casos en los que, entre la compra y la venta, se produce una segunda señal de compra, Amibroker te resetea la venta en función de la segunda compra y no de la primera.
En otros sistemas lo podemos solucionar fácilmente con la función Exrem pero en estos casos no funciona porque deberías definir el exrem entre la condición de compra y la condición de venta pero Amibroker no te lo permite porque para definir el Exrem te pide previamente la condición de venta.
Es el pez que se muerde la cola.
Vamos a verlo en un ejemplo que así me entenderás mejor:
En este caso veremos un sistema que compra cuando el RSI de 2 está por debajo de 20 y vende cuando el RSI de 2 supera 60 y además el máximo supera el precio de compra.
El sistema opera en el cierre del mismo día que se da la señal, por lo que el precio de compra sería el cierre de la vela.

En esta imagen quiero que te fijes en la señal de compra que se produce a 4514.07$.
No debería vender hasta que el precio no superase esa cifra.
Como puedes ver vende 5 velas más tarde a 4480.7€.
¿Cómo puede ser? Pues porque en los días siguientes se vuelve a dar la condición de compra lo que provoca que la condición Sell se reprograme.
Bien, buscando y rebuscando di con un artículo de Oscar Cagigas dónde nos señalaba directamente la solución.
✨ Implementación
La solución pasa por crear un bucle que fije el precio de entrada y que no se mueva hasta que hayamos cerrado la operación.
Mira la imagen ahora.
No ejecuta la compra hasta que no se produce un máximo superior al precio de entrada y eso que por el camino hemos tenido varias señales de compra.

Ya ves que en Amibroker todo tiene solución. Solo necesitas saber dónde buscar.

👨💻 Código AFL de Amibroker
Como siempre, te dejo el código para que puedas hacer todas las pruebas que quieras. En este caso, puedes seleccionar el tipo de venta por parámetros.
0 comentarios