ATM Strategies
An ATM (Advanced Trade Management) Strategy is a NinjaTrader template holding your exit plan: profit targets, stop losses, quantity, and rules such as moving the stop to breakeven after a point of profit. You build it once inside NinjaTrader, then reuse it.
CrossTrade's part is simple: an alert can name one of your templates, and the add-on starts it against the order it just placed. NinjaTrader owns the exits from there.
Starting an ATM from an alert
Name the template in the alert's strategy field:
command=place;account=Sim101;instrument=ES 09-26;action=buy;qty=1;strategy=MyAtmTemplate;
The add-on places the order and hands it to NinjaTrader's ATM engine, which then manages the targets and stops defined in that template. Nothing in CrossTrade tracks the exits: your ATM is running in NinjaTrader exactly as if you had started it by hand.
How templates are found
The add-on reads NinjaTrader's ATM template folder directly, at Documents\NinjaTrader 8\templates\AtmStrategy, and treats each .xml file's filename as the template name. That has two practical consequences:
- The name in your alert must match the file name, not any label inside the file.
- A template you just created is available immediately, with no sync step. If the folder does not exist yet, you have no templates saved.
You can list what the add-on can see with the Get ATM Templates API call, which is the fastest way to confirm a name before wiring it into an alert.
Attaching brackets to a running ATM
You can send take_profit and stop_loss alongside an ATM and have them managed by it, using append_atm=true;. The orders move under the ATM strategy rather than sitting beside it, so closing the position or the strategy cancels them together. See Bracket Orders.
Without that flag, bracket orders and an ATM are two separate management systems acting on the same position, which is how positions end up with orphaned working orders.
Do you need one?
No. ATMs are optional and partial use is fine: manage part of a position with an ATM and the rest with CrossTrade bracket orders or exit alerts. The trade-off is where your exit logic lives. An ATM keeps it in NinjaTrader, which means it keeps working when CrossTrade is unreachable, but it also means CrossTrade cannot see or modify those exits.
strategy= and atm_strategy= also work on destination=tradovate;, but they resolve a template stored in CrossTrade, not a NinjaTrader file. CrossTrade expands it into a Tradovate-native bracket when the signal arrives. append_atm= and strategy_id= are NinjaTrader-only. See Tradovate ATM.
Next: Creating an ATM Template.