Hans123_Trader
Hans123_Trader is a classic session breakout EA that identifies trading ranges during specific time windows (typically the Asian/London session overlap) and enters trades when price breaks out of those ranges. It places pending buy and sell orders at the high and low of the established range, capturing momentum moves as price escapes the consolidation zone. The strategy is a well-known mechanical system popularized on forex trading forums.
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 core concept of the Hans123 strategy is based on session range breakout, using consolidation ranges formed during specific time periods as reference points. Entry conditions are: during a defined time window (e.g., 00:00 to 06:00 server time), record the highest and lowest prices to form a trading channel, then place a buy pending order above the channel high and a sell pending order below the channel low. Exit conditions include: reaching a fixed take-profit target, hitting the stop-loss level, or closing positions at the end of the trading day/session. Position sizing uses fixed lots or percentage-based calculations from account balance, with no complex pyramiding logic. Money management sets stop-losses beyond the opposite boundary of the range, with risk-reward ratios depending on the relationship between range width and target profit. The strategy's strength lies in its simple and clear logic with fully mechanical execution, avoiding emotional interference from subjective judgment, but the drawback is that the risk-reward ratio becomes unstable when range width varies significantly.
Strengths
- Simple and clear strategy logic with fully mechanical execution, free from subjective judgment interference
- Based on session breakout principles, capitalizing on momentum release after market consolidation with statistical edge
- Well-defined entry and exit conditions with standardized stop-loss and take-profit, making risk controllable
Weaknesses
- Fixed take-profit and stop-loss can lead to unfavorable risk-reward ratios when range width varies significantly
- Frequent false breakouts may occur during low volatility sessions, causing consecutive losses
- Lacks overall market trend assessment, potentially trading against the major trend and incurring large losses
Possible improvements
- Add a trend filter (e.g., moving average direction) to only enter breakouts aligned with the major trend, reducing counter-trend trades
- Dynamically adjust take-profit and stop-loss based on ATR, adapting risk-reward ratios to different volatility environments
Risk assessment
Overall risk: Medium
- Fixed stop-loss may be too tight during wide-range sessions, leading to premature stop-outs before price continues in the expected direction
- No filter for overnight risk or major news events, potentially suffering larger-than-expected losses during volatile market conditions
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
SessionStartHour | 0 | Session range calculation start hour |
SessionEndHour | 6 | Session range calculation end hour |
TakeProfit | 50 | Take profit in points |
StopLoss | 50 | Stop loss in points |
Lots | 0.1 | Fixed trading lot size |
MaxSlippage | 3 | Maximum allowed slippage |
OrderExpireHour | 22 | Pending order expiration time in hours |
MagicNumber | 123 | EA unique magic number identifier |
Similar Breakout EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.