doc headers

This commit is contained in:
Miha Kralj
2026-02-27 07:48:12 -08:00
parent 8a1ba95173
commit 4ab3a7fb53
389 changed files with 6682 additions and 468 deletions
+20 -2
View File
@@ -1,8 +1,26 @@
# ZLEMA: Zero-Lag Exponential Moving Average
| Property | Value |
| ---------------- | -------------------------------- |
| **Category** | Trend (IIR MA) |
| **Inputs** | Source (close) |
| **Parameters** | `period` |
| **Outputs** | Single series (Zlema) |
| **Output range** | Tracks input |
| **Warmup** | `Math.Max(lag + 1, EstimateWarmupPeriod(beta))` bars |
### TL;DR
- ZLEMA takes a standard EMA and feeds it a **zero-lag signal**: current price minus a lagged price.
- Parameterized by `period`.
- Output range: Tracks input.
- Requires `Math.Max(lag + 1, EstimateWarmupPeriod(beta))` bars of warmup before first valid output (IsHot = true).
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
> "ZLEMA does not erase lag. It predicts just enough to act early, then pays the price in overshoot."
## EMA with lag compensation via a zero-lag signal
> "ZLEMA does not erase lag. It predicts just enough to act early, then pays the price in overshoot."
ZLEMA takes a standard EMA and feeds it a **zero-lag signal**: current price minus a lagged price. This produces a smoother that responds faster than EMA without going fully raw. It is not magic. It shifts some lag into controlled overshoot.
@@ -125,4 +143,4 @@ ZLEMA is validated against a PineScript reference implementation.
4. **Non-finite data**
NaN or Infinity is replaced with the last valid value. Before the first valid sample, output is `NaN`.
NaN or Infinity is replaced with the last valid value. Before the first valid sample, output is `NaN`.