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
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 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
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | -0.1 | Deposit fraction or lot size; negative=fixed lot |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Max price slippage deviation (points) |
BuyPosOpen | true | Allow buy position opening |
SellPosOpen | true | Allow opening sell positions |
BuyPosClose | true | Allow closing buy positions |
SellPosClose | true | Allow closing sell positions |
InpInd_Timeframe | PERIOD_H4 | Vortex indicator timeframe |
VI_Length | 14 | Vortex indicator calculation period |
SignalBar | 1 | Bar index for entry signal |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.