EA-15790 · Trend Following

Exp_ColorJFatl_Digit

This EA trades based on the ColorJFatl_Digit custom indicator, which combines JMA smoothing with FATL digital filtering. It opens buy positions when the indicator signals an uptrend (value=2) and sell positions when it signals a downtrend (value=0), with configurable position closing on trend reversal signals. Money management supports multiple margin modes including fixed lot, balance percentage, and free margin percentage.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsJMA, FATL, ColorJFatl_Digit
Author—

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Not convertible yet
GBPUSD0.00%0.00%0.00%0—————Not convertible yet
USDJPY0.00%0.00%0.00%0—————Not convertible yet
XAUUSD0.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 core strategy of this EA is a trend-following system based on the ColorJFatl_Digit indicator, which integrates JMA (Jurik Moving Average) smoothing algorithm with FATL (Fast Adaptive Trend Line) digital filtering technology to identify market trend direction. Entry conditions are: a buy signal is generated when indicator buffer 1 value equals 2, and a sell signal when the value equals 0, with the additional requirement that the previous bar's value must have transitioned into the signal state (from non-2 to 2 for buy, from non-0 to 0 for sell) to confirm trend initiation. Exit conditions include: closing positions on trend reversal (closing sell positions when buy signal appears, closing buy positions when sell signal appears), as well as fixed stop loss and take profit in points. Position sizing is controlled via the MM parameter with five money management modes: fixed lot, balance-based, free margin-based, and their loss-adjusted variants. The strategy only checks signals on new bars (except when SignalBar=0), avoiding repeated trades within the same bar, using the CIsNewBar class to control trade frequency.

Strengths

  • Combines JMA and FATL dual smoothing filtering for high-quality signals that effectively filter market noise
  • Supports five money management modes, flexibly adapting to different risk preferences and account sizes
  • Has complete stop loss and take profit settings with comprehensive risk control parameters
  • Uses NewBar mechanism to control signal detection frequency, avoiding repeated trades within the same bar
  • Buy/sell opening and closing can be independently toggled, providing high strategy flexibility

Weaknesses

  • Depends on custom indicator ColorJFatl_Digit; EA cannot run if the indicator file is missing
  • No spread filter mechanism; high spread environments may lead to excessive entry costs
  • Stop loss and take profit use fixed points without ATR-based dynamic adjustment for market volatility
  • Lacks position check mechanism; may open duplicate positions in the same direction when one already exists
  • JPhase parameter defaults to -100 which is an extreme value, potentially causing signal lag or over-smoothing

Possible improvements

  • Add spread filter condition to pause trading when spread exceeds a threshold to protect profits
  • Add position check logic to avoid duplicate positions in the same direction that over-concentrate risk
  • Change stop loss and take profit to ATR-based dynamic calculation to adapt to different market volatility environments

Risk assessment

Overall risk: Medium

  • Lack of position check may lead to duplicate positions in the same direction, over-concentrating risk
  • Fixed stop loss/take profit does not account for market volatility changes; SL too wide in low volatility, too narrow in high volatility
  • No spread filter; trading costs in low-liquidity sessions may significantly impact returns

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness2.0
Innovation3.0
Documentation1.0
Overall2.5

Parameters

ParameterDefaultDescription
MM0.1Money management ratio (lot or percentage)
MMModeLOTMargin mode: free margin/balance/net margin/net balance/fixed lot
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum slippage tolerance
BuyPosOpentrueAllow buy positions
SellPosOpentrueAllow sell positions
BuyPosClosetrueAllow buy-side close (close sell on opposite signal)
SellPosClosetrueAllow sell-side close (close buy on opposite signal)
InpInd_TimeframePERIOD_H4Timeframe for indicator calculation
JLength5JMA smoothing length parameter
JPhase-100JMA phase parameter (-100 to +100)
IPCPRICE_CLOSE_Applied price type
Digit2Indicator value decimal rounding digits
SignalBar1Bar index for signal detection (0=current, 1=completed)

Similar Trend Following EAs

Backtests are historical simulations and do not guarantee future results. Not financial advice.

Get the weekly Arena report

One email a week: ranking changes, new signals and new research. No spam; unsubscribe any time.