T3MA(MTC)
This EA trades based on signals from the T3MA-ALARM custom indicator, which detects direction changes of a double-smoothed moving average. It opens buy positions when the smoothed MA turns upward and sell positions when it turns downward, with optional reverse-close logic. Positions are managed with configurable stop loss and take profit in points.
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
- Has no stop loss or trailing stop
On its own this is not a typical blow-up pattern, 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 detecting direction changes of a double-smoothed moving average (MA of MA) to capture trend reversal points. Entry conditions: a buy signal is generated when BufDir changes from -1 to 1 (BufBuy buffer non-zero), and a sell signal when BufDir changes from 1 to -1 (BufSell buffer non-zero), using indicator buffers 1 and 2 respectively. Exit conditions operate in two ways: first through configurable stop loss and take profit in points, and second through the RevClose parameter which enables reverse-signal closing — closing long positions on sell signals and short positions on buy signals. Position sizing uses only a fixed lot size (Lots parameter), with the SolveLots function directly returning the input value without any dynamic sizing or money management logic. Money management is essentially absent — there is no dynamic lot calculation based on account balance or risk percentage, nor any trailing stop or partial close mechanism. The overall strategy is simple and direct, suitable for trending markets, but may suffer frequent stop-outs in choppy or ranging conditions.
Strengths
- Clear and concise strategy logic based on double-smoothed MA direction changes to capture trend reversals, easy to understand and maintain
- Supports reverse-signal closing (RevClose), allowing timely exits on trend reversals to reduce drawdown
- Includes minimum stop level validation (CheckBuySL/TP etc.) to prevent order rejection due to stops too close
- Shift parameter controls which bar signals are read from, reducing false signals and duplicate trades
Weaknesses
- No dynamic position sizing — fixed lots cannot adapt to account risk, potentially leading to over- or under-exposure
- Default StopLoss is 0, meaning trades have no stop loss protection if the user doesn't modify parameters, creating extreme capital risk
- Lacks market regime filtering (volatility filter, trend strength filter), generating many false signals and consecutive losses in ranging markets
- SolveLots function merely returns fixed lots, DeleteGV function is never called, indicating dead code
- No spread filter — signals may be invalid in high-spread conditions but trades still execute
Possible improvements
- Add dynamic position sizing based on account balance and risk percentage instead of fixed lots for proper money management
- Add market regime filter (e.g., ATR or ADX) to reduce or pause trading in ranging markets, avoiding consecutive losses from false signals
- Set a reasonable default StopLoss value instead of 0, and add trailing stop functionality to protect floating profits
- Add spread filter to skip entries when spread exceeds a threshold, protecting trades from high-cost slippage
Risk assessment
Overall risk: Medium
- Default StopLoss of 0 means users may trade without stop loss, facing unlimited loss risk
- Fixed lot sizing without money management — risk may be too low for large accounts or too high for small accounts
- No filtering mechanism in ranging markets may cause frequent open/close cycles accumulating commission losses
- Position closing uses 3x spread slippage tolerance, which may fail to close promptly in extreme market conditions
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
Lots | 0.1 | Fixed lot size |
StopLoss | 0 | Stop loss in points, 0 to disable |
TakeProfit | 300 | Take profit in points, 0 to disable |
Shift | 1 | Bar index for indicator check: 0=current, 1=last closed |
RevClose | true | Close positions on reverse signal |
MAPeriod | 19 | Moving average period |
MAShift | 0 | Moving average shift |
MAMethod | MODE_EMA | Moving average method |
MAPrice | PRICE_CLOSE | Moving average applied price |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.