Troubleshooting
🤖 RussBot is a free, open-source binary options trading bot for PocketOption, built on BinaryOptionsToolsV2 → Get 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:
- 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.
- If CCI is the constant blocker, raise
cci_toleranceinconfig.json(e.g. from 10 to 15–20). - 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
| File | Contents |
|---|---|
logs.log | General runtime log (when log_to_file is enabled) |
error.log | Errors only |
Set log_level to DEBUG in config.json for maximum detail when reproducing an issue.
Still Stuck?
- 💬 Chipa Discord — fastest response; include the failing command and full output
- 🐛 GitLab issues — for reproducible bugs; include Python version and OS
- 📚 BinaryOptionsToolsV2 docs — for issues in the underlying API layer (connection, candles, trade calls)