Hola Rafa,
Ante todo gracias por el análisis tan detallado y por tomarte el tiempo de crear dos caminos de prueba, eso ha sido muy útil para detectar recrear exactamente el escenario.
Vamos punto por punto:
1. Filtro IA y Puerta de Confianza no generan trades en el Optimizador
Lo que sucedía es lo siguiente: los modelos de IA (Filtro de Señales, Q-Table del Agente Estratégico, etc.) están diseñados para guardar su aprendizaje en disco (carpeta Common/Files/) y restaurarlo al iniciar, lo cual es fundamental para que la IA no pierda lo aprendido al cerrar y abrir el EA.
Sin embargo, en el modo Optimización del Strategy Tester, MetaTrader ejecuta múltiples pasadas secuenciales, cada una con diferentes combinaciones de parámetros. El comportamiento correcto es que cada pasada se evalúe de forma independiente, partiendo de cero, para que los resultados reflejen con precisión el rendimiento de esa combinación específica de parámetros. Lo que ocurría es que el modelo del Filtro de Señales se guardaba al final de una pasada y se cargaba al inicio de la siguiente. Concretamente, si en la primera pasada el perceptrón del filtro pasaba su período de warmup pero no alcanzaba a entrenarse bien (porque los trades no habían cerrado aún para aprender de ellos), se guardaba con un estado “ya entrenado” pero con pesos insuficientes. Las pasadas siguientes cargaban ese modelo y el filtro inmediatamente empezaba a bloquear señales porque los scores quedaban por debajo del threshold — de ahí los 0 trades.
Poner la confianza en 0 no ayuda porque el bloqueo ocurría en el Filtro de Señales (antes de la Puerta de Confianza). La Puerta de Confianza solo evalúa la confianza si la señal que le llega es true, pero si el filtro ya la bloqueó, la puerta nunca la ve.
Mejora implementada: Para que puedas realizar esta acción y Metatrader no la pueda corromper, hemos actualizado todos los nodos IA (Signal Filter, Strategic Agent, DQN, Actor-Critic, Dynamic SL/TP) tanto para MQL4 como MQL5 para que detecten automáticamente el modo de optimización (IsOptimization() en MT4, MQLInfoInteger(MQL_OPTIMIZATION) en MT5). Ahora:
- Optimización: Cada pasada arranca con estado limpio. No se cargan ni guardan modelos entre pasadas, garantizando resultados independientes y precisos.
- Backtest individual: Sigue funcionando exactamente igual — guarda el modelo al finalizar para que lo uses en demo/live.
- Demo/Live: Sin cambios — carga y guarda modelos normalmente para preservar el aprendizaje continuo.
2. QTable se genera en cada pasada de optimización
Correcto, estaba vinculado al mismo tema. Al no distinguir Metatrader entre backtest y optimización, cada pasada intentaba guardar su Q-Table al terminar. Con la mejora, en modo optimización la Q-Table no se persiste en disco — solo se guarda cuando ejecutas un backtest individual o en operación real, que es cuando tiene sentido preservar el aprendizaje.
3. EAs que aparecen en la cuenta al optimizar
Esto es un comportamiento estándar de MetaTrader y no podemos hacer nada al respecto, es así para todos. Durante la optimización, el terminal crea instancias temporales del EA en el gráfico del tester. Aparecen como “inactivos” en la lista de Expert Advisors del navegador. Se pueden eliminar manualmente sin problema (clic derecho → eliminar), o simplemente ignorarlos ya que no afectan el funcionamiento de tu cuenta.
Regenera tu EA desde el lienzo (actualizando previamente la app) y ya te debería funcionar correctamente con el Filtro IA + Puerta de Confianza tanto en backtest como en optimización.
Tu workflow ideal sería:
1. Backtest individual con el filtro → entrena la IA y guarda el modelo
2. Optimización → evalúa parámetros de forma limpia (sin interferencia de modelos previos)
3. Demo/Live → carga el modelo entrenado del backtest y sigue aprendiendo
Por cierto, muy buen trabajo con las pruebas, la información que proporcionaste fue clave para afinar esta mejora. El trading, en especial el algorítmico/cuantitativo es así, no te frustres porque quien sigue la consigue y cuentas con mi apoyo y el de todo el equipo de Techain para lograrlo y ayudarte en todo lo que podamos. Sigue así.
Un saludo,
Ignacio