LiuGuanYi
- Asesores Expertos
-
Bo Wen Che
Soy un trader independiente y desarrollador de sistemas de trading algorítmico, centrado principalmente en el oro, Bitcoin, los futuros estadounidenses y el mercado de divisas. - Versión: 35.2
- Activaciones: 5
Este no es un EA que requiera una configuración compleja de parámetros. Los parámetros principales ya han sido sometidos a una gran cantidad de pruebas y están fijados dentro del programa. No quiero que los usuarios modifiquen libremente los parámetros internos y terminen ejecutando algo completamente distinto del sistema original.
En el uso real, solo necesita comprender el tipo de cuenta, el nivel de capital y la dirección de trading. Toda la demás lógica principal se ejecuta automáticamente dentro del sistema.
1|Cuenta real disponible para observación pública https://www.mql5.com/zh/signals/2386318?source=Site+Signals+My
Bróker: EC Markets
Servidor: ECMarkets-MT5-Live01
Cuenta: 81206286
Contraseña de inversor: Liuguanyi123@ — antes de publicarla, asegúrese de que sea la contraseña de solo lectura de MT5
Esta es una cuenta real y puede utilizarse para observar el comportamiento real de las órdenes del EA en el mercado.
2|Utilice una cuenta ECN con spread bajo
Este punto es muy importante.
Mis principales pruebas históricas y mi entorno de ejecución utilizan una cuenta ECN de spread bajo, con un spread de prueba de aproximadamente 5–8 puntos y un parámetro de comisión de 3.
El sistema no fue desarrollado en un entorno ideal de spread cero y comisión cero. El spread y la comisión ya forman parte de los costes reales de negociación de la estrategia.
Sin embargo, si utiliza una cuenta con spreads claramente superiores a los del entorno de prueba, deslizamientos anormales o un bróker cuyas condiciones difieran significativamente de un entorno ECN estándar, tanto la rentabilidad como el comportamiento del drawdown cambiarán.
Cuanto mayores sean los costes de negociación, menor será el beneficio neto, menor será la eficiencia del capital y peor puede ser el comportamiento del drawdown.
Por lo tanto, si utiliza una cuenta con spread alto, no espere resultados idénticos a mis pruebas.
3|La estrategia no depende de una latencia ultrabaja
Esta estrategia no es arbitraje de latencia, no depende de retrasos en las cotizaciones y no necesita una latencia de red extremadamente baja para obtener ventaja.
En pruebas con diferentes niveles de latencia, desde aproximadamente 1 ms hasta unos 500 ms, los resultados generales no mostraron diferencias estructurales decisivas.
Por ello, no es necesario comprar un servidor ultrarrápido y costoso exclusivamente para esta estrategia. Un VPS estable convencional o un ordenador local son suficientes.
Para esta estrategia:
Una conexión estable es mucho más importante que perseguir una latencia de 1 ms.
4|Los parámetros principales están ocultos
Los parámetros internos que realmente determinan el comportamiento del sistema ya están predefinidos. No he expuesto al usuario una gran cantidad de parámetros de investigación.
La razón es sencilla: si un modelo ya probado permite que cualquiera modifique libremente sus umbrales internos, el resultado deja de ser la misma estrategia.
El usuario solo necesita elegir:
Tipo de cuenta, nivel de capital y dirección de trading.
Los demás parámetros principales son controlados internamente por el sistema.
Usted elige el nivel de riesgo; no rediseña la estrategia.
5|El nivel de capital determina la intensidad del riesgo
Si la cuenta tiene 2.500 USD, la configuración estándar es seleccionar el nivel de capital de 2.500 USD; una cuenta de 5.000 USD utiliza el nivel de 5.000 USD; una cuenta de 10.000 USD utiliza el nivel de 10.000 USD. También puede utilizarse una cuenta cent; con aproximadamente 25 USD es posible iniciar el sistema.
Esta es la forma normal y más razonable de utilizarlo.
Cuando empecé a desarrollar esta estrategia, permitía que el EA determinara el riesgo de manera completamente dinámica según el capital total de la cuenta. Después de muchas pruebas descubrí que, aunque eso podía mantener el drawdown extremadamente bajo, también dejaba una gran parte del capital sin utilizar durante largos periodos, reduciendo la eficiencia del capital.
Por eso finalmente decidí:
Dejar la elección del riesgo en manos del usuario.
El nivel de capital no es simplemente una etiqueta del saldo. En esencia, determina la intensidad de riesgo con la que opera el sistema.
Si el capital real es igual al nivel seleccionado, se trata de riesgo estándar. Si el capital real es superior al nivel seleccionado, el riesgo relativo disminuye. Si el capital real es inferior al nivel seleccionado, el riesgo relativo aumenta.
6|Si acepta más riesgo, puede elegir un nivel de capital superior
Por ejemplo, una cuenta con solo 2.500 USD puede utilizar el nivel de capital de 5.000 USD.
Esto significa que el sistema operará con la estructura de riesgo diseñada para el nivel de 5.000 USD.
El resultado es muy claro:
Aumenta el potencial de beneficio y, al mismo tiempo, aumenta el potencial de drawdown.
No es un error ni una anomalía. Es una decisión consciente del usuario de aumentar el nivel de riesgo.
Si no puede tolerar fluctuaciones más grandes en el capital, no utilice un nivel de capital alto con una cuenta pequeña.
Una mayor rentabilidad nunca es gratuita.
Información de backtestPeriodo público de backtest:
1 de marzo de 2024 — 5 de agosto de 2026
La razón por la que el test comienza en 2024 es que, en mi entorno histórico actual de EC Markets, los datos de ticks reales fiables están disponibles a partir de ese periodo.
No voy a alargar artificialmente el backtest mezclando datos de distintas fuentes ni utilizando históricos cuya calidad no pueda verificarse.
Solo muestro lo que realmente puede verificarse.
Cuenta de 2.500 USD|Nivel de capital de 2.500 USD
Capital inicial: 2.500 USD
Beneficio neto final: 6.603 USD
Rentabilidad neta: aproximadamente 264%
Capital final: aproximadamente 3,64 veces el capital inicial
Drawdown máximo desde el pico de equity: aproximadamente 16%
Importe máximo de drawdown durante el test: aproximadamente 1.120 USD
Si se compara directamente 1.120 USD con el capital inicial de 2.500 USD, equivale aproximadamente al 44,8% del capital inicial.
Debe entenderse una diferencia importante:
El drawdown máximo desde el pico de equity y el importe máximo de pérdida como porcentaje del capital inicial no son la misma métrica estadística.
La estrategia calcula dinámicamente el volumen real de trading según el nivel de capital seleccionado. Por lo tanto, si se utiliza más capital real manteniendo el mismo nivel, y la estructura de beneficios permanece similar, el porcentaje relativo de drawdown normalmente disminuirá aún más.
Cuenta de 10.000 USD|Nivel de capital de 10.000 USD
Capital inicial: 10.000 USD
Beneficio neto final: 26.395 USD
Rentabilidad neta: aproximadamente 263,95%
Drawdown máximo desde el pico de equity: aproximadamente 16%
Importe máximo de drawdown durante el test: aproximadamente 4.000 USD
Este resultado muestra que, al aumentar proporcionalmente el nivel de capital, la estructura general de riesgo y rentabilidad del sistema puede mantenerse relativamente consistente.
Cuenta de 2.500 USD|Ejecutando el nivel de capital de 5.000 USD
Este es el test que considero más importante comprender.
El capital inicial real era únicamente:
2.500 USD
Pero el sistema se ejecutó con:
Nivel de capital de 5.000 USD
Beneficio neto final:
13.201 USD
Respecto a los 2.500 USD iniciales:
Rentabilidad neta: aproximadamente 528%
Drawdown máximo desde el pico de equity:
Aproximadamente 18%
Importe máximo de drawdown durante el test:
Aproximadamente 2.240 USD
Esto demuestra que un usuario dispuesto a asumir conscientemente un mayor riesgo puede cambiar el perfil global de riesgo/rentabilidad de la cuenta seleccionando un nivel de capital superior.
Pero debe quedar claro una vez más:
Al aumentar el potencial de beneficio, también aumenta significativamente la cantidad absoluta de capital en riesgo.
Si no puede tolerar este nivel de fluctuación, no utilice esta configuración.
Los backtests deben utilizar datos de ticks realesEste es uno de los puntos más fáciles de pasar por alto después de la compra y, al mismo tiempo, uno de los más importantes.
No piense que por hacer clic en el Probador de Estrategias de MT5 necesariamente está utilizando ticks reales del bróker.
MT5 puede generar ticks sintéticos a partir de velas históricas. Para muchas estrategias convencionales de baja frecuencia, esta diferencia puede no ser importante.
Pero esta estrategia contiene dependencia de trayectoria, estados de evento y lógica de secuencia de ejecución. Incluso si la vela final tiene exactamente la misma forma, una secuencia intrabar diferente puede activar un estado interno distinto.
Por lo tanto, para un backtest formal:
Debe seleccionar “Cada tick basado en ticks reales” y utilizar el historial de ticks reales proporcionado por el bróker.
Si utiliza ticks sintéticos:
La rentabilidad del backtest puede quedar seriamente distorsionada. La mayoría de los brókeres no dispone de historiales de ticks reales muy largos. Por ejemplo, en mi entorno de EC Markets los ticks reales fiables comienzan en 2024. Otro bróker puede mostrar datos desde 2017, pero los datos antiguos pueden ser únicamente velas reconstruidas o simuladas en lugar de un historial de ticks genuino. En ese caso, el beneficio histórico obtenido no puede considerarse un resultado real basado en ticks. Esta diferencia debe entenderse claramente.
Por qué finalmente decidí desarrollar este EA por mi cuentaLlevo seis años operando en los mercados.
Durante esos seis años, descubrí que mi mayor enemigo nunca fue realmente el mercado.
Era yo mismo.
Cuando estoy en buen estado mental, puedo ejecutar el trading con mucha disciplina. Un día puedo ganar 200 USD y otro día quizá 1.000 USD.
El problema real no es que no sepa operar. El problema es:
Después de ganar dinero, cambia el estado mental de una persona.
Por ejemplo, si este mes opero con disciplina y gano 5.000 USD, el mes siguiente puedo volverme demasiado confiado, relajarme o incluso sentirme arrogante por haber ganado el mes anterior.
Entonces baja la calidad de mi trading y aparecen las pérdidas.
Después de perder, vuelvo a tomarlo en serio. Cuando vuelvo a ser disciplinado, vuelvo a ganar. Y después de ganar, poco a poco vuelvo a relajarme.
Con los años descubrí que repetía una y otra vez el mismo ciclo:
Disciplina → Beneficio → Confianza → Complacencia → Pérdida → Disciplina de nuevo
Lo que más me frustraba era saber perfectamente que:
Cuando ejecuto las reglas con disciplina, mi rendimiento mejora claramente.
Pero no puedo garantizar que mis emociones, disciplina y estado mental permanezcan exactamente iguales los 365 días del año.
Para una persona es muy difícil conseguirlo.
Entonces empecé a preguntarme:
Si la lógica de trading puede definirse, ¿por qué no dejar que la ejecute un programa que no tiene emociones?
Un programa no se emociona porque ganó dinero ayer. No se siente invencible después de una racha ganadora. No omite condiciones porque esté de mal humor. Y no intenta recuperar todo inmediatamente después de una pérdida.
Simplemente ejecuta las reglas.
Más adelante empecé a comprar EAs y estrategias de otros desarrolladores, esperando encontrar un sistema automatizado realmente fiable.
En total gasté aproximadamente:
3.000 USD
Pero después de comprar, probar e investigar muchos de estos productos, encontré demasiados problemas en este mercado:
Uso de funciones futuras, repintado, sustitución de datos históricos, comisiones ignoradas, spreads ignorados, slippage ignorado, pérdidas flotantes ocultas, condiciones distintas entre backtest y trading real, parámetros ajustados repetidamente para adaptarse al pasado, selección de los periodos más bonitos y curvas de equity demasiado perfectas para ser realistas.
Finalmente llegué a una conclusión:
Si seguía buscando un supuesto EA mágico, podría pasarme toda la vida buscando algo que no existe.
Así que dejé de comprarlos.
Decidí desarrollar el mío.
Así nació este EA.
Su objetivo original no era producir la curva de backtest más bonita posible, sino:
Convertir algo que normalmente depende de la disciplina y el control emocional de un trader en un sistema automatizado capaz de ejecutar reglas de forma constante.
Arquitectura cuantitativaDesde el punto de vista de ingeniería, este sistema no sigue el esquema tradicional:
Indicador genera señal → orden directa
El proceso real de decisión se parece más a:
Reconocimiento del estado del mercado → evaluación estructural → confirmación del evento → evaluación del riesgo → verificación de la ejecución
Las órdenes que finalmente aparecen en el gráfico de MT5 son únicamente el resultado final después de que el sistema interno de estados haya superado múltiples capas de restricciones.
I|Descomposición multitemporal del espacio de estados
El sistema utiliza una estructura de análisis de estados en múltiples marcos temporales, en la que cada escala temporal cumple una función informativa diferente.
Estructura direccional, volatilidad local, eventos de mercado, estado de posiciones y entorno de ejecución no se suman de forma simple. Se asignan a diferentes capas y, en conjunto, determinan si una operación obtiene autorización para ejecutarse.
Por lo tanto, el sistema no produce simplemente una señal de compra o venta, sino:
Un estado de trading ejecutable que solo obtiene autorización después de múltiples capas de confirmación.
II|Enrutamiento de estados de mercado con histéresis
El estado del mercado no cambia instantáneamente de una condición a otra mediante un único umbral fijo.
El sistema incorpora persistencia del estado, confirmación, reglas de transición asimétricas y memoria del estado, principalmente para reducir los cambios frecuentes de régimen cuando el mercado se encuentra cerca de una zona límite.
Una vez creado un nuevo ciclo de trading, determinadas variables clave quedan congeladas.
El mercado puede seguir cambiando, pero el sistema no reinterpretará continuamente una estructura de riesgo ya establecida debido a unas pocas fluctuaciones de corto plazo.
III|Estructura de precios normalizada por volatilidad
El sistema no utiliza la distancia absoluta del precio como medida universal.
El mismo movimiento de 10 USD puede tener un significado completamente diferente en un mercado de baja volatilidad y en uno de alta volatilidad.
Por ello, el desplazamiento del precio, la distancia estructural, la expansión local y los límites de riesgo se evalúan dentro de un espacio normalizado por volatilidad.
En otras palabras:
El sistema no solo mide cuánto se ha movido el precio, sino qué tan grande es ese movimiento en relación con la estructura de volatilidad actual.
IV|Evolución del estado dependiente de la trayectoria
El precio actual no es la única variable que determina el comportamiento del sistema.
También se tiene en cuenta la trayectoria mediante la cual el mercado llegó al precio actual, junto con el estado de trading, el estado de riesgo y la estructura de posiciones ya desarrollados.
Por lo tanto:
Aunque el precio vuelva exactamente al mismo nivel, el sistema no tiene por qué tomar exactamente la misma decisión.
La razón es sencilla:
La trayectoria utilizada para llegar a ese precio puede ser completamente diferente.
Esta es también la razón por la que la calidad de los ticks reales es tan importante para esta estrategia.
V|Presupuesto de riesgo jerárquico
El sistema no genera una señal y luego decide inmediatamente el tamaño del lote.
Cada nuevo ciclo de trading establece primero su propio presupuesto de riesgo. Después, el módulo interno de planificación calcula la estructura real de exposición en función del riesgo admisible restante.
La jerarquía puede entenderse así:
Control de riesgo de la cuenta > Riesgo del ciclo de trading > Planificación de posiciones > Condiciones de entrada > Señal de trading
Por lo tanto:
El tamaño de la operación no es lo primero que decide el sistema. Es el resultado del cálculo completo de riesgo.
Aunque las condiciones de entrada sean válidas, el sistema puede rechazar la ejecución si el espacio de riesgo disponible en niveles superiores es insuficiente.
VI|Estructura no lineal del riesgo de posiciones
Cuando existen varias posiciones simultáneamente, el riesgo total no puede entenderse simplemente como la suma directa del riesgo de cada orden individual.
Cada nuevo cambio en la exposición modifica la cantidad de riesgo que el ciclo completo todavía puede absorber en el futuro.
El riesgo ya utilizado afecta directamente a la capacidad de añadir nueva exposición más adelante.
Por lo tanto, el sistema no administra órdenes aisladas. Administra:
La estructura global de riesgo del ciclo completo, que cambia continuamente.
VII|Gestión independiente de estados para largos y cortos
Las posiciones largas y cortas no son simplemente el mismo programa con la dirección invertida.
Ambas direcciones mantienen de forma independiente:
Estado de trading, estado de riesgo, memoria de ejecución y estructura del ciclo.
Al mismo tiempo, ambas comparten el control de riesgo de capital a nivel de cuenta.
Desde el punto de vista arquitectónico, se parece más a:
Dos motores de estado independientes que comparten una única capa de control de capital de la cuenta.
VIII|Verificación de ejecución en bucle cerrado
En muchos EAs tradicionales, el proceso principal prácticamente termina cuando la orden se ha enviado correctamente.
Este sistema funciona de otra manera.
Después de enviar la instrucción, el sistema sigue verificando:
Estado planificado → Estado real de ejecución → Estado final verificado
El ciclo de vida de la orden solo se considera válido cuando la ejecución real continúa siendo coherente con el estado interno de riesgo.
Por tanto, el sistema no solo controla:
Si la orden fue enviada correctamente
sino también:
Si el resultado real de ejecución sigue cumpliendo el modelo interno de riesgo.
IX|Comprobación de integridad del entorno de negociación
El mercado real no es un backtest.
Volumen mínimo, paso de volumen, valor del tick, tamaño del contrato, restricciones de stop, restricciones de congelación, requisitos de margen, spread, slippage y fallos de órdenes pueden modificar el resultado final.
Estos elementos no forman parte de la lógica direccional de la estrategia, pero determinan directamente si la estrategia puede ejecutarse en mercado real tal como fue diseñada.
Por lo tanto:
El propio entorno de ejecución forma parte del sistema global de riesgo.
X|Detección de cambios en el estado del contrato
El sistema no asume que un mismo símbolo mantendrá siempre exactamente las mismas condiciones de negociación.
Si el bróker modifica el volumen mínimo, el paso de volumen, el valor del tick, el tamaño del contrato o las restricciones de trading, la base original del cálculo de riesgo puede cambiar.
Por eso, el sistema registra los atributos principales de ejecución del instrumento y supervisa si se producen cambios críticos.
Para un sistema automatizado de riesgo:
El mismo nombre de símbolo no garantiza las mismas propiedades económicas en todo momento.
XI|Control de riesgo de tipo «fail-closed»
El sistema utiliza un principio muy conservador frente a estados desconocidos.
Que la seguridad no pueda verificarse no significa que el estado sea seguro.
Si no puede confirmarse una protección crítica, no puede verificarse un resultado de ejecución, el entorno de negociación se vuelve anormal o las condiciones de riesgo salen del rango esperado, el sistema da prioridad a restringir nuevas posiciones en lugar de añadir riesgo desconocido.
Este es uno de los principios más importantes de toda la arquitectura.
XII|Reconstrucción persistente del estado
Un VPS puede reiniciarse. MT5 puede actualizarse. La red puede desconectarse. El programa puede volver a cargarse.
Por eso, el sistema nunca fue diseñado bajo la suposición de que el proceso funcionaría de forma ininterrumpida para siempre.
La vida de un ciclo de trading y la vida del proceso del programa no son lo mismo.
El sistema intenta conservar y reconstruir el estado de trading existente para que, después de un reinicio, pueda comprender en qué fase se encuentra ya la cuenta, en lugar de interpretar todas las posiciones existentes como un nuevo comienzo.
XIII|El riesgo de capital de la cuenta tiene la máxima autoridad
El sistema tiene una jerarquía clara de autoridad de riesgo:
Protección del capital de la cuenta > Riesgo del ciclo de trading > Planificación de posiciones > Autorización de entrada > Señal de trading
Esto significa que incluso una oportunidad de trading completamente válida puede ser rechazada si las condiciones de riesgo de la cuenta no permiten asumirla.
Porque en este sistema:
Que aparezca una señal no significa que haya que ejecutar una operación.
La lógica de trading identifica posibilidades.
El sistema de riesgo de capital decide si la cuenta tiene derecho a asumir ese riesgo.
Definición final del sistemaSi hubiera que describir el sistema en términos de ingeniería, podría entenderse como:
Descomposición multitemporal de estados, reconocimiento de regímenes con histéresis, estructura de precios normalizada por volatilidad, evolución del estado dependiente de la trayectoria, presupuesto jerárquico de riesgo, asignación no lineal de exposición, gestión independiente de estados largos/cortos, verificación de ejecución en bucle cerrado, detección de cambios en el entorno de negociación, recuperación persistente del estado y protección de capital de tipo fail-closed.
Lo que finalmente ve en el gráfico de MT5 es solo una orden.
Lo que realmente determina por qué esa orden puede existir es todo un conjunto invisible de evaluaciones de estado y restricciones de riesgo.
Puede ver dónde opera el sistema.
Pero no puede ver qué estado interno autorizó esa operación.
Advertencia de riesgoNingún EA, programa automatizado de trading o sistema cuantitativo puede ser eficaz para siempre ni garantizar beneficios.
Los backtests históricos no garantizan rentabilidades futuras. El rendimiento histórico de una cuenta real tampoco garantiza resultados futuros.
El resultado final puede verse afectado por spread, comisiones, slippage, calidad de ejecución del bróker, condiciones del mercado y nivel de capital elegido por el usuario.
Publico los datos históricos para que los usuarios puedan verificar la estrategia por sí mismos, no para afirmar que el futuro repetirá el pasado.
Elija el nivel de capital según la pérdida que realmente pueda soportar.
Si una determinada cantidad de drawdown puede afectar a su vida normal, ese nivel de riesgo no es adecuado para usted.
