Min-Max Node
Min-Max Normalisation — Rolling Window
Overview
The Min-Max Node normalises any series to a 0–1 range within a rolling window. A value of 1 means the current value is the highest in the window (period high); a value of 0 means the lowest (period low).
This is equivalent to a stochastic oscillator applied to any series, not just price. It is scale-invariant and makes it easy to compare series of different magnitudes.
Formula
Parameters
| Parameter | Default | Description |
|---|---|---|
| period | 20 | Rolling window in bars |
Inputs & Outputs
| Slot | Direction | Type | Description |
|---|---|---|---|
| input | Input | { values, timestamps } | Any upstream numeric series |
| values | Output | (number | null)[] | Normalised value in [0, 1]; nulls during warm-up |
| timestamps | Output | number[] | Unix timestamps aligned to input |
Use Cases
Cross-Indicator Comparison
Normalise different indicators (RSI, MACD signal, ATR) to a common 0–1 scale for composite scoring.
Overbought/Oversold on Any Series
Values near 1 = overbought within the window; near 0 = oversold. Apply to volume, momentum, or spread series.
Machine Learning Feature Scaling
Normalise features to [0, 1] for neural networks or other ML models that require bounded input features.
Tips & Best Practices
Sensitive to Outliers
A single extreme value in the window will push all other values toward 0 or 1. Use Z-Score Robust instead for outlier-resistant normalisation.
Period Controls Context
Short period = local normalisation (volatile output). Long period = global normalisation (stable but slow to respond to new regimes).
Use Rank for Ordinal Normalisation
For a percentile rank (0–100) instead of a value-range normalisation, use the Rank node which is more robust to outliers.