WMA 20 50 ATR Trailing Stop (Trend)
Buys when the 20-bar weighted moving average crosses above the 50-bar, and exits on the cross back down or on a trailing stop 3 average true ranges below the highest close since entry.
How It Works
- Compute the 20- and 50-bar weighted moving averages and the 22-bar average range.
- Buy when the 20-bar WMA crosses above the 50-bar.
- While in the trade, track the highest close since entry and trail a stop 3 average ranges below it — the stop only ever moves up.
- Sell on whichever comes first: the averages crossing back down, or price hitting the trailing stop — locking in profit on a sharp reversal without waiting for the slow averages to cross.
Worked example. WMA20 crosses above WMA50 at a price of 100 with an average range of 1.0, so the initial stop sits at 97. Price climbs to a high close of 110, dragging the stop up to 107. A sudden slide to 106.8 hits the trailing stop and banks the gain before the averages ever cross back.
The Math Behind The Indicators
Everything runs on closing prices of the traded timeframe: P is a close, Pt today's close, and N counts bars — one bar is one candle of that timeframe, so 20 bars on a 1h chart is 20 hours.
- Weighted Moving Average (WMA)
- A moving average where newer prices count more: the latest close gets weight N, the one before N − 1, down to weight 1 for the oldest. That makes it react to a turn in price sooner than a plain average.
- \[\mathrm{WMA}_N = \dfrac{N \cdot P_t + (N-1) \cdot P_{t-1} + \cdots + 1 \cdot P_{t-N+1}}{N + (N-1) + \cdots + 1}\]
- Example: With N = 3 and closes 100, 102, 104 (oldest to newest): (1·100 + 2·102 + 3·104) / (1 + 2 + 3) = 616 / 6 ≈ 102.67 — pulled closer to the latest price than the plain average of 102.
- Average Range (ATR)
- How much price typically moves per bar. Each bar's true range is its own high-to-low span, widened if the market gapped from the previous close — so an overnight jump counts as movement even when the bar itself is small. The ATR averages the last N of them. It sizes stops: a stop placed k ATRs away automatically adapts to how volatile the market currently is.
- \[\mathrm{TR}_t = \max\left(H_t - L_t,\ \lvert H_t - P_{t-1}\rvert,\ \lvert L_t - P_{t-1}\rvert\right), \quad \mathrm{ATR}_N = \dfrac{1}{N}\sum_{i=1}^{N} \mathrm{TR}_{t-i+1}\]
- Example: A bar running from a low of 99 to a high of 102 after a previous close of 100 has a true range of 3 — the high-low span, since neither gap measure beats it. If the last three true ranges were 3, 1 and 2, the 3-bar ATR is 2, so a stop 2 ATRs below an entry at 100 sits at 96.
Example Chart
Example Chart
WMA 20 50 ATR Trailing Stop (Trend)
Real Data54/ 100Composite score
Metrics Per Trade
Metrics Per Trade
Real data · WMA 20 50 ATR Trailing Stop (Trend)
Final Metrics
Final Metrics
Real data · WMA 20 50 ATR Trailing Stop (Trend)
Scores
Scores
Real data · WMA 20 50 ATR Trailing Stop (Trend)
Resampled Data50/ 100Composite score
Metrics Per Trade
Metrics Per Trade
Resampled data · WMA 20 50 ATR Trailing Stop (Trend)
Final Metrics
Final Metrics
Resampled data · WMA 20 50 ATR Trailing Stop (Trend)
Scores
Scores
Resampled data · WMA 20 50 ATR Trailing Stop (Trend)