Puria method
The Puria method EA is a trend-following expert advisor based on moving average crossover signals combined with MACD confirmation. It enters long positions when faster MAs cross above slower MAs and MACD confirms momentum, and enters short positions on the opposite conditions. The EA manages positions with fixed stop loss and take profit levels while applying the Puria trading methodology.
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 | -6.03% | -5.26% | 6.90% | 133 | 43.60% | -1.36 | -0.87 | 6 | −$4.54 | Reliable |
| GBPUSD | +3.96% | +3.43% | 4.26% | 132 | 53.00% | 0.71 | 0.93 | 5 | +$3.00 | Reliable |
| USDJPY | -7.68% | -6.71% | 9.75% | 137 | 45.60% | -1.52 | -0.79 | 9 | −$5.53 | Reliable |
| XAUUSD | -93.64% | -89.73% | 100.00% | 48 | 45.80% | -1.72 | -0.94 | 8 | −$195.08 | Account stopped out |
Profitable on 1 of 4 markets with reliable results.
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.
Against the other Trend Following EAs with a reliable result on the same market: EURUSD: better than 7% of 95 · GBPUSD: better than 76% of 95 · USDJPY: better than 4% of 95 · XAUUSD: better than 10% of 96
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 23% | +2.79% 2026-03 | -2.22% 2026-04 |
| GBPUSD | 46% | +2.65% 2026-03 | -2.56% 2026-02 |
| USDJPY | 38% | +1.71% 2026-03 | -3.39% 2025-12 |
| XAUUSD | 8% | +33.52% 2025-12 | -80.52% 2026-03 |
From the backtest equity curve, sampled about every two days; only reliable results.
Blow-up risk: High
- Hit a stop-out in our backtest (equity below 10%) on XAUUSD
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 Puria method strategy concept is centered on moving average crossovers across multiple timeframes to identify trend direction, with MACD serving as a momentum confirmation filter to reduce false signals. Entry conditions require the faster moving average to cross the slower moving average while the MACD histogram or signal line aligns with the crossover direction, triggering a trade in the trend direction. Exit conditions rely on fixed stop loss and take profit levels, closing positions when price reaches the predefined thresholds. Position sizing uses a fixed lot approach without dynamic adjustment based on account balance, equity, or market volatility. Money management lacks proportional risk control, as there is no mechanism to automatically calculate position size based on account equity or risk percentage. The overall strategy logic is clear and straightforward, but it is highly dependent on parameter optimization, with different instruments and timeframes likely requiring distinct parameter configurations.
Strengths
- Clear strategy logic using MA crossover with MACD dual confirmation reduces false signals
- Fixed stop loss and take profit provide defined risk per trade
- Trend-following approach performs well in trending markets, capturing significant moves
- Clean code structure with adjustable parameters allows optimization across different instruments
Weaknesses
- Fixed lot sizing lacks dynamic position management, unable to auto-adjust based on account size and risk
- MA crossover strategies generate frequent false signals in ranging markets leading to consecutive losses
- No trailing stop mechanism to lock in floating profits as the trend progresses
- MACD as a lagging indicator may cause delayed entries, missing early trend profits
- No spread or slippage filter, making transaction costs significant for shorter timeframe trading
Possible improvements
- Add dynamic position sizing based on account equity and risk percentage for better money management
- Implement trailing stop functionality to progressively lock in profits as trends develop
- Incorporate ATR indicator for dynamic stop loss and take profit levels to adapt to varying market volatility
- Add a ranging market filter (such as ADX or Bollinger Band width) to reduce trade frequency during sideways markets
Risk assessment
Overall risk: Medium
- Fixed lot size does not dynamically adjust with account size, potentially creating excessive risk exposure
- Lack of new bar check may cause repeated position opening within the same candle
- No spread filter means high-spread environments may trigger stop losses too close to entry
- Ranging markets cause frequent false crossover signals, potentially leading to consecutive losses
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
FastMA_Period | 5 | Fast moving average period |
SlowMA_Period | 21 | Slow moving average period |
MACD_FastEMA | 12 | MACD fast EMA period |
MACD_SlowEMA | 26 | MACD slow EMA period |
MACD_SignalSMA | 9 | MACD signal SMA period |
StopLoss | 50 | Stop loss in points |
TakeProfit | 100 | Take profit in points |
Lots | 0.1 | Trading lot size |
MA_Method | MODE_SMA | Moving average calculation method |
MA_AppliedPrice | PRICE_CLOSE | Moving average applied price |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.