8 votos

Uso de QuickFIX en un proyecto en C

QuickFIX es una conocida implementación de código abierto del protocolo FIX. Esta librería ha sido portada a numerosos lenguajes, aunque por el momento me estoy concentrando en la implementación en C/C++.

Lamentablemente, no sé nada de C++ pero mis conocimientos en C son bastante altos (nivel profesional). Mi objetivo es desarrollar un sistema de gestión de pedidos que estará basado en QuickFIX. Me gustaría que mi sistema fuera lo más rápido posible y estuviera bien diseñado. Como no quiero producir un producto desordenado, preferiría implementarlo en C.

Así que mi pregunta es bastante simple: ¿Es posible utilizar QuickFIX en un proyecto C? He estado tratando de averiguar esto sin éxito. No he logrado encontrar ninguna información en línea. Agradecería que alguien pudiera aportar su experiencia o al menos indicarme la dirección correcta.

4voto

Greg Hurlman Puntos 10944

El QuickFIX canónico es muy C++. Tiene clases para los tipos de mensajes y utiliza patrones de fábrica para muchos de los componentes auxiliares. Requiere que los usuarios sobrescriban las funciones virtuales para definir las llamadas de retorno de la comunicación. Incluso utiliza excepciones para señalar ciertos cambios de estado deseados, tanto si hay un error como si no.

La mayoría de los enlaces de otros lenguajes para QuickFIX son envoltorios de la versión C++. (La excepción es Java, para el que existe un Reescritura completa .) Definitivamente, no hay enlaces en C que vengan con el código fuente canónico. Así que si no puedes encontrar un conjunto de enlaces en línea, tendrás que escribir el tuyo propio.

0 votos

Gracias por su respuesta. Parece que he captado su idea. Si va por este camino, tal vez tendré que escribir mi propio enlace, es decir, un intermediario C++ entre QuickFIX y mi sistema de mercado de órdenes.

4voto

No es exactamente QuickFIX pero mira libtrading . Tal vez puedas adaptarlo a tus necesidades.

Del README:

libtrading es una biblioteca para el comercio electrónico. Su objetivo es dar soporte a los datos de mercado y a los protocolos de red de entrada de órdenes utilizados por los centros de negociación de todo el mundo.

0 votos

Muchas gracias. Sin duda, estas alternativas son muy útiles. Al menos, podrían inspirarte para implementar el protocolo FIX por ti mismo :)

0 votos

Sí, efectivamente. Yo mismo estoy trabajando en un convertidor fixml<->fix<->memory (código abierto, C, licencia BSD) pero no está ni mucho menos terminado. Actualizaré mi respuesta una vez que lo considere listo para su uso público.

-1voto

Steve Puntos 11

El conocimiento de C++ es clave para tratar estos protocolos de información, ya que chrisaycock El sistema QuickFIX utiliza clases para muchos aspectos de la comunicación.

Y QuickFIX no es exclusivo en este sentido, todos los demás protocolos de comunicación e intercambio de información están en C++ y utilizan muchas características del lenguaje C++ que son exclusivos a C++ (como las clases y otros artefactos de un lenguaje que soporta la programación orientada a objetos).

Aunque al mismo tiempo escribir tu propio motor para tratar con el protocolo FIX es ambas cosas:

  1. No es nada raro: la mayoría, si no todas las empresas de negociación algorítmica al menos alterar el protocolo FIX, escribiendo su propia versión del motor a efectos de optimización y personalización.
  2. Probablemente sea necesario: al igual que en el caso anterior, si otras empresas lo hacen, usted también tendrá que hacerlo. El lenguaje que decida utilizar es completamente su elección, o en un contexto más amplio es el elección de la empresa . Soy consciente de que está haciendo esta pregunta como individuo, sin embargo, pensé que iba a proporcionar esa visión de todos modos.

Aunque puede se haga en C, realmente no hay razón para hacerlo. Ninguna empresa del sector utiliza C en lugar de C++ para esto.

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