Swing Index Node
Wilder's Price Momentum with Limit-Move Normalization
Overview
The Swing Index Node implements J. Welles Wilder's Swing Index, developed for futures markets. It quantifies the swing in price from bar to bar using a formula that accounts for open, high, low, and close of both the current and previous bar — producing a single value bounded between −100 and +100.
The limitMove parameter represents the maximum allowable price change in a session (daily limit move), which was originally used for commodity futures markets. It normalizes the index so that the theoretical maximum SI of 100 corresponds to a full limit-up or limit-down move. Wilder used the Swing Index primarily as an input to the Accumulative Swing Index (ASI), but SI itself is a useful short-term price momentum oscillator.
Algorithm
Parameters
| Parameter | Default | Description |
|---|---|---|
| limitMove | 30 | Maximum allowable daily price move (limit-move constant for normalization) |
Inputs & Outputs
| Slot | Direction | Type | Description |
|---|---|---|---|
| input | Input | OHLCV | Standard OHLCV price and volume data |
| values | Output | (number | null)[] | SI value (approx. −100 to +100; positive = bullish swing) |
| timestamps | Output | number[] | Unix timestamps aligned to input |
Use Cases
Input to Accumulative Swing Index
The primary intended use of Swing Index is as a component in Wilder's Accumulative Swing Index (ASI). ASI is a running cumulative sum of SI values, forming a smoothed price series. Connect the SI output to a cumulative sum node to build ASI, which can then be analyzed with trendlines and breakout logic.
Zero-Line Oscillator Signals
Cross above zero indicates a bullish price swing (current close stronger than prior close with open/gap context); cross below zero indicates bearish. As a standalone oscillator, SI zero-line crossovers provide early momentum signals that precede trend indicators like MAs.
Futures Limit-Move Detection
In futures markets, an SI reading near ±100 indicates a near-limit-move bar — a very powerful directional day. These extremes can be used to flag potential follow-through days or trigger confirmation-based entry systems in trend-following futures strategies.
Tips & Best Practices
Calibrate limitMove per Instrument
The default limitMove of 30 is calibrated for commodity futures. For equities, use the stock's average daily range (e.g., ATR × price). For crypto, use the approximate daily percentage limit equivalent. Incorrect limitMove values don't break the indicator — they just scale the amplitude. What matters is that the sign and relative magnitude are preserved.
More Useful as a Component
Swing Index as a standalone bar-by-bar oscillator is quite noisy. Its true power emerges when accumulated into ASI or smoothed with a short EMA (3–5 period). Use the raw SI output primarily for building composite indicators or for limit-move detection in futures.
Open Price Required
Unlike many indicators that only use close/high/low, Swing Index uses the open price of both the current and previous bar in its formula. Ensure your OHLCV data source provides accurate open prices — indicators built on candles with unreliable open values will produce distorted SI readings.