NinjaTrader 8 indicator, NinjaScript

A moving-average cross read from longer bars, and history you can judge

Flintridge Trader Pro builds an alternate timeframe from your chart's own closed bars, 8 times its interval by default, and runs one moving average over those bars' closes and one over their opens. When they cross it prints Buy or Sell and follows one trade with an entry, a stop and three targets. In its default Alt-TF Mode, ClosedBar, a signal on history sits where a live chart would have printed it. Supply and demand zones, BOS lines and a dashboard share the chart, and none of them gates the signal.

  • One signal source: the cross of two averages on an alternate timeframe
  • ClosedBar by default, so history and a live chart run the same sequence
  • A stop and three targets as percentages of the entry price, not ticks, so fit them to your contract
  • Supply and demand zones, BOS lines, an 11-row dashboard and five series

$77one payment, lifetime licence

Get the lifetime licence
Read the user guide (PDF)
Flintridge Trader Pro on an RTY 15-minute chart in NinjaTrader 8: Buy, Sell, Long TP and SL pills, BOS lines and a demand zone, the entry at 2824.2, the stop at 2810.1 and three targets, all reached, with the dashboard in the corner
  1. BuyThe close average crossed above the open average on the alternate bars. The pill prints on the first chart bar after that alternate bar closed.
  2. Entry 2824.2The close of the signal's chart bar. White line, 40 bars from the signal.
  3. Three targets1, 1.5 and 2 % of the entry price by default: 2852.4, 2866.6 and 2880.7. All three were reached on this trade.
  4. Stop 2810.10.5 % of the entry price by default. Percentages, not ticks, so fit them to your contract.
  5. DashboardThe EMA 144 trend, the cross, RSI 28, ATR 50 and the trade. None of the market rows gates a signal unless a filter is on.

Two things to know about a cross on longer bars

A cross on the chart's own bars gives you many signals. Reading it from longer bars gives you fewer, and brings a trap: on loaded history a longer bar's final close is already known. A chart bar inside it can read a close from its own future, so history shows signals that look as if they caught every turn. A live chart cannot do that.

Flintridge Trader Pro has two modes for this, and the default is the careful one. In ClosedBar a chart bar reads the last alternate bar that has closed, so history and a live chart run the same sequence. The price is lateness: a signal needs its alternate bar to close and then one chart bar, and at 8 on a 5-minute chart it can print at most once per 40 minutes. The other mode, ContainingBar, reads the alternate bar a chart bar belongs to. In it history signals appear earlier than a live chart would have shown them, by up to 7 chart bars at the default, and live and history disagree. Do not judge the signals, or run a backtest, on history in that mode.

The second thing is the stop and targets. They are percentages of the entry price, not points or ticks: a 0.5 % stop and targets at 1, 1.5 and 2 %. On MNQ at 20,000 that stop is 100 points, so on a 1-minute chart the bands can fill the whole panel. These defaults are not fitted to your contract or your interval. Fit them before you read anything into them.

PlatformNinjaTrader 8.1 Desktop, tested on 8.1.9.0
TypeChart indicator, compiled NinjaScript Add-On
SignalsOn closed bars; Alt-TF Mode ClosedBar by default
LevelsPercentages of the entry price, not ticks
BarsMinute, day, week and month fully; others run
AlertsEleven events on eight switches: Alerts Log and NinjaScript Output, sound and email optional
SeriesTP Line 1, Entry Line, SL Line, Signal, TradeState
InstrumentsFutures, forex, stocks, indices: any NinjaTrader instrument
LicenceLifetime, one NinjaTrader login, all your PCs
Price77 USD, one payment

The user guide is public: every parameter and the verification are in it. Read it before you pay.

What you get

Nine things it does that a plain moving-average cross cannot

One indicator in the price panel: the signals, the levels, the zones and the dashboard together.

An alternate timeframe

The chart's interval times the Multiplier, 8 by default: 40-minute bars on a 5-minute chart, built from your own closed bars, with no second data series to load.

One signal source

An ALMA of period 2 over the alternate closes against one over the opens, with TEMA and Hull as options. Three filters, trend, RSI and spacing, are there and off by default.

ClosedBar by default

A chart bar reads the last alternate bar that has closed, so a signal on history sits where a live chart would have printed it, and a chart reload does not move it.

Stop and three targets

