User Guide

Vantedge FlowPilot

FlowPilot reads the footprint of the bar that is forming right now. When several price levels in a row show one-sided aggressive buying or selling (a stacked imbalance), it enters a market order with a fixed profit target and stop. A regime classifier decides whether to trade with the stack (Follow) or against it (Fade), and daily limits stop it for the session once the goal or the max loss is reached.

Platform
NinjaTrader 8, any futures instrument (built and tuned on ES and NQ)
Data needed
Tick data with bid/ask. Turn on Tick Replay for backtests and history
Backtesting
Yes, in the Strategy Analyzer with Tick Replay
Entries
Market orders with a tick-based profit target and stop

What FlowPilot does

Every trade printed on the exchange is classified as a buy (it hit the ask) or a sell (it hit the bid) and added to the footprint of the bar that is forming. At each price level the footprint then compares buying at that level with selling one level lower (a diagonal comparison). When one side is at least Imbalance Ratio times the other, and at least 10 contracts traded on the stronger side, that level is an imbalance.

Imbalances stacked on consecutive price levels show that one side pushed through several prices in a row. FlowPilot treats a stack of at least Stacked Requirement levels as its trigger. Buying imbalances make a bullish stack and selling imbalances make a bearish stack. If the bar has both kinds at the same time, FlowPilot does not trade.

How a trade is decided

  1. A stack appears in the forming bar (checked on every trade, not only when the bar closes).
  2. With Require Congruent Delta on, the bar's delta (buy volume minus sell volume) has to agree with the stack: positive for a bullish stack, negative for a bearish stack.
  3. The Mode picks the direction. Follow trades with the stack: a bullish stack means buy. Fade trades against it: a bullish stack means sell. Auto uses Follow while the market is in a Trend regime and Fade while it is in a Regression regime.
  4. The direction has to be armed (Arm Long, Arm Short or Arm Both) and allowed by the trend filters (Trend Long and Trend Short).
  5. The daily gate has to be open: no daily goal or max-loss lock, and no cooldown running after a losing trade.
  6. FlowPilot sends a market order with the profit target and stop attached. Then it disarms, so each arm gives one trade at most.

The Auto regime: Trend or Regression

At every bar close FlowPilot measures how closely price change follows delta over the last Correlation Window bars. A correlation at or above Trend Threshold means the market is in a Trend: aggressive buying moves price up, so following the stack makes sense. A correlation at or below Regression Threshold means the market is in Regression: aggression gets absorbed and price snaps back, so fading the stack makes sense. When the correlation is between the two thresholds, the previous regime stays in place.

There is also a range vote. If the session's high-low range over the last Range Bars bars is wider than Range To Bracket times your bracket (target ticks plus stop ticks), the regime is set to Trend. During the first Open Warm-up Bars of each session the regime is always Regression, because the opening rotation fades more often than it follows.

The Mode button on the panel shows the result, for example Mode: Auto (Trend) or Mode: Auto (Regression).

First run, step by step

  1. Install the package with Install.ps1 -Clean and compile in NinjaTrader (New > NinjaScript Editor > F5). The INSTALL.txt file in the package has the details.
  2. Open a chart of the instrument, for example ES or NQ. Data Series > Tick Replay must be ticked, or the history has no bid/ask detail.
  3. Optional: load the Vantedge Footprint chart template (right-click the chart > Templates > Load) so you can see the same imbalances the strategy trades.
  4. Open the Chart Trader (right-click the chart > Chart Trader). FlowPilot adds its buttons below it.
  5. Add the strategy: right-click the chart > Strategies > Vantedge FlowPilot. Paste your licence key into License Key, choose the Sim101 account and enable the strategy.
  6. Check the NinjaScript Output window for licensing messages. With Mode Auto, FlowPilot arms itself (Arm Both) at the next bar close.
  7. Run it on Sim101 or in Market Replay for at least a few sessions before any funded or live account.

Daily routine

  • Before the open: check Daily Profit Goal and Daily Max Loss against your account or prop firm rules, and check Quantity.
  • Mode Auto re-arms Both at every bar close until the daily gate locks. Mode Follow and Mode Fade only trade after you press an Arm button, and they disarm after each entry.
  • Use Trend Long or Trend Short to block one direction, for example on a strong trend day. Both are on by default, which allows both directions.
  • Press Close to exit the open position at market. It does not disarm the strategy.
  • When the goal or the max loss is reached, FlowPilot disarms and takes no new entries until the next session. The NinjaScript Output window says which one was reached.

