Exp_TSI_CCI
This EA trades based on crossover signals from the TSI_CCI custom indicator, which combines True Strength Index smoothing with CCI momentum. It opens buy positions when the indicator line crosses above the signal line and sell positions on the opposite crossover, with configurable position closing and money management options.
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 | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
Why this EA never traded: no entry rule survived the conversion.
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.
Blow-up risk: No blow-up pattern found
None of the usual blow-up patterns were found in the code, and the account was not stopped out in our backtests. That is not a guarantee: any EA can lose money.
High: stopped out in our backtest, or martingale/grid sizing without a stop loss. Elevated: martingale or grid sizing with a stop loss, or several positions at once without a stop loss. What the label means and what we found →
Strategy analysis
The strategy concept is based on crossover signals from the TSI_CCI indicator, which applies triple smoothed moving average processing to CCI momentum values. Entry conditions: a buy signal triggers when the indicator line (Ind) crosses above the signal line (Sign) with confirmation that the previous bar had Ind below Sign, and vice versa for sell signals. Exit conditions: sell positions close when the indicator crosses above the signal line, buy positions close on the opposite crossover, supplemented by configurable Stop Loss (1000 points) and Take Profit (2000 points). Position sizing is controlled by the MM parameter with five money management modes: Free Margin, Balance, Loss Free Margin, Loss Balance, and Fixed Lot, defaulting to Fixed Lot mode. The money management allows risk allocation of 10% (MM=0.1) by default across the selected margin mode. The strategy uses an IsNewBar mechanism to ensure signals are calculated only once per bar, preventing duplicate entries, and employs a Recount flag to handle indicator data loading failures with automatic retry logic.
Strengths
- Triple-smoothed CCI momentum indicator provides well-filtered signals reducing false breakouts
- Supports 10 smoothing algorithms offering high strategy flexibility for different market conditions
- IsNewBar mechanism prevents duplicate entries within the same bar
- Complete buy/sell open/close toggles allow flexible directional control
- Recount retry mechanism handles indicator data unavailability, improving robustness
Weaknesses
- Stop loss 1000 and take profit 2000 points are relatively large, may require long wait times in low volatility markets
- No spread filter, which can cause unnecessary losses on high-spread instruments
- Depends on external custom indicator TSI_CCI, deployment requires ensuring the indicator file exists
- No position count limit, potentially leading to overexposure in extreme market conditions
- Many indicator parameters (3 smoothing lengths + phase + method) make optimization difficult and prone to overfitting
Possible improvements
- Add a spread filter mechanism to pause trading when spread exceeds a threshold
- Add maximum position count and daily trade count limits to control risk exposure
- Convert fixed SL/TP to ATR-based dynamic calculation to adapt to different volatility environments
Risk assessment
Overall risk: Medium
- No spread filter, high entry costs in high-spread environments
- No maximum position count limit, potentially accumulating too many same-direction positions in trending markets
- Depends on external indicator file, missing file prevents EA operation but is detected at initialization
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Money management ratio |
MMMode | LOT | Lot calculation mode |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum allowed slippage |
BuyPosOpen | true | Allow buy position opening |
SellPosOpen | true | Allow sell position opening |
BuyPosClose | true | Allow buy position closing |
SellPosClose | true | Allow sell position closing |
InpInd_Timeframe | PERIOD_H4 | Indicator calculation timeframe |
XMA_Method | MODE_EMA | Smoothing algorithm type (SMA/EMA/SMMA/LWMA/JJMA/JurX/ParMA/T3/VIDYA/AMA) |
CCIPeriod | 15 | CCI indicator period |
CCIPrice | PRICE_CLOSE | CCI applied price type |
MomPeriod | 1 | Momentum period |
XLength1 | 5 | First-level smoothing length |
XLength2 | 8 | Second-level smoothing length |
XLength3 | 10 | Third-level smoothing length (signal line) |
XPhase | 15 | Smoothing phase parameter |
SignalBar | 1 | Signal bar index (0=current, 1=previous) |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.