SARTrailingSystem
This EA implements a Parabolic SAR-style trailing stop system that manages open positions by dynamically adjusting the stop-loss based on an acceleration factor mechanism. It opens random trades (buy or sell with equal probability) on a timer interval, then trails the stop-loss using SAR logic with configurable acceleration step and cap. The strategy has no directional bias for entries and relies entirely on the SAR trailing mechanism for exits.
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 the Parabolic SAR indicator principle, using an acceleration factor (AF) and extreme point (EP) to dynamically trail the stop-loss. Entry conditions are extremely simple: when RandomTrade is enabled and TimerFlag is true, the EA randomly selects buy or sell with 50% probability, with an initial stop-loss set at a fixed point distance (StopLoss parameter). Exit conditions rely entirely on SAR trailing: for long positions, when price makes a new high, EP is raised and AF increases, calculating delta=AF*(EP-current SL) to move the stop-loss up; for short positions the reverse applies. Position sizing uses a fixed 1 lot volume with no adjustment logic whatsoever. Money management includes only a basic margin check (CheckMargin function) to ensure sufficient free margin before placing orders. The strategy lacks genuine entry signal logic—random entry means no market analysis at all, relying completely on SAR trailing to capture trend profits, which will cause frequent stop-outs in ranging markets.
Strengths
- The SAR trailing stop mechanism is well-established and effectively locks in profits during strong trends, automatically tightening the stop as the trend progresses
- Good parameter configurability with AFStep and AFCap allowing users to adjust trailing sensitivity based on different instruments and market volatility
- Includes basic margin checking to avoid placing orders when funds are insufficient
- Uses new bar detection logic (BarTime) to prevent repeated SL modifications on the same bar, reducing trade frequency
Weaknesses
- Entry logic is completely random with no technical analysis or market judgment—essentially gambling-style entries with no long-term win rate guarantee
- Fixed 1 lot position size ignores account size and volatility, lacking dynamic position sizing—risk is uncontrollable with larger accounts
- SL modification lacks StopLevel minimum distance checking, potentially being rejected by the server if too close to current price
- No take-profit mechanism—profits depend entirely on trailing stops, which may give back significant profits during rapid reversals
- Does not consider spread and slippage—random entry on high-spread instruments incurs significant costs
Possible improvements
- Add technical indicator-based entry signals (e.g., MA crossover, trend filter) to replace random entries, improving strategy logic and win rate
- Implement dynamic position sizing based on account balance and ATR volatility, and add StopLevel distance checking to ensure SL modifications are valid
- Add take-profit logic or time filters (avoiding major news events and low liquidity sessions) to reduce trading under unfavorable conditions
Risk assessment
Overall risk: Medium
- Random entry provides no directional edge—SAR trailing will trigger frequent stop-outs in ranging markets leading to continuous losses
- Fixed 1 lot position ignores account size—small accounts may face account blow-up from excessive single-trade risk
- Missing minimum distance check (StopLevel) for SL modifications may cause order rejections, leaving stops unadjusted
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
TimerTime | 300 | Timer interval in seconds for random trade triggers |
StopLoss | 10 | Initial stop loss distance in points |
AFStep | 0.02 | SAR acceleration factor increment step |
AFCap | 0.2 | SAR acceleration factor maximum cap |
RandomTrade | true | Enable random trade on timer trigger |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.