I'm developing an order management system (OMS) for educational purposes and need some help with the FIX protocol. I know that OrdStatus (tag 39) and ExecType (tag 150) are primarily used to track the order lifecycle, but I'm a bit confused by all the possible combinations.
What's the best way to implement this? Are there any detailed documentation or implementations (in any language) that explain these combinations clearly?
The pages of the FIX Trading Community should be your first stop, especially https://www.fixtrading.org/online-specification/order-state-changes/#general-order-state-change-matrices
E.g. QuickFIX/J has some examples which simulate a very simple order matcher: https://github.com/quickfix-j/quickfixj/tree/master/quickfixj-examples