docs: add PineScript links to all indicator .md files, docsify .pine renderer with comprehensive Prism v6 syntax highlighting

- Added PineScript row to property tables in 375 .md files linking to companion .pine files
- Docsify plugin intercepts .pine link clicks, fetches and renders content as syntax-highlighted code blocks
- Comprehensive Prism.languages.pine grammar covering 18 token categories: annotations, types, qualifiers, namespaces, OHLCV builtins, functions, keywords, operators
- Custom CSS tokens using GitHub dark palette for Pine-specific visual differentiation
This commit is contained in:
Miha Kralj
2026-03-11 15:36:23 -07:00
parent 567fa89465
commit 19f956521d
396 changed files with 606 additions and 816 deletions
+1 -2
View File
@@ -8,8 +8,7 @@
| **Outputs** | Single series (AGC) |
| **Output range** | [-1, +1] (normalized) |
| **Warmup** | `1` bars |
### TL;DR
| **PineScript** | [agc.pine](agc.pine) |
- The Automatic Gain Control normalizes any oscillating signal to the \[-1, +1\] range through exponential peak tracking.
- Parameterized by `decay` (default 0.991).
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (ALaguerre) |
| **Output range** | Tracks input |
| **Warmup** | `max(4, length)` bars |
| **PineScript** | [alaguerre.pine](alaguerre.pine) |
| **Signature** | [alaguerre_signature](alaguerre_signature.md) |
### TL;DR
- The Adaptive Laguerre Filter extends Ehlers' four-element all-pass cascade by replacing the fixed damping factor with a per-bar adaptive alpha deri...
- Parameterized by `length` (default 20), `medianlength` (default 5).
- Output range: Tracks input.
+1 -2
View File
@@ -8,8 +8,7 @@
| **Outputs** | Single series (BaxterKing) |
| **Output range** | Oscillates around zero |
| **Warmup** | `2K+1` bars (default 25) |
### TL;DR
| **PineScript** | [baxterking.pine](baxterking.pine) |
- The **Baxter-King Band-Pass Filter** is a symmetric finite impulse response (FIR) filter that approximates the ideal spectral band-pass by truncati...
- Parameterized by `plow` (default 6), `phigh` (default 32), `k` (default 12).
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Bessel) |
| **Output range** | Tracks input |
| **Warmup** | `length` bars |
| **PineScript** | [bessel.pine](bessel.pine) |
| **Signature** | [bessel_signature](bessel_signature.md) |
### TL;DR
- The Bessel Filter is a 2nd-order low-pass IIR filter designed to preserve the **shape** and **timing** of price moves.
- Parameterized by `length`.
- Output range: Tracks input.
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Bilateral) |
| **Output range** | Tracks input |
| **Warmup** | `period` bars |
| **PineScript** | [Bilateral.pine](Bilateral.pine) |
| **Signature** | [bilateral_signature](bilateral_signature.md) |
### TL;DR
- The Bilateral Filter is a non-linear, edge-preserving, and noise-reducing smoothing filter.
- Parameterized by `period`, `sigmasratio` (default 0.5), `sigmarmult` (default 1.0).
- Output range: Tracks input.
+1 -2
View File
@@ -8,8 +8,7 @@
| **Outputs** | Single series (BPF) |
| **Output range** | Oscillates around zero |
| **Warmup** | `Math.Max(lowerPeriod, upperPeriod)` bars |
### TL;DR
| **PineScript** | [bpf.pine](bpf.pine) |
- The **BPF** (BandPass Filter) is a second-order IIR architecture designed to surgically excise specific frequency components from a time series.
- Parameterized by `lowerperiod`, `upperperiod`.
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Butter2) |
| **Output range** | Tracks input |
| **Warmup** | `4 * period` bars |
| **PineScript** | [butter2.pine](butter2.pine) |
| **Signature** | [butter2_signature](butter2_signature.md) |
### TL;DR
- The 2-Pole Butterworth Filter (BUTTER2) is a signal processing tool designed to provide maximally flat frequency response in the passband.
- Parameterized by `period`.
- Output range: Tracks input.
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Butter3) |
| **Output range** | Tracks input |
| **Warmup** | `6 * period` bars |
| **PineScript** | [butter3.pine](butter3.pine) |
| **Signature** | [butter3_signature](butter3_signature.md) |
### TL;DR
- The 3-Pole Butterworth Filter (BUTTER3) extends the classic Butterworth design to third order, providing -60 dB/decade rolloff compared to -40 dB/d...
- Parameterized by `period`.
- Output range: Tracks input.
+1 -2
View File
@@ -8,8 +8,7 @@
| **Outputs** | Single series (Cfitz) |
| **Output range** | Oscillates around zero |
| **Warmup** | `2` bars |
### TL;DR
| **PineScript** | [cfitz.pine](cfitz.pine) |
- The **Christiano-Fitzgerald Band-Pass Filter** is an asymmetric full-sample filter that approximates the ideal spectral band-pass by using time-var...
- Parameterized by `plow` (default 6), `phigh` (default 32).
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Cheby1) |
| **Output range** | Tracks input |
| **Warmup** | `period` bars |
| **PineScript** | [cheby1.pine](cheby1.pine) |
| **Signature** | [cheby1_signature](cheby1_signature.md) |
### TL;DR
- The Chebyshev Type I filter minimizes the error between the idealized and the actual filter characteristic over the range of the passband, but with...
- Parameterized by `period`, `ripple` (default 1.0).
- Output range: Tracks input.
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Cheby2) |
| **Output range** | Tracks input |
| **Warmup** | `period` bars |
| **PineScript** | [cheby2.pine](cheby2.pine) |
| **Signature** | [cheby2_signature](cheby2_signature.md) |
### TL;DR
- A Chebyshev Type II filter (also known as Inverse Chebyshev) with O(1) complexity.
- Parameterized by `period`, `attenuation` (default 5.0).
- Output range: Tracks input.
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Edcf) |
| **Output range** | Tracks input |
| **Warmup** | `length` bars |
| **PineScript** | [edcf.pine](edcf.pine) |
| **Signature** | [edcf_signature](edcf_signature.md) |
### TL;DR
- The **Ehlers Distance Coefficient Filter (EDCF)** is a nonlinear adaptive FIR filter created by John F.
- Parameterized by `length` (default 15).
- Output range: Tracks input.
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Elliptic) |
| **Output range** | Tracks input |
| **Warmup** | `period` bars |
| **PineScript** | [elliptic.pine](elliptic.pine) |
| **Signature** | [elliptic_signature](elliptic_signature.md) |
### TL;DR
- The Elliptic filter (or Cauer filter for the history buffs) is the uncompromising extremist of linear filtering.
- Parameterized by `period`.
- Output range: Tracks input.
+1 -2
View File
@@ -8,11 +8,10 @@
| **Outputs** | Single series (Gauss) |
| **Output range** | Tracks input |
| **Warmup** | 1 bar |
| **PineScript** | [gauss.pine](gauss.pine) |
| **Signature** | [gauss_signature](gauss_signature.md) |
### TL;DR
- Gauss (Gaussian Filter) is a smoothing filter that applies a Gaussian kernel to time series data.
- Parameterized by `sigma` (default 1.0).
- Output range: Tracks input.
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Hann) |
| **Output range** | Tracks input |
| **Warmup** | 1 bar |
| **PineScript** | [hann.pine](hann.pine) |
| **Signature** | [hann_signature](hann_signature.md) |
### TL;DR
- Hann (Hann Filter) is a Finite Impulse Response (FIR) smoothing filter that applies a Hann window to time series data.
- Parameterized by `length`.
- Output range: Tracks input.
+1 -2
View File
@@ -8,11 +8,10 @@
| **Outputs** | Single series (HP) |
| **Output range** | Tracks input |
| **Warmup** | 1 bar |
| **PineScript** | [hp.pine](hp.pine) |
| **Signature** | [hp_signature](hp_signature.md) |
### TL;DR
- The Hodrick-Prescott (HP) filter is a widely used tool in macroeconomics for separating the cyclical component of a time series from raw data.
- Parameterized by `lambda` (default 1600.0).
- Output range: Tracks input.
+1 -2
View File
@@ -8,8 +8,7 @@
| **Outputs** | Single series (HPF) |
| **Output range** | Tracks input |
| **Warmup** | 1 bar |
### TL;DR
| **PineScript** | [hpf.pine](hpf.pine) |
- The 2-Pole Highpass Filter (HPF) is designed to separate high-frequency components (like cycles and noise) from the underlying trend.
- Parameterized by `length` (default 40).
+1 -2
View File
@@ -8,11 +8,10 @@
| **Outputs** | Single series (Kalman) |
| **Output range** | Tracks input |
| **Warmup** | `10` bars |
| **PineScript** | [kalman.pine](kalman.pine) |
| **Signature** | [kalman_signature](kalman_signature.md) |
### TL;DR
- The **Kalman Filter** is a recursive algorithm that estimates the state of a dynamic system from a series of incomplete and noisy measurements.
- Parameterized by `q` (default 0.01), `r` (default 0.1).
- Output range: Tracks input.
+1 -2
View File
@@ -8,11 +8,10 @@
| **Outputs** | Single series (Laguerre) |
| **Output range** | Tracks input |
| **Warmup** | `WarmupBars` bars |
| **PineScript** | [laguerre.pine](laguerre.pine) |
| **Signature** | [laguerre_signature](laguerre_signature.md) |
### TL;DR
- The Laguerre Filter is a four-element IIR (Infinite Impulse Response) filter designed by John F.
- Parameterized by `gamma` (default 0.8).
- Output range: Tracks input.
+1 -2
View File
@@ -8,8 +8,7 @@
| **Outputs** | Single series (LMS) |
| **Output range** | Tracks input |
| **Warmup** | `order + 1` bars |
### TL;DR
| **PineScript** | [lms.pine](lms.pine) |
- The **Least Mean Squares (LMS) Adaptive Filter** is the Widrow-Hoff adaptive FIR filter, the simplest and most widely deployed adaptive algorithm i...
- Parameterized by `order` (default 16), `mu` (default 0.5).
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Loess) |
| **Output range** | Tracks input |
| **Warmup** | `Period` bars |
| **PineScript** | [loess.pine](loess.pine) |
| **Signature** | [loess_signature](loess_signature.md) |
### TL;DR
- Locally Estimated Scatterplot Smoothing (LOESS) applies a weighted linear regression over a localized window of nearest neighbors.
- Parameterized by `period`.
- Output range: Tracks input.
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (MODF) |
| **Output range** | Tracks input |
| **Warmup** | `period` bars |
| **PineScript** | [modf.pine](modf.pine) |
| **Signature** | [modf_signature](modf_signature.md) |
### TL;DR
- MODF is a dual-path adaptive filter that maintains separate upper and lower EMA bands with conditional state selection.
- Parameterized by `period`, `beta` (default 0.8), `feedback` (default false), `fbweight` (default 0.5).
- Output range: Tracks input.
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Notch) |
| **Output range** | Tracks input |
| **Warmup** | `period` bars |
| **PineScript** | [notch.pine](notch.pine) |
| **Signature** | [notch_signature](notch_signature.md) |
### TL;DR
- The Notch Filter is a band-stop filter with a narrow bandwidth.
- Parameterized by `period`, `q` (default 1.0).
- Output range: Tracks input.
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Nw) |
| **Output range** | Tracks input |
| **Warmup** | `period` bars |
| **PineScript** | [nw.pine](nw.pine) |
| **Signature** | [nw_signature](nw_signature.md) |
### TL;DR
- NW computes the Nadaraya-Watson kernel regression estimator with a Gaussian kernel, producing a nonparametric smooth of the price series.
- Parameterized by `period` (default 64), `bandwidth` (default 8.0).
- Output range: Tracks input.
+1 -2
View File
@@ -8,11 +8,10 @@
| **Outputs** | Single series (OneEuro) |
| **Output range** | Tracks input |
| **Warmup** | `1` bars |
| **PineScript** | [oneeuro.pine](oneeuro.pine) |
| **Signature** | [oneeuro_signature](oneeuro_signature.md) |
### TL;DR
- The **One Euro Filter** (1€ Filter) is a speed-adaptive first-order low-pass filter designed to balance jitter removal against responsiveness.
- Parameterized by `mincutoff` (default 1.0), `beta` (default 0.007), `dcutoff` (default 1.0).
- Output range: Tracks input.
+1 -2
View File
@@ -8,11 +8,10 @@
| **Outputs** | Single series (RLS) |
| **Output range** | Tracks input |
| **Warmup** | `order + 1` bars |
| **PineScript** | [rls.pine](rls.pine) |
| **Signature** | [rls_signature](rls_signature.md) |
### TL;DR
- The Recursive Least Squares (RLS) adaptive filter is the Rolls-Royce of adaptive FIR filters.
- Parameterized by `order` (default 16), `lambda` (default 0.99).
- Output range: Tracks input.
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Rmed) |
| **Output range** | Tracks input |
| **Warmup** | 5 bars (MedianWindow) |
| **PineScript** | [rmed.pine](rmed.pine) |
| **Signature** | [rmed_signature](rmed_signature.md) |
### TL;DR
- RMED applies exponential smoothing to a 5-bar running median, creating a nonlinear IIR filter that rejects impulsive spike noise while providing sm...
- Parameterized by `period` (default 12).
- Output range: Tracks input.
+1 -2
View File
@@ -8,8 +8,7 @@
| **Outputs** | Single series (ROOFING) |
| **Output range** | Oscillates around zero |
| **Warmup** | `hpLength` bars (default 48) |
### TL;DR
| **PineScript** | [roofing.pine](roofing.pine) |
- The **Roofing Filter** is John Ehlers' bandpass architecture designed specifically for oscillator construction.
- Parameterized by `hplength` (default 48), `sslength` (default 10).
+1
View File
@@ -13,6 +13,7 @@ SAK is John Ehlers' unified second-order IIR filter framework that collapses nin
| **Parameters** | `filterType` (string, default `"BP"`), `period` (int, default 20), `n` (int, default 10, SMA only), `delta` (float, default 0.1, BP/BS only) |
| **Outputs** | Single `double` per bar |
| **Warmup** | 3 bars (2nd-order IIR), except SMA which needs `n` bars |
| **PineScript** | [sak.pine](sak.pine) |
| **Range** | Overlay (EMA, SMA, Gauss, Butter, Smooth) or oscillator around zero (HP, 2PHP, BP, BS) |
## Key Takeaways
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Sgf) |
| **Output range** | Tracks input |
| **Warmup** | `period` bars |
| **PineScript** | [sgf.pine](sgf.pine) |
| **Signature** | [sgf_signature](sgf_signature.md) |
### TL;DR
- SGF (Savitzky-Golay Filter) is a digital signal processing technique that smoothes data by fitting successive sub-sets of adjacent data points with...
- Parameterized by `period`, `polyorder` (default 2).
- Output range: Tracks input.
+1 -2
View File
@@ -8,8 +8,7 @@
| **Outputs** | Single series (SPBF) |
| **Output range** | Oscillates around zero |
| **Warmup** | `max(longPeriod, rmsPeriod)` bars (default 60) |
### TL;DR
| **PineScript** | [spbf.pine](spbf.pine) |
- The **Super Passband Filter** is John Ehlers' wide-band bandpass constructed by differencing two z-transformed EMAs with Ehlers-style smoothing ($\...
- Parameterized by `shortperiod` (default 40), `longperiod` (default 60), `rmsperiod` (default 50).
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Ssf2) |
| **Output range** | Tracks input |
| **Warmup** | `period` bars |
| **PineScript** | [ssf2.pine](ssf2.pine) |
| **Signature** | [ssf2_signature](ssf2_signature.md) |
### TL;DR
- The 2-Pole Super Smooth Filter (SSF2) is a 2-pole Butterworth filter designed by John Ehlers.
- Parameterized by `period`.
- Output range: Tracks input.
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Ssf3) |
| **Output range** | Tracks input |
| **Warmup** | `6 * period` bars |
| **PineScript** | [ssf3.pine](ssf3.pine) |
| **Signature** | [ssf3_signature](ssf3_signature.md) |
### TL;DR
- The 3-Pole Super Smoother Filter (SSF3) extends Ehlers' Super Smoother concept to third order, providing -60 dB/decade rolloff compared to -40 dB/d...
- Parameterized by `period`.
- Output range: Tracks input.
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Usf) |
| **Output range** | Tracks input |
| **Warmup** | `period` bars |
| **PineScript** | [usf.pine](usf.pine) |
| **Signature** | [usf_signature](usf_signature.md) |
### TL;DR
- The Ultimate Smoother Filter (USF) is a zero-lag smoothing filter introduced by John Ehlers in the April 2024 issue of *Technical Analysis of Stock...
- Parameterized by `period`.
- Output range: Tracks input.
+1 -2
View File
@@ -8,8 +8,7 @@
| **Outputs** | Single series (VOSS) |
| **Output range** | Oscillates around zero |
| **Warmup** | `period` bars |
### TL;DR
| **PineScript** | [voss.pine](voss.pine) |
- The Voss Predictive Filter is a two-stage signal processing pipeline that extracts a dominant cycle from noisy price data and then predicts its fut...
- Parameterized by `period` (default 20), `predict` (default 3), `bandwidth` (default 0.25).
+1 -2
View File
@@ -8,11 +8,10 @@
| **Outputs** | Single series (Wavelet) |
| **Output range** | Tracks input |
| **Warmup** | `2^levels` bars (default 16) |
| **PineScript** | [wavelet.pine](wavelet.pine) |
| **Signature** | [wavelet_signature](wavelet_signature.md) |
### TL;DR
- The Wavelet Denoising Filter applies an *à trous* (with holes) Haar wavelet decomposition with soft thresholding to remove high-frequency noise fro...
- Parameterized by `levels` (default 4), `threshmult` (default 1.0).
- Output range: Tracks input.
+1 -2
View File
@@ -8,10 +8,9 @@
| **Outputs** | Single series (Wiener) |
| **Output range** | Tracks input |
| **Warmup** | `Math.Max(period, smoothPeriod)` bars |
| **PineScript** | [wiener.pine](wiener.pine) |
| **Signature** | [wiener_signature](wiener_signature.md) |
### TL;DR
- The Wiener Filter is an optimal linear filter that attempts to minimize the mean square error between the estimated random process and the desired ...
- Parameterized by `period`, `smoothperiod` (default 10).
- Output range: Tracks input.