Workflow
Submitting a stop limit order
Client → Server
- Sends a New Order Single Stop Limit
<D>
message with:- OrdType
<40>
set to4 = Stop Limit
- StopPx
<99>
value that is:- less than or equal to Price
<44>
on Side<54>
=1 (Buy)
, or - greater than or equal to Price
<44>
on Side<54>
=2 (Sell)
- less than or equal to Price
- OrdType
Does Gemini accept the order?
-
Yes: Order is accepted for initial processing
- Server → Client: Sends an Execution Report
<8>
for a new order with:- ExecType
<150>
set to0 = New
- OrdStatus
<39>
set to0 = New
- StopPx
<99>
set to the sameStopPx
value provided on entry
- ExecType
Has a trade occurred that would trigger your stop order?
- Yes: The stop order triggers
- Server → Client: Sends an Execution Report
<8>
message with the child limit order details
- Server → Client: Sends an Execution Report
- No: The stop order remains hidden and resting until triggered by a qualifying trade, or until cancelled
Is the limit order marketable?
- Yes: The server executes one or more initial fills
- Server → Client: Sends an Execution Report
<8>
for each fill or partial fill - Does the order have remaining quantity?
- Yes: The server puts the remaining quantity on the order book
- No: The server closes the order
- Server → Client: Sends an Execution Report
- No: The server puts the entire quantity of the order on the book
- Server → Client: Sends an Execution Report
-
No: Order is rejected
- Server → Client: Sends an Execution Report
<8>
indicating the order was rejected with:- ExecType
<150>
set to8 = Rejected
- OrdStatus
<39>
set to8 = Rejected
- ExecType
- Server → Client: Sends an Execution Report