Consejos de un programador profesional (parte II): Organizando el almacenamiento y el intercambio de parámetros entre el experto, los scripts y los programas externos
Consejos de un programador profesional sobre métodos, técnicas y herramientas auxiliares para facilitar la programación. En esta ocasión, hablaremos de los parámetros que podemos restaurar tras reiniciar (cerrar) el terminal. Todos los ejemplos son en realidad trozos del código operativo del proyecto Cayman del propio autor.
Múltiples indicadores en un gráfico (Parte 02): primeros experimentos
En el artículo anterior, múltiples indicadores en un gráfico, presenté los conceptos y fundamentos para que podamos utilizar múltiples indicadores en un gráfico. Aquí presentaré y desglosaré el código fuente.
Probando las características y los límites de MetaTrader 4
Este artículo expone algunos detalles sobre las características y los límites del Probador de Estrategias de MetaTrader 4.
Aprendiendo a diseñar un sistema comercial basado en CCI
En este nuevo artículo de nuestra serie sobre el diseño de sistemas comerciales, hablaremos del Índice del Canal de Mercaderías (CCI), estudiaremos sus entresijos y crearemos juntos un sistema comercial basado en este indicador.
Trading de cuadrícula automatizado utilizando órdenes límite en la Bolsa de Moscú MOEX
Hoy vamos a desarrollar un asesor comercial en el lenguaje de estrategias comerciales MQL5 para MetaTrader 5 de la Bolsa de Moscú MOEX. El asesor comerciará con una estrategia de cuadrícula en el terminal MetaTrader 5 en los mercados de la Bolsa de Moscú MOEX; también incluirá el cierre de posiciones usando stop loss o take profit, y eliminará las órdenes pendientes al suceder ciertas condiciones del mercado.
Desarrollamos un Asesor Experto multidivisas (Parte 1): Funcionamiento conjunto de varias estrategias comerciales
Existen bastantes estrategias comerciales distintas. Para diversificar los riesgos y aumentar la estabilidad de los resultados comerciales, puede resultar útil utilizar varias estrategias que funcionen en paralelo. Pero si cada estrategia se implementa como un asesor independiente, se hace mucho más difícil gestionar su trabajo conjunto en una cuenta comercial. Para resolver este problema, es deseable implementar el funcionamiento de diferentes estrategias de negociación en un asesor.
Kit del Trader: Librería del trade de arraste
El artículo describe la librería del trade de arrastre que proporciona funcionalidad para el comercio visual. La librería puede integrarse fácilmente en prácticamente cualquier Asesor Experto. Su Asesor Experto puede transformarse de un autómata de un trading automatizado y tener a su lado un sistema de información casi sin esfuerzo agregando simplemente unas pocas líneas de código.
Ejemplo de optimización estocástica y control óptimo
Este Asesor Experto, llamado SMOC, que significa Stochastic Model Optimal Control (Modelo Estocástico de Control Óptimo), es un ejemplo sencillo de un avanzado sistema algorítmico de trading para MetaTrader 5. Utiliza una combinación de indicadores técnicos, control predictivo de modelos y gestión dinámica de riesgos para tomar decisiones comerciales. El EA incorpora parámetros adaptativos, dimensionamiento de posiciones basado en la volatilidad y análisis de tendencias para optimizar su rendimiento en diferentes condiciones de mercado.
Experimentos con redes neuronales (Parte 2): Optimización inteligente de una red neuronal
Las redes neuronales lo son todo. Vamos a comprobar en la práctica si esto es así. MetaTrader 5 como herramienta autosuficiente para el uso de redes neuronales en el trading. Una explicación sencilla.
Creamos un asesor multidivisa sencillo utilizando MQL5 (Parte 5): Bandas de Bollinger en el Canal de Keltner - Señales de Indicador
En este artículo, entenderemos por asesor multidivisa un asesor o robot comercial que puede comerciar (abrir/cerrar órdenes, gestionar órdenes, por ejemplo, trailing-stop y trailing-profit, etc.) con más de un par de símbolos de un gráfico. En este artículo, usaremos las señales de dos indicadores, las Bandas de Bollinger® y el Canal de Keltner.
Aprendiendo a diseñar un sistema de trading con Accelerator Oscillator
Aquí tenemos un nuevo artículo de nuestra serie dedicada a la creación de sistemas comerciales basados en indicadores técnicos populares. Esta vez analizaremos el indicador Accelerator Oscillator: aprenderemos a utilizarlo y a crear sistemas comerciales basados en él.
Esperanza moral en el trading
Este artículo trata sobre la esperanza moral. Veremos varios ejemplos de su uso en el trading y qué resultados se pueden lograr con su ayuda.
Plantilla para proyectar el MVC y posibilidades de uso
En el artículo, analizaremos una plantilla de MVC bastante extendida. Asimismo, estudiaremos sus posibilidades y las ventajas y desventajas de su uso en los programas MQL. Su esencia consiste en "dividir" el código existente en tres componentes separados: Modelo (Model), Vista (View) y Controlador (Controller).
Redes neuronales: así de sencillo (Parte 27): Aprendizaje Q profundo (DQN)
Seguimos explorando el aprendizaje por refuerzo. En este artículo, hablaremos del método de aprendizaje Q profundo o deep Q-learning. El uso de este método permitió al equipo de DeepMind crear un modelo capaz de superar a los humanos jugando a los videojuegos de ordenador de Atari. Nos parece útil evaluar el potencial de esta tecnología para las tareas comerciales.
Gráfico informativo "Qué supone MetaTrader Market"
Hace unas semanas se publicó el gráfico informativo sobre el servicio "Freelance", a modo de informe. Entonces les prometimos que muy pronto descubriríamos también las cifras sobre el Mercado. Así que ahora le proponemos familiarizarse con los datos que hemos reunido.
Lenguaje de programación visual Drakon: una herramienta de comunicación para desarrolladores y clientes MQL
DRAKON es un lenguaje de programación visual especialmente diseñado para simplificar la interacción entre especialistas de distintas ramas (biólogos, físicos, ingenieros...) y programadores en proyectos espaciales rusos (por ejemplo, al crear el complejo "Burán"). En este artículo, hablaremos sobre cómo DRAKON hace que la creación de algoritmos sea accesible e intuitiva, incluso si nunca nos hemos enfrentado al código. Asimismo, también veremos cómo el lenguaje DRAKON ayuda tanto al cliente a explicar sus pensamientos al encargar robots comerciales, como al programador a cometer menos errores en funciones complejas.
El modelo de movimiento de precios y sus principales disposiciones (Parte 3): Cálculo de parámetros óptimos en el juego bursátil
En el marco del presente enfoque de ingeniería desarrollado por el autor, basado en la teoría de la probabilidad, se encuentran las condiciones para abrir una posición rentable, y también se calculan los valores óptimos (que maximizan las ganancias) para el stop loss y el take profit.
Regresiones espurias en Python
Las regresiones espurias ocurren cuando dos series de tiempo exhiben un alto grado de correlación puramente por casualidad, lo que conduce a resultados engañosos en el análisis de regresión. En tales casos, aunque las variables parezcan estar relacionadas, la correlación es casual y el modelo puede no ser confiable.
Algoritmos de optimización de la población: Algoritmo de enjambre de aves (Bird Swarm Algorithm, BSA)
El artículo analiza un algoritmo BSA basado en el comportamiento de las aves, que se inspira en las interacciones colectivas de bandadas de aves en la naturaleza. Las diferentes estrategias de búsqueda de individuos en el BSA, que incluyen el cambio entre el comportamiento de vuelo, la vigilancia y la búsqueda de alimento, hacen que este algoritmo sea multidimensional. El algoritmo usa los principios del comportamiento de las bandadas, la comunicación, la adaptabilidad, el liderazgo y el seguimiento de las aves para encontrar con eficacia soluciones óptimas.
Creación simple de indicadores complejos usando objetos
El artículo presenta un método para crear indicadores complejos que nos evitará problemas al trabajar con múltiples gráficos y búferes, así como al combinar datos de varias fuentes.
Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte V): Clases y colección de eventos comerciales, envío de eventos al programa
En anteriores artículos comenzamos a crear una gran biblioteca multiplataforma cuyo objetivo es simplificar la escritura de programas para las plataformas MetaTrader 5 y MetaTrader 4. En la cuarta parte, hemos puesto a prueba el seguimiento de eventos comerciales en la cuenta. En esta parte, vamos a crear las clases de los eventos comerciales y a colocarlas en la colección de eventos desde la que serán enviadas al objeto básico de la biblioteca Engine y al gráfico del programa de control.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 47): Indicadores estándar de periodo y símbolo múltiples
En el presente artículo, comenzaremos a desarrollar los métodos de trabajo con los indicadores estándar, lo cual nos permitirá crear indicadores estándar de periodo y símbolo múltiples basados en las clases de la bibliotecas. Asimismo, añadiremos a las clases de las series temporales el evento "Barras Omitidas" y aligeraremos el código del programa principal, trasladando las funciones de preparación de la biblioteca de dicho programa a la clase CEngine.
La teoría del caos en el trading (Parte 1): Introducción, aplicación a los mercados financieros e indicador de Lyapunov
¿Puede aplicarse la teoría del caos a los mercados financieros? En este artículo analizaremos en qué se diferencian la teoría clásica del caos y los sistemas caóticos del concepto propuesto por Bill Williams.
Media móvil en MQL5 desde cero: Sencilla y accesible
Usando ejemplos sencillos, hoy analizaremos los principios del cálculo de las medias móviles y nos familiarizaremos con las formas de optimizar el cálculo de los indicadores y, en consecuencia, de las medias móviles.
Estrategias de trading
Todas las categorías utilizadas para clasificar les estrategias de trading son completamente arbitrarias. La siguiente clasificación pretende hacer hincapié en las diferencias básicas entre las posibles estrategias de trading.
Creación de un asesor experto integrado de MQL5 y Telegram (Parte 3): Envío de señales de MQL5 a Telegram
En este artículo, creamos un Asesor Experto MQL5 que codifica capturas de pantalla de gráficos como datos de imagen y las envía a un chat de Telegram a través de peticiones HTTP. Al integrar la codificación y transmisión de fotos, mejoramos el sistema existente MQL5-Telegram con perspectivas visuales de trading directamente dentro de Telegram.
Comprensión y uso eficaz del simulador de estrategias MQL5
Para los desarrolladores de MQL5 resulta imperativo dominar herramientas importantes y valiosas. Una de esas herramientas es el simulador de estrategias. El presente artículo es una guía práctica para utilizar el simulador de estrategias MQL5.
Modificación en dos etapas de posiciones abiertas
El método de las dos etapas nos permite evitar el cierre y la reapertura innecesaria de posiciones en situaciones cercanas a la tendencia y en casos de posible aparición de divergencias.
Aprendiendo a diseñar un sistema de trading con Bulls Power
Bienvenidos a un nuevo artículo de la serie dedicada a la creación de sistemas comerciales basados en indicadores técnicos populares. En esta ocasión, hablaremos sobre el índice de fuerza alcista Bulls Power y crearemos un sistema comercial basado en sus indicadores.
Aprendizaje automático y Data Science (Parte 26): La batalla definitiva en la previsión de series temporales: redes neuronales LSTM frente a GRU
En el artículo anterior, hablamos de una RNN sencilla que, a pesar de su incapacidad para comprender las dependencias a largo plazo en los datos, fue capaz de realizar una estrategia rentable. En este artículo hablaremos tanto de la memoria a largo plazo (LSTM) como de la unidad recurrente controlada (GRU). Estas dos se introdujeron para superar las deficiencias de una RNN simple y ser más astuta que ella.
Aserciones en los programas MQL5
Este artículo explica cómo utilizar aserciones en el lenguaje MQL5. Proporciona dos mecanismos de aserción a modo de ejemplo, así como una guía para implementarlas correctamente.
Indicador técnico de preparación propia
En este artículo, analizaremos algunos algoritmos que nos permitirán crear nuestro propio indicador técnico. Asimismo, veremos cómo, con unos supuestos iniciales muy sencillos, podremos obtener resultados bastante complejos e interesantes.
Recetas MQL5 - Servicios
Este artículo describe las capacidades versátiles de los servicios, como los programas MQL5 que no requieren un gráfico vinculante. Asimismo, se detallan las diferencias de los servicios respecto a otros programas MQL5, enfatizando los matices del trabajo del desarrollador con los servicios. Como ejemplos, el lector podrá estudiar varias tareas que abarcan una amplia gama de funcionalidades que pueden implementarse como un servicio.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 51): Indicadores estándar compuestos de período y símbolo múltiples
En este artículo, vamos a finalizar el desarrollo de indicadores estándar de período y símbolo múltiples. A base del indicador Ichimoku Kinko Hyo, vamos a analizar la creación de los indicadores personalizados de composición compleja que disponen de los búferes dibujados auxiliares para la visualización de los datos en el gráfico.
La magia de los intervalos comerciales de tiempo con Frames Analyzer
¿Qué es Frames Analyzer? Se trata de un complemento para que cualquier experto comercial analice marcos de optimización durante la optimización de parámetros en el simulador de estrategias, así como fuera del simulador mediante la lectura de un archivo MQD o una base de datos creada inmediatamente después de la optimización de parámetros. El usuario podrá compartir estos resultados de optimización con otros tráders que tengan la herramienta Frames Analyzer para analizarlos juntos.
Implementación de breakeven en MQL5 (Parte 1): Clase base y breakeven por puntos fijos
En este artículo se estudia el uso del breakeven aplicado a estrategias automáticas en MQL5. Se parte de una explicación sencilla sobre qué es, cómo se implementa y cuáles son sus posibles variantes. Luego, se integra la funcionalidad dentro de un bot de Order Blocks, creado en el último artículo sobre gestión de riesgo. Para evaluar su comportamiento, se ejecutaron dos backtest bajo condiciones específicas: uno sin breakeven y otro con esta función activa.
Aprendiendo MQL5 de principiante a profesional (Parte VI): Fundamentos del desarrollo de asesores expertos
Este artículo continúa la serie para principiantes. Aquí discutiremos los principios básicos del desarrollo de Asesores Expertos (EAs). Crearemos dos EAs: el primero operará sin indicadores, utilizando órdenes pendientes, y el segundo se basará en el indicador MA estándar, abriendo operaciones al precio actual. Aquí doy por sentado que ya no eres un principiante absoluto y que dominas relativamente bien el material de los artículos anteriores.
Redes neuronales: así de sencillo (Parte 82): Modelos de ecuaciones diferenciales ordinarias (NeuralODE)
En este artículo, hablaremos de otro tipo de modelos que están destinados a estudiar la dinámica del estado ambiental.
Prueba visual de la rentabilidad de los indicadores y alertas
De lo que avisa un indicador de trading, o simplemente el método de su cálculo, se decide generalmente cuando los AEs de prueba usan estas alertas. Sin embargo, no siempre es posible/necesario/razonable escribir un AE para cada indicador. Se puede calcular rápidamente la rentabilidad de trading en alertas de otros indicadores, utilizando un indicador especial que recoge sus alertas él mismo y dibuja una imagen del trading ideal con ellas. Puede ayudar tanto a hacer una estimación visual de los resultados obtenidos y elegir rápidamente los mejores parámetros.