Posibles Anomalias o Errores

Saludos. Cree un bot usando Senal Libre y el Strategy Agent. Pero le coloque el FIltro IA y el de Confianza. Sin embargo, no abre trades. Use la configuracion por defecto, incluso le baje mas al intervalo de confianza y como sea no funciona. Sin embargo, cree otro bot igual, pero sin los filtros y abre operaciones normales.

No abre trades:

Si abre trades:

Hola Rafa,

Gracias por el detalle de la configuración. El flujo (Señal Libre IA → Filtro de Señales IA → Puertas de Confianza IA → Agente Estratégico IA) y el comportamiento que comentas encaja con el diseño actual del sistema.

¿Por qué no abre trades cuando usas los filtros?

El Agente Estratégico tiene dos modos:

  1. Modo autónomo (Señal Libre directa): cuando detecta que la señal de compra/venta viene directamente del nodo “Señal Libre IA”, opera solo con su propia lógica (Q-Learning) y abre trades según sus recomendaciones.

  2. Modo normal (señal filtrada): cuando la señal llega a través de cualquier otro nodo (Filtro de Señales, Puerta de Confianza, etc.), el agente no considera que sea “Señal Libre”. En ese caso exige dos cosas a la vez: que la señal que llega sea true y que la IA interna apruebe la operación (compra/venta o mantener).

En tu configuración, lo que llega al agente son las salidas de las Puertas de Confianza (variables como value_X o similares). Esas variables no contienen la referencia a “Señal Libre”, así que el agente nunca activa el modo autónomo. Por mucho que bajes el umbral de confianza, el agente sigue en modo normal y aplica ese doble filtro (señal + aprobación interna), lo que hace que sea mucho más difícil que se abran operaciones. Por eso el mismo bot sin filtros (Señal Libre → Agente directo) sí abre con normalidad.

Solución:

Si quieres que el Strategy Agent opere en modo autónomo con Señal Libre (como cuando quitas los filtros), debes conectar directamente:

Señal Libre IA → Agente Estratégico IA

sin el Filtro de Señales ni las Puertas de Confianza en medio. Así el agente detecta correctamente la Señal Libre y abre trades según su lógica interna.

Si en cambio quieres usar filtros de calidad (Filtro de Señales y/o Puertas de Confianza), conviene alimentarlos con señales que vengan de estrategias o nodos que generen señales discretas (por ejemplo cruces de medias, RSI, etc.), no de Señal Libre. En ese caso el agente actuará en modo normal y filtrará esas señales externas.

En resumen, no es un fallo del bot, al poner Filtro IA y Puertas de Confianza entre Señal Libre y el Agente, el sistema deja de tratar la configuración como “Señal Libre” y pasa a modo normal, por eso deja de abrir como cuando va directo.

Un saludo,

Ignacio

2 Me gusta

Agregando a la confirmacion anterior. Seria valido este modelo? Le he agregado filtro de Hurst para que solo opere cuando esta “o por debajo de 0.45 o por encima de 0.60” y el filtro de Entropia Shannon para que solo opere “cuando esta por debajo de 0.60”. Ademas del Nodo Predictor para que solo abra operaciones basado en el Senal Libre, pero si la prediccion es Alcista (para compras) y Bajista (para ventas). O el Nodo Senal Libre estaria de mas aqui?

1 me gusta

Gracias por toda la explicacion. Voy a recapitular y mostrar ejemplos, a ver si entendi todo.

  1. Estaria correcto entonces este modelado? Generaria trades?

  1. Dices que a nivel de Senales de IA puedo conectar a estos nodos: Random Forest, SVM y Predictor Neural. Dado lo anterior, puedo conectarlos a Filtro de Senal IA + Puerta de Confianza o debe ser por ejemplo, Random Forest + Puerta de Confianza (sin Filtro de Senal)? Te dejo debajo algunos ejemplos a ver si estoy en lo correcto:

Opcion 1: Correcta o Incorrecta?

