English Русский 中文 Deutsch 日本語 Português
preview
De Python a MQL5: Un viaje hacia los sistemas de trading inspirados en la cuántica

De Python a MQL5: Un viaje hacia los sistemas de trading inspirados en la cuántica

MetaTrader 5Trading |
306 1
Javier Santiago Gaston De Iriarte Cabrera
Javier Santiago Gaston De Iriarte Cabrera

Introducción

En esta exhaustiva investigación sobre los sistemas de trading inspirados en la cuántica, realizaremos un recorrido que conecta las ideas teóricas de la computación cuántica con aplicaciones reales en el mundo del trading. Comenzando con conceptos básicos de computación cuántica y terminando con una implementación real en MQL5, este tutorial está diseñado para guiarle a través de todo el proceso de desarrollo. Analizaremos cómo el trading puede beneficiarse del uso de conceptos cuánticos, describiremos nuestro enfoque de desarrollo desde el prototipo en Python hasta la integración de MQL5, y presentaremos datos reales de rendimiento e implementaciones de código.

Este artículo explora la aplicación de conceptos inspirados en la cuántica en los sistemas de trading, tendiendo un puente entre la computación cuántica teórica y su implementación práctica en MQL5. Te presentaremos los principios cuánticos esenciales y te guiaremos desde la creación de prototipos en Python hasta la integración en MQL5, con datos de rendimiento reales.

A diferencia del trading tradicional, que se basa en la toma de decisiones binarias, los modelos de trading inspirados en la cuántica aprovechan comportamientos del mercado similares a los fenómenos cuánticos: múltiples estados concurrentes, interconexiones y cambios bruscos de estado. Mediante el uso de simuladores cuánticos como Qiskit, podemos aplicar algoritmos inspirados en la cuántica en ordenadores clásicos para gestionar la incertidumbre del mercado y generar información predictiva.

Circuitos

Para los comerciantes y desarrolladores que desean aplicar sistemas inspirados en la cuántica, es esencial comprender estas diferencias.Para los comerciantes y desarrolladores que desean aplicar sistemas inspirados en la cuántica, es esencial comprender estas diferencias.

En nuestra implementación de Python, Qiskit simula circuitos cuánticos. Los datos del mercado se codifican en estados cuánticos mediante puertas RY (rotación), representando las características del mercado como superposiciones cuánticas. Las puertas CNOT permiten el entrelazamiento, capturando correlaciones complejas del mercado, y las mediciones generan previsiones con una precisión del 54 %.

La versión MQL5, debido a su arquitectura clásica, se aproxima a los comportamientos cuánticos. Utilizamos extracción de características y matemáticas clásicas para simular estados cuánticos y entrelazamientos. Aunque es menos precisa (52%), la implementación de MQL5 admite comercio en tiempo real y conectividad directa al mercado.

Cada enfoque procesa los datos de manera diferente: Python codifica directamente los datos en estados cuánticos, mientras que MQL5 requiere ingeniería de características. Qiskit de Python ofrece puertas cuánticas genuinas, mientras que MQL5 se basa en aproximaciones clásicas, lo que agrega complejidad pero flexibilidad. Al simular el entrelazamiento, las puertas CNOT de Python crean conexiones cuánticas auténticas, mientras que MQL5 utiliza correlaciones clásicas.

Estas distinciones revelan las fortalezas y limitaciones de cada enfoque. Python proporciona un prototipo sólido, mientras que MQL5 ofrece una solución práctica y comercializable que adapta la computación inspirada en la cuántica dentro de las limitaciones del trading clásico.


El prototipo de Python: una base para la innovación

Comenzamos con Python debido a sus sólidas bibliotecas científicas (NumPy, Pandas y, especialmente, Qiskit), que lo hicieron ideal para crear prototipos de nuestro sistema de comercio inspirado en la tecnología cuántica. La sintaxis sencilla y los recursos de Python permitieron una experimentación eficiente y el desarrollo inicial de algoritmos.

El prototipo de Python logró una tasa de éxito consistente del 54% en diversas condiciones de mercado: una ventaja modesta pero significativa con una sólida gestión de riesgos.

Utilizando Qiskit, diseñamos y probamos una arquitectura de tres qubits, que permite el análisis de ocho estados de mercado simultáneamente. La flexibilidad de Python permitió ajustes rápidos del circuito, ajuste de parámetros y resultados rápidos, lo que facilitó nuestro proceso de desarrollo.