Percentages of the entry price: a 0.5 % stop and targets at 1, 1.5 and 2 %, each its own setting. They need fitting to your contract and interval.

Five projected levels

The entry, stop, TP1, TP2 and TP3 of the newest signal run 40 bars past it with their prices. A green and a red band shade the reward and the risk.

Supply and demand zones

Boxes from confirmed swings with a POI line through the middle. A close through a zone removes it and leaves an amber BOS line. The zones do not gate a signal.

An 11-row dashboard

The EMA 144 trend, the cross, RSI 28, ATR 50, then the direction and stage of the trade, the entry, the stop and three targets. Six positions.

Alerts per event

Long and short entries, TP1, TP2, TP3 and stop hits, with a switch for each. Alerts Log and NinjaScript Output, with sound and email optional. No webhook.

Five series

TP Line 1, Entry Line, SL Line, Signal and TradeState can be read from a NinjaScript strategy on ClosedBar and shown as Market Analyzer columns.

See it working

A closer look, on real NinjaTrader charts

Every picture below is a NinjaTrader 8 capture with numbered notes added. Nothing on the charts is drawn by hand. Click any image to enlarge it.

NQ 15-minute chart in NinjaTrader 8 with Flintridge Trader Pro: a Sell pill and the SL pill of the bar that reached its stop, the short's five projected levels, supply and demand zones with a POI line, and BOS lines
  1. Sell, entry 28414.25The close average crossed below the open average. On a short the projected stop is drawn in green and the targets in red.
  2. SLThe bar that reached the stop at 28556.25. The trade is flat, and the dashboard's Direction row reads WAITING.
  3. BOSA close through a zone removes the zone and leaves this amber line at its middle, ending on that bar.
  4. Demand and POIA box from a confirmed swing, ATR(50) x 2.5 / 10 thick, running to the right edge, with a POI line through its middle. The supply zone along the top of the panel is the same thing above price.
  5. TP3 27846.002 % of the entry price. On this chart the five levels fit the panel. On a shorter interval they may not.
Signals and zones

The cross decides. The zones are there to read

A Buy or Sell comes from the moving-average cross alone, unless you turn on one of the three filters. The zones, the BOS lines and the dashboard's market rows do not gate it. On this chart the newest Sell entered at 28414.25 with its stop at 28556.25, the next bars ran through that stop, the SL pill printed, and the dashboard went back to WAITING. A picture of only the trades that worked would tell you nothing.

Two things read oddly at first. A Long TP pill marks the first target of a short as well as a long. And on a short the projected stop is drawn in green and the targets in red, the opposite of a long, while the shaded bands stay green for reward and red for risk.

  • Buy and Sell: a green and a red arrow with a pill, on the signal's bar
  • Long TP and SL pills print at the close of the bar that reached the first target or the stop
  • Zones are ATR(50) x 2.5 / 10 thick, from swings confirmed 10 bars after they form; the newest 20 of each side are kept
  • A close through a zone leaves an amber BOS line; the newest 5 of each side are kept
The Flintridge Trader Pro dashboard in NinjaTrader 8: the EMA 144 trend, the ALMA cross, RSI 28, ATR 50, and the active trade with its entry, stop and three targets
Dashboard

Eleven rows, and none of the market rows gates a signal

The top rows are context: the close against the EMA 144, the state of the cross, RSI 28 and ATR 50. None of them gates a signal unless a filter is on. Here the RSI row reads OVERBOUGHT at 69.64 with a long trade in place, because with the filter off the RSI has no say. The change on the ALMA row is what makes a signal.

The lower rows follow the trade: LONG or SHORT and the stage it has reached, the entry with the open result, the stop with its distance, and three targets, each with a tick once reached. A tick records that price touched a drawn level on the chart's bars. No spread, commission, slippage or fill is behind it, and the 2.23 % here describes this chart. It is not a trade result or a probability of profit.

  • Trend (EMA 144): BULLISH or BEARISH by the close against the EMA
  • ALMA(2): BULL CROSS or BEAR CROSS, and the close average
  • RSI (28) and ATR(50): the value and its state; the value and its % of the close
  • ACTIVE TRADE: direction, stage, entry, stop and three targets