Opcion 2: Correcta o Incorrecta?

Opcion 3: Correcta o Incorrecta?

Hola Rafa,

Buen trabajo con el diseño del modelo. Vamos a analizarlo punto por punto:

1. Filtro de Hurst (< 0.45 OR > 0.60) - Correcto

Excelente elección. Al usar dos nodos Umbral con un O Lógico, estás evitando la “zona de caminata aleatoria” (entre 0.45 y 0.60), donde el mercado no muestra un comportamiento predecible. Solo operas cuando:

  • H < 0.45: Mercado en reversión a la media (mean-reverting)

  • H > 0.60: Mercado en tendencia persistente (trending)

Esto es técnicamente sólido porque ambos regímenes tienen patrones explotables, a diferencia de la zona intermedia. Quizás sería interesante entrenar el Bot IA con uno y otro escenario, en lugar de con los dos a la vez, para que el aprendizaje sea más especializado.

2. Filtro de Entropía de Shannon (< 0.60) - Correcto

Al filtrar por entropía baja (< 0.60), te aseguras de que el mercado esté en un estado de orden/flujo predecible. Valores altos de entropía indican caos/incertidumbre donde las predicciones del modelo pierden fiabilidad. Es un buen complemento al filtro de Hurst. Especialmente para un H > 0.60.

3. Sobre el Nodo Señal Libre IA - Aquí está el punto clave

El nodo Señal Libre IA no genera señales de trading reales, sino que actúa como un interruptor de modo: cuando está conectado al Agente Estratégico IA, activa el modo autónomo. En este modo:

  • El Agente Estratégico toma decisiones propias basándose en su Q-Learning (aprendizaje por refuerzo), es como si lo liberases.

  • Las condiciones externas que le llegan (Predictor + filtros de Hurst y Shannon) pasan a ser solo “hints” suaves que ajustan ligeramente las probabilidades de acción (un ~10% de influencia), en lugar de ser condiciones estrictas

Esto significa que si tu intención es que el sistema SOLO abra operaciones cuando TODOS los filtros se cumplan (Predictor Alcista + Hurst OK + Shannon OK para compras, y Predictor Bajista + Hurst OK + Shannon OK para ventas), entonces sí, el nodo Señal Libre estaría de más y deberías eliminarlo.

De esta forma:

  • Compra: Solo cuando el Predictor dice Alcista Y Hurst fuera de zona aleatoria Y Shannon < 0.60

  • Venta: Solo cuando el Predictor dice Bajista Y Hurst fuera de zona aleatoria Y Shannon < 0.60

  • El Agente Estratégico respetará estas condiciones como filtros estrictos y optimizará los parámetros de cada trade (SL, TP, lotaje) con su Q-Learning

Alternativa (con Señal Libre):

Si quieres mantener el Señal Libre, el sistema funcionará pero de forma diferente: el Agente operará de forma autónoma con su propia inteligencia (Q-Learning), y los filtros del Predictor + Hurst + Shannon solo lo “guiarán” suavemente. Esto puede ser útil si confías más en el aprendizaje del agente que en las señales del Predictor, pero perderás el control estricto de las condiciones de entrada.

Un saludo,

Ignacio

1 me gusta

Hola Rafa,

Buenas preguntas. Vamos una por una:

Pregunta 1: El modelo con Media Móvil + Cruce + Filtro de Señales + Puerta de Confianza - CORRECTO

Sí, ese modelo está bien construido y generaría trades. No veo los valores, pero entiendo que el flujo es:

  1. Media Móvil rápida + Media Móvil lenta generan los cruces

  2. Cruce Alcista (crossover) detecta cuando la MA rápida cruza por encima de la lenta (señal de compra)

  3. Cruce Bajista (crossunder) detecta cuando la MA rápida cruza por debajo de la lenta (señal de venta)

  4. Ambas señales entran al Filtro de Señales IA, que las evalúa con un perceptrón analizando el contexto del mercado (RSI, ATR, ADX, Bollinger, etc.) y aprende de los resultados de trades anteriores. Solo deja pasar señales que superen su umbral de calidad

  5. Las señales filtradas + su valor de confianza pasan a las dos Puertas de Confianza IA (una para compras, otra para ventas), que aplican un umbral final de confianza mínima (por defecto 70%)

  6. Las señales que pasan ambos filtros llegan al Agente Estratégico IA como condiciones de compra/venta

