Troubleshooting

🤖 RussBot is a free, open-source binary options trading bot for PocketOption, built on BinaryOptionsToolsV2Get it on GitLab
💬 Need help? Join the Chipa Discord · ⚡ Go no-code with ChipaEditor

Fixes for the issues RussBot users hit most often, roughly in the order you’ll encounter them.

Import & Dependency Errors

ModuleNotFoundError: No module named 'BinaryOptionsToolsV2'

pip install --upgrade BinaryOptionsToolsV2

On Windows, if the PyPI install fails, use the wheel bundled in the repo:

pip install BinaryOptionsToolsV2-0.1.8-cp38-abi3-win_amd64.whl

The launcher (python run_bot.py) diagnoses missing dependencies automatically and prints the exact install commands.

Wrong Python / environment

Make sure you’re installing into the same environment you run from — activate your virtualenv first, or use python -m pip install ... with the same python you launch the bot with.

Connection Issues

Bot hangs or errors right after “Connecting to API…”

  • Verify your SSID — it’s the most common cause. Sessions expire; log into PocketOption again and extract a fresh one (how-to).
  • Check your internet connection and any firewall/VPN interfering with WebSocket traffic.
  • Confirm the account is active — log in via the browser and make sure the platform loads.
  • Run the minimal check: python test_simple_history.py.

not initialized errors in multi-asset mode

Normal during startup — the platform needs a moment to initialize asset data. Each process retries up to 10 times with 2-second waits:

[P2] AUDCAD_otc: Waiting for assets to initialize... (3/10)

If a process exhausts all 10 retries, reduce max_concurrent_processes (the 2-second stagger between process launches can still overwhelm slower connections) or increase the delay.

Balance shows but no candles arrive

Your subscription may be for an asset that’s closed or renamed. Try EURUSD_otc first — it’s the most reliable OTC symbol — and check the asset name against assets-otc.tested.txt (names are case-sensitive, _otc suffix required).

No Trading Signals

The bot runs but never trades

Usually working as intended — all four conditions must align on one candle (see Strategy). Diagnosis steps:

  1. Watch the per-candle check output in single-asset mode:
Buy Check - Green: True, Above EMA: True, CCI~100: False (CCI: 63.20), EMA Up: True

The failing condition is right there — above, CCI never reached the 90–110 window.

  1. If CCI is the constant blocker, raise cci_tolerance in config.json (e.g. from 10 to 15–20).
  2. Confirm indicator readiness — the bot needs ≥ 26 candles. Look for 🟢 Ready for live trading! at startup.

⚠️ Some indicator values are invalid

Not enough valid candles yet (NaN values at the start of the indicator arrays are expected). Wait for more candles, or check that historical loading succeeded — if it printed ⚠️ No historical data received, run python test_history.py to diagnose.

Historical Data Problems

❌ Error loading historical data

The bot continues with live data only (it will trade once 26 live candles accumulate). To fix the root cause:

  • Refresh your SSID
  • Run python test_history.py — it tests multiple history periods (30 min / 1 h / 2 h) and shows the raw candle format
  • Some assets have thin OTC history at off-hours; try a major pair

Candles look wrong (high < low, zero prices)

RussBot already defends against this: candles with non-positive prices are discarded, and the true high/low are recomputed from all four OHLC values. If you see many discarded candles, the asset feed itself is unreliable — switch assets.

Trade Execution Problems

❌ Error executing buy trade

  • Insufficient balance for the configured amount
  • Asset closed for trading at that moment
  • Expired SSID (mid-session expiry does happen on long runs)

Trades execute but results never print

Result checking runs 17 seconds after entry (15s expiry + 2s buffer) in a background task. If the connection dropped in between, the check fails silently for that trade — the trade itself is unaffected and visible in your PocketOption history.

Log Files

FileContents
logs.logGeneral runtime log (when log_to_file is enabled)
error.logErrors only

Set log_level to DEBUG in config.json for maximum detail when reproducing an issue.

Still Stuck?

  1. 💬 Chipa Discord — fastest response; include the failing command and full output
  2. 🐛 GitLab issues — for reproducible bugs; include Python version and OS
  3. 📚 BinaryOptionsToolsV2 docs — for issues in the underlying API layer (connection, candles, trade calls)