Exp_The_20s_v020
This EA trades based on signals from the custom indicator 'The_20s_v020', which identifies momentum-based entry points using a configurable trigger level and ratio. It opens buy/sell positions when the indicator produces non-empty values on the signal bar and manages exits by searching historical bars for the last opposing signal. Position sizing supports multiple margin modes including fixed lot, balance-based, and free margin-based allocation.
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 generated by the custom indicator The_20s_v020, which identifies price momentum shifts using a configurable trigger level (Level) and ratio (Ratio). Entry conditions are triggered when the indicator's upper buffer (UpValue) produces a non-zero, non-EMPTY_VALUE on the designated signal bar for buy signals, and similarly the lower buffer (DnValue) for sell signals. Exit conditions use a reverse-signal closing mechanism — if no direct reverse signal appears on the current bar, the EA searches backward through historical bars to find the last opposing signal to determine whether to close positions. Position sizing supports five modes: fixed lot (LOT), balance-based (BALANCE), free margin-based (FREEMARGIN), loss-share from balance (LOSSBALANCE), and loss-share from free margin (LOSSFREEMARGIN). Money management is controlled via the MM parameter which sets the deposit share per deal, while StopLoss and TakeProfit define the exit points in points. The EA also features permission switches for independently enabling/disabling buy/sell open and close operations, supports two calculation algorithms (MODE_1 and MODE_2), and allows signal direction inversion via the Direct parameter.
Strengths
- Supports multiple margin/lot calculation modes for flexible risk management adaptation
- Independent permission switches for buy/sell open and close operations enable fine-grained strategy control
- Uses new bar detection (IsNewBar) to prevent repeated trading within the same bar
- Configurable stop loss and take profit provide a basic risk control framework
- Signal direction inversion parameter facilitates strategy testing and optimization
Weaknesses
- Relies on custom indicator The_20s_v020 whose logic is opaque — the strategy core is a black box, hard to verify or audit
- The reverse-signal search logic for closing positions is inefficient and potentially inaccurate, with no upper bound on historical bar lookback
- No spread filter, trading session filter, or market condition filter — may trade frequently under unfavorable conditions
- Default StopLoss of 1000 points and TakeProfit of 2000 points are excessively large for most instruments
- Lacks position check and duplicate opening prevention — may open duplicate positions in the same direction
Possible improvements
- Add position check logic to prevent duplicate opening in the same direction and verify no existing position before entry
- Set a maximum lookback bar limit for the reverse signal search to prevent infinite loops and performance issues
- Add spread filter and trading session filter to prevent opening positions under unfavorable trading conditions
Risk assessment
Overall risk: Medium
- No position check may lead to duplicate openings in the same direction, amplifying risk exposure
- Default SL/TP values are extremely large (1000/2000 points) — failure to adjust may cause massive losses
- Unbounded historical bar lookback search may consume excessive computational resources in extreme cases
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Deposit ratio per trade |
MMMode | LOT | Lot calculation method (fixed lots/balance/free margin etc.) |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Max price slippage in points |
BuyPosOpen | true | Allow buy to open |
SellPosOpen | true | Allow sell to open |
BuyPosClose | true | Allow closing long positions |
SellPosClose | true | Allow closing short positions |
InpInd_Timeframe | PERIOD_H1 | Timeframe for indicator calculation |
Alg | MODE_1 | Calculation algorithm option |
Level | 100 | Trigger level in points |
Ratio | 0.2 | Ratio parameter |
Direct | false | Reverse signal direction |
SignalBar | 1 | Bar index for entry signal |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.