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
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 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
Parameters
| Parameter | Default | Description |
|---|---|---|
Expert_Title | UniversalTest | EA document name |
Expert_MagicNumber | 32583 | EA magic number for identifying this EA's orders |
Expert_EveryTick | false | Execute trading logic on every tick |
Signal_ThresholdOpen | 10 | Entry signal threshold [0...100] |
Signal_ThresholdClose | 10 | Exit signal threshold [0...100] |
Signal_PriceLevel | 0.0 | Price level for trade execution |
Signal_StopLevel | 50.0 | Stop loss distance in points |
Signal_TakeLevel | 50.0 | Take profit distance in points |
Signal_Expiration | 4 | Pending order expiration (bars) |
Signal_Universal_Pattern_0 | 100 | Weight for candlestick pattern model 1 |
Signal_Universal_Pattern_1 | 100 | Weight of candlestick pattern model 2 |
Signal_Universal_Pattern_2 | 100 | Weight of candlestick pattern model 3 |
Signal_Universal_Pattern_3 | 100 | Weight of candlestick pattern model 4 |
Signal_Universal_Pattern_4 | 100 | Weight of candlestick pattern model 5 |
Signal_Universal_Pattern_5 | 100 | Weight of candlestick pattern model 6 |
Signal_Universal_Pattern_6 | 100 | Weight of candlestick pattern model 7 |
Signal_Universal_Pattern_7 | 100 | Weight of candlestick pattern model 8 |
Signal_Universal_Weight | 1.0 | Universal signal overall weight [0...1.0] |
Money_FixLot_Percent | 10.0 | Money management percentage |
Money_FixLot_Lots | 1 | Fixed trading lot size |
Similar Candlestick Pattern EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.