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.
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.
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.
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:
- NinjaTrader 8 — latest stable release recommended
- Market data subscription for all four micro futures: MNQ, MES, MYM, M2K
- Active connection to a supported data provider (Rithmic, CQG, Kinetick, etc.)
- Sim or Live account configured in NinjaTrader if you intend to use the order panel
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
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.
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.
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.
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).
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:
- 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.
- Set quantities — adjust the MNQ, MES, MYM, and M2K quantity spinners to your desired lot size per instrument.
- Select your account — make sure ChartTrader at the top of your chart is connected to the correct account (Sim or Live).
- 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.
- 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.
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 |
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:
- Title Bar — shows "ADTS Systems Synthetic US Equities Index", the account's Net P&L, and the collapse toggle. Drag this bar to reposition the panel.
- Quantity & Execution Row — four instrument labels with quantity spinners (MNQ, MES, MYM, M2K), plus BUY and SELL buttons.
- Flatten Row — four individual Flat buttons (one per instrument) showing live position direction, size, and unrealized P&L, plus the CLOSE ALL button showing total basket P&L.
- Toggle Row — feature toggle buttons for VWAP, Volume, Price Channel, and Key Levels.
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.
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:
- Position direction — "L" for long, "S" for short
- Quantity — number of contracts held
- Unrealized P&L — in dollars, color-coded green (profit) or red (loss)
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.
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.
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:
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.
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:
- ✓ VWAP — show/hide the session VWAP line
- ✓ Volume — show/hide the volume histogram at chart bottom
- ✓ Price Channel — show/hide the price channel overlay
- ✓ Key Levels — show/hide all key level lines (PDH/L, OR, IB)
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:
- Higher timeframe (e.g., 5-minute) for trend direction, key levels, and the Price Channel
- Lower timeframe (e.g., 1-minute) for precise entries, bar countdown timing, and volume surges
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:
- Click the account dropdown in ChartTrader (top of the chart window)
- Select the desired account (e.g.,
Sim101for simulation, or your live account) - The panel will automatically begin reading positions from the new account
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
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:
- Website — www.adtssystems.com
- Email — contact@adtssystems.com
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.