Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 3): Asesor Experto Analytics Master
Pasar de un simple script de trading a un Asesor Experto (EA) totalmente funcional puede mejorar significativamente su experiencia de trading. Imagina tener un sistema que supervisa automáticamente tus gráficos, realiza cálculos esenciales en segundo plano y proporciona actualizaciones periódicas cada dos horas. Este EA estaría equipado para analizar métricas clave que son cruciales para tomar decisiones comerciales informadas, lo que garantiza que usted tenga acceso a la información más actualizada para ajustar sus estrategias de manera eficaz.
Características del Wizard MQL5 que debe conocer (Parte 07): Dendrogramas
La clasificación de datos para el análisis y la predicción es un área muy diversa del aprendizaje automático con un gran número de enfoques y métodos. En este artículo analizaremos uno de estos enfoques, a saber, la Clasificación Jerárquica Aglomerativa (Agglomerative Hierarchical Classification).
Clústeres de series temporales en inferencia causal
Los algoritmos de agrupamiento en el aprendizaje automático son importantes algoritmos de aprendizaje no supervisado que pueden dividir los datos originales en grupos con observaciones similares. Utilizando estos grupos, puede analizar el mercado de un grupo específico, buscar los grupos más estables utilizando nuevos datos y hacer inferencias causales. El artículo propone un método original de agrupación de series temporales en Python.
Características del Wizard MQL5 que debe conocer (Parte 38): Bandas de Bollinger
Las bandas de Bollinger son un indicador de envolvente muy común utilizado por muchos traders para colocar y cerrar operaciones manualmente. Examinamos este indicador considerando las diferentes señales posibles que genera, y vemos cómo se podrían poner en uso en un Asesor Experto montado por un asistente.
Evaluación visual y ajuste comercial en MetaTrader 5
En el simulador de estrategias no solo es posible optimizar los parámetros de un robot comercial. Hoy le mostraremos cómo evaluar post-facto la historia comercial de su cuenta y realizar ajustes en el trading en el simulador cambiando el tamaño de las órdenes stop para las posiciones abiertas.
Redes neuronales: así de sencillo (Parte 71): Previsión de estados futuros basada en objetivos (GCPC)
En trabajos anteriores, hemos introducido el método del Decision Transformer y varios algoritmos derivados de él. Asimismo, hemos experimentado con distintos métodos de fijación de objetivos. Durante los experimentos, hemos trabajado con distintas formas de fijar objetivos, pero el aprendizaje de la trayectoria ya recorrida por parte del modelo siempre quedaba fuera de nuestra atención. En este artículo, queremos presentar un método que llenará este vacío.
Características del Wizard MQL5 que debe conocer (Parte 25): Pruebas y operaciones en múltiples marcos temporales
Las estrategias que se basan en múltiples marcos de tiempo no se pueden probar en los Asesores Expertos ensamblados por defecto debido a la arquitectura de código MQL5 utilizada en las clases de ensamblaje. Exploramos una posible solución a esta limitación para las estrategias que buscan utilizar múltiples marcos temporales en un estudio de caso con la media móvil cuadrática.
Capacidades de SQLite en MQL5: Ejemplo de panel interactivo con estadísticas comerciales por símbolos y números mágicos
En este artículo, analizaremos la creación de un indicador que mostrará en un panel interactivo las estadísticas comerciales según la cuenta, y también según los símbolos y estrategias comerciales. Asimismo, escribiremos un código basándonos en los ejemplos de la Documentación y el artículo sobre el trabajo con bases de datos.
Algoritmo de viaje evolutivo en el tiempo — Time Evolution Travel Algorithm (TETA)
Se trata de un algoritmo propio. En este artículo, le presentaremos el Algoritmo de viaje evolutivo en el tiempo (TETA), inspirado en el concepto de universos paralelos y flujos temporales. La idea básica del algoritmo es que, si bien no es posible viajar en el tiempo en el sentido habitual, podemos elegir una secuencia de acontecimientos que generen realidades distintas.
Redes neuronales en el trading: Resultados prácticos del método TEMPO
Continuamos familiarizándonos con el método TEMPO. En este artículo, analizaremos la efectividad de los enfoques propuestos con datos históricos reales.
Características del Wizard MQL5 que debe conocer (Parte 23): Redes neuronales convolucionales (CNNs, Convolutional Neural Networks)
Las redes neuronales convolucionales son otro algoritmo de aprendizaje automático que tiende a especializarse en descomponer conjuntos de datos multidimensionales en partes constituyentes clave. Examinamos cómo se consigue esto normalmente y exploramos una posible aplicación para los operadores en otra clase de señal del asistente MQL5.
Combinación de estrategias de análisis técnico y fundamental en MQL5 para principiantes
En este artículo, analizaremos cómo integrar sin problemas el seguimiento de tendencias y los principios fundamentales en un Asesor Experto para crear una estrategia más sólida. Este artículo demostrará lo fácil que es para cualquiera comenzar a desarrollar algoritmos comerciales personalizados utilizando MQL5.
Aprendizaje automático y Data Science (Parte 31): Uso de los modelos de inteligencia artificial CatBoost
Los modelos de IA CatBoost han ganado popularidad masiva recientemente entre las comunidades de aprendizaje automático debido a su precisión predictiva, eficiencia y robustez ante conjuntos de datos dispersos y difíciles. En este artículo, vamos a discutir en detalle cómo implementar este tipo de modelos en un intento de vencer al mercado de divisas.
Del básico al intermedio: Operadores
En este artículo, exploraremos los operadores básicos. Aunque es un tema fácil de comprender, existen pequeños detalles que marcan una gran diferencia a la hora de incorporar expresiones matemáticas en formato de código. Sin comprender adecuadamente estos detalles, muchos programadores con poca o ninguna experiencia terminan abandonando su intento de crear sus propias soluciones.
DoEasy. Elementos de control (Parte 32): "ScrollBar" horizontal, desplazamiento con la rueda del ratón
En este artículo completaremos el desarrollo de la funcionalidad del objeto de barra de desplazamiento horizontal. Asimismo, haremos posible el desplazamiento del contenido del contenedor moviendo el control deslizante de la barra de desplazamiento y girando la rueda del ratón. También introduciremos ciertas adiciones a la biblioteca considerando la nueva política de ejecución de órdenes aparecida en el terminal y los nuevos códigos de error de ejecución en MQL5.
Creación de barras 3D basadas en el tiempo, el precio y el volumen
Qué son los gráficos de precios multidimensionales en 3D y cómo se crean. Cómo las barras 3D predicen las inversiones de precios, y cómo Python y MetaTrader 5 permiten construir estas barras volumétricas en tiempo real.
Algoritmos de optimización de la población: Algoritmo híbrido de optimización de forrajeo bacteriano con algoritmo genético (Bacterial Foraging Optimization - Genetic Algorithm, BFO-GA)
Este artículo presenta un nuevo enfoque para resolver problemas de optimización combinando las ideas de los algoritmos de optimización de forrajeo bacteriano (BFO) y las técnicas utilizadas en el algoritmo genético (GA) en un algoritmo híbrido BFO-GA. Dicha técnica utiliza enjambres bacterianos para buscar una solución óptima de manera global y operadores genéticos para refinar los óptimos locales. A diferencia del BFO original, ahora las bacterias pueden mutar y heredar genes.
Redes neuronales: así de sencillo (Parte 94): Optimización de la secuencia de entrada
Al trabajar con series temporales, siempre utilizamos los datos de origen en su secuencia histórica. Pero, ¿es ésta la mejor opción? Existe la opinión de que cambiar la secuencia de los datos de entrada mejorará la eficacia de los modelos entrenados. En este artículo te invito a conocer uno de los métodos para optimizar la secuencia de entrada.
Cómo crear un panel interactivo MQL5 utilizando la clase Controls (Parte 2): Añadir capacidad de respuesta a los botones
En este artículo, nos centramos en transformar nuestro panel de control MQL5 estático en una herramienta interactiva habilitando la capacidad de respuesta de los botones. Exploramos cómo automatizar la funcionalidad de los componentes de la interfaz gráfica de usuario (GUI), asegurándonos de que reaccionen adecuadamente a los clics de los usuarios. Al final del artículo, establecemos una interfaz dinámica que mejora la participación del usuario y la experiencia comercial.
Operar con el Calendario Económico MQL5 (Parte 1): Dominar las funciones del Calendario Económico MQL5
En este artículo, exploramos cómo utilizar el Calendario Económico MQL5 para operar, comenzando por comprender sus funciones principales. A continuación, implementamos las funciones clave del Calendario Económico en MQL5 para extraer datos relevantes de noticias que nos ayuden a tomar decisiones de trading. Finalmente, concluimos mostrando cómo utilizar esta información para mejorar las estrategias comerciales de manera efectiva.
Utilización del modelo de aprendizaje automático CatBoost como filtro para estrategias de seguimiento de tendencias
CatBoost es un potente modelo de aprendizaje automático basado en árboles que se especializa en la toma de decisiones basada en características estacionarias. Otros modelos basados en árboles, como XGBoost y Random Forest, comparten características similares en cuanto a su solidez, capacidad para manejar patrones complejos e interpretabilidad. Estos modelos tienen una amplia gama de usos, desde el análisis de características hasta la gestión de riesgos. En este artículo, vamos a explicar el procedimiento para utilizar un modelo CatBoost entrenado como filtro para una estrategia clásica de seguimiento de tendencias con cruce de medias móviles.
Asesor de autoaprendizaje con red neuronal basada en matriz de estados
Asesor de autoaprendizaje con red neuronal basada en matriz de estados. Hoy combinaremos cadenas de Márkov con una red neuronal multicapa MLP, escrita en la biblioteca ALGLIB MQL5. ¿Cómo podemos combinar las cadenas de Márkov y las redes neuronales para realizar previsiones en Forex?
Implementación en MQL5 de la prueba de Augmented Dickey-Fuller (ADF)
En este artículo demostramos la implementación de la prueba Dickey-Fuller aumentada (ADF, por sus siglas en inglés), y la aplicamos para realizar pruebas de cointegración utilizando el método Engle-Granger.
Operar con el Calendario Económico MQL5 (Parte 3): Añadiendo filtros de divisa, importancia y tiempo
En este artículo, implementamos filtros en el panel del calendario económico MQL5 para refinar la visualización de eventos de noticias por divisa, importancia y hora. Primero establecemos criterios de filtrado para cada categoría y luego los integramos en el panel de control para mostrar solo los eventos relevantes. Por último, nos aseguramos de que cada filtro se actualice dinámicamente para proporcionar a los operadores información económica específica y en tiempo real.
Monitoreo de transacciones usando notificaciones push: ejemplo de un servicio en MetaTrader 5
En este artículo veremos cómo crear un programa de servicio para enviar notificaciones a un smartphone sobre los resultados comerciales. Asimismo, aprenderemos cómo trabajar con listas de objetos de la biblioteca estándar para organizar una muestra de objetos según las propiedades requeridas.
Desarrollo de un sistema de repetición (Parte 37): Pavimentando el terreno (I)
En este artículo, vamos a empezar a hacer algo que ojalá hubiera hecho hace mucho más tiempo. Sin embargo, debido a la falta de "terreno firme", no me sentía seguro para presentarlo públicamente. Ahora, tengo las bases para poder hacer lo que vamos a empezar a hacer a partir de ahora. Es una buena idea centrarse al máximo en comprender el contenido de este artículo, y no lo digo para que lo leas por leer. Quiero y necesito recalcar que, si no entiendes este artículo en concreto, puedes abandonar por completo cualquier esperanza de comprender el contenido de los siguientes.
Teoría de Categorías en MQL5 (Parte 17): Funtores y monoides
Este es el último artículo de la serie sobre funtores. En él, revisaremos los monoides como categoría. Los monoides, que ya hemos introducido en esta serie, se utilizan aquí para ayudar a dimensionar la posición junto con los perceptrones multicapa.
Redes neuronales en el trading: Análisis de nubes de puntos (PointNet)
El análisis directo de nubes de puntos evita alcanza un tamaño de datos innecesario y mejora la eficacia de los modelos en tareas de clasificación y segmentación. Estos enfoques demuestran un alto rendimiento y solidez frente a las perturbaciones de los datos de origen.
Obtenga una ventaja sobre cualquier mercado (Parte IV): Índices CBOE de volatilidad del euro y el oro
Analizaremos datos alternativos curados por el 'Chicago Board Of Options Exchange' (CBOE) para mejorar la precisión de nuestras redes neuronales profundas al pronosticar el símbolo XAUEUR (oro).
Redes neuronales en el trading: Análisis de la situación del mercado usando el Transformador de patrones
A la hora de analizar la situación del mercado con nuestros modelos, el elemento clave es la vela. No obstante, sabemos desde hace tiempo que las velas pueden ayudar a predecir los movimientos futuros de los precios. Y en este artículo aprenderemos un método que nos permitirá integrar ambos enfoques.
Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD (Parte 3)
El presente artículo supone la tercera parte de la serie que describe las etapas de desarrollo de un cliente MQL5 nativo para el protocolo MQTT. En esta ocasión, hablaremos con detalle sobre la aplicación de un desarrollo basado en pruebas para implementar el intercambio de paquetes CONNECT/CONNACK. Al final de este paso, nuestro cliente DEBERÁ poder comportarse adecuadamente al lidiar con cualquier posible resultado del servidor al intentar conectarse.
Algoritmo de optimización Brain Storm - Brain Storm Optimization (Parte I): Clusterización
En este artículo analizaremos un innovador método de optimización denominado BSO (Brain Storm Optimization), inspirado en el fenómeno natural de la tormenta de ideas. También discutiremos un nuevo enfoque de resolución de tareas de optimización multimodales que utiliza el método BSO y nos permite encontrar múltiples soluciones óptimas sin tener que determinar de antemano el número de subpoblaciones. En este artículo, también analizaremos los métodos de clusterización K-Means y K-Means++.
Desarrollo de un sistema de repetición (Parte 40): Inicio de la segunda fase (I)
Esta es la nueva fase del sistema de repetición/simulación. En esta etapa, la conversación será realmente una conversación, y el contenido se volverá bastante denso. Les insto a leer el artículo con atención y a utilizar siempre las referencias que se proporcionen. Esto les ayudará a comprender mejor lo que se les está explicando.
Redes neuronales en el trading: Uso de modelos de lenguaje para la predicción de series temporales
Continuamos nuestro análisis de los modelos de pronóstico de series temporales. En este artículo le propongo familiarizarnos con un algoritmo complejo construido sobre el uso de un modelo de lenguaje previamente entrenado.
Codificación ordinal para variables nominales
En este artículo, analizamos y demostramos cómo convertir predictores nominales en formatos numéricos adecuados para algoritmos de aprendizaje automático, utilizando tanto Python como MQL5.
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 5): Volatility Navigator EA
Determinar la dirección del mercado puede ser sencillo, pero saber cuándo entrar puede resultar complicado. Como parte de la serie titulada «Desarrollo de un kit de herramientas para el análisis de la acción del precio», me complace presentar otra herramienta que proporciona puntos de entrada, niveles de toma de ganancias y colocación de órdenes stop loss. Para lograrlo, hemos utilizado el lenguaje de programación MQL5. Profundicemos en cada paso de este artículo.
Trabajando con los precios en la biblioteca DoEasy (Parte 61): Colección de series de tick de los símbolos
Dado que el programa puede utilizar varios símbolos, entonces, es necesario crear su propia lista para cada uno de estos símbolos. En este artículo, vamos a combinar estas listas en una colección de datos de tick. En realidad, se trata de una lista común a base de la clase de la matriz dinámica de punteros a las instancias de la clase CObject y sus herederos de la Biblioteca estándar.
Desarrollo de un sistema de repetición (Parte 39): Pavimentando el terreno (II)
Antes de comenzar la segunda fase del desarrollo, es necesario reforzar algunas ideas. Entonces, ¿sabes cómo forzar al MQL5 a hacer lo que es necesario? ¿Has intentado ir más allá de lo que informa la documentación? Si no, prepárate. Porque empezaré a hacer cosas mucho más allá de lo que la mayoría hace normalmente.
Desarrollamos un asesor experto multidivisa (Parte 9): Recopilamos los resultados de optimización de las instancias individuales de una estrategia comercial
Hoy vamos a esbozar los principales pasos para desarrollar nuestro EA. Uno de los primeros será realizar una optimización en una sola instancia de la estrategia comercial desarrollada. Así, intentaremos reunir en un solo lugar toda la información necesaria sobre las pasadas del simulador durante la optimización.
Redes neuronales: así de sencillo (Parte 90): Interpolación frecuencial de series temporales (FITS)
Al estudiar el método FEDformer, abrimos la puerta al dominio frecuencial de la representación de series temporales. En este nuevo artículo continuaremos con el tema iniciado, y analizaremos un método que permite no solo el análisis, sino también la predicción de estados posteriores en el ámbito privado.