gexbot docs
portal & bots

troubleshooting & FAQ

Common setup resolutions for desktop plugins, browser tab sleeping, Windows DLLs, Java runtimes, API rate limits, and WebSocket reconnections.

This guide provides troubleshooting solutions for desktop integrations, web platform latency, API connectivity, and synthetic futures pricing.


Web Platform & Live Latency

Browser Tab Sleeping & Latency Spinner

If the latency indicator in the bottom-right corner displays yellow/red or large timestamp delays when switching back to the browser tab, the browser has throttled background JavaScript execution.

Resolution:

  • In Google Chrome / Brave / Edge, navigate to Settings → Performance.
  • Under Always keep these sites active, add: https://www.gexbot.com
  • This ensures uninterrupted real-time WebSocket tick processing and chart rendering.

Desktop Plugins

1. Windows DLL "Blocked" Security Attribute

Windows blocks .dll files downloaded from the internet. Blocked files fail to load in ATAS, Sierra Chart, NinjaTrader, or Quantower.

Resolution:

  1. Open PowerShell as Administrator.
  2. Run Unblock-File on the downloaded DLL:
    Unblock-File -Path "C:\Path\To\Gexbot_ATAS.dll"
  3. Alternatively, right-click the .dll file in Windows Explorer, select Properties, check Unblock at the bottom, and click Apply.

2. Sierra Chart DLL Location

Sierra Chart requires custom studies to reside in its data directory.

Resolution:

  • Copy gexbot.dll directly to your Sierra Chart Data path (typically C:\SierraChart\Data\ or C:\SierraChartInstance_1\Data\).
  • In Sierra Chart, click Analysis → Build/Open Custom Studies DLL to verify compilation or load status.
  • Configure all parameters in the Settings and Inputs tab (not Subgraphs).

3. Bookmap & MotiveWave Java Runtime Setup

  • Bookmap: Install Java 17 or higher. Add the add-on through the in-app Add-ons manager.
  • MotiveWave: Ensure MotiveWave is closed before placing the JAR in the Extensions directory.

4. NinjaTrader 8 Compatibility

  • NinjaTrader plugin requires NinjaTrader 8.1+ (64-bit).
  • If upgrading, remove legacy Newtonsoft.Json.dll from the NinjaTrader bin directory before importing modern assemblies.

Developer API & WebSocket

1. Daily Quota Reset Schedule

  • Daily API request quotas and hourly burst rate limits reset every night at Midnight US Eastern Time (00:00 ET).

2. HTTP 429 Too Many Requests

If your application exceeds your subscription rate limit, the API returns status code 429.

Resolution:

  • Inspect the Retry-After HTTP response header.
  • Implement exponential backoff in your HTTP client:
    import time, requests
    
    def fetch_with_backoff(url, headers, max_retries=3):
        for attempt in range(max_retries):
            response = requests.get(url, headers=headers)
            if response.status_code == 429:
                wait_time = int(response.headers.get("Retry-After", 2 ** attempt))
                time.sleep(wait_time)
                continue
            return response
        return response

3. WebSocket Handshake Timeout & Reconnections

  • The client URL returned by POST /v2/negotiate expires after 15 minutes if not connected.
  • If the WebSocket disconnects, negotiate a new client token via POST /v2/negotiate before reconnecting.
  • To modify group subscriptions on an active connection without reconnecting, send a PATCH /v2/negotiate request.

Synthetic Futures Pricing & Basis Offset

Why does SPX 5,000 not equal ES 5,000?

Cash indices (SPX, NDX, RUT) and equity index futures (ES, NQ, RTY) trade with a basis offset.

Basis Offset Factors:

  1. Dividend Yield Drag: S&P 500 dividends reduce the future cash value.
  2. Cost of Carry / Interest Rates: Short-term interest rates increase the futures price relative to spot until expiration.
  3. Fair Value Basis Formula:
    Futures Price = (Cash Index × Multiplier) + Basis Offset
  4. Historical Replay Calibration: When calibrating historical basis for replay charts:
    Additive Offset = Futures Price - (Spot Price × Multiplier)
    Use the Level Converter to convert strike levels automatically.

On this page