How do i handle communication between FIX engines of different version
I am developing a trading engine and i have to use开发者_如何学C FIX engines. If i use a FIX engine of a higher version can it communicate with a FIX engine of a lower version ?
Are there any FIX engines capable of automatically converting the request to a lower version in case they are communicating with a lower version FIX engine ?
Which version of FIX should i use ?
I am developing a trading engine and i have to use FIX engines. If i use a FIX engine of a higher version can it communicate with a FIX engine of a lower version ?
Yes. Many financial institutions still use the FIX 4.4 and 4.2 versions. And many stock exchanges use FIX 5.0. So there is backward compatibility between them to support the older versions unless and until everybody moves to the same version.
Are there any FIX engines capable of automatically converting the request to a lower version in case they are communicating with a lower version FIX engine ?
Automatically no. It doesn't happen that you input a FIX 5.0 message and you get a FIX 4.2 message. You have to accept a FIX 5.0 message and parse the message and convert it to a FIX 4.2 message. Quickfix is one open source library. There is Cameron, but not open source. You have to do it for all messages, but more specifically for messages you want to support. Some message structures are still same so shouldn't be a big bummer.
Version you need to use is dependent on the clients you need to exchange messages with. Should ask what version they use or are intending to migrate to ?
精彩评论