Menú
VisionAlert Guía

Solución de problemas#

Los casos más habituales, del más frecuente al menos. Casi siempre la respuesta está en la pestaña Expertos de MetaTrader, en el registro del servicio o en service/logs/triggers.jsonl.

El EA se carga y al momento sale "removed"#

Abre la pestaña Expertos (no Diario) de la ventana Terminal: el EA escribe ahí por qué se descargó.

  • VisionAlert: descargado. Motivo: … indica la causa (inicialización fallida, plantilla aplicada, gráfico cerrado…).
  • VisionAlert no arranca: 0 pares…: no encontró ningún par. Revisa los pares de la estrategia (o InpSymbols) y InpSymbolSuffix. La línea símbolos no encontrados en este broker dice cuáles faltan.
  • array out of range, zero divide y parecidos son errores del código: cópialos con su número de línea.

No llegan trabajos al servicio#

  • Trading automático desactivado: el botón de la barra superior tiene que estar en verde y el icono del gráfico, sonriente.
  • Es el primer cierre: el primer cierre de vela tras arrancar solo sirve de referencia. El EA manda desde el segundo.
  • El par no tiene niveles: si todas tus reglas tienen Toque de zona, un par sin zonas dibujadas no manda nada (es el prefiltro needs_levels).
  • La temporalidad no está vigilada: revisa Estrategia › Gatillo › temporalidades, y ejecuta TK_StrategyCheck para ver lo que toma el EA.
  • mt4_files_dir apunta a otro sitio: tiene que ser la carpeta MQL4\Files de ese terminal (Archivo → Abrir carpeta de datos). Comprueba que aparecen archivos en VisionAlert\queue.

Llegan trabajos pero no hay análisis#

Es lo normal cuando ninguna regla dispara. Mira service/logs/triggers.jsonl: cada cierre de vela tiene una línea con el motivo ("sin patrón de vela a favor", "fuera de 08:00-12:00", "en enfriamiento"…). Cómo leerlo.

  • 👁 Previsualizar en la pestaña Estrategia evalúa tus reglas con la última vela recibida y dice, regla a regla, por qué no disparan.
  • Si hay análisis pero no avisos, el motivo está en decisions.jsonl: la IA no vio un patrón completo, o algún umbral de Decisión no se alcanzó.
  • Si un trabajo se rechaza, queda como <id>.error en la cola y el motivo va al registro y a decisions.jsonl.
  • Falta OPENROUTER_API_KEY o no tiene saldo: el registro del servicio lo dice. /resumen muestra el saldo de OpenRouter.

No llegan las push de MetaTrader#

  • Revisa el MetaQuotes ID en Herramientas → Opciones → Notificaciones.
  • Si ves SendNotification falló en Expertos, las notificaciones no están habilitadas.
  • InpMtPush del EA y mt_push.enabled del servicio tienen que estar activos. MetaTrader limita a una push cada pocos segundos.

No llegan los mensajes de Telegram#

  • TELEGRAM_BOT_TOKEN en el .env y telegram.chat_id en config.yaml: el chat tiene que ser el tuyo con el bot (el número de message.chat.id).
  • Escríbele al bot /ayuda: si no responde, el servicio no está corriendo o el token no es válido.
  • Los envíos fallidos quedan en notifications.jsonl.

La Mini App no abre#

  • "Abre la app desde tu bot de Telegram" fuera de Telegram es lo normal: sin la firma de Telegram no hay datos.
  • No carga en Telegram: comprueba que https://app.tudominio.com abre en el navegador con candado. Si no, revisa el registro DNS, que Caddy esté en marcha y que los puertos 80 y 443 estén abiertos.
  • webapp.public_url tiene que empezar por https:// (el servicio no arranca si no) y ser el mismo dominio del Caddyfile.
  • El botón de menú no se llama TraderKit: reinicia el servicio con webapp.enabled: true y vuelve a abrir el chat.
  • Solo salen Estrategia y Simulador: es lo normal sin TK_Executor en el MT4 de VisionAlert.

Sandmarket no responde#

  • /simulador dice el estado: la sesión vigilada y su reloj, o el error.
  • El token: SANDMARKET_TOKEN en el .env, con alcance Lectura y avisos. Si lo revocaste, crea otro.
  • sandmarket.base_url tiene que ser la API de tu Sandmarket, alcanzable desde el VPS.
  • No hay sesión abierta, o session_id apunta a una que ya no existe: usa auto.
  • Se analiza pero el replay no espera: activa Esperar a los flujos en la sesión y sube el tiempo máximo si la IA tarda más.
  • No salta nunca: mira por qué no salta.

Los EAs siguen con la estrategia anterior#

  • La pestaña Estrategia dice qué EA sigue con una versión anterior. Espera unos segundos: VisionAlertEA y OrderGuard releen cada 15 s, TK_Executor cada segundo.
  • Comprueba que el terminal está en config.yaml (mt4_files_dir o terminals) y que existe Files\TraderKit\strategy.json.
  • Con InpUseStrategy = false, el EA usa sus inputs y no la estrategia.