Plot levels on futures charts
Show gexbot levels on your ES, NQ, or other futures chart with automatic futures conversion. Which Ticker and Futures Target to use, how it refreshes, and how to fix levels that do not line up.
You trade ES, but gexbot calculates its levels on the options underlying, SPX. The two prices are not the same, so SPX levels drawn on an ES chart land in the wrong place. Automatic futures conversion fixes that. The plugin asks the gexbot API for the current basis between the underlying and the future, then moves every strike, profile bar, and major line onto the futures scale. The levels line up with your futures chart without any manual math.
The same feature exists in every gexbot integration. This page explains it once, for all of them. The setting names differ slightly from one platform to another, and the table below lists them.
Set it up in three steps
Set the Ticker to the underlying
In the indicator's settings, set Ticker (called Symbol in NinjaTrader) to the source symbol that matches your future. For an ES chart, use SPX. For an NQ chart, use NDX. The supported pairs table lists every combination.
Set the Futures Target to the futures product
Type the futures product code in Futures Target, for example ES or NQ. Do not type a contract month such as ESZ6. The plugin finds the active contract by itself and moves to the next one at rollover.
Check that it worked
Most plugins show the result on the chart, for example SPX → ESZ6 ×1.0000 +xx.xx. It shows the resolved contract, the multiplier, and the additive offset. Compare one level with the chart to confirm it lands where you expect.
Nothing else to change
The chart stays on your futures contract with its normal symbol. Ticker only controls which data is requested, and Futures Target only controls how it is converted. Leave Futures Target blank and the levels stay on the underlying's own scale.
Supported pairs
| Source ticker | Futures Target | Your chart | API default model |
|---|---|---|---|
SPX | ES | ES | Additive |
SPY | ES | ES | Affine |
NDX | NQ | NQ | Additive |
QQQ | NQ | NQ | Affine |
RUT | RTY | RTY | Additive |
IWM | RTY | RTY | Affine |
DIA | YM | YM | Affine |
GLD | GC | GC | Affine |
SLV | SI | SI | Affine |
USO | CL | CL | Affine |
Only these pairs are supported. Any other combination returns no conversion.
- Additive: one index point equals one futures point, so the multiplier stays at exactly
×1.0000and only the basis offset changes. This is what you get forSPXtoESandNDXtoNQ. - Affine: the ETF or product trades on a different price scale from its future, so both a multiplier and an additive offset are calculated. For example, the multiplier for
SPYtoESis close to×10.
If you can choose between an index and an ETF for the same future, prefer the index (SPX or NDX). Its conversion is a simple offset and is the most precise.
For the raw values behind this feature, see the Futures Conversion endpoint.
How the conversion stays up to date
When a Futures Target is set, the conversion refreshes:
- At startup, as soon as the plugin loads.
- When you change the Ticker or the Futures Target, right away.
- During the regular US session (Monday to Friday, 9:30 AM to 4:00 PM ET): at 9:30, at 9:32, and then every 15 minutes.
Outside the session the plugin keeps the last values. Right after the open the API may have fewer than 30 minutes of matched data. It then fills the gap from the end of the previous session, so the first values are still usable. If a refresh fails, the plugin keeps the previous values and tries again at the next scheduled refresh.
Exact timing depends on the platform
The schedule above applies to most integrations. Each platform page describes its own cadence in its Futures Conversion section, for example the NinjaTrader and Quantower pages.
Setting names by platform
| Platform | Source field | Target field | Manual conversion fields |
|---|---|---|---|
| ATAS and ATAS X | Ticker | Futures Target | Multiplier (auto) and Additive / Premium (auto) are filled by the API. Strike Multiplier and Strike Additive Offset add a permanent manual adjustment. |
| NinjaTrader | Symbol | Futures Target | Futures Premium (Additive) and Futures Premium (Multiplicative), used only while Futures Target is empty. |
| Sierra Chart | Ticker | Futures Target (Auto-Convert) | Set Multiplicative Futures Premium and Set Additive Futures Premium, editable only while the target is blank. |
| MotiveWave | Ticker | Futures Target (Auto-Convert) | Strike Multiplier and Strike Additive Offset. |
| Quantower | Ticker | Futures Target | Manual Multiplier and Manual Premium, used only while Futures Target is empty. |
| cTrader | Ticker | Futures Target | Multiplier (auto) and Additive / Premium (auto), plus Strike Multiplier and Strike Additive Offset. |
| Bookmap | Ticker (per profile) | Futures Target (optional) (per profile) | None. The conversion is requested from the server for each profile. |
| TradingView | Ticker list | Preset futures pairs | A manual additive and multiplicative conversion is available in the app. |
Adjust it manually
The automatic values are the recommended choice. Manual adjustments exist for special cases:
- A fixed conversion with no API call: leave Futures Target blank and type your own multiplier and additive in the manual fields of your platform, or in Strike Multiplier and Strike Additive Offset where available.
- A permanent personal offset on top of the automatic conversion: use Strike Multiplier and Strike Additive Offset, where your platform has them. The automatic refresh never overwrites them.
- Editing the automatic values: on platforms where Multiplier (auto) and Additive / Premium (auto) are editable, the next refresh overwrites your value while Futures Target is filled.
Most users never touch these fields.
Troubleshooting
| What you see | Likely cause | What to do |
|---|---|---|
| No conversion line on the chart | Futures Target is blank, the pair is not in the table above, conversion info is turned off, or the first refresh has not finished. | Check the pair, turn the conversion info option on, then change Futures Target and set it back to force an immediate refresh. |
| Levels are hundreds of points away from price, or off the chart | The conversion is not active, so levels are still on the SPX or NDX scale. | Fill Futures Target and confirm the conversion line appears. |
| Levels are a few points off | Futures Target does not match the future on your chart, for example an NQ chart with the target set to ES. | Set Futures Target to the product on your chart. |
Nothing changes after typing ESZ6 or NQZ6 | Futures Target expects the product code, not a contract month. | Use ES or NQ. |
Multiplier and additive reset to ×1.0000 +0.00 | You changed the Ticker or the Futures Target. The values reset and are requested again. | Wait a few seconds for the new values to load. |