Combo_Right
This EA combines a basic CCI-based trading signal with up to three perceptron neural networks (sale, buying, and general) to generate buy/sell signals. The perceptrons use weighted price differences over configurable historical periods, and the operating mode (pass parameter) selects which signal source drives trade decisions. Positions are opened with fixed lot sizes and configurable stop-loss/take-profit levels.
Open the interactive view (equity curve, symbol switch)Key facts
Backtest results (H1, about 1 year)
| Symbol | P&L | Annual | Max DD | Trades | Win rate | Sharpe | Recovery | Losing streak | Per trade | Status |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | -3.41% | -2.97% | 8.98% | 3 | 33.30% | — | — | — | — | Too few trades |
| GBPUSD | +1.89% | +1.64% | 7.23% | 3 | 33.30% | — | — | — | — | Too few trades |
| USDJPY | +1.52% | +1.32% | 4.79% | 144 | 58.30% | 0.30 | 0.32 | 5 | +$0.96 | Reliable |
| XAUUSD | +119.89% | +91.75% | 30.57% | 152 | 51.30% | 2.29 | 3.92 | 6 | +$81.04 | Reliable |
Profitable on 2 of 2 markets with reliable results.
Converted from MQL5 to Python and run with the same rules for every EA. Positions use MT5 lot sizes (100,000 units per FX lot, 100 oz per gold lot) with 1:100 leverage, one order at a time, and a stop-out below 10% of the starting balance. Sharpe is computed from the equity curve. Results marked as unreliable are shown for completeness only.
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| USDJPY | 69% | +1.87% 2026-03 | -2.09% 2026-08 |
| XAUUSD | 54% | +52.07% 2026-02 | -9.62% 2026-08 |
From the backtest equity curve, sampled about every two days; only reliable results.
Strategy analysis
Strategy concept: This EA merges a traditional CCI indicator signal with perceptron neural networks, forming a hybrid trading system. Entry conditions: The basic system uses the CCI value as a signal (positive for buy, negative for sell); the perceptron system computes a weighted sum of close price differences across multiple time offsets, where the sale perceptron negative output triggers sells, the buying perceptron positive output triggers buys, and the general perceptron determines final direction priority. Exit conditions: Relies entirely on fixed-point stop-loss and take-profit for position closure, with no trailing stop or other dynamic exit mechanisms. Position sizing: Uses a fixed lot size (lots parameter) with no dynamic sizing based on account balance or risk percentage. Money management: Three perceptron sets each have independent SL/TP parameters (sl2/tp2, sl3/tp3), and the basic system has sl1/tp1, but there is no overall money management framework. Operating mode is controlled via the pass parameter: 1=basic system only, 2=sale perceptron only, 3=buying perceptron only, 4=all perceptrons combined for joint decision-making.
Strengths
- Flexible multi-mode operation design allowing choice between pure CCI signals or perceptron-enhanced signals
- Perceptrons use price differences as inputs, providing some price momentum capture capability
- SL/TP validation mechanism (CheckBuySL/TP etc.) prevents opening positions too close to stop levels
Weaknesses
- Default perceptron weights are all zero (100-100=0), making perceptron output always zero in default config, effectively useless
- Fixed lot sizing with no money management, no dynamic position adjustment based on account risk
- No training/optimization mechanism for perceptrons, weights require manual tuning, lacking adaptive learning
- SL/TP parameters declared as double but used as int point values, type inconsistency risk
- No trailing stop, no partial close, no signal-reversal close mechanism
Possible improvements
- Add automatic optimization mechanism for perceptron weights such as genetic algorithm or gradient descent for market adaptivity
- Implement dynamic position sizing based on account balance and risk ratio for automated lot calculation
- Add trailing stop and signal-reversal close logic to improve exit strategy flexibility
- Fix the SL/TP parameter type inconsistency, standardize to either int or double throughout
Risk assessment
Overall risk: Medium
- Default weights all zero makes perceptrons ineffective, users may mistakenly believe perceptrons are active
- Fixed lot sizing without risk control, small accounts could blow up from a single large loss
- SL/TP parameters are double type but functions expect int, implicit truncation risk exists
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
tp1 | 500 | Base system take profit in points |
sl1 | 500 | Base system stop loss in points |
CCIPeriod | 10 | CCI indicator period |
CCIPrice | PRICE_OPEN | CCI indicator applied price |
x12 | 100 | Sell perceptron weight 1 |
x22 | 100 | Sell perceptron weight 2 |
x32 | 100 | Sell perceptron weight 3 |
x42 | 100 | Sell perceptron weight 4 |
tp2 | 500 | Sell perceptron take profit points |
sl2 | 500 | Sell perceptron stop loss points |
p2 | 20 | Sell perceptron historical data period |
x13 | 100 | Buy perceptron weight 1 |
x23 | 100 | Buy perceptron weight 2 |
x33 | 100 | Buy perceptron weight 3 |
x43 | 100 | Buy perceptron weight 4 |
tp3 | 500 | Buy perceptron take profit points |
sl3 | 500 | Buy perceptron stop loss points |
p3 | 20 | Buy perceptron historical data period |
x14 | 100 | Universal perceptron weight 1 |
x24 | 100 | Universal perceptron weight 2 |
x34 | 100 | Universal perceptron weight 3 |
x44 | 100 | Universal perceptron weight 4 |
p4 | 20 | Universal perceptron historical data period |
pass | 1 | Run mode: 1=Base, 2=Sell, 3=Buy, 4=All perceptrons |
lots | 0.1 | Fixed trading lot size |
Shift | 1 | Price bar shift: 0=current, 1=last closed bar |
Similar Machine Learning EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.