Es un pipeline sólido de 3 capas de filtrado antes de ejecutar. Es cierto que es estricto y frenará muchas órdenes, pero cuando finalice el aprendizaje podría ser un buen bot.


Pregunta 2: Conectar Random Forest al pipeline

Sí, puedes conectar Random Forest, SVM o Predictor Neural al Filtro de Señales IA y/o Puerta de Confianza IA. Todos generan salidas de tipo condition (buySignal/sellSignal) que estos nodos aceptan.

Ahora, sobre tus 3 opciones:

Opcion 1: Random Forest → Filtro de Señales IA → Puerta de Confianza IA → Agente Estratégico IA – CORRECTA (quizás la más estable)

Este es el orden óptimo. El flujo funciona así:

  • Random Forest genera buySignal y sellSignal basándose en sus árboles de decisión

  • El Filtro de Señales IA recibe esas señales en sus entradas buySignalIn / sellSignalIn, las evalúa con su perceptrón analizando el contexto del mercado, y genera dos cosas: las señales filtradas (filteredBuy/filteredSell) y un valor de confianza (buyConfidence/sellConfidence)

  • La Puerta de Confianza IA recibe la señal filtrada en signalIn y el valor de confianza en confidenceIn. Solo deja pasar la señal si la confianza supera el mínimo configurado

La ventaja: tienes doble capa de filtrado IA - primero contextual (Filtro) y luego por calidad (Puerta).

Opcion 2: Random Forest → Puerta de Confianza IA → Agente Estratégico IA (sin Filtro) – CORRECTA, pero menos completa

Funciona porque el Random Forest tiene una salida confidence (0-100) que puedes conectar directamente al confidenceIn de cada Puerta de Confianza. Las conexiones serían:

  • RF buySignal → Puerta 1 signalIn / RF confidence → Puerta 1 confidenceIn

  • RF sellSignal → Puerta 2 signalIn / RF confidence → Puerta 2 confidenceIn

Funciona, pero pierdes la capa del Filtro de Señales que aporta evaluación contextual adicional con su perceptrón. Es una versión más simple pero válida.

Opcion 3: Random Forest → Puerta de Confianza IA → Filtro de Señales IA → Agente Estratégico IA – FUNCIONA, pero orden invertido

Técnicamente funciona porque los tipos de entrada/salida son compatibles. Pero el orden está invertido respecto a lo óptimo:

  • Aquí primero filtras por confianza del Random Forest (Puerta) y luego evalúas contexto (Filtro)

  • Lo ideal es al revés: primero evaluar el contexto del mercado (Filtro) que genera su propia confianza, y luego aplicar el umbral de calidad (Puerta) sobre esa confianza más refinada

Resumen de las 3 opciones:

Opción Orden Veredicto
1 RF → Filtro → Puerta → Agente Correcta y con potencial
2 RF → Puerta → Agente Correcta, más simple pero sin evaluación contextual
3 RF → Puerta → Filtro → Agente Funciona pero orden subóptimo

La Opción 1 es la más robusta porque el Filtro de Señales IA evalúa el contexto del mercado y genera un valor de confianza más preciso, y la Puerta de Confianza aplica el umbral final sobre esa confianza refinada.

Un saludo,

Ignacio

1 me gusta

Muchísimas gracias! Excelente! Voy a probar seguido.

1 me gusta

Hola, luego de validar cómo funcionaban los nodos, generé otro bot para precisamente confirmar 2 cosas:

  1. Si el Filtro IA y Confianza ya funcionaban haciéndolo de la manera indicada.
  2. Probar el Tester con los nodos IA indicados.

