StraddleqTrail
StraddleqTrail is a breakout Expert Advisor that places straddle (buy stop and sell stop) pending orders around a defined price level or range, then trails the stop-loss as price moves in favor. It captures breakout momentum from consolidation periods by using pending orders on both sides and managing positions with a trailing stop mechanism.
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.74% | -0.64% | 4.81% | 124 | 50.40% | — | — | — | — | Same as other EAs |
| GBPUSD | -0.67% | -0.58% | 6.45% | 125 | 48.40% | — | — | — | — | Same as other EAs |
| USDJPY | -0.96% | -0.83% | 5.83% | 125 | 51.60% | — | — | — | — | Same as other EAs |
| XAUUSD | +62.03% | +49.00% | 37.53% | 123 | 50.80% | — | — | — | — | Same as other EAs |
On every market this backtest is identical to EA-17641, EA-19510, EA-19981, EA-20166, EA-20670. The automatic conversion almost certainly lost what makes this EA different (a custom indicator, a filter or the money management), so these results are not ranked or counted.
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
This EA employs the classic Straddle breakout strategy, placing both buy stop and sell stop pending orders above and below a price range during market consolidation, waiting for a breakout in either direction to trigger entry. Entry conditions are based on price breaking through predefined upper or lower boundaries, activating the corresponding pending order. Exit conditions include a trailing stop mechanism that progressively moves the stop-loss in the direction of profit as price moves favorably, as well as hitting fixed stop-loss or take-profit targets. Position sizing relies on user-configured lot sizes without visible dynamic position sizing or equity-based calculation logic. Money management depends on the user manually setting reasonable stop-loss and lot parameters, lacking automated risk control mechanisms. The strategy performs optimally during major news events or event-driven volatility, but may suffer consecutive losses in choppy/ranging markets due to repeated pending order triggers.
Strengths
- Straddle strategy captures breakouts in either direction, ensuring no major trending move is missed
- Trailing stop mechanism effectively locks in floating profits while allowing winning trades to run
- Pending order entries eliminate emotional trading decisions and ensure disciplined execution
- Strategy logic is clear and understandable with highly adjustable parameters for optimization and backtesting
- Well-suited for deployment around major news events, capitalizing on high-volatility moves
Weaknesses
- In choppy/ranging markets, both sides of pending orders may be repeatedly triggered resulting in consecutive losses (whipsaw risk)
- Lacks dynamic position sizing that automatically adjusts lot size based on account equity
- No spread filter mechanism means entry costs may be excessive in high-spread environments
- Missing new bar check could lead to repeated order placement on the same candle
- No time filter functionality to restrict trading to specific sessions or time windows
Possible improvements
- Add a volatility/filter (e.g., ATR or ADX indicator) to reduce or pause pending orders during low-volatility choppy periods to avoid whipsaw losses
- Implement equity-based dynamic position sizing and add spread/slippage filter conditions before order placement
Risk assessment
Overall risk: Medium
- Straddle strategy risks both pending orders being stopped out in choppy markets, resulting in double losses
- No spread filter means stop-loss distances may be insufficient to cover trading costs in high-spread conditions
- Missing new bar check and position check poses risk of duplicate order placement
- Trailing stop may fail to effectively protect profits during severe gap events
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
LotSize | 0.1 | Lot size per trade |
StraddleDistance | 200 | Pending order distance from current price in points |
TrailingStop | 300 | Trailing stop in points; 0 to disable |
TrailingStep | 50 | Trailing stop adjustment step in points |
StopLoss | 500 | Stop loss in points |
TakeProfit | 1000 | Take-profit in points (~10 points) |
MagicNumber | 12345 | EA magic number for order identification |
MaxSlippage | 3 | Maximum allowed slippage |
Similar Breakout EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.