AROS Adaptive Robust OneSided Smoother
- Indicatori
- Viktor Nimrichtr
- Versione: 1.1
- Aggiornato: 26 dicembre 2025
- Attivazioni: 7
AROS (Adaptive Robust One-Sided Smoother)
is a non-repainting trend indicator designed for live trading.
It plots a smooth adaptive trend line directly in the main chart window, helping traders:
-
identify the current market trend,
-
reduce noise and false signals during sideways markets,
-
adapt automatically to changing volatility conditions.
Unlike classic moving averages, AROS:
-
reacts faster during strong trends,
-
becomes more stable during choppy or ranging markets,
-
never uses future data (fully causal).
How to read the trend line on the chart
The Trend line represents the estimated underlying market direction:
-
Price above the trend line
→ bullish bias, trend-following long setups are favored. -
Price below the trend line
→ bearish bias, trend-following short setups are favored.
Because the smoothing is adaptive:
-
during strong directional moves the line follows price more closely,
-
during ranging or noisy periods the line becomes smoother and more stable.
Trend line color indicates market regime:
-
Red = Trend regime (trend-following conditions)
-
Blue = Range regime (choppy/ranging conditions; be cautious with trend signals)
Simple trading ideas (examples)
Trend-following
-
Trade in the direction of the trend line.
-
Use pullbacks toward the trend line as potential entry areas.
-
Avoid counter-trend trades when the market is clearly trending.
Range / mean-reversion
-
When the market is ranging, price often oscillates around the trend line.
-
In such conditions, deviations from the trend line tend to revert back.
(Advanced users can automate these ideas using the provided buffers — see Section 2.)
Fast/Slow AROS crossover idea
Apply AROS twice with different responsiveness (smaller vs larger windows). Crosses between the two AROS trend lines can be used similarly to fast/slow moving-average cross signals.
Example configuration is at chapter 2.9 below.
Simple explanation of the algorithm (non-technical)
AROS works in three main steps:
-
Noise measurement
The indicator estimates current market noise using a robust volatility measure (MAD), which is less sensitive to spikes and news. -
Trend strength estimation
It measures how strongly price moves in one direction (slope). -
Adaptive smoothing
If trend strength is high compared to noise → the trend reacts faster.
If noise dominates → the trend is smoothed more strongly.
This adaptive behavior happens automatically on every bar.
Input parameters
=== Lookback windows ===
VolatilityMADWindow
Lookback window (in bars) used to estimate market noise with a robust MAD volatility.
Higher values → more stable trend, slower reaction.
Lower values → more reactive trend, more sensitive to noise.
SlopeWindow
Lookback window (in bars) used to estimate trend strength (slope).
Higher values → smoother, slower trend detection.
Lower values → faster reaction to short-term moves.
=== Smoothing factors ===
AlphaMin
Minimum smoothing factor.
Defines how slow and smooth the trend can become in noisy or ranging markets.
AlphaMax
Maximum smoothing factor.
Defines how fast the trend can react during strong directional movement.
AlphaEMAFactor
EMA factor used to smooth the adaptive smoothing parameter itself.
Higher values → faster changes in trend responsiveness.
Lower values → smoother, more stable trend behavior.
SNRScale
Scaling constant controlling how quickly the indicator switches between slow and fast smoothing based on trend strength.
=== Regime thresholds ===
TrendRegimeOnSNR
Threshold to enter Trend regime.
Higher values → fewer but stronger trend signals.
TrendRegimeOffSNR
Threshold to exit Trend regime and return to Range regime.
Creates hysteresis to avoid frequent regime switching.
2. Advanced / Quant section – Algorithm & EA integration
2.1 Conceptual model
Price is modeled as:
The goal of AROS is to estimate the Trend component in real time, without repainting, while also providing information about Noise and Market Regime.
2.2 Robust volatility estimation
Price returns are computed as:
Volatility is estimated using MAD (Median Absolute Deviation):
This approach is robust against spikes and outliers and is controlled by VolatilityMADWindow parameter.
The computed robust volatility estimate is exposed as VolatilityBuffer (price units).
2.3 Trend strength estimation
Trend strength is approximated by the average absolute price change:
where K = SlopeWindow parameter.
The computed slope proxy is exposed as SlopeBuffer.
2.4 Adaptive smoothing parameter (Alpha)
A signal-to-noise ratio is computed:
The adaptive smoothing factor is then mapped into the interval:
To avoid instability, Alpha is further smoothed using an EMA:
AlphaSmooth = AlphaEMAFactor × Alpha + (1 − AlphaEMAFactor) × AlphaSmooth(previous)
AlphaMin, AlphaMax, SNRScale, AlphaEMAFactor are input parameters.
The computed signal-to-noise ratio is exposed as SNRBuffer.
2.5 Trend update equation
The final trend is updated recursively:
This formulation is:
-
fully causal,
-
O(1) per bar,
-
non-repainting.
2.6 Noise buffer (EA integration)
The Noise buffer contains the normalized residual:
(as described in sections 2.2 and 2.5)
It represents short-term deviation from the trend and is useful for:
-
mean-reversion strategies,
-
overbought / oversold detection,
-
channel construction.
2.7 Trend / Range regime flag
Using the same SNR measure:
If SNR ≥ TrendRegimeOnSNR → Trend regime (1)
If SNR ≤ TrendRegimeOffSNR → Range regime (0)
Else → keep previous regime
This hysteresis-based regime detection prevents frequent switching and provides a clean state signal for Expert Advisors.
TrendRegimeOnSNR, TrendRegimeOffSNR are input parameters.
2.8 Buffers available for EA integration
The indicator provides the following buffers:
-
0 - TrendBuffer
Smoothed adaptive trend value (as described in section 2.5).Visible in main chart window as trend line. -
1 - RegimeBuffer
Market regime flag: 1 = Trend , 0 = Range (section 2.7). Visible in main chart window as color classification of the trend line. -
2 - NoiseBuffer
Normalized residual (Price − Trend) / Volatility (view section 2.6). -
3 - AlphaSmoothBuffer (internal calculation buffer)
Smoothed adaptive alpha state used in the trend recursion (section 2.4/2.5). -
4 - SlopeBuffer (EA/diagnostics)
Signed slope proxy of local trend strength (section 2.3), in price units per bar. -
5 - VolatilityBuffer (EA/diagnostics)
Robust MAD volatility estimate (section 2.2), in price units. -
6 - SNRBuffer (EA/diagnostics)
Signal-to-noise ratio used for regime and alpha decisions (section 2.4/2.7), dimensionless.
These buffers allow direct and efficient use in Expert Advisors via iCustom.
2.9 Recommended Setups
FX (EURUSD, GBPUSD, USDJPY)
Recommended timeframes: M5 – H1
Crypto (BTCUSD, ETHUSD)
Recommended timeframes: M1 – M15
Fast/Slow AROS crossover idea
Fast AROS (more reactive)
-
smaller VolatilityMADWindow
-
smaller SlopeWindow
-
higher AlphaMax
-
slightly higher AlphaEMAFactor (so alpha adapts faster)
Example:
Slow AROS (more stable)
-
larger VolatilityMADWindow
-
larger SlopeWindow
-
lower AlphaMax
-
slightly lower AlphaEMAFactor
Example:
Signal definition (simple)
-
Bullish cross: TrendFast crosses above TrendSlow
-
Bearish cross: TrendFast crosses below TrendSlow
This behaves very similarly to fast/slow MA crosses, but with adaptive responsiveness.
Final notes
-
The indicator is fully non-repainting and suitable for live trading.
-
Designed for manual trading and EA integration.
-
Uses robust statistics to handle real market conditions.