MES 3-minute chart in NinjaTrader 8 with Flintridge Trader Pro: a Buy pill and an entry at 7665.00, with the green and red bands running off the top and bottom of the panel
  1. BuyThe newest signal, with its Entry 7665.00 line to the right.
  2. TP1 off the panelThe green band runs to TP1 at 7741.75, 1 % away and above the top of this panel. The price is on the dashboard.
  3. Stop off the panelThe red band runs to the stop at 7626.75, 0.5 % away and below the foot of this panel.
  4. ATR(50) 6.50The stop is about six of these from the entry, TP1 about twelve. Lower the four levels, or use a longer interval.
  5. Entry 7665.00The close of the signal's chart bar. The other projected levels are out of view here.
Stop and targets

Percentages of the entry price can sit far away on an index future

The stop and targets are percentages of the entry price. At the defaults on this MES 3-minute chart the 0.5 % stop is 38.25 points from the 7665.00 entry and TP1 is 76.75 points away, while ATR(50) reads 6.50. Neither is in the panel: the bands run off the top and the bottom, and the prices are only on the dashboard.

That is a setting to change, and nothing fits it for you. Lower Level TP1, TP2, TP3 and Stop Loss, or use a longer interval. On the 15-minute NQ chart above the same percentages fit the panel. Once a trade is open the bar's high, or low for a short, crosses the targets in turn, one step per bar, and on one bar a target is checked before the stop.

  • Defaults: stop 0.5 %, TP1 1 %, TP2 1.5 %, TP3 2 %, the same numbers for shorts
  • On MNQ at 20,000 the default 0.5 % stop is 100 points
  • One trade at a time: an opposite signal replaces it at once
  • The marks record a touch of a drawn level on the chart's bars, not a fill
Any market

The same rules on everything NinjaTrader charts

The calculations are not tied to an instrument. The captures below were taken in NinjaTrader 8 on the free simulation feed: index, energy, metal, currency and rate futures, from 1-minute to 30-minute bars, with the indicator at its default settings on every one.

Volume is not used by any signal, level or zone, so the volume pane on these captures plays no part and a feed without volume draws the same chart. What does change from one contract to the next is the percentage levels: at the defaults the ZB and 6E captures below have bands that fill the panel, which is what an unfitted percentage looks like.

Flintridge Trader Pro on a MNQ, Micro Nasdaq 100 chart in NinjaTrader 8, with its signal pills, zones, projected levels and dashboard
MNQ, Micro Nasdaq 100Index futures, 1 min
Flintridge Trader Pro on a ES, E-mini S&P 500 chart in NinjaTrader 8, with its signal pills, zones, projected levels and dashboard
ES, E-mini S&P 500Index futures, 5 min
Flintridge Trader Pro on a NQ, E-mini Nasdaq 100 chart in NinjaTrader 8, with its signal pills, zones, projected levels and dashboard
NQ, E-mini Nasdaq 100Index futures, 15 min
Flintridge Trader Pro on a MES, Micro S&P 500 chart in NinjaTrader 8, with its signal pills, zones, projected levels and dashboard
MES, Micro S&P 500Index futures, 3 min
Flintridge Trader Pro on a YM, E-mini Dow chart in NinjaTrader 8, with its signal pills, zones, projected levels and dashboard
YM, E-mini DowIndex futures, 5 min
Flintridge Trader Pro on a RTY, E-mini Russell 2000 chart in NinjaTrader 8, with its signal pills, zones, projected levels and dashboard
RTY, E-mini Russell 2000Index futures, 15 min
Flintridge Trader Pro on a CL, crude oil chart in NinjaTrader 8, with its signal pills, zones, projected levels and dashboard
CL, crude oilEnergy futures, 5 min
Flintridge Trader Pro on a NG, natural gas chart in NinjaTrader 8, with its signal pills, zones, projected levels and dashboard
NG, natural gasEnergy futures, 15 min
Flintridge Trader Pro on a GC, gold chart in NinjaTrader 8, with its signal pills, zones, projected levels and dashboard
GC, goldMetal futures, 15 min
Flintridge Trader Pro on a SI, silver chart in NinjaTrader 8, with its signal pills, zones, projected levels and dashboard
SI, silverMetal futures, 30 min
Flintridge Trader Pro on a 6E, euro FX chart in NinjaTrader 8, with its signal pills, zones, projected levels and dashboard
6E, euro FXCurrency futures, 30 min
Flintridge Trader Pro on a ZB, 30-year T-bond chart in NinjaTrader 8, with its signal pills, zones, projected levels and dashboard
ZB, 30-year T-bondRate futures, 15 min
Under the hood

