SAR RSI MTS
This EA combines Parabolic SAR direction changes with RSI momentum confirmation to generate trend-following trade signals on new bar formation. It opens buy positions when SAR flips below price and RSI is rising above 50, and sell positions when SAR flips above price and RSI is falling below 50. Position sizing uses fixed margin risk percentage with trailing stop management for open trades.
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
Strategy concept: This EA is a classic trend-following system that uses Parabolic SAR to detect trend direction reversals and RSI as a momentum filter to confirm trend strength. Entry conditions: Long entry requires four conditions — previous SAR below close price (SAR beneath price), SAR increasing from previous to current bar (confirming SAR flip tracking the trend), current RSI above 50 (bullish momentum confirmation), and current RSI higher than previous RSI (momentum acceleration confirmation); short entry conditions are symmetrically opposite. Exit conditions: Fixed stop loss and take profit (10 pips SL / 40 pips TP), plus a trailing stop (15 pips trailing stop + 5 pips step) that adjusts the stop loss when price moves favorably beyond the trailing distance plus step increment. Position sizing: Uses CMoneyFixedMargin class to calculate lot size based on risk percentage (default 1%) and available free margin, with a pre-check via CTrade.CheckVolume to avoid insufficient margin errors. Money management: Allows up to 6 simultaneous positions for the same strategy, with SL/TP input in pips auto-adjusted for 3/5 digit brokers. The trailing stop handles long and short positions separately, ensuring stops only move in the favorable direction.
Strengths
- Dual confirmation from SAR and RSI reduces false signals with clear logical structure
- Fixed margin risk percentage for position sizing provides disciplined money management
- Trailing stop mechanism locks in floating profits and protects gains
- New bar detection prevents duplicate entries within the same bar, reducing overtrading
- Maximum 6 position limit provides a reasonable cap on concurrent exposure
Weaknesses
- 10-pip stop loss is too tight for H1 timeframe, easily triggered by market noise
- 4:1 reward-to-risk ratio is reasonable but 10-pip SL is almost guaranteed to be hit on volatile pairs
- No spread filter — opening positions on high-spread pairs may immediately be in loss
- SAR frequently flips in ranging markets, generating numerous false signals and consecutive losses
- CompareDoubles uses m_symbol.Digits() for RSI comparison which is incorrect — RSI ranges 0-100 while Digits reflects price precision
- 6 concurrent positions can accumulate significant adverse exposure during choppy market conditions
Possible improvements
- Fix CompareDoubles logic for RSI comparison — should use a fixed decimal precision (e.g., 2 digits) instead of price Digits for comparing RSI values
- Add spread filter and ranging market detection (e.g., ADX filter) to avoid opening positions under unfavorable conditions
- Stop loss should be dynamically calculated based on ATR rather than fixed pips to adapt to different volatility environments
Risk assessment
Overall risk: Medium
- Tight 10-pip stop loss on H1 timeframe is easily triggered, causing frequent small losses
- CompareDoubles function uses price Digits for RSI comparison which is logically flawed and may cause incorrect signal judgment
- No spread filter means opening costs erode profits on high-spread instruments
- 6 concurrent positions can accumulate significant risk exposure during choppy markets
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
InpStopLoss | 10 | Stop loss in points |
InpTakeProfit | 40 | Take profit in points |
InpTrailingStop | 15 | Trailing stop distance in points |
InpTrailingStep | 5 | Trailing stop step in points |
Risk | 1 | Risk percentage per trade of free margin |
m_magic | 16752152 | Magic number to identify strategy positions |
SAR_step | 0.05 | SAR acceleration factor step |
SAR_maximum | 0.5 | SAR acceleration factor maximum value |
RSI_ma_period | 14 | RSI averaging period |
RSI_applied_price | PRICE_CLOSE | RSI applied price type |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.