CandelsHighOpen
This EA uses a custom candlestick pattern signal (CSignalCHO - Candles High Open) to generate trade entries and exits within the MetaQuotes standard Expert Advisor framework. It combines the candlestick signal with Parabolic SAR trailing stops and fixed-percentage risk money management to systematically open and manage positions.
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 based on the Candles High Open pattern (CSignalCHO), which generates trade signals when a candle's open price is near its high, typically indicating strong buyer momentum. Entry conditions are determined by the SignalCandelsHighOpen module, filtered through configurable threshold values (ThresholdOpen=10, ThresholdClose=10) that control the minimum signal strength required to open or close positions. Exit conditions combine fixed stop-loss and take-profit levels (both 50 points) with a Parabolic SAR trailing stop (step=0.02, maximum=0.2), which locks in profits during trend continuation. Position sizing uses a fixed risk percentage model (MoneyFixedRisk) with a default risk of 10%, automatically calculating lot size based on the stop-loss distance. The signal weight is set to 1.0, and a reverse signals mode can be enabled for counter-trend trading. Overall, this is a candlestick pattern-driven trend following system leveraging the standard MQL5 Expert framework for modular integration of signals, trailing, and money management.
Strengths
- Uses the standard MQL5 Expert framework with clean modular design separating signals, trailing stops, and money management
- Parabolic SAR trailing stop effectively locks in profits during trending markets
- Fixed risk percentage money management auto-calculates lot size based on stop-loss distance for controlled risk
- Supports reverse signal mode for flexible switching between trend-following and counter-trend trading
- Configurable signal thresholds allow users to flexibly filter trade signals based on market conditions
Weaknesses
- 10% fixed risk percentage is excessively high per trade, potentially causing rapid account drawdown
- Equal stop-loss and take-profit at 50 points ignores market volatility, likely causing frequent stop-outs in volatile conditions
- Lacks spread filter and slippage protection, which may cause unnecessary losses on high-spread instruments
- EveryTick=false means signals are only checked on new bar opens, potentially missing important price movements
- The core signal module CSignalCHO implementation is not in this file, making it impossible to evaluate the actual signal logic quality
Possible improvements
- Reduce default risk percentage to 1-3% and add a maximum per-trade risk cap to prevent excessive leverage
- Add ATR-based dynamic stop-loss and take-profit so stop distances adapt to market volatility
- Add spread filter to pause trading when spread is too wide, avoiding unnecessary losses
- Add new bar check mechanism and multi-timeframe confirmation to improve signal reliability
Risk assessment
Overall risk: Medium
- Default 10% risk per trade is excessively high; a single loss can severely impact the account
- Fixed 50-point stop-loss ignores market volatility - too wide in low volatility wasting profit potential, too narrow in high volatility getting stopped out easily
- No spread filter means trades may execute at unfavorable prices during low liquidity or news periods
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
Expert_Title | CandelsHighOpen | EA document name |
Expert_MagicNumber | 25231 | EA magic number for identifying orders |
Expert_EveryTick | false | Whether to execute on every tick |
Signal_ThresholdOpen | 10 | Entry signal threshold [0...100] |
Signal_ThresholdClose | 10 | Exit signal threshold [0...100] |
Signal_PriceLevel | 0.0 | Trade execution price level |
Signal_StopLevel | 50.0 | Stop loss level in points |
Signal_TakeLevel | 50.0 | Take profit level in points |
Signal_Expiration | 4 | Pending order expiration (bars) |
Signal_SignalCandelsHighOpen_ReverseSignals | 0 | Whether to reverse signals (0=no) |
Signal_SignalCandelsHighOpen_Weight | 1.0 | Signal weight [0...1.0] |
Trailing_ParabolicSAR_Step | 0.02 | Parabolic SAR step increment |
Trailing_ParabolicSAR_Maximum | 0.2 | Parabolic SAR maximum rate |
Money_FixRisk_Percent | 10.0 | Risk percentage |
Similar Candlestick Pattern EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.