Synthetic US Equities Index

Complete documentation for the ADTS Systems Synthetic US Equities Index indicator for NinjaTrader 8. This guide covers installation, configuration, every feature in detail, and advanced usage patterns.

📦 NinjaTrader 8
📄 v1.0
🕐 ~12 min read

What Is the Synthetic Index?

The Synthetic US Equities Index combines four micro-futures contracts — MNQ (Nasdaq 100), MES (S&P 500), MYM (Dow 30), and M2K (Russell 2000) — into a single weighted composite instrument rendered as its own candlestick chart inside a NinjaTrader sub-panel.

Rather than watching four charts separately, the indicator gives you a unified view of the broad US equity market. When all four indices are moving together, you see clean directional candles. When one diverges, the composite reveals it immediately through mixed signals and elongated wicks.

💡 Key Insight

The synthetic index acts as a market-breadth filter in a single glance. Strong, clean moves on the composite mean broad participation. Indecision on the composite often means sector rotation is underway, even when one individual instrument looks directional.

Full indicator view — 1 Minute — M2K 03-26
Full indicator view

Figure 1 — The synthetic index with all overlays active: VWAP, Price Channel, Volume Histogram, Opening Range, Initial Balance, and the integrated order panel showing live positions.

Requirements

Before installing the indicator, make sure your environment meets these requirements:

ℹ Note

The indicator will automatically detect the correct contract expiry from the chart's primary instrument and build matching instrument names for all four data series. You do not need to configure expiry manually.

Installation

1

Import the Indicator

In NinjaTrader, go to Control Center → Tools → Import → NinjaScript Add-On. Select the .zip file you received after purchase. Click OK to confirm the import.

2

Open a Chart

Open a chart for any of the four micro futures instruments (MNQ, MES, MYM, or M2K). Any timeframe works — 1 minute, 5 minute, 15 minute, etc.

3

Add the Indicator

Right-click the chart → Indicators → search for "Synthetic US Equities Index". Click Add, configure your desired parameters (or use defaults), then click OK.

4

Verify Data Loading

The indicator will appear in its own sub-panel below the main price chart. You should see synthetic candlesticks forming. Check NinjaTrader's output window — the indicator prints the instrument names it resolved on startup (e.g., Synthetic: MNQ 03-26 | MES 03-26 | MYM 03-26 | M2K 03-26).

⚠ Important

Make sure all four instruments have active data subscriptions. If any instrument fails to load, the synthetic index will not compute. Check the NinjaTrader output window for error messages if the sub-panel appears blank.

Quick Start

Once the indicator is loaded on a chart, here's the fastest path to trading:

  1. Verify the panel — the ADTS Systems panel should appear in the top-left corner of the sub-panel. If collapsed, click the button to expand it.
  2. Set quantities — adjust the MNQ, MES, MYM, and M2K quantity spinners to your desired lot size per instrument.
  3. Select your account — make sure ChartTrader at the top of your chart is connected to the correct account (Sim or Live).
  4. Trade — click BUY to go long all four instruments, or SELL to short all four. The flat buttons below show live P&L per leg.
  5. Flatten — click any individual Flat button to close that leg, or CLOSE ALL to flatten the entire basket.

Synthetic Index — How It Works

The synthetic index normalizes each instrument's price to a common base value of 1000 at the start of the data series. Each bar's OHLC is computed by blending the normalized percentage moves of all four instruments according to their assigned weights.

For example, if NQ has moved +0.5% from its base and ES has moved +0.3% from its base (with equal 25% weights each), the synthetic index reflects the weighted average of all four percentage moves, scaled to the 1000 base. This means the synthetic chart always starts near 1000 and moves proportionally to the combined performance of the basket.

ℹ Base Capture

The base prices are captured from the first bar where all four instruments have valid close prices. This happens automatically — you do not need to configure it. If you change the chart's date range, the base recalibrates to the first available bar.

Instrument Weights

