MultiSignal Bot: trading robot for Python
MultiSignal Bot is an ensemble advisor that makes decisions by majority vote of several indicators.
How the advisor works
The advisor polls three independent signals — RSI momentum, a MACD cross, and price relative to a long moving average — and enters on the side that at least two of them vote for. The idea of an ensemble: a single indicator errs, but the agreement of several is more reliable.
An ensemble reduces the impact of one signal’s error but does not remove the general problem: if all three indicators are trend-based, they err simultaneously in a range. True diversification requires signals of a different nature, not three variations of one trend-following idea.
Parameters and metrics
| Parameter | Value |
|---|---|
| Factors in ensemble | 3 |
| Voting threshold | 2 of 3 |
| Position size | inverse to ATR |
| Instruments | 6 currency pairs |
Check on real data
The advisor's logic was run on real quotes without fitting parameters to history. The rule tested was "MultiSignal: three-signal vote":
- Three signals: RSI(14) above 50, MACD above its signal line, price above EMA(200).
- Long when at least two signals vote up, short when at least two vote down.
- Ensemble approach: the decision is made by majority, not by a single indicator.
Pros and cons
- Reduces the impact of any single indicator’s error.
- A majority decision is more robust than a single signal.
- Transparent voting logic.
- Correlated signals err at the same time.
- Voting lags — it waits for the signals to agree.
- A false sense of reliability from the number of indicators.
Pitfalls
The main illusion of an ensemble is believing that more indicators means more reliable. If the signals are correlated (and RSI, MACD, and price relative to an average are all trend-based), they fail together in a range, and voting does not help. The real value of an ensemble appears only with signals of genuinely different nature.
Who it suits
For traders automating a combination of signals who understand the difference between true diversification and a set of correlated indicators. Requires selecting signals of different nature.
Related methodology
Frequently asked questions
Why is an ensemble not always more reliable than a single signal?
If the signals are correlated, they err at the same time, and majority voting adds no reliability. An ensemble works only when the signals are independent in nature.
Why does this robot use three trend-based signals?
It is a deliberate simplification to illustrate the voting mechanic. In practice such a set is correlated and fails together in a range — which is exactly what the backtest shows.
What did the real run show?
On a trendless sample the ensemble of three trend-based signals went into the red — a vivid demonstration that the number of indicators is no substitute for their independence.