futures conversion for integrations
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 integration 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
Set Ticker (called Symbol in NinjaTrader) to the source of the levels you want to plot. For example, use SPX for SPX levels or GLD for GLD levels.
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 integration finds the active contract by itself and moves to the next one at rollover.
Check that it worked
Most integrations 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.
Choose a source and target
| Original source ticker | Original 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 |
The table shows the original pairs, not a limit. The API accepts any listed stock or index ticker with ES, NQ, RTY, YM, GC, SI, or CL. For example, SPX to NQ and GLD to ES both use the affine model by default. Keep the source ticker in the ticker dropdown; select the target future separately. An integration may offer fewer targets than the API.
- Additive: the multiplier stays at
×1.0000; only the offset changes. This remains the default forSPXtoES,NDXtoNQ, andRUTtoRTY. - Affine: the API fits both a multiplier and an offset. Every other combination defaults to this model. For example,
SPYtoEStypically has a multiplier near×10.
A cross-market conversion puts source levels on the target price scale. It does not make unrelated markets equivalent or turn source levels into target-market signals. When you want the same market on a futures chart, prefer its matching index and future.
For the raw values behind this feature, see the Futures Conversion endpoint. The website has its own spot/future control. For live futures, it offers the previous contract through settlement and the next contract near rollover. For a historical day, see historical futures conversion.
How the conversion stays up to date
When a Futures Target is set, the conversion refreshes:
- At startup, as soon as the integration 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 integration 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 integration 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, conversion info is off, or the conversion is unavailable. | Choose a supported target, turn conversion info on, then set Futures Target again. |
| 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 do not match your futures chart | Futures Target differs from the product on your chart, for example an NQ chart with ES selected. | Select 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. |
Related Documentation
overview
What futures conversion is, which tickers and futures it supports, when contracts roll, and where to use it on the website, in integrations, and through the API.
historical sessions (webapp)
View a historical Classic, State, or Orderflow session on a futures price scale. How to choose a contract, how the premium is applied during replay, and the limits.