

Optimización Walk-Forward en MetaTrader 5 con sus propias manos
En este artículo se consideran las técnicas que permiten emular con precisión la optimización walk-forward a través del Probador incorporado y librerías auxiliares implementadas en MQL.


Teoría de probabilidad y estadística matemática con ejemplos (Parte I): Fundamentos y teoría elemental
El trading siempre ha estado relacionado con la toma de decisiones en condiciones de incertidumbre. Esto significa que los resultados de las decisiones tomadas no son totalmente obvios en el momento en que se toman. Por este motivo, resultan importantes los enfoques teóricos sobre la construcción de los modelos matemáticos que permiten describir estas situaciones ofreciendo información relevante e ilustrativa.

Redes neuronales: así de sencillo (Parte 8): Mecanismos de atención
En artículos anteriores, ya hemos puesto a prueba diferentes variantes para organizar las redes neuronales, incluyendo las redes convolucionales, adoptadas de algoritmos de procesamiento de imágenes. En el presente artículo, les proponemos analizar los mecanismos de atención, cuya aparición impulsó el desarrollo de los modelos de lenguaje.

Análisis de spread Bid/Ask en MetaTrader 5
Un indicador para informar de los niveles de spread Bid/Ask de sus brókeres. Ahora podremos usar los datos de ticks de MT5 para analizar cuál ha sido realmente el promedio histórico real del spread Bid/Ask reciente. No deberíamos necesitar mirar el spread actual, porque está disponible si mostramos las líneas de precio Bid/Ask.


Recetas de estadística para el trader - Hipótesis
En este artículo se estudia un concepto básico de la matemática estadística, la "hipótesis". Con ejemplos, aplicando métodos de matemática estadística, investigaremos y comprobaremos diferentes hipótesis. Se hacen generalizaciones de los datos reales con ayuda de métodos no paramétricos. Al procesar los datos, se usa el paquete Statistica la biblioteca portable de análisis numérico ALGLIB MQL5.


Pronosticación de series temporales (Parte 1): el método de descomposición modal empírica (EMD)
En el artículo se analiza la teoría y el uso práctico del algoritmo de pronosticación de series temporales usando como base la descomposición modal empírica, y se propone su implementación en MQL, además de presentarse indicadores de prueba y expertos.

Programamos una red neuronal profunda desde cero usando el lenguaje MQL
El objetivo de este artículo es enseñar al lector cómo crear una red neuronal profunda desde cero utilizando el lenguaje MQL4/5.


Visualización de los resultados de la optimización según el criterio seleccionado
En este artículo, vamos a continuar el desarrollo de la aplicación MQL para el trabajo con los resultados de la optimización empezado en los artículos anteriores. Esta vez, mostraremos cómo se puede formar la tabla de los mejores resultados después de optimizar los parámetros indicando otro criterio a través de la interfaz gráfica.


Pronosticación de series temporales (Parte 2): el método de los mínimos cuadrados de los vectores de soporte (LS-SVM)
En el artículo se analiza la teoría y el uso práctico del algoritmo de pronosticación de series temporales usando como base el método de vectores de soporte. Asimismo, presentamos su implementación en MQL, además de varios indicadores de prueba y expertos. Esta tecnología todavía no ha sido implementada en MQL. Vamos a comenzar familiarizándonos con el aparato matemático.

Posibilidades de ChatGPT de OpenAI en el marco de desarrollo de MQL4 y MQL5
En este artículo, experimentaremos y analizaremos la inteligencia artificial ChatGPT de OpenAI para comprender sus capacidades y reducir el tiempo y la intensidad del trabajo en el desarrollo de nuestros asesores, indicadores y scripts. Asimismo, repasaremos rápidamente esta tecnología e intentaremos ver cómo usarla correctamente para programar en MQL4 y MQL5.

Redes neuronales: así de sencillo (Parte 10): Multi-Head Attention (atención multi-cabeza)
Ya hemos hablado con anterioridad del mecanismo de auto-atención (self-attention) en las redes neuronales. En la práctica, en las arquitecturas de las redes neuronales modernas, se usan varios hilos de auto-atención paralelos para buscar diversas dependencias entre los elementos de la secuencia. Vamos a ver la implementación de este enfoque y evaluar su influencia en el rendimiento general de la red.