Aquí hay un ejemplo simplificado de nuestra implementación de circuito cuántico en Python:

class HourlyQuantumForex:
    def __init__(self):
        self.n_qubits = 3
        self.simulator = BasicAer.get_backend('qasm_simulator')
        self.min_confidence = 0.15

    def create_circuit(self, input_data):
        qc = QuantumCircuit(self.n_qubits, self.n_qubits)
        # Input encoding
        for i in range(self.n_qubits):
            feature_idx = i % len(input_data)
            angle = np.clip(np.pi * input_data[feature_idx], -2*np.pi, 2*np.pi)
            qc.ry(angle, i)
        
        # Entanglement operations
        for i in range(self.n_qubits - 1):
            qc.cx(i, i + 1)
        
        return qc


Transición a MQL5: Implementación práctica

Factores prácticos nos llevaron a decidir transferir nuestro sistema de inspiración cuántica a MQL5. MQL5 proporciona interacción directa con plataformas comerciales, acceso a datos del mercado en tiempo real y capacidades de ejecución rápida, aunque Python fue superior en la creación de prototipos y pruebas. La dificultad residió en integrar los principios de la computación cuántica en el marco de computación convencional de MQL5 preservando al mismo tiempo el poder predictivo del sistema.

Las dificultades de analizar datos de mercado en tiempo real y las variaciones en la implementación entre el simulador cuántico de Python y el entorno informático convencional de MQL5 son las razones de esta pequeña caída en la precisión (54 vs 51-52%).

A continuación se muestra un vistazo a nuestra implementación inspirada en lo cuántico de MQL5:

class CQuantumForex {
private:
    int m_lookback_bars;
    double m_features[];
    
public:
    double PredictNextMove(string symbol) {
        GetFeatures(symbol, m_features);
        return SimulateQuantumCircuit(m_features);
    }
    
    double SimulateQuantumCircuit(double &features[]) {
        // Quantum-inspired calculations
        double state_probs[];
        ArrayResize(state_probs, (int)MathPow(2.0, (double)NUM_QUBITS));
        
        // Circuit simulation logic
        for(int shot = 0; shot < SHOTS; shot++) {
            // Quantum state manipulation
        }
        
        return GetWeightedVote(state_probs);
    }
};


Aplicación y resultados en el mundo real

El uso práctico de nuestro sistema de inspiración cuántica mostró una serie de tendencias intrigantes en la previsión del mercado. En épocas de importante volatilidad del mercado, cuando el análisis técnico convencional a menudo falla, el enfoque demostró una fortaleza excepcional. Este beneficio resulta de la capacidad del método de inspiración cuántica de gestionar varios estados del mercado a la vez.

Los siguientes hallazgos surgieron de nuestras pruebas bajo una variedad de condiciones de mercado:

  • Con el trading en vivo, la confiabilidad del modelo en situaciones prácticas, ya que consistentemente tuvo un buen desempeño en una variedad de condiciones de mercado.

  • Además, vimos que durante horas específicas del mercado, la precisión del modelo aumentó considerablemente. Podemos aprovechar una mayor previsibilidad y mejorar la eficacia general de nuestro enfoque comercial al concentrarnos en estos momentos particulares.

  • El rendimiento del modelo mejoró notablemente en momentos de extrema volatilidad. La rentabilidad potencial del modelo aumentó como resultado de nuestra capacidad de adaptarnos y desempeñarnos mejor en entornos volátiles, lo que nos permitió sacar provecho de oscilaciones de precios más notables.

  • Por último, para descartar eficientemente las transacciones de baja probabilidad, utilizamos niveles de confianza. Al concentrarnos en señales de alta confianza, esta estrategia selectiva nos ayudó a reducir los riesgos innecesarios, lo que mejoró aún más los resultados comerciales.
Aunque las tasas de acierto pueden parecer bajas al principio, la estabilidad y la consistencia del sistema para sostener estos resultados en diversas situaciones de mercado validan el método de inspiración cuántica.


Métricas y análisis de rendimiento

Se justifica un examen exhaustivo de la disparidad de rendimiento entre nuestro prototipo Python y la implementación MQL5. Esta diferencia representa las dificultades de pasar de un entorno de pruebas controlado a entornos de mercado en tiempo real en lugar de ser simplemente una restricción de la plataforma MQL5. La solución MQL5 maneja las complejidades de la dinámica del mercado en tiempo real y las limitaciones del procesamiento de datos, mientras que el prototipo Python trabajaba con datos históricos y tenía un conocimiento completo de las condiciones del mercado.
Resultados para EURUSD=X:
Precisión global: 54.23%


