BloodHound is a NinjaTrader indicator for building your own signal logic, without writing code. It takes observations from price action, indicators and other sources, and combines them with logic you design into one result: a trade signal, a setup, a filter, or any other condition.
It is a blank canvas: you define the inputs and how they combine, with no limit on how complex the logic gets. For example, describe your entry rules across several timeframes and BloodHound paints the chart with Long and Short signals. Those signals can also drive a NinjaTrader strategy, such as BlackBird, and be backtested in the Strategy Analyzer. Change the logic and the signals change with it, with no strategy code to update.

New to BloodHound?
Start here: build your first BloodHound system step by step, then read How BloodHound Works.
BloodHound output
On every bar, BloodHound calculates two separate values: one for the Long side and one for the Short side. Each is worked out independently, from the Long and Short values of the nodes connected to the Result node.
Use them however you like: as trade signals, as a filter (only take longs while the Long value is 1), or to show that a condition is met. Change the logic, and the output updates on the chart straight away.
Confidence values
The two outputs are confidence values, from 0 (unfavorable) to 1 (favorable). Decimals are degrees of favorability: a Long value of 0.8 is more favorable than 0.5. Both sides can have the same value at the same time, and that is sometimes what you want.
On the chart, the Long Confidence plot runs from 0 to 1 and the Short Confidence plot from 0 to -1. The Short value is positive internally; it is only drawn below zero so the two are easy to tell apart.
When a value is a signal
A confidence value becomes a signal when it reaches the threshold for its side: Long Threshold for the Long output, Short Threshold for the Short output (0.8 by default, so 0.8 or more is a signal). Signals are drawn on the chart as vertical colored stripes, called racing stripes, and can trigger alerts.
Optionally, Compare L/S Confidence adds a second test: one side must also be a set number of times larger than the other. With a ratio of 1.5, Long 0.4 and Short 0.8 is a Short signal (0.8 is twice 0.4), but Long 0.7 and Short 0.8 is not (0.8 is not 1.5 times 0.7). With this on, there can’t be a signal in both directions at once.
Each Logic Template can override these thresholds: see the Options button.
Properties
BloodHound’s settings in NinjaTrader’s Indicators window, in the order they appear there.
System Template

| Setting | What it does |
|---|---|
| Template File | The BloodHound template (system file) to load when the indicator starts. |
| Show Racing Stripes | Colors the chart background on bars with a signal. NinjaTrader currently lets several indicators shade the whole chart; older versions allowed only one, so another indicator could hide the stripes. |
| Racing Stripe Opacity | How strong the stripe color is, from 1 (faint) to 99 (bright). 20 to 40 works well. |
| Long Threshold | The Long Confidence value at or above which the Long output is a signal (racing stripe and alerts). |
| Short Threshold | The Short Confidence value at or above which the Short output is a signal. |
| Compare L/S Confidence | Also requires the signal side to be larger than the other side by the Compare Confidence Ratio (which appears when this is on). For example, at 1.5 a Long signal needs the Long value to be at least 1.5 times the Short value, and vice versa. Extra filtering for fuzzy logic systems. |
Indicators not installed
If a template uses an indicator that isn’t installed on this computer, the Map Indicator window opens so you can choose a replacement.
Signal Alerts

| Setting | What it does |
|---|---|
| Play Sound | Plays a sound on each signal, with separate Long Signal Sound File and Short Signal Sound File settings. With Calculate set to “On each tick” or “On price change”, the sound plays when the bar closes, so signals that come and go during the bar don’t keep sounding. |
| Send Email | Sends an email on each signal. Set up NinjaTrader’s email first (Control Center » Tools » Options). Settings: Email To, Email From, Email Subject and Email Body; the subject and body can use {direction}, {date}, {time}, {instrument} and {template}. Some providers file these emails as spam; add a filter if so. |
| Use NT Alerts Log | Sends signal alerts to NinjaTrader’s Alerts Log window. |
Debugging

| Setting | What it does |
|---|---|
| Disable Auto Recalc | Turns off automatic recalculation, which can take a while on large systems or charts with many days of data. Also available at the bottom left of the BloodHound window; use the Apply button next to it to recalculate by hand. |
NinjaTrader properties
The remaining sections (Data Series, Setup, Visual, Lines and Plots) are added by NinjaTrader to every indicator. For the standard settings, see NinjaTrader’s Help Guide. Notes specific to BloodHound:


| Setting | With BloodHound |
|---|---|
| Calculate | How often BloodHound (like any indicator) recalculates: On bar close, On price change or On each tick. Controlled by NinjaTrader. See the tip below. |
| Maximum bars look back | Leave at Infinite (the default). BloodHound needs all the chart data to recalculate correctly when you change the system. At 256, the instant feedback on the chart stops working. |
| Column Name Override | Only in the Market Analyzer: sets the column name there (the Label property has no effect). |
NinjaTrader tip: Calculate property inheritance
NinjaTrader applies the hosting script’s Calculate setting to every indicator it hosts. BloodHound (or BlackBird) is the host, and the indicators inside it are its guests. So if a guest needs “On each tick” to work, such as a volume profile or order-flow indicator, BloodHound must be set to “On each tick” too; NinjaTrader doesn’t allow mixing.


The Lines mark the Long Threshold, zero (Divider) and the Short Threshold on BloodHound’s panel.
Plots

| Plot | What it shows |
|---|---|
| Long Confidence | The Long confidence value, 0 to 1. |
| Short Confidence | The Short confidence value, drawn from 0 to -1. |
| Net Confidence | Long Confidence plus Short Confidence (which is negative), for the Market Analyzer. For example, 0.75 and -0.25 give +0.50; 0.1 and -0.95 give -0.85. |
| Net Signal | +1, 0 or -1, not a confidence value; for the Market Analyzer. +1 when only the Long output is a signal, -1 when only the Short output is, and 0 when neither or both are. |
| Market Analyzer | Whichever of the two confidence plots is further from zero, for the Market Analyzer. For example, 0.99 and -1.0 give -1.0; 0.89 and -0.75 give +0.89. |
Net Signal examples (thresholds 0.8)
- Long 0.75, Short -0.5: 0 (neither is a signal).
- Long 0.61, Short -0.95: -1 (Short signal).
- Long 0.8, Short 0: +1 (Long signal).