EA-12573 · Momentum

Exp_HLRSign

This EA trades based on signals from the custom HLRSign indicator, which identifies overbought and oversold conditions using Highest Low Range levels. It opens buy positions on upward signals and sell positions on downward signals, with configurable entry/exit logic and money management modes.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsHLRSign
AuthorCopyright © 2015, Nikolay Kositsin

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 the HLRSign indicator, which uses the Highest Low Range (HLR) to calculate overbought and oversold levels, generating buy signals when the indicator breaks above the upper level (HLR_UpLevel=80) and sell signals when it breaks below the lower level (HLR_DnLevel=20). Entry conditions come in two modes: MODE_IN triggers when the indicator crosses from inside the signal zone outward, while MODE_OUT triggers when it crosses from outside into the signal zone. Exit conditions support reverse-signal closing, where a buy signal simultaneously closes sell positions and vice versa, and the EA can also iterate through historical bars to find the nearest reverse signal for confirmation. Position sizing offers five modes: free margin percentage, balance percentage, loss-adjusted free margin, loss-adjusted balance, and fixed lot size, defaulting to a fixed lot of 0.1. Money management is controlled by the MM parameter to regulate risk exposure, with a 1000-point stop loss and 2000-point take profit set to limit per-trade risk. The EA also implements a new bar detection mechanism to prevent duplicate trades on the same bar and uses a Deviation parameter to control slippage tolerance.

Strengths

  • Comprehensive position sizing with five money management modes offering flexibility for different risk appetites
  • Independently toggleable entry and exit logic, allowing flexible configurations like open-only or close-only modes
  • New bar detection mechanism prevents duplicate trades on the same bar, reducing overtrading risk
  • Complete stop loss and take profit parameters with a default 1:2 risk-reward ratio (1000 SL vs 2000 TP)
  • BarsCalculated check ensures the indicator is ready before trading, avoiding trades on insufficient data

Weaknesses

  • Fixed-point stop loss and take profit rather than ATR-based dynamic calculation, poorly adaptable across varying volatility regimes
  • No spread filter mechanism, potentially entering at unfavorable prices during high-spread conditions
  • Historical bar iteration to find reverse signals (lines 138-159) may cause performance issues with large bar counts
  • Depends on custom HLRSign indicator without included source code, limiting auditability and portability
  • Static Recount mechanism may cause signal loss; when CopyBuffer fails it only sets a recount flag without retrying

Possible improvements

  • Replace fixed stop loss/take profit with ATR-based dynamic calculation for adaptive risk management across volatility regimes
  • Add spread filter and trading session filter to avoid entering under unfavorable market conditions

Risk assessment

Overall risk: Medium

  • Historical bar iteration loop has no upper bound protection, potentially causing long blocking when Bars_ is very large
  • Fixed-point stop loss may be too wide for low-volatility instruments and too narrow for high-volatility ones
  • SignalBar=0 allows trading on an incomplete bar where signals may flicker, causing erroneous entries

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness3.0
Innovation2.0
Documentation1.0
Overall2.5

Parameters

ParameterDefaultDescription
MM0.1Money management parameter controlling lot size or ratio
MMModeLOTLot calculation mode (Free Margin/Balance/Free Margin with Floating Loss/Balance with Floating Loss/Fixed Lot)
StopLoss_1000Stop Loss in points
TakeProfit_2000Take Profit in points
Deviation_10Maximum allowed slippage
BuyPosOpentrueAllow opening buy positions
SellPosOpentrueAllow opening sell positions
BuyPosClosetrueAllow closing buy positions on signal
SellPosClosetrueAllow closing sell positions on signal
InpInd_TimeframePERIOD_H1HLRSign indicator timeframe
ModeMODE_OUTSignal algorithm mode (Inside crossing Outside/Outside crossing Inside)
HLR_Range40HLR indicator calculation period range
HLR_UpLevel80Overbought level line
HLR_DnLevel20Oversold level line
SignalBar1Signal bar index (0=current bar, 1=last completed bar)

Similar Momentum 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.