Merge branch 'dev'

This commit is contained in:
Miha Kralj
2026-03-13 13:47:10 -07:00
404 changed files with 2754 additions and 1763 deletions
+2 -4
View File
@@ -13,9 +13,7 @@
| **PineScript** | [chandelier.pine](chandelier.pine) |
- The Chandelier Exit computes ATR-based trailing stop levels that hang from the highest high (for longs) or rise from the lowest low (for shorts) ov...
- Parameterized by `period` (default 22), `multiplier` (default 3.0).
- Output range: Varies (see docs).
- Requires `period + 1` bars of warmup before first valid output (IsHot = true).
- **Similar:** [PSAR](../psar/Psar.md), [Super](../../dynamics/super/Super.md) | **Complementary:** ADX for trend strength | **Trading note:** Chandelier Exit; ATR-based trailing stop from highest high. Risk management tool.
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
The Chandelier Exit computes ATR-based trailing stop levels that hang from the highest high (for longs) or rise from the lowest low (for shorts) over a lookback period. It produces two overlay lines: ExitLong (trailing stop for long positions) and ExitShort (trailing stop for short positions). Developed by Charles Le Beau and popularized by Alexander Elder. Default parameters: period 22, multiplier 3.0.
@@ -165,4 +163,4 @@ Cross-validation with Skender.Stock.Indicators confirms exact numerical match fo
- Le Beau, C., & Lucas, D. (1992). *Technical Traders Guide to Computer Analysis of the Futures Market*. McGraw-Hill.
- Elder, A. (2002). *Come Into My Trading Room: A Complete Guide to Trading*. John Wiley & Sons.
- Skender.Stock.Indicators: [`GetChandelier()`](https://dotnet.stockindicators.dev/indicators/Chandelier/)
- Skender.Stock.Indicators: [`GetChandelier()`](https://dotnet.stockindicators.dev/indicators/Chandelier/)
+2 -4
View File
@@ -13,9 +13,7 @@
| **PineScript** | [ckstop.pine](ckstop.pine) |
- The Chande Kroll Stop computes adaptive trailing stop levels using ATR-smoothed volatility envelopes around rolling extremes.
- Parameterized by `atrPeriod` (default 10), `multiplier` (default 1.0), `stopPeriod` (default 9).
- Output range: Varies (see docs).
- Requires `atrPeriod + stopPeriod` bars of warmup before first valid output (IsHot = true).
- **Similar:** [Chandelier](../chandelier/Chandelier.md), [PSAR](../psar/Psar.md) | **Complementary:** ATR | **Trading note:** Chuck LeBeau's Chandelier stop; ATR trailing stop with configurable multiplier.
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
The Chande Kroll Stop computes adaptive trailing stop levels using ATR-smoothed volatility envelopes around rolling extremes. It produces two lines: StopLong (support) and StopShort (resistance). When price trades above both stops, the trend is bullish. When below both, bearish. Crossovers between the two stops signal potential reversals.
@@ -174,4 +172,4 @@ No major TA library implements Chande Kroll Stop, making this a Level 3 validati
## References
- Chande, T. S., & Kroll, S. (1994). *The New Technical Trader: Boost Your Profit by Plugging into the Latest Indicators*. John Wiley & Sons.
- TradingView PineScript Reference: [`ta.ckstop()`](https://www.tradingview.com/pine-script-reference/v6/#fun_ta.ckstop)
- TradingView PineScript Reference: [`ta.ckstop()`](https://www.tradingview.com/pine-script-reference/v6/#fun_ta.ckstop)
+1 -3
View File
@@ -14,8 +14,6 @@
- Williams Fractals detect local price extremes using a strict five-bar pattern: an Up Fractal marks a bar whose high exceeds the highs of the two ba...
- No configurable parameters; computation is stateless per bar.
- Output range: Varies (see docs).
- Requires 1 bar of warmup before first valid output (IsHot = true).
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
Williams Fractals detect local price extremes using a strict five-bar pattern: an Up Fractal marks a bar whose high exceeds the highs of the two bars before and after it; a Down Fractal marks a bar whose low undercuts the lows of the two bars before and after it. No parameters, no smoothing, no lag compensation. The pattern either exists or it does not. Developed by Bill Williams and published in *Trading Chaos* (1995).
@@ -171,4 +169,4 @@ Cross-validation with Skender.Stock.Indicators uses `GetFractal(windowSpan: 2)`.
- Williams, B. M. (2004). *Trading Chaos: Maximize Profits with Proven Technical Techniques* (2nd ed.). John Wiley and Sons.
- Mandelbrot, B. B. (1982). *The Fractal Geometry of Nature*. W. H. Freeman.
- TradingView PineScript Reference: [`ta.pivothigh()`](https://www.tradingview.com/pine-script-reference/v5/#fun_ta.pivothigh), [`ta.pivotlow()`](https://www.tradingview.com/pine-script-reference/v5/#fun_ta.pivotlow)
- Skender.Stock.Indicators: [`GetFractal()`](https://dotnet.stockindicators.dev/indicators/Fractal/)
- Skender.Stock.Indicators: [`GetFractal()`](https://dotnet.stockindicators.dev/indicators/Fractal/)
+1 -3
View File
@@ -14,8 +14,6 @@
- Classic Pivot Points calculate seven horizontal support and resistance levels from the previous bar's high, low, and close.
- No configurable parameters; computation is stateless per bar.
- Output range: Varies (see docs).
- Requires `2` bars of warmup before first valid output (IsHot = true).
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
Classic Pivot Points calculate seven horizontal support and resistance levels from the previous bar's high, low, and close. The central pivot point (PP) is the arithmetic mean of HLC; three resistance levels (R1-R3) and three support levels (S1-S3) are derived from PP and the prior bar's range. The formula has been in continuous use since the 1930s among floor traders at commodity exchanges. Zero parameters, zero lag, zero ambiguity.
@@ -204,4 +202,4 @@ Mathematical correctness is validated by computing expected values from the form
- Weintraub, N. (1996). *Tricks of the Floor Trader*. McGraw-Hill.
- Person, J. L. (2004). *A Complete Guide to Technical Trading Tactics: How to Profit Using Pivot Points, Candlesticks & Other Indicators*. John Wiley and Sons.
- Wikipedia: [Pivot point (technical analysis)](https://en.wikipedia.org/wiki/Pivot_point_(technical_analysis))
- TradingView PineScript Reference: [`ta.pivothigh()`](https://www.tradingview.com/pine-script-reference/v5/#fun_ta.pivothigh), [`ta.pivotlow()`](https://www.tradingview.com/pine-script-reference/v5/#fun_ta.pivotlow)
- TradingView PineScript Reference: [`ta.pivothigh()`](https://www.tradingview.com/pine-script-reference/v5/#fun_ta.pivothigh), [`ta.pivotlow()`](https://www.tradingview.com/pine-script-reference/v5/#fun_ta.pivotlow)
+1 -3
View File
@@ -14,8 +14,6 @@
- Camarilla Pivot Points calculate nine horizontal support and resistance levels from the previous bar's high, low, and close.
- No configurable parameters; computation is stateless per bar.
- Output range: Varies (see docs).
- Requires `2` bars of warmup before first valid output (IsHot = true).
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
Camarilla Pivot Points calculate nine horizontal support and resistance levels from the previous bar's high, low, and close. Unlike classic floor trader pivots that radiate from the PP midpoint, Camarilla levels radiate symmetrically from the previous close using fixed fractions of the prior range. The R3/S3 levels serve as the primary mean-reversion zone; breakouts beyond R4/S4 signal trend continuation. Developed by Nick Scott in 1989 using bond market data, the equation was originally distributed as a shareware Excel plugin.
@@ -210,4 +208,4 @@ Mathematical correctness is validated by computing expected values from the Cama
- Scott, N. (1989). *The Camarilla Equation*. Originally distributed as Excel shareware.
- Person, J. L. (2004). *A Complete Guide to Technical Trading Tactics: How to Profit Using Pivot Points, Candlesticks & Other Indicators*. John Wiley and Sons.
- Wikipedia: [Pivot point (technical analysis)](https://en.wikipedia.org/wiki/Pivot_point_(technical_analysis))
- TradingView: [Camarilla Pivot Points](https://www.tradingview.com/support/solutions/43000521824-pivot-points-standard/)
- TradingView: [Camarilla Pivot Points](https://www.tradingview.com/support/solutions/43000521824-pivot-points-standard/)
+1 -3
View File
@@ -14,8 +14,6 @@
- DeMark Pivot Points calculate three horizontal support and resistance levels from the previous bar's open, high, low, and close.
- No configurable parameters; computation is stateless per bar.
- Output range: Varies (see docs).
- Requires `2` bars of warmup before first valid output (IsHot = true).
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
DeMark Pivot Points calculate three horizontal support and resistance levels from the previous bar's open, high, low, and close. The defining characteristic is a conditional intermediate value X that changes its weighting depending on whether the prior bar closed below, above, or equal to its open. Bearish bars weight the low; bullish bars weight the high; doji bars weight the close. Three levels (PP, R1, S1) emerge from this single conditional calculation. The only pivot variant that uses the open price.
@@ -195,4 +193,4 @@ No external libraries implement bar-to-bar DeMark pivot points. Mathematical cor
- DeMark, T. R. (1994). *The New Science of Technical Analysis*. John Wiley and Sons.
- DeMark, T. R. (1997). *New Market Timing Techniques: Innovative Studies in Market Rhythm and Price Exhaustion*. John Wiley and Sons.
- Person, J. L. (2004). *A Complete Guide to Technical Trading Tactics*. John Wiley and Sons.
- Wikipedia: [Pivot point (technical analysis)](https://en.wikipedia.org/wiki/Pivot_point_(technical_analysis))
- Wikipedia: [Pivot point (technical analysis)](https://en.wikipedia.org/wiki/Pivot_point_(technical_analysis))
+1 -3
View File
@@ -14,8 +14,6 @@
- Extended Traditional Pivot Points calculate eleven horizontal support and resistance levels from the previous bar's high, low, and close.
- No configurable parameters; computation is stateless per bar.
- Output range: Varies (see docs).
- Requires `2` bars of warmup before first valid output (IsHot = true).
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
Extended Traditional Pivot Points calculate eleven horizontal support and resistance levels from the previous bar's high, low, and close. The core levels (PP, R1-R3, S1-S3) are identical to classic floor trader pivots. The extension adds R4/R5 and S4/S5 levels that project further beyond the prior bar's range, covering extreme move scenarios such as gap opens, news-driven spikes, and trend continuation through multiple prior-range increments. The formula is pure arithmetic with zero parameters.
@@ -203,4 +201,4 @@ Mathematical correctness is validated by computing expected values from the exte
- Person, J. L. (2004). *A Complete Guide to Technical Trading Tactics: How to Profit Using Pivot Points, Candlesticks & Other Indicators*. John Wiley and Sons.
- Wikipedia: [Pivot point (technical analysis)](https://en.wikipedia.org/wiki/Pivot_point_(technical_analysis))
- TradingView: [Pivot Points Standard](https://www.tradingview.com/support/solutions/43000521824-pivot-points-standard/)
- Nison, S. (2001). *Japanese Candlestick Charting Techniques*. Prentice Hall Press. (Discussion of floor trader pivot methodology.)
- Nison, S. (2001). *Japanese Candlestick Charting Techniques*. Prentice Hall Press. (Discussion of floor trader pivot methodology.)
+1 -3
View File
@@ -14,8 +14,6 @@
- Fibonacci Pivot Points apply Fibonacci retracement ratios (38.2%, 61.8%, 100%) to the standard pivot point formula.
- No configurable parameters; computation is stateless per bar.
- Output range: Varies (see docs).
- Requires `2` bars of warmup before first valid output (IsHot = true).
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
## Overview
@@ -118,4 +116,4 @@ Excellent SIMD candidate — all 7 output levels are independent. BatchAll span
- **Outputs**: 7 (PP, R1, R2, R3, S1, S2, S3)
- **Input**: TBar (OHLCV)
- **Complexity**: O(1) per bar
- **Uses FMA**: `Math.FusedMultiplyAdd` for R1/S1/R2/S2 computations
- **Uses FMA**: `Math.FusedMultiplyAdd` for R1/S1/R2/S2 computations
+1 -3
View File
@@ -14,8 +14,6 @@
- Woodie's Pivot Points weight the closing price twice in the pivot calculation, biasing the central pivot toward where the market actually settled r...
- No configurable parameters; computation is stateless per bar.
- Output range: Varies (see docs).
- Requires `2` bars of warmup before first valid output (IsHot = true).
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
## Overview
@@ -138,4 +136,4 @@ Full vectorization possible. All output levels computed from previous-bar consta
- **Outputs**: 7 (PP, R1, R2, R3, S1, S2, S3)
- **Input**: TBar (OHLCV)
- **Complexity**: O(1) per bar
- **Uses FMA**: `Math.FusedMultiplyAdd` for R1, S1, R3, S3 computations
- **Uses FMA**: `Math.FusedMultiplyAdd` for R1, S1, R3, S3 computations
+2 -4
View File
@@ -13,9 +13,7 @@
| **PineScript** | [psar.pine](psar.pine) |
- The Parabolic Stop And Reverse (PSAR) is a trend-following overlay indicator created by J.
- Parameterized by `afStart` (default 0.02), `afIncrement` (default 0.02), `afMax` (default 0.20).
- Output range: Varies (see docs).
- Requires `1` bars of warmup before first valid output (IsHot = true).
- **Similar:** [Super](../../dynamics/super/Super.md), [Chandelier](../chandelier/Chandelier.md) | **Complementary:** ADX for trend confirmation | **Trading note:** Wilder's Parabolic SAR; trailing stop that accelerates. Dots flip on reversal. Classic trend-following exit.
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
## Introduction
@@ -157,4 +155,4 @@ Note: Different libraries may vary on first-bar initialization (close > open vs.
- Wilder, J. W. Jr. (1978). *New Concepts in Technical Trading Systems*. Trend Research. ISBN 978-0894590276.
- Kaufman, P. J. (2013). *Trading Systems and Methods*, 5th ed. Wiley. Chapter on Parabolic Time/Price System.
- StockCharts.com. "Parabolic SAR." ChartSchool Technical Indicators.
- StockCharts.com. "Parabolic SAR." ChartSchool Technical Indicators.
+1 -2
View File
@@ -16,7 +16,6 @@
- Sign-encoded output: positive = long (SAR below price), negative = short (SAR above price).
- Matches TA-Lib `TA_SAREXT` specification with 8 parameters.
- Auto-detects initial direction from Directional Movement when `startValue == 0`.
- Requires `2` bars of warmup before first valid output (IsHot = true).
- Validated against TA-Lib reference implementation.
## Introduction
@@ -173,4 +172,4 @@ SAREXT cannot be vectorized. The state machine has data-dependent branches (reve
- TA-Lib. "TA_SAREXT — SAR Extended." Open-source technical analysis library.
- Wilder, J. W. Jr. (1978). *New Concepts in Technical Trading Systems*. Trend Research. ISBN 978-0894590276.
- Kaufman, P. J. (2013). *Trading Systems and Methods*, 5th ed. Wiley.
- Kaufman, P. J. (2013). *Trading Systems and Methods*, 5th ed. Wiley.
+2 -4
View File
@@ -13,9 +13,7 @@
| **PineScript** | [swings.pine](swings.pine) |
- Swing High/Low detection identifies local price extremes using a configurable lookback window.
- Parameterized by `lookback` (default 5).
- Output range: Varies (see docs).
- Requires 1 bar of warmup before first valid output (IsHot = true).
- **Similar:** [Fractal](../../oscillators/fisher/Fisher.md), [ZigZag](../psar/Psar.md) | **Complementary:** Volume for confirmation | **Trading note:** Swing high/low detector; identifies pivots for support/resistance and chart pattern analysis.
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
Swing High/Low detection identifies local price extremes using a configurable lookback window. A Swing High marks a bar whose high strictly exceeds the highs of all bars within the lookback window on each side. A Swing Low marks a bar whose low is strictly less than all corresponding lows. The lookback parameter controls sensitivity: larger lookback windows require more confirmation and produce fewer, more significant signals. This generalizes Williams' fixed five-bar Fractals into a flexible structural analysis tool.
@@ -187,4 +185,4 @@ Mathematical correctness is verified by confirming that every reported SwingHigh
- Williams, B. M. (1995). *Trading Chaos: Applying Expert Techniques to Maximize Your Profits*. John Wiley and Sons.
- Gann, W. D. (1935). *New Stock Trend Detector*. Financial Guardian Publishing.
- TradingView PineScript Reference: [`ta.pivothigh()`](https://www.tradingview.com/pine-script-reference/v5/#fun_ta.pivothigh), [`ta.pivotlow()`](https://www.tradingview.com/pine-script-reference/v5/#fun_ta.pivotlow)
- TradingView PineScript Reference: [`ta.pivothigh()`](https://www.tradingview.com/pine-script-reference/v5/#fun_ta.pivothigh), [`ta.pivotlow()`](https://www.tradingview.com/pine-script-reference/v5/#fun_ta.pivotlow)
+2 -4
View File
@@ -13,9 +13,7 @@
| **PineScript** | [ttmscalper.pine](ttmscalper.pine) |
- John Carter designed TTM Scalper Alert for quick identification of potential reversal points using a simple three-bar pattern recognition.
- Parameterized by `usecloses` (default false).
- Output range: Varies (see docs).
- Requires 1 bar of warmup before first valid output (IsHot = true).
- **Similar:** [TTM_Trend](../../dynamics/ttm_trend/TtmTrend.md), [Super](../../dynamics/super/Super.md) | **Complementary:** TTM Squeeze | **Trading note:** John Carter's scalper; short-term reversal signals based on pivot analysis.
- Validated against TA-Lib, Skender, and Tulip reference implementations where available.
> **Pending Implementation** - Placeholder for John Carter's TTM Scalper Alert indicator
@@ -110,4 +108,4 @@ O(1) per bar. All state fits in two RingBuffers of size 3. Signal logic is a bra
| Signal comparison | Yes | Vector conditional-select for buy/sell |
| Output array fill | Yes | Branchless signal assignment |
Limited SIMD benefit due to 3-bar window size — setup cost exceeds savings. The comparison/signal phase is SIMD-friendly for batch output.
Limited SIMD benefit due to 3-bar window size — setup cost exceeds savings. The comparison/signal phase is SIMD-friendly for batch output.