Min-Max Node

Min-Max Normalisation — Rolling Window

StatisticalNormalisation

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

minMaxNorm[i] = (v[i] − min(window)) / (max(window) − min(window))
If max(window) = min(window) (flat series), output = 0 to avoid division by zero.
Output range: [0, 1]

Parameters

ParameterDefaultDescription
period20Rolling window in bars

Inputs & Outputs

SlotDirectionTypeDescription
inputInput{ values, timestamps }Any upstream numeric series
valuesOutput(number | null)[]Normalised value in [0, 1]; nulls during warm-up
timestampsOutputnumber[]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.

Related Indicators