EA_MARSI_1-02
This EA uses a dual EMA-smoothed RSI crossover system to identify trend reversals. A slow and a fast EMA_RSI_VA indicator generate signals when they cross: a bullish crossover opens a buy, a bearish crossover opens a sell, closing any existing opposite position first. It supports optional dynamic lot sizing based on account balance and a configurable drawdown cap.
Open the interactive view (equity curve, symbol switch)Key facts
Backtest results (H1, about 1 year)
Not backtested yet — this EA could not be converted automatically.
Strategy analysis
The strategy concept is based on EMA-smoothed RSI crossovers, using the crossing of slow and fast EMA_RSI_VA lines to capture trend turning points. Entry conditions: buy when the slow line crosses above the fast line, sell when the slow line crosses below the fast line, with signals evaluated only on new bar openings to prevent duplicate trades. Exit conditions rely on opposite crossover signals to close and reverse positions, with optional fixed TP and SL support. Position sizing defaults to fixed lots, but when use_Multpl is enabled, it dynamically adjusts lot size based on the ratio of account balance to Max_drawdown. Money management uses the Max_drawdown parameter to cap maximum drawdown exposure and truncates lots that exceed the symbol's maximum volume limit. SL/TP modification employs a retry loop (up to N_modify_sltp attempts) with 1-second intervals between attempts to improve order modification success rates.
Strengths
- EMA-smoothed RSI reduces noise signals; dual-period crossover strategy logic is clear and well-structured
- New bar detection prevents duplicate trades within the same candle
- Dynamic lot sizing based on account balance provides proportional risk scaling
- SL/TP modification retry mechanism improves order modification reliability
Weaknesses
- Default SL and TP are both 0, meaning positions have no protective stop-loss or take-profit, creating significant risk exposure
- Only supports single-symbol single-position trading, cannot handle multiple positions or hedging scenarios
- The close() function improperly handles OrderSend failure — GetLastError() is called but its return value is unused
- Lacks spread filter, trading session filter, and other common risk control mechanisms
- PositionSelect uses Symbol() instead of magic number filtering, potentially interfering with positions from other EAs
Possible improvements
- Add default or mandatory SL/TP values to prevent unlimited loss exposure when users leave them at 0
- Use magic number to filter positions instead of Symbol() alone, avoiding conflicts with positions from other EAs
- Add spread filter and trading session filter to avoid trading during high-spread or low-liquidity periods
- Fix the close() function to properly capture and handle the error code from GetLastError() instead of discarding it
Risk assessment
Overall risk: Medium
- Default SL/TP of 0 leaves positions without stop-loss protection, risking significant losses
- Position selection relies on Symbol() rather than magic number, risking accidental closure of other EAs' positions
- No spread or session filters may cause entries under unfavorable market conditions
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
Lots | 0.1 | Fixed trading lot size |
TP | 0 | Take-profit in points |
SL | 0 | Stop-loss in points |
Slippage | 65 | Maximum allowed slippage |
magic | 303300 | Order magic number for EA order identification |
N_modify_sltp | 7 | Maximum retry count for SL/TP modification failures |
use_Multpl | false | Whether to enable dynamic position sizing |
Max_drawdown | 10000 | Maximum drawdown reference for dynamic position sizing |
slow_RSIPeriod | 310 | Slow RSI period |
slow_EMAPeriods | 40 | Slow EMA smoothing period |
slow_Price | PRICE_CLOSE | Slow line applied price type |
fast_RSIPeriod | 200 | Fast RSI period |
fast_EMAPeriods | 50 | Fast EMA smoothing period |
fast_Price | PRICE_CLOSE | Fast line applied price type |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.