Each instrument is assigned a weight that determines how much it contributes to the composite. The default is 0.25 (25%) for each, giving equal representation. Weights are automatically normalized — they don't need to sum to 1.0.

Parameter Instrument Default Description
Weight NAS100 MNQ — Nasdaq 100 0.25 Tech-heavy large cap growth
Weight SPX500 MES — S&P 500 0.25 Broad large cap benchmark
Weight US30 MYM — Dow Jones 30 0.25 Blue chip / value weighted
Weight US2000 M2K — Russell 2000 0.25 Small cap breadth gauge
💡 Weight Strategy Ideas

Set MNQ to 0.5 and the rest to 0.17 to create a tech-heavy composite that amplifies Nasdaq moves. Or set M2K to 0.5 to emphasize small-cap breadth — useful for risk-on/risk-off analysis. Experiment with what gives you the clearest read on your trading thesis.

Candlestick Rendering

The synthetic candlesticks are rendered directly using SharpDX (Direct2D) for maximum performance. This bypasses NinjaTrader's standard plot system, giving you crisp, flicker-free candles with proper wick rendering even at high zoom levels.

Bullish candles render in green, bearish candles in red. Candle body width automatically adapts to the zoom level, clamped between a minimum and maximum pixel width to stay readable at any scale.

Order Panel

🎛

Integrated Basket Execution

The draggable WPF panel in the top-left corner is a complete order management interface. It reads positions from the account selected in ChartTrader and submits market orders through NinjaTrader's native account API.

Panel Layout

The panel consists of three rows:

Order Execution

Clicking BUY submits a market buy order for each of the four instruments at the quantity shown in its spinner. Clicking SELL submits a market sell short. All four orders are submitted simultaneously as separate market orders.

⚠ Live Trading Warning

Orders are submitted immediately as market orders. There is no confirmation dialog. Make sure your account, quantities, and direction are correct before clicking. It is strongly recommended to test on a Sim account first.

P&L Tracking

The panel updates position data every 250 milliseconds, reading directly from the NinjaTrader account object. Each flat button displays:

The CLOSE ALL button shows the combined unrealized P&L of all four instruments. The title bar shows the Account Net P&L which includes realized + unrealized across all positions on the account.

Session VWAP

Volume-Weighted Average Price

The VWAP is computed on the synthetic composite itself — not on any individual instrument. It uses weighted volume from all four futures and resets at each session open. This gives you the fair value of the broad market basket, not just one index.

The VWAP line renders in white and can be toggled on/off via the panel toggle button or the indicator properties.

Price Channel

Dynamic Trend Envelope

The Price Channel is a smoothed envelope overlaid on the synthetic candlesticks. It provides a visual reference for the dominant trend direction and dynamic support/resistance zones on the composite chart. When price is riding the upper band, the broad market trend is bullish; when hugging the lower band, bearish.

The channel renders in yellow and can be toggled via the panel or indicator properties.

Volume Histogram

Weighted Synthetic Volume

Volume from all four instruments is combined using the same weights as the price composite. The resulting synthetic volume is displayed as a histogram at the bottom of the chart, giving you a unified view of participation across the entire basket.

Bars below the volume threshold render in blue. Bars exceeding the threshold render in green to highlight high-activity periods.

Volume Histogram Threshold Absolute volume value — bars above this turn green. Default: 5000
Volume Histogram Max Height Maximum bar height as a proportion of chart panel height (0.1 to 1.0). Default: 0.15

Key Levels

Market Structure Framework

Three sets of key levels are computed directly on the synthetic index, providing structural context that no single instrument chart can show you.

Prior Day High / Low (PDH / PDL)

The previous session's high and low on the synthetic composite. Rendered as light gray dashed lines extending across the chart, labeled PDH and PDL on the right edge.

Opening Range (ORH / ORL)

