EA-214 · Session Trading

20_200_pips_MQL5_v1

This EA trades EUR/USD once per day at a specific hour (default 18:00) by comparing the open prices of two H1 bars separated by t1 and t2 offsets. If the price difference exceeds a delta threshold, it opens a position with a fixed lot size, a 200-pip take profit, and a 2000-pip stop loss. It only allows one trade per day and resets the trading flag after the session ends.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskHigh risk
Blow-up riskLow
Rating★☆☆☆☆
TypeTrading EA
TimeframesH1
IndicatorsOpen Price Comparison
AuthorPavel Smirnov

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Not convertible yet
GBPUSD0.00%0.00%0.00%0—————Not convertible yet
USDJPY0.00%0.00%0.00%0—————Not convertible yet
XAUUSD0.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 comparing the open prices of two H1 bars at a specific time of day to detect short-term price deviation direction. Entry conditions: at the designated TradeTime hour (default 18:00), if Open[t1] exceeds Open[t2] by delta points, a short position is opened; if Open[t1] is below Open[t2] by delta points, a long position is opened. Exit conditions rely on fixed take profit of 200 pips and stop loss of 2000 pips, resulting in an extremely unfavorable risk-reward ratio of 1:10. Position sizing uses a fixed lot size (default 0.1 lots) with no dynamic adjustment or scaling mechanism whatsoever. Money management is entirely absent, with no functionality to calculate position size based on account balance or risk percentage. The core assumption is that price deviations at a specific session time will revert in the short term, but the take-profit-to-stop-loss ratio is severely imbalanced, posing extreme risk.

Strengths

  • Simple and intuitive logic, easy to understand and modify
  • Trades only once per day, avoiding overtrading
  • Daily trading flag prevents duplicate position opening
  • Session filter avoids trading during low liquidity periods

Weaknesses

  • Extremely poor risk-reward ratio (1:10), requiring over 90% win rate to be profitable
  • Stop loss of 2000 pips is excessively large, a single loss can be devastating
  • No spread filter, susceptible to slippage losses during high-spread periods
  • No dynamic position sizing, fixed lot size ignores account risk
  • Hardcoded ORDER_FILLING_FOK which some brokers may not support
  • Does not verify whether OrderSend result actually resulted in a filled position

Possible improvements

  • Optimize risk-reward ratio by reducing stop loss or increasing take profit to at least 1:2 or better
  • Add dynamic position sizing based on account balance and risk percentage
  • Add spread filter and new bar check to avoid duplicate signals and high-cost trades
  • Dynamically set ORDER_FILLING type based on broker support
  • Add backtesting statistics to validate strategy performance across different time parameters

Risk assessment

Overall risk: High risk

  • Stop loss of 2000 pips far exceeds take profit of 200 pips, creating a 1:10 risk-reward ratio that is extremely unfavorable
  • No spread filter means trades could open during high-spread periods causing additional losses
  • Hardcoded ORDER_FILLING_FOK may cause order rejection on some brokers
  • Trade result not fully verified, potentially missing fill confirmation

Evaluation scores

Code quality2.0
Strategy logic2.0
Risk management1.0
Robustness2.0
Innovation1.0
Documentation2.0
Overall1.7

Parameters

ParameterDefaultDescription
TakeProfit200Take profit in pips
StopLoss2000Stop loss in pips
TradeTime18Trading session (hours)
t17Offset index of the first bar
t22Offset index of the second bar
delta70Open price difference threshold (points)
lot0.1Fixed lot size

Similar Session Trading EAs

Backtests are historical simulations and do not guarantee future results. Not financial advice.

Get the weekly Arena report

One email a week: ranking changes, new signals and new research. No spam; unsubscribe any time.