EA-1469 · Multi-Timeframe

Exp_ADX_Cross_Hull_Style

This EA trades based on signals from the ADX_Cross_Hull_Style indicator for entry direction and the UltraXMA indicator as a trend filter. It opens buy/sell positions when ADX crossover signals align with the UltraXMA trend direction, and closes positions on opposing signals or historical signal searches. The full version also incorporates UltraXMA as an additional confirming filter for trade direction.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsADX, UltraXMA, JJMA, JurX, ParMA, T3, VIDYA, AMA, ATR
AuthorCopyright © 2011, Nikolay Kositsin

Backtest results (H1, about 1 year)

Not backtested yet — this EA could not be converted automatically.

Strategy analysis

This strategy combines ADX crossover signals with UltraXMA smoothed trend filtering, forming a multi-indicator confirmed trend-following system. Entry conditions: ADX_Cross_Hull_Style generates a bullish crossover signal (UpValue non-zero and non-empty) for buy entries and bearish crossover for sell entries; the full version additionally requires UltraXMA trend confirmation where UpUXMA<DnUXMA prohibits longs and forces long closes, and vice versa. Exit conditions include: opposing ADX crossover signals trigger position closes, and when the initial signal doesn't trigger a close, the EA searches historical bars backwards to find the most recent opposing signal for closing decisions. Position sizing is controlled via the MM parameter where negative values represent fixed lot sizes and positive values represent deposit-share-based sizing. Stop loss and take profit are fixed at 1000 and 2000 points respectively, with trade execution handled through the TradeAlgorithms.mqh library functions. The strategy employs a rich set of smoothing algorithms (JJMA, JurX, ParMA, T3, VIDYA, AMA, etc.) to reduce signal noise across multiple smoothing layers.

Strengths

  • Dual-indicator confirmation mechanism reduces false signals; ADX crossover plus UltraXMA trend filtering improves entry quality
  • Supports a rich set of smoothing algorithms (JJMA, JurX, ParMA, T3, VIDYA, AMA) offering high flexibility
  • Independent switches for buy/sell opening and closing enable fine-grained control over trade direction and exit logic
  • New bar detection mechanism prevents repeated trading on the same bar, reducing overtrading risk
  • Historical bar reverse-search logic provides an additional safeguard for position closing

Weaknesses

  • Fixed stop loss and take profit do not dynamically adjust based on market volatility (ATR), potentially misaligned under different market conditions
  • Lacks spread filtering, which may lead to unfavorable fills during high-spread periods or on lower timeframes
  • Historical bar iteration for searching closing signals is inefficient and may impact performance with large bar counts
  • Depends on custom indicators ADX_Cross_Hull_Style and UltraXMA; EA cannot run if these are unavailable
  • MM parameter design is confusing: negative values for lots and positive for deposit share ratio, easy to misconfigure

Possible improvements

  • Add ATR-based dynamic stop loss/take profit to automatically adjust distances based on market volatility
  • Add spread filter and session/time filter to avoid trading during high-spread periods and suboptimal hours
  • Optimize historical bar search logic by capping the maximum number of bars to search, preventing performance issues

Risk assessment

Overall risk: Medium

  • Fixed stop loss/take profit cannot adapt to different market volatility environments; stops may be too small or too large in extreme conditions
  • MM parameter's negative/positive logic is error-prone and may accidentally result in excessively large lot sizes
  • Historical bar iteration has no upper bound, potentially blocking OnTick execution for extended periods
  • Lacks position existence checks before opening, potentially opening duplicate positions in the same direction

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness2.0
Innovation3.0
Documentation2.0
Overall2.5

Parameters

ParameterDefaultDescription
MM-0.1Deposit ratio or fixed lot; negative = lot size
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Max price deviation in points (slippage tolerance)
BuyPosOpentrueAllow opening long positions
SellPosOpentrueAllow opening short positions
BuyPosClosetrueAllow closing long positions
SellPosClosetrueAllow closing short positions
InpInd_TimeframePERIOD_H4Indicator timeframe
ADXPeriod14ADX indicator period
W_MethodMODE_JJMAUltraXMA smoothing method
StartLength3UltraXMA initial smoothing period
WPhase100UltraXMA smoothing parameter (JJMA range -100 to +100)
nStep5UltraXMA period change step
nStepsTotal10UltraXMA period change count
SmoothMethodMODE_JJMAUltraXMA secondary smoothing method
SmoothLength3UltraXMA secondary smoothing depth
SmoothPhase100UltraXMA secondary smoothing parameter
IPCPRICE_CLOSEUltraXMA price constant type
SignalBar1Bar index for entry signal

Similar Multi-Timeframe 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.