BlackBird Trade Management Templates

Loading & Enabling BlackBird

⚠ Know the Risks of Automated Trading

Computerized, automated trading relies on several hardware and software components to operate, beginning with your computer build (and all the hardware therein), your installation of Windows (which can get sluggish and finicky over time), your installation of NinjaTrader 8 (including any 3rd Party Addons), and any NinjaTrader strategies you may be running (i.e., SharkIndicators Raven or BlackBird). When the strategy receives a ‘signal’ from the BloodHound logic, the strategy then sends an order request to NinjaTrader’s order submission framework, after which NinjaTrader transmits the order info to your brokerage, who must then approve or deny the order. If approved, the brokerage then sends your order to the Exchange. If your order is filled, the exchange notifies your broker, who then notifies NinjaTrader, and then, finally, NinjaTrader updates/notifies the strategy. As this simplified example illustrates, there are several components and entities involved, all of which rely on several different pieces of hardware and software that can randomly fail at any time. The strategy may get out of sync with your position(s) at the Exchange if there is any miscommunication, internet lag time, or server overloading between these components and agents. If you ever suspect that there is an issue with your live orders, use the ‘Flatten Everything’ option in the NinjaTrader Control Center, and then call your broker immediately to verify.

The BloodHound & BlackBird templates discussed herein should not be traded in a live, real-money account. They are for learning purposes, only, and should be traded in a Simulated Account. Please, seek the advice of a financial advisor before risking real money trading (Risk Disclaimer).

Steps to Load & Enable BlackBird

  1. Open the desired workspace: ‘TTP Master …’ (or preferably, use the Ninja Manager to govern the NinjaTrader 8 startup process).
  2. Connect to your data feed(s).
  3. Add BlackBird to the ROE (1) chart.
    1. To Enable BlackBird, or any other strategy, NinjaTrader must be connected to a data feed. If it is disconnected, the strategy dialog window cannot be opened.
    2. To open the strategy dialog window, right-click on the ROE (1) chart and select ‘Strategies…
Strategies option
  1. Double-click on the ‘SharkIndicators’ folder to open it, and then double-click on ‘BlackBird’ to add it to the ‘Configured’ list below.
Strategies Window
  1. Open the BlackBird templates file directory (folder) selection window by clicking in the ‘(BlackBird Settings)’ field (image above).
  2. Double-click on the ‘TRADE THE PLAN’ folder to open it.
BlackBird templates folder
  1. Double-click on the ‘MasterSuite’ folder to open it.
TRADE THE PLAN BlackBird templates folder
  1. Select the file that corresponds to the workspace’s instrument (i.e., ‘MS BB ES’ for TTP Master ES workspace), and click ‘Open’ to load (or double-click the file to load).
MasterSuite BlackBird templates folder
  1. Check ‘Enabled’ to enable BlackBird (last property under the ‘Setup’ heading highlighted in lime green in the image below).
  2. Double-check that the BlackBird properties are set up as desired:

Check out SharkIndicators documentation for BlackBird on THIS PAGE.

Backtest Mode – Set to False (unchecked).

Start Auto Trading On – Set to False (unchecked).

Show Chart Trader – Set to True (checked).

Disable Debug Message – Set to True (checked).

Account – Set to ‘SIM101’ or some other SIMULATED ACCOUNT when testing in real-time (Read DISCLAIMER). Make sure you set it to ‘Playback101’ when testing in Market Replay.

Calculate – When using the BlackBird template for manual entries, this setting is irrelevant, so leaving it to ‘On bar close’ is fine. When loading the BloodHound signals template into BlackBird as the Entry signal, set it to either ‘On price change’ or ‘On each tick’ when using the ‘Signals’ Logic Board and entering intra-bar the second a signal is found. The way BlackBird operates as a Trade Manager to handle the stops and targets is all ‘On each tick’ regardless of the user-defined Calculate mode, so setting it to ‘On price change’ does not exactly save on performance overhead. However, the signal logic that governs the Entry order can be set to ‘On bar close’ when desiring to enter after the close of the bar. Please refer to THIS VIDEO for more information.

Enabled – Set to True (checked) to enable (turn on) BlackBird.

Exit on Close – Set to True (checked) to force BlackBird to close a trade N seconds before the close of the session (30 seconds by default). Since I will occasionally hold overnight, I set mine to False (unchecked).

Time in force Set to ‘GTC’ (good till canceled) or ‘Day’ (orders cancel at the close of session). I set mine to GTC, as I often hold positions overnight.

BlackBird strategy properties
  1. Once enabled, click on ‘Order Settings’ from the BlackBird Chart Trader panel (near the bottom) to open the BlackBird ‘Order Settings UI.’