Chart Trader panel

ButtonWhat it does
Arm Long / Arm ShortAllow the next entry in one direction only. Green while armed.
Arm BothAllow the next entry in either direction. Mode Auto selects this by itself at each bar close.
Trend Long / Trend ShortDirection filters. Teal or maroon means allowed and grey means blocked. Clicking one switches it on or off.
CloseExit the open position at market. Orange-red while a position is open.
ModeSwitch between Auto, Follow and Fade. In Auto the button shows the live regime: Trend (cyan) or Regression.

Settings reference

Every setting, and what changing it does

Settings are listed in the order and groups NinjaTrader shows in the strategy dialog. The suggested range is a starting point for testing on SIM or Market Replay, not a guarantee of results.

Vantedge License

Licensing only. These settings do not change how the strategy trades.

License Key

Default
(empty)
Allowed
Your key
Suggested
Your key

The licence key from your purchase email. Without a valid key the strategy does not arm.

API URL

Default
https://license.vantedgealpha.com
Allowed
-
Suggested
Do not change

The licensing server. Only change it if support asks you to.

Vantedge State

The starting state of the Chart Trader panel. You normally change these with the panel buttons while the strategy runs.

Armed Direction

Default
None
Allowed
None, Long, Short, Both
Suggested
None

Which direction is armed when the strategy starts. Mode Auto arms Both at the first bar close anyway.

Long Bias

Default
On
Allowed
On / Off
Suggested
On

The Trend Long filter. When it is off, no long entries are taken.

Increase / On

On: long trades allowed.

Decrease / Off

Off: long trades blocked.

Short Bias

Default
On
Allowed
On / Off
Suggested
On

The Trend Short filter. When it is off, no short entries are taken.

Increase / On

On: short trades allowed.

Decrease / Off

Off: short trades blocked.

Mode

Default
Auto
Allowed
Follow, Fade, Auto
Suggested
Auto

Follow trades with the stack and Fade trades against it. Auto picks Follow or Fade from the regime and re-arms at every bar close.

Analysis

These settings decide what counts as a signal and which regime Auto uses.

Imbalance Ratio

Default
3.0 (300%)
Allowed
1.0 - 10.0
Suggested
2.5 - 4.0

How many times bigger the aggressive side has to be than the opposite side, one level away diagonally, before a price level counts as an imbalance.

Increase / On

Fewer, stronger imbalances, so fewer trades. Stacks also complete later in the bar.

Decrease / Off

More levels qualify, including noise. Below about 2.0 most busy bars have stacks, and quality drops.

Stacked Requirement

Default
3
Allowed
1 - 10
Suggested
2 - 4 on ES, 3 - 5 on NQ

How many imbalanced price levels in a row make a stack (the trigger).

Increase / On

Needs a longer push, so fewer and later entries with more conviction behind them.

Decrease / Off

More signals and earlier entries. 1 triggers on any single imbalance.

Allow Gap in Stacked

Default
On
Allowed
On / Off
Suggested
On

Lets one price level without an imbalance sit inside a stack without breaking it.

Increase / On

On: more stacks are found.

Decrease / Off

Off: stacks have to be perfectly consecutive, so there are fewer signals.

Correlation Window (Bars)

Default
5
Allowed
2 - 200
Suggested
5 - 20

The number of closed bars used to correlate price change with delta for the Auto regime.

Increase / On

The regime is smoother and changes less often, but reacts later when the market changes character.

Decrease / Off

The regime reacts quickly but can switch back and forth on noise.

Trend Threshold

Default
0.6
Allowed
-1.0 - 1.0
Suggested
0.4 - 0.8

A correlation at or above this value switches Auto to Trend (Follow). Keep it above Regression Threshold.

Increase / On

Trend is harder to reach, so Auto fades more.

Decrease / Off

Trend is easier to reach, so Auto follows more.

Regression Threshold

Default
0.0
Allowed
-1.0 - 1.0
Suggested
-0.2 - 0.3

