Strategy

πŸ€– 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

RussBot implements a multi-indicator confluence strategy: it only trades when several independent signals agree at the same moment. This page explains each rule and the reasoning behind it.

The Setup

ParameterValueWhy
Candle timeframe15 secondsMatches the expiry β€” each signal candle maps to one option
Expiry15 secondsUltra-short-term momentum plays
EMA period10Fast-reacting trend baseline
CCI period7Sensitive overbought/oversold detector
MACD12, 26, 9Momentum confirmation and minimum-data gate
MartingaleNoneFlat staking keeps risk per trade constant
Trade cooldown16 secondsOne position at a time (expiry + 1s buffer)

Buy (CALL) Signal

All four conditions must be true on the same candle:

#ConditionCode checkWhat it tells us
1Green candleclose > openImmediate buying pressure
2Price above EMAclose > EMA(10)Price has crossed to the bullish side of the trend line
3CCI touches +100abs(CCI - 100) <= 10Momentum strong enough to reach the overbought threshold
4EMA risingEMA now > EMA previousThe short-term trend itself is turning up

Sell (PUT) Signal

The exact mirror image:

#ConditionCode checkWhat it tells us
1Red candleclose < openImmediate selling pressure
2Price below EMAclose < EMA(10)Price has crossed to the bearish side of the trend line
3CCI touches βˆ’100abs(CCI + 100) <= 10Momentum strong enough to reach the oversold threshold
4EMA fallingEMA now < EMA previousThe short-term trend itself is turning down

How the Pieces Fit Together

  1. Trend identification β€” the EMA(10) defines the micro-trend. Rules 2 and 4 require both price position and EMA slope to agree, filtering out counter-trend noise.
  2. Entry timing β€” CCI at Β±100 (rule 3) marks the moment momentum reaches an extreme. The Β±10 tolerance window means the bot fires as CCI touches the level rather than long after it has blown through.
  3. Confirmation β€” the candle color (rule 1) is the final sanity check that the current bar is actually moving in the signal direction.
  4. Execution β€” only when all four align does the bot place a 15-second option via api.buy() or api.sell().

The MACD(12, 26, 9) is calculated on every candle and displayed in the analysis output; its 26-period slow EMA also acts as the strategy’s minimum-data gate β€” the bot refuses to trade until it has at least 26 candles, so every indicator is statistically meaningful.

Signal Evaluation in Code

The actual buy check from trading_bot.py:

def check_buy_signal(self, indicators: Dict, current_candle: Dict) -> bool:
    current_close = float(current_candle.get('close', 0))
    current_open = float(current_candle.get('open', current_close))
    current_ema = indicators['ema']
    current_cci = indicators['cci']

    # Check if current candle is green
    is_green_candle = current_close > current_open

    # Check if price crosses EMA up (close above EMA)
    price_above_ema = current_close > current_ema

    # Check if CCI touches 100 (within tolerance)
    cci_touches_100 = abs(current_cci - 100) <= 10  # 10 point tolerance

    # Check EMA trend (crosses from down to up)
    ema_uptrend = False
    if self.prev_ema is not None:
        ema_uptrend = current_ema > self.prev_ema

    return is_green_candle and price_above_ema and cci_touches_100 and ema_uptrend

Risk Management Rules

  • No martingale β€” the stake never increases after a loss. Every trade risks the same configured amount.
  • 16-second cooldown β€” min_trade_interval guarantees the previous option has expired (15s) plus a 1-second buffer before a new one can open. The bot never stacks positions.
  • Payout filtering (multi-asset mode) β€” assets paying 90% or less are skipped entirely, so winners always earn near-full payout. See Payout Checker.
  • All-or-nothing signals β€” a single failing condition vetoes the trade. Expect the bot to sit idle in ranging or unclear markets; that is by design.

Tuning the Strategy

Every threshold is configurable β€” see Configuration:

  • Raise cci_tolerance (default 10) to get more signals at lower quality; lower it for fewer, stricter entries.
  • Change ema_period to make the trend baseline faster (smaller) or smoother (larger).
  • Adjust min_payout_percentage to trade a wider or narrower set of assets in multi-asset mode.

πŸ’‘ Want to experiment with variations of this strategy β€” different indicators, timeframes, or entry rules β€” without editing Python? ChipaEditor lets you build and backtest strategy ideas no-code, and the #trading-bots channel on the Chipa Discord is full of people tuning RussBot setups.

Risk Disclaimer

⚠️ No strategy wins every trade. 15-second binary options are extremely volatile instruments. Use a demo account until you trust the behavior, and never risk money you cannot afford to lose.