ROE (1) and ROE (2) charts' screenshot

The most important information you need to know to manage the stops and targets for the BlackBird order sets is the following:

  1. Stop Loss A will trail (for a long) a 0.75xAR(50) offset below any Crimson-colored line drawn on the MIN (1) or TICK (1) charts by the ToolBarPro.
  2. Profit Target A will trail (for a long) a 0.1xAR(50) offset below any SpringGreen-colored line drawn on the MIN (1) or TICK (1) charts by the ToolBarPro.
  3. Stop Loss B will trail (for a long) a 0.75xAR(50) offset below any Crimson-colored line drawn on the MIN (2) or TICK (2) charts by the ToolBarPro.
  4. Profit Target B will trail (for a long) a 0.1xAR(50) offset below any SpringGreen-colored line drawn on the MIN (2) or TICK (2) charts by the ToolBarPro.

Both stop-loss orders also have a couple of other trailing actions, but the targets do not.

To ‘attach’ Profit Target A to a line, simply recolor the line (on either the MIN (1) or the TICK (1) chart) SpringGreen using the ‘TARGETS’ button from the ‘READER’ group panel of the ToolBarPro (image below is using the ‘Advanced ToolBarPro Backup – C-R’ backup layout).

ToolBarPro Panel

To ‘attach’ Profit Target B to a line, simply recolor the line (on either the MIN (2) or the TICK (2) chart) SpringGreen using the ‘TARGETS’ button from the ‘READER’ group panel of the ToolBarPro.

Reader group panel

To ‘attach’ Stop Loss A to a line, simply recolor the line (on either the MIN (1) or the TICK (1) chart) to Crimson using the ‘STOPS’ button from the ‘READER’ group panel of the ToolBarPro.

If a line from both charts is recolored, BlackBird will alternate the placement of the corresponding order between the two prices of the two lines. If two lines from the same chart are recolored, the line closest to the Last price will be used.

BlackBird settings UI

You can watch the video below to get familiar with running the template.

BlackBird Template Settings

Order Set A Rules & Conditions

Order Set A Entry

Order Label = BuyAsk+1/SellBid-1
Order Set A settings

Order Set A’s Entry, for a Long Trade, goes in as a Limit Order at the Ask price plus one tick (at the Bid minus one tick for a Short). I use Limit Orders for both Order Set A and Order Set B so that the Dynamic Planner can be used in BlackBird. The Dynamic Planner allows you to use BlackBird for fine-tuning your discretionary trades, while still utilizing all the amazing trade management features within BlackBird. If you were to use Market Orders, then once you made your ‘dynamically planned’ orders live, they would immediately be filled, as they would go in at the market price regardless of where you set them.

Entry A settings

Order Set A goes in (for a Long Trade) at the Ask price plus one tick, effectively acting as a Market Order while simultaneously limiting the potential slippage on the trade. Occasionally, though, if the market is moving very quickly in one direction, the entry could be missed. While missing an entry when using negative-offset Limit Order is common, missing an entry when using a positive-offset Limit Order set one tick above the Ask price is rare, but can happen.

The following is a list of a few situations where a Limit Order Entry has a higher probability of being missed (not filled):

  1. When trading thinly traded instruments.
  2. When trading instruments with wide gaps between Bid and Ask prices.
  3. When trading an instrument during a period of extremely high volatility, such as immediately following news announcements.
  4. When the traded instrument is moving very rapidly in the direction of the trade.

If the order is not filled within a period of 25 bars or 25 minutes, BlackBird will cancel it.

Order Set A Profit Target

Order Label = 6AR MIN || TICK (1) TARGET
Target A settings

Order Set A’s Target, for a Long Trade, goes in as a Sell Limit Order at plus 6 times the value of the AR(50).

The AR indicator is a very simple average range indicator that we include with almost all our tools. The AR takes a simple moving average of the ranges of the past 100 bars, rather than using the overkill calculation within the ATR (average true range) that incorporates the distance from the previous bar’s close to the next bar’s open in the range calculation. The AR indicator also sets the range of a bar equal to the (High – Low) + 1 tick, rather than simply (and incorrectly) using only the High – Low. Using only the High – Low would set a bar that has the same price as its high and low equal to 0, which is wrong; if we were using the ATR’s output in an equation as the divisor, obviously dividing by 0 poses a problem.

Trailing Actions: 3

All three trailing actions are evaluated using the Action Closest to Price (If multiple trailing rules trigger at the same time, the rule that moves the order closest to the market price (Last price) will be used to move the order). Read THIS PAGE for more information.

