EA-1234 · Trend Following

Exp_VortexIndicator

This EA trades based on the Vortex Indicator crossover signals, opening buy positions when the VI+ line crosses above the VI- line and sell positions when the VI- line crosses above the VI+ line. It uses configurable money management, stop loss, and take profit levels, and restricts trade execution to new bar formation on a specified timeframe.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsVortex Indicator
AuthorCopyright © 2012, 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 core strategy of this EA is a Vortex Indicator crossover trend-following system. Entry conditions are: a buy signal is generated when the VI+ line crosses above the VI- line, and a sell signal is generated when the VI- line crosses above the VI+ line, with crossover confirmation obtained by comparing the relative positions of VI+/VI- values on the current and previous bars. Exit conditions include fixed stop loss and take profit settings in points, as well as reverse signal closes — long positions are closed when a sell signal appears and short positions are closed when a buy signal appears. Position sizing is controlled by the MM parameter, where negative values represent fixed lot sizes and positive values represent deposit-proportional sizing. Money management relies on external functions BuyPositionOpen and SellPositionOpen from the included TradeAlgorithms.mqh file. The strategy only checks for signals on new bar formation of the specified timeframe, preventing repeated trades within the same bar, and the SignalBar parameter allows using a confirmed bar for signal retrieval.

Strengths

  • New bar detection mechanism prevents repeated trades within the same bar, reducing overtrading risk
  • Complete buy/sell permission switches provide flexible control over entry and exit directions
  • Vortex Indicator crossover strategy has clear logic and is suitable for trending market capture
  • Configurable stop loss and take profit parameters provide a basic risk control framework
  • Using a confirmed bar (SignalBar=1) for signal retrieval reduces false signals

Weaknesses

  • No spread filter, which may cause frequent false signal triggers and losses in high-spread environments
  • Depends on external TradeAlgorithms.mqh file with invisible core trading logic, making risk auditing difficult
  • Default stop loss of 1000 points and take profit of 2000 points are excessively large and may not suit all instruments and volatility conditions
  • No position time limit or trailing stop mechanism, potentially giving back significant profits on trend reversals
  • OnInit returns 0 instead of INIT_SUCCEEDED, which does not conform to MQ5 standard conventions

Possible improvements

  • Add spread filter and volatility filter to avoid opening positions in unfavorable market conditions
  • Implement a trailing stop feature to lock in profits during trend continuation rather than relying solely on fixed take profit
  • Split the MM parameter into separate mode selection and value parameters for improved readability and safety

Risk assessment

Overall risk: Medium

  • Core trading logic is encapsulated in an invisible external file, making it impossible to fully evaluate the safety of money management and position control
  • Lack of spread filter and maximum position checks may cause unexpected losses under extreme market conditions
  • Fixed stop loss and take profit in points does not account for market volatility changes, potentially causing risk mismatch across different instruments

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness2.0
Innovation2.0
Documentation2.0
Overall2.5

Parameters

ParameterDefaultDescription
MM-0.1Deposit fraction or lot size; negative=fixed lot
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Max price slippage deviation (points)
BuyPosOpentrueAllow buy position opening
SellPosOpentrueAllow opening sell positions
BuyPosClosetrueAllow closing buy positions
SellPosClosetrueAllow closing sell positions
InpInd_TimeframePERIOD_H4Vortex indicator timeframe
VI_Length14Vortex indicator calculation period
SignalBar1Bar index for entry signal

Similar Trend Following 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.