Configuration

🤖 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

RussBot has two configuration surfaces: the runtime config.json (managed by the launcher) and the static config.py (strategy constants). This page documents every setting.

config.json

Created automatically the first time you run python run_bot.py, and editable either by hand or through the launcher’s ⚙️ Configure menu:

{
  "trading": {
    "default_asset": "EURUSD_otc",
    "default_amount": 1.0,
    "expiry_time": 15,
    "candle_interval": 1,
    "min_payout_percentage": 90.0,
    "max_concurrent_processes": 10,
    "min_trade_interval": 16
  },
  "indicators": {
    "ema_period": 10,
    "cci_period": 7,
    "cci_buy_threshold": 100,
    "cci_sell_threshold": -100,
    "cci_tolerance": 10,
    "macd_fast": 12,
    "macd_slow": 26,
    "macd_signal": 9
  },
  "system": {
    "max_history": 100,
    "log_level": "INFO",
    "log_to_file": true,
    "log_to_terminal": true,
    "assets_file": "assets-otc.tested.txt"
  },
  "user": {
    "ssid": "",
    "last_used_asset": "EURUSD_otc",
    "last_used_amount": 1.0
  }
}

Trading settings

SettingDefaultDescription
default_asset"EURUSD_otc"Asset used when you don’t specify one
default_amount1.0Stake per trade, in account currency
expiry_time15Option expiry in seconds
candle_interval1Candle length in seconds for the multi-asset bot
min_payout_percentage90.0Assets paying at or below this are skipped
max_concurrent_processes10Upper bound on simultaneous asset processes
min_trade_interval16Cooldown between trades in seconds (expiry + 1s)

Indicator settings

SettingDefaultDescription
ema_period10EMA lookback period
cci_period7CCI lookback period
cci_buy_threshold100CCI level a buy signal must touch
cci_sell_threshold-100CCI level a sell signal must touch
cci_tolerance10± window around the CCI thresholds
macd_fast12MACD fast EMA period
macd_slow26MACD slow EMA period (also the minimum candle count before trading)
macd_signal9MACD signal-line EMA period

System settings

SettingDefaultDescription
max_history100Maximum candles kept in memory per asset
log_level"INFO"DEBUG, INFO, WARNING, or ERROR
log_to_filetrueWrite logs to file (logs.log, errors to error.log)
log_to_terminaltruePrint logs to the console
assets_file"assets-otc.tested.txt"Asset list used by the multi-asset bot and payout checker

User settings

SettingDescription
ssidYour PocketOption session ID (masked when displayed by the launcher)
last_used_asset / last_used_amountRemembered between runs for convenience

⚠️ config.json stores your SSID in plain text once you save it. Keep the file out of version control and off shared machines.

Configuring via the Launcher

python run_bot.py → option 2 (⚙️ Configure) opens an interactive menu:

1. Trading Settings      — asset, amount, payout threshold, process limit
2. Indicator Settings    — EMA period, CCI period, CCI tolerance
3. System Settings       — log level, terminal logging
4. User Settings         — SSID (displayed masked)
5. View Full Config      — pretty-prints the whole config.json
6. Reset to Defaults
7. Back to Main Menu

Every change is validated (invalid numbers are rejected with the current value kept) and saved back to config.json immediately.

config.py

Static strategy constants used by the single-asset bot, plus a human-readable statement of the strategy rules:

TRADING_CONFIG = {
    # Asset settings
    "asset": "EURUSD_otc",
    "amount": 1.0,
    "expiry_time": 15,  # seconds

    # Indicator settings
    "ema_period": 10,
    "cci_period": 7,
    "macd_fast": 12,
    "macd_slow": 26,
    "macd_signal": 9,

    # Trading rules
    "cci_buy_threshold": 100,
    "cci_sell_threshold": -100,
    "cci_tolerance": 10,
    "min_trade_interval": 16,

    # Data management
    "max_history": 100,

    # Logging
    "log_level": "INFO",
    "log_to_file": True,
    "log_to_terminal": True
}

STRATEGY_RULES = {
    "buy_conditions": [
        "Green candle (close > open)",
        "Price crosses EMA up (close > EMA)",
        "CCI touches 100 (±10 tolerance)",
        "EMA crosses from down up (uptrend)"
    ],
    "sell_conditions": [
        "Red candle (close < open)",
        "Price crosses EMA down (close < EMA)",
        "CCI touches -100 (±10 tolerance)",
        "EMA crosses from up down (downtrend)"
    ]
}

The Asset List

assets-otc.tested.txt ships with ~90 tested OTC assets (forex pairs, crypto, indices, commodities). Lines starting with # are commented out and ignored:

#AAPL_otc          ← disabled
100GBP_otc
ADA-USD_otc
AMZN_otc
AUDCAD_otc
AUDCHF_otc
...

Add or remove assets freely — the Payout Checker and Multi-Asset Bot both read this file.

Tuning Tips

  • More signals: increase cci_tolerance (e.g. 15–20) — entries trigger in a wider window around ±100.
  • Stricter entries: decrease cci_tolerance (e.g. 5) — fewer but more precise CCI touches.
  • Smoother trend filter: raise ema_period (e.g. 20) — fewer whipsaw EMA-slope flips.
  • Wider asset pool: lower min_payout_percentage (e.g. 85) — more assets pass the filter, at lower payout per win.

💡 Not sure what values to use? Ask in the Chipa Discord — or prototype variations visually with ChipaEditor before committing them to your config.