The Order Set area is where the entry, profit target, and stop-loss orders are defined. An order set that has both a profit target and stop-loss are always connected as an OCO set. OCO is short for One-Cancels-Other. When one of those orders is filled the other order is canceled. Cancelation of the other order is managed by either the exchange or your broker, Not by BlackBird. Multiple order sets can be created, and are automatically named A, B, C, D, etc. Unlike the ATM, each order set can have a different entry order type and price, when using a Limit or Stop order, which provides a way to average in or create a break-out entry. Each order set can mix and match any order types you wish. The first step is to select the entry order type.
Order Management Options
These options setup various management controls for the number of contracts, and auto-trading safeguards and constraints.
The number of contracts, for each order set, is selected in the left blue area. The name of the order set can be changed by clicking on the letter in the right blue area. Then, change it in the Name field.
These options ensure the profit target or stop-loss orders are kept within a minimum distance or maximum distance from the entry price.
The safeguards are primarily necessary when using indicators to dynamically calculate a order’s distance from the entry price. It is possible the indicator could place the order to far or to near to the entry price.
The safeguards can also be helpful for discretionary traders who will use the Dynamic Planner and manually move the stop-loss or profit target to support/resistance areas, before executing the trade.
Start creating your OCO order by first selecting the type of entry order you desire to use. NinjaTrader 7 supports Market, Limit, and Stop order types. See Order Options tab for an explanation of the Automatic Order Type.
Profit Target Order
Next, setup the profit target. If you want to create a “runner” contract, without a profit target, then leave this setting blank. NinjaTrader 7 only supports the Limit order type.
Lastly, setup the stop-loss. NinjaTrader 7 supports Limit and Market order type.
Important Stop-loss InfoSome instruments Do Not support stop-loss Limit order types. This is controlled by the exchange. If you setup your stop-loss as a Limit and try to use it on an instrument that does not support the Limit order type it will get rejected by the exchange, and your position will not be protected by a stop-loss. NinjaTrader and BlackBird will not rectify or correct this issue. Check with your broker and/or NinjaTrader to verify which instruments support stop-loss Limit orders.
Where do the Orders Reside?All order reside at the exchange and broker. E.G. Limit entry orders, profit targets, stop-losses, etc. If there is a crash, those orders still remain at the exchange/broker. However, trailing functionality will cease and can not be restored when BlackBird and/or NinjaTrader loses connection with the orders. NinjaTrader does not have the ability to re-connect BlackBird to the orders once the connection is broken.
Order Options tab
Clicking on any order will open the Options window. This is where you setup the initial information about the order.
NinjaTrader 7 version
NinjaTrader 8 version
Trailing Actions tab
This component is another major feature that sets BlackBird apart from all other strategies in its class. Trailing Actions allow you to create rules that automatically move orders in any direction. Trailing rules consist of three events that occur in the following order: First, the rule waits for the Trigger On condition/event to occur. Then the Action will move the order, and Repeat defines how long a trailing rule will run and how often.
Trailing Rule Components
Trailing an order is a sequence of steps that determines when and the new price an order is moved to. BlackBird breaks this sequence into 3 steps.
Step #1(Trigger On). Are there any conditions that must occur before moving the order. i.e. 10 ticks of profit must be made before moving the order to breakeven. This is the Trigger On column.
Step #2(Action). Calculate the new price the order is to moved to. This is the Action column.
Step #3(Repeat). Should this process repeat again to keep moving the order. This is the Repeat column.
The ✖ button, on the far right edge, will delete a trailing rule.
This field is where a custom name is typed for the trailing rule, as a reminder of what the rule does. The rules are automatically named Rule A, Rule B, Rule C, etc.
Initial Delay (NT 7)
In NinjaTrader 8, Delays have been merged into the Trigger On option. This documentation remains for NinjaTrader 7 users of BlackBird.
This option provides various ways to add a delay before a trailing rule can execute. Or, a waiting period before canceling an entry order if not filled.
Trigger On (#1)
The NT 8 version has the Delay option merged into the Trigger On menu. This option provides various triggering conditions, which act as a prerequisite prior to moving an order. Once the Trigger On condition(s) has occurred the trialing rule is activated, and remains active for the remainder of the trade, in accordance with the Repeat settings. If this option is set to None, the trailing rule is immediately activated and the Action will begin moving the order.
See the Trigger conditions (#1) section below for more detailed information on each type of trigger.
This option is typically used to move an order to a new price, such as trailing a stop-loss behind price. Or, move an entry order closer to price making it easier to fill. Actions can do more then move orders. There are various alert options that can be performed as well, such as placing a chart marker on the chart.
If you wish to perform two actions, such as move a stop-loss and send an alert when the stop-loss moves, then two identical trailing rules must be created with different actions.
This option sets the number of times a trailing rule is repeated (executed). Thus, placing a limit on how many times the Action can move an order or send an email. Some rules you may only want to execute once, or only when the Trigger On condition/event occurs.
Trigger conditions (#1)
There are various triggers available for building conditions that activates a trailing rule. Once the Trigger condition(s) has triggered it stays activated, and the Action (#2) will continue to execute for the remainder of the trade.
E.G. If using the Indicator Value trigger, and the condition is setup to identify when the MACD is above the zero line (and then a stop-loss can start trailing). The first time that condition occurs the Action (#2) will keep executing(moving the order) for as long and as often as the Repeat (#3) settings will allow.
† BloodHound Signal, Indicator Value, Trade Signal Trigger, & Price vs Indicator options use indicators and therefore the timing of when they are evaluated/triggered is determined by the Calculate setting (found in the Chart » Strategy window).
I.E. If Calculate = ‘On bar close’ (NinjaTrader’s default setting) those Trigger On conditions are evaluated when the bar closes, not intrabar or real-time. If Calculate = ‘On price change’ or ‘On each tick’ then those Trigger On conditions are evaluated in real-time in accordance with the Incoming Market Data Throttle setting.
This option uses a BloodHound signal to trigger the trailing rule. This option is very powerful, because you can use advanced BloodHound logic to trigger an order movement. See † statement above.
You must own BloodHound for this option to work correctly.
This option looks for an indicator threshold value to activate the trailing rule. See † statement above.
E.G. Wait until the CCI is greater than 200 or less than -200, and then begin executing the rule.
Trade Signal Trigger
This option monitors the trade signals, from the Trade Signal section, as the triggering event that executes the trailing rule.
E.G. If your BloodHound system sometimes gives 2 or more long signals during an uptrend, those additional signals can be used to add more positions on (scale-in). Therefore, if you want to scale-in with a second entry order when BloodHound gives a second long signal, set Mode to In Same Direction, and Signals After 1st Entry to 2.
Price vs Indicator
This option checks if price or indicator is above or below an indicator, and then activates the trailing rule. See † statement above.
E.G. For a long trade, if price drops below a moving average then trigger a rule to tighten the profit target or stop-loss.
Or, if a fast moving average drops below a slower moving average then trigger a rule to tighten the profit target or stop-loss.
Profit or Loss
This option waits for a certain profit or loss amount (similar to the Initial Delay options) and then activates the trailing rule.
Order Status Changed
This option detects when another order has been filled or canceled, and then triggers the trailing rule to run.
E.G. When the first profit target is filled, then trigger the remaining stop-loss to move (to breakeven for example).
Action (#2) » Move Order To
After the Trigger On condition(s) has occurred, then it’s time to move the order somewhere. The whole purpose of a trailing rule is to automatically move an order to another price. These are the various options available for calculating that new price.
Select Input window
This window is used in several areas of BlackBird. It has four types of inputs, as listed below.
Select Mode options
This option moves the order relative to any bar price.
E.G. A common stop-loss trailing technique is to move the stop-loss to the previous bar low, or the low of 2 bars back. This option can reference those bar prices, and more.
This option moves the order to the price of an indicator. There are many 3rd party indicator that calculate profit and stop-loss targets, which this option can take advantage of.
Swing Point Prices
This option moves the order to a swing point price, as calculated by SiSwingsHighsLows indicator.
Linear Regression Channel
This option moves the order to one of the Linear Regression channel lines.
Several menus have an Offset section at the bottom of the window. The Offset feature is used to add or subtract an offset amount from the price calculated in the main section of the menu.