The Lab

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Warning

The trading interface of the Classic 3.14.0 SBE protocol should not be used.  It is best practice to use Classic MFAPI for trading.



The MFTradingHandler interface specifies callbacks for each message type generated by an
MFTradingSession objectan MFTradingSession object.


Sequence Numbers

  • These message types have sequence numbers from the server: OrderCancelReject, ExecutionReport
  • Sequence numbering starts at 0
  • Set your NextExpectedMsgSeqNum in the TradingSessionStatusRequest message
  • If you detect a gap in sequence numbers the appropriate action is to disconnect and reconnect. Use the TradingSessionStatusRequest message
    to send your NextExpectedMsgSeqNum and get a replay of any missed message(s).

Replay

  • Note: The ResendRequest message is deprecated. Clients should not send it. This message only exists in the mfproto-trading.xml schema. The published APIs do not provide the ability to send this message.
  • To get a replay of a missed message or messages - disconnect and reconnect. Then use the TradingSessionStatusRequest message to send your NextExpectedMsgSeqNum and get a replay of any missed message(s). 
    • If your NextExpectedMsgSeqNum is greater than the server has sent - you will receive a TradingSessionStatus message with a TradingSubscriptionStatus=messageNextExpectedMsgSeqNumTooHigh
    • If your NextExpectedMsgSeqNum is less than the server has sent - you will get a replay starting at that message to the end of available messages
    • If your NextExpectedMsgSeqNum is equal to the what the server has then you are in sync and no replay will happen.


Order Filled

  • When an order is filled you'll receive an ExecutionReport with OrdStatus=Filled and ExecType=Trade. Immediately after you'll receive an extra ExectuionReport with OrdStatus=Filled and ExecType=Restated. This extra message can be ignored - it is there only to represent the Classic API OrderDoneMessage that is sent after the final TradeCaptureMessage and ensure contiguous messaging sequence numbers.