Exp_LeManSignal
This EA uses the custom LeManSignal indicator to generate buy and sell signals based on momentum direction. It opens and closes positions on new bar events, with configurable money management, stop loss, and take profit. The EA includes mutual signal cancellation logic and a historical bar scan for determining close signals when both open and close permissions are enabled.
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 momentum signals from the custom LeManSignal indicator, which calculates bullish/bearish direction through an adjustable period parameter (LPeriod=12). Entry conditions: a long position is opened when the indicator's upper buffer (UpValue) produces a non-empty, non-zero value on the specified signal bar, and a short position is opened when the lower buffer (DnValue) produces a valid signal. Exit conditions work in two ways: first, a reverse signal triggers position closure (e.g., a down signal closes a long), and second, when both open and close permissions are enabled, the EA scans historical bars backward to find the earliest opposing signal as the close trigger. Position sizing is controlled by the MM parameter, where negative values represent fixed lot sizes and positive values represent percentage-based lot calculation relative to account equity. Money management is implemented through the TradeAlgorithms.mqh library functions (BuyPositionOpen/SellPositionOpen), combined with stop loss (1000 points) and take profit (2000 points) parameters for risk control. The EA also implements a mutual cancellation mechanism when both buy and sell signals appear simultaneously, preventing position opening under contradictory signals.
Strengths
- Complete independent toggle switches for buy/sell open and close operations, offering high flexibility
- Implements mutual cancellation logic when conflicting buy and sell signals appear simultaneously
- Uses IsNewBar for signal detection, preventing duplicate trades within the same bar
- Stop loss and take profit parameters are properly configured with basic risk control in place
- Historical bar scanning logic provides a more refined basis for close decisions
Weaknesses
- LeManSignal is a custom black-box indicator with opaque core logic, making signal validity hard to verify
- The historical bar scanning close logic may iterate through many bars without an upper loop limit, posing performance risks
- No spread filter is implemented, which could lead to unfavorable fills in volatile markets with high slippage
- The MM parameter's negative-value-for-fixed-lot design is unintuitive and prone to misconfiguration
- No existing position check before opening new trades, potentially causing duplicate positions in the same direction
Possible improvements
- Add position existence check before opening new trades to prevent duplicate same-direction positions
- Add a maximum bar iteration limit to the historical scanning loop to prevent potential infinite iteration
Risk assessment
Overall risk: Medium
- Lack of position check may lead to duplicate same-direction positions, increasing risk exposure
- Historical bar iteration has no upper bound protection, potentially causing EA lag with large data volumes
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | -0.1 | Money management ratio or lot size, meaning per MMMode |
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 | Allow closing buy positions on reverse signal |
SellPosClose | true | Allow closing sell positions on reverse signal |
InpInd_Timeframe | PERIOD_H4 | NRTR_extr indicator timeframe |
LPeriod | 12 | LeManSignal indicator period |
SignalBar | 1 | Signal reference bar index |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.