F13c: restructure the indicator catalogue into eight families
The original taxonomy was four classical families plus a statistics group, with the F1-F12 expansion slotted in as sub-categories. This regroups the whole 71-indicator catalogue into eight top-level families, each with at least five members: Moving Averages (12), Momentum Oscillators (13), Trend & Directional (9), Price Oscillators (5), Volatility & Bands (12), Trailing Stops (5), Volume (9), Price Statistics (7). - Wiki: docs/wiki/indicators/ reorganised into eight family folders; all 71 indicator pages moved with `git mv`. Every internal cross-link is normalised to `../<family>/Indicator-X.md`, each page's `Family` field is set to its new family, and two pre-existing `../Indicator-Chaining.md` links (should have been `../../`) are corrected. A link check confirms every relative wiki link resolves. - Indicators-Overview.md fully rewritten around the eight families; Home.md indicator reference and the README family table follow suit. - Warmup-Periods.md gains the eight F13 indicators; CHANGELOG records the 46-indicator expansion (25 -> 71) and the eight-family taxonomy. - Tests: Node indicators.test.js and Python test_new_indicators.py cover all eight new indicators (Node 91/91, Python 117/117 green). cargo fmt + clippy (core/wickra/data/wasm/node) clean; 508 core tests, 25 data tests and 74 doctests green.
This commit is contained in:
+3
-4
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | unbounded oscillator (zero-centred) |
|
||||
| Family | Momentum Oscillators |
|
||||
| Input type | `Candle` |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded (centred on 0; in price-difference units) |
|
||||
@@ -189,8 +188,8 @@ row 39: 14.5
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator: MacdIndicator](Indicator-MacdIndicator.md) — sister
|
||||
- [Indicator: MacdIndicator](../trend-directional/Indicator-MacdIndicator.md) — sister
|
||||
oscillator on closes (with an extra signal line on top).
|
||||
- [Indicator: Trix](Indicator-Trix.md) — momentum oscillator on a
|
||||
- [Indicator: Trix](../trend-directional/Indicator-Trix.md) — momentum oscillator on a
|
||||
triple-smoothed series.
|
||||
- [Warmup Periods](../../Warmup-Periods.md) — bare `slow_period`.
|
||||
+4
-5
@@ -8,8 +8,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | unbounded oscillator |
|
||||
| Family | Momentum Oscillators |
|
||||
| Input type | `Candle` |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded (typically `[−200, +200]` thanks to the 0.015 factor) |
|
||||
@@ -191,9 +190,9 @@ row 24: 126.66666666666667
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator: Rsi](Indicator-Rsi.md) — bounded sibling for comparison.
|
||||
- [Indicator: WilliamsR](Indicator-WilliamsR.md) — another candle-input
|
||||
- [Indicator: Rsi](../momentum-oscillators/Indicator-Rsi.md) — bounded sibling for comparison.
|
||||
- [Indicator: WilliamsR](../momentum-oscillators/Indicator-WilliamsR.md) — another candle-input
|
||||
oscillator, range-based rather than deviation-based.
|
||||
- [Indicator: Mfi](Indicator-Mfi.md) — volume-weighted RSI; useful as a
|
||||
- [Indicator: Mfi](../momentum-oscillators/Indicator-Mfi.md) — volume-weighted RSI; useful as a
|
||||
confirmation alongside CCI.
|
||||
- [Warmup Periods](../../Warmup-Periods.md) — `period` (no off-by-one).
|
||||
+3
-4
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | Bounded oscillators (−100 … 100) |
|
||||
| Family | Momentum Oscillators |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | `[−100, 100]` |
|
||||
@@ -151,6 +150,6 @@ gain/loss sum here matches the original definition and TA-Lib's `CMO`.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Rsi.md](Indicator-Rsi.md) — the Wilder-smoothed relative.
|
||||
- [Indicator-Mom.md](Indicator-Mom.md) — raw price-difference momentum.
|
||||
- [Indicator-Rsi.md](../momentum-oscillators/Indicator-Rsi.md) — the Wilder-smoothed relative.
|
||||
- [Indicator-Mom.md](../momentum-oscillators/Indicator-Mom.md) — raw price-difference momentum.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+3
-4
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | bounded oscillator (volume-driven) |
|
||||
| Family | Momentum Oscillators |
|
||||
| Input type | `Candle` (volume needed) |
|
||||
| Output type | `f64` |
|
||||
| Output range | `[0, 100]` |
|
||||
@@ -198,7 +197,7 @@ row 19: 100
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator: Rsi](Indicator-Rsi.md) — the price-only ancestor.
|
||||
- [Indicator: Adx](Indicator-Adx.md) — directional/trend strength to
|
||||
- [Indicator: Rsi](../momentum-oscillators/Indicator-Rsi.md) — the price-only ancestor.
|
||||
- [Indicator: Adx](../trend-directional/Indicator-Adx.md) — directional/trend strength to
|
||||
pair with MFI's overbought/oversold reading.
|
||||
- [Warmup Periods](../../Warmup-Periods.md) — bare `period` (no off-by-one).
|
||||
+5
-6
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | Unbounded oscillators |
|
||||
| Family | Momentum Oscillators |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded around zero (price-difference scale) |
|
||||
@@ -24,7 +23,7 @@ MOM_t = price_t − price_{t−period}
|
||||
|
||||
The simplest momentum primitive. Positive output means price is higher
|
||||
than it was `period` bars ago, negative means lower, and the magnitude is
|
||||
the change in raw price units. [`Roc`](Indicator-Roc.md) is the same idea
|
||||
the change in raw price units. [`Roc`](../momentum-oscillators/Indicator-Roc.md) is the same idea
|
||||
expressed as a percentage of the old price.
|
||||
|
||||
## Parameters
|
||||
@@ -128,7 +127,7 @@ Output:
|
||||
cross (momentum flipping sign) and divergence (price making a new high
|
||||
while `Mom` makes a lower high — a stalling trend). Because the output is
|
||||
in price units, `Mom` values are not comparable across instruments at
|
||||
different price levels; use [`Roc`](Indicator-Roc.md) when you need a
|
||||
different price levels; use [`Roc`](../momentum-oscillators/Indicator-Roc.md) when you need a
|
||||
scale-free percentage instead.
|
||||
|
||||
## Common pitfalls
|
||||
@@ -147,6 +146,6 @@ is the standard `price − price[period]` difference, matching TA-Lib's
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Roc.md](Indicator-Roc.md) — the percentage-scaled counterpart.
|
||||
- [Indicator-Cmo.md](Indicator-Cmo.md) — bounded momentum from summed changes.
|
||||
- [Indicator-Roc.md](../momentum-oscillators/Indicator-Roc.md) — the percentage-scaled counterpart.
|
||||
- [Indicator-Cmo.md](../momentum-oscillators/Indicator-Cmo.md) — bounded momentum from summed changes.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+6
-7
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | Unbounded oscillators |
|
||||
| Family | Momentum Oscillators |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded around zero |
|
||||
@@ -31,7 +30,7 @@ scaled by `10`, then smoothed again.
|
||||
|
||||
The classic PMO **signal line** is a 10-period EMA of this PMO line. It is
|
||||
deliberately not bundled in — compose it yourself with
|
||||
[`Chain`](../Indicator-Chaining.md) and an `Ema(10)`.
|
||||
[`Chain`](../../Indicator-Chaining.md) and an `Ema(10)`.
|
||||
|
||||
## Parameters
|
||||
|
||||
@@ -144,7 +143,7 @@ crossing its zero line (momentum changing sign), PMO crossing its signal
|
||||
line (a 10-EMA of PMO — build it with `Chain`), and PMO turning up/down
|
||||
from an extreme. Because the rate of change is taken in percentage terms,
|
||||
PMO values *are* comparable across instruments — unlike raw
|
||||
[`Mom`](Indicator-Mom.md).
|
||||
[`Mom`](../momentum-oscillators/Indicator-Mom.md).
|
||||
|
||||
## Common pitfalls
|
||||
|
||||
@@ -162,9 +161,9 @@ Carl Swenlin, DecisionPoint Price Momentum Oscillator. The
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Roc.md](Indicator-Roc.md) — the raw rate of change PMO smooths.
|
||||
- [Indicator-Tsi.md](Indicator-Tsi.md) — another double-smoothed momentum
|
||||
- [Indicator-Roc.md](../momentum-oscillators/Indicator-Roc.md) — the raw rate of change PMO smooths.
|
||||
- [Indicator-Tsi.md](../momentum-oscillators/Indicator-Tsi.md) — another double-smoothed momentum
|
||||
oscillator.
|
||||
- [Indicator-Chaining.md](../Indicator-Chaining.md) — how to add the
|
||||
- [Indicator-Chaining.md](../../Indicator-Chaining.md) — how to add the
|
||||
signal-line EMA.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | unbounded oscillator |
|
||||
| Family | Momentum Oscillators |
|
||||
| Input type | `f64` (close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded (centred on 0; expressed as a percent) |
|
||||
@@ -164,10 +163,10 @@ warmup: 4
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator: Rsi](Indicator-Rsi.md) — same `period + 1` warmup, but
|
||||
- [Indicator: Rsi](../momentum-oscillators/Indicator-Rsi.md) — same `period + 1` warmup, but
|
||||
bounded.
|
||||
- [Indicator: Trix](Indicator-Trix.md) — also a rate of change, but on
|
||||
- [Indicator: Trix](../trend-directional/Indicator-Trix.md) — also a rate of change, but on
|
||||
a triple-smoothed EMA.
|
||||
- [Indicator: MacdIndicator](Indicator-MacdIndicator.md) — momentum
|
||||
- [Indicator: MacdIndicator](../trend-directional/Indicator-MacdIndicator.md) — momentum
|
||||
cousin operating on EMA differences instead of raw close differences.
|
||||
- [Warmup Periods](../../Warmup-Periods.md) — the `period + 1` family.
|
||||
+3
-4
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | bounded oscillator |
|
||||
| Family | Momentum Oscillators |
|
||||
| Input type | `f64` (close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | `[0, 100]` |
|
||||
@@ -204,9 +203,9 @@ last : 57.91502067008556
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator: MacdIndicator](Indicator-MacdIndicator.md) — also momentum,
|
||||
- [Indicator: MacdIndicator](../trend-directional/Indicator-MacdIndicator.md) — also momentum,
|
||||
but trend-following and unbounded.
|
||||
- [Indicator: Stochastic](Indicator-Stochastic.md) — sibling bounded
|
||||
- [Indicator: Stochastic](../momentum-oscillators/Indicator-Stochastic.md) — sibling bounded
|
||||
oscillator, faster and noisier than RSI.
|
||||
- [Warmup Periods](../../Warmup-Periods.md) — the canonical `period + 1`
|
||||
off-by-one explained.
|
||||
+4
-5
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | Bounded oscillators (0 … 100) |
|
||||
| Family | Momentum Oscillators |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | `[0, 100]` |
|
||||
@@ -155,11 +154,11 @@ it further (an SMA of StochRSI) and trade the crossover.
|
||||
|
||||
Tushar Chande and Stanley Kroll, *The New Technical Trader* (1994). The
|
||||
implementation is the standard Stochastic-of-RSI; the flat-window
|
||||
convention (`50`) matches this library's [`Stochastic`](Indicator-Stochastic.md).
|
||||
convention (`50`) matches this library's [`Stochastic`](../momentum-oscillators/Indicator-Stochastic.md).
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Rsi.md](Indicator-Rsi.md) — the underlying oscillator.
|
||||
- [Indicator-Stochastic.md](Indicator-Stochastic.md) — the same formula on
|
||||
- [Indicator-Rsi.md](../momentum-oscillators/Indicator-Rsi.md) — the underlying oscillator.
|
||||
- [Indicator-Stochastic.md](../momentum-oscillators/Indicator-Stochastic.md) — the same formula on
|
||||
price instead of RSI.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+3
-4
@@ -13,8 +13,7 @@ a `Chain` with `Sma::new(slow_period)`.
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | bounded oscillator |
|
||||
| Family | Momentum Oscillators |
|
||||
| Input type | `Candle` |
|
||||
| Output type | `StochasticOutput { k, d }` |
|
||||
| Output range | `k, d ∈ [0, 100]` |
|
||||
@@ -212,9 +211,9 @@ row 19 : { k: 47.26766986190959, d: 62.55762656278284 }
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator: Rsi](Indicator-Rsi.md) — sister bounded oscillator, slower
|
||||
- [Indicator: Rsi](../momentum-oscillators/Indicator-Rsi.md) — sister bounded oscillator, slower
|
||||
and smoother than `%K`.
|
||||
- [Indicator: WilliamsR](Indicator-WilliamsR.md) — the negated mirror of
|
||||
- [Indicator: WilliamsR](../momentum-oscillators/Indicator-WilliamsR.md) — the negated mirror of
|
||||
fast `%K`, plotted on `[−100, 0]`.
|
||||
- [Warmup Periods](../../Warmup-Periods.md) — `k_period + d_period − 1` rule
|
||||
in context.
|
||||
+3
-4
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | Unbounded oscillators |
|
||||
| Family | Momentum Oscillators |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | roughly `[−100, 100]`, centred on zero |
|
||||
@@ -154,7 +153,7 @@ The double-EMA-of-momentum definition here follows Blau's original.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Mom.md](Indicator-Mom.md) — the raw momentum TSI smooths.
|
||||
- [Indicator-MacdIndicator.md](Indicator-MacdIndicator.md) — another
|
||||
- [Indicator-Mom.md](../momentum-oscillators/Indicator-Mom.md) — the raw momentum TSI smooths.
|
||||
- [Indicator-MacdIndicator.md](../trend-directional/Indicator-MacdIndicator.md) — another
|
||||
EMA-difference momentum oscillator with a signal line.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+3
-4
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | Bounded oscillators (0 … 100) |
|
||||
| Family | Momentum Oscillators |
|
||||
| Input type | `Candle` (uses `high`, `low`, `close`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | `[0, 100]` |
|
||||
@@ -173,7 +172,7 @@ Larry Williams, "The Ultimate Oscillator", *Technical Analysis of Stocks
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Stochastic.md](Indicator-Stochastic.md) — single-timeframe
|
||||
- [Indicator-Stochastic.md](../momentum-oscillators/Indicator-Stochastic.md) — single-timeframe
|
||||
bounded oscillator.
|
||||
- [Indicator-Rsi.md](Indicator-Rsi.md) — the canonical momentum oscillator.
|
||||
- [Indicator-Rsi.md](../momentum-oscillators/Indicator-Rsi.md) — the canonical momentum oscillator.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+3
-4
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | bounded oscillator |
|
||||
| Family | Momentum Oscillators |
|
||||
| Input type | `Candle` |
|
||||
| Output type | `f64` |
|
||||
| Output range | `[−100, 0]` |
|
||||
@@ -177,8 +176,8 @@ row 2: -0
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator: Stochastic](Indicator-Stochastic.md) — the positive-axis
|
||||
- [Indicator: Stochastic](../momentum-oscillators/Indicator-Stochastic.md) — the positive-axis
|
||||
sibling; `%R` and `%K` are linked by `%R = %K − 100`.
|
||||
- [Indicator: Rsi](Indicator-Rsi.md) — slower bounded oscillator,
|
||||
- [Indicator: Rsi](../momentum-oscillators/Indicator-Rsi.md) — slower bounded oscillator,
|
||||
better behaved in trending markets.
|
||||
- [Warmup Periods](../../Warmup-Periods.md) — bare `period` (no off-by-one).
|
||||
+4
-5
@@ -8,8 +8,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Trend |
|
||||
| Sub-category | Exponential family |
|
||||
| Family | Moving Averages |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded; tracks the input price scale |
|
||||
@@ -208,7 +207,7 @@ Commodities**, February 1994 (TEMA).
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Ema.md](Indicator-Ema.md) — the building block.
|
||||
- [Indicator-Tema.md](Indicator-Tema.md) — three-EMA version, less lag still.
|
||||
- [Indicator-Hma.md](Indicator-Hma.md) — same lag-reduction goal, built on WMAs.
|
||||
- [Indicator-Ema.md](../moving-averages/Indicator-Ema.md) — the building block.
|
||||
- [Indicator-Tema.md](../moving-averages/Indicator-Tema.md) — three-EMA version, less lag still.
|
||||
- [Indicator-Hma.md](../moving-averages/Indicator-Hma.md) — same lag-reduction goal, built on WMAs.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Trend |
|
||||
| Sub-category | Exponential family |
|
||||
| Family | Moving Averages |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded; tracks the input price scale |
|
||||
@@ -195,7 +194,7 @@ smoothing identity attributed to Robert Brown (1956).
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Sma.md](Indicator-Sma.md) — equal weights, identical seed.
|
||||
- [Indicator-Dema.md](Indicator-Dema.md) — `2·EMA − EMA(EMA)`.
|
||||
- [Indicator-Tema.md](Indicator-Tema.md) — `3·EMA − 3·EMA(EMA) + EMA(EMA(EMA))`.
|
||||
- [Indicator-Sma.md](../moving-averages/Indicator-Sma.md) — equal weights, identical seed.
|
||||
- [Indicator-Dema.md](../moving-averages/Indicator-Dema.md) — `2·EMA − EMA(EMA)`.
|
||||
- [Indicator-Tema.md](../moving-averages/Indicator-Tema.md) — `3·EMA − 3·EMA(EMA) + EMA(EMA(EMA))`.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -8,8 +8,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Trend |
|
||||
| Sub-category | Adaptive & hybrid |
|
||||
| Family | Moving Averages |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded; tracks the input price scale |
|
||||
@@ -223,7 +222,7 @@ original HMA derivation, hosted on Hull's site at
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Wma.md](Indicator-Wma.md) — the building block.
|
||||
- [Indicator-Tema.md](Indicator-Tema.md) — same lag-reduction goal, EMA-based.
|
||||
- [Indicator-Kama.md](Indicator-Kama.md) — adaptive smoothing instead of fixed.
|
||||
- [Indicator-Wma.md](../moving-averages/Indicator-Wma.md) — the building block.
|
||||
- [Indicator-Tema.md](../moving-averages/Indicator-Tema.md) — same lag-reduction goal, EMA-based.
|
||||
- [Indicator-Kama.md](../moving-averages/Indicator-Kama.md) — adaptive smoothing instead of fixed.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+3
-4
@@ -8,8 +8,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Trend |
|
||||
| Sub-category | Adaptive & hybrid |
|
||||
| Family | Moving Averages |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded; tracks the input price scale |
|
||||
@@ -244,8 +243,8 @@ empirically.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Ema.md](Indicator-Ema.md) — the two endpoints (`fast` and
|
||||
- [Indicator-Ema.md](../moving-averages/Indicator-Ema.md) — the two endpoints (`fast` and
|
||||
`slow`) KAMA interpolates between.
|
||||
- [Indicator-Hma.md](Indicator-Hma.md) — the other "smart" trend filter in
|
||||
- [Indicator-Hma.md](../moving-averages/Indicator-Hma.md) — the other "smart" trend filter in
|
||||
Wickra.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Trend |
|
||||
| Sub-category | Simple averages |
|
||||
| Family | Moving Averages |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded; tracks the input price scale |
|
||||
@@ -177,8 +176,8 @@ and pandas (`rolling(period).mean()`).
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Ema.md](Indicator-Ema.md) — same smoothness budget, less lag.
|
||||
- [Indicator-Wma.md](Indicator-Wma.md) — linear weights instead of equal.
|
||||
- [Indicator-Hma.md](Indicator-Hma.md) — built on three WMAs for near-zero
|
||||
- [Indicator-Ema.md](../moving-averages/Indicator-Ema.md) — same smoothness budget, less lag.
|
||||
- [Indicator-Wma.md](../moving-averages/Indicator-Wma.md) — linear weights instead of equal.
|
||||
- [Indicator-Hma.md](../moving-averages/Indicator-Hma.md) — built on three WMAs for near-zero
|
||||
lag.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+5
-6
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Trend |
|
||||
| Sub-category | Exponential family |
|
||||
| Family | Moving Averages |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded; tracks the input price scale |
|
||||
@@ -142,7 +141,7 @@ factor is `1 / period` rather than `2 / (period + 1)`, an `Smma(n)` is
|
||||
roughly as smooth as an `Ema(2n − 1)` — useful when you want maximum
|
||||
noise rejection from a single line. Its main role in this library,
|
||||
however, is structural: it is the exact smoothing kernel inside
|
||||
[`Rsi`](../momentum/Indicator-Rsi.md) and [`Atr`](../volatility/Indicator-Atr.md),
|
||||
[`Rsi`](../momentum-oscillators/Indicator-Rsi.md) and [`Atr`](../volatility-bands/Indicator-Atr.md),
|
||||
so reaching for `Smma` directly lets you reproduce Wilder-style averages
|
||||
on any series.
|
||||
|
||||
@@ -164,8 +163,8 @@ the standard SMA-seeded formulation, matching TA-Lib's `RMA`.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Ema.md](Indicator-Ema.md) — faster exponential average.
|
||||
- [Indicator-Sma.md](Indicator-Sma.md) — the equal-weighted mean used as
|
||||
- [Indicator-Ema.md](../moving-averages/Indicator-Ema.md) — faster exponential average.
|
||||
- [Indicator-Sma.md](../moving-averages/Indicator-Sma.md) — the equal-weighted mean used as
|
||||
the SMMA seed.
|
||||
- [Indicator-Trima.md](Indicator-Trima.md) — the other F1 average.
|
||||
- [Indicator-Trima.md](../moving-averages/Indicator-Trima.md) — the other F1 average.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Trend |
|
||||
| Sub-category | Exponential family |
|
||||
| Family | Moving Averages |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded; tracks the input price scale |
|
||||
@@ -166,7 +165,7 @@ match Tillson's published derivation and TA-Lib's `T3`.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Tema.md](Indicator-Tema.md) — the three-EMA relative.
|
||||
- [Indicator-Dema.md](Indicator-Dema.md) — the two-EMA relative.
|
||||
- [Indicator-Zlema.md](Indicator-Zlema.md) — low-lag average via de-lagging.
|
||||
- [Indicator-Tema.md](../moving-averages/Indicator-Tema.md) — the three-EMA relative.
|
||||
- [Indicator-Dema.md](../moving-averages/Indicator-Dema.md) — the two-EMA relative.
|
||||
- [Indicator-Zlema.md](../moving-averages/Indicator-Zlema.md) — low-lag average via de-lagging.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -8,8 +8,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Trend |
|
||||
| Sub-category | Exponential family |
|
||||
| Family | Moving Averages |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded; tracks the input price scale |
|
||||
@@ -202,7 +201,7 @@ in the same article.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Ema.md](Indicator-Ema.md) — the building block.
|
||||
- [Indicator-Dema.md](Indicator-Dema.md) — second-order's sibling.
|
||||
- [Indicator-Hma.md](Indicator-Hma.md) — similar lag profile, built on WMAs.
|
||||
- [Indicator-Ema.md](../moving-averages/Indicator-Ema.md) — the building block.
|
||||
- [Indicator-Dema.md](../moving-averages/Indicator-Dema.md) — second-order's sibling.
|
||||
- [Indicator-Hma.md](../moving-averages/Indicator-Hma.md) — similar lag profile, built on WMAs.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+5
-6
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Trend |
|
||||
| Sub-category | Simple averages |
|
||||
| Family | Moving Averages |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded; tracks the input price scale |
|
||||
@@ -144,7 +143,7 @@ triangular weight profile damps the most recent bar far more than a plain
|
||||
`Sma` does, so whipsaws are rare. The cost is lag — a `Trima(n)` lags
|
||||
roughly like an `Sma(n/2)` doubled. Use it as a slow trend filter where a
|
||||
clean, low-noise line matters more than fast reaction; prefer
|
||||
[`Ema`](Indicator-Ema.md) or [`Hma`](Indicator-Hma.md) when responsiveness
|
||||
[`Ema`](../moving-averages/Indicator-Ema.md) or [`Hma`](../moving-averages/Indicator-Hma.md) when responsiveness
|
||||
matters.
|
||||
|
||||
## Common pitfalls
|
||||
@@ -161,7 +160,7 @@ odd/even split used here (`n1`, `n2`) matches TA-Lib's `TRIMA`.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Sma.md](Indicator-Sma.md) — the building block applied twice.
|
||||
- [Indicator-Wma.md](Indicator-Wma.md) — linear (not triangular) weights.
|
||||
- [Indicator-Smma.md](Indicator-Smma.md) — the other F1 average.
|
||||
- [Indicator-Sma.md](../moving-averages/Indicator-Sma.md) — the building block applied twice.
|
||||
- [Indicator-Wma.md](../moving-averages/Indicator-Wma.md) — linear (not triangular) weights.
|
||||
- [Indicator-Smma.md](../moving-averages/Indicator-Smma.md) — the other F1 average.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+2
-3
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Trend |
|
||||
| Sub-category | Volume-weighted averages |
|
||||
| Family | Moving Averages |
|
||||
| Input type | `Candle` (uses `close` and `volume`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded; tracks the input price scale |
|
||||
@@ -170,7 +169,7 @@ with an explicit zero-volume fallback added for robustness.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Sma.md](Indicator-Sma.md) — the equal-weighted counterpart.
|
||||
- [Indicator-Sma.md](../moving-averages/Indicator-Sma.md) — the equal-weighted counterpart.
|
||||
- [Indicator-Vwap.md](../volume/Indicator-Vwap.md) — volume-weighted price
|
||||
since the start of the stream.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+5
-6
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Trend |
|
||||
| Sub-category | Simple averages |
|
||||
| Family | Moving Averages |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded; tracks the input price scale |
|
||||
@@ -156,7 +155,7 @@ fast-WMA-vs-slow-WMA) apply.
|
||||
|
||||
The most important downstream use of `Wma` inside Wickra is `Hma`:
|
||||
`Hma` is built entirely from three `Wma` instances (see
|
||||
[Indicator-Hma.md](Indicator-Hma.md)).
|
||||
[Indicator-Hma.md](../moving-averages/Indicator-Hma.md)).
|
||||
|
||||
## Common pitfalls
|
||||
|
||||
@@ -180,7 +179,7 @@ reference implementation and matches Wickra's output bit-for-bit.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Sma.md](Indicator-Sma.md) — equal weights instead of linear.
|
||||
- [Indicator-Ema.md](Indicator-Ema.md) — exponential decay instead of linear.
|
||||
- [Indicator-Hma.md](Indicator-Hma.md) — Hull MA, built from three WMAs.
|
||||
- [Indicator-Sma.md](../moving-averages/Indicator-Sma.md) — equal weights instead of linear.
|
||||
- [Indicator-Ema.md](../moving-averages/Indicator-Ema.md) — exponential decay instead of linear.
|
||||
- [Indicator-Hma.md](../moving-averages/Indicator-Hma.md) — Hull MA, built from three WMAs.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Trend |
|
||||
| Sub-category | Exponential family |
|
||||
| Family | Moving Averages |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded; tracks the input price scale |
|
||||
@@ -161,7 +160,7 @@ of Stocks & Commodities* (2010). The implementation here uses the standard
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Ema.md](Indicator-Ema.md) — the inner average ZLEMA de-lags.
|
||||
- [Indicator-Hma.md](Indicator-Hma.md) — another low-lag average, via WMAs.
|
||||
- [Indicator-T3.md](Indicator-T3.md) — low-lag average via a six-EMA cascade.
|
||||
- [Indicator-Ema.md](../moving-averages/Indicator-Ema.md) — the inner average ZLEMA de-lags.
|
||||
- [Indicator-Hma.md](../moving-averages/Indicator-Hma.md) — another low-lag average, via WMAs.
|
||||
- [Indicator-T3.md](../moving-averages/Indicator-T3.md) — low-lag average via a six-EMA cascade.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+2
-2
@@ -22,7 +22,7 @@ AO = SMA(median, ao_fast) − SMA(median, ao_slow) (the Awesome Oscillator)
|
||||
AC = AO − SMA(AO, signal_period)
|
||||
```
|
||||
|
||||
Where the [`AwesomeOscillator`](Indicator-AwesomeOscillator.md) measures
|
||||
Where the [`AwesomeOscillator`](../momentum-oscillators/Indicator-AwesomeOscillator.md) measures
|
||||
momentum, the Accelerator measures the *change* in momentum — it is the AO
|
||||
minus a short moving average of itself. Because acceleration leads speed, the
|
||||
`AC` tends to turn before the `AO` does. Bill Williams' classic configuration
|
||||
@@ -139,6 +139,6 @@ Bill Williams' Accelerator Oscillator, from *Trading Chaos*.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-AwesomeOscillator.md](Indicator-AwesomeOscillator.md) — the
|
||||
- [Indicator-AwesomeOscillator.md](../momentum-oscillators/Indicator-AwesomeOscillator.md) — the
|
||||
momentum oscillator the Accelerator is built on.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+1
-1
@@ -133,6 +133,6 @@ Balance of Power, popularised by Igor Livshin; the `(close − open) /
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-AwesomeOscillator.md](Indicator-AwesomeOscillator.md) — another
|
||||
- [Indicator-AwesomeOscillator.md](../momentum-oscillators/Indicator-AwesomeOscillator.md) — another
|
||||
Bill Williams-era price oscillator.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | Unbounded oscillators |
|
||||
| Family | Price Oscillators |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded around zero |
|
||||
@@ -24,7 +23,7 @@ Coppock = WMA( ROC(roc_long) + ROC(roc_short), wma_period )
|
||||
|
||||
Edwin Coppock built this in 1962 as a long-horizon buy signal for stock
|
||||
indices. The two rates of change blend a slightly longer and a slightly
|
||||
shorter momentum horizon; the [`Wma`](../trend/Indicator-Wma.md) smooths
|
||||
shorter momentum horizon; the [`Wma`](../moving-averages/Indicator-Wma.md) smooths
|
||||
their sum. On a **monthly** chart with the conventional
|
||||
`(14, 11, 10)` settings, the curve turning *up from below zero* has
|
||||
historically marked the start of a new bull phase.
|
||||
@@ -149,6 +148,6 @@ The `WMA(ROC(14) + ROC(11), 10)` construction here is Coppock's original.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Roc.md](Indicator-Roc.md) — the rate-of-change building block.
|
||||
- [Indicator-Wma.md](../trend/Indicator-Wma.md) — the smoothing average.
|
||||
- [Indicator-Roc.md](../momentum-oscillators/Indicator-Roc.md) — the rate-of-change building block.
|
||||
- [Indicator-Wma.md](../moving-averages/Indicator-Wma.md) — the smoothing average.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | Unbounded oscillators |
|
||||
| Family | Price Oscillators |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded around zero (price-difference scale) |
|
||||
@@ -144,7 +143,7 @@ into the past, the latest DPO value does not correspond to the latest bar.
|
||||
- **Trading the zero cross.** DPO is detrended *and* time-shifted; its
|
||||
latest value is historical. Use it to size cycles, not to time entries.
|
||||
- **Reading it as momentum.** It is a detrended price, not a rate of
|
||||
change — see [`Roc`](Indicator-Roc.md) or [`Mom`](Indicator-Mom.md) for
|
||||
change — see [`Roc`](../momentum-oscillators/Indicator-Roc.md) or [`Mom`](../momentum-oscillators/Indicator-Mom.md) for
|
||||
momentum.
|
||||
|
||||
## References
|
||||
@@ -155,8 +154,8 @@ The Detrended Price Oscillator is a standard cycle-analysis study; the
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Sma.md](../trend/Indicator-Sma.md) — the moving average DPO
|
||||
- [Indicator-Sma.md](../moving-averages/Indicator-Sma.md) — the moving average DPO
|
||||
detrends against.
|
||||
- [Indicator-Roc.md](Indicator-Roc.md) — momentum, the indicator DPO is
|
||||
- [Indicator-Roc.md](../momentum-oscillators/Indicator-Roc.md) — momentum, the indicator DPO is
|
||||
often confused with.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+5
-6
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | Unbounded oscillators |
|
||||
| Family | Price Oscillators |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded around zero (percent) |
|
||||
@@ -22,13 +21,13 @@
|
||||
PPO = 100 · (EMA_fast − EMA_slow) / EMA_slow
|
||||
```
|
||||
|
||||
PPO is [`MacdIndicator`](Indicator-MacdIndicator.md) divided by the slow
|
||||
PPO is [`MacdIndicator`](../trend-directional/Indicator-MacdIndicator.md) divided by the slow
|
||||
EMA. That single change makes it **scale-free**: a `PPO` of `1.5` always
|
||||
means "the fast EMA is 1.5 % above the slow EMA", whether the instrument
|
||||
trades at $5 or $5000 — so PPO values can be compared across assets and
|
||||
across time, which raw MACD values cannot. The classic PPO **signal
|
||||
line** is a 9-period EMA of this PPO line; compose it with
|
||||
[`Chain`](../Indicator-Chaining.md) and an `Ema(9)`.
|
||||
[`Chain`](../../Indicator-Chaining.md) and an `Ema(9)`.
|
||||
|
||||
## Parameters
|
||||
|
||||
@@ -149,7 +148,7 @@ follows the standard PPO definition and matches TA-Lib's `PPO`.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-MacdIndicator.md](Indicator-MacdIndicator.md) — the price-unit
|
||||
- [Indicator-MacdIndicator.md](../trend-directional/Indicator-MacdIndicator.md) — the price-unit
|
||||
original, with a bundled signal line and histogram.
|
||||
- [Indicator-Ema.md](../trend/Indicator-Ema.md) — the underlying average.
|
||||
- [Indicator-Ema.md](../moving-averages/Indicator-Ema.md) — the underlying average.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-4
@@ -22,7 +22,7 @@ LinRegAngle = atan(LinRegSlope) · 180 / π
|
||||
```
|
||||
|
||||
The angle carries exactly the same information as
|
||||
[`LinRegSlope`](Indicator-LinRegSlope.md) — positive while price trends up,
|
||||
[`LinRegSlope`](../price-statistics/Indicator-LinRegSlope.md) — positive while price trends up,
|
||||
negative while it trends down — but maps the unbounded slope through `atan`
|
||||
onto `(−90°, +90°)`. That bounded, price-unit-free scale makes "how steep is
|
||||
the trend" comparable at a glance and across instruments. This is TA-Lib's
|
||||
@@ -121,7 +121,7 @@ The angle is read like a slope: sign gives trend direction, magnitude gives
|
||||
how steeply price is pitched. Because it is bounded to `±90°` it is convenient
|
||||
for thresholds — e.g. "only trade with the trend while the angle exceeds
|
||||
`30°`" — and for comparing trend pitch across instruments with different price
|
||||
scales, which the raw [`LinRegSlope`](Indicator-LinRegSlope.md) cannot do.
|
||||
scales, which the raw [`LinRegSlope`](../price-statistics/Indicator-LinRegSlope.md) cannot do.
|
||||
|
||||
## Common pitfalls
|
||||
|
||||
@@ -136,8 +136,8 @@ TA-Lib's `LINEARREG_ANGLE`.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-LinRegSlope.md](Indicator-LinRegSlope.md) — the same fit's slope,
|
||||
- [Indicator-LinRegSlope.md](../price-statistics/Indicator-LinRegSlope.md) — the same fit's slope,
|
||||
in raw price-per-bar units.
|
||||
- [Indicator-LinearRegression.md](Indicator-LinearRegression.md) — the
|
||||
- [Indicator-LinearRegression.md](../price-statistics/Indicator-LinearRegression.md) — the
|
||||
endpoint of the same rolling fit.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Statistics |
|
||||
| Sub-category | Regression |
|
||||
| Family | Price Statistics |
|
||||
| Input type | `f64` (price) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded around zero (price units per bar) |
|
||||
@@ -25,7 +24,7 @@ b = (n·Σxy − Σx·Σy) / (n·Σxx − (Σx)²)
|
||||
```
|
||||
|
||||
`LinRegSlope` fits a straight line to the window by ordinary least squares —
|
||||
the same fit as [`LinearRegression`](Indicator-LinearRegression.md) — but
|
||||
the same fit as [`LinearRegression`](../price-statistics/Indicator-LinearRegression.md) — but
|
||||
reports the *slope* `b` instead of the endpoint. The slope is in price units
|
||||
per bar: positive while price trends up, negative while it trends down, near
|
||||
zero when it is ranging. This is TA-Lib's `LINEARREG_SLOPE`.
|
||||
@@ -143,8 +142,8 @@ TA-Lib's `LINEARREG_SLOPE`.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-LinearRegression.md](Indicator-LinearRegression.md) — the
|
||||
- [Indicator-LinearRegression.md](../price-statistics/Indicator-LinearRegression.md) — the
|
||||
endpoint of the same rolling fit.
|
||||
- [Indicator-Mom.md](../momentum/Indicator-Mom.md) — raw price-difference
|
||||
- [Indicator-Mom.md](../momentum-oscillators/Indicator-Mom.md) — raw price-difference
|
||||
momentum, the unsmoothed cousin.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+5
-6
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Statistics |
|
||||
| Sub-category | Regression |
|
||||
| Family | Price Statistics |
|
||||
| Input type | `f64` (price) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded (price scale) |
|
||||
@@ -29,7 +28,7 @@ LinearReg = a + b·(period − 1)
|
||||
The indicator fits a straight line to the window by ordinary least squares,
|
||||
then reports that line's value at the most recent bar. Because it
|
||||
extrapolates the *local trend* forward rather than averaging it away, it lags
|
||||
a same-period [`Sma`](../trend/Indicator-Sma.md) noticeably less. This is
|
||||
a same-period [`Sma`](../moving-averages/Indicator-Sma.md) noticeably less. This is
|
||||
TA-Lib's `LINEARREG`.
|
||||
|
||||
## Parameters
|
||||
@@ -129,7 +128,7 @@ Read `LinearRegression` as a low-lag moving average: it tracks price more
|
||||
closely than an SMA of the same period because it projects the window's trend
|
||||
to the current bar instead of centring on the window. A shorter `period`
|
||||
hugs price; a longer one is a smoother trend line. Pair it with
|
||||
[`LinRegSlope`](Indicator-LinRegSlope.md) to read the same fit's steepness.
|
||||
[`LinRegSlope`](../price-statistics/Indicator-LinRegSlope.md) to read the same fit's steepness.
|
||||
|
||||
## Common pitfalls
|
||||
|
||||
@@ -145,8 +144,8 @@ the endpoint formulation matches TA-Lib's `LINEARREG`.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-LinRegSlope.md](Indicator-LinRegSlope.md) — the slope of the same
|
||||
- [Indicator-LinRegSlope.md](../price-statistics/Indicator-LinRegSlope.md) — the slope of the same
|
||||
rolling fit.
|
||||
- [Indicator-Sma.md](../trend/Indicator-Sma.md) — the centred average it is
|
||||
- [Indicator-Sma.md](../moving-averages/Indicator-Sma.md) — the centred average it is
|
||||
often compared against.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -6,8 +6,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Statistics |
|
||||
| Sub-category | Price transforms |
|
||||
| Family | Price Statistics |
|
||||
| Input type | `Candle` (uses `high`, `low`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded (price scale) |
|
||||
@@ -23,7 +22,7 @@ MedianPrice = (high + low) / 2
|
||||
|
||||
The median price is the centre of the bar's range — it discards where the bar
|
||||
opened and closed entirely. It is the price series Bill Williams'
|
||||
[`AwesomeOscillator`](../momentum/Indicator-AwesomeOscillator.md) is built on,
|
||||
[`AwesomeOscillator`](../momentum-oscillators/Indicator-AwesomeOscillator.md) is built on,
|
||||
and a useful close substitute when the close is noisy relative to the range.
|
||||
|
||||
## Parameters
|
||||
@@ -131,6 +130,6 @@ The Median Price; the `(H + L) / 2` definition is standard (TA-Lib's
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-TypicalPrice.md](Indicator-TypicalPrice.md) — `(H + L + C) / 3`.
|
||||
- [Indicator-WeightedClose.md](Indicator-WeightedClose.md) — `(H + L + 2C) / 4`.
|
||||
- [Indicator-TypicalPrice.md](../price-statistics/Indicator-TypicalPrice.md) — `(H + L + C) / 3`.
|
||||
- [Indicator-WeightedClose.md](../price-statistics/Indicator-WeightedClose.md) — `(H + L + 2C) / 4`.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Statistics |
|
||||
| Sub-category | Price transforms |
|
||||
| Family | Price Statistics |
|
||||
| Input type | `Candle` (uses `high`, `low`, `close`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded (price scale) |
|
||||
@@ -24,7 +23,7 @@ TypicalPrice = (high + low + close) / 3
|
||||
|
||||
The typical price collapses a full OHLC bar to one number, giving the close
|
||||
no more weight than the two extremes. It is the price series that
|
||||
[`Cci`](../momentum/Indicator-Cci.md) and [`Mfi`](../momentum/Indicator-Mfi.md)
|
||||
[`Cci`](../momentum-oscillators/Indicator-Cci.md) and [`Mfi`](../momentum-oscillators/Indicator-Mfi.md)
|
||||
are defined on, and a common input to feed any close-driven indicator when you
|
||||
want the bar's range reflected in the value.
|
||||
|
||||
@@ -132,6 +131,6 @@ standard (StockCharts, TA-Lib's `TYPPRICE`).
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-MedianPrice.md](Indicator-MedianPrice.md) — `(H + L) / 2`.
|
||||
- [Indicator-WeightedClose.md](Indicator-WeightedClose.md) — `(H + L + 2C) / 4`.
|
||||
- [Indicator-MedianPrice.md](../price-statistics/Indicator-MedianPrice.md) — `(H + L) / 2`.
|
||||
- [Indicator-WeightedClose.md](../price-statistics/Indicator-WeightedClose.md) — `(H + L + 2C) / 4`.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+5
-6
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Statistics |
|
||||
| Sub-category | Price transforms |
|
||||
| Family | Price Statistics |
|
||||
| Input type | `Candle` (uses `high`, `low`, `close`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded (price scale) |
|
||||
@@ -22,7 +21,7 @@
|
||||
WeightedClose = (high + low + 2·close) / 4
|
||||
```
|
||||
|
||||
Like the [`TypicalPrice`](Indicator-TypicalPrice.md), the weighted close
|
||||
Like the [`TypicalPrice`](../price-statistics/Indicator-TypicalPrice.md), the weighted close
|
||||
collapses an OHLC bar to one number — but it counts the close twice, so the
|
||||
result sits closer to where the bar settled than to its range. Reach for it
|
||||
when the closing print carries more signal than the extremes.
|
||||
@@ -117,7 +116,7 @@ Output:
|
||||
## Interpretation
|
||||
|
||||
The weighted close sits on the spectrum between the raw close and the
|
||||
[`TypicalPrice`](Indicator-TypicalPrice.md): closer to the close, but still
|
||||
[`TypicalPrice`](../price-statistics/Indicator-TypicalPrice.md): closer to the close, but still
|
||||
nudged by the bar's range. Use it as a drop-in close replacement when you want
|
||||
the settlement to dominate without ignoring the extremes entirely.
|
||||
|
||||
@@ -132,6 +131,6 @@ The Weighted Close; the `(H + L + 2C) / 4` definition is standard (TA-Lib's
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-TypicalPrice.md](Indicator-TypicalPrice.md) — `(H + L + C) / 3`.
|
||||
- [Indicator-MedianPrice.md](Indicator-MedianPrice.md) — `(H + L) / 2`.
|
||||
- [Indicator-TypicalPrice.md](../price-statistics/Indicator-TypicalPrice.md) — `(H + L + C) / 3`.
|
||||
- [Indicator-MedianPrice.md](../price-statistics/Indicator-MedianPrice.md) — `(H + L) / 2`.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+2
-2
@@ -132,8 +132,8 @@ window.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-StdDev.md](../volatility/Indicator-StdDev.md) — the rolling
|
||||
- [Indicator-StdDev.md](../volatility-bands/Indicator-StdDev.md) — the rolling
|
||||
standard deviation in the denominator.
|
||||
- [Indicator-LinearRegression.md](Indicator-LinearRegression.md) — another
|
||||
- [Indicator-LinearRegression.md](../price-statistics/Indicator-LinearRegression.md) — another
|
||||
rolling statistical fit.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+6
-7
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Volatility |
|
||||
| Sub-category | Trailing stop |
|
||||
| Family | Trailing Stops |
|
||||
| Input type | `Candle` (uses `high`, `low`, `close`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded (price scale) |
|
||||
@@ -32,7 +31,7 @@ This is the trailing stop popularised by the "UT Bot": a single line that sits
|
||||
stop the level only ratchets *toward* price — up in an uptrend, down in a
|
||||
downtrend — and never away from it. When a close crosses the stop the level
|
||||
snaps to the opposite side of the new close, flipping the trade. Unlike the
|
||||
[`ChandelierExit`](Indicator-ChandelierExit.md), it hangs off the close
|
||||
[`ChandelierExit`](../trailing-stops/Indicator-ChandelierExit.md), it hangs off the close
|
||||
itself, not the window's extreme, and reports one line rather than two.
|
||||
|
||||
## Parameters
|
||||
@@ -151,7 +150,7 @@ the trade more room — fewer flips, wider risk; a smaller one flips sooner.
|
||||
## Common pitfalls
|
||||
|
||||
- **Expecting it off the window high.** It trails the *close*, so it can sit
|
||||
closer to price than a [`ChandelierExit`](Indicator-ChandelierExit.md).
|
||||
closer to price than a [`ChandelierExit`](../trailing-stops/Indicator-ChandelierExit.md).
|
||||
- **Feeding it scalar prices.** It needs the full `high`/`low`/`close` bar to
|
||||
drive the ATR.
|
||||
|
||||
@@ -162,9 +161,9 @@ here matches the common Sylvain Vervoort formulation.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-SuperTrend.md](Indicator-SuperTrend.md) — an ATR trailing stop
|
||||
- [Indicator-SuperTrend.md](../trailing-stops/Indicator-SuperTrend.md) — an ATR trailing stop
|
||||
with band ratcheting and an explicit direction flag.
|
||||
- [Indicator-ChandelierExit.md](Indicator-ChandelierExit.md) — an ATR stop hung
|
||||
- [Indicator-ChandelierExit.md](../trailing-stops/Indicator-ChandelierExit.md) — an ATR stop hung
|
||||
off the window's extreme instead of the close.
|
||||
- [Indicator-Atr.md](Indicator-Atr.md) — the volatility measure underneath.
|
||||
- [Indicator-Atr.md](../volatility-bands/Indicator-Atr.md) — the volatility measure underneath.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+6
-7
@@ -8,8 +8,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Volatility |
|
||||
| Sub-category | Trailing stop |
|
||||
| Family | Trailing Stops |
|
||||
| Input type | `Candle` (uses `high`, `low`, `close`) |
|
||||
| Output type | `(stop_long, stop_short)` |
|
||||
| Output range | unbounded (price scale) |
|
||||
@@ -31,7 +30,7 @@ final (window q = stop_period):
|
||||
|
||||
Tushar Chande and Stanley Kroll's stop runs in two stages. The first builds a
|
||||
preliminary ATR stop off the recent extreme — the same idea as a
|
||||
[`ChandelierExit`](Indicator-ChandelierExit.md). The second smooths it: rather
|
||||
[`ChandelierExit`](../trailing-stops/Indicator-ChandelierExit.md). The second smooths it: rather
|
||||
than use that preliminary stop directly, it takes the *most extreme*
|
||||
preliminary stop seen over a shorter window `q`. That second pass keeps a
|
||||
single unusually wide bar from yanking the stop around. The classic
|
||||
@@ -149,7 +148,7 @@ Output:
|
||||
## Interpretation
|
||||
|
||||
Use `stop_long` to trail a long position and `stop_short` to trail a short.
|
||||
Compared with a one-stage [`ChandelierExit`](Indicator-ChandelierExit.md), the
|
||||
Compared with a one-stage [`ChandelierExit`](../trailing-stops/Indicator-ChandelierExit.md), the
|
||||
extra smoothing window makes the Chande Kroll Stop steadier — it will not lurch
|
||||
on a single wide-range bar — at the cost of reacting a little slower to a
|
||||
genuine trend change.
|
||||
@@ -169,9 +168,9 @@ the two-stage formulation here matches the common TradingView implementation.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-ChandelierExit.md](Indicator-ChandelierExit.md) — the one-stage
|
||||
- [Indicator-ChandelierExit.md](../trailing-stops/Indicator-ChandelierExit.md) — the one-stage
|
||||
ATR stop this smooths.
|
||||
- [Indicator-SuperTrend.md](Indicator-SuperTrend.md) — an ATR trailing stop
|
||||
- [Indicator-SuperTrend.md](../trailing-stops/Indicator-SuperTrend.md) — an ATR trailing stop
|
||||
with explicit flip logic.
|
||||
- [Indicator-Atr.md](Indicator-Atr.md) — the volatility measure underneath.
|
||||
- [Indicator-Atr.md](../volatility-bands/Indicator-Atr.md) — the volatility measure underneath.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Volatility |
|
||||
| Sub-category | Trailing stop |
|
||||
| Family | Trailing Stops |
|
||||
| Input type | `Candle` (uses `high`, `low`, `close`) |
|
||||
| Output type | `(long_stop, short_stop)` |
|
||||
| Output range | unbounded (price scale) |
|
||||
@@ -158,9 +157,9 @@ matches the standard definition.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-SuperTrend.md](Indicator-SuperTrend.md) — an ATR trailing stop
|
||||
- [Indicator-SuperTrend.md](../trailing-stops/Indicator-SuperTrend.md) — an ATR trailing stop
|
||||
with explicit flip logic and a single line.
|
||||
- [Indicator-ChandeKrollStop.md](Indicator-ChandeKrollStop.md) — a two-stage
|
||||
- [Indicator-ChandeKrollStop.md](../trailing-stops/Indicator-ChandeKrollStop.md) — a two-stage
|
||||
ATR stop that smooths the preliminary level.
|
||||
- [Indicator-Atr.md](Indicator-Atr.md) — the volatility measure underneath.
|
||||
- [Indicator-Atr.md](../volatility-bands/Indicator-Atr.md) — the volatility measure underneath.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -8,8 +8,7 @@
|
||||
|
||||
| Item | Value |
|
||||
|---------------------|------------------------------------------------------------------------------------|
|
||||
| Family | Volatility |
|
||||
| Sub-category | trailing-stop (state machine) |
|
||||
| Family | Trailing Stops |
|
||||
| Input type | `Candle` (uses `high`, `low`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded; bracketed by the prior two highs/lows |
|
||||
@@ -240,8 +239,8 @@ Output:
|
||||
|
||||
## See also
|
||||
|
||||
- [ATR](Indicator-Atr.md) — sister indicator from the same Wilder text.
|
||||
- [Donchian Channels](Indicator-Donchian.md) — alternative breakout-style
|
||||
- [ATR](../volatility-bands/Indicator-Atr.md) — sister indicator from the same Wilder text.
|
||||
- [Donchian Channels](../volatility-bands/Indicator-Donchian.md) — alternative breakout-style
|
||||
trailing stop based on rolling extrema.
|
||||
- [Keltner Channels](Indicator-Keltner.md) — envelope you can use as a
|
||||
- [Keltner Channels](../volatility-bands/Indicator-Keltner.md) — envelope you can use as a
|
||||
smoother stop boundary than PSAR in choppy regimes.
|
||||
+4
-5
@@ -8,8 +8,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Volatility |
|
||||
| Sub-category | Trailing stop |
|
||||
| Family | Trailing Stops |
|
||||
| Input type | `Candle` (uses `high`, `low`, `close`) |
|
||||
| Output type | `(value, direction)` |
|
||||
| Output range | `value`: unbounded (price scale); `direction`: `−1.0` or `+1.0` |
|
||||
@@ -167,8 +166,8 @@ the widely used TradingView / Olivier Seban definition.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Psar.md](Indicator-Psar.md) — Wilder's parabolic stop-and-reverse.
|
||||
- [Indicator-AtrTrailingStop.md](Indicator-AtrTrailingStop.md) — a plain
|
||||
- [Indicator-Psar.md](../trailing-stops/Indicator-Psar.md) — Wilder's parabolic stop-and-reverse.
|
||||
- [Indicator-AtrTrailingStop.md](../trailing-stops/Indicator-AtrTrailingStop.md) — a plain
|
||||
ATR trailing stop without the band ratchet.
|
||||
- [Indicator-Atr.md](Indicator-Atr.md) — the volatility measure underneath.
|
||||
- [Indicator-Atr.md](../volatility-bands/Indicator-Atr.md) — the volatility measure underneath.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -8,8 +8,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum (directional) |
|
||||
| Sub-category | directional / trend-strength |
|
||||
| Family | Trend & Directional |
|
||||
| Input type | `Candle` |
|
||||
| Output type | `AdxOutput { plus_di, minus_di, adx }` |
|
||||
| Output range | each field in `[0, 100]` |
|
||||
@@ -237,9 +236,9 @@ row 39: { plusDi: 80, minusDi: 0, adx: 100 }
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator: Rsi](Indicator-Rsi.md) — shares Wilder smoothing.
|
||||
- [Indicator: Aroon](Indicator-Aroon.md) — alternative trend-strength
|
||||
- [Indicator: Rsi](../momentum-oscillators/Indicator-Rsi.md) — shares Wilder smoothing.
|
||||
- [Indicator: Aroon](../trend-directional/Indicator-Aroon.md) — alternative trend-strength
|
||||
measure, range-based.
|
||||
- [Indicator: MacdIndicator](Indicator-MacdIndicator.md) — trend-following
|
||||
- [Indicator: MacdIndicator](../trend-directional/Indicator-MacdIndicator.md) — trend-following
|
||||
momentum, useful as a confirmation against `+DI` / `−DI`.
|
||||
- [Warmup Periods](../../Warmup-Periods.md) — the `2 · period` ADX entry.
|
||||
+3
-4
@@ -8,8 +8,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum (directional / trend-strength) |
|
||||
| Sub-category | bounded directional pair |
|
||||
| Family | Trend & Directional |
|
||||
| Input type | `Candle` |
|
||||
| Output type | `AroonOutput { up, down }` |
|
||||
| Output range | `up, down ∈ [0, 100]` |
|
||||
@@ -199,8 +198,8 @@ row 14: { up: 100, down: 0 }
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator: Adx](Indicator-Adx.md) — alternative trend-strength
|
||||
- [Indicator: Adx](../trend-directional/Indicator-Adx.md) — alternative trend-strength
|
||||
measure with explicit `+DI` / `−DI` direction.
|
||||
- [Indicator: Stochastic](Indicator-Stochastic.md) — also range-window
|
||||
- [Indicator: Stochastic](../momentum-oscillators/Indicator-Stochastic.md) — also range-window
|
||||
based, but reports close position rather than extremum age.
|
||||
- [Warmup Periods](../../Warmup-Periods.md) — the `period + 1` family.
|
||||
+4
-5
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum (trend strength) |
|
||||
| Sub-category | Bounded oscillators |
|
||||
| Family | Trend & Directional |
|
||||
| Input type | `Candle` (uses `high`, `low`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | `[−100, 100]` |
|
||||
@@ -22,7 +21,7 @@
|
||||
AroonOscillator = AroonUp − AroonDown
|
||||
```
|
||||
|
||||
where [`Aroon`](Indicator-Aroon.md) reports two `[0, 100]` lines measuring
|
||||
where [`Aroon`](../trend-directional/Indicator-Aroon.md) reports two `[0, 100]` lines measuring
|
||||
how recently the window's highest high and lowest low occurred. Their
|
||||
difference lives in `[−100, 100]`: strongly positive means the most recent
|
||||
high is much fresher than the most recent low (an up-trend); strongly
|
||||
@@ -153,7 +152,7 @@ Tushar Chande's Aroon system (1995); the oscillator is the standard
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Aroon.md](Indicator-Aroon.md) — the two-line indicator this
|
||||
- [Indicator-Aroon.md](../trend-directional/Indicator-Aroon.md) — the two-line indicator this
|
||||
collapses.
|
||||
- [Indicator-Adx.md](Indicator-Adx.md) — another trend-strength gauge.
|
||||
- [Indicator-Adx.md](../trend-directional/Indicator-Adx.md) — another trend-strength gauge.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+1
-1
@@ -141,6 +141,6 @@ standard one.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-VerticalHorizontalFilter.md](Indicator-VerticalHorizontalFilter.md)
|
||||
- [Indicator-VerticalHorizontalFilter.md](../trend-directional/Indicator-VerticalHorizontalFilter.md)
|
||||
— the same trending-vs-ranging question on an inverted scale.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+3
-4
@@ -12,8 +12,7 @@ shorter, conventional name `MACD`.
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | unbounded oscillator (trend-following) |
|
||||
| Family | Trend & Directional |
|
||||
| Input type | `f64` (close) |
|
||||
| Output type | `MacdOutput { macd, signal, histogram }` |
|
||||
| Output range | unbounded (centred on 0) |
|
||||
@@ -206,9 +205,9 @@ row 39 hist : 6.217248937900877e-15
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator: Rsi](Indicator-Rsi.md) — bounded sibling oscillator, useful
|
||||
- [Indicator: Rsi](../momentum-oscillators/Indicator-Rsi.md) — bounded sibling oscillator, useful
|
||||
as a confirmation filter on top of MACD signals.
|
||||
- [Indicator: Trix](Indicator-Trix.md) — another EMA-based momentum
|
||||
- [Indicator: Trix](../trend-directional/Indicator-Trix.md) — another EMA-based momentum
|
||||
oscillator (triple-smoothed rate of change).
|
||||
- [Warmup Periods](../../Warmup-Periods.md) — table including the `slow +
|
||||
signal − 1` rule.
|
||||
+3
-4
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum (trend strength) |
|
||||
| Sub-category | Range expansion |
|
||||
| Family | Trend & Directional |
|
||||
| Input type | `Candle` (uses `high`, `low`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | `> 0`, oscillates around `sum_period` |
|
||||
@@ -166,8 +165,8 @@ Commodities* (1992). The double-EMA-of-range construction and the `(9,
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Atr.md](../volatility/Indicator-Atr.md) — directional-free
|
||||
- [Indicator-Atr.md](../volatility-bands/Indicator-Atr.md) — directional-free
|
||||
volatility in price units.
|
||||
- [Indicator-BollingerBands.md](../volatility/Indicator-BollingerBands.md)
|
||||
- [Indicator-BollingerBands.md](../volatility-bands/Indicator-BollingerBands.md)
|
||||
— another range-expansion lens.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+3
-4
@@ -8,8 +8,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum |
|
||||
| Sub-category | unbounded oscillator (zero-centred) |
|
||||
| Family | Trend & Directional |
|
||||
| Input type | `f64` (close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded (typically a few percent, centred on 0) |
|
||||
@@ -179,9 +178,9 @@ vals[49]: 3.5714285714285716
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator: MacdIndicator](Indicator-MacdIndicator.md) — faster
|
||||
- [Indicator: MacdIndicator](../trend-directional/Indicator-MacdIndicator.md) — faster
|
||||
EMA-based momentum oscillator, useful as a confirmation against
|
||||
TRIX zero-line crosses.
|
||||
- [Indicator: Roc](Indicator-Roc.md) — the raw, one-stage rate of
|
||||
- [Indicator: Roc](../momentum-oscillators/Indicator-Roc.md) — the raw, one-stage rate of
|
||||
change TRIX is built on top of.
|
||||
- [Warmup Periods](../../Warmup-Periods.md) — `3 · period − 1` entry.
|
||||
+2
-2
@@ -26,7 +26,7 @@ denominator is the *total* distance it walked. Their ratio lives in `[0, 1]`:
|
||||
a clean trend walks almost only in its net direction, so `VHF` approaches `1`;
|
||||
a choppy market doubles back constantly, inflating the denominator and pushing
|
||||
`VHF` toward `0`. It answers the same question as the
|
||||
[`ChoppinessIndex`](Indicator-ChoppinessIndex.md) on an inverted scale.
|
||||
[`ChoppinessIndex`](../trend-directional/Indicator-ChoppinessIndex.md) on an inverted scale.
|
||||
|
||||
## Parameters
|
||||
|
||||
@@ -135,6 +135,6 @@ is the standard one.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-ChoppinessIndex.md](Indicator-ChoppinessIndex.md) — the same
|
||||
- [Indicator-ChoppinessIndex.md](../trend-directional/Indicator-ChoppinessIndex.md) — the same
|
||||
trending-vs-ranging question on an inverted `[0, 100]` scale.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+3
-4
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Momentum (trend strength) |
|
||||
| Sub-category | Directional |
|
||||
| Family | Trend & Directional |
|
||||
| Input type | `Candle` (uses `high`, `low`, `close`) |
|
||||
| Output type | `VortexOutput { plus, minus }` |
|
||||
| Output range | each line `>= 0`, typically around `1.0` |
|
||||
@@ -154,7 +153,7 @@ definition here follows their original.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Adx.md](Indicator-Adx.md) — Wilder's directional system.
|
||||
- [Indicator-Atr.md](../volatility/Indicator-Atr.md) — the true range
|
||||
- [Indicator-Adx.md](../trend-directional/Indicator-Adx.md) — Wilder's directional system.
|
||||
- [Indicator-Atr.md](../volatility-bands/Indicator-Atr.md) — the true range
|
||||
Vortex normalises against.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+5
-6
@@ -8,8 +8,7 @@
|
||||
|
||||
| Item | Value |
|
||||
|---------------------|--------------------------------------------------------------------------------------|
|
||||
| Family | Volatility |
|
||||
| Sub-category | range-average |
|
||||
| Family | Volatility & Bands |
|
||||
| Input type | `Candle` (uses `high`, `low`, `close`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded `≥ 0` |
|
||||
@@ -217,10 +216,10 @@ null
|
||||
|
||||
## See also
|
||||
|
||||
- [Bollinger Bands](Indicator-BollingerBands.md) — stddev-based volatility
|
||||
- [Bollinger Bands](../volatility-bands/Indicator-BollingerBands.md) — stddev-based volatility
|
||||
envelope around an SMA.
|
||||
- [Keltner Channels](Indicator-Keltner.md) — directly composes EMA + ATR.
|
||||
- [Donchian Channels](Indicator-Donchian.md) — rolling high/low without
|
||||
- [Keltner Channels](../volatility-bands/Indicator-Keltner.md) — directly composes EMA + ATR.
|
||||
- [Donchian Channels](../volatility-bands/Indicator-Donchian.md) — rolling high/low without
|
||||
any smoothing.
|
||||
- [PSAR](Indicator-Psar.md) — uses ATR-like volatility tracking implicitly
|
||||
- [PSAR](../trailing-stops/Indicator-Psar.md) — uses ATR-like volatility tracking implicitly
|
||||
through its acceleration factor.
|
||||
+4
-5
@@ -8,8 +8,7 @@
|
||||
|
||||
| Item | Value |
|
||||
|---------------------|--------------------------------------------------------------------------------|
|
||||
| Family | Volatility |
|
||||
| Sub-category | envelope |
|
||||
| Family | Volatility & Bands |
|
||||
| Input type | `f64` (typically the close price) |
|
||||
| Output type | `BollingerOutput { upper: f64, middle: f64, lower: f64, stddev: f64 }` |
|
||||
| Output range | unbounded; `lower ≤ middle ≤ upper`, `stddev ≥ 0` |
|
||||
@@ -250,9 +249,9 @@ Output:
|
||||
|
||||
## See also
|
||||
|
||||
- [Keltner Channels](Indicator-Keltner.md) — same envelope shape but band
|
||||
- [Keltner Channels](../volatility-bands/Indicator-Keltner.md) — same envelope shape but band
|
||||
width is driven by ATR instead of stddev.
|
||||
- [Donchian Channels](Indicator-Donchian.md) — rolling high/low envelope
|
||||
- [Donchian Channels](../volatility-bands/Indicator-Donchian.md) — rolling high/low envelope
|
||||
with no smoothing.
|
||||
- [ATR](Indicator-Atr.md) — the volatility scale most commonly used to
|
||||
- [ATR](../volatility-bands/Indicator-Atr.md) — the volatility scale most commonly used to
|
||||
size Bollinger-style stops.
|
||||
+4
-5
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Volatility |
|
||||
| Sub-category | Envelopes (derived) |
|
||||
| Family | Volatility & Bands |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | `[0, ∞)` |
|
||||
@@ -23,7 +22,7 @@ Bandwidth = (upper − lower) / middle
|
||||
```
|
||||
|
||||
where `upper`, `middle` and `lower` come from
|
||||
[`BollingerBands`](Indicator-BollingerBands.md). Since the bands are
|
||||
[`BollingerBands`](../volatility-bands/Indicator-BollingerBands.md). Since the bands are
|
||||
`middle ± multiplier · stddev`, the bandwidth simplifies to
|
||||
`2 · multiplier · stddev / middle` — volatility normalised by price level.
|
||||
Its extremes name two classic patterns: the **squeeze** (bandwidth at a
|
||||
@@ -149,8 +148,8 @@ of Bollinger's two derived indicators (with %b).
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-BollingerBands.md](Indicator-BollingerBands.md) — the bands
|
||||
- [Indicator-BollingerBands.md](../volatility-bands/Indicator-BollingerBands.md) — the bands
|
||||
this measures.
|
||||
- [Indicator-PercentB.md](Indicator-PercentB.md) — the companion derived
|
||||
- [Indicator-PercentB.md](../volatility-bands/Indicator-PercentB.md) — the companion derived
|
||||
indicator: price *position* within the bands.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+3
-3
@@ -133,7 +133,7 @@ Output:
|
||||
A rising Chaikin Volatility warns that ranges are expanding fast — Chaikin
|
||||
associated sharp rises with market tops, where panic widens bars. A low or
|
||||
falling reading is the calm, range-contracting market that often precedes a
|
||||
move. It complements [`Atr`](Indicator-Atr.md): ATR gives the level of
|
||||
move. It complements [`Atr`](../volatility-bands/Indicator-Atr.md): ATR gives the level of
|
||||
volatility, Chaikin Volatility gives its momentum.
|
||||
|
||||
## Common pitfalls
|
||||
@@ -149,6 +149,6 @@ here is the standard one.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Atr.md](Indicator-Atr.md) — the level of per-bar volatility.
|
||||
- [Indicator-TrueRange.md](Indicator-TrueRange.md) — raw single-bar range.
|
||||
- [Indicator-Atr.md](../volatility-bands/Indicator-Atr.md) — the level of per-bar volatility.
|
||||
- [Indicator-TrueRange.md](../volatility-bands/Indicator-TrueRange.md) — raw single-bar range.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -8,8 +8,7 @@
|
||||
|
||||
| Item | Value |
|
||||
|---------------------|--------------------------------------------------------------------|
|
||||
| Family | Volatility |
|
||||
| Sub-category | envelope (rolling extrema) |
|
||||
| Family | Volatility & Bands |
|
||||
| Input type | `Candle` (uses `high` and `low`) |
|
||||
| Output type | `DonchianOutput { upper: f64, middle: f64, lower: f64 }` |
|
||||
| Output range | unbounded; `lower ≤ middle ≤ upper` |
|
||||
@@ -206,9 +205,9 @@ row 4 [upper, middle, lower]: [ 15, 13, 11 ]
|
||||
|
||||
## See also
|
||||
|
||||
- [Bollinger Bands](Indicator-BollingerBands.md) — envelope shaped by
|
||||
- [Bollinger Bands](../volatility-bands/Indicator-BollingerBands.md) — envelope shaped by
|
||||
stddev rather than rolling extrema.
|
||||
- [Keltner Channels](Indicator-Keltner.md) — envelope shaped by ATR
|
||||
- [Keltner Channels](../volatility-bands/Indicator-Keltner.md) — envelope shaped by ATR
|
||||
around an EMA centerline.
|
||||
- [PSAR](Indicator-Psar.md) — alternative trailing-stop construction
|
||||
- [PSAR](../trailing-stops/Indicator-Psar.md) — alternative trailing-stop construction
|
||||
for breakout systems.
|
||||
+3
-4
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Volatility |
|
||||
| Sub-category | Return-based |
|
||||
| Family | Volatility & Bands |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | `[0, ∞)` (annualised percent) |
|
||||
@@ -159,8 +158,8 @@ conventional choice for volatility estimation.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-StdDev.md](Indicator-StdDev.md) — population dispersion of
|
||||
- [Indicator-StdDev.md](../volatility-bands/Indicator-StdDev.md) — population dispersion of
|
||||
raw prices.
|
||||
- [Indicator-Natr.md](Indicator-Natr.md) — range-based volatility as a
|
||||
- [Indicator-Natr.md](../volatility-bands/Indicator-Natr.md) — range-based volatility as a
|
||||
percentage.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+6
-7
@@ -1,6 +1,6 @@
|
||||
# Keltner Channels
|
||||
|
||||
> A pure composition of [EMA](../trend/Indicator-Ema.md) on typical price plus
|
||||
> A pure composition of [EMA](../moving-averages/Indicator-Ema.md) on typical price plus
|
||||
> ATR-scaled envelopes. The middle line is the trend filter, the bands are
|
||||
> the volatility cone.
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
|
||||
| Item | Value |
|
||||
|---------------------|------------------------------------------------------------------------------------|
|
||||
| Family | Volatility |
|
||||
| Sub-category | envelope (composed: EMA + ATR) |
|
||||
| Family | Volatility & Bands |
|
||||
| Input type | `Candle` (uses `high`, `low`, `close`) |
|
||||
| Output type | `KeltnerOutput { upper: f64, middle: f64, lower: f64 }` |
|
||||
| Output range | unbounded; `lower ≤ middle ≤ upper` |
|
||||
@@ -207,9 +206,9 @@ row 4 [upper, middle, lower]: [ 17.166666666666664, 13.166666666666666, 9.166666
|
||||
|
||||
## See also
|
||||
|
||||
- [EMA](../trend/Indicator-Ema.md) — the centerline component.
|
||||
- [ATR](Indicator-Atr.md) — the envelope width component.
|
||||
- [Bollinger Bands](Indicator-BollingerBands.md) — envelope using stddev
|
||||
- [EMA](../moving-averages/Indicator-Ema.md) — the centerline component.
|
||||
- [ATR](../volatility-bands/Indicator-Atr.md) — the envelope width component.
|
||||
- [Bollinger Bands](../volatility-bands/Indicator-BollingerBands.md) — envelope using stddev
|
||||
rather than ATR; useful side-by-side comparison.
|
||||
- [Donchian Channels](Indicator-Donchian.md) — envelope using rolling
|
||||
- [Donchian Channels](../volatility-bands/Indicator-Donchian.md) — envelope using rolling
|
||||
extrema with no smoothing.
|
||||
+5
-6
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Volatility |
|
||||
| Sub-category | Range-average |
|
||||
| Family | Volatility & Bands |
|
||||
| Input type | `Candle` (uses `high`, `low`, `close`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | `[0, ∞)` (percent) |
|
||||
@@ -22,7 +21,7 @@
|
||||
NATR = 100 · ATR(period) / close
|
||||
```
|
||||
|
||||
[`Atr`](Indicator-Atr.md) measures volatility in raw price units — a `2.0`
|
||||
[`Atr`](../volatility-bands/Indicator-Atr.md) measures volatility in raw price units — a `2.0`
|
||||
ATR is large on a $10 stock and tiny on a $5000 index. Dividing by the
|
||||
current close converts it to a percentage, so a NATR of `2.0` always
|
||||
means "the average true range is 2 % of price". That makes NATR readings
|
||||
@@ -121,7 +120,7 @@ console.log(natr.batch(high, low, close).at(-1));
|
||||
instruments or across long stretches of time where the price level
|
||||
drifts. A volatility filter like "skip entries when NATR > 5" or a stop
|
||||
at "entry − 3 × NATR %" stays meaningful on any symbol. Use raw
|
||||
[`Atr`](Indicator-Atr.md) only when you specifically want the answer in
|
||||
[`Atr`](../volatility-bands/Indicator-Atr.md) only when you specifically want the answer in
|
||||
price units (e.g. to place a stop a fixed number of points away).
|
||||
|
||||
## Common pitfalls
|
||||
@@ -138,7 +137,7 @@ Systems* (1978).
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Atr.md](Indicator-Atr.md) — the price-unit original.
|
||||
- [Indicator-HistoricalVolatility.md](Indicator-HistoricalVolatility.md) —
|
||||
- [Indicator-Atr.md](../volatility-bands/Indicator-Atr.md) — the price-unit original.
|
||||
- [Indicator-HistoricalVolatility.md](../volatility-bands/Indicator-HistoricalVolatility.md) —
|
||||
return-based annualised volatility.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+5
-6
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Volatility |
|
||||
| Sub-category | Envelopes (derived) |
|
||||
| Family | Volatility & Bands |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded (`0` = lower band, `1` = upper band) |
|
||||
@@ -23,7 +22,7 @@
|
||||
```
|
||||
|
||||
where `upper` and `lower` come from
|
||||
[`BollingerBands`](Indicator-BollingerBands.md). `%b = 1` is price exactly
|
||||
[`BollingerBands`](../volatility-bands/Indicator-BollingerBands.md). `%b = 1` is price exactly
|
||||
on the upper band, `%b = 0` on the lower band, `%b = 0.5` on the middle
|
||||
band. The value is **deliberately not clamped**: a close above the upper
|
||||
band gives `%b > 1`, a close below the lower band gives `%b < 0` — so %b
|
||||
@@ -132,7 +131,7 @@ for example "buy when %b crosses back above 0 from below".
|
||||
- **Expecting `[0, 1]` bounds.** %b is intentionally unclamped; values
|
||||
outside `[0, 1]` are the band-overshoot signal, not an error.
|
||||
- **Confusing it with bandwidth.** %b is price *position*;
|
||||
[`BollingerBandwidth`](Indicator-BollingerBandwidth.md) is band *width*.
|
||||
[`BollingerBandwidth`](../volatility-bands/Indicator-BollingerBandwidth.md) is band *width*.
|
||||
|
||||
## References
|
||||
|
||||
@@ -141,8 +140,8 @@ Bollinger's two derived indicators (with bandwidth).
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-BollingerBands.md](Indicator-BollingerBands.md) — the bands
|
||||
- [Indicator-BollingerBands.md](../volatility-bands/Indicator-BollingerBands.md) — the bands
|
||||
this locates price within.
|
||||
- [Indicator-BollingerBandwidth.md](Indicator-BollingerBandwidth.md) — the
|
||||
- [Indicator-BollingerBandwidth.md](../volatility-bands/Indicator-BollingerBandwidth.md) — the
|
||||
companion derived indicator: band *width*.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+5
-6
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Volatility |
|
||||
| Sub-category | Dispersion |
|
||||
| Family | Volatility & Bands |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | `[0, ∞)` (price-difference scale) |
|
||||
@@ -26,7 +25,7 @@ StdDev = √variance
|
||||
|
||||
This is the **population** standard deviation (divisor `n`, not `n − 1`)
|
||||
— the exact dispersion measure that drives the band width of
|
||||
[`BollingerBands`](Indicator-BollingerBands.md). It is maintained as an
|
||||
[`BollingerBands`](../volatility-bands/Indicator-BollingerBands.md). It is maintained as an
|
||||
O(1) state machine: a running sum and a running sum-of-squares, each
|
||||
updated by one add and one subtract per bar. Floating-point cancellation
|
||||
can leave the computed variance very slightly negative; it is clamped to
|
||||
@@ -137,7 +136,7 @@ exactly.
|
||||
|
||||
- **Expecting the sample standard deviation.** `StdDev` divides by `n`,
|
||||
not `n − 1`. For the unbiased return-based estimator use
|
||||
[`HistoricalVolatility`](Indicator-HistoricalVolatility.md).
|
||||
[`HistoricalVolatility`](../volatility-bands/Indicator-HistoricalVolatility.md).
|
||||
- **Comparing across instruments.** The output is in price units; a
|
||||
`StdDev` of `5` is not comparable between a $10 and a $1000 asset.
|
||||
|
||||
@@ -149,8 +148,8 @@ Bands and pandas' `rolling(period).std(ddof=0)`.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-BollingerBands.md](Indicator-BollingerBands.md) — bands built
|
||||
- [Indicator-BollingerBands.md](../volatility-bands/Indicator-BollingerBands.md) — bands built
|
||||
from this dispersion measure.
|
||||
- [Indicator-HistoricalVolatility.md](Indicator-HistoricalVolatility.md) —
|
||||
- [Indicator-HistoricalVolatility.md](../volatility-bands/Indicator-HistoricalVolatility.md) —
|
||||
annualised volatility of log returns.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-4
@@ -24,7 +24,7 @@ TR = max( high − low, |high − close_prev|, |low − close_prev| )
|
||||
True Range is the greatest of the bar's own range and the two gaps to the
|
||||
previous close, so it captures volatility that opens *between* bars — an
|
||||
overnight gap — not only the range printed within a bar. The first bar has no
|
||||
previous close and falls back to `high − low`. Where [`Atr`](Indicator-Atr.md)
|
||||
previous close and falls back to `high − low`. Where [`Atr`](../volatility-bands/Indicator-Atr.md)
|
||||
is the Wilder-smoothed average of this series, `TrueRange` exposes it raw, one
|
||||
value per bar.
|
||||
|
||||
@@ -124,7 +124,7 @@ Output:
|
||||
|
||||
Read `TrueRange` as raw per-bar volatility. It spikes on wide-range or gapping
|
||||
bars and shrinks in quiet stretches. Smoothing it with a moving average gives
|
||||
[`Atr`](Indicator-Atr.md); using it directly is useful for volatility-scaled
|
||||
[`Atr`](../volatility-bands/Indicator-Atr.md); using it directly is useful for volatility-scaled
|
||||
position sizing or for spotting single outlier bars an average would hide.
|
||||
|
||||
## Common pitfalls
|
||||
@@ -140,8 +140,8 @@ Systems* (1978).
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Atr.md](Indicator-Atr.md) — the Wilder-smoothed average of the
|
||||
- [Indicator-Atr.md](../volatility-bands/Indicator-Atr.md) — the Wilder-smoothed average of the
|
||||
True Range.
|
||||
- [Indicator-ChaikinVolatility.md](Indicator-ChaikinVolatility.md) — a
|
||||
- [Indicator-ChaikinVolatility.md](../volatility-bands/Indicator-ChaikinVolatility.md) — a
|
||||
rate-of-change volatility measure.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
+4
-5
@@ -7,8 +7,7 @@
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Volatility |
|
||||
| Sub-category | Downside risk |
|
||||
| Family | Volatility & Bands |
|
||||
| Input type | `f64` (single close) |
|
||||
| Output type | `f64` |
|
||||
| Output range | `[0, ∞)` (percent) |
|
||||
@@ -144,7 +143,7 @@ penalises only downside volatility.
|
||||
|
||||
- **Reading it as two-sided volatility.** The Ulcer Index ignores upside
|
||||
entirely — a wildly choppy *up*-trend can still score near `0`. Use
|
||||
[`StdDev`](Indicator-StdDev.md) for two-sided dispersion.
|
||||
[`StdDev`](../volatility-bands/Indicator-StdDev.md) for two-sided dispersion.
|
||||
- **Forgetting the doubled warmup.** Warmup is `2·period − 1`, not
|
||||
`period`.
|
||||
|
||||
@@ -156,6 +155,6 @@ drawdown RMS here follows that definition.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-StdDev.md](Indicator-StdDev.md) — two-sided dispersion.
|
||||
- [Indicator-Atr.md](Indicator-Atr.md) — per-bar range volatility.
|
||||
- [Indicator-StdDev.md](../volatility-bands/Indicator-StdDev.md) — two-sided dispersion.
|
||||
- [Indicator-Atr.md](../volatility-bands/Indicator-Atr.md) — per-bar range volatility.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
@@ -8,7 +8,6 @@
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Volume |
|
||||
| Sub-category | Cumulative |
|
||||
| Input type | `Candle` (uses `high`, `low`, `close`, `volume`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded (drifts with cumulative volume) |
|
||||
@@ -138,7 +137,7 @@ Output:
|
||||
total drifts arbitrarily with cumulative volume). A rising ADL confirms
|
||||
that an up-move is backed by accumulation; a *falling* ADL while price
|
||||
rises is a bearish divergence — the rally is not being bought into.
|
||||
[`ChaikinOscillator`](Indicator-ChaikinOscillator.md) is the standard way
|
||||
[`ChaikinOscillator`](../volume/Indicator-ChaikinOscillator.md) is the standard way
|
||||
to turn the ADL into a bounded, tradeable oscillator.
|
||||
|
||||
## Common pitfalls
|
||||
@@ -155,7 +154,7 @@ formulation here matches the standard definition (StockCharts, TA-Lib's
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Obv.md](Indicator-Obv.md) — cumulative *signed* volume.
|
||||
- [Indicator-ChaikinOscillator.md](Indicator-ChaikinOscillator.md) — an
|
||||
- [Indicator-Obv.md](../volume/Indicator-Obv.md) — cumulative *signed* volume.
|
||||
- [Indicator-ChaikinOscillator.md](../volume/Indicator-ChaikinOscillator.md) — an
|
||||
oscillator built on the ADL.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Volume |
|
||||
| Sub-category | Oscillators |
|
||||
| Input type | `Candle` (uses `high`, `low`, `close`, `volume`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | `[−1, +1]` |
|
||||
@@ -24,7 +23,7 @@ MFV_t = MFM_t · volume_t (money-flow volume)
|
||||
CMF_t = Σ(MFV, period) / Σ(volume, period)
|
||||
```
|
||||
|
||||
CMF is the [`Adl`](Indicator-Adl.md) increment averaged the way RSI averages
|
||||
CMF is the [`Adl`](../volume/Indicator-Adl.md) increment averaged the way RSI averages
|
||||
gains: rather than a running total, it divides the *summed* money-flow volume
|
||||
of the last `period` bars by the *summed* volume of those bars. The result is
|
||||
volume-normalised, so it lives in `[−1, +1]` regardless of how heavily the
|
||||
@@ -137,7 +136,7 @@ near bar highs on real volume (accumulation), sustained negative values mean
|
||||
the opposite (distribution). Crosses of the zero line are the textbook signal;
|
||||
the `±0.05` band is often treated as a neutral zone. Because CMF is
|
||||
volume-normalised it is comparable across instruments — unlike the raw
|
||||
[`Adl`](Indicator-Adl.md), whose level is arbitrary.
|
||||
[`Adl`](../volume/Indicator-Adl.md), whose level is arbitrary.
|
||||
|
||||
## Common pitfalls
|
||||
|
||||
@@ -153,7 +152,7 @@ matches the standard definition (StockCharts).
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Adl.md](Indicator-Adl.md) — the cumulative line CMF is built on.
|
||||
- [Indicator-ChaikinOscillator.md](Indicator-ChaikinOscillator.md) — the
|
||||
- [Indicator-Adl.md](../volume/Indicator-Adl.md) — the cumulative line CMF is built on.
|
||||
- [Indicator-ChaikinOscillator.md](../volume/Indicator-ChaikinOscillator.md) — the
|
||||
EMA-difference oscillator on the ADL.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Volume |
|
||||
| Sub-category | Oscillators |
|
||||
| Input type | `Candle` (uses `high`, `low`, `close`, `volume`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded around zero |
|
||||
@@ -22,7 +21,7 @@
|
||||
ChaikinOsc_t = EMA(ADL, fast)_t − EMA(ADL, slow)_t
|
||||
```
|
||||
|
||||
The [`Adl`](Indicator-Adl.md) is an unbounded line that drifts with cumulative
|
||||
The [`Adl`](../volume/Indicator-Adl.md) is an unbounded line that drifts with cumulative
|
||||
volume — useful for its slope but awkward to trade directly. The Chaikin
|
||||
Oscillator applies the MACD construction to it: difference a fast and a slow
|
||||
EMA of the ADL to get a zero-centred momentum reading. Positive values mean
|
||||
@@ -153,9 +152,9 @@ Accumulation/Distribution Line (StockCharts).
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Adl.md](Indicator-Adl.md) — the cumulative line this oscillates.
|
||||
- [Indicator-ChaikinMoneyFlow.md](Indicator-ChaikinMoneyFlow.md) — a bounded
|
||||
- [Indicator-Adl.md](../volume/Indicator-Adl.md) — the cumulative line this oscillates.
|
||||
- [Indicator-ChaikinMoneyFlow.md](../volume/Indicator-ChaikinMoneyFlow.md) — a bounded
|
||||
ratio built from the same money-flow volume.
|
||||
- [Indicator-MacdIndicator.md](../momentum/Indicator-MacdIndicator.md) — the
|
||||
- [Indicator-MacdIndicator.md](../trend-directional/Indicator-MacdIndicator.md) — the
|
||||
same fast/slow EMA-difference construction on price.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Volume |
|
||||
| Sub-category | Oscillators |
|
||||
| Input type | `Candle` (uses `high`, `low`, `volume`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded around zero (scaled by `divisor`) |
|
||||
@@ -154,8 +153,8 @@ the standard definition.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-ForceIndex.md](Indicator-ForceIndex.md) — a different
|
||||
- [Indicator-ForceIndex.md](../volume/Indicator-ForceIndex.md) — a different
|
||||
price-change-vs-volume gauge.
|
||||
- [Indicator-ChaikinMoneyFlow.md](Indicator-ChaikinMoneyFlow.md) — bounded
|
||||
- [Indicator-ChaikinMoneyFlow.md](../volume/Indicator-ChaikinMoneyFlow.md) — bounded
|
||||
money-flow balance.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Volume |
|
||||
| Sub-category | Oscillators |
|
||||
| Input type | `Candle` (uses `close`, `volume`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded around zero |
|
||||
@@ -148,8 +147,8 @@ Alexander Elder's Force Index, introduced in *Trading for a Living* (1993).
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Obv.md](Indicator-Obv.md) — cumulative signed volume, a coarser
|
||||
- [Indicator-Obv.md](../volume/Indicator-Obv.md) — cumulative signed volume, a coarser
|
||||
volume-conviction gauge.
|
||||
- [Indicator-VolumePriceTrend.md](Indicator-VolumePriceTrend.md) — cumulative
|
||||
- [Indicator-VolumePriceTrend.md](../volume/Indicator-VolumePriceTrend.md) — cumulative
|
||||
volume scaled by percentage move.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
|
||||
@@ -9,8 +9,7 @@
|
||||
|
||||
| Item | Value |
|
||||
|---------------------|--------------------------------------------------------------|
|
||||
| Family | Volume |
|
||||
| Sub-category | cumulative |
|
||||
| Family | Volume |
|
||||
| Input type | `Candle` (uses `close` and `volume`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded (signed, integer-of-volume in spirit) |
|
||||
@@ -182,9 +181,9 @@ Output:
|
||||
|
||||
## See also
|
||||
|
||||
- [VWAP](Indicator-Vwap.md) — volume-weighted price benchmark; OBV and
|
||||
- [VWAP](../volume/Indicator-Vwap.md) — volume-weighted price benchmark; OBV and
|
||||
VWAP are the two canonical volume-aware indicators in the panel.
|
||||
- [MFI](../momentum/Indicator-Mfi.md) — money-flow index, an oscillator blending
|
||||
- [MFI](../momentum-oscillators/Indicator-Mfi.md) — money-flow index, an oscillator blending
|
||||
typical price with volume.
|
||||
- [SMA](../trend/Indicator-Sma.md) / [EMA](../trend/Indicator-Ema.md) — the smoothers
|
||||
- [SMA](../moving-averages/Indicator-Sma.md) / [EMA](../moving-averages/Indicator-Ema.md) — the smoothers
|
||||
most commonly layered on top of OBV to define trade triggers.
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Family | Volume |
|
||||
| Sub-category | Cumulative |
|
||||
| Input type | `Candle` (uses `close`, `volume`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded (drifts with cumulative volume) |
|
||||
@@ -22,7 +21,7 @@
|
||||
VPT_t = VPT_{t−1} + volume_t · (close_t − close_{t−1}) / close_{t−1}
|
||||
```
|
||||
|
||||
VPT is a close relative of [`Obv`](Indicator-Obv.md). Where OBV adds the
|
||||
VPT is a close relative of [`Obv`](../volume/Indicator-Obv.md). Where OBV adds the
|
||||
*entire* bar volume on any up-close, VPT adds volume scaled by the **size**
|
||||
of the move: a 2 % gain on a given volume moves the line twice as far as a
|
||||
1 % gain on the same volume. That makes VPT more sensitive to the
|
||||
@@ -155,7 +154,7 @@ common definition.
|
||||
|
||||
## See also
|
||||
|
||||
- [Indicator-Obv.md](Indicator-Obv.md) — cumulative signed volume, the
|
||||
- [Indicator-Obv.md](../volume/Indicator-Obv.md) — cumulative signed volume, the
|
||||
closest relative.
|
||||
- [Indicator-Adl.md](Indicator-Adl.md) — cumulative range-weighted volume.
|
||||
- [Indicator-Adl.md](../volume/Indicator-Adl.md) — cumulative range-weighted volume.
|
||||
- [Indicators-Overview.md](../../Indicators-Overview.md) — the full taxonomy.
|
||||
|
||||
@@ -12,8 +12,7 @@ This page documents two distinct public types — jump straight to
|
||||
|
||||
| Item | Value |
|
||||
|---------------------|----------------------------------------------------------------|
|
||||
| Family | Volume |
|
||||
| Sub-category | cumulative (`Vwap`) / rolling (`RollingVwap`) |
|
||||
| Family | Volume |
|
||||
| Input type | `Candle` (uses `high`, `low`, `close`, `volume`) |
|
||||
| Output type | `f64` |
|
||||
| Output range | unbounded (price-units) |
|
||||
@@ -286,9 +285,9 @@ At `t = 4` with window `[20@3, 30@1, 40@2]`:
|
||||
|
||||
## See also
|
||||
|
||||
- [OBV](Indicator-Obv.md) — cumulative signed-volume measure that pairs
|
||||
- [OBV](../volume/Indicator-Obv.md) — cumulative signed-volume measure that pairs
|
||||
well with VWAP as a divergence flag.
|
||||
- [MFI](../momentum/Indicator-Mfi.md) — money-flow oscillator that also blends
|
||||
- [MFI](../momentum-oscillators/Indicator-Mfi.md) — money-flow oscillator that also blends
|
||||
typical price with volume.
|
||||
- [Bollinger Bands](../volatility/Indicator-BollingerBands.md) — non-volume volatility
|
||||
- [Bollinger Bands](../volatility-bands/Indicator-BollingerBands.md) — non-volume volatility
|
||||
envelope, often layered alongside VWAP on intraday charts.
|
||||
|
||||
Reference in New Issue
Block a user