Target A Trailing
Trailing Action A Name Label = A. MIN (1) SpringGreenLine

This rule will attach Order Set A’s Profit Target to any SpringGreen-colored line on the MIN (1) chart minus 0.1xAR(50) offset if the price of the line is (for a long trade) above Order Set A’s Entry price.

Trigger On: ‘Price vs. Indicator’ – When the SpringGreen colored line on the MIN (1) is (for a long trade) greater than or equal to Order A’s Entry price.

Action: Move Target A to a 0.1xAR(50) offset below the SpringGreen colored line on the MIN (1) chart.

Note: When a price offset is used within the Readers for the ToolBarPro (MG Reader, Line Color Reader, Volume Profile Reader, etc.), the offset is always negative for longs and positive for shorts (i.e., if you wanted to offset the stop-loss order for a long trade, you would want to offset below the price of the object).

Repeat: Indefinitely, every three seconds, if re-triggered.

Trailing Action B Name Label = B. TICK (1) SpringGreenLine

This rule will attach Order Set A’s Profit Target to any SpringGreen-colored line on the TICK (1) chart minus 0.1xAR(50) offset (for a long trade) if the price of the line is above Order Set A’s Entry price.

Trigger On: ‘Price vs. Indicator’ – When the SpringGreen colored line on the TICK (1) is (for a long trade) greater than or equal to Order A’s Entry price.

Action: Move Target A to a 0.1xAR(50) offset (for a long trade) below the SpringGreen colored line on the MIN (1) chart.

Repeat: Indefinitely, every four seconds, if re-triggered.

Trailing Action C Name Label = C. ROE (2) OppSignal + 3ATR Profit >> Move to Last

This rule will move Order Set A’s Profit Target to the Last traded price when (for a long trade) a short signal from the ‘D+V+OTF’ BloodHound template appears on the ROE (2) chart, but only if the Order Set A’s Entry is in profit by at least 3xATR(50).

Trigger On: Triggered when both of the following rules are met, simultaneously:

  1. Profit or Loss: After a 3ATR Profit
  2. Price vs Indicator: For a Long, when the ROE (2) chart’s ‘D+V+OTF’ BloodHound template’s signal is less than or equal to -0.8.

Action: Move Target A to the Last traded price.

Repeat: Indefinitely, every 1 bar, if re-triggered.

Order Set A Stop Loss

Order Label = 2AR MIN (1) || TICK (1) STOP

Order Set A’s Stop, for a Long Trade, goes in as a Sell Market Order at 2 times the value of the AR(50).

Trailing Actions: 4

All four trailing actions are evaluated using the Action Closest to Price (If multiple trailing rules trigger at the same time, the rule that moves the order closest to the market price (Last price) will be used to move the order). Read THIS PAGE for more information.

Trailing Action A Name Label = A. MIN (1) CrimsonLine 0.75AR
Stop B Trailing

This rule will attach Order Set A’s Stop Loss to any Crimson-colored line on the MIN (1) chart minus 0.75xAR(50) offset (for a long trade) if the price of the line is less than or equal to the Last traded price.

Trigger On: ‘Price vs. Indicator’ – When the price of the Crimson-colored line on the MIN (1) is (for a long trade) less than or equal to the Last traded price.

Action: Move Stop Loss A to a 0.75xAR(50) offset (for a long trade) below the Crimson-colored line on the MIN (1) chart.

Repeat: Indefinitely, every 1-tick movement in profit, if re-triggered.

Trailing Action B Name Label = B. TICK (1) CrimsonLine 0.75AR

This rule will attach Order Set A’s Stop Loss to any Crimson-colored line on the TICK (1) chart minus a 0.75xAR(50) offset (for a long trade) if the price of the line is less than or equal to the Last traded price.

Trigger On: ‘Price vs. Indicator’ – When the price of the Crimson-colored line on the TICK (1) is less than or equal to the Last traded price.

Action: Move Target A to a negative 0.75xAR(50) offset from the Crimson-colored line on the TICK (1) chart.

Repeat: Indefinitely, every 2-ticks movement in profit, if re-triggered.

Trailing Action C Name Label = C. 5AR Trail After 3ATR Profit

This rule will trail Order Set A’s Stop Loss order at a 0.5xAR(50) offset (for a long trade) below the VolatilityStop(100,5,7,9) StopLine1 (the 5xAR(100) line) when the Low of a bar is above the StopLine1 by 1xAR(50) or more, all three VolatilityStop lines are green (price is above all three), and the trade is in profit by 3xATR(50) or more.