A correlation at or below this value switches Auto to Regression (Fade). Between the two thresholds the regime does not change.

Increase / On

Regression is easier to reach. A narrower gap to Trend Threshold means more regime switches.

Decrease / Off

Regression is harder to reach. A wider gap means a more stable regime.

Range Bars

Default
20
Allowed
1 - 500
Suggested
10 - 40

The number of bars in the session's range measurement for the Trend vote.

Increase / On

A longer lookback gives a wider range, so the vote picks Trend more often.

Decrease / Off

A shorter lookback gives a narrower range, so the vote picks Trend less often.

Range To Bracket

Default
3.0
Allowed
0 - 100
Suggested
2.0 - 5.0

The range in ticks votes Trend when it is wider than this multiple of (Take Profit + Stop Loss). With the defaults that is 3 x 32 = 96 ticks.

Increase / On

The range vote fires less often. Auto relies more on the correlation.

Decrease / Off

Trend is picked more often. 0 makes Auto almost always Trend after the warm-up.

Open Warm-up Bars

Default
3
Allowed
0 - 100
Suggested
2 - 10 (about the first 15 minutes)

Auto stays in Regression (Fade) for this many bars at the start of each session.

Increase / On

Fades the opening rotation for longer.

Decrease / Off

Auto can follow sooner after the open. 0 turns the warm-up off.

Require Congruent Delta

Default
On
Allowed
On / Off
Suggested
On

The forming bar's delta has to point the same way as the stack.

Increase / On

On: fewer trades, and stacks that are being absorbed are filtered out.

Decrease / Off

Off: more trades, including stacks the bar's delta disagrees with.

Execution

Size and bracket. The tick values below are per contract: ES = $12.50 per tick, NQ = $5.00 per tick, MES = $1.25 per tick, MNQ = $0.50 per tick.

Quantity

Default
1
Allowed
1 and up
Suggested
Size so that one stop is no more than 1/3 of Daily Max Loss

The number of contracts per entry.

Increase / On

Profit and loss grow in step with size. The daily limits are in dollars, so they are reached after fewer trades.

Decrease / Off

Smaller swings. Use micros (MES or MNQ) for the smallest size.

Stop Loss (Ticks)

Default
16
Allowed
1 - 1000
Suggested
ES 8 - 16, NQ 16 - 40

The stop distance in ticks from the entry. It is also part of the bracket size used by Range To Bracket.

Increase / On

Fewer stop-outs from noise, but each loss is bigger. The range vote picks Trend less often.

Decrease / Off

Smaller losses, but more trades get stopped out before they work.

Take Profit (Ticks)

Default
16
Allowed
1 - 1000
Suggested
ES 8 - 16, NQ 16 - 40

The profit target distance in ticks from the entry.

Increase / On

Bigger winners, but a lower hit rate, and more trades come back to the stop or break-even.

Decrease / Off

A higher hit rate with smaller winners. Commission weighs more on each trade.

Trailing Stop Trigger (Ticks)

Default
0 (off)
Allowed
0 - 1000
Suggested
0, or between the break-even trigger and the target

Open profit in ticks before the trailing stop starts. It is checked once per bar, when a new bar starts.

Increase / On

The trail starts later, so a trade has more room before it is tightened.

Decrease / Off

The trail starts early and locks in profit sooner, but ends some trades early.

Trailing Stop (Ticks)

Default
6
Allowed
1 - 1000
Suggested
4 - 12

The distance between price and the trailing stop once the trail is active. The stop only moves in your favour.

Increase / On

A looser trail gives the trade more room but gives back more open profit.

Decrease / Off

A tighter trail keeps more profit but stops out on small pullbacks.

Break-Even Trigger (Ticks)

Default
11
Allowed
0 - 1000 (0 = off)
Suggested
50 - 75% of Take Profit

Once the trade is this many ticks in profit, the stop moves to the entry price plus the offset. This happens once per position. It has to be lower than Take Profit to have any effect.

Increase / On

Protects later. Fewer trades are stopped at break-even, but more full losses come back.

Decrease / Off

Protects earlier. Fewer full losses, but more trades end at break-even before reaching the target.

Break-Even Offset (Ticks)

Default
1
Allowed
0 - 100
Suggested
0 - 2

