Exp_SMI_Correct
This EA trades based on the SMI Correct indicator, which is a Stochastic Momentum Index variant with multi-layer smoothing. It generates buy signals when the SMI main line crosses above the signal line and sell signals on the reverse crossover, with configurable position sizing and stop loss/take profit management.
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 core strategy of this EA is based on the crossover of the SMI Correct indicator's main line and signal line. Entry conditions: a buy position opens when the main line crosses above the signal line, and a sell position opens when the main line crosses below the signal line. Exit conditions include fixed stop loss and take profit controlled by StopLoss_ and TakeProfit_ parameters, along with signal-based closing when the crossover reverses direction. Position sizing is managed through the MM parameter which controls the risk percentage, supporting multiple margin modes including free margin, balance, loss-adjusted margin, and fixed lot size. The indicator employs triple smoothing (EMA, JJMA, etc.), where the first layer smooths the extremum period data, the second smooths the main line, and the third smooths the signal line. The strategy also uses a new bar detection mechanism (IsNewBar) to prevent repeated trading within the same bar.
Strengths
- Triple-smoothed SMI indicator produces cleaner signals with fewer false crossovers
- Multiple money management modes provide high flexibility in position sizing
- New bar detection mechanism prevents repeated entries within the same bar
- Independent buy/sell enable switches allow directional-only trading
- Configurable stop loss and take profit provide basic risk management
Weaknesses
- No spread filter, which may be detrimental in high-spread environments
- No position check before opening, potentially leading to duplicate positions
- Depends on custom external indicator file SMI_Correct, making deployment complex
- No trailing stop mechanism, insufficient profit protection
- Numerous SMI parameters make optimization difficult and prone to overfitting
Possible improvements
- Add spread filtering to avoid opening positions during high-spread conditions
- Add position checking logic to prevent duplicate entries in the same direction
- Add trailing stop functionality for better protection of floating profits
Risk assessment
Overall risk: Medium
- No position check may lead to duplicate entries causing excessive exposure in the same direction
- Lack of spread filter makes trading costs unpredictable
- 1000-point stop loss is relatively large, potentially resulting in significant single-trade losses
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Money management ratio per trade |
MMMode | LOT | Margin mode for position sizing (free margin/balance/fixed lot etc.) |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum allowed slippage in points |
BuyPosOpen | true | Enable buy position opening |
SellPosOpen | true | Enable sell position opening |
BuyPosClose | true | Enable buy position closing |
SellPosClose | true | Enable sell position closing |
InpInd_Timeframe | PERIOD_H4 | Indicator timeframe |
ExtrPeriod | 13 | Extremum period length |
MA_Method1 | MODE_EMA_ | First smoothing method |
Length1 | 25 | First smoothing period |
Phase1 | 15 | First smoothing phase parameter |
MA_Method2 | MODE_JJMA | Second smoothing method |
Length2 | 3 | Second smoothing period |
Phase2 | 15 | Second smoothing phase parameter |
MA_Method3 | MODE_JJMA | Third smoothing method |
Length3 | 5 | Third smoothing period |
Phase3 | 15 | Third smoothing phase parameter |
IPC | PRICE_CLOSE_ | Applied price type for indicator calculation |
Shift | 0 | Indicator display shift |
HighLevel | +50 | Overbought level |
MiddleLevel | 0 | Middle neutral level |
LowLevel | -50 | Oversold level |
SignalBar | 1 | Bar index for signal detection |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.