Total predicciones: 11544

Resultados de Python

La implementación de MQL5 tiene una serie de beneficios útiles que la hacen valiosa para aplicaciones comerciales del mundo real, incluso con esta pequeña caída en la precisión. Con el prototipo de Python únicamente, los traders no podrían obtener información útil a partir del procesamiento de datos de mercado en tiempo real del sistema ni de las señales comerciales instantáneas.


La integración de MQH: un método útil

Nuestra lógica comercial de inspiración cuántica se puede integrar fácilmente en los Asesores Expertos actuales, ya que está contenida en un archivo de encabezado MQL5 (MQH). Sin tener que rediseñar completamente su sistema comercial, los operadores pueden incluir pronósticos de inspiración cuántica en sus métodos comerciales gracias a este enfoque modular. El archivo MQH incluye capacidades integrales para el análisis del estado del mercado, criterios de confianza y seguimiento profundo del rendimiento.

El archivo MQH se puede incluir en un EA ya existente de la siguiente manera:
#include <Trade\Trade.mqh>
#include <Quantum\QuantumForex.mqh>

class CTradeAnalyzer {
private:
    CQuantumForex* m_quantum;
    double m_min_confidence;

public:
    CTradeAnalyzer(double min_confidence = 0.15) {
        m_quantum = new CQuantumForex();
        m_min_confidence = min_confidence;
    }

    bool AnalyzeMarket(string symbol) {
        double prediction = m_quantum.PredictNextMove(symbol);
        return MathAbs(prediction) >= m_min_confidence;
    }
};


Optimización y ajuste fino

Es posible ajustar una serie de elementos cruciales del sistema de comercio inspirado en la teoría cuántica para adaptarse a determinadas circunstancias y herramientas comerciales. La cantidad de qubits utilizados en simulaciones, los parámetros de ingeniería de características, los umbrales de confianza para filtrar transacciones y la cantidad de tomas de simulación de circuitos cuánticos son todas opciones configurables importantes. Aunque nuestra primera configuración ha producido resultados consistentes, todavía hay mucho espacio para mejorar mediante una cuidadosa optimización de los parámetros. Dado que las configuraciones ideales variarán según las preferencias comerciales personales y las condiciones del mercado, dejaremos esto para que los lectores las prueben.


Caminos futuros y avances

Este enfoque es sólo el primer paso hacia aplicaciones comerciales inspiradas en la mecánica cuántica. Examinaremos ideas de computación cuántica más complejas y sus posibles aplicaciones comerciales en próximos artículos. Los circuitos cuánticos de mayor dimensión para un análisis de mercado más profundo, la incorporación de algoritmos de optimización inspirados en la teoría cuántica, la ingeniería de características sofisticadas basada en la teoría cuántica y la creación de sistemas comerciales híbridos clásicos-cuánticos son algunas áreas que requieren más investigación.


Una guía para la implementación práctica

Aconsejamos a los traders que estén interesados en utilizar esta metodología que adopten un enfoque metódico. Comience con el prototipo de Python para evaluar la aplicabilidad del sistema en su mercado objetivo y familiarizarse con las ideas cuánticas fundamentales. Después de eso, cambie gradualmente a la implementación de MQL5, comenzando con operaciones en papel para confirmar qué tan bien funciona. Una vez que se sienta seguro, ajuste la configuración del sistema para adaptarla a sus propias necesidades comerciales y tolerancia al riesgo. Con el tiempo, la confiabilidad se mejorará mediante el monitoreo regular de las métricas de rendimiento.

// Constants
#define NUM_QUBITS 3

Si cambia el número de qubits (NUM_QUBITS), el número de posibles estados de salida cambia exponencialmente. Esta es una propiedad fundamental de los sistemas cuánticos y tiene implicaciones significativas para la simulación.

En el código actual, NUM_QUBITS se establece en 3, lo que da como resultado 8 (2³) estados posibles. Es por esto que ves que la matriz de estados se inicializa con un tamaño de 8 y los bucles iteran a través de 8 estados posibles. Cada qubit existe en una superposición de 0 y 1, y cuando se combina con otros qubits, el número de estados posibles se multiplica.

