EA-32107 · Candlestick Pattern

UniversalSignalDemo

This EA uses the MQL5 Standard Library's CExpert framework with CSignalUniversal, which combines up to 8 weighted candlestick pattern models (A through H) to generate buy/sell signals. It employs fixed lot money management and the TrailingUniversal trailing stop mechanism for trade management.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesM15, H1, H4
IndicatorsCandlestick Patterns
AuthorMetaQuotes Software Corp.

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 CSignalUniversal signal module, which internally implements 8 different candlestick pattern recognition models, each configurable via Pattern_0 through Pattern_7 weight parameters (0-100), combining all model signals to determine trade direction. Entry conditions trigger when the weighted composite signal strength exceeds the Signal_ThresholdOpen threshold (default 10), supporting both long and short positions. Exit conditions activate when the opposing signal strength exceeds Signal_ThresholdClose, or when stop loss (50 points) or take profit (50 points) is hit, or dynamically via the TrailingUniversal trailing stop mechanism. Position sizing uses CMoneyFixedLot fixed lot mode, defaulting to 1 lot, without dynamic adjustment based on account balance. Money management is straightforward, using only a fixed percentage (10%) and fixed lot size, lacking mechanisms for dynamic position sizing based on volatility or account risk. Pending order expiration is set to 4 bars.

Strengths

  • Built on the MQL5 Standard Library CExpert framework with well-structured, modular code that is easy to maintain and extend
  • Supports weighted combination of 8 candlestick pattern models, offering flexibility to optimize for different market conditions by adjusting weights
  • Includes built-in stop loss, take profit, and trailing stop mechanisms providing basic risk control
  • Configurable signal thresholds allow users to fine-tune entry/exit sensitivity based on risk preferences

Weaknesses

  • Fixed lot money management is overly simplistic, not dynamically adjusting based on account balance or volatility, concentrating risk on large accounts and underutilizing capital on small accounts
  • Both stop loss and take profit are fixed at 50 points without ATR-based dynamic adjustment, leading to poor adaptability across different instruments and volatility environments
  • All 8 pattern model weights default to 100 with no guidance on targeted optimization, making it difficult for users to understand each model's meaning and applicable scenarios
  • Lacks spread filter, trading session filter, and new bar detection, potentially leading to frequent trading under unfavorable conditions

Possible improvements

  • Introduce ATR-based dynamic stop loss/take profit mechanism that automatically adjusts distances based on market volatility, improving adaptability across different instruments and market conditions
  • Add a dynamic position sizing module (e.g., Kelly criterion or fixed fractional method based on account risk percentage) to replace the fixed lot mode, enabling risk-controlled money management
  • Add protective mechanisms such as spread filtering, trading session restrictions, and new bar detection to avoid trading during low liquidity or excessively wide spread conditions

Risk assessment

Overall risk: Medium

  • Fixed lot size does not adjust with account size, creating risk of overtrading or under-positioning
  • Fixed 50-point stop/take profit may be too tight for volatile instruments causing frequent stops, or too wide for low-volatility instruments resulting in poor risk-reward ratios
  • Lacks spread filter and new bar detection, potentially opening repeated positions under unfavorable conditions
  • Internal logic of the 8 candlestick pattern models is opaque, making it impossible for users to assess strategy reliability across different market states

Evaluation scores

Code quality4.0
Strategy logic3.0
Risk management2.0
Robustness3.0
Innovation2.0
Documentation2.0
Overall2.7

Parameters

ParameterDefaultDescription
Expert_TitleUniversalTestEA document name
Expert_MagicNumber32583EA magic number for identifying this EA's orders
Expert_EveryTickfalseExecute trading logic on every tick
Signal_ThresholdOpen10Entry signal threshold [0...100]
Signal_ThresholdClose10Exit signal threshold [0...100]
Signal_PriceLevel0.0Price level for trade execution
Signal_StopLevel50.0Stop loss distance in points
Signal_TakeLevel50.0Take profit distance in points
Signal_Expiration4Pending order expiration (bars)
Signal_Universal_Pattern_0100Weight for candlestick pattern model 1
Signal_Universal_Pattern_1100Weight of candlestick pattern model 2
Signal_Universal_Pattern_2100Weight of candlestick pattern model 3
Signal_Universal_Pattern_3100Weight of candlestick pattern model 4
Signal_Universal_Pattern_4100Weight of candlestick pattern model 5
Signal_Universal_Pattern_5100Weight of candlestick pattern model 6
Signal_Universal_Pattern_6100Weight of candlestick pattern model 7
Signal_Universal_Pattern_7100Weight of candlestick pattern model 8
Signal_Universal_Weight1.0Universal signal overall weight [0...1.0]
Money_FixLot_Percent10.0Money management percentage
Money_FixLot_Lots1Fixed trading lot size

Similar Candlestick Pattern 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.