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:
Miha Kralj
2026-03-17 15:31:58 -07:00
parent f6ea2fb4df
commit e17b00172a
7 changed files with 65 additions and 38 deletions
+16 -9
View File
@@ -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
+1
View File
@@ -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
+1
View File
@@ -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
+15 -14
View File
@@ -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
View File
@@ -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
+14 -2
View File
@@ -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
+1
View File
@@ -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