1993issue C111-8
A shared harness for trend-filter construction
Three always-in trend-filter constructions, swing-penetration, a random-walk-index, and a dual-average-crossover, were coded as separate mechanical procedures under one next-open comparison harness. Construction-to-path notes then assigned leftover differences to the price-path shape each filter can see, and the next suggested step was a stop from maximum-adverse-excursion before size.
- Five-count swing-penetration, a random-walk-index, and a dual-average-crossover were coded as separate always-in mechanical procedures so each trend-filter could be judged on the same terms.
- The comparison harness used one futures contract at a time over staggered multi-year windows, filled every rule-based-entry or exit at the next session open, left lookbacks unoptimized, omitted pyramiding, scored only the last 150 sessions, and flattened any remaining position on the last close.
- Construction-to-path notes assigned stair-step breakouts to swings, expanding-then-shrinking daily range to the random-walk-index, and flat or rounded turns to the dual average; all three were described as unsuited to meandering ranges.
- After a trend-filter is chosen, the next construction step is to study maximum-adverse-excursion so a stop can bound the loss before atr-position-sizing is applied.
Three constructions on one clock
Five-count swing-penetration, a random-walk-index, and a dual-average-crossover were coded as separate always-in mechanical procedures so each trend-filter could be judged on the same terms.
The comparison harness used one futures contract at a time over staggered multi-year windows. Each tool was initialized on earlier data. Only the last 150 sessions of each contract were scored. Any remaining position was flattened on that contract's last close.
Every rule-based-entry or exit printed on one session was filled at the next session's open. Lookbacks and flip logic were left unoptimized. Pyramiding was omitted.
How each filter printed a stance
The dual-average-crossover signaled when a 25-day average crossed a 55-day average.
The swing-penetration filter signaled when an intraday extreme pierced the five-count swing line and reversed the standing position.
The random-walk-index used a 65-day maximum lookback. It issued a directional signal only when one side of the index was above 1 and the other was below 1. Both sides above 1 produced no new signal.
A joint construction accepted both swing and random-walk alerts but acted only on whichever arrived first. It remained continuously positioned, like the three standalone filters.
How the random-walk index was built
Random-walk-up is built by taking the lowest low inside the lookback of k days, averaging range over those k days, and testing whether today's high minus that low is at least average range times the square root of k. Random-walk-down mirrors the test with the highest high versus today's low. A long is held while up is at least 1 and down is below 1, then reversed when those inequalities flip.
The spreadsheet form of the low-side index uses true-range, the greater of the session high-low span or the prior close versus today's low, so a gap is not recorded as a quiet day. Any lookback whose ratio exceeds 1 is treated as a trend reading. The largest ratio across lookbacks is the day's index.
Random-walk index of today's low by lookback

The worksheet uses true range in the denominator and stops at a nine-day lookback; day 1 has no close because that session is treated as still open.
Price-path shapes each construction can see
Construction-to-path notes assigned stair-step breakouts to swings, expanding-then-shrinking daily range to the random-walk-index, and flat or rounded turns to the dual average. Deep multi-stage pullbacks were described as reversing both swing and random-walk positions. All three filters were described as unsuited to meandering ranges.
Study adverse excursion before size
After a trend-filter construction is chosen, the suggested next construction step is to study maximum-adverse-excursion so a stop can bound the loss before size is applied.
Editorial: treat that later bound as atr-position-sizing. Choose size from stop distance and account risk before the fill, refined by how far trades typically run against the entry.
All readings on this track · 36 readings
- 1988Constructing unsigned true range for directional models
- 1989Evaluate an always-in ATR breakout as one procedure
- 1992Variable lookback and average true range as a trend-filter construction
- 1993A random-walk index that uses true range as its scale
- 1993A shared harness for trend-filter construction
- 1998Finish a trend with a volatility trail, wave permission, and a slower-frame veto
- 1999A trend filter that switches tactics and scales ATR targets
- 2001Filter higher lows with linear regression, then judge the exit
- 2003A Mechanical trading system is a maintained procedure, not only an entry trigger
- 2005Construction of a volatility-bounded long entry
- 2005Six-zone encoding of open, high, low, and close
- 2006Normalized average true range as a pre-entry volatility bound
- 2006Chandelier exits, ATR position sizing, and trailing stops
- 2007Constructing a rule-based entry with Relative Strength Index and ATR position sizing
- 2008Constructing a zero-lag TMA and heikin-ashi crossover as a complete rule set
- 2010Use the session-range percent stop as a pre-trade filter
- 2011OCA exit groups, trailing limits, and ATR stops
- 2011ATR bands around support and resistance for stops and targets
- 2013Algorithmic head-and-shoulders construction with bounded exits
- 2013Constructing ATR-scaled swing pivots and linear-regression divergence
- 2013Constructing volatility bands from typical price
- 2014Constructing true-range contraction filters before expansion
- 2015Constructing touch plans from modified true range
- 2015One checklist for breakout entry and ATR risk
- 2015Percentage true-range construction for cross-market volatility filters
- 2015Construct a percentage true range for cross-market volatility
- 2015Percentage true range as a pre-entry exposure filter
- 2016Constructing ATR-filtered breakout entries
- 2017A dividend date as a pairs-trading classroom
- 2018Range-based volatility as a true-range construction
- 2018Moving average support and volatility-band construction
- 2018Construct a lifecycle breakout from compression
- 2018Pair the book first and let volatility or range set the size
- 2019Trend systems need a no-trade rule
- 2020Average true range as a shared unit for size, pairs, and stops
- 2020Volatility sizing and target-risk leverage as a pre-trade gate