At least X of N
- Signal 1
- Signal 2
- more, up to 8
at least 2 of 3
- enough true
True when enough conditions are met. Counts on every candle how many of the connected signals are true and is true as soon as at least the set number are. Stricter than OR, looser than AND: not everything has to match, but enough. Example: RSI below 30, price at the lower Bollinger Band and volume above double, with at least 2 the alert fires when two of the three are met.
What it looks like
Section titled “What it looks like”- input true
- output true
- false
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.
At least
Section titled “At least”How many of the connected signals must be true at the same time. With 2 of 3, signals confirm each other without all having to match.
Example
Section titled “Example”Three signs of a sell-off: RSI below 30, price below the lower Bollinger Band, volume above double. Push arrives as soon as two of the three are true at the same time.
How to connect the nodes:
- Candle (Price) → RSI (Value)
- RSI (RSI) → Compare (Value)
- Candle (Price) → Bollinger Bands (Value)
- Candle (Price) → Compare A/B (A)
- Bollinger Bands (Lower) → Compare A/B (B)
- Candle (Volume) → Volume (Volume)
- Volume (Relative) → Compare (Value)
- Compare (true/false) → At least X of N (Signal 1)
- Compare A/B (true/false) → At least X of N (Signal 2)
- Compare (true/false) → At least X of N (Signal 3)
- At least X of N (enough true) → Push (Trigger)
On the board it reads: at least 2 of 3
Chain as JSON
To try it, copy it and paste it in the editor under “Import”. Importing creates a new chain.
{ "name": "Example: At least X of N", "version": 1, "nodes": [ { "id": "c1", "type": "core.candle", "position": { "x": 40, "y": 40 }, "settings": { "pair": "BTC/USDT", "timeframe": "1h" } }, { "id": "r1", "type": "core.rsi", "position": { "x": 260, "y": 40 }, "settings": { "length": 14 } }, { "id": "k1", "type": "core.compare", "position": { "x": 480, "y": 40 }, "settings": { "operator": "below", "value": 30 } }, { "id": "b1", "type": "core.bb", "position": { "x": 260, "y": 170 }, "settings": {} }, { "id": "k2", "type": "core.compare-ab", "position": { "x": 480, "y": 170 }, "settings": { "operator": "below" } }, { "id": "v1", "type": "core.volume", "position": { "x": 260, "y": 300 }, "settings": {} }, { "id": "k3", "type": "core.compare", "position": { "x": 480, "y": 300 }, "settings": { "operator": "above", "value": 2 } }, { "id": "x1", "type": "core.atleast", "position": { "x": 700, "y": 40 }, "settings": { "count": 2 } }, { "id": "p1", "type": "core.push", "position": { "x": 920, "y": 40 }, "settings": {} } ], "edges": [ { "from": "c1.close", "to": "r1.in" }, { "from": "r1.out", "to": "k1.in" }, { "from": "c1.close", "to": "b1.in" }, { "from": "c1.close", "to": "k2.a" }, { "from": "b1.lower", "to": "k2.b" }, { "from": "c1.volume", "to": "v1.in" }, { "from": "v1.relative", "to": "k3.in" }, { "from": "k1.out", "to": "x1.in0" }, { "from": "k2.out", "to": "x1.in1" }, { "from": "k3.out", "to": "x1.in2" }, { "from": "x1.out", "to": "p1.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 | Signal | Signal (true/false) | required · grows: once all are used, another one appears, up to 8. At least 2 must be connected. |
| Output | enough true | Signal (true/false) | – |
Good to know
Section titled “Good to know”- Search also finds it under: confluence, majority, two of three, x of n, count.
Technical details
Section titled “Technical details”True when the number of true inputs on the candle reaches at least the setting; unconnected inputs do not count.
- Type in the chain:
core.atleast· Version 1.0.0 · Category keylogic - Settings in the chain:
count(At least) - Pins in the chain: Input
in0…in7· Outputout - How a node is built
Version 2026.10.21.23 · Changelog