Processing Order
- Build candles: load or aggregate the historical timeframe candles.
- Select structure: find root, parent, prior, and reference ranges.
- Generate fibs: create owned levels for root, parent, and self.
- Cluster levels: group nearby owned levels into zones.
- Render chart: draw enabled indicators for the selected timeframe and mode.
Timeframes
The same parent/range logic runs on each historical timeframe.
1Y
6M
3M
1M
1w
3d
1d
Execution feed
Lower intervals are used for chart candles and live updates. They are not root structure inputs.
Range States
| State |
Meaning |
| active full |
All later candles stayed inside the parent high-low range. |
| active accepted |
At least one wick moved outside, but same-timeframe closes stayed inside. |
| under test |
The current open candle is outside the range by close. This is provisional. |
| reference only |
A later closed same-timeframe candle closed outside the range. |
Invalidation
Invalidation is based on same-timeframe closes.
Hard rule
A wick outside the range is not enough. A closed same-timeframe candle must close outside the parent range.
Active Structure
For each timeframe, earlier candles are evaluated as parent candidates for the current candle.
| Field |
How it is chosen |
| root |
Oldest active parent not broken by a closed same-timeframe candle. |
| parent |
Nearest active parent containing the current close. |
| prior |
Immediate previous candle. It can be shown even when challenged. |
| reference |
Invalidated ranges that still contain current price. Context only. |
Containment
inside:
child.high <= parent.high
child.low >= parent.low
close broken:
child.close > parent.high
child.close < parent.low
wick breached:
child.high > parent.high
child.low < parent.low
Owned Fib Roles
Fib basis is wick low to wick high. Each level carries owner, role, mode, ratio, and price.
Root: base + extensions
Parent: base + extensions
Self: base only
Ratios
Base
0.000, 0.236, 0.382, 0.500, 0.618, 0.786, 1.000
Extensions
-1.000, -0.618, -0.272, 1.272, 1.618, 2.000
Regular vs Log
Regular and log modes are separate coordinate systems. A price can sit between different ratios in each mode.
regular:
low + (high - low) * ratio
log:
exp(log(low) + (log(high) - log(low)) * ratio)
Zones and Gates
| Name |
What it shows |
Why it matters |
| Gates |
The active range boundaries: parent high, parent low, root high, root low, and key break levels. |
They define the price levels where the active read is confirmed, tested, or invalidated. |
| Zones |
Nearby owned fib levels grouped into one support or resistance area. |
They reduce raw line count into price bands: current zone, next ceiling, next floor. |
| Owners |
The candle or range behind every visible fib level. |
A level without an owner is not a Plenus level. |
Confluence
The app collects owned fibs across timeframes, removes duplicate owner-role-ratio matches, sorts by price, then clusters nearby levels.
threshold = max(50, current_price * 0.0015)
A cluster below price is support. A cluster above price is resistance. A cluster overlapping price is the current zone.
Rules
- No naked fibs.
- Wicks test a range. Closed same-timeframe candles invalidate it.
- Open candles outside a range are under test.
- Reference ranges are context only.
- Root and parent can visually merge when they are the same candle.