Question: ¿Qué significa el mensaje de error «Off quotes» en las plataformas MT4/MT5?
Table of Contents
- «Off quotes» en MT4/MT5: qué significa, cuándo aparece y cómo eliminarlo
- Qué hace la plataforma en segundo plano
- Las situaciones exactas que producen «Off quotes»
- En qué se diferencia «Off quotes» de otros errores conocidos
- Las soluciones exactas que funcionan en la práctica (operaciones manuales)
- Las soluciones exactas que funcionan en la práctica (desarrolladores de EA)
- Por qué la desviación estricta a menudo resulta contraproducente
- Escenarios prácticos y la resolución determinista
- Qué esperar una vez que lo solucione
«Cotizaciones fuera de servicio» en MT4/MT5: qué significa, cuándo aparece y cómo eliminarlo
Las «cotizaciones fuera de servicio» en MetaTrader son un fallo en la disponibilidad de precios. La plataforma rechaza su solicitud de operación porque no tiene un precio válido y negociable en el momento exacto en que intenta ejecutarla. Esta situación puede deberse a una fuente de precios obsoleta o en pausa, a un salto de precios que supera la desviación permitida, a que el instrumento esté fuera del horario de negociación o a una ruta de conexión que no puede entregar los ticks con la suficiente rapidez. La terminal le protege devolviendo cotizaciones fuera de servicio en lugar de ejecutar a un nivel indeterminado u obsoleto.
Esto se aplica tanto a MT4 como a MT5. Puede verlo al abrir, cerrar o modificar posiciones, y también en acciones manuales o cuando un EA envía órdenes.
Qué hace la plataforma entre bastidores
- 1) El terminal toma la oferta/demanda actual que hay en la memoria (el último tick recibido para el símbolo).
- 2) Empaqueta su orden con los parámetros de ejecución, incluyendo la desviación máxima (en MT4) o las reglas de deslizamiento implícitas (en MT5/CTrade).
- 3) Envía la solicitud al servidor de operaciones.
- 4) El servidor comprueba: ¿es el símbolo negociable en este momento?; ¿es reciente el último tick?; ¿hay liquidez en o dentro de su desviación permitida?; ¿han variado los precios??
- 5) Si todas las comprobaciones son satisfactorias, el servidor ejecuta. Si no es así, se produce un error. Cuando el fallo es «no hay cotizaciones aceptables disponibles en este momento», la combinación servidor/terminal devuelve Cotizaciones desactivadas.
Esa es la clave: no hay cotizaciones aceptables disponibles en el momento de la ejecución.
Las situaciones exactas que producen «cotizaciones incorrectas»
- A) El flujo de cotizaciones está obsoleto o momentáneamente pausado
- Qué ocurre: Su terminal no ha recibido un tick actualizado para el símbolo. Esto es habitual durante los minutos de rollover, las aperturas de fin de semana, los breves periodos de escasa liquidez o en los instrumentos exóticos ilíquidos. El precio que aparece en su terminal es real, pero no lo suficientemente actual como para utilizarlo como base para la ejecución.
Resultado: El servidor se niega a actuar sobre esa referencia obsoleta y devuelve cotizaciones fuera de servicio.
Elimine este problema: mantenga el terminal conectado continuamente a una línea estable; evite colocar órdenes en los primeros momentos del rollover diario; prefiera sesiones líquidas para estrategias de movimiento rápido; ejecute EA sensibles a la latencia en un VPS siempre activo y de baja latencia cerca de los servidores de su bróker para que los ticks lleguen sin demora. - B) Su desviación de precio permitida es demasiado estricta para las condiciones actuales
- Qué sucede: Usted establece una desviación máxima (MT4) o un deslizamiento del EA tan ajustado que el precio en tiempo real se ha movido fuera de su tolerancia en el momento en que llegó la solicitud. La liquidez se amplía y cambia durante los picos de noticias y en las transiciones de sesión.
Resultado: El servidor tiene precios, pero ninguno dentro de su desviación permitida, por lo que devuelve cotizaciones fuera de servicio en lugar de deslizarse más allá de sus límites.
Elimínelo: Establezca una desviación realista que refleje el spread típico del instrumento y su comportamiento en su ventana de negociación. Para las divisas principales durante los periodos tranquilos, basta con una pequeña desviación; para el oro, los índices y los periodos de noticias, la desviación debe ser sustancialmente mayor. En MT4, recuerde que las desviaciones se configuran en puntos (en cotizaciones de 5 dígitos, 10 puntos = 1 pip). Ajuste el tamaño en consecuencia. - C) Mercado cerrado o símbolo temporalmente no negociable
- Qué ocurre: Usted envía una solicitud fuera del horario de negociación o durante una pausa programada (algunos CFD tienen pausas diarias). Durante ese tiempo, el mercado no proporciona cotizaciones negociables.
Resultado: No hay precio ejecutable → Cotizaciones fuera de servicio.
Cómo solucionarlo: Realice órdenes durante la sesión de negociación del instrumento. Para las estrategias que se ejecutan sin supervisión, restrinja la ventana de actividad de su EA a los horarios activos del instrumento para que nunca envíe solicitudes en sesiones cerradas. - D) La ruta de conexión no puede mantener el ritmo (latencia, pérdida de paquetes, cortafuegos)
- Qué ocurre: Su terminal pierde conectividad momentáneamente, o la latencia es tan grande que el precio que envió quedó obsoleto antes de que el servidor pudiera actuar.
Resultado: El servidor no ejecutará una referencia obsoleta → Cotizaciones desactivadas.
Cómo eliminarlo: mantenga el terminal en una conexión fiable, incluya el terminal en la lista blanca de su cortafuegos, evite las VPN/proxies agresivas que limitan los paquetes y reubique la ejecución en un VPS cercano al bróker si su línea local es inconsistente. Un ping más bajo y un rendimiento estable reducen directamente las cotizaciones fuera de servicio. - E) El símbolo está activo, pero la frecuencia de ticks es baja
- Qué ocurre: Algunos símbolos imprimen ticks con poca frecuencia. Si su EA se activa con cada cambio de indicador, pero el mercado aún no ha producido un nuevo tick, la orden llega con una cotización más antigua de la que el servidor aceptará.
Resultado: Cotizaciones fuera de servicio debido a la falta de un tick reciente.
Elimínalo: Impulsa la lógica de la orden fuera de ticks, no fuera de eventos solo por temporizador; en los EA de MT4, llama aRefreshRates()
justo antes de enviar; en MT5, solicita el Book/último tick actual y crea la solicitud a partir de ese valor. - F) Ráfaga de flujo de órdenes procedente de usted (o de herramientas de la competencia)
- Qué ocurre: Se envían múltiples órdenes o modificaciones en una micro ráfaga desde clics manuales o EA superpuestos. Para cuando la segunda o tercera solicitud llega al servidor, la cotización referenciada ha cambiado.
Resultado: Una puede completarse; el resto ve cotizaciones fuera de servicio porque el nivel referenciado ya no es válido.
Elimine esto: Serialice las acciones comerciales. Una en vuelo a la vez. Centralice el envío de órdenes en un único EA por cuenta o símbolo, y ponga en cola las solicitudes posteriores para que se activen con el precio más reciente.
En qué se diferencia «Off quotes» de otros errores conocidos
- Recotización: El servidor propone un nuevo precio. Puede aceptarlo o rechazarlo. Las recotizaciones suelen aparecer en los mercados de ejecución instantánea. Las cotizaciones fuera de lugar son un rechazo rotundo porque no hay ningún precio aceptable dentro de sus limitaciones.
- Precio no válido: El precio de su solicitud no tiene el formato o la escala correctos (o está muy fuera de rango), a menudo debido a errores de codificación (dígitos/puntos incorrectos).
- Corredor ocupado/contexto comercial ocupado: Se trata de problemas de canalización/bloqueo. Las cotizaciones fuera de servicio tienen que ver con la disponibilidad de precios, no con bloqueos o carga del servidor.
- Mercado cerrado: Algunas terminales lo muestran explícitamente; el efecto es idéntico: no hay precios negociables disponibles.
Es importante comprender la diferencia porque solo las cotizaciones fuera de servicio apuntan directamente a la actualidad de los precios, la liquidez o la configuración de desviación.
Las soluciones exactas que funcionan en la práctica (operaciones manuales)
- Utilice una ventana de ejecución que se ajuste a la liquidez. Entre durante las sesiones activas para su instrumento.
- Ajuste la desviación máxima a las condiciones. Para los periodos tranquilos en los principales mercados de divisas, una desviación ajustada es suficiente; para los metales, los índices y las noticias, establezca un margen más amplio.
Piense siempre en puntos en MT4. - Mantenga la plataforma en línea y en buen estado. No utilice el modo de suspensión, no utilice una conexión Wi-Fi inestable para la ejecución y mantenga una ruta de firewall limpia.
- Evite los dobles clics rápidos. Envíe una acción, deje que se complete y, a continuación, envíe la siguiente.
Estos cuatro hábitos eliminan la gran mayoría de los incidentes de cotizaciones fuera de servicio para los operadores discrecionales.
Las soluciones exactas que funcionan en la práctica (desarrolladores de EA)
- Construya a partir del precio más reciente justo antes de enviar.
– MT4: llame aRefreshRates()
y extraigaBid
/Ask
del símbolo de la orden inmediatamente antes deOrderSend
.
– MT5: obtenga los precios actuales a través deSymbolInfoTick()
(o los ayudantesCTrade
) justo antes deOrderSend
/OrderSendAsync
. - Establezca el deslizamiento/desviación de forma dinámica.
– Utilice el spread y la volatilidad ATR/tick recientes para calcular una desviación que sea realista para el régimen actual. Los números absolutos que nunca cambian provocan cotizaciones fuera de servicio durante los periodos de mayor actividad. - Lógica de reintento que respeta el movimiento de los precios.
– En cotizaciones fuera de servicio, actualice los precios y reintente una o varias veces con un retroceso determinista (de decenas a cientos de milisegundos). No sobrecargue el servidor; un reintento breve y ordenado tiene éxito tan pronto como llega un tick válido. - Ponga en cola y serialice todas las acciones comerciales.
– Una apertura/cierre/modificación a la vez. Coordine múltiples estrategias con un mutex global (variables globales de MetaTrader o un archivo/indicador) para que solo un módulo pueda estar en la red a la vez y el resto espere una señal de liberación. - Filtrado por tiempo.
– Evite el envío de órdenes durante los minutos de rollover y las interrupciones de instrumentos conocidos. Su EA nunca debe enviar una orden a un libro cerrado o en pausa. - Manejo de símbolos consciente del lugar de negociación.
– Los diferentes símbolos tienen diferentes tamaños de tick y patrones de liquidez. Cuando su motor cambie de instrumento, vuelva a calcular el perfil de dígitos/punto, distancia mínima y desviación para que la primera orden de ese símbolo no falle.
Adopte estas seis prácticas y las cotizaciones fuera de mercado dejarán de aparecer en los registros, incluso en mercados rápidos.
Por qué una desviación estricta a menudo resulta contraproducente
Una pequeña desviación puede parecer una medida de seguridad, pero la determinación del precio no es continua, sino que se mueve en ticks que pueden dar saltos durante las ventanas de mayor actividad. Si exige que las ejecuciones se realicen solo dentro de una banda muy estrecha, le está diciendo al servidor: «Si el precio se mueve mientras mi paquete está en tránsito, rechácelo».» Eso es exactamente lo que impone Off quotes.
Un enfoque sólido permite una desviación que cubre el margen típico más un pequeño margen de movimiento para el símbolo y la sesión que usted negocia. Esto no significa aceptar un deslizamiento descontrolado, sino adaptar su tolerancia a la realidad para que la plataforma pueda realmente ejecutar su orden a un precio válido y actual.
Escenarios prácticos y la resolución determinista
- Cerrar una posición al inicio de la hora (rollover): El libro se reduce, los spreads se amplían y los ticks pueden pausarse. Si insiste en una desviación mínima, su solicitud de cierre se encuentra con cotizaciones fuera de mercado. Solución: amplíe la desviación para esa ventana o cierre un poco antes o después, cuando la liquidez sea estable.
- Operaciones con picos de noticias sobre el oro: El precio salta varios ticks en una ronda de red. El servidor no puede igualar su pequeña tolerancia. Solución: amplíe la desviación y confíe en un único reintento limpio contra el precio actualizado si es necesario.
- Cruce ilíquido en la sesión asiática: Los ticks llegan de forma esporádica. Su EA se activa desde un temporizador en lugar de un tick, por lo que envía utilizando una cotización antigua. Solución: active en ticks o actualice el tick y cree la orden a partir de la instantánea más reciente de
SymbolInfoTick()
. - Wi-Fi local con pérdida de paquetes: La plataforma está en línea, pero pierde paquetes; cuando el servidor recibe la solicitud, la referencia ya no es válida. Solución: traslade la ejecución a una línea cableada o a un VPS con estabilidad probada y ping bajo.
Cada escenario es predecible y cada resolución es una aplicación directa de las reglas anteriores.
Qué esperar una vez que lo solucione
- Las operaciones manuales se completan sin problemas en ventanas líquidas, y las cotizaciones fuera de servicio desaparecen, excepto en casos extremos y poco frecuentes de microbrechas.
- Los EA registran un éxito constante en
OrderSend
; las cotizaciones fuera de servicio desaparecen de los registros del diario/expertos. - Las paradas y los objetivos se modifican de forma fiable porque cada modificación se construye a partir del tick actual y se envía con tolerancias razonables.
- Los scalpers y las estrategias rápidas se vuelven consistentes una vez que pasan a una infraestructura estable y de baja latencia y dejan de luchar contra el libro con ajustes de desviación poco realistas.
Esto no es teórico. Es la forma en que la plataforma está diseñada para funcionar.
- Significado: «Off quotes» es un fallo en la disponibilidad de precios. El servidor se niega a ejecutar porque no tiene un precio actual y aceptable dentro de sus reglas en el momento de la ejecución.
- Causas principales: ticks obsoletos o pausados, desviación estricta frente al movimiento en vivo, sesiones cerradas/pausadas y conectividad débil o ráfagas de solicitudes conflictivas.
- Soluciones manuales: opere en ventanas líquidas, establezca una desviación adecuada, mantenga un terminal estable siempre activo y envíe una acción a la vez.
- Soluciones EA: actualizar los precios inmediatamente antes de enviarlos, ajustar el deslizamiento de forma dinámica, implementar reintentos con retroceso, serializar todo el flujo de órdenes y filtrar por tiempo la ejecución a las sesiones activas.
Aplique estos principios y las «cotizaciones fuera de lugar» dejarán de ser un obstáculo recurrente. Estará ejecutando con precios actualizados, dentro de tolerancias realistas y con un canal limpio, exactamente lo que MetaTrader y sus plataformas necesitan para satisfacerle de forma constante.
- Close