The high and low of the first five minutes of regular trading hours (9:30–9:35 AM ET). Rendered as a semi-transparent blue rectangle spanning from the 9:30 bar to the right edge, with border lines and labels. The Opening Range is a widely-watched institutional reference — seeing it on the composite tells you where the broad market established its initial range.

Initial Balance (IBH / IBL)

The high and low of the first thirty minutes of regular trading hours (9:30–10:00 AM ET). Rendered as green (IBH) and red (IBL) horizontal lines with labels. A break of the Initial Balance on the synthetic index signals that the broad market has chosen a direction for the session.

💡 Trading Application

Watch for the synthetic index to break above IBH or below IBL. When all four instruments are pushing through their individual IB levels simultaneously, the composite breaks cleanly — this is a high-conviction directional signal. If only one or two break while others hold, the composite will show a weaker break, warning you of potential divergence.

Each key level set can be individually toggled via the indicator properties:

Show Key Levels Master toggle for all key levels. Default: true
Show Prior Day H/L Toggle PDH/PDL lines. Default: true
Show Opening Range Toggle OR rectangle and lines. Default: true
Show Initial Balance Toggle IB lines. Default: true

Position Entry Price Line

When you have an active position across the basket instruments, the indicator calculates your blended entry price on the synthetic index. This is the weighted average of your entry prices across all four instruments, mapped back to the synthetic index scale.

The entry line renders as a dashed horizontal line with a label showing ENTRY LONG or ENTRY SHORT and the computed synthetic price. This lets you visually see where your basket position sits relative to current price action — without having to mentally composite four separate charts.

Entry line visible — 5 Minute — MNQ 03-26
Entry line visible on 5 minute chart

Figure 2 — The "ENTRY LONG 994.14" line shows the blended entry price on the synthetic scale. The trader can instantly see the position is near breakeven relative to the composite.

Bar Countdown Timer

On minute-based chart periods, the price label on the right edge of the chart displays a real-time countdown timer showing the time remaining until the current bar closes. The format is MM:SS.

This is essential for breakout traders who need to know whether a candle close above/below a key level is confirmed, or if there's still time for a reversal before the bar finalizes.

All Parameters Reference

Group Parameter Type Default Description
Weights Weight NAS100 Double (0–1) 0.25 Contribution weight for MNQ
Weights Weight SPX500 Double (0–1) 0.25 Contribution weight for MES
Weights Weight US30 Double (0–1) 0.25 Contribution weight for MYM
Weights Weight US2000 Double (0–1) 0.25 Contribution weight for M2K
Display Show Volume Histogram Bool true Render volume bars at chart bottom
Display Show Price Channel Bool true Render price channel overlay
Display Show VWAP Bool true Render session VWAP line
Display Show Key Levels Bool true Master toggle for PDH/L, OR, IB
Display Volume Histogram Threshold Double 5000 Volume above this turns green
Display Volume Histogram Max Height Double (0.1–1.0) 0.15 Max bar height as % of panel
Key Levels Show Prior Day H/L Bool true Toggle PDH/PDL lines
Key Levels Show Opening Range Bool true Toggle OR rectangle
Key Levels Show Initial Balance Bool true Toggle IBH/IBL lines
UI Panel Position X Double 8 Horizontal position (persisted on drag)
UI Panel Position Y Double 8 Vertical position (persisted on drag)
UI Panel Collapsed Bool false Persist collapsed/expanded state

Toggle Controls

The bottom row of the panel contains four toggle buttons that control feature visibility in real time:

A checkmark (✓) indicates the feature is currently active. Click to toggle. These toggles take effect immediately without needing to reopen the indicator properties dialog.

Panel & Drag

The WPF panel is fully draggable. Click and hold the title bar area and drag to reposition it anywhere within the indicator sub-panel. The position is automatically persisted to the indicator parameters, so it survives chart reloads and workspace saves.

Click the / toggle button on the right side of the title bar to collapse or expand the panel. The collapsed state only shows the title bar and Account Net P&L — useful when you want to maximize chart real estate but keep an eye on your account performance.

