fix(docs): correct warmup values in cycles/channels .md files

Cycles:
- ebsw: warmup 1 bar → Math.Max(hpLength, ssfLength) + 3 (default 43)
- homod: warmup 1 bar → maxPeriod * 2 (default 100)

Channels:
- apchannel: warmup 1 bar → ⌈3/alpha⌉ (default 15); params None → alpha; outputs Single → Multiple
- jbands: warmup 1 bar → ⌈20 + 80 × period^0.36⌉
- uchannel: warmup 1 bar → Math.Max(strPeriod, centerPeriod)"
This commit is contained in:
Miha Kralj
2026-03-10 18:37:19 -07:00
parent 031f1b5fe6
commit 8906c62dcf
5 changed files with 13 additions and 13 deletions
+5 -5
View File
@@ -4,17 +4,17 @@
| ---------------- | -------------------------------- |
| **Category** | Channel |
| **Inputs** | OHLCV bar (TBar) |
| **Parameters** | None |
| **Outputs** | Single series (Apchannel) |
| **Parameters** | `alpha` (default 0.2) |
| **Outputs** | Multiple series (Upper, Lower) |
| **Output range** | Tracks input |
| **Warmup** | 1 bar |
| **Warmup** | `⌈3/alpha⌉` bars (default 15) |
### TL;DR
- APCHANNEL applies exponential smoothing independently to price highs and lows, creating a dynamic envelope that "remembers" significant extremes wh...
- No configurable parameters; computation is stateless per bar.
- Parameterized by `alpha` (default 0.2).
- Output range: Tracks input.
- Requires 1 bar of warmup before first valid output (IsHot = true).
- Requires `⌈3/alpha⌉` bars (default 15) of warmup before first valid output (IsHot = true).
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
APCHANNEL applies exponential smoothing independently to price highs and lows, creating a dynamic envelope that "remembers" significant extremes while gradually fading their influence over time. Unlike rigid Donchian channels that drop price extremes abruptly when they exit the lookback window (the "cliff effect"), APCHANNEL decays them smoothly through leaky integration. The result is a channel with continuously sloping boundaries that responds to volatility without the discontinuous jumps that plague fixed-window approaches. The algorithm is $O(1)$ per bar with only two state variables and no buffers.
+2 -2
View File
@@ -7,14 +7,14 @@
| **Parameters** | `period`, `phase` (default 0) |
| **Outputs** | Multiple series (Upper, Lower) |
| **Output range** | Tracks input |
| **Warmup** | 1 bar |
| **Warmup** | `⌈20 + 80 × period^0.36⌉` bars |
### TL;DR
- JBANDS expose the internal adaptive envelope mechanism of the Jurik Moving Average (JMA), producing asymmetric bands that snap instantly to new pri...
- Parameterized by `period`, `phase` (default 0).
- Output range: Tracks input.
- Requires 1 bar of warmup before first valid output (IsHot = true).
- Requires `⌈20 + 80 × period^0.36⌉` bars of warmup before first valid output (IsHot = true).
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
JBANDS expose the internal adaptive envelope mechanism of the Jurik Moving Average (JMA), producing asymmetric bands that snap instantly to new price extremes and decay exponentially during consolidation. Unlike standard volatility bands (Bollinger, Keltner) which maintain symmetric width around a center line, JBANDS feature "snap-and-decay" hysteresis: expansion is instantaneous (plasticity), contraction is gradual (elasticity). The decay rate is dynamically modulated by a two-stage volatility estimator — a 10-bar SMA feeding a 128-bar trimmed mean — making the bands tight during quiet markets and expansive during trends. The center line is the full JMA: a 2-pole IIR filter with phase control and adaptive alpha.
+2 -2
View File
@@ -7,14 +7,14 @@
| **Parameters** | `strPeriod` (default DefaultStrPeriod), `centerPeriod` (default DefaultCenterPeriod), `multiplier` (default DefaultMultiplier) |
| **Outputs** | Multiple series (Upper, Middle, Lower, STR) |
| **Output range** | Tracks input |
| **Warmup** | 1 bar |
| **Warmup** | `Math.Max(strPeriod, centerPeriod)` bars |
### TL;DR
- Ehlers Ultimate Channel applies the Ultrasmooth Filter (USF) twice: once to the close price for the centerline and once to True Range for band widt...
- Parameterized by `strperiod` (default defaultstrperiod), `centerperiod` (default defaultcenterperiod), `multiplier` (default defaultmultiplier).
- Output range: Tracks input.
- Requires 1 bar of warmup before first valid output (IsHot = true).
- Requires `Math.Max(strPeriod, centerPeriod)` bars of warmup before first valid output (IsHot = true).
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
Ehlers Ultimate Channel applies the Ultrasmooth Filter (USF) twice: once to the close price for the centerline and once to True Range for band width, creating a channel where both the trend estimate and the volatility measure share the same low-lag, zero-overshoot filter characteristics. Unlike UBANDS which uses RMS of price residuals, UCHANNEL uses Smoothed True Range (STR) for band width, making it responsive to gap-inclusive volatility. Separate period parameters allow independent tuning of centerline smoothness and band-width responsiveness.