Uso de Python
La creación de estrategias desde código está pensada para usuarios que prefieren trabajar con código Python. Estas estrategias, a diferencia de los esquemas, no están limitadas en capacidades y puede implementarse cualquier algoritmo.
El proceso de creación de una estrategia se realiza directamente en Designer o en un entorno de desarrollo Python (los entornos de desarrollo más populares son Visual Studio y JetBrains Rider), usando la biblioteca para el desarrollo profesional de robots de trading en Python y la API.
Puede añadir una nueva estrategia haciendo clic en el botón Añadir
en la pestaña Común y seleccionando Estrategia. O haciendo clic con el botón derecho en la carpeta Estrategias del panel Esquemas y pulsando el botón Añadir
en el menú desplegable:

Después de hacer clic en el botón Añadir
, aparecerá una ventana con la elección del tipo de contenido sobre el que crear la estrategia:

Para crear una estrategia desde código Python, seleccione la segunda pestaña. También puede elegir una plantilla que se usará como código inicial.
Después de hacer clic en Aceptar, aparecerá una nueva estrategia en la carpeta Estrategias del panel Esquemas, de forma similar a la creación de una estrategia desde un esquema. Las acciones para eliminar o renombrar la estrategia también son similares.
Pero en lugar de un esquema, se mostrará un editor de código Python:

La pestaña del editor de código consta de los paneles Código fuente y Lista de errores. El panel Código fuente contiene el propio editor de código Python. En la parte superior hay una barra de herramientas donde puede activar o desactivar el resaltado de elementos como Línea actual, Número de línea, etc. Para aumentar el tamaño de fuente, puede usar la combinación CTRL+MouseWheel.
El panel Lista de errores es una tabla con la lista de errores de código; al hacer doble clic en una línea, el cursor se moverá automáticamente en el panel Código fuente a la ubicación del error.
Al editar código, aparecerá un icono
en la esquina inferior derecha del panel Lista de errores, indicando que ha comenzado el seguimiento de cambios. La compilación del código ocurre cuando el código deja de cambiar.
La ejecución de la estrategia en backtest, en live y otras operaciones funcionan de forma similar a las estrategias creadas desde esquemas.
Limitaciones
Warning
Designer usa IronPython, que tiene las siguientes limitaciones:
- Compatibilidad con Python versión 3.4
- Soporte parcial de numpy mediante una implementación especial de .NET (puede encontrar un ejemplo de uso aquí)
- Falta de soporte para otras bibliotecas populares escritas en C (pandas, scipy, etc.)
- Soporte limitado para programación asíncrona
- Imposibilidad de usar ciertos módulos integrados de Python debido a la dependencia de implementaciones específicas de CPython
- El rendimiento puede ser inferior al de CPython en algunas operaciones
Se recomienda tener en cuenta estas limitaciones al desarrollar estrategias de trading en Python dentro de Designer.