Tipos clave de cBots
Los cBots son herramientas versátiles que, dependiendo de su código y lógica, pueden cumplir varios roles y funciones, desde operaciones totalmente automatizadas hasta proporcionar soporte para la implementación de estrategias de operaciones manuales. En este artÃculo y su video correspondiente, definiremos los tipos clave de cBots, describiremos sus principales diferencias y enumeraremos algunas mejores prácticas para crear y utilizar cBots de varios tipos.
En términos generales, hay cuatro tipos clave de cBots.
Nota
Las categorÃas a continuación difieren puramente en base a los comportamientos de los cBots. No se especifican categorÃas dentro del código real del cBot. Además, algunos desarrolladores también pueden crear clasificaciones personalizadas de cBots.
- Estrategias de operaciones automatizadas - como lo implica el nombre, los cBots de este tipo ejecutan estrategias de operaciones de forma autónoma. Por ejemplo, un cBot de Tres cuervos negros y tres soldados blancos coloca una nueva orden de compra después de encontrar tres velas verdes consecutivas, y una nueva orden de venta cuando se enfrenta a tres velas rojas consecutivas.
- Scripts - los cBots que pertenecen a este tipo realizan una acción al inicio y se detienen después de que la ejecución se completa. Por ejemplo, un cBot de script puede establecer un stop loss para todas las posiciones actualmente abiertas, independientemente de su dirección, volumen o instrumento.
- Asistentes de operaciones - están diseñados para realizar algún tipo de acción útil que complementa una estrategia de operaciones manual o automática. Por ejemplo, un cBot de este tipo puede gestionar sus stop loss móviles utilizando reglas personalizadas que son diferentes de la funcionalidad de stop loss móvil incorporada que ofrece cTrader.
- Paneles de operaciones - los cBots de este tipo no operan de forma autónoma; en su lugar, crean controles personalizados que pueden utilizarse para diversos propósitos. Por ejemplo, un cBot puede lanzar una WebView de un agregador de noticias de Forex mientras integra botones personalizados de compra y venta, asà como un selector de sÃmbolos dentro de la WebView, permitiendo al usuario operar sin salir del sitio de noticias.
En las subsecciones siguientes, discutimos cada uno de los tipos anteriores en detalle, describimos sus beneficios y limitaciones, y sugerimos varios casos de uso.
Estrategias de operaciones algorÃtmicas
Los cBots que pertenecen al tipo de estrategia de operaciones automatizada son complejos pero poderosos. Tienen que implementar correctamente una estrategia de operaciones incluyendo todos sus aspectos, como la gestión de riesgos, el dimensionamiento de posiciones y el análisis técnico.
Puede crear una estrategia de operaciones automatizada simple en menos de dos minutos simplemente reemplazando la plantilla predeterminada del nuevo cBot con el código a continuación.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
1 2 3 4 5 6 7 8 9 10 11 | |
El cBot abre una nueva posición en cada barra. Se abre una posición larga si el precio aumentó en la barra anterior en comparación con la barra anterior a ella. Por el contrario, se abre una posición corta si el precio ha bajado.
Backtesting y optimización
Las estrategias de operaciones automatizadas tÃpicamente incluyen muchas partes móviles y parámetros. Como resultado, estos cBots a menudo necesitan ser ampliamente probados y optimizados antes de ser lanzados en cuentas en vivo. Afortunadamente, cTrader proporciona herramientas incorporadas que pueden manejar el backtesting y la optimización por usted.
Herramienta de lÃnea de comandos de cTrader (CLI)
Las estrategias de operaciones automatizadas tÃpicamente necesitan ejecutarse durante largos perÃodos de tiempo para que puedan reaccionar a varias señales de análisis técnico. Para ahorrar en consumo de RAM y CPU en estos casos, puede lanzar cBots a través de cTrader CLI sin abrir nunca cTrader Windows (tenga en cuenta que es posible lanzar cualquier cBot a través de cTrader CLI, no solo cBots de este tipo).
Scripts
Los scripts son tÃpicamente necesarios para realizar algún tipo de acción que serÃa difÃcil o llevarÃa mucho tiempo hacer manualmente. Estas acciones se toman tÃpicamente al inicio del cBot para que pueda lanzar un script, observar los resultados de su funcionamiento y luego detener su instancia al tener éxito para ahorrar en consumo de RAM y CPU.
Por ejemplo, un script puede cerrar todas las posiciones cuyo beneficio bruto exceda 50 unidades de la moneda de depósito de la cuenta del operador. En efecto, el script actuarÃa como un take profit universal para todas las posiciones abiertas que puede activar en cualquier momento. Asà es como se verÃa el código para este script.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
1 2 3 4 5 6 7 8 9 10 11 | |
Después de lanzar el cBot, deberÃamos ver varias posiciones rentables cerrándose gradualmente.
Detención de scripts
Como los scripts solo necesitan ejecutar una acción especÃfica una vez, puede instruir a cTrader para que cierre inmediatamente un script después de que la ejecución se complete con éxito. Como se muestra en el ejemplo anterior, puede hacerlo llamando al método Stop().
Asistentes de operaciones
El propósito de los asistentes de operaciones es realizar regularmente acciones útiles. Aunque esto los hace similares a los scripts, los scripts solo realizan una acción al inicio de la instancia. En contraste, los asistentes de operaciones están diseñados para reaccionar continuamente a las condiciones del mercado u otros factores, y ejecutar operaciones en respuesta a ciertos patrones.
Por ejemplo, considere un cBot que automáticamente cubre sus posiciones tan pronto como las abre. El código para este cBot podrÃa verse asÃ.
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 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Al abrir una posición, el cBot intenta inmediatamente abrir otra en la dirección opuesta; el volumen de esta nueva posición es exactamente la mitad del volumen de la posición original.
Tenga en cuenta que estamos usando el campo hasHedgedPosition para evitar un bucle infinito, de modo que el cBot solo cubra una nueva posición una vez.
Funciones de devolución de llamada
Los asistentes de operaciones a menudo utilizan funciones de devolución de llamada que actúan como manejadores para varios eventos. Para saber qué eventos puede manejar para una determinada clase, abra la documentación de API incorporada, busque la clase requerida y navegue a la sección Events en la tabla de contenidos.
Paneles de operaciones
Los paneles de operaciones muestran controles personalizados que desencadenan varias acciones cuando se interactúa con ellos. TÃpicamente proporcionan mejoras de calidad de vida a la interfaz de usuario predeterminada de cTrader. Por ejemplo, un cBot puede mostrar un botón Comprar que, al hacer clic, ejecuta una orden de mercado para un volumen predefinido en cTrader.
Para crear tal cBot, simplemente use el código 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 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Al hacer clic en el botón Comprar, se coloca una nueva orden de mercado por 10,000 unidades. La ubicación conveniente del botón permite reaccionar rápidamente a nuevas oportunidades de mercado.
Combinación de paneles de operaciones con otros tipos de cBots
Los paneles de operaciones proporcionan controles de interfaz de usuario personalizados que le permiten realizar varias operaciones. Puede usarlos junto con otros tipos de cBots. Por ejemplo, un panel de operaciones podrÃa incluir un botón personalizado Cubrir que, al hacer clic, cubre todas las posiciones actualmente abiertas, similar al ejemplo del asistente de operaciones anterior.
Resumen
Las cuatro categorÃas de cBots tienen usos válidos y se pueden combinar según sus preferencias. Por ejemplo, puede lanzar simultáneamente una estrategia de operaciones automatizada y un asistente de operaciones para lograr los mejores resultados posibles. Puede experimentar con cBots de varios tipos para asegurarse de que su enfoque preferido para operar se ejecute completamente y sin fallas.
