Originally Posted By: AndrewAMD
If you don't mind me asking, have you had good experiences with QuickFix?

I ask because while implementing the DTC plugin, I stumbled across this complaint from the Sierra Chart staff:
https://www.sierrachart.com/SupportBoard.php?ThreadID=15382
Quote:
We have a very poor impression of Quick FIX and consider it very substandard quality and buggy.
I'm not sure what kind of bugs they are talking about. They do appear to have strong opinions and think highly of their programming ability.


Frankly I came across two open source C++ FIX engines: fix8 and QuickFIX.

fix8's docs were horrible and hidden in a wiki that needed an account and even with access to them, it was a bitch to get anything working. I gave it a go on Mac at first, where C++ dev is a little less shitty but even there it was horrible. The thought of getting all its dependencies working on Windows put me right off it. I never actually got fix8 to work.

QuickFix had nice clear docs, only depended on OpenSSL (which I already had installed on Mac) and took very minimal effort to get successfully connected to a broker. On Windows, I installed OpenSSL binaries, built QuickFix itself with cmake and got it working with few problems.

I didn't want to pay for one of the commercial options. I'm sure they have better performance and if you buy a support contract they'll do whatever you need but this is a hobby for me, not a profession. Plus, I think anything super low latenc will be wasted on a Zorro plugin; I don't think Zorro can compete with a proper C++ implementation, which for arbitrage at least is pretty trivial.

Anyhow, I'm pretty happy with QuickFix. It's easy to install, easy to use, I haven't run into any bugs, the docs are easy to read and the code I've looked at (mainly session management and settings code) has been pretty clear and tidy.

I think the Sierra Chart people are full of themselves. There's some more feedback here, which is mostly positive: https://quant.stackexchange.com/questions/557/how-fast-is-quickfix