Creé un modelo con el Random Forest + Filtro IA + Confianza + Strategy Agent, con dos caminos, uno para usar el camino de los filtros y otro sin filtro, precisamente para confirmar su funcionamiento.

Lo positivo es que hice un backtest y llenó el QTable. Cuando lo puse a correr en demo, vino con toda la data de las operaciones. Pero esto sin el camino del filtro y confianza.

Sin embargo, el punto negativo es el siguiente:

  1. Fui al Tester y al ir al optimizador y ejecutar con el filtro IA, no genera ningun trade, le puse la confianza incluso en 0 para ver si era eso y nada. Cuando quite el camino del filtro para que no pasara por ahí, sí genera trades, bastantes. Lo hice también igual sólo haciendo 1 backtest y sucedió exactamente el mismo problema.

Dos observaciones:

  1. Cada ejecución de optimización me genera un QTable (si le dejo el mismo magic number solo genera 1 QTable y el del filtro), pero entiendo que por optimizacion no debería generar, sino solo cuando ejecuto un backtest.
  2. Veo que cada vez que ejecuto la optimización se coloca el bot en la cuenta pero sin activar. Puedes ver la imagen.

En fin, es un gran avance y aporte para mí poder arrancar un QTable con data de un backtest. Pero por otro lado te confieso que me siento un poco frustrado con relación al FIltro IA y Confianza. He trabajo mucho, leido y preguntado mucho sobre estos nodos, y al final no logro que funcione.

EA que se pegan al hacer optimizacion (punto 2 de las observaciones):

Bot desarrollado en el lienzo:

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

1 me gusta

Excelente! Muchísimas gracias!

A ti por el apoyo, cualquier cosa comenta sin problemas.

Un saludo,

Ignacio

1 me gusta

Hola. Buenas noches.

Lamentablemente genere nuevamente el bot con los filtros ia y confianza, pero hice el backtest y no genero nada. Y cuando habilito el camino sin filtros, ahi si funciona bien el Random Forest.

:sob::sob: :sob:

Por otro lado, al hacer el backtest se sigue comportando de la manera en que inicialmente le va bien y en los ultimos meses no tan bien.

2025 completo 1H XAUUSD:

Tome solo los ultimos 6 meses del 2025:

1 me gusta

Hola Rafa,

¿Actualizaste la app y lo regeneraste después de la actualización?

Yo lo acabo de probar ahora mismo y genera correctamente el archivo en el backtest:

Revísalo y me dices.

La parte de que gane en ciertos momentos y pierda en otros, es otro tema, ya es de la estrategia. Si tiene un Hurst muy marcado, en ciertos regímenes del mercado no funcionará bien y debes cambiarla utilizando el selector de estrategias por ejemplo.

Un saludo,

Ignacio

1 me gusta

Hola. Si, claro. Cerre y volvi a abrir la pagina. De hecho, elimine el nodo de random y el de senales y lo volvi a poner. Y aun asi no me funciono. De hecho, desde ayer lo tengo puesto tambien en demo y no ha generado ni una operacion todavia. Lo puse en 5M para que fuera mas rapido.

No use Hurst ni nada mas en el backtest, solo el random forest y strategy agent.

1 me gusta

Hola Rafa,

Es raro, ya has visto en el vídeo que si lo genera.

Quizás lo generaste antes de que terminase la actualización, ya que tarda un poco en desplegarse.

Con lo de Hurst, no me refiero a que utilizases el nodo de cálculo del dato, sino, a que quizás tu estrategia tenga un Hurst muy marcado y por ello cuando el mercado cambia de régimen, la estrategia se degrada.

Un saludo,

Ignacio

1 me gusta

Hola. Es que publicaste en el foro la correcion ayer en la manana y yo lo genere el bot en la noche. Hay muchas horas de diferencia.