Trigger on: Triggered (for a long trade) when all three of the following rules are met, simultaneously:

  1. Price vs Indicator: When the bar Low [Input A] is at least 1AR(50) above the VolatilityStop(100,5,7,9) StopLine1 [Input B].
  2. Profit or Loss: After a profit of at least 3xATR(50).
  3. Indicator Value: When the VolatilityStop(100,5,7,9) Trend dataseries gives a value of +2 (price is above all three lines).

Action: Move Stop Loss A to a 0.5xAR(50) offset (for a long trade) below the VolatilityStopLine1 (5xAR(100) line).

Repeat: Repeat Indefinitely, every 15 bars, if re-triggered.

Trailing Action D Name Label = D. 15-Bar Swings Trail After 2ATR Profit

This rule will trail Order Set A’s Stop Loss order at a 0.5xAR(50) offset (for a long trade) below the SwingHighs&Lows(2,15) Widest Bottom line when the Low of a bar is above the Widest Bottom line by 2xAR(50) or more, and the trade is in profit by 2xATR(50) or more.

Trigger on: Triggered (for a long trade) when both of the following rules are met, simultaneously

  1. Price vs Indicator: When a bar’s low [Input A] is at least 2xAR(50) above the SwingHighs&Lows(2,15) Widest Bottom line (15-barSwingLow) [Input B].
  2. Profit or Loss: After a profit of at least 2xATR(50).

Action: Move to Stop Loss A to a 0.5xAR offset below the SwingPatterns’ 15-barSwingLow.

Repeat: Repeat Indefinitely, every two bars, if re-triggered.

Order Set B Rules & Conditions

Order Set B Entry

Order Label = BuyAsk/SellBid

Order Set B’s Entry goes in (for a Long Trade) as a Buy Limit Order at the Ask price, limiting slippage on the trade and allowing for the use of BlackBird’s ‘Dynamic Planner’ feature. Making Entry B have at least a 1-tick difference from Entry A is necessary so that these limit orders can be manually adjusted independently from one another when using the Dynamic Planner. When Entry A and Entry B go in at the same price, you cannot separate the two orders (at the time of this writing).

Graphical user interface, text, application

Description automatically generated

Because both Entry orders go in as Limit Orders, they will not always be filled for trade. Not getting a fill for Order Set A (positive 1-tick offset) is rare, but Order Set B’s Entry order does not have an offset, so the probability of Entry B being missed (not filled) is a bit higher.

The following is a list of a few situations where a Limit Order Entry has a higher probability of being missed (not filled):

  1. When trading thinly traded instruments.
  2. When trading instruments with wide gaps between Bid and Ask prices.
  3. When trading an instrument during a period of extremely high volatility, such as immediately following news announcements.
  4. When the traded instrument is moving very rapidly in the direction of the trade.

If the order is not filled within a period of 25 bars or 25 minutes, BlackBird will cancel it.

Order Set B Profit Target

Order Label = 9AR || TICK (2) TARGET

Order Set B’s Target, for a Long Trade, goes in as a Sell Limit Order at 9 times the value of the AR(50).

Graphical user interface, application

Description automatically generated
Trailing Actions: 2

Both trailing actions are evaluated using the Action Closest to Price (If multiple trailing rules trigger at the same time, the rule that moves the order closest to the market price (Last price) will be used to move the order). Read THIS PAGE for more information.

Trailing Action A Name Label = A. MIN (2) SpringGreenLine

This rule will attach Order Set B’s Profit Target to any SpringGreen-colored line on the MIN (2) chart minus 0.1xAR(50) offset if the price of the line is (for a long trade) above Order Set B’s Entry price.

Trigger On: ‘Price vs. Indicator’ – When the SpringGreen colored line on the MIN (2) is (for a long trade) greater than or equal to Order B’s Entry price.

Action: Move Target B to a 0.1xAR(50) offset below the SpringGreen colored line on the MIN (2) chart.

Note: When a price offset is used within the Readers for the ToolBarPro (MG Reader, Line Color Reader, Volume Profile Reader, etc.), the offset is always negative for longs and positive for shorts (i.e., if you wanted to offset the stop-loss order for a long trade, you would want to offset below the price of the object).

Repeat: Indefinitely, every three seconds, if re-triggered.

Trailing Action B Name Label = B. TICK (2) SpringGreenLine

This rule will attach Order Set B’s Profit Target to any SpringGreen-colored line on the TICK (2) chart minus 0.1xAR(50) offset (for a long trade) if the price of the line is above Order Set B’s Entry price.

Trigger On: ‘Price vs. Indicator’ – When the SpringGreen colored line on the TICK (2) is (for a long trade) greater than or equal to Order B’s Entry price.