How many ticks beyond the entry the break-even stop is placed, on the profit side. Keep it smaller than the trigger.

Increase / On

The break-even stop locks in a little more, but price has to pull back less to hit it.

Decrease / Off

0 is a true break-even, so commission is not covered.

Daily Gates

Hard limits on realised profit and loss per session, counted from real-time trades only. They are not applied in Strategy Analyzer backtests.

Daily Profit Goal

Default
2500
Allowed
0 - 1,000,000 (0 = off)
Suggested
2 - 4 x Daily Max Loss

The realised profit, in account currency, at which FlowPilot stops for the rest of the session.

Increase / On

Keeps trading longer on good days, so more profit can also be given back.

Decrease / Off

Stops sooner on good days and keeps the day's gains.

Daily Max Loss

Default
750
Allowed
0 - 1,000,000 (0 = off)
Suggested
Below your prop firm's daily loss limit, minus at least one full stop

The realised loss, in account currency, at which FlowPilot stops for the rest of the session. It counts closed trades, so the last trade can go past it by up to one stop.

Increase / On

More room on a bad day, with a bigger worst-case loss.

Decrease / Off

Stops sooner on a bad day. If it is set too tight, normal losing streaks end the day early.

Cooldown After Loss (ms)

Default
20000 (20 s)
Allowed
0 - 3,600,000 (0 = off)
Suggested
10000 - 120000

After a losing trade, no new entries are taken for this long.

Increase / On

Less revenge-style re-entry into the same move, so fewer trades.

Decrease / Off

Re-enters quickly. Good in fast rotation, but losses can come in quick succession.

Starting profiles

Three starting profiles. Balanced uses the shipped defaults. Use them as a starting point for your own testing, not as a promise of results.

SettingConservativeBalancedActive
Imbalance Ratio3.53.02.5
Stacked Requirement432
Allow Gap in StackedOffOnOn
Require Congruent DeltaOnOnOff
Break-Even Trigger (Ticks)81112
Cooldown After Loss (ms)600002000010000
Quantity1 (or micros)1Size to your Daily Max Loss

How to optimize

  1. Change one group of settings at a time, starting with the signal: Imbalance Ratio and Stacked Requirement. Move on to the regime and then the bracket once the signal is settled.
  2. Use the Strategy Analyzer with Tick Replay on, the same bar type and size as your live chart, and realistic commission and slippage.
  3. Optimise over at least 2 - 3 months, then check the best settings on a later period they were not tuned on (walk-forward). Prefer a broad plateau of good results over a single peak.
  4. Look at the number of trades, profit factor, max drawdown and average trade, not only net profit. A setting that only works with very few trades is usually overfitted.
  5. The daily goal, max loss and cooldown are not applied in backtests. Before going live, confirm on Sim101 or in Market Replay that they behave as you expect.
  6. Bar size matters. The footprint is built per bar, so larger bars collect more volume and produce more stacks per bar. Keep testing and live trading on the same bar type.

Built-in rules you cannot change

  • Calculate is always On each tick. FlowPilot sets it itself, because the footprint needs every trade.
  • An imbalance needs at least 10 contracts on its stronger side.
  • One entry per arm, and no new entry while a position is open or an entry order is still working.
  • A bar that has both a bullish and a bearish stack is skipped.

Troubleshooting

ProblemFix
No trades in the Strategy AnalyzerTurn on Tick Replay on the data series and use tick-based historical data. Without bid/ask detail the footprint stays empty.
No panel buttons on the chartOpen the Chart Trader (right-click the chart > Chart Trader), then disable and re-enable the strategy.
"MISSING LICENSE KEY" or "Cannot arm: Unlicensed"Paste your key into License Key, check that you are online and read the NinjaScript Output window. Each key works on 2 devices.
Follow or Fade mode never tradesOnly Auto re-arms by itself. In Follow or Fade, press Arm Long, Arm Short or Arm Both before each trade.
Trading stopped for the dayThe daily goal or max loss was reached. It resets automatically at the next session.

Futures trading involves substantial risk of loss. Settings and ranges in this guide are starting points for your own testing and are not a promise of results. Run every change on SIM or Market Replay before a funded or live account. See the risk disclaimer.