How closed bars become a signal

The same steps on every closed bar, in this order, at the defaults. Nothing hidden and nothing exotic.

  1. The alternate bar is built

    The chart's interval times the Multiplier, on a fixed grid counted from the open of the chart's first loaded bar. The chart's own closed bars fill it.

  2. Two averages are read

    An ALMA of period 2 by default, one over the alternate closes and one over the alternate opens. TEMA and Hull are the other choices.

  3. The cross is found

    In ClosedBar a chart bar reads the last alternate bar that has closed, so a cross prints on the first chart bar after that bar closes, and it is final when that chart bar closes.

  4. Any filters you turned on decide

    EMA-144, RSI(28) and Min Bars Between Entries are off by default. The zones and the dashboard's market rows have no say.

  5. The trade is followed

    Entry at that chart bar's close, the stop and targets as percentages of it. Targets are crossed in turn, the stop returns the trade to flat, and an opposite signal replaces it at once.

What it does

  • Marks signals on closed bars, and in ClosedBar leaves them where they were
  • Runs the same sequence on history and on a live chart in ClosedBar
  • Draws five levels for the newest signal, with their prices
  • Draws zones and BOS lines from confirmed swings, separate from the signal

What it does not do

  • It does not place orders. It is an indicator, and it never touches your account
  • It does not predict price, and a tick on the dashboard is a touch of a level, not a fill
  • It does not fit its percentages to your contract: on a short interval they can fill the panel
  • It does not make ContainingBar history something to judge: signals there sit earlier than live
Side by side

A plain moving-average cross compared with Flintridge Trader Pro

Plain MA crossFlintridge Trader Pro
Longer barsA second data series to addBuilt from the chart's own closed bars
What is comparedA fast and a slow averageAn average of alternate closes against one of opens
SignalsYou watch for the crossBuy and Sell pills on closed bars
Stop and targetsYou work them outPercentages of the entry, drawn at the signal
ZonesNoneSupply, demand, POI and BOS from confirmed swings
FiltersNoneTrend, RSI and spacing, off by default
For your strategiesOne or two linesFive series including Signal and TradeState

How this edition was verified

The engine that computes everything also runs outside NinjaTrader. With its diagnostic dump switched on, the NinjaTrader edition writes every committed bar with the values it drew; those bars are replayed through the engine outside the platform, and the two files are compared value by value.

On 4,923 MNQ 1-minute bars every one of the 231 series compared was equal on every bar. A second run, with Calculate set to each tick and the chart left live across the switch from history to live bars, gave the same result on 4,169 bars.

What that proves: the indicator receives exactly one closed bar per chart bar with the right open, high, low, close and volume, never double-feeds or skips a bar, and shows the values the engine produced. What it does not claim: it is a test of correct calculation, not of trading results, and it says nothing about future performance.

NinjaTrader bars compared4,923, then 4,169 across the live switch
Series compared231
Cells compared1,137,213 and 963,039
Mismatches0 and 0
ConditionsMNQ 1-minute, NinjaTrader 8.1.9.0, November 2026

The full method is in the user guide: User Guide (PDF) and Installation and Quick Start (PDF).

Get the licence

One payment. Lifetime licence.

No subscription and no renewal. Pay once and the indicator stays licensed to your NinjaTrader account, updates included.

Flintridge Trader ProNinjaTrader 8 indicator

$77one payment, lifetime licence

  • A lifetime licence on one NinjaTrader account login, valid on every PC you use it on
  • The compiled NinjaScript Add-On package and all future updates, at no extra cost
  • No machine ID and nothing to activate: log in to NinjaTrader and it runs
  • The two PDFs: installation and quick start, and the full user guide with every parameter
  • Direct support from me, the developer, by email
Pay by cardCard, Apple Pay or Google Pay, through Stripe
Pay with PayPalPayPal balance or card, through PayPal

The licence is issued to your NinjaTrader account through NinjaTrader's Vendor Licensing, by hand, normally within a few hours and always within 24 hours of your form arriving. You get an email with the download link when it is done.

Because a licence cannot be handed back once it is on your account, a sale is final once the licence has been issued. If you paid and the licence has not been issued yet, email me and I will refund you in full. The user guide is public, so you can read exactly what the indicator does before you pay.

