Triggers
MQP is configured per account with two parameters:- Interval (Y): duration of the rolling time window (e.g., 3s)
- Traded Quantity (X): quantity that may be executed within the interval before MQP triggers (e.g., 10)
Rolling Interval Semantics
The interval is rolling, not fixed to wall-clock boundaries. At any moment, the system considers executions in the trailing Y seconds when computing the bucket’s traded quantity. As a result:- Executions separated by more than Y seconds do not accumulate toward the same trigger
- Executions clustered within Y seconds do accumulate
Bucketing and Scope
MQP tracking is done per bucket, where a bucket is defined as:clord_link_id value. Orders submitted without a clord_link_id (blank / missing) are still subject to MQP. They are tracked in their own bucket:
What MQP Cancels
When MQP triggers for a given bucket, the matching engine cancels all remaining eligible resting orders in that same bucket:- Same account
- Same
clord_link_id(or blank bucket) - Regardless of instrument
- Regardless of side (buy/sell)
- Same account but different
clord_link_id - Same
clord_link_idbut different account
Execution and Cancel Timing
MQP is applied as part of the matching process:- The execution that causes the bucket’s traded quantity to reach or exceed the threshold is processed normally.
- Once MQP triggers, the matching engine cancels remaining eligible resting orders in that bucket.
Reset Behavior
After MQP triggers and cancels orders in a bucket, the bucket’s rolling interval tracking is reset immediately. The account may reuse the sameclord_link_id and continue trading without automatic cancellation unless and until the threshold is reached again in a new interval.