EA-19759 · Trend Following

ZigZagEvgeTrofi ver. 1

This EA uses the ZigZag indicator to identify trend reversals and opens trades in the direction of the newly identified trend. It enters positions when the ZigZag confirms a new swing high or low, aiming to capture trending moves from reversal points. The strategy is a systematic trend-following approach based on ZigZag pattern recognition.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsZigZag
AuthorCopyright © 2008, Trofimov Evgeniy

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

  • Has no stop loss or trailing stop

On its own this is not a typical blow-up pattern, 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 uses the ZigZag indicator to detect extremum points (peaks and troughs) of price swings, thereby identifying changes in trend direction. When the ZigZag confirms a new trough, the EA determines an uptrend has started and opens a long position; when a new peak is confirmed, it identifies a downtrend and opens a short position. Entry conditions depend heavily on the ZigZag parameters (such as Depth, Deviation, and Backstep), which control the sensitivity of swing point detection. Exit conditions are typically based on fixed take-profit and stop-loss levels or closing positions on opposing ZigZag signals. Position sizing is configured via a lot size parameter, but there is no apparent dynamic position sizing or equity-based money management logic. Risk control relies on stop-loss settings, though the repainting nature of the ZigZag indicator may cause signals to be revised retrospectively, increasing the risk of false signals.

Strengths

  • The ZigZag indicator intuitively identifies trend reversal points with clear and easy-to-understand logic
  • The trend-following strategy can capture large profit swings during strong trending markets
  • Adjustable parameters allow users to optimize swing point sensitivity for different instruments and timeframes

Weaknesses

  • The ZigZag indicator has a repainting nature where historical signals can be modified, making backtesting results unreliable
  • Lacks dynamic position sizing and money management mechanisms, resulting in inconsistent risk exposure across varying market conditions
  • Generates frequent false reversal signals in ranging markets, easily leading to consecutive losses
  • Does not include a new bar check mechanism, potentially opening duplicate positions on the same signal

Possible improvements

  • Add a new bar check to prevent duplicate entries on the same signal; combine with additional indicators (e.g., ATR or moving averages) to filter false ZigZag signals
  • Introduce equity-based dynamic position sizing and ATR-adaptive stop-loss/take-profit to accommodate varying market volatility

Risk assessment

Overall risk: Medium

  • ZigZag repainting means signals can be revised after the fact, causing live performance to diverge from backtests
  • Lack of new bar checking may cause duplicate position openings, increasing unnecessary risk exposure
  • Frequent false signals in ranging markets without a trend filter mechanism

Evaluation scores

Code quality3.0
Strategy logic2.0
Risk management2.0
Robustness2.0
Innovation1.0
Documentation1.0
Overall1.8

Parameters

ParameterDefaultDescription
ZigZag Depth12ZigZag depth; controls swing point detection sensitivity
ZigZag Deviation5ZigZag deviation; minimum valid swing amplitude
ZigZag Backstep3ZigZag backstep; minimum bars between swing points
LotSize0.1Trading lot size
StopLoss50Stop loss in points
TakeProfit100Take profit in points

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.