Two free indicators that come with BloodHound: Swing Trend finds swing points and trends, and Swing Highs & Lows plots those swing points as price lines. (They were called Swings and SwingsHighsLows.)
Written by Dorschden
Both are based on PriceActionSwing by Dorschden, a futures.io user, and are included with permission. They’re free and provided as-is: we can’t answer detailed questions about how they work inside. Ask in the PriceActionSwing discussion thread on futures.io. See Acknowledgement.
Swing Trend

Swing Trend finds swing points and draws them as a zig-zag, labeled higher high (HH), lower high (LH), lower low (LL) and higher low (HL), with other swing data. Most of that data is also available to BloodHound: swing duration, height and percent, and several price-action trends.
Swings are found after the fact
Swing Trend doesn’t detect reversals in real time, whatever the zig-zag suggests. Price has to move the other way for a few bars before a reversal point is known. Watch it on a fast range chart in real time to see how it behaves.
The Dorschden Swing Trend and Dorschden Swing Volatility solvers use this indicator’s swings directly.
Properties
1. Parameters
The main settings that decide how swing points are found.
| Setting | What it does |
|---|---|
| Swing calculation type | Standard, Gann, Ticks or Percent: the formula that detects swing points. The original author didn’t document the differences. |
| Swing strength | How sensitive swing detection is. Small values find many small swings; large values find fewer, bigger ones. 1 is very sensitive, 7 (the default) suits most intraday charts, and 14 finds larger swings. Practical ranges: intraday, 1 to 15 (Percent: 0.15 to 0.4); daily, 15 to 25 (Percent: 2 to 20). The Percent type needs much smaller values, usually below 1 (for example 0.25) on intraday charts. The minimum is 0.00000001; around 25 is the practical maximum, even for daily, weekly or monthly charts. |
| Double Top / Bottom strength | How close in price two swing highs (or lows) must be to count as a double top (or bottom), as a percent of the 14-period ATR: the range is ATR(14) × (strength / 100). |
| Use Close prices | Off (default): swings use bar highs and lows. On: swings use closing prices only. |
2. Display Swing Data
What swing information is written on the chart, and in what units. These settings also set the units of the data series outputs (see Data series outputs). For example, with Show Duration:
| Show Duration | SwingDuration outputs |
|---|---|
| in Bars | The number of bars the swing has lasted. |
| as MM:SS | The total number of seconds the swing has lasted. |
| as HH:MM | The total number of minutes the swing has lasted. |
Outputs are rounded to 1 decimal place: 1.4 minutes is about 1 minute 24 seconds.

3. Visual Characteristics
How the indicator looks on the chart. These have no effect when it’s used in BloodHound or BlackBird.
4. Gann Swings
Only used when Swing calculation type is Gann and Swing strength is more than 1.
| Setting | What it does |
|---|---|
| Ignore Inside Bars | Whether inside bars are ignored. |
| Use Breakouts | Whether Gann swings update when the last swing high or low is broken. |
Data series outputs

Data series are outputs that aren’t plotted on the chart. BloodHound and BlackBird can read them like plots. They describe the swing as it forms.
The zig-zag is drawn after the fact
The four Swing… outputs don’t exactly match the zig-zag lines. The lines join the swing-point dots, but don’t show the bar where a reversal was first detected: that’s only known once price has moved far enough the new way, usually several bars later.
Trend outputs
Each trend output is +1 in an up trend and -1 in a down trend. 0 means no trend, as described for each.
OverallTrend
Up trend starts when any of these happens, and ends when a bar’s low breaks below the previous swing low (a LL is forming):
- A higher low (HL), then the high breaks above the previous swing high (a HH is forming).
- A double bottom, then the high breaks above the previous swing high.
- A lower low (LL), then a HH, then a HL.
Down trend starts when any of these happens, and ends when a bar’s high breaks above the previous swing high (a HH is forming):
- A lower high (LH), then the low breaks below the previous swing low (a LL is forming).
- A double top, then the low breaks below the previous swing low.
- A higher high (HH), then a LL, then a LH.
No trend (0): for example, a HH followed by a LL, or a LL followed by a HH. Without a HL or LH to confirm it, there’s no trend.
QuickTrend
Up when the high breaks above the previous swing high, or a higher low forms. Down when the low breaks below the previous swing low, or a lower high forms.
There’s always a direction; 0 only appears at the start of the chart, before the first one is found.
BreakOutTrend
Changes when price breaks the previous swing high or low. Up when the high breaks above the previous swing high; down when the low breaks below the previous swing low.
There’s always a direction; 0 only appears at the start of the chart, before the first one is found.
HigherHighHigherLowTrend
Up when a HH is followed by a HL, confirmed when the next upswing begins. It ends when a LH is confirmed.
Down when a LL is followed by a LH, confirmed when the next downswing begins. It ends when a HL is confirmed.
0 means no trend was found, or the trend was broken.

Swing outputs
| Output | Value |
|---|---|
| SwingDirection | +1 in an upswing, -1 in a downswing. 0 only at the start of the chart, before the first swing is found. |
| SwingDuration | How long the current swing has lasted, in bars or time, set by 2. Display Swing Data » Show Duration. |
| SwingHeight | The current swing’s height in ticks, points, price or percent, set by 2. Display Swing Data » Show Length. For percent, SwingPercent is the better choice. |
| SwingPercent | The current swing’s length as a percentage of the previous swing’s length, rounded to 1 decimal place. |
Video
1:40:24
Interactive BloodHound Workshop Webinar (May 2012)
Starts at the Swings indicator. Recorded in NinjaTrader 7 with BloodHound 1, so it looks quite different today.
Swing Highs & Lows

Swing Highs & Lows plots Swing Trend’s swing points as horizontal price lines. The highest high, lowest low, lower high and higher low each have their own plot, for more control in BloodHound. The Widest plots draw the highest high and lowest low; the Tightest plots draw the intermediate lower high and higher low.
Properties
1. Parameters
| Setting | What it does |
|---|---|
| Number of Swings | How many swing points to look back through to find the highest high and lowest low. The examples below show 3 and 4. |
| Other settings | The same as Swing Trend’s. See Swing Trend properties. |
Plots
How the plots are named:

Widest plots
How the Widest plots move as new swings form, with Swing Strength 3.
Number of Swings = 3




Number of Swings = 4




Tightest plots
How the Tightest plots move as new swings form, with Swing Strength 3.
Number of Swings = 3



Number of Swings = 4




Acknowledgement
Swings (NinjaTrader 7) and Swing Trend (NinjaTrader 8), from PriceActionSwing, were written by Dorschden, a user of futures.io (formerly bigmiketrading.com), who gave us permission to include them with BloodHound for free. They work as Dorschden designed them; we’ve only commented out code BloodHound doesn’t need, to make them faster.
If either indicator helps your trading, please consider a donation to Dorschden, as he asked:

Change requests
Please send requests for changes to Dorschden on futures.io (the original indicator is PriceActionSwing). We don’t modify or resell indicators from other authors.