Desarrollando el Oscilador de Promedio de Pivote (PMO): un nuevo indicador para la Media Móvil Acumulativa
En este artículo, presentamos el Pivot Mean Oscillator (PMO) o Oscilador de Promedio de Pivote, una implementación de la Media Móvil Acumulativa (CMA) como indicador comercial para las plataformas MetaTrader. En particular, primero presentaremos el Pivot Mean (PM) o Promedio de Pivote, como un índice de normalización para las series temporales que calcula la fracción entre cualquier punto de datos y la CMA. Entonces, construimos el PMO como la diferencia entre las medias móviles aplicadas a las dos señales de PM. También hemos realizado algunos experimentos preliminares con el símbolo EURUSD para probar la eficacia del indicador presentado, dejando un amplio espacio para otras consideraciones y mejoras.


Uso práctico de las redes neuronales de Kohonen en el trading algorítmico (Parte I) Instrumental
El presente artículo desarrolla la idea del uso de redes de Kohonen en MetaTrader 5 que fue abordada en algunas publicaciones anteriores. Las clases corregidas y mejoradas proporcionan el instrumental para solucionar las tareas prácticas.

Optimización móvil continua (Parte 3): Método de adaptación del robot al optimizador automático
El tercer artículo actuará como puente entre los dos anteriores, pues en él se analizará el mecanismo de interacción con la DLL descrita en el primer artículo y los objetos para la descarga analizados en el segundo. Además, se mostrará el proceso de creación de un envoltorio para la clase que se importa desde DLL y se formará un archivo XML con la historia de transacciones, así como un método de interacción con los datos del envoltorio.


Patrones con ejemplos (Parte I): Pico múltiple
El artículo inicia un ciclo de análisis de patrones de reversión en el marco del trading algorítmico. Comenzaremos la idea examinando la primera y más interesante familia entre estos patrones, originada a partir de los patrones Double Top y Double Bottom.

Combinatoria y teoría de la probabilidad en el trading (Parte I): Fundamentos
En esta serie de artículos, buscaremos una aplicación práctica de la teoría de probabilidad para describir el proceso del trading y la fijación de los precios. En el primer artículo, nos familiarizaremos con los conceptos básicos de la combinatoria y la teoría de probabilidad, y analizaremos el primer ejemplo de la aplicación de fractales dentro de la teoría de probabilidad.


Monitoreo multidivisas de las señales comerciales (Parte 1): Desarrollando la estructura de la aplicación
En este artículo, analizaremos la idea del monitoreo multidivisas de las señales comerciales, desarrollaremos la estructura y el prototipo de la futura aplicación, así como, crearemos su plantilla para el trabajo ulterior. Crearemos paso a paso una aplicación multidivisas ajustada de forma flexible que permite tanto crear las señales comerciales, como ayudar a los traders a buscarlas.


Discretización de series temporales con generación aleatoria de "ruidos"
Nos hemos acostumbrado a analizar el mercado con la ayuda de barras o velas que "hacen cortes" en la serie temporal a intervalos regulares de tiempo. Pero, ¿cuánto deforma realmente este método de discretización la estructura real de los movimientos de mercado? Discretizar una señal sonora a intervalos temporales iguales resulta una solución aceptable, porque una función sonora supone una función que cambia con el tiempo. En sí misma, una señal es una amplitud que depende del tiempo, y esta propiedad en ella es fundamental.


Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXIII): Solicitudes comerciales pendientes - Cierre de posiciones según condiciones
Continuamos trabajando con la funcionalidad de la biblioteca para implementar el comercio con la ayuda de solicitudes pendientes. Ya hemos implementado el envío de solicitudes comerciales según condiciones para la apertura de posiciones y la colocación de órdenes pendientes. Hoy, implementaremos el cierre de posiciones completo, parcial o por opuesta, según condiciones.

Optimización móvil continua (Parte 1): Mecanismo de trabajo con los informes de optimización
La primera parte del artículo está dedicada a la creación de una herramienta para trabajar con los informes de optimización y su importación desde el terminal, así como a los procesos de filtrado y clasificación de los datos obtenidos. MetaTrader 5 permite descargar informes sobre las pasadas de optimización, pero querríamos tener la posibilidad de añadir al informe nuestros propios datos.


