GT Order

Both sell and buy sides need to maintain a database of all open GT orders.

Code below demonstrates how sell side synchromizes GT orders by sending the GT order to buy side in "Execution Report" messages, at the begining of the trading day.

    FIXSessionOrderManager curSessionOM = FIXOrderManager.getSessionOrderManager(curSession);
    if (curSessionOM != null// Order management is supported on this session
        curSessionOM.setGTOrderHandler(sessionGTOrderHandler);

GT handler also needs to implemented to check GT orders during recovery process in case recovery does happen.

    static FIXSessionOrderManagerGTOrderHandler sessionGTOrderHandler = new FIXSessionOrderManagerGTOrderHandler() {
        public FIXOrderType queryRestatedGTOrder(FIXMessage executionMessage,
                FIXEngineMessageHandlerStatus status) {
            // Note in this demo we assume every execution with unknown ClOrdID is a restated GT order.
            return FIXOrderType.SINGLE;
        }
    };