Desarrollo de un sistema de repetición (Parte 59): Un nuevo futuro
La correcta comprensión de las cosas nos permite hacer más con menos esfuerzo. En este artículo, explicaré por qué es necesario ajustar la aplicación de la plantilla antes de que el servicio comience a interactuar realmente con el gráfico. Además, ¿qué tal si mejoramos el indicador del mouse para que podamos hacer más cosas con él?
Teoría de categorías en MQL5 (Parte 21): Transformaciones naturales con ayuda de LDA
Este artículo, el número 21 de nuestra serie, continuaremos analizando las transformaciones naturales y cómo se pueden implementar mediante el análisis discriminante lineal. Como en el artículo anterior, la implementación se presentará en formato de clase de señal.
Algoritmo de Partenogénesis Cíclica - Cyclic Parthenogenesis Algorithm (CPA)
En este trabajo, analizaremos un nuevo algoritmo de optimización basado en la población, el CPA (Cyclic Parthenogenesis Algorithm), inspirado en la estrategia reproductiva única de los pulgones. El algoritmo combina dos mecanismos de reproducción: la partenogénesis y la reproducción sexual, y utiliza una estructura de población colonial con posibilidad de migración entre colonias. Las características clave del algoritmo son el cambio adaptativo entre diferentes estrategias de cría y un sistema de intercambio de información entre colonias usando un mecanismo de vuelo.
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 19): Ajustes necesarios
Lo que vamos a hacer aquí es preparar el terreno para que, cuando sea necesario agregar nuevas funciones al código, esto se haga de manera fluida y sencilla. El código actual aún no puede cubrir o manejar algunas cosas que serán necesarias para un progreso significativo. Necesitamos que todo se construya de manera que el esfuerzo de implementar algunas cosas sea lo más mínimo posible. Si esto se hace adecuadamente, tendremos la posibilidad de tener un sistema realmente muy versátil. Capaz de adaptarse muy fácilmente a cualquier situación que deba ser cubierta.
Características del Wizard MQL5 que debe conocer (Parte 16): Método de componentes principales con vectores propios
En este artículo analizaremos el método de componentes principales, una técnica de reducción de la dimensionalidad para el análisis de datos, y cómo podemos aplicar este utilizando valores propios y vectores. Como siempre, intentaremos desarrollar un prototipo de la clase de señales del asesor experto que se pueda utilizar en el Wizard MQL5.
Medimos la informatividad de los indicadores
El aprendizaje automático se ha convertido en una técnica popular de desarrollo de estrategias. Por lo general, en el trading se presta más atención a la maximización de la rentabilidad y la precisión de los pronósticos. Al mismo tiempo, el procesamiento de los datos utilizados para la construcción de los modelos predictivos permanece en la periferia. En este artículo, analizaremos el uso del concepto de entropía para evaluar la idoneidad de los indicadores en la construcción de modelos predictivos, como se describe en el libro «Testing and Tuning Market Trading Systems» de Timothy Masters.
Algoritmos de optimización de la población: Modificamos la forma y desplazamos las distribuciones de probabilidad y realizamos pruebas con el cefalópodo inteligente (Smart Cephalopod, SC)
Este artículo investigará qué efectos provoca el cambio de la forma de las distribuciones de probabilidad en el rendimiento de los algoritmos de optimización. Hoy realizaremos experimentos con el algoritmo de prueba "Smart Cephalopod" (SC) para evaluar la eficacia de distintas distribuciones de probabilidad en el contexto de problemas de optimización.
Operar con noticias de manera sencilla (Parte 3): Ejecución de operaciones
En este artículo, nuestro experto en negociación de noticias comenzará a abrir operaciones basándose en el calendario económico almacenado en nuestra base de datos. Además, mejoraremos los gráficos del experto para mostrar información más relevante sobre los próximos acontecimientos del calendario económico.
Algoritmo de búsqueda orbital atómica - Atomic Orbital Search (AOS)
Este artículo analiza el algoritmo AOS (Atomic Orbital Search), que usa conceptos de modelos orbitales atómicos para modelar la búsqueda de soluciones. El algoritmo se basa en distribuciones de probabilidad y en la dinámica de las interacciones en el átomo. El artículo analiza con detalle los aspectos matemáticos del AOS, incluida la actualización de las posiciones de las soluciones candidatas y los mecanismos de absorción y liberación de energía. El AOS descubre nuevos horizontes para la aplicación de los principios cuánticos a los problemas computacionales al ofrecer un enfoque innovador de la optimización.
Integración de MQL5 con paquetes de procesamiento de datos (Parte 2): Aprendizaje automático (Machine Learning, ML) y análisis predictivo
En nuestra serie sobre la integración de MQL5 con paquetes de procesamiento de datos, nos adentramos en la poderosa combinación del aprendizaje automático y el análisis predictivo. Exploraremos cómo conectar a la perfección MQL5 con librerías populares de aprendizaje automático, para habilitar sofisticados modelos predictivos para los mercados financieros.
Otras clases en la biblioteca DoEasy (Parte 70): Ampliación de la funcionalidad y actualización automática de la colección de objetos de gráfico
En este artículo, ampliaremos la funcionalidad de los objetos de gráfico, organizaremos la navegación por los gráficos, crearemos capturas de pantalla, y también guardaremos plantillas y las aplicaremos a los gráficos. Asimismo, implementaremos la actualización automática de la colección de objetos de gráfico, sus ventanas y los indicadores en ellas.
Trabajamos con matrices: ampliando la funcionalidad de la biblioteca estándar de matrices y vectores.
Las matrices sirven de base a los algoritmos de aprendizaje automático y a las computadoras en general por su capacidad para procesar con eficacia grandes operaciones matemáticas. La biblioteca estándar tiene todo lo que necesitamos, pero también podemos ampliarla añadiendo varias funciones al archivo utils.
Creación de un Panel de administración de operaciones en MQL5 (Parte IX): Organización del código (I)
Este debate profundiza en los retos que se plantean al trabajar con grandes bases de código. Exploraremos las mejores prácticas para la organización del código en MQL5 e implementaremos un enfoque práctico para mejorar la legibilidad y la escalabilidad del código fuente de nuestro Panel de administración de operaciones. Además, nuestro objetivo es desarrollar componentes de código reutilizables que puedan beneficiar a otros desarrolladores en el desarrollo de sus algoritmos. Sigue leyendo y únete a la conversación.
Trabajando con los precios en la biblioteca DoEasy (Parte 62): Actualización de las series de tick en tiempo real, preparando para trabajar con la Profundidad del mercado
En este artículo, vamos a desarrollar la actualización de la colección de datos de tick en tiempo real, y prepararemos una clase del objeto de símbolo para manejar la Profundidad del mercado, con la que empezaremos a trabajar a partir del siguiente artículo.
Desarrollo de un sistema de repetición — Simulación de mercado (Parte 24): FOREX (V)
Hoy eliminaremos la restricción que impedía la ejecución de simulaciones basadas en el trazado de LAST e introduciremos un nuevo punto de entrada específico para este tipo de simulación. Ahora, vean que todo el mecanismo operativo se fundamentará en los principios del mercado de divisas. La principal distinción en esta rutina reside en la separación entre las simulaciones BID y LAST. Pero, es importante notar que la metodología empleada en la aleatorización del tiempo y su ajuste para la compatibilidad con la clase C_Replay permanece idéntica en ambos tipos de simulación. Esto es bueno, pues las alteraciones en uno de los modos resultan en mejoras automáticas en el otro, especialmente en lo que concierne al manejo del tiempo entre los ticks.
Trading de arbitraje en Forex: Un bot market-maker simple de sintéticos para comenzar
Hoy vamos a desmontar mi primer robot de arbitraje: un proveedor de liquidez (si lo podemos llamar así) en activos sintéticos. Hoy en día este bot está funcionando con éxito como un módulo en un gran sistema de aprendizaje automático, pero he puesto en marcha un viejo robot de arbitraje de divisas de la nube, así que le propongo echarle un vistazo, y pensar en lo que podemos hacer con él hoy.
Aplicación de la teoría de juegos a algoritmos comerciales
Hoy crearemos un asesor comercial adaptativo de autoaprendizaje basado en DQN de aprendizaje automático, con inferencia causal multivariante, que negociará con éxito simultáneamente en 7 pares de divisas, con agentes de diferentes pares intercambiando información entre sí.
Simulación de mercado (Parte 03): Una cuestión de rendimiento
Muchas veces, estamos obligados a dar un paso atrás para luego avanzar. En este artículo, mostraré todos los cambios necesarios para que el rendimiento de los indicadores Mouse y Chart Trade no se viera comprometido. Como bono, presentaré otros cambios que ocurrieron en otros archivos de encabezado, los cuales serán muy utilizados en el futuro.
Características del Wizard MQL5 que debe conocer (Parte 6): Transformada de Fourier
La transformada de Fourier, introducida por Joseph Fourier, es un medio para descomponer puntos de datos de ondas complejos en componentes de ondas simples. Esta característica puede resultar útil para los tráders, así que hablaremos de ella en este artículo.
Indicador de previsión de volatilidad con Python
Hoy pronosticaremos la volatilidad extrema futura utilizando una clasificación binaria. Asimismo, crearemos un indicador de previsión de volatilidad extrema usando el aprendizaje automático.
Redes neuronales: así de sencillo (Parte 39): Go-Explore: un enfoque diferente sobre la exploración
Continuamos con el tema de la exploración del entorno en los modelos de aprendizaje por refuerzo. En este artículo, analizaremos otro algoritmo: Go-Explore, que permite explorar eficazmente el entorno en la etapa de entrenamiento del modelo.
Modelos de regresión no lineal en la bolsa de valores
Modelos de regresión no lineal en la bolsa de valores: ¿Es posible predecir los mercados financieros? Consideremos la creación de un modelo para pronosticar precios para EURUSD y crear dos robots basados en él: en Python y MQL5.
Ejemplo de análisis de redes de causalidad (Causality Network Analysis, CNA) y modelo de autoregresión vectorial para la predicción de eventos de mercado
Este artículo presenta una guía completa para implementar un sistema comercial sofisticado utilizando análisis de red de causalidad (CNA) y autorregresión vectorial (Vector autoregression, VAR) en MQL5. Abarca los fundamentos teóricos de estos métodos, ofrece explicaciones detalladas de las funciones clave del algoritmo de negociación e incluye código de ejemplo para su aplicación.
Algoritmos de optimización de la población: microsistema inmune artificial (Micro Artificial immune system, Micro-AIS)
El artículo habla de un método de optimización basado en los principios del sistema inmune del organismo -Micro Artificial immune system, (Micro-AIS)-, una modificación del AIS. El Micro-AIS usa un modelo más simple del sistema inmunitario y operaciones sencillas de procesamiento de la información inmunitaria. El artículo también analizará las ventajas e inconvenientes del Micro-AIS en comparación con el AIS convencional.
Algoritmos de optimización de la población: Algoritmo Mind Evolutionary Computation (Computación Evolutiva Mental, (MEC)
En este artículo, analizaremos un algoritmo de la familia MEC llamado algoritmo MEC Simple de evolución mental (Simple MEC, SMEC). El algoritmo se caracteriza por la belleza de la idea expuesta y su sencillez de aplicación.
Redes neuronales: así de sencillo (Parte 38): Exploración auto-supervisada por desacuerdo (Self-Supervised Exploration via Disagreement)
Uno de los principales retos del aprendizaje por refuerzo es la exploración del entorno. Con anterioridad, hemos aprendido un método de exploración basado en la curiosidad interior. Hoy queremos examinar otro algoritmo: la exploración mediante el desacuerdo.
Asesor Experto Grid-Hedge Modificado en MQL5 (Parte II): Creación de un EA de cuadrícula simple
En este artículo, exploramos la estrategia de cuadrícula (grid) clásica, detallando su automatización mediante un Asesor Experto (EA) en MQL5 y analizando los resultados iniciales del backtest. Destacamos la necesidad de que la estrategia tenga una gran capacidad de retención y esbozamos planes para optimizar parámetros clave como la distancia, el takeProfit y el tamaño de los lotes en futuras entregas. La serie pretende mejorar la eficacia de las estrategias de negociación y su adaptabilidad a las distintas condiciones del mercado.
Optimización de portafolios en Fórex: Síntesis de VaR y la teoría de Markowitz
¿Cómo funciona la negociación de portafolios en Fórex? ¿Cómo pueden sintetizarse la teoría de portafolios de Markowitz para optimizar las proporciones de los portafolios y el modelo VaR para optimizar el riesgo de los portafolios? Hoy crearemos un código de teoría de portafolios en el que, por un lado, obtendremos un riesgo bajo y, por otro, una rentabilidad aceptable a largo plazo.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 57): Objeto de datos del búfer de indicador
En este artículo, vamos a desarrollar el objeto que incluirá todos los datos de un búfer de un indicador. Estos objetos serán necesarios para almacenar los datos de serie de los búferes de indicadores, a través de los cuales será posible ordenar y comparar los datos de los búferes de cualquier indicador, así como otros datos parecidos.
Desarrollo de un sistema de repetición (Parte 34): Sistema de órdenes (III)
En este artículo concluiremos la primera fase de la construcción. Aunque será algo relativamente rápido, explicaré detalles que quizás no se comentaron anteriormente. Pero aquí explicaré algunas cosas que mucha gente no entiende por qué son como son. Uno de estos casos es el del ratón. ¡¡¡¿Sabes por qué tienes que pulsar la tecla Shift o Ctrl en tu teclado?!!!
Simulación de mercado (Parte 06): Transfiriendo información desde MetaTrader 5 hacia Excel
A muchas personas, especialmente a los no programadores, les resulta muy difícil transferir información entre MetaTrader 5 y otros programas. Uno de esos programas es Excel. Muchos utilizan Excel para gestionar y controlar sus riesgos, ya que es un programa muy bueno y fácil de aprender, incluso para quienes no son programadores de VBA. A continuación, voy a mostrar cómo establecer la comunicación entre MetaTrader 5 y Excel (un método muy sencillo).
Desarrollo de un sistema de repetición (Parte 78): Un nuevo Chart Trade (V)
En este artículo, veremos cómo deberemos implementar la parte del receptor. Es decir, aquí implementaremos una versión del Asesor Experto, solo para probar y aprender cómo funciona la comunicación vía protocolo. El contenido expuesto aquí tiene un propósito puramente didáctico. En ningún caso debe considerarse una aplicación cuya finalidad no sea el aprendizaje y el estudio de los conceptos mostrados.
Marcado de datos en el análisis de series temporales (Parte 2): Creando conjuntos de datos con marcadores de tendencias utilizando Python
En esta serie de artículos, presentaremos varias técnicas de marcado de series temporales que pueden producir datos que se ajusten a la mayoría de los modelos de inteligencia artificial (IA). El marcado dirigido de datos puede hacer que un modelo de IA entrenado resulte más relevante para las metas y objetivos del usuario, mejorando la precisión del modelo y ayudando a este a dar un salto de calidad.
Trabajando con las series temporales en la biblioteca DoEasy (Parte 58): Series temporales de los datos de búferes de indicadores
En conclusión del tema de trabajo con series temporales, vamos a organizar el almacenamiento, la búsqueda y la ordenación de los datos que se guardan en los búferes de indicadores. En el futuro, eso nos permitirá realizar el análisis a base de los valores de los indicadores que se crean a base de la biblioteca en nuestros programas. El concepto general de todas las clases de colección de la biblioteca permite encontrar fácilmente los datos necesarios en la colección correspondiente, y por tanto, lo mismo también será posible en la clase que vamos a crear hoy.
Desarrollo de un factor de calidad para los EAs
En este artículo, te explicaremos cómo desarrollar un factor de calidad que tu Asesor Experto (EA) pueda mostrar en el simulador de estrategias. Te presentaremos dos formas de cálculo muy conocidas (Van Tharp y Sunny Harris).
Trabajando con las series temporales en la biblioteca DoEasy (Parte 53): Clase del indicador abstracto básico
En este artículo, vamos a analizar la creación de la clase del indicador abstracto que a continuación va a usarse como una clase básica para crear objetos de los indicadores estándar y personalizados de la biblioteca.
Redes neuronales: así de sencillo (Parte 41): Modelos jerárquicos
El presente artículo describe modelos de aprendizaje jerárquico que ofrecen un enfoque eficiente para resolver problemas complejos de aprendizaje automático. Los modelos jerárquicos constan de varios niveles; cada uno de ellos es responsable de diferentes aspectos del problema.
El modelo de movimiento de precios y sus principales disposiciones (Parte 2): Ecuación de evolución del campo de probabilidad del precio y aparición del paseo aleatorio observado
En el presente artículo, hemos derivado una ecuación para la evolución del campo probabilístico de precio, hemos encontrado un criterio para acercarnos al salto de precio, y también hemos revelado la esencia de los valores de precio en los gráficos de cotización y el mecanismo para la aparición de un paseo aleatorio de dichos valores .
Operar con noticias de manera sencilla (Parte 2): Gestión de riesgos
En este artículo, se introducirá la herencia en nuestro código anterior. Se implementará un nuevo diseño de base de datos para brindar eficiencia. Además, se creará una clase de gestión de riesgos para abordar los cálculos de volumen.
Creación de una estrategia de retorno a la media basada en el aprendizaje automático
Este artículo propone otro enfoque original para crear sistemas comerciales basados en el aprendizaje automático, usando la clusterización y el etiquetado de transacciones para estrategias de retorno a la media.