Trabajando con las series temporales en la biblioteca DoEasy (Parte 38): Colección de series temporales - Actualización en tiempo real y acceso a los datos desde el programa
En el artículo, analizaremos la actualización en tiempo real de los datos de las series temporales, así como el envío de mensajes sobre el evento "Nueva barra" al gráfico del programa de control de todas las series temporales de todos los símbolos para poder procesar estos eventos en nuestros propgramas. Para determinar la necesidad de actualizar las series temporales para el símbolo y los periodos del gráfico no actuales, usaremos la clase "Nuevo tick".


Aplicando la teoría de probabilidades usando el trading con gaps
Aplicamos los métodos de la teoría de probabilidades y estadística matemática en el proceso del desarrollo y el testeo de estrategias comerciales. Buscamos un valor óptimo para los riesgos de la transacción usando las diferencias entre el precio y el paseo aleatorio. Ha sido demostrado que si los precios se comportan como un paseo aleatorio sin desviación (falta de una tendencia con dirección), el trading rentable es imposible.


Control de la pendiente de la curva de balance durante el funcionamiento de un Expert Advisor
Encontrar reglas para un sistema de trading y programarlas en un Expert Advisor es la mitad del trabajo. De algún modo, hay que corregir el funcionamiento del Expert Advisor, ya que acumula los resultados del trading. En este artículo se describe una de las metodologías que permite mejorar el rendimiento de un Expert Advisor a través de una retroalimentación que mide la pendiente de la curva de balance.


Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXXI): Solicitudes comerciales pendientes - Apertura de posiciones según condiciones
A partir de este artículo, vamos a crear una funcionalidad que permita comerciar con la ayuda de solicitudes comerciales según una cierta condición. Por ejemplo, al llegar o superar una determinada hora, o bien al superar el parámetro de beneficio establecido, o bien al registrarse un evento de cierre de posición por stop loss.


Neuroredes gratis y a mogollón: NeuroPro y MetaTrader 5
Si los programas especializados de nueroredes para el trading le parecen caros o complicados (o al contrario, primitivos), entonces pruebe NeuroPro, está en ruso, es gratuito y contiene el conjunto ideal de posibilidades para los aficionados. Prodrá familiarizarse con su uso en MetaTrader 5 en este artículo.


Sistema comercial de DiNapoli
En el artículo se analiza un sistema comercial que usa los niveles de Fibonacci, desarrollado y descrito por Joe DiNapoli. También se explican los conceptos básicos y la esencia del sistema, ilustrado con el ejemplo de un sencillo indicador.


El poder del ZigZag (Parte I). Desarrollando la clase base del indicador
Muchos investigadores no prestan la atención suficiente a la definición del comportamiento de los precios. En este caso, además, se usan métodos complejos que con frecuencia son simplemente «cajas negras», tales como: aprendizaje de máquinas o redes neuronales. En estos casos, lo más importante es: «¿Qué datos suministrar a la entrada para el entrenamiento de este u otro modelo?»


Desarrollando un algoritmo de autoadaptación (Parte I): Encontrando un patrón básico
En la presente serie de artículos, mostraremos un ejemplo de desarrollo de algoritmos autoadaptativos que tengan en cuenta los factores máximos que surgen en los mercados. Asimismo, veremos la sistematización de estas situaciones, su descripción dentro de una lógica y su consideración a la hora de comerciar. Comenzaremos con un algoritmo muy simple, que con el tiempo adquirirá su propia teoría y evolucionará hasta convertirse en un proyecto muy complejo.


El Papel de las Distribuciones Estadísticas en el Trabajo del Trader
Este artículo es una continuación lógica de mi artículo "Statistical Probability Distributions in MQL5" ("Distribuciones de Probabilidad Estadísticas en MQL5"), que presentó las clases para trabajar con algunas distribuciones estadísticas teóricas. Ahora que ya tenemos una base teórica, sugiero proceder directamente a conjuntos de datos reales para darle un uso a esta base.


Optimizamos la estrategia usando el gráfico del balance y comparamos los resultados con el criterio "Balance + max Sharpe Ratio"
Ha sido considerado otro criterio de usuario para la optimización de las estrategias comerciales basado en el análisis del gráfico del balance. Para eso, ha sido utilizado el cálculo de la regresión lineal con la ayuda de la librería ALGLIB.


Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XIX): Clase de mensajes de la biblioteca
En el artículo, analizaremos la muestra de mensajes de texto. Ahora que tenemos un número suficiente de mensajes de texto distintos, merece la pena que pensemos en organizar un método para guardarlos, mostrarlos y adaptarlos a otros idiomas desde el ruso. Asimismo, también deberíamos pensar en un modo de añadir nuevos idiomas a la biblioteca y alternar rápidamente entre ellos.


Nuevo enfoque a la interpretación de la divergencia clásica e inversa. Parte 2
En este artículo vamos a analizar en clave crítica la divergencia clásica y estudiar la efectividad de diferentes indicadores. Asimismo, ofreceremos distintas variantes de filtrado para aumentar la precisión de análisis y continuaremos analizando soluciones no estándar. Como resultado, crearemos una herramienta atípica para resolver la tarea marcada.


Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XV): Colección de objetos de símbolo.
En el artículo analizaremos la creación de una colección de símbolos basada en el objeto de símbolo abstracto básico creado en el artículo anterior. Los herederos del símbolo abstracto concretarán la información sobre el símbolo. En ellos se organizará la determinación de la accesibilidad en el programa de las propiedades del objeto de símbolo básico, y también se diferenciarán los objetos de símbolo según su pertenencia a un grupo.


Creación de un Asesor Experto multisistema y multidivisa
El artículo constituye una introducción a una estructura para un Asesor Experto que opera con múltiples símbolos y utiliza varios sistemas de trading simultáneamente. Si ya identificó los parámetros de entrada óptimos para todos sus Asesores Expertos y consiguió buenos resultados de la prueba para cada uno de ellos separadamente, pregúntese qué resultados conseguiría si probara todos los Asesores Expertos simultáneamente, con todas sus estrategias en conjunto.


Utilizando hojas de cálculo para construir estrategias comerciales
El artículo describe los principios y técnicas básicos que nos permiten analizar cualquier estrategia usando hojas de cálculo: Excel, Calc, Google. Asimismo, hemos comparado los resultados con el simulador de MetaTrader 5.


Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXI): Clases comerciales - El objeto comercial multiplataforma básico
En este artículo vamos a comenzar un nuevo apartado de la biblioteca, las clases comerciales, y también vamos a analizar la creación de un objeto comercial básico único para las plataformas MetaTrader 5 y MetaTrader 4. Dicho objeto comercial, al enviar una solicitud al servidor, presupondrá que los parámetros de la solicitud comercial que se le han transmitido han sido verificados y son correctos.


Clasificador bayesiano ingenuo para las señales de un conjunto de indicadores
En el artículo se analiza la aplicación de la fórmula bayesiana para aumentar la fiabilidad de los sistemas comerciales usando las señales de varios indicadores independientes. Los cálculos teóricos se comprueban con la ayuda de un sencillo experto universal, adaptable para trabajar con indicadores aleatorios.


Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XX): Creación y guardado de los recursos del programa
En el artículo, vamos a analizar el guardado de datos en el código fuente del programa, así como la creación de archivos de sonido y audio a partir del mismo. Con frecuencia, al crear un programa, necesitamos usar sonidos e imágenes. En el lenguaje MQL existen varias posibilidades de uso de estos datos.


MQL5-RPC. Llamadas a procedimientos remotos desde MQL5: acceso al servicio web y analizador XML-RPC ATC para divertirse y conseguir beneficios
Este artículo describe el esquema conceptual de MQL5-RPC que permite las llamadas a procedimientos remotos desde MQL5. Comienza con los fundamentos de XML-RPC, la implementación de MQL5 y continúa con dos ejemplos de uso real. El primer ejemplo es el uso de un servicio web externo y el segundo es un cliente del servicio del analizador XML-RPC ATC 2011 simple. Si está interesado en conocer cómo se implementan y analizan las distintas estadísticas de ATC 2011 en tiempo real, este es su artículo.


Predicción de series de tiempo usando el ajuste exponencial (continuación)
Este artículo pretende actualizar el indicador creado anteriormente y trata brevemente sobre un método para estimar intervalos de confianza en las predicciones usando bootstrapping y cuantiles. Como resultado, obtendremos el indicador de predicción y los scripts a usar para la estimación de la precisión de la predicción.