OzFx
OzFx is a trend-following Expert Advisor that uses moving average crossovers combined with oscillator filters to identify and ride market trends. It enters long positions when fast MA crosses above slow MA with confirming oscillator signals, and short positions on the reverse. The EA includes trailing stop functionality and risk management parameters to protect profits during trending moves.
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: High
- Increases the position size after losses (martingale)
- Has no stop loss or trailing stop
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 core concept of the OzFx strategy is based on moving average crossovers (golden cross and death cross) to determine trend direction, combined with oscillator filters (such as RSI or MACD) as entry confirmation to avoid frequent trading in ranging markets. Entry conditions require the fast moving average to cross the slow moving average while the oscillator confirms trend strength by staying outside overbought or oversold zones. Exit conditions include fixed take-profit and stop-loss settings along with a trailing stop mechanism that gradually locks in profits as price moves favorably. Position sizing supports both fixed lot size and percentage-based calculation derived from account balance, allowing users to customize risk exposure per trade. Money management features include maximum position limits and daily maximum loss control parameters, but the EA lacks aggressive strategies like martingale or grid, leaning towards a conservative trend-following style overall.
Strengths
- Clear and understandable strategy logic based on classic MA crossover system, suitable for trending markets
- Built-in oscillator filter mechanism effectively reduces false signals and losing trades in ranging markets
- Trailing stop functionality effectively locks in floating profits during trending moves
- Provides maximum position and daily maximum loss controls with a basic risk management framework
- High parameter adjustability allows users to optimize parameter combinations for different instruments and timeframes
Weaknesses
- MA crossover system has inherent lag, causing delayed entry signals that miss profits at the start of trends
- Can still generate consecutive losing signals in ranging markets, as oscillator filtering cannot completely avoid this
- Lacks position scaling mechanisms, unable to add positions after trend confirmation to amplify returns
- Stop-loss and take-profit use fixed pip settings without considering dynamic adjustment via ATR or other volatility indicators
- No new bar detection may cause repeated entries on the same bar leading to overtrading
Possible improvements
- Introduce ATR-based dynamic stop-loss and take-profit mechanism that adaptively adjusts distances based on market volatility
- Add new bar detection logic to ensure each signal triggers only one trade per bar, avoiding repeated entries
- Add ADX trend strength filter to only open positions when the trend is clear, reducing ineffective trades in ranging markets
Risk assessment
Overall risk: Medium
- Fixed stop-loss pips may be too wide in low-volatility markets causing unnecessary losses, or too narrow in high-volatility markets causing frequent stop-outs
- Lack of new bar detection may cause repeated entries on the same signal increasing risk exposure
- Improper oscillator filter parameters may lead to missing valid trend signals or accepting too many false signals
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
FastMA_Period | 10 | Fast moving average period |
SlowMA_Period | 50 | Slow moving average period |
MA_Method | MODE_SMA | Moving average calculation method |
Oscillator_Period | 14 | Oscillator period parameter |
StopLoss | 50 | Auto stop loss in points; 0=disabled |
TakeProfit | 100 | Auto take profit in points; 0=disabled |
TrailingStop | 30 | Trailing stop in points |
Lots | 0.1 | Fixed trading lot size |
MaxPositions | 3 | Maximum positions |
Timeframe | H1 | Timeframe used for indicator calculation |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.