Por ejemplo, si cambias el número de qubits, obtienes diferentes números de estados posibles: 1 qubit te da 2 estados (|0⟩ y |1⟩), 2 qubits te dan 4 estados (|00⟩, |01⟩, |10⟩, |11⟩), 3 qubits te dan 8 estados, 4 qubits te dan 16 estados, y así sucesivamente. El patrón sigue 2^n, donde n es el número de qubits.

Esta relación exponencial afecta a varias partes del código. El tamaño de las matrices de estados debe ajustarse en consecuencia, los bucles de simulación de circuitos cuánticos necesitan procesar más estados y los requisitos de memoria aumentan significativamente. Cuando aumenta NUM_QUBITS de 3 a 4, por ejemplo, necesita modificar los tamaños de la matriz y los límites de los bucles de 8 a 16.

Si bien aumentar el número de qubits proporciona una mayor capacidad computacional y capacidades de análisis potencialmente más sofisticadas, también implica desventajas. La simulación se vuelve más intensiva en términos computacionales, requiere más memoria y toma más tiempo procesarla. Esto podría afectar el rendimiento del Asesor Experto, especialmente si se ejecuta en hardware menos potente o cuando se requiere una ejecución rápida para operaciones en tiempo real.

En el contexto de este algoritmo comercial, más qubits podrían permitir una codificación de características más compleja y predicciones de movimientos de precios potencialmente más matizadas. Sin embargo, es necesario equilibrar este beneficio potencial con el aumento de la sobrecarga computacional y garantizar que el sistema siga siendo práctico para aplicaciones comerciales del mundo real.

#define SHOTS 2000

Los disparos (definidos como SHOTS = 2000 en el código) representan la cantidad de veces que se simula el circuito cuántico para aproximarse al comportamiento cuántico. Cada "shot" recorre todo el circuito cuántico y realiza una medición, creando una distribución estadística de resultados.

El concepto es similar a lanzar un dado varias veces para comprender su distribución de probabilidad. En la computación cuántica:

// Simulation loop in the code
for(int shot = 0; shot < SHOTS; shot++)
{
    // Initialize quantum state
    double state[8];  
    ArrayInitialize(state, 0.0);
    state[0] = 1.0;  // Start in |000⟩ state
    
    // Run quantum circuit operations...
    
    // Measure and accumulate results
    const double rand = MathRand() / 32768.0;
    double cumsum = 0.0;
    for(int i = 0; i < 8; i++)
    {
        cumsum += state[i] * state[i];
        if(rand < cumsum)
        {
            state_probs[i] += 1.0 / SHOTS;
            break;
        }
    }
}

Elegir el número óptimo de disparos para su sistema de comercio cuántico implica equilibrar varios factores clave. El equilibrio principal es entre precisión y velocidad de ejecución. Establecer un número mayor de disparos, normalmente 5000 o más, le proporcionará una distribución de probabilidad de estados cuánticos más precisa, pero esto tiene el costo de tiempos de ejecución más lentos. Por el contrario, utilizar menos disparos, alrededor de 500-1000, dará como resultado una ejecución más rápida pero resultados menos precisos. La configuración predeterminada actual de 2000 disparos representa un punto medio cuidadosamente elegido que apunta a equilibrar estas demandas en competencia.

Al considerar los requisitos específicos del trading, entran en juego varios factores. El marco temporal del mercado en el que opera es crucial: los marcos temporales más rápidos pueden requerir menos disparos para mantener la capacidad de respuesta, mientras que los marcos temporales más largos pueden acomodar más disparos para una mayor precisión. La potencia de procesamiento disponible es otro factor importante a tener en cuenta, ya que más disparos exigen mayores recursos computacionales. Además, el nivel de precisión requerido para su estrategia comercial debe influir en su elección: las estrategias que requieren mayor precisión se beneficiarán de más disparos.

Para una implementación práctica, se recomienda comenzar con 1000 a 2000 disparos durante las fases de prueba iniciales. Esto proporciona una base razonable para evaluar el rendimiento del sistema. Desde allí, debes monitorear activamente tanto el tiempo de ejecución como las métricas de precisión. Si nota que los resultados son demasiado ruidosos o inconsistentes, aumente gradualmente el número de disparos. Por el contrario, si el Asesor Experto se ejecuta demasiado lentamente para sus requisitos comerciales, considere reducir el número de disparos. Este enfoque iterativo le permite encontrar el equilibrio óptimo para sus condiciones y requisitos comerciales específicos.