Una duda, el backtest debe ser visual? es decir, que se vayan viendo las barras corriendo?

Por otro lado, el que tengo en el demo que no ha generado operaciones desde anoche, el Filtro IA dice:

1 me gusta

Hola Rafa,

Puede ser simplemente la caché de tu navegador que no haya actualizado aun.

Ejecuta:

  • Ctrl + Shift + R (o Cmd + Shift + R en Mac) para recarga forzada sin caché en Chrome, Firefox, Safari, etc..

Sobre el backtest, no entiendo bien tu pregunta. Una vez que arrancas el probador de estrategias de MetaTrader, este ejecuta la simulación del mercado sobre los datos históricos, por lo que, debes ver el precio avanzando, efectivamente.

La no generación de señales puede deberse a varios factores, por ejemplo:

  • Si usas un nodo de “Votación”, que no se estén dando 3 o más estrategias a la vez, por lo que no haya votación y no pasen señales. Para mitigarlo puedes subirle el valor del parámetro “Memoria” para que utilice más barras y no sea obligatorio que se den en la misma barra todas las señales.
  • Si usas un nodo de “Entrenamiento” las operaciones se ejecutan virtualmente, es decir, no las verás, está todo registrado en el entrenamiento.
  • Si el bot aun no tiene aprendizaje (es nuevo) será difícil que las señales pasen el filtro de confianza porque tendrán poca confianza.

Es importante hacer todo paso a paso, sobre todo para ir rellenando los entrenamientos etc., y que todo pueda funcionar correctamente, te dejo un vídeo donde lo explico paso a paso:

Un saludo,

Ignacio

1 me gusta

Hola. Lo que decia del backtest en MT5 es que recuerda hay un modo visual donde ves corriendo las barras, y hay un modo no visual donde solo ves la curva del desempeno.

Por otro lado, tratare entonces con lo del cache, aunque anoche apague la laptop y hoy la encendi nuevamente, por lo que deberia tener todo limpio. Pero estoy un poco ansioso con eso, pues ya llevo unos 10 creditos abajo :frowning:

SObre el filtro IA en demo, no tiene nada de entrenamiento ni nada, conectado directo ramdom + filtro ia + agent. No lo he parado para ver si mas tarde empieza a operar. Pero ya lleva unas 12 horas en demo.

1 me gusta

Hola Rafa,

Efectivamente, el probador de estrategias funciona como comentas con ambos modos.

Respecto al caché, el caché de una web puede persistir aunque se apague el PC.

El caché del navegador se almacena en el disco duro (en carpetas específicas del sistema operativo, como en Windows o macOS), no solo en la RAM volátil. Al apagar el equipo, la RAM se borra, pero los archivos de caché permanecen en el almacenamiento hasta que se eliminan manualmente o expiran.

Duración típica

  • Generalmente dura días, semanas o hasta meses, según la configuración del navegador (Chrome, Firefox, etc.).

  • No se pierde con reinicios o apagados, pero se actualiza si el sitio web ha cambiado.

Para borrarlo, usa las opciones del navegador (por ejemplo, en Chrome: Configuración > Privacidad > Borrar datos de navegación).​

De todas formas, si quieres para que pueda verlo en detalle tu caso específico, mándanos un reporte desde el panel de “Reportar” adjuntando el proyecto (el bot) y será más ágil, porque aquí al no ver nada en detalle, no puedo decirte nada más.

Un saludo,

Ignacio

2 Me gusta

Hola, estoy analizando el nodo de Soporte / Resistencia. Veo que el nodo tiene una información que difiere con lo que se muestra en la documentación:

En la Formacion Techain mencionan tres parámetros: Periodo, Fuerza y Método.

Por otro lado, ¿en qué parte del nodo de comparación se puede setear la opción cerca, y en qué grado de cerca sería?

Por último, ¿Esto estaría correcto? Quisiera que en una COMPRA cuando el High de la vela cruce una Resistencia la operación cierre: