e-Skoch pending orders
This EA places pending buy stop and sell stop orders at a calculated distance from the current price, aiming to capture breakout moves. It uses the Stochastic oscillator as its primary signal filter to determine direction bias before placing pending orders. Orders are managed with stop loss and take profit levels, and the EA re-evaluates on each new bar to adjust or replace pending orders.
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 | +3.33% | +2.88% | 3.84% | 101 | 49.00% | 0.68 | 0.87 | 6 | +$3.67 | Reliable |
| GBPUSD | +6.55% | +5.67% | 3.44% | 114 | 46.50% | 1.16 | 1.90 | 6 | +$5.75 | Reliable |
| USDJPY | +12.25% | +10.56% | 2.61% | 117 | 52.60% | 2.44 | 4.69 | 6 | +$10.43 | Reliable |
| XAUUSD | +80.21% | +62.68% | 50.37% | 137 | 49.60% | 1.24 | 1.59 | 8 | +$58.55 | Reliable |
Profitable on 4 of 4 markets with reliable results.
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.
Against the other Breakout EAs with a reliable result on the same market: EURUSD: better than 83% of 18 · GBPUSD: better than 100% of 18 · USDJPY: better than 100% of 17 · XAUUSD: better than 89% of 19
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 54% | +2.16% 2026-10 | -1.83% 2026-07 |
| GBPUSD | 46% | +2.72% 2025-12 | -1.41% 2025-11 |
| USDJPY | 85% | +2.23% 2025-11 | -1.06% 2026-06 |
| XAUUSD | 54% | +51.78% 2026-03 | -16.12% 2026-07 |
From the backtest equity curve, sampled about every two days; only reliable results.
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 a pending order breakout system based on the Stochastic oscillator. Entry conditions involve placing a buy stop pending order when the Stochastic shows oversold conditions (%K crossing above %D or below a threshold) and a sell stop when overbought, with orders placed at a fixed distance from the current price. Exit conditions include predefined stop loss and take profit levels, as well as pending order expiration mechanisms. Position sizing uses either fixed lots or balance-based calculation, but there is no complex dynamic position adjustment mechanism. Money management includes a maximum open positions limit to control risk exposure. The overall strategy logic is clear, combining momentum indicator direction assessment with breakout entry, but lacks volatility-adaptive adjustments such as ATR-based distance calculation.
Strengths
- Pending order entry ensures trades are only filled after breakout confirmation, avoiding immediate losses from false signals
- Stochastic oscillator provides directional filtering, reducing the probability of counter-trend trades
- Includes stop loss, take profit, and maximum position limits, providing a basic risk control framework
Weaknesses
- Pending order distance is fixed in points without ATR-based dynamic adjustment, potentially too far in low volatility and too close in high volatility markets
- Lacks spread filtering, which can cause buy stop orders to be immediately underwater in high-spread environments
- No new bar check mechanism, potentially leading to repeated order placement or frequent pending order modifications increasing trading costs
Possible improvements
- Replace fixed pending order distance with ATR-based dynamic calculation to adapt to different market volatility conditions
- Add spread filtering and new bar check mechanisms to avoid unfavorable fills in high-spread environments and redundant operations within the same bar
Risk assessment
Overall risk: Medium
- Fixed pending order distance does not account for market volatility changes, potentially causing frequent triggers or long periods without triggers in extreme conditions
- Lack of spread filtering means execution quality cannot be guaranteed during low-liquidity sessions
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
Stoch_K_period | 5 | Stochastic K period |
Stoch_D_period | 3 | Stochastic D period |
Stoch_slowing | 3 | Stochastic smoothing factor |
Stoch_overbought | 80 | Overbought threshold |
Stoch_oversold | 20 | Oversold threshold |
Pending_distance | 50 | Pending order distance from current price (points) |
StopLoss | 200 | Stop loss in points |
TakeProfit | 400 | Overall take profit target (points) |
Lots | 0.1 | Fixed trading lot size |
MaxOrders | 1 | Maximum simultaneous open orders |
OrderExpire | 0 | Pending order expiration time (hours) |
MagicNumber | 12345 | EA magic number to identify its own orders |
Similar Breakout EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.