Según muchos autores, alcanzar el éxito en Forex es casi imposible sin una gran cantidad de automatización. Esta automatización puede incluir herramientas de análisis del mercado, indicadores de señales, automatización de la ejecución (asesores expertos) y herramientas de análisis del rendimiento. La automatización de cualquiera de estos componentes aporta verificabilidad, repetibilidad y, con suerte, fiabilidad al proceso de trading, aspectos todos ellos muy importantes para ser rentable en el mercado de FX. Cuando un operador decide por primera vez automatizar algo que hacía (o pensaba hacer) manualmente, se topa con las limitaciones que presenta su plataforma de trading. Las limitaciones también se aplican al lenguaje de programación que debe utilizarse para crear el script, indicador o asesor experto concebido. La mayoría de los operadores evitan cambiar de plataforma de trading y continúan con la automatización utilizando la plataforma en la que operan normalmente. El resultado es que las plataformas de trading más populares también acaban proporcionando el lenguaje de programación y las herramientas más populares del sector. Lo que a su vez aumenta la popularidad de la plataforma (de ahí la omnipresencia de MT4). Sin embargo, la calidad de la propia plataforma de trading no siempre está a la altura de la calidad del lenguaje de programación y del entorno de desarrollo que ofrece. Por ejemplo, actualmente, esto se nota mucho con TradingView y su Pine Script. He aquí una breve descripción de las opciones que los operadores de Forex tienen hoy en día a la hora de elegir un lenguaje de programación para la automatización del trading:
- MQL4: el más antiguo de los lenguajes de programación desarrollados específicamente para la automatización de FX y probablemente todavía el más popular en el trading minorista de Forex. Ha evolucionado mucho desde su versión inicial, lanzada en 2005. El lenguaje es parecido a C, pero ahora también puede trabajar con clases y puede ampliarse con importaciones de DLL para realizar casi cualquier tarea. Programar en MQL4 es bastante sencillo, pero tiene muchas limitaciones propias de la plataforma MT4.
- MQL5: un hermano más joven de MQL4 con muchas más funciones y una inclinación intrínseca hacia la programación orientada a objetos. Hacer cosas sencillas puede ser bastante complicado con MQL5, pero un enorme conjunto de bibliotecas estándar simplifica la mayor parte de eso. También es mucho más versátil que MQL4 porque MT5 como plataforma está construida para ser una herramienta de trading universal.
- cAlgo: el lenguaje de programación de la plataforma cTrader está basado en C#, ampliado con muchas clases relacionadas con la plataforma. Es mucho más fácil para un programador de C# cambiar a cAlgo que para un programador de C++ cambiar a MQL4 o MQL5. Sin embargo, cAlgo aún tiene bastantes carencias en cuanto a las funciones disponibles para interactuar con la plataforma. A pesar de ello, hay muchos programadores de cAlgo en la comunidad oficial. Y también puede aprender con nuestros tutoriales de indicadores y robots para cTrader.
- NinjaScript: un poco más joven que MQL4, NinjaScript es algo similar a cAlgo en el sentido que extiende C# también. Parece ser muy popular entre los usuarios de NinjaTrader, pero NinjaTrader en sí no es demasiado popular entre los operadores de Forex al contado, es más una plataforma orientada a futuros.
- Pine Script: el más reciente de los lenguajes de plataforma de trading que figuran en esta lista. Pine Script se utiliza para crear indicadores y estrategias automatizadas para TradingView, que es actualmente una de las plataformas de gráficos más populares. Sin duda, Pine Script carece de la potencia de los lenguajes mencionados anteriormente: es muy sencillo. Pero su sencillez lo hace accesible a personas que no saben programar que estén interesadas en automatizar una parte de su estrategia de trading.
- Los lenguajes de propósito general, como Python, Go, R e incluso C++, pueden ser (y son) utilizados por los operadores para automatizar el análisis y el proceso de ejecución de las operaciones. Esto requiere algún tipo de conectividad entre el servidor del bróker y el programa creado por el desarrollador. Esta conectividad se consigue a través de una especie de API (interfaz de programación de aplicaciones). Por supuesto, no todos los brókeres proporcionan acceso API a sus servidores y no todos los operadores tienen los conocimientos como para desarrollar una aplicación que funcione de esa manera.
- Excel (o su homólogo de LibreOffice) se utiliza bastante para realizar análisis de mercado basados en datos proporcionados por los brókeres a través de API. Incluso es posible conectar una hoja de cálculo Excel a una plataforma MetaTrader que se ejecute en su PC mediante un acceso DDE bastante sencillo. Esto requiere muy poco conocimiento de programación real y es una gran manera para los profesionales de Excel para aprovechar la automatización del trading de Forex.
La experiencia en programación de la mayoría de los operadores de Forex se limita a MQL4/MQL5, cAlgo y Pine Script. Sin embargo, los experimentos de conexión a servidores de trading mediante API con Python, Go y Excel también parecen estar ganando popularidad. ¿Ha intentado alguna vez programar algo para plataformas de Forex? Puede utilizar nuestro foro para compartir más detalles al respecto. ¿Cómo aprendió? ¿Qué tan difícil fue? ¿Cuál ha sido el programa más complejo que ha desarrollado con fines operativos o de análisis? En su opinión, ¿cuál de las plataformas minoristas de Forex ofrece el mejor lenguaje de programación y entorno de desarrollo?
Si le interesa aprender programación en MQL4, puede consultar nuestras guías dedicadas a MQL4. Si necesita automatizar algo, pero no quiere dedicar tiempo a aprender, puede informarse sobre los servicios de programación personalizada a su disposición.