Exp_ColorJVariation
This EA trades based on the ColorJVariation custom indicator, which is a JMA-smoothed variation oscillator. It opens buy positions when the indicator value rises consecutively (Value[0]>Value[1]>Value[2] pattern) and sell positions when it falls consecutively, with separate permissions for entry and exit.
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 changes in the ColorJVariation indicator to determine trend direction. Entry conditions: a buy signal triggers when Value[1]<Value[2] (prior decline) and Value[0]>Value[1] (current recovery), indicating weakening downward momentum and potential upward reversal; a sell signal triggers when Value[1]>Value[2] (prior rise) and Value[0]<Value[1] (current decline), indicating weakening upward momentum. Exit conditions: the buy signal simultaneously triggers closing of short positions, and the sell signal triggers closing of long positions, enabling automatic position reversal on trend changes. Position sizing is controlled by the MM parameter where negative values represent fixed lot sizes and positive values represent deposit share percentage. Money management uses fixed stop loss and take profit in points (StopLoss=1000, TakeProfit=2000), yielding a risk-reward ratio of 1:2. The strategy employs an IsNewBar mechanism to calculate signals only on new bar formation, avoiding redundant per-tick calculations.
Strengths
- Uses JMA-smoothed custom indicator for higher signal quality compared to simple moving averages
- Independent entry and exit permission controls offer high flexibility to disable buy or sell independently
- Employs IsNewBar mechanism to avoid redundant per-tick calculations, improving efficiency
- Risk-reward ratio of 1:2 with take profit exceeding stop loss, positive long-term expectancy
- Signal logic based on momentum reversal can capture trend turning points
Weaknesses
- Lacks spread filter, which may lead to unfavorable fills during high-spread conditions
- No position check before opening, risking duplicate positions and oversized exposure
- Depends on custom ColorJVariation indicator file; EA fails if indicator is missing
- Stop loss of 1000 points is relatively large, potentially causing significant single-trade losses
- SignalBar=0 triggers per-tick recalculation while SignalBar=1 uses new-bar logic, creating inconsistent behavior
Possible improvements
- Add spread filter and open position count check to avoid high-slippage entries and duplicate positions
- Add trailing stop functionality to lock in partial profits during extended trends
Risk assessment
Overall risk: Medium
- No position check may lead to duplicate position opening and uncontrolled exposure
- Stop loss of 1000 points is large and can cause significant losses on leveraged accounts
- Depends on external indicator file; missing indicator yields no signals but EA does not safely exit
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | -0.1 | Funding ratio or fixed lots; negative = lots, positive = deposit ratio |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum price slippage |
BuyPosOpen | true | Allow buy position open |
SellPosOpen | true | Allow sell position open |
BuyPosClose | true | Allow close long position |
SellPosClose | true | Allow close short position |
InpInd_Timeframe | PERIOD_D1 | Indicator timeframe |
Period_ | 12 | Averaging period |
MA_Method_ | MODE_SMA | Averaging method |
JLength_ | 3 | JMA smoothing depth |
JPhase_ | 100 | JMA smoothing parameter (-100 to +100) |
Shift | 0 | Indicator horizontal shift |
SignalBar | 1 | K-line index for entry signal |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.