Cómo automatizar una estrategia de operación manual
Las operaciones automatizadas o algorítmicas ofrecen varias ventajas sobre las operaciones manuales:
- Los sistemas automatizados eliminan la toma de decisiones emocional y ejecutan operaciones con mayor precisión, velocidad y eficiencia.
- Los algoritmos implementan consistentemente estrategias de operación avanzadas mientras que las medidas de gestión de riesgos se aplican de manera confiable.
- Los algoritmos permiten hacer backtesting de estrategias utilizando datos históricos y diversificar en múltiples activos y mercados simultáneamente.
La API de cTrader Algo permite a los operadores automatizar estrategias manuales complejas, permitiéndoles capitalizar las muchas ventajas de las operaciones algorítmicas. En este artículo y su vídeo adjunto, aprenderá cómo automatizar estrategias manuales intrincadas y transformar secuencias de operaciones en algoritmos.
Identificar los patrones de la estrategia manual
Para desarrollar un algoritmo, supongamos que estamos operando manualmente el patrón de martillo para entradas largas y el patrón de hombre colgado para entradas cortas.
Un martillo ocurre durante una tendencia bajista y sugiere una posible reversión alcista. El patrón de martillo se utiliza para identificar entradas de compra.

Un hombre colgado aparece durante una tendencia alcista e indica una posible reversión bajista. El patrón de hombre colgado se utiliza para identificar entradas de venta.

Desarrollar un cBot para operar la estrategia manual
En cTrader Algo, vamos a crear un algoritmo que implemente la estrategia descrita en la sección anterior.
Haga clic en el botón Nuevo bajo la pestaña cBot. Escriba Estrategia de Patrones en el campo de nombre y haga clic en Crear.

En el método OnBarClosed(), implementamos la lógica de nuestra estrategia. Nuestras entradas tienen que cumplir estas dos condiciones:
- El precio de cierre coincide con el precio más alto.
- El tamaño de la vela es al menos cinco veces mayor que el cuerpo de la vela.
Comenzamos definiendo los parámetros Volume, StopLoss y TakeProfit.
1 2 3 4 5 6 7 8 | |
Luego escribimos un fragmento para ejecutar una operación de compra cuando se cumplen las condiciones requeridas.
1 2 3 4 5 | |
1 2 3 | |
En el lado opuesto, estas son las condiciones que deben cumplirse para nuestras entradas de venta:
- El precio de cierre coincide con el precio más bajo.
- El tamaño de la vela es al menos cinco veces mayor que el cuerpo de la vela.
De manera similar, escribimos un fragmento para ejecutar una operación de venta cuando se cumplen las condiciones requeridas.
1 2 3 4 5 | |
1 2 | |
Puede copiar el código completo a continuación:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Para construir el cBot, presione Ctrl+B o haga clic en Construir.
Para hacer backtesting del cBot, primero añadimos una instancia. Seleccione la opción Localmente, especifique sus parámetros preferidos y haga clic en el botón Añadir instancia.

Luego navegamos a la pestaña Backtesting, especificamos un período para la operación de backtesting e iniciamos el backtesting.
Una vez que el proceso de backtesting esté completo, podemos inspeccionar las operaciones. Verá que las condiciones de entrada se cumplen justo antes de que se ingrese cada operación.
Con la automatización exitosa de nuestra estrategia, podemos emplear el cBot para realizar operaciones en nuestro nombre.
Implementar la estrategia de reversión del RSI
En nuestro segundo ejemplo, queremos implementar una estrategia basada en la reversión del indicador Relative Strength Index (RSI). En esta estrategia, entramos en posiciones esperando que el RSI invierta su dirección y seguimos estas reglas:
- Cuando el valor del RSI se mueve por debajo del umbral de compra del RSI, entramos en una posición de compra.
- Cuando el valor del RSI se mueve por encima del umbral de venta del RSI, entramos en una posición de venta.
Vamos a crear un nuevo cBot, ingresamos Estrategia de Reversión RSI como su nombre y hacemos clic en Crear.

Una vez que aparezca el editor de código, agregue System.Linq en la parte superior del código como referencia.
1 | |
Agreguemos dos parámetros que nos permitirán modificar los umbrales antes de ejecutar el cBot.
1 2 3 4 5 | |
Declaramos e inicializamos nuestro indicador de fuerza relativa.
1 2 3 4 5 6 | |
1 2 3 | |
Luego implementamos las condiciones que definen nuestra lógica de operación.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Puede copiar el código completo a continuación:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
Construyamos nuestra estrategia, agreguemos una instancia y hagamos backtesting, como lo hicimos con la estrategia anterior.
Podemos inspeccionar y revisar algunas operaciones nuevamente para ver las condiciones de entrada cumpliéndose justo antes de que se ingrese una operación.
Este artículo ha demostrado cómo identificar una estrategia manual y convertirla en una automatizada, permitiendo operaciones de trading algorítmico.
