El artículo anterior analizó el control de riesgos en el trading, con la implementación de un gestor de riesgos que limita las pérdidas diarias y totales. Cuando se alcanza el límite diario, la negociación se pausa hasta el día siguiente; si se supera la pérdida total, se detiene por completo. Se sugiere ajustar dinámicamente el tamaño de las posiciones y establecer un máximo de beneficio para pausar la actividad una vez alcanzado.
Además, se discutió la inclusión de restricciones temporales en el futuro. El artículo presenta un enfoque para la adaptación de volúmenes en un gestor de riesgos, y un ejemplo de su configuración usando un asesor experto. Los parámetros evaluados incluyen el límite de pérdida total basado en un porcentaje del balance y el umbral diario para la máxima reducción.
Leer más...
Además, se discutió la inclusión de restricciones temporales en el futuro. El artículo presenta un enfoque para la adaptación de volúmenes en un gestor de riesgos, y un ejemplo de su configuración usando un asesor experto. Los parámetros evaluados incluyen el límite de pérdida total basado en un porcentaje del balance y el umbral diario para la máxima reducción.
Leer más...
👍8❤2👌2
La introducción a los tipos de datos complejos es fundamental para avanzar en programación. Este artículo se enfoca en estructuras, uniones y un concepto inicial de programación orientada a objetos (POO). Las estructuras permiten manejar conjuntos de datos relacionados mediante una única variable. Por otro lado, las uniones facilitan el uso de variables de diferentes tipos en una misma ubicación de memoria.
La POO organiza el código en bloques, donde cada clase representa una entidad con sus atributos y métodos. Esto mejora la modularidad del programa, lo que facilita su desarrollo y mantenimiento. Es importante el uso adecuado de secciones públicas y privadas para gestionar el acceso a los datos.
La programación modular se recomienda, ya que permite una mejor gestión de errores y simplifica el proceso de añadir o modificar funcionalidades. Al diseñar un sistema, la estructuración...
Leer más...
La POO organiza el código en bloques, donde cada clase representa una entidad con sus atributos y métodos. Esto mejora la modularidad del programa, lo que facilita su desarrollo y mantenimiento. Es importante el uso adecuado de secciones públicas y privadas para gestionar el acceso a los datos.
La programación modular se recomienda, ya que permite una mejor gestión de errores y simplifica el proceso de añadir o modificar funcionalidades. Al diseñar un sistema, la estructuración...
Leer más...
👍13👌3❤1
El objetivo principal de un trailing stop es asegurar beneficios con un riesgo mínimo. Funciona moviendo el stop loss gradualmente a favor del precio y manteniéndolo si el precio se mueve en contra. Esto es posible en plataformas como MetaTrader y mediante automatización en asesores comerciales. Su eficacia depende de la volatilidad y la elección del nivel de stop loss.
La estrategia de trading y el trailing stop son independientes; las estrategias gestionan aperturas y cierres, mientras el trailing stop solo cierra posiciones. Consideraciones como comisiones, swaps y deslizamientos influyen en el cálculo del stop loss mínimo. Es crucial calcular el stop loss óptimo, comprobando que el antiguo no esté en el nivel de congelación.
En conjunto, el trailing stop es útil, pero no garantiza siempre operaciones equilibradas ni mejora estrategias deficientes.
Leer más...
La estrategia de trading y el trailing stop son independientes; las estrategias gestionan aperturas y cierres, mientras el trailing stop solo cierra posiciones. Consideraciones como comisiones, swaps y deslizamientos influyen en el cálculo del stop loss mínimo. Es crucial calcular el stop loss óptimo, comprobando que el antiguo no esté en el nivel de congelación.
En conjunto, el trailing stop es útil, pero no garantiza siempre operaciones equilibradas ni mejora estrategias deficientes.
Leer más...
👍12❤5👌1
Descubre las técnicas de reducción de dimensionalidad más avanzadas para optimizar modelos de trading algorítmico en MetaTrader 5. La reducción de dimensiones mediante SVD truncado y NMF permite gestionar conjuntos de datos complejos, mejorando la eficiencia computacional y la capacidad de generalización. SVD truncado preserva la varianza original, mientras que NMF ofrece una representación intuitiva basada en restricciones de no negatividad. Ambos métodos son fundamentales para manejar grandes volúmenes de datos y extraer características significativas, transformando la manera en que los desarrolladores crean modelos de aprendizaje automático. Aprende cómo implementarlas correctamente para maximizar el rendimiento de tu algoritmo.
Leer más...
Leer más...
👍9❤5👌3
La prueba de Dickey-Fuller Aumentada (ADF) es esencial en el análisis de series temporales financieras, permitiendo identificar estacionariedad y evaluar transformaciones efectivas. Con un nuevo enfoque en MQL5, esta herramienta se aplica a MetaTrader 5 para detectar símbolos cointegrados, optimizando estrategias de trading y revelando desequilibrios en el precio de activos relacionados. La implementación utiliza un modelo de regresión de mínimos cuadrados ordinarios para calcular valores críticos y estadísticos, asegurando precisión al comparar resultados con la referencia de Python. La cointegración, evaluada mediante la prueba Engle-Granger, identifica relaciones estables a largo plazo entre series no estacionarias, vital para desarrollar estrategias de inversión.
Leer más...
Leer más...
👍6❤1👌1
Explora cómo los creadores de mercado mantienen la liquidez y estabilizan los precios en los mercados financieros. Fundamentales para operaciones sin deslizamiento, su función es vital incluso frente a riesgos de inventario, evitando manipulaciones y ofreciendo precios competitivos. Un algoritmo MQL5 básico intenta replicar este rol, manejando órdenes límite de compra y venta. Las pruebas revelan su simpleza y riesgos comparables a los EA de cuadrícula, subrayando la necesidad de enfoques más sofisticados con aprendizaje automático y redes neuronales. Innovaciones futuras podrían optimizar el delta entre órdenes, crucial en contextos de grandes volúmenes de transacción.
Leer más...
Leer más...
👍8👌3
Descubre cómo simplificar el análisis de transacciones históricas en MetaTrader 5 con un script innovador. Este desarrollo automático permite visualizar fácilmente Stop Loss y Take Profit, ahorrando tiempo y esfuerzo a los traders. El artículo detalla cómo implementar el script para cargar datos históricos en gráficos personalizados, facilitando el análisis de las estrategias de trading pasado. También se ofrece una opción para descargar una versión preconfigurada desde el Market de MQL5, ideal para quienes prefieren no armar el proyecto desde cero. Una herramienta valiosa para optimizar el análisis y mejorar la toma de decisiones en mercados volátiles.
Leer más...
Leer más...
👍9👌3
Introducción rápida sobre el manejo de eventos para programación orientada a objetos y gestión de riesgos. La base de datos creada para el Calendario Económico MQL5 facilitará pruebas retrospectivas aplicando el horario DST. Se destacan los beneficios de la herencia para mejorar bases de datos y personalizar perfiles de riesgo según preferencias. Explicación del concepto de herencia en POO, permitiendo reutilizar código y organizarlo jerárquicamente. Se detallan modificadores de acceso: público, privado, protegido. Ejemplo de herencia en MQL5 con clases como NewsData, UnitedStates y Switzerland demostrando cómo aprovechar atributos compartidos, protegiendo datos e implementando polimorfismo. Análisis de funciones virtuales, polimorfismo y su utilidad para extender clases base sin modificar su núcleo. Desarrollo eficiente con clases para gestionar horarios de verano, minimizando repeti...
Leer más...
Leer más...
👍5❤4👌1
El artículo explica un problema técnico en MetaTrader 5 relacionado con la aplicación asincrónica de plantillas que puede causar el cierre involuntario de gráficos. La solución propuesta implica ajustar el módulo de control para manejar adecuadamente eventos como OnDeinit al recibir REASON_REMOVE en lugar de REASON_TEMPLATE. Además, se ha modificado el código para gestionar mejor la posición de los indicadores en gráficos, incluso en subventanas. Estos cambios optimizan el rendimiento y evitan conflictos, garantizando un comportamiento consistente y estable del sistema de simulación y repetición, crucial para desarrolladores de algoritmos de trading.
Leer más...
Leer más...
👍11👌1
La propuesta de ATFNet presenta un enfoque innovador para la previsión de series temporales, combinando análisis en los dominios temporal y frecuencial. Utiliza módulos específicos para manejar dependencias locales y globales, y un mecanismo de ponderación que optimiza el uso de ambos campos. A través de una FFT extendida, ATFNet alinea los espectros de frecuencia, mejorando la precisión de la predicción. La atención espectral compleja permite captar combinaciones de respuesta en frecuencia de manera eficiente. Experimentos con diversos conjuntos de datos demuestran que ATFNet supera a métodos tradicionales, ofreciendo un avance significativo para desarrolladores interesados en mejorar predicciones en series temporales.
Leer más...
Leer más...
👍7👌1🏆1🤨1
MetaTrader 5 build 4730 en MQL5 ahora admite varias funciones nuevas de la biblioteca OpenBLAS, así como las funciones TransposeConjugate y CompareEqual. Estas ofrecerán aún más oportunidades a la hora de trabajar con matrices y vectores.
Además, hemos corregido la compatibilidad del paquete de integración de MQL5 con Python. Ahora funciona con cualquier versión de Python hasta la versión 3.13.
También hemos optimizado y acelerado el trabajo de la plataforma con los datos de precios, mejorado la ventana de apertura de cuentas y corregido la visualización de los valores de las posiciones.
Seguir leyendo...
Además, hemos corregido la compatibilidad del paquete de integración de MQL5 con Python. Ahora funciona con cualquier versión de Python hasta la versión 3.13.
También hemos optimizado y acelerado el trabajo de la plataforma con los datos de precios, mejorado la ventana de apertura de cuentas y corregido la visualización de los valores de las posiciones.
Seguir leyendo...
👍8❤7👌4
La naturaleza ha sido una fuente rica de inspiración para el desarrollo de algoritmos de optimización como el ACS (búsqueda cooperativa artificial). Basado en interacciones mutualistas y comportamientos de superorganismos eusociales, como las hormigas y abejas, este algoritmo busca soluciones óptimas al simular y adaptar estrategias de cooperación y migración.
El ACS utiliza dos poblaciones de superorganismos artificiales, α y β, para explorar y optimizar el espacio de búsqueda. A través de la selección dinámica y la mutación, permite encontrar soluciones eficientes en problemas complejos. Su enfoque innovador garantiza alta precisión y velocidad de convergencia, convirtiéndolo en una herramienta poderosa para resolver una variedad de problemas en optimización numérica.
Leer más...
El ACS utiliza dos poblaciones de superorganismos artificiales, α y β, para explorar y optimizar el espacio de búsqueda. A través de la selección dinámica y la mutación, permite encontrar soluciones eficientes en problemas complejos. Su enfoque innovador garantiza alta precisión y velocidad de convergencia, convirtiéndolo en una herramienta poderosa para resolver una variedad de problemas en optimización numérica.
Leer más...
👍7❤3👌2
Los arrays son estructuras esenciales en programación, eficientes para organizar y almacenar datos. En MQL5, se declaran especificando el tipo de dato y tamaño del array. Existen dos métodos para asignar valores: durante la declaración o posterior a ella. Además, el acceso a los elementos se realiza mediante índices comenzando desde cero.
Las funciones definidas por el usuario en MQL5 permiten realizar tareas específicas, mejorando la modularidad y legibilidad del código. Al definir una función, se elige un nombre y se especifican los parámetros y el tipo de retorno.
Los preprocesadores son herramientas clave en MQL5, reinterpretando el código fuente antes de compilarlo. Permiten definir constantes y configuraciones, mejorando la eficiencia del código.
Leer más...
Las funciones definidas por el usuario en MQL5 permiten realizar tareas específicas, mejorando la modularidad y legibilidad del código. Al definir una función, se elige un nombre y se especifican los parámetros y el tipo de retorno.
Los preprocesadores son herramientas clave en MQL5, reinterpretando el código fuente antes de compilarlo. Permiten definir constantes y configuraciones, mejorando la eficiencia del código.
Leer más...
👍7👌3❤1
El artículo aborda la mejora de clases de indicadores de símbolo y periodo múltiple en MetaTrader 5, centrándose en el manejo de indicadores de flechas. Se introduce la capacidad de indicar valores vacíos en búferes para evitar la eliminación de flechas al copiar datos entre marcos temporales. Se rediseñan métodos para copiar de manera eficiente, utilizando arrays globales y comprobando variables. La implementación se prueba con indicadores de flechas como Fractals y Parabolic SAR, mostrando cómo se integran datos de distintos periodos en gráficos M1, M5 y M15. Estas mejoras son relevantes para desarrolladores interesados en optimizar la gestión de información gráfica en plataformas de trading algorítmico.
Leer más...
Leer más...
👍6❤1👌1
La versión web de la plataforma MetaTrader 5 es una solución comercial moderna, rápida y fiable. Funciona en cualquier dispositivo, con cualquier sistema operativo y no requiere la instalación de ningún software adicional. El acceso a la cuenta solo requiere de un navegador.
Para familiarizarse con las funciones del terminal web, hemos preparado un breve vídeo. En solo 4 minutos, aprenderá a:
✓ Conectarse a una cuenta
✓ Ver cotizaciones y gráficos
✓ Realizar transacciones comerciales
✓ Analizar los mercados utilizando indicadores y objetos
✓ Realizar un seguimiento de la cuenta y la historia de transacciones
Ver el vídeo
Para familiarizarse con las funciones del terminal web, hemos preparado un breve vídeo. En solo 4 minutos, aprenderá a:
✓ Conectarse a una cuenta
✓ Ver cotizaciones y gráficos
✓ Realizar transacciones comerciales
✓ Analizar los mercados utilizando indicadores y objetos
✓ Realizar un seguimiento de la cuenta y la historia de transacciones
Ver el vídeo
👍18🔥3❤2👌1
El artículo explora la innovadora implementación del algoritmo ATFNet para la predicción de series temporales utilizando dos modelos complementarios: uno para el análisis temporal y otro para frecuencias. Se centra en la creación de la clase CNeuronATFNetOCL, la cual facilita la integración de procesos paralelos en un único bloque. El diseño aborda la normalización de datos y el uso de transformadas de Fourier para gestionar la frecuencia dominante. A través de un enfoque meticuloso en la implementación, se destaca la habilidad de ATFNet para mejorar las predicciones a través de una representación compleja y un detallado análisis estadístico y de datos históricos.
Leer más...
Leer más...
👍5❤4👌1
En el artículo anterior, se abordaron cambios en módulos de control de indicadores y el mouse, centrándose en resolver problemas de encapsulamiento en el sistema de repetición/simulación. Se identificó una fuga de datos en la clase C_FilesTicks, corregida al declarar una variable privada y reajustar el encapsulamiento, mejorando la seguridad. Cambios similares se realizaron en C_ConfigService, eliminando variables no necesarias de la configuración general. Además, se implementaron actualizaciones en el módulo del indicador de control para mejorar la estabilidad y prevenir errores aleatorios, asegurando que el servicio de repetición/simulación sea más seguro y estable.
Leer más...
Leer más...
👍6👌1
En el desarrollo de sistemas de repetición y simuladores de MetaTrader 5 se ha identificado una caída de rendimiento inesperada. Este problema necesita ser abordado e implica una revisión y ajuste del código, con un enfoque en la programación orientada a objetos. Se destacan las ventajas de entender y utilizar adecuadamente los objetos gráficos en MQL5 para mejorar el rendimiento del servicio sin crear dependencias complejas.
La revisión del código se centra en mejorar la legibilidad y eficiencia. Se introducen modificaciones en los archivos de cabecera como C_Controls.mqh y C_DrawImage.mqh para gestionar y accesar el estado de los objetos gráficos de manera más directa. Estos cambios, aunque no dramáticamente rápidos, optimizan ciertos aspectos del rendimiento y ofrecen una estructura de código más clara.
Finalmente, se destaca la importancia de realizar pruebas con estos ajustes p...
Leer más...
La revisión del código se centra en mejorar la legibilidad y eficiencia. Se introducen modificaciones en los archivos de cabecera como C_Controls.mqh y C_DrawImage.mqh para gestionar y accesar el estado de los objetos gráficos de manera más directa. Estos cambios, aunque no dramáticamente rápidos, optimizan ciertos aspectos del rendimiento y ofrecen una estructura de código más clara.
Finalmente, se destaca la importancia de realizar pruebas con estos ajustes p...
Leer más...
👍8❤3👌1
Para mejorar la velocidad de respuesta en el sistema de simulación de MetaTrader 5, se propone establecer límites en la cantidad de ticks procesados. Esto se debe a que, tanto en datos simulados como reales, una alta frecuencia de ticks puede sobrecargar la capacidad de procesamiento y afectar la eficiencia. Se introduce una nueva variable que controla el número máximo de ticks, ajustando así el sistema para manejar la información sin comprometer la integridad temporal o calidad de los datos. Este enfoque busca optimizar el rendimiento y adaptabilidad del sistema en diferentes escenarios de trading algorítmico.
Leer más...
Leer más...
👍4❤1👌1
El algoritmo Artificial Cooperative Search (ACS) se ha destacado por modelar relaciones mutualistas en la naturaleza para resolver problemas de optimización multidimensional. Investigaciones recientes han introducido modificaciones significativas que optimizan su eficacia. La primera modificación añade columnas a las matrices de población para mejorar la precisión de las soluciones. La segunda modificación revisa la selección de candidatos, aumentando la eficiencia y diversidad de la búsqueda óptima mediante comparaciones aleatorias. La tercera modificación reorganiza las poblaciones Predator y Prey en función del valor de aptitud, mejorando así la convergencia del algoritmo. Este enfoque refina la capacidad de ACS para enfrentar desafíos complejos en el ámbito de la inteligencia artificial.
Leer más...
Leer más...
👍8❤5👌3⚡1