# Example of how different shot counts might affect probabilities
# With 100 shots:
State |000⟩: 0.31000.0460)
State |001⟩: 0.18000.0384)

# With 2000 shots:
State |000⟩: 0.30250.0103)
State |001⟩: 0.17500.0085)

# With 10000 shots:
State |000⟩: 0.30020.0046)
State |001⟩: 0.17520.0038)
#define FEATURES_COUNT 7

Define el número de características de entrada utilizadas por el circuito cuántico para el análisis de mercado. Veamos estas 7 características en detalle:

// 1. Normalized price range
features[0] = ((rates[0].high - rates[0].low) / rates[0].close) * 2 - 1;

// 2. Normalized volatility
features[1] = (CalculateVolatility(m_returns, MathMin(12, m_lookback_bars)) / 0.01) * 2 - 1;

// 3. Momentum
features[2] = MathMax(MathMin(CalculateMomentum(m_returns, MathMin(24, m_lookback_bars)) * 100, 1), -1);

// 4-5. Time components (hour of day encoded in circular form)
features[3] = MathSin(2 * M_PI * dt.hour / 24.0);
features[4] = MathCos(2 * M_PI * dt.hour / 24.0);

// 6. Price deviation from SMA
features[5] = MathMax(MathMin((rates[0].close - sma) / sma, 1), -1);

// 7. Latest return
features[6] = MathMax(MathMin(m_returns[0] * 100, 1), -1);

Todas las características están normalizadas en el rango [-1, 1] para garantizar un escalamiento consistente para el circuito cuántico. Podrías modificar esto agregando o quitando funciones.


Consideraciones técnicas y limitaciones

Si bien este sistema de inspiración cuántica demuestra un potencial prometedor, es esencial reconocer ciertas limitaciones. Cabe destacar que se trata de un proceso cuántico simulado y no de un cálculo cuántico real. Los requisitos de procesamiento en tiempo real pueden afectar el rendimiento y las condiciones cambiantes del mercado pueden afectar la precisión de las predicciones. Para mitigar estos factores, es fundamental integrar medidas sólidas de gestión de riesgos en el marco comercial.

#define HOUR_LOOKBACK 24

Define la ventana de tiempo predeterminada para el análisis de datos históricos, establecida en 24 horas. Este parámetro juega un papel crucial en cómo el sistema comercial analiza los patrones del mercado y calcula varios indicadores.

El período retrospectivo afecta varios cálculos clave en el sistema. Al analizar la volatilidad, el código utiliza hasta 12 períodos (la mitad del tiempo retrospectivo) para calcular la desviación estándar de los rendimientos. Para los cálculos de impulso (momentum), utiliza los 24 períodos completos para calcular los movimientos de precios promedio. Esto proporciona un equilibrio entre el comportamiento reciente del mercado y las tendencias a largo plazo.

Es probable que se haya elegido la retrospección de 24 horas para capturar ciclos diarios completos del mercado. Esto tiene sentido porque los mercados de divisas a menudo muestran patrones cíclicos de 24 horas debido a la apertura y el cierre de las principales sesiones comerciales (sesiones asiáticas, europeas y americanas). Cada sesión puede traer diferentes volúmenes de negociación y patrones de comportamiento de precios.

Puede modificar este valor según sus necesidades comerciales. Una retrospección más corta (por ejemplo, 12 horas) haría que el sistema responda mejor a los cambios recientes del mercado, pero potencialmente más susceptible al ruido. Una retrospección más larga (por ejemplo, 48 horas) proporcionaría señales más estables, pero podría tardar más en reaccionar a los cambios del mercado. Recuerde que cambiar HOUR_LOOKBACK afectará el uso de la memoria y el tiempo de procesamiento, ya que es necesario almacenar y analizar más datos históricos.

// Input parameters
input int      InpPredictBars   = 2;         // Predict Bars (1-5)
input double   InpMinMove       = 0.00001;     // Minimum Move
input double   InpMinConfidence = 0.15;       // Minimum Confidence
input int      InpLogInterval   = 1;         // Log Interval
input int      InpLookbackBars  = 200;        // Lookback Bars for Analysis

InpPredictBars = 2 representa cuántas barras adelante el sistema intenta predecir. Con un valor de 2, el sistema hace predicciones sobre los movimientos de precios durante las próximas 2 barras. El rango está limitado a 1-5 barras porque las predicciones tienden a volverse menos precisas en períodos más largos. Un valor más pequeño (como 1) proporciona predicciones más inmediatas pero puede pasar por alto movimientos más grandes, mientras que valores más grandes (como 4-5) intentan capturar tendencias más largas pero con una precisión potencialmente menor.

