Exp_MaChannel
This EA trades based on the MaChannel custom indicator, which builds a smoothed moving average channel. It opens buy positions when price breaks above the upper channel and sell positions when price breaks below the lower channel, with opposite-direction close signals generated as well.
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 a moving average channel breakout system, using configurable smoothing algorithms (SMA, EMA, JJMA, T3, VIDYA, AMA, etc.) to construct upper and lower channel bands. Entry conditions: when the upper signal buffer (buffer 2) produces a non-empty value, a buy-open and sell-close signal is triggered; when the lower signal buffer (buffer 3) produces a non-empty value, a sell-open and buy-close signal is triggered. Exit conditions are twofold: first, reverse-signal closing (closing existing positions when the opposite signal appears), and second, fixed stop-loss and take-profit closing (StopLoss=1000 points, TakeProfit=2000 points). Position sizing supports five margin modes: percentage of free margin, percentage of balance, percentage of free margin minus floating loss, percentage of balance minus floating loss, and fixed lot mode. Money management is controlled by the MM parameter (default 0.1) combined with the MarginMode selection. The strategy also incorporates channel line values (buffers 0 and 1) as additional close confirmation, meaning when both same-direction open and close switches are enabled, channel line signals can also trigger position closing.
Strengths
- Supports multiple smoothing algorithms (T3, JJMA, VIDYA, etc.) for flexible channel construction
- Independent open/close signal control with configurable direction switches
- Built-in new bar detection (CIsNewBar) prevents duplicate entries on the same bar
- Five position sizing modes provide comprehensive money management options
- Dual exit mechanism combining reverse-signal closing with fixed stop-loss and take-profit
Weaknesses
- Fixed 1000-point SL and 2000-point TP are large and not dynamically adjusted for market volatility
- No spread filter mechanism; channel breakouts may produce false signals during high-spread conditions
- Indicator buffer read failures only set a Recount flag without error counting or alerting
- No check for existing same-direction positions, potentially leading to duplicate entries
- Depends on custom MaChannel indicator and external include files, reducing portability
Possible improvements
- Add ATR-based dynamic stop-loss and take-profit to automatically adjust distances based on market volatility
- Add spread filtering and position checking logic to avoid high-slippage entries and duplicate positions
Risk assessment
Overall risk: Medium
- Fixed SL/TP does not account for market volatility; SL may be too wide in low-volatility markets and TP insufficient in high-volatility markets
- No spread filter means breakout signals may lead to unfavorable fills when spreads widen
- No existing position check may cause duplicate same-direction entries increasing risk exposure
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Money management parameter, lots or ratio |
MMMode | LOT | Margin calculation mode (fixed lots, balance percentage, etc.) |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum allowed slippage |
BuyPosOpen | true | Allow long entry |
SellPosOpen | true | Allow short entry |
BuyPosClose | true | Close long positions on reverse signal |
SellPosClose | true | Allow closing short positions on signal reversal |
InpInd_Timeframe | PERIOD_H1 | trend_arrows indicator timeframe |
XMA_Method | MODE_T3 | Smoothing algorithm type |
XLength | 8 | Smoothing period length |
XPhase | 15 | Smoothing phase (JJMA: -100~+100, VIDYA: CMO period, AMA: fast MA period) |
SignalBar | 1 | Signal bar index (0 for current bar) |
Similar Breakout EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.