Unmanaged orders & true broker-native bracket orders

I am using unmanaged orders (IsUnmanaged = true) and would like to clarify whether it is possible to submit a true broker-native bracket order (entry with attached stop-loss and profit-target) as a single atomic operation.

With unmanaged orders, the typical workflow is:

  1. Submit the entry order
  2. Wait for OnExecutionUpdate (or OnOrderUpdate)
  3. Submit stop-loss and profit-target as an OCO pair

In fast markets, this creates a timing window where the entry can fill and price may move significantly before protective orders are submitted. From a risk perspective, I would prefer the entire bracket to be sent upfront and held natively by the broker/exchange, without relying on strategy callbacks.

I am aware that the managed order approach provides built-in safety mechanisms (documented as “Internal Order Handling Rules that Reduce Unwanted Positions”), but these rules prevent submitting both long and short orders simultaneously and limit low-level order control. Because of this, I am unable to use managed orders or ATM strategies for my use case.

My questions are:

  1. Is it possible to submit a true broker-native bracket using unmanaged orders in NinjaTrader 8?
  2. If not, is waiting for OnExecutionUpdate the only supported approach?
  3. Are there any broker-specific connections (CQG, Rithmic, IBKR, etc.) that support native brackets via unmanaged orders?

Those sound like great questions for NT support.
Too bad they don’t participate in these forums.

Have you tried emailing them directly?

PS:
Sounds like you have very tight stops and/or targets.
In fast markets, the best results will always happen
using a VPS close to the exchange. Are you at least
doing that?

PPS:
It’s either OnExecutionUpdate or OnOrderUpdate,
take your pick.

Thanks bltdavid,
This is why I want the orders to be natively submitted to the broker.

Do you maybe know, if managed (as opposed to the un-managed ones) orders will actually be submitting a native bracket order to the broker?

Bracket orders are local only and caused exit issues when NQ was fast moving last year. Back then I also had unoptimized indicators that may have compounded the issue. I wish there was a way to stress test indicators with simulated high tick rate but that’s not possible. Even worse - simulation only updates every 500ms.