Multi-Timeframe Use

The indicator works on any bar period type that NinjaTrader supports — minute, tick, range, Renko, etc. It mirrors the primary chart's bar period for all four data series automatically.

A common workflow is to run the indicator on two charts simultaneously:

ℹ Performance Note

Each instance of the indicator loads four additional data series. Running on two charts means eight additional data series in total. On modern hardware with a good data connection this is not a problem, but be mindful on older systems or very long historical periods.

Account Selection

The order panel reads positions from and submits orders to the account selected in NinjaTrader's ChartTrader toolbar at the top of the chart. To change accounts:

  1. Click the account dropdown in ChartTrader (top of the chart window)
  2. Select the desired account (e.g., Sim101 for simulation, or your live account)
  3. The panel will automatically begin reading positions from the new account
⚠ Account Awareness

Always verify which account is selected before submitting orders. The panel will execute trades on whichever account is active in ChartTrader. There is no separate account selector within the indicator panel.

Market Profile Integration

🔮 Coming Soon

A fifth toggle button is reserved for an upcoming Market Profile integration. This will overlay value area, point of control, and volume distribution directly on the synthetic index — giving you profile-based market structure on the composite. Stay tuned for updates.

Troubleshooting

Blank sub-panel / no candles

Check the NinjaTrader Output Window (Control Center → New → Output Window). Look for errors related to missing instruments. The most common cause is a missing data subscription for one of the four micro futures. Ensure MNQ, MES, MYM, and M2K are all available in your Instruments list with active data.

Panel not visible

The panel may be positioned off-screen. Go to the indicator properties and reset Panel Position X and Panel Position Y to 8. Also check that Panel Collapsed is set to false.

Orders not submitting

Verify that ChartTrader is connected to an active account. The order panel uses the ChartTrader account — if no account is selected or the connection is down, orders will fail silently. Check the Output Window for "No account" messages.

P&L not updating

The P&L display updates every 250ms. If it shows $0 despite having positions, verify that the positions are on the same account that ChartTrader is connected to. Positions on a different account will not be reflected.

Key levels not showing for current day

Key levels require at least one full session of data to compute Prior Day H/L. On the first day of loaded history, PDH/PDL will not display. Opening Range and Initial Balance require bars within their respective time windows (9:30–9:35 and 9:30–10:00 ET). If your chart hasn't loaded bars covering those times yet, the levels won't appear.

Frequently Asked Questions

Can I use this on full-size contracts (NQ, ES, YM, RTY)?

The indicator is configured for micro futures (MNQ, MES, MYM, M2K) by default. Full-size contracts are not supported in the current version but may be added in a future release.

Does the indicator work with replay data?

Yes. The synthetic index computes correctly on historical and replay data. The order panel will not function during replay (no live account), but all visualization features work as expected.

Can I change the index base value from 1000?

The base value of 1000 is currently hardcoded. This is cosmetic — it doesn't affect the proportional relationships between instruments. A configurable base may be added in a future update.

What happens if one instrument's data feed drops?

If an instrument's data feed drops mid-session, its last known price will be used until the feed recovers. The synthetic index will continue to update based on the other three instruments' live data plus the stale value. This prevents the chart from going blank, but the composite accuracy will be degraded until the feed reconnects.

Can I run this alongside other indicators?

Yes. The indicator occupies its own sub-panel and does not interfere with indicators on the main price panel or other sub-panels. You can overlay additional NinjaTrader indicators on the synthetic sub-panel if desired.

Is there a strategy version for automated trading?

Not at this time. The current release is an indicator with manual execution via the integrated panel. An automated strategy version may be considered for a future release.

Contact & Support

For technical support, feature requests, or licensing questions:

When reporting an issue, please include the NinjaTrader version, the instrument and timeframe you're using, and any relevant output from the NinjaTrader Output Window.