2004issue C121-2
Constructing a fifteen-bar trend trigger as a next-open system
A 15-bar buy-power and sell-power contrast is scaled into a trend-trigger-factor, then mapped to a stance-code that changes only at extreme readings and is filled at the next session open.
- Buy-power and sell-power compare the latest 15-bar highs and lows with the immediately preceding 15-bar window, rather than treating the contrast as a chart overlay.
- The trend-trigger-factor scales that contrast by 100 so a reading above 100 or below -100 can change the stance-code, while every other reading keeps the prior long, short, or flat state.
- When the stance-code changes, the next-open-fill is the following session open. When it does not change, the entry-price field stays blank and the existing stance-code is held.
- The worked euro continuous-contract sheet stores date as an eight-digit year-month-day integer and pairs the first long stance-code with a next-open-fill of 99.29.
What is being constructed
The archive constructs buy-power, sell-power, and a scaled trend-trigger-factor from two adjacent 15-bar windows, then maps extreme readings to a stance-code. The stance-code is a next-session instruction, and a change is filled only at the next session open.
Buy-power and sell-power
A 15-bar buy-power reading equals the highest high in the latest 15 bars minus the lowest low in the prior 15 bars. The latest window supplies the high. The immediately preceding window supplies the low.
A 15-bar sell-power reading reverses those windows. It equals the highest high in the prior 15 bars minus the lowest low in the latest 15 bars.
The trend-trigger-factor
The 15-bar trend-trigger-factor is buy-power minus sell-power, divided by half the sum of those two powers, then multiplied by 100. The scaling is there so extreme readings can trip a stance-code change.
Stance-code rules
A trend-trigger-factor above 100 sets the next stance-code to 1, which means long. A reading below -100 sets it to -1, which means short. Otherwise the prior stance-code is kept, including a 0 that means no position.
The stance-code is a discrete next-session instruction. It is held until an opposite extreme is reached.
The next-open-fill
If the stance-code changes, the intended fill is the next session open. If the stance-code does not change, no new entry price is recorded and the existing stance-code is held.
Inputs on the worked sheet
Input series are date, open, high, low, and close. The date is stored as an eight-digit year-month-day integer.
The worked construction uses continuous-contract euro prices from 20021001 through 20030115. In the worked sheet the first long stance-code appears when the trend-trigger-factor rises above 100, and that flip is paired with a next-open-fill of 99.29.
Euro 15-day trend trigger factor versus the +100 long trigger

Fifteen daily bars in each window. Stance becomes 1 only when TTF is strictly above 100, −1 only when TTF is strictly below −100; otherwise the prior stance is held. Fills are at the next session open. The first 29 rows are warm-up and carry no TTF.
All readings on this track · 14 readings
- 1990Moving-average direction, range penetration, and a dollar stop
- 1990Rally and reaction day signals as a mechanical stock system
- 1991Constructing steppable currency games with stop alerts
- 1995Trading as a business: a case study of preparation and rule-based entry
- 1997Bond timing rules as one testable procedure
- 2000Rule-based moving average commentary as a testable filter
- 2004Constructing a fifteen-bar trend trigger as a next-open system
- 2005State-locked rules for mechanical trading
- 2007Same-session long entry from a moving-average filter
- 2012Liquidity, share count, and stop-trigger costs
- 2012Monthly eight-bar average entry and exit rules
- 2012Constructing a simple moving average filter with fixed crossing rules
- 2014A two-average brick crossover is not yet a trading system
- 2020Reject long-bar entries driven by volatility fear of missing out