Action: Move Target B to a 0.1xAR(50) offset (for a long trade) below the SpringGreen colored line on the TICK (2) chart.

Repeat: Indefinitely, every four seconds, if re-triggered.

Order Set B Stop Loss

Order Label = 3AR MIN (2) || TICK (2) STOP

Order Set B’s Stop, for a Long Trade, goes in as a Sell Market Order at 3 times the value of the AR(50).

Trailing Actions: 5

All five trailing actions are evaluated using the Action Closest to Price (If multiple trailing rules trigger at the same time, the rule that moves the order closest to the market price (Last price) will be used to move the order). Read THIS PAGE for more information.

Trailing Action A Name Label = A. MIN (2) CrimsonLine 0.75AR
Graphical user interface, text, application

Description automatically generated

This rule will attach Order Set B’s Stop Loss to any Crimson-colored line on the MIN (2) chart minus 0.75xAR(50) offset (for a long trade) if the price of the line is less than or equal to the Last traded price.

Trigger On: ‘Price vs. Indicator’ – When the price of the Crimson-colored line on the MIN (2) is (for a long trade) less than or equal to the Last traded price.

Action: Move Stop Loss B to a 0.75xAR(50) offset (for a long trade) below the Crimson-colored line on the MIN (2) chart.

Repeat: Indefinitely, every 1-tick movement in profit, if re-triggered.

Trailing Action B Name Label = B. TICK (2) CrimsonLine 0.75AR

This rule will attach Order Set B’s Stop Loss to any Crimson-colored line on the TICK (2) chart minus a 0.75xAR(50) offset (for a long trade) if the price of the line is less than or equal to the Last traded price.

Trigger On: ‘Price vs. Indicator’ – When the price of the Crimson-colored line on the TICK (2) is less than or equal to the Last traded price.

Action: Move Target B to a negative 0.75xAR(50) offset from the Crimson-colored line on the TICK (2) chart.

Repeat: Indefinitely, every 2-ticks movement in profit, if re-triggered.

Trailing Action C Name Label = C. 7AR Trail After 5ATR Profit

This rule will trail Order Set B’s Stop Loss order at a 0.5xAR(50) offset (for a long trade) below the VolatilityStop(100,5,7,9) StopLine2 (the 7xAR(100) line) when the Low of a bar is above the StopLine2 by 1xAR(50) or more, all three VolatilityStop lines are green (price is above all three), and the trade is in profit by 5xATR(50) or more.

Trigger on: Triggered (for a long trade) when all three of the following rules are met, simultaneously:

  1. Price vs Indicator: When the bar Low [Input A] is at least 1AR(50) above the VolatilityStop(100,5,7,9) StopLine2 [Input B].
  2. Profit or Loss: After a profit of at least 5xATR(50).
  3. Indicator Value: When the VolatilityStop(100,5,7,9) Trend dataseries gives a value of +2 (price is above all three lines).

Action: Move Stop Loss B to a 0.5xAR(50) offset (for a long trade) below the VolatilityStopLine2 (7xAR(100) line).

Repeat: Repeat Indefinitely, every 30 bars, if re-triggered.

Trailing Action D Name Label = D. 30-Bar Swings Trail After 3ATR Profit

This rule will trail Order Set B’s Stop Loss order at a 0.5xAR(50) offset (for a long trade) below the SwingHighs&Lows(2,30) Widest Bottom line when the Low of a bar is above the Widest Bottom line by 2xAR(50) or more, and the trade is in profit by 3xATR(50) or more.

Trigger on: Triggered (for a long trade) when both of the following rules are met, simultaneously

  1. Price vs Indicator: When a bar’s low [Input A] is at least 3xAR(50) above the SwingHighs&Lows(2,30) Widest Bottom line (30-barSwingLow) [Input B].
  2. Profit or Loss: After a profit of at least 3xATR(50).

Action: Move to Stop Loss A to a 0.5xAR offset below the SwingPatterns’ 30-barSwingLow.

Repeat: Repeat Indefinitely, every three bars, if re-triggered.

Trailing Action E Name Label = E. 15-BarSwings Trail After OrderATargetFilled

This rule will trail Order Set B’s Stop Loss order at a 0.5xAR(50) offset (for a long trade) below the SwingHighs&Lows(2,15) Widest Bottom line when Profit Target A is filled.

Trigger on: Triggered (for a long trade) when ‘Order Status Changed’ for Profit Target A to filled.

Action: Move to Stop Loss A to a 0.5xAR offset below the SwingPatterns’ 15-barSwingLow.

Repeat: Repeat Indefinitely, every two bars, if re-triggered.

Like this article?