Squeeze
- Price
- High
- Low
20 candles · Bollinger 2 · Keltner 1.5
- Momentum
- on
- fires
Quiet phase that often ends in a breakout. Detects phases in which the price moves unusually calmly: the Bollinger Bands contract so much that they fit inside the Keltner Channel. Such phases often end with a strong move. “on” is true while the calm lasts, “fires” on the candle where it ends. The momentum shows the direction: above 0 the price pushes up, below 0 down. Example: “fires” together with “momentum above 0” reports a breakout to the upside.
What it looks like
Section titled “What it looks like”- Bollinger Bands 20 · 2
- Keltner Channel 20 · 1.5
- momentum above and below 0
- squeeze on
- fires
Settings
Section titled “Settings”The settings appear on the right under “Properties” once you click the node on the board. Below each field you find the same explanation as here.
Candles
Section titled “Candles”How many candles the bands, the channel and the momentum cover. 20 is the usual value.
Bollinger width
Section titled “Bollinger width”Distance of the Bollinger Bands as a multiple of the standard deviation, usually 2. With 1.5 the bands sit closer and the squeeze is on more often.
Keltner width
Section titled “Keltner width”Distance of the Keltner Channel as a multiple of the usual range of a candle, usually 1.5. A wider channel reports the squeeze more often.
Example
Section titled “Example”An upside breakout: the squeeze fires while the momentum is above 0.
How to connect the nodes:
- Candle (Price) → Squeeze (Price)
- Candle (High) → Squeeze (High)
- Candle (Low) → Squeeze (Low)
- Squeeze (Momentum) → Compare (Value)
- Squeeze (fires) → AND (Signal 1)
- Compare (true/false) → AND (Signal 2)
- AND (all true) → Telegram (Trigger)
On the board it reads: 20 candles · Bollinger 2 · Keltner 1.5
Chain as JSON
To try it, copy it and paste it in the editor under “Import”. Importing creates a new chain.
{ "name": "Example: Squeeze", "version": 1, "nodes": [ { "id": "c1", "type": "core.candle", "position": { "x": 40, "y": 40 }, "settings": { "pair": "BTC/USDT", "timeframe": "1h" } }, { "id": "q1", "type": "core.squeeze", "position": { "x": 260, "y": 40 }, "settings": {} }, { "id": "k1", "type": "core.compare", "position": { "x": 480, "y": 40 }, "settings": { "operator": "above", "value": 0 } }, { "id": "a1", "type": "core.and", "position": { "x": 700, "y": 40 }, "settings": {} }, { "id": "t1", "type": "core.telegram", "position": { "x": 920, "y": 40 }, "settings": {} } ], "edges": [ { "from": "c1.close", "to": "q1.close" }, { "from": "c1.high", "to": "q1.high" }, { "from": "c1.low", "to": "q1.low" }, { "from": "q1.momentum", "to": "k1.in" }, { "from": "q1.fired", "to": "a1.in0" }, { "from": "k1.out", "to": "a1.in1" }, { "from": "a1.out", "to": "t1.in" } ]}Inputs and outputs
Section titled “Inputs and outputs”Only matching types connect: number series to number series (round pin), signal to signal (square), message to message (diamond).
| Direction | Pin | Type | Note |
|---|---|---|---|
| Input | Price | Number series | required |
| Input | High | Number series | required |
| Input | Low | Number series | required |
| Output | Momentum | Number series | – |
| Output | on | Signal (true/false) | – |
| Output | fires | Signal (true/false) | – |
Good to know
Section titled “Good to know”- In messages the value is called “Squeeze momentum 20”.
- Warm-up with the default settings: 40 candles (this many extra candles are loaded by the replay before the value is reliable).
- Search also finds it under: squeeze, quiet, breakout, bollinger, keltner, momentum, volatility, tight.
Technical details
Section titled “Technical details”Bollinger Bands SMA ± Bollinger width × standard deviation, Keltner Channel the same SMA ± Keltner width × SMA of the true range, all over the same candles; “on” while both Bollinger Bands lie inside the channel. Momentum is the linear regression of close − ((highest high + lowest low) / 2 + SMA) / 2, evaluated at the current candle. With Bollinger width 1.5 the values match LazyBear’s Squeeze Momentum Indicator on TradingView.
- Type in the chain:
core.squeeze· Version 1.0.0 · Category keyind - Settings in the chain:
length(Candles),bbMult(Bollinger width),kcMult(Keltner width) - Pins in the chain: Input
close,high,low· Outputmomentum,on,fired - Reference tests in the manifest: 1 (with fixed price data: 500 candles of 1h)
- How a node is built
Version 2026.10.21.23 · Changelog