mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-08 05:57:43 +00:00
docs: standardize .md template — add PineScript links, blockquotes, bullet summaries
- Eeo.md: full rewrite to canonical template (blockquote, table, 3 bullets, paragraph) - Ac.md: add PineScript row - Ao.md: add PineScript row - Fisher04.md: add table, PineScript row, 3 bullets, paragraph - TtmWave.md: add PineScript row - Dstoch.md: full rewrite header (blockquote, canonical table, 3 bullets, paragraph) - Net.md: add blockquote, canonical table, PineScript row, 3 bullets, paragraph
This commit is contained in:
+16
-9
@@ -1,15 +1,22 @@
|
||||
# NET: Ehlers Noise Elimination Technology
|
||||
|
||||
**NET** applies Kendall Tau-a rank correlation to a rolling window of the input series. It measures the degree of monotonic trend: +1 means perfectly rising, −1 means perfectly falling, 0 means no trend. Unlike Pearson correlation (used in CTI), Kendall tau is nonparametric and robust to outliers.
|
||||
> *Rank the bars. Count the agreements. If the market is trending, the ranks will tell you — without a single moving average.*
|
||||
|
||||
| Property | Value |
|
||||
| :------------- | :--------------------------- |
|
||||
| **Category** | Filters |
|
||||
| **Author** | John F. Ehlers |
|
||||
| **Source** | TASC, December 2020 |
|
||||
| **Parameters** | period (int, default 14, ≥ 2) |
|
||||
| **Output** | double, bounded [−1, +1] |
|
||||
| **Inputs** | Single series (Close, HL2, etc.) |
|
||||
| Property | Value |
|
||||
| ---------------- | -------------------------------- |
|
||||
| **Category** | Filter |
|
||||
| **Inputs** | Source (close) |
|
||||
| **Parameters** | `period` (default 14, ≥ 2) |
|
||||
| **Outputs** | Single series (Net) |
|
||||
| **Output range** | [-1, +1] |
|
||||
| **Warmup** | `period` bars |
|
||||
| **PineScript** | [net.pine](net.pine) |
|
||||
|
||||
- NET applies Kendall Tau-a rank correlation to a rolling window, measuring the degree of monotonic trend: +1 = perfectly rising, −1 = perfectly falling, 0 = no trend. Unlike Pearson correlation (CTI), Kendall tau is nonparametric and robust to outliers.
|
||||
- **Similar:** [CTI](../../oscillators/cti/Cti.md) | **Complementary:** Moving averages for trend confirmation | **Trading note:** Values above +0.5 or below −0.5 indicate strong monotonic trend; zero crossings signal direction changes.
|
||||
- No external validation libraries implement NET. Validated through self-consistency and behavioral testing.
|
||||
|
||||
NET measures the degree of monotonic ordering within a rolling window using Kendall's Tau-a concordance statistic. For each pair of bars in the window, it checks whether both price and time agree on direction (concordant) or disagree (discordant). The normalized difference (concordant − discordant) / total_pairs produces a bounded [-1, +1] output with zero lag — no smoothing filters involved.
|
||||
|
||||
## Historical Context
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
| Outputs | double (single value) |
|
||||
| Output range | Unbounded, centered at zero |
|
||||
| Warmup | `slowPeriod + acPeriod - 1` bars (default: 38) |
|
||||
| PineScript | [ac.pine](ac.pine) |
|
||||
|
||||
### Key takeaways
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
| Outputs | double (single value) |
|
||||
| Output range | Unbounded, centered at zero |
|
||||
| Warmup | `slowPeriod` bars (default: 34) |
|
||||
| PineScript | [ao.pine](ao.pine) |
|
||||
|
||||
### Key takeaways
|
||||
|
||||
|
||||
@@ -1,21 +1,22 @@
|
||||
# DSTOCH — Double Stochastic (Bressert DSS)
|
||||
# DSTOCH: Double Stochastic (Bressert DSS)
|
||||
|
||||
## Overview
|
||||
> *Apply the Stochastic formula twice — once to price, once to the result — and the oscillator sharpens from a gentle hill into a decisive cliff.*
|
||||
|
||||
**DSTOCH** (Double Stochastic / DSS Bressert) applies the Stochastic oscillator formula twice with EMA smoothing between stages, producing a momentum indicator bounded between 0 and 100. Developed by Walter Bressert, it is more responsive than standard Stochastic while remaining bounded.
|
||||
| Property | Value |
|
||||
| ---------------- | -------------------------------- |
|
||||
| **Category** | Oscillator |
|
||||
| **Inputs** | High, Low, Close |
|
||||
| **Parameters** | `period` (default 21) |
|
||||
| **Outputs** | Single series (Dstoch) |
|
||||
| **Output range** | [0, 100] |
|
||||
| **Warmup** | `period` bars |
|
||||
| **PineScript** | [dstoch.pine](dstoch.pine) |
|
||||
|
||||
| Property | Value |
|
||||
| :--------- | :-------------- |
|
||||
| Category | Oscillator |
|
||||
| Output | Single (DSS) |
|
||||
| Range | [0, 100] |
|
||||
| Default | period = 21 |
|
||||
| Input | TBar (HLC) |
|
||||
| Hot after | period bars |
|
||||
- DSTOCH (Double Stochastic / DSS Bressert) applies the Stochastic oscillator formula twice with EMA smoothing between stages, producing a momentum indicator bounded between 0 and 100 that is more responsive than standard Stochastic.
|
||||
- **Similar:** [Stoch](../stoch/Stoch.md), [StochRSI](../stochrsi/Stochrsi.md) | **Complementary:** ADX for trend confirmation | **Trading note:** Overbought above 80, oversold below 20; sharper transitions than single Stochastic.
|
||||
- No external validation libraries implement DSS Bressert. Validated through self-consistency and behavioral testing.
|
||||
|
||||
**Source:** [Dstoch.cs](Dstoch.cs) · [PineScript](dstoch.pine)
|
||||
|
||||
---
|
||||
DSTOCH applies the Stochastic normalization formula to price, then applies it again to the normalized result with EMA smoothing in between. This double application sharpens the oscillator's transitions, making overbought/oversold signals more decisive while remaining bounded to [0, 100].
|
||||
|
||||
## Formula
|
||||
|
||||
|
||||
+17
-13
@@ -1,22 +1,26 @@
|
||||
# EEO: Ehlers Elegant Oscillator
|
||||
|
||||
A bounded zero-crossing oscillator that applies the Inverse Fisher Transform to RMS-normalized 2-bar momentum, then smooths the result with a 2-pole Super Smoother filter. Output is approximately bounded to [-1, +1].
|
||||
> *Where DSO shouts through a megaphone, EEO whispers through a compressor — the Inverse Fisher Transform tames extremes into a clean bounded signal.*
|
||||
|
||||
| Property | Value |
|
||||
|:-------------- |:--------------------------------------------- |
|
||||
| **Category** | Oscillators |
|
||||
| **Author** | John F. Ehlers |
|
||||
| **Source** | TASC, February 2022 |
|
||||
| **Article** | "An Elegant Oscillator: Inverse Fisher Transform Redux" |
|
||||
| **Input** | Single series (Close) |
|
||||
| **Parameters** | BandEdge (default 20) |
|
||||
| **Output** | Bounded ≈ [-1, +1] |
|
||||
| **Hot after** | 50 + BandEdge bars |
|
||||
| **PineScript** | [eeo.pine](eeo.pine) |
|
||||
| Property | Value |
|
||||
| ---------------- | -------------------------------- |
|
||||
| **Category** | Oscillator |
|
||||
| **Inputs** | Source (close) |
|
||||
| **Parameters** | `bandEdge` (default 20) |
|
||||
| **Outputs** | Single series (Eeo) |
|
||||
| **Output range** | Bounded ≈ [-1, +1] |
|
||||
| **Warmup** | `50 + bandEdge` bars |
|
||||
| **PineScript** | [eeo.pine](eeo.pine) |
|
||||
|
||||
- EEO (Elegant Oscillator) applies the Inverse Fisher Transform (tanh) to RMS-normalized 2-bar momentum, then smooths the result with a 2-pole Super Smoother filter, producing a bounded zero-crossing oscillator.
|
||||
- **Similar:** [DSO](../dso/Dso.md), [RSIH](../rsih/Rsih.md) | **Complementary:** ADX for trend confirmation | **Trading note:** Output bounded ≈ [-1, +1]; ±0.5 levels indicate strong momentum. Unlike DSO (unbounded), EEO compresses extremes via tanh.
|
||||
- No external validation libraries implement EEO. Validated through self-consistency and behavioral testing.
|
||||
|
||||
EEO is Ehlers' 2022 refinement of his earlier DSO (2018). Where DSO applies the Fisher Transform (arctanh) to expand a normalized signal, EEO applies the **Inverse Fisher Transform** (tanh) to compress it. The IFT naturally bounds the output to [-1, +1] without the ±0.99 clamping that DSO requires. A Super Smoother post-filter then removes residual noise. The fixed 50-bar RMS normalization window provides a stable volatility baseline independent of the BandEdge parameter.
|
||||
|
||||
## Historical Context
|
||||
|
||||
Ehlers' 2022 "Elegant Oscillator" is a refinement of his earlier DSO (2018). Where DSO applies the Fisher Transform (arctanh) to expand a normalized signal, EEO applies the **Inverse Fisher Transform** (tanh) to compress it. The IFT naturally bounds the output to [-1, +1] without needing the ±0.99 clamping that DSO requires. A Super Smoother post-filter then removes residual noise.
|
||||
John F. Ehlers published the Elegant Oscillator in the February 2022 issue of *Technical Analysis of Stocks & Commodities* magazine under the title "An Elegant Oscillator: Inverse Fisher Transform Redux." The article presents EEO as a deliberate counterpart to his 2018 Deviation-Scaled Oscillator (DSO). While DSO uses the Fisher Transform (arctanh) to stretch readings near zero into large excursions, EEO uses the Inverse Fisher Transform (tanh) to compress them — producing a naturally bounded output without the artificial clamping that DSO requires.
|
||||
|
||||
## Architecture & Physics
|
||||
|
||||
|
||||
@@ -2,9 +2,21 @@
|
||||
|
||||
> *The Fisher Transform provides clear, unambiguous turning points that make it possible to identify trend reversals.*
|
||||
|
||||
## Introduction
|
||||
| Property | Value |
|
||||
| ---------------- | -------------------------------- |
|
||||
| **Category** | Oscillator |
|
||||
| **Inputs** | Source (close) |
|
||||
| **Parameters** | `period` (default 9) |
|
||||
| **Outputs** | Single series (Fisher04) |
|
||||
| **Output range** | Unbounded (typically ±3) |
|
||||
| **Warmup** | `period` bars |
|
||||
| **PineScript** | [fisher04.pine](fisher04.pine) |
|
||||
|
||||
The Fisher04 indicator implements the revised Fisher Transform from Chapter 1 of Ehlers' 2004 book *Cybernetic Analysis for Stocks and Futures*. It converts price data into a Gaussian normal distribution using the inverse hyperbolic tangent (arctanh), producing sharp turning-point signals. This 2004 revision uses wider normalization bandwidth, gentler IIR smoothing, and a reduced arctanh multiplier compared to the original 2002 TASC article, resulting in a smoother oscillator with less noise.
|
||||
- Fisher04 implements the revised Fisher Transform from Ehlers' 2004 *Cybernetic Analysis for Stocks and Futures*, converting price data to a Gaussian distribution via arctanh with wider normalization and gentler IIR smoothing than the original 2002 article.
|
||||
- **Similar:** [Fisher](../fisher/Fisher.md), [RRSI](../rrsi/Rrsi.md) | **Complementary:** Moving averages for trend confirmation | **Trading note:** Unbounded oscillator; values beyond ±2 indicate extremes. Uses 2004 coefficients (1.0 normalization, 0.5 IIR, 0.25 arctanh multiplier) — distinct from the 2002 version.
|
||||
- No external validation libraries implement the 2004 Fisher variant. Validated through self-consistency and behavioral testing.
|
||||
|
||||
Fisher04 uses wider normalization bandwidth, gentler IIR smoothing (0.5 vs 0.67 feedback), and a halved arctanh multiplier (0.25 vs 0.5) compared to the original 2002 TASC formulation. The result is a smoother oscillator with less noise while retaining the sharp turning-point characteristics of the Fisher Transform.
|
||||
|
||||
## Historical Context
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
| **Outputs** | WaveA1, WaveA2, WaveB1, WaveB2, WaveC1, WaveC2 (`Last` = Wave1 = WaveA2) |
|
||||
| **Output range** | Unbounded (MACD histograms in price units) |
|
||||
| **Warmup period** | 752 bars |
|
||||
| **PineScript** | [ttm_wave.pine](ttm_wave.pine) |
|
||||
|
||||
### Key takeaways
|
||||
|
||||
|
||||
Reference in New Issue
Block a user