En este artículo
Al terminar, sabrás…
- Distinguir conexión y actualización del símbolo objetivo.
- Interpretar relojes y dos observaciones sin inventar latencia.
- Preparar evidencia y reconciliar solicitudes inciertas.
Conceptos sin salir del artículo
Expert Advisor (EA) Bid y AskConexión, datos y permiso son hechos distintos
MT5 puede estar conectado al servidor y mostrar una cotización demasiado antigua para la decisión de tu EA. Una sesión cerrada, un símbolo equivocado o las condiciones del programa también pueden explicar su silencio. Separa estas hipótesis antes de reiniciar el terminal o repetir una orden. El objetivo es producir un registro diagnóstico del instrumento real y señalar qué evidencia falta, sin enviar una operación de prueba para ver si responde.
TERMINAL_CONNECTED describe conexión con un servidor de trading. No acredita que tu instrumento haya recibido una cotización reciente ni que tengas permiso para operar. Otros símbolos pueden actualizarse mientras el que necesitas conserva una observación anterior. Identifica servidor, cuenta, nombre completo con sufijo y terminal donde corre el programa.
Si utilizas VPS, revisa la instancia remota efectiva. La pantalla local no demuestra que el programa remoto esté activo, detenido o usando el mismo símbolo. Conserva registros antes de reiniciar y establece qué copia controla la cuenta. Desactivar una copia tampoco prueba que otra haya dejado de enviar solicitudes.
Tres lecturas de tiempo, tres preguntas
TimeCurrent dentro de OnTick devuelve la hora del tick manejado. En OnTimer y otros manejadores refleja la última cotización de cualquier símbolo seleccionado en Market Watch. Otra pareja puede actualizar ese reloj sin actualizar la que interesa. TimeTradeServer, por su parte, es un cálculo del terminal que depende de ajustes horarios del ordenador: no acredita llegada de una nueva cotización.
| Lectura | Qué describe | Qué no acredita |
|---|---|---|
| TimeCurrent en OnTimer | Última hora de cotización de Market Watch. | Actualización del símbolo objetivo. |
| TimeTradeServer | Hora de servidor calculada por el terminal. | Llegada de un precio nuevo. |
| SymbolInfoTick del símbolo | Datos y hora de su última actualización. | Aceptación o ejecución de órdenes. |
Solicita SymbolInfoTick para el nombre exacto, comprueba si tuvo éxito y conserva time_msc, Bid y Ask. No restes directamente un reloj local de una marca del servidor sin alinear bases temporales. Una edad negativa, una hora ausente o una lectura fallida son incertidumbre, no una cotización recién llegada. Mantén fecha y referencia original si presentas una conversión Europe/Madrid; el idioma de la página no define el reloj del proveedor.
Un segundo en el reloj general, veinticinco en la pareja
Modelo diagnóstico ficticio: todas las horas pertenecen a un mismo reloj ilustrativo de servidor. Observas a las 12:00:00 desde OnTimer. EUR/USD se actualizó a las 11:59:59 y GBP/JPY a las 11:59:35. La lectura general está un segundo por detrás de la hora del ejercicio, pero los datos de GBP/JPY tienen 25 segundos. Comprobar únicamente TimeCurrent oculta esa diferencia. No son observaciones de un proveedor ni un umbral universal de avería.
TimeCurrent de otra pareja no sustituye la marca del símbolo objetivo.
- EUR/USD
- 11:59:59 ·1 segundo – Puede actualizar el reloj general de OnTimer.
- GBP/JPY
- 11:59:35 ·25 segundos – Necesita su propia consulta y horario.
- Segunda lectura
- 12:00:05 ·30 segundos – Supuesto: misma marca GBP/JPY, sin actualización observada entre lecturas.
Como ejercicio adicional, repite la lectura a las 12:00:05 después de medir cinco segundos con un contador de tiempo transcurrido. Supón que el time_msc del símbolo sigue correspondiendo a las 11:59:35. En la base común del modelo, la edad pasa de 25 a 30 segundos. Esto muestra que esas dos lecturas no observaron una actualización posterior; no mide el retraso de transporte de un tick desde su origen. Tampoco demuestra por sí solo qué servidor o proceso causó la ausencia.
Una lectura sin actualización no determina por sí sola una pérdida monetaria. Para calcularla necesitarías posición, cantidad y precios de ejecución, que estos registros no contienen. Mantén separados el estado técnico observado y cualquier resultado financiero de la cuenta.
Sesión tranquila y programa inactivo no son equivalentes
Compara horario de cotización y de negociación, descansos y avisos de festivos del símbolo. Son comprobaciones separadas. Fuera de sesión puede ser esperable ver un precio antiguo. No apliques las horas de una pareja principal a un índice o metal de la misma lista. Una ausencia repetida durante sesión abierta merece investigación, pero ningún número de segundos sirve para todos los instrumentos y estrategias.
OnTick corresponde al símbolo del gráfico que aloja el EA. Si ya existe un evento NewTick en cola o en procesamiento, no se añade otro del mismo tipo. El número de entradas OnTick en el registro no tiene que igualar el de ticks. Un EA con varios símbolos debe distinguir su gráfico anfitrión de los instrumentos usados en la decisión.
Desactivar AutoTrading impide al EA enviar solicitudes de trading, sin detener sus cálculos. Registra por separado actividad del programa, actualización de datos, condiciones de señal y respuestas. Un mensaje periódico acredita ese mensaje, sin demostrar que hubiera señal de entrada ni permiso para ejecutarla. «Sin señal», «sin datos» y «operación no permitida» conducen a investigaciones diferentes; el silencio genérico no permite elegir entre ellas.
Un registro que permita investigar
Guarda hora de observación y base temporal, servidor y símbolo, conexión, éxito de lectura, marca del tick, Bid/Ask, sesión, estado del programa y última respuesta de trading. Por ejemplo: «12:00:00, reloj del modelo; GBP/JPY; lectura correcta; tick 11:59:35; sesión aún sin confirmar; nuevas entradas pausadas». Marca explícitamente lo desconocido y enmascara datos de cuenta; no incluyas contraseña en una consulta técnica.
Que vuelvan los precios no aclara el resultado de una solicitud anterior. Si hubo respuesta incierta, reconcilia posiciones, órdenes pendientes e historial antes de repetirla. La guía de errores de MT4 y MT5 desarrolla ese paso. Mientras investigas, comprueba por separado exposición y protección aceptada: apagar el EA no confirma SL/TP actuales ni cierra posiciones.
Tres acciones sin enviar órdenes de diagnóstico
- Registra el servidor, símbolo completo y horarios de cotización y negociación de la cuenta relevante. Relaciónalos con fecha y hora de la incidencia para decidir si esperar una actualización en ese momento estaba justificado.
- Toma en demo dos observaciones con resultado de lectura, marca del tick, Bid/Ask, conexión y estado del programa. Mide el intervalo de repetición y reproduce 25→30 segundos del ejemplo; marca campos ausentes y no sustituyas un fallo por edad cero.
- Antes de reanudar solicitudes, reconcilia cuenta y requisito de actualización de tu regla. Conserva registros y exposición restante; si falta evidencia, envía datos anonimizados al desarrollador o proveedor por su canal oficial, sin presentar una causa supuesta como diagnóstico confirmado.
Comprueba lo aprendido
Aprox. 2 minutos de práctica.
Ver respuesta y explicación
Correcto; todavía faltan sesión y requisito de tu regla para valorar su uso.
Más preguntas
¿Un reloj reciente confirma que mi símbolo está actualizado?
Primero identifica función y manejador. Un reloj general puede haber cambiado por otra pareja y una hora calculada no acredita llegada de un tick. Registra símbolo exacto, éxito de consulta y marca de actualización, junto con su horario. Repite la observación con bases temporales compatibles. No conviertas lectura fallida o edad negativa en cero. Así identificas qué falta sin enviar una operación para comprobar si el mercado responde.
¿Cuántos segundos sin tick demuestran una avería?
No hay un límite universal. Los 25 segundos del ejemplo distinguen relojes, sin diagnosticar una caída. Considera sesión, actividad del instrumento, horario y necesidades de tu regla. Puedes definir cuándo pausar decisiones nuevas, dejando claro que es una condición del proceso propio. Tiempo transcurrido por sí solo no identifica fallo de programa, terminal o servidor, ni permite medir el recorrido exacto de un tick desde su origen.
¿Debo reiniciar y reenviar la orden?
Conserva registros y comprueba posiciones, órdenes e historial antes. Si la instrucción anterior pudo llegar al servidor, repetirla puede añadir exposición. Reiniciar no demuestra que nada ocurrió. Separa recuperación de datos, resultado de solicitudes y reanudación del programa. Con VPS identifica también la instancia que reinicias. Las posiciones existentes requieren comprobar protección aceptada con independencia de que el EA siga calculando o pueda enviar nuevas solicitudes.
¿Precio inmóvil y registro silencioso prueban que se bloqueó el EA?
Son evidencias insuficientes. Puede haber sesión cerrada, precio sin cambios o registro que solo escribe determinados eventos. Identifica marca de actualización, gráfico anfitrión, instrumento objetivo y condiciones del programa. Una observación diagnóstica sin operaciones permite comparar lo esperado con lo observado. El recuento OnTick tampoco equivale necesariamente al número de ticks. Conserva lo desconocido para dirigir la consulta sin atribuir responsabilidad antes de identificar la causa.
Fuentes y comprobación
- MQL5: TimeCurrent
Apartados53–80 leídos: diferenciasOnTick/OnTimer y contador de tiempo transcurrido.
- MQL5: TimeTradeServer
Apartados54–81 leídos: cálculo terminal dependiente del reloj del ordenador.
- MQL5: SymbolInfoTick
Apartados61–80 y ejemplo94–107 leídos: éxito y última actualización del símbolo.
- MQL5: OnTick
Apartados70–76 consultados anteriormente en trabajoES: símbolo,cola yAutoTrading.
- MQL5: propiedades del terminal
Tabla56–64 leída:TERMINAL_CONNECTED separado de permisos.
Los cálculos utilizan supuestos explícitos. No sustituyen los datos actuales de mercado ni las condiciones de tu proveedor.
