Exp_WeightOscillator
This EA trades based on the Weight Oscillator indicator, generating buy signals when the oscillator crosses above its signal line and sell signals when it crosses below. It applies a customizable money management system with dynamic position sizing and includes trailing stop functionality for trade management.
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 crossover signals from the Weight Oscillator indicator, which computes a composite momentum value by applying weighted averaging across multiple periods. Entry conditions trigger a buy when the oscillator crosses above its signal line and a sell when it crosses below. Exit conditions include trailing stop activation, fixed stop-loss and take-profit levels being reached, and position closure on opposing crossover signals. Position sizing employs a money management module that dynamically calculates lot size based on account balance and a configurable risk percentage. The money management system supports multiple modes including fixed lots, fixed fractional, and dynamic fractional sizing, allowing traders to adjust according to their risk appetite. This strategy is a classic momentum-following system that relies on oscillator momentum shifts to capture the early stages of trending moves.
Strengths
- Based on composite weighted oscillator signals, it captures momentum shifts more comprehensively than single indicators
- Supports multiple money management modes, flexibly adapting to traders with different risk preferences
- Includes trailing stop functionality to effectively protect accrued profits
- Well-parameterized design with all key parameters externally configurable for optimization
- Signal line crossover mechanism provides objective entry and exit rules, reducing subjective judgment interference
Weaknesses
- Oscillator strategies tend to generate frequent false signals in ranging markets, leading to consecutive losses
- Lacks a market state filter (e.g., trend strength or volatility filter) to distinguish trending from ranging conditions
- Improperly set trailing stop parameters may trigger premature exits in volatile markets
- Single indicator dependency means the strategy lacks multi-dimensional confirmation, limiting signal reliability
- No spread filter included, potentially resulting in unfavorable fills in high-spread environments
Possible improvements
- Add a trend filter (e.g., ADX or higher timeframe moving average direction) to trade oscillator signals only in trending markets and reduce false signals
- Implement spread and volatility filters to avoid opening positions under unfavorable trading conditions
- Introduce multi-timeframe confirmation requiring higher timeframe directional alignment before entry
Risk assessment
Overall risk: Medium
- Lack of market state filter may lead to consecutive losses in ranging markets
- Trailing stops may be prematurely triggered during sharp volatility, limiting profit potential
- Single indicator dependency increases the risk of signal failure
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
LotSize | 0.1 | Fixed trading lot size |
StopLoss | 50 | Stop loss in points |
TakeProfit | 100 | Take-profit in points (~10 points) |
TrailingStop | 30 | Trailing stop in points; 0 to disable |
WeightOscillatorPeriod | 14 | Weight oscillator period |
SignalPeriod | 5 | SilverTrend signal period parameter |
MoneyManagement | false | Enable money management |
RiskPercent | 2 | Per-trade risk percentage based on account balance |
MagicNumber | 12345 | EA magic number for order identification |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.