1 votos

FIX El mensaje Heartbeat no se envía

Estoy utilizando FIX4.3 y QuickFIX/n v1.0.0 para su implementación.

Me encontré con una situación en la que me había suscrito a los datos del mercado y estaba recibiendo con éxito el mensaje de instantáneas, pero de repente toda la comunicación con la sesión del mercado se detuvo y no recibí más instantáneas del servidor en la sesión de datos del mercado.

Cuando pregunté al servicio de asistencia técnica me dijeron que no habían recibido ningún latido de mi parte, así que cerraron la conexión.

Cuando miro mis archivos de registro FIX veo que el tiempo entre mi último latido y la última instantánea del servidor es inferior a 60 segundos. Y tampoco he recibido ningún mensaje de cierre de sesión del servidor.

Además, durante todo este tiempo mi Sesión de Pedido se mantuvo conectada con un mensaje de latido adecuado.

Mis preguntas son:

  1. ¿Qué puede haber causado que el sistema no envíe un mensaje de Heartbeat de corazón?

  2. ¿Es normal que el servidor cierre la conexión al faltar 1 mensaje de latido? Tengo entendido que en caso de que no haya latido del cliente, el servidor enviará una solicitud de prueba.

  3. Utilizando QuickFIX/n ¿cómo puedo asegurar mi mensaje periódico de latido?

  4. ¿Cuál es el mejor intervalo de tiempo para los latidos del corazón? a 60 segundos)

1voto

Markus Olsson Puntos 12651

Teniendo en cuenta la información facilitada en su pregunta y su posterior seguimiento, creo que la cuestión es la siguiente:

Los latidos que envía son una buena práctica, pero son irrelevantes con respecto a su problema específico. Parece que tu broker envía periódicamente "heart beats" (= peticiones de prueba) por su cuenta y si tu aplicación no responde entonces se desconecta. Yo no confiaría totalmente en la versión específica de Fix (build) sino que preguntaría al broker qué mensaje específico se envía a través de FIX y qué esperan de vuelta para mantenerte vivo. Lo más probable es que tenga que responder con un mensaje para reconocer la "solicitud de prueba". Lo más probable es que eso resuelva su problema.

En cuanto a sus otras preguntas:

1) Tú mismo has respondido a eso, realmente enviaste los latidos y el corredor los recibió, por lo tanto no hay problemas aquí.

2) ...que el servidor hizo (enviando una petición de prueba). Asegúrate de que entiendes que hay una diferencia entre que tú envíes latidos y que el broker envíe sus propios latidos.

3) Ver 1) no hay problema, usted los envió, fueron recibidos

4) Depende totalmente de la frecuencia de sus operaciones. Obviamente, antes de enviar los mensajes FIX usted quiere asegurarse de que la conexión está viva, aparte de eso, si usted negocia con alta frecuencia, 60 segundos es demasiado infrecuente. Si la frecuencia de sus operaciones es mucho menor, entonces 60 segundos pueden ser suficientes.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X