The full terms of sale and the privacy notice for buyers are one page each, in plain language.

Trading carries risk of loss. This is an analysis tool, not financial advice, and no indicator can promise a profit.

Questions

Before you buy

Does Flintridge Trader Pro repaint?

In the default Alt-TF Mode, ClosedBar, a signal prints on the first chart bar after an alternate bar closes and is final when that chart bar closes. On the same bars a signal on history sits exactly where a live chart would have printed it, and a chart reload does not move it. Markers and alerts belong to closed bars only. In a per-tick mode a preview moves the step lines, the zones and the dashboard and leaves no trace, and a zone's newest swing is only confirmed Swing High/Low Length bars after the swing. ContainingBar is different: its history signals appear earlier than a live chart would have shown them, by up to the Multiplier minus one chart bars, a live chart can print a signal that the same chart no longer shows after a reload, and history can show one that was never printed live. Do not judge the signals, or run a backtest, on history in that mode.

Why did the signals move when I changed the days loaded?

The alternate-bar grid is counted from the chart's first loaded bar. A different first bar can move the grid, and a moved grid gives different signals. The grid runs on universal time, so a chart that starts in winter and one that starts in summer can differ. To compare two charts, give them the same first bar.

Why do the bands fill the whole panel?

The stop and targets are percentages of the entry price, 0.5 % to 2 % by default, and on a short interval that is wider than the visible range. Lower Level TP1, TP2, TP3 and Stop Loss, or use a longer interval. Fit them to each contract you trade.

How much history does it need?

About 250 bars before everything is drawn, because the EMA 144 and the ATR 50 need their bars and a swing is confirmed 10 bars after it forms. If you see no signals or NaN on the dashboard, load at least 300 bars by raising Days to load in the Data Series dialog.

Can my strategy use its signals?

Yes, with Alt-TF Mode on ClosedBar. TP Line 1, Entry Line, SL Line, Signal and TradeState can be read from a NinjaScript strategy and shown as Market Analyzer columns. With ContainingBar a strategy on historical data trades on values taken from the future, and its result means nothing.

Which NinjaTrader version do I need?

NinjaTrader 8.1 Desktop for Windows; the build is tested on 8.1.9.0. Any data connection that delivers bars works, including the free simulation connection.

Do I need a funded broker account?

No. NinjaTrader 8 is free to download and use for charting and simulation, with free real-time futures data for the simulator. A live account with a broker of your choice is a separate step that this indicator does not need. NinjaTrader is the platform it runs inside, not a broker.

Is there a machine ID or an activation step?

No. The licence is tied to your NinjaTrader account login through NinjaTrader's Vendor Licensing, not to a PC. Log in on any installation and the indicator runs; a new PC needs no transfer.

How fast do I get the licence?

I issue it by hand in the NinjaTrader Vendor Dashboard. It is normally done within a few hours and always within 24 hours of your form arriving, including weekends.

Is this a subscription?

No. It is one payment of 77 USD for a lifetime licence on one NinjaTrader account, with future updates included.

Can I get a refund?

Once the licence has been issued the sale is final, because a licence on your account cannot be handed back. That is why the user guide is public: read it first. If you paid and the licence has not been issued yet, email me and I will refund you in full.

Can I move the licence to another NinjaTrader account?

Yes. Email me from the address you bought with and I will move the licence to your new account login.

Will it make me money?

No indicator can promise that, and this one does not. It gives you a cross read from longer bars, and a stop and targets to fit to your contract and plan around. What you do with that, and how you size positions, decides the outcome.

More tools

Other NinjaTrader 8 indicators I publish

Each one is a compiled NinjaScript Add-On, 77 USD once, with its own page, charts and public user guide.

NinjaTrader 8 indicator

Apex Break PRO

Sloped pivot trendline breakouts for NinjaTrader 8, scored by four filters on closed bars.

$77 one payment, lifetime licence

NinjaTrader 8 indicator

Hyper Trend PRO

SuperTrend flips scored out of five by MACD, EMAs, ADX, volume and Hull slope, with a stop, three targets, an EMA cloud and a multi-timeframe dashboard.

$77 one payment, lifetime licence

See all NinjaTrader 8 indicators

Put it on your chart today

77 USD once. A lifetime licence on your NinjaTrader account, updates included, and the licence issued within 24 hours.