InpMinMove = 0.00001 establece el movimiento de precio mínimo requerido para considerar que una predicción es exitosa. Para los pares de divisas, esto normalmente se establece en 1 pip (0,00001 para corredores de 5 dígitos). Esto evita que el sistema cuente movimientos de precios muy pequeños que podrían ser simplemente ruido del mercado. Puedes aumentarlo para realizar operaciones más conservadoras o disminuirlo para realizar operaciones más agresivas, dependiendo de tu estrategia.

InpMinConfidence = 0.15 (15 %) es el umbral de confianza necesario para tomar una predicción en serio. El sistema cuántico produce predicciones con niveles de confianza entre 0 y 1. Cualquier predicción con una confianza inferior a 0,15 se considera "neutral" y se ignora. Valores más altos (como 0,25) harían que el sistema fuera más selectivo pero generarían menos señales, mientras que valores más bajos generarían más señales pero potencialmente con menor calidad.

InpLogInterval = 1 determina con qué frecuencia (en períodos de tiempo) el sistema registra sus métricas de rendimiento. Un valor de 1 significa que registra cada período. Esto es útil para monitorear el rendimiento del sistema, pero un registro demasiado frecuente podría afectar el rendimiento. Podrías incrementar este valor en el trading en vivo.

InpLookbackBars = 200 establece cuántas barras históricas utiliza el sistema para su análisis. Con 200 barras, el sistema tiene una buena cantidad de datos históricos para calcular características y patrones. Más barras (como 500) brindarían más contexto histórico pero requerirían más potencia de procesamiento, mientras que menos barras responderían mejor a los cambios recientes del mercado pero podrían perder patrones a más largo plazo.

Estos parámetros se pueden ajustar en la plataforma MetaTrader antes de ejecutar el EA, y encontrar la combinación correcta a menudo requiere probar datos históricos y monitorear el rendimiento en vivo.


Mirando hacia el futuro

Esperamos ver aplicaciones más complejas en el comercio a medida que se desarrolla la tecnología de computación cuántica. Aunque el sistema actual utiliza algoritmos influenciados por la mecánica cuántica, esto es sólo el comienzo de lo que pronto podría ser posible. Vuelve a visitarnos para ver nuestra próxima publicación, en la que analizaremos más a fondo las formas en que se utiliza la computación cuántica en el comercio y revelaremos aplicaciones más complejas y sofisticadas.


EA de ejemplo

Este asesor experto de Forex de múltiples sesiones emplea algoritmos de inspiración cuántica para operar en sesiones europeas, americanas y asiáticas, utilizando parámetros y métodos de análisis específicos para cada período de tiempo.

La fortaleza principal del sistema reside en su gestión de riesgos de múltiples capas, que combina el dimensionamiento dinámico de las posiciones, la progresión anti-martingala y la protección basada en acciones. Analiza múltiples características del mercado, incluido ATR, impulso y varios indicadores técnicos a través de su sistema de análisis de inspiración cuántica para generar señales comerciales sólidas.

Una innovación clave es su sistema de stop dinámico adaptativo y el componente de análisis de múltiples marcos temporales, que garantiza que las operaciones se alineen con las tendencias de corto plazo (H1) y largo plazo (H4). Además, su analizador de Excursión Máxima Favorable (Maximum Favorable Excursion, MFE) optimiza continuamente los puntos de salida en función del comportamiento histórico de los precios, lo que ayuda a maximizar el potencial de ganancias.

Este es un ejemplo sencillo de lo que se puede conseguir con predicciones prácticamente al aire, con selección de sesiones y horas, control de MFE y gestión de riesgos.

Esta configuración aprovecha el MFE y solo utiliza predicciones para disparar a largo o corto plazo. Este EA tiene una gran cantidad de opciones y configuraciones, no recomendaría hacer una gran optimización.

Ajustes

Gráfico

Pruebas retrospectivas

Configuración n.° 2

Mismos ajustes, diferentes entradas. No puedo hacer una optimización de red Cloud MQL5 porque desde España no se puede hacer (política...), y una local llevaría demasiado tiempo, pero este EA tiene muchas opciones, por favor úsalas y termina el EA. Si tienes tiempo y recursos, haz una gran optimización para ver cuáles son las opciones más adecuadas.

Gráfico #2

Nota: Las características han cambiado, la estrategia no está del todo pulida, pero puede servir como ejemplo y puedes continuar y terminarla. Es necesario actualizar el dimensionamiento de lotes y la gestión de riesgos y hacer mucho más. Esto es sólo un ejemplo, debes operar bajo tus propias responsabilidades, pero es un buen punto de partida para tu propio EA. Como las entradas son demasiadas, cargaré uno de los conjuntos de entradas que utilicé (sin optimizar) para el marco de tiempo de 1 hora del EURUSD. Además, cambié los mqh para este ejemplo, también podrías hacerlo tú mismo.

Cómo debes proceder con este EA, primero debes comprender este artículo y luego debes revisar las entradas importantes y ver dónde van y a dónde va esa función, etc. La función importante es OnTick(), simplemente intenta ver de dónde vienen las funciones de OnTick y comienza a realizar cambios desde allí, la curva de aprendizaje será fácil si comienzas así.


Conclusión

Este estudio exploró cómo se pueden utilizar los principios de la computación cuántica en la industria comercial. Creamos un sistema de trading con temática cuántica, pasando de un prototipo en Python a una implementación en MQL5. Con tasas de acierto constantes tanto en entornos comerciales simulados como reales, los resultados son alentadores. Este enfoque resultó especialmente exitoso en situaciones de alta volatilidad, donde los modelos convencionales suelen fallar. Es importante recordar que se trata de una simulación cuántica y que variables como las circunstancias del mercado y la calidad de los datos pueden tener un impacto en su desempeño.

En resumen, esta exploración de los sistemas de comercio inspirados en la computación cuántica ofrece una visión del futuro del comercio algorítmico al aprovechar los principios de la computación cuántica para abordar las complejidades de los mercados financieros. Si bien la integración de conceptos cuánticos en MQL5 marca un paso significativo hacia su implementación práctica, también subraya la necesidad de un equilibrio cuidadoso entre la sofisticación computacional y la aplicabilidad en el mundo real. 

Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/articles/16300

Archivos adjuntos |
EA.zip (49.81 KB)
setup_2.set (8.94 KB)
Javier Santiago Gaston De Iriarte Cabrera
Por favor, no utilice el ajuste #2 (dejé la optimización en marcha y fue una estrategia perdedora). Por favor haga optimizaciones y busque el mejor ajuste (y termine el EA).
Computación cuántica y trading: Una nueva mirada a las previsiones de precios Computación cuántica y trading: Una nueva mirada a las previsiones de precios
En el artículo analizaremos un enfoque innovador para predecir los movimientos de precios en los mercados financieros utilizando la computación cuántica. La atención se centrará en la aplicación del algoritmo Quantum Phase Estimation (QPE) para encontrar precursores de patrones de precios, lo que permitirá acelerar considerablemente el proceso de análisis de los datos de mercado.
Del básico al intermedio: Struct (III) Del básico al intermedio: Struct (III)
En este artículo, veremos qué es un código estructurado. Muchas personas confunden el código estructurado con el código organizado. Sin embargo, existe una diferencia entre ambos conceptos. Esto se explicará en este artículo. A pesar de la aparente complejidad que se notará en el primer contacto con este tipo de codificación, he intentado abordar el tema de la mejor manera posible. Pero este artículo es solo el primer paso hacia algo más grande.
Del básico al intermedio: Estructuras (IV) Del básico al intermedio: Estructuras (IV)
En este artículo, veremos cómo producir el llamado código estructural, en el que se coloca todo el contexto y las formas de manipular variables e información dentro de una estructura, con el fin de generar un contexto adecuado para la implementación de cualquier código. Veremos la necesidad de utilizar la cláusula private para separar lo que es público de lo que no, espetando así la regla de encapsulamiento y manteniendo el contexto para el que se creó una estructura de datos.
Analizamos el código binario de los precios en bolsa (Parte I): Una nueva visión del análisis técnico Analizamos el código binario de los precios en bolsa (Parte I): Una nueva visión del análisis técnico
En este artículo presentaremos un enfoque innovador del análisis técnico basado en la conversión de los movimientos de los precios en código binario. El autor demostrará cómo diversos aspectos del comportamiento de los mercados -desde simples movimientos de precios hasta patrones complejos- pueden codificarse en una secuencia de ceros y unos.