Indicator

Indicator

Descriptive Statistics [Median, Quartiles, Outliers]This indicator seeks to provide insight to traders by modeling market structure using widely accepted statistical methods applied to price data. It does not predict direction; instead, it describes how current price behaves relative to its historical distribution.
It is built around non-parametric statistics, making it resistant to distortion from extreme price movements.
What it shows?
1. Median (Q2): The central equilibrium level of price distribution.
2. Quartiles (Q1, Q3): Boundaries of the “normal” trading range.
3. Interquartile Range (IQR): Measures the width of the core market structure.
4. Outlier Bands (1.5 × IQR rule): Statistical extremes where price becomes unusual relative to recent behavior.
How it works?
The indicator collects price data either through:
1. Reset Mode: Builds a new distribution each session (Daily, Weekly, Monthly, or chart timeframe).
2. Length Mode: Uses a rolling window of the last N candles.
All values are sorted to construct a real-time price distribution, from which median, quartiles, and outlier thresholds are derived.
How to use it?
1. Price inside Q1–Q3 range → normal market conditions
2. Price near Median → equilibrium / fair value zone
3. Price outside Outlier bands → statistically extreme conditions (potential exhaustion, expansion zones or news driven events)
4. Large expansions between Q1 and Q3 → increased volatility and potential momentum in either direction
Key concept?
This tool does not forecast price. It provides a distribution map of market behavior, helping traders understand structure, deviation, and statistical positioning of price.
⚠️ Note
This indicator is for educational and analytical purposes only and should not be used as standalone trading advice.
Author: TUGUME WILLIAM MUTARA Indicator

QuantFlow: Precision Momentum OscillatorQuantFlow: Precision Momentum Oscillator
█ The Institutional Engine Room
The QuantFlow: Precision Momentum Oscillator is a professional-grade predictive engine designed to serve as the "Engine Room" for your trading chart. While the main chart shows where price is relative to value, this oscillator analyzes the velocity, quality, and exhaustion of momentum, providing signals that often precede price movement.
█ Technical Core
Zero-Lag DEMA Engine: Uses a Double Exponential Moving Average (DEMA) to eliminate the lag common in standard oscillators. This ensures that midline crosses and color flips happen in real-time with price action.
MIDAS Volume Integration: Calculations are rooted in the same cumulative volume-weighting as the QuantFlow: Precision Fibonacci VWAP, ensuring the oscillator is measuring "Smart Money" momentum rather than just retail price movement.
Adaptive Sensitivity: Defaulted to 3, specifically optimized for high-volatility 15m assets like Bitcoin, providing the fastest possible reaction time.
█ Visual Intelligence System
Momentum Wave & Gradient: A high-contrast wave that flips between Fluor Green (Bullish) and Fluor Red (Bearish). The gradient density shows the "depth" of the current momentum.
Early Warning Sparks (✦): These sparkles trigger when momentum velocity shifts before price reaches the zero-line. They are your "Get Ready" signals for an upcoming trend change.
Exhaustion Divergences (●): Tiny circles that appear on the wave to signal high-probability reversals.
Green Circle: Hidden strength (Price lower low, Momentum higher low).
Red Circle: Hidden weakness (Price higher high, Momentum lower high).
Platinum Thresholds (0.618): Solid thin lines representing the "Point of No Return." Once momentum clears these levels, it has escaped the "Gravity" of the mean and is in a high-velocity trend.
█ Intelligence Dashboard (HUD)
The top-right dashboard provides a real-time statistical breakdown:
Momentum: The raw numerical power of the current move.
Velocity: Displays ACCEL (Accelerating) or DECEL (Decelerating) to show if a trend is gaining or losing steam.
Heat Index: Automatically flags the market as STABLE or EXTREME (when momentum hits the 0.618 Fibonacci level).
Volatility: A measured squeeze metric.
COILING (Amber): Momentum is compressed in a tight range; an explosive breakout is imminent.
EXPANDING (Green): The market is currently in an explosive expansion phase.
Status: The final validated trend state (BULLISH / BEARISH / STABLE).
█ Trading Manual
1. The Early Entry (The Spark)
Watch for the Predictive Spark (✦) to appear while the price is still near the outer bands on your main chart. This signals that the "engine" has already turned around, even if the "car" (price) hasn't moved yet.
2. The Trend Confirmation (The Gate)
Enter a trend-following trade once the oscillator wave crosses the Solid Platinum 0.618 line. This confirms the move has institutional volume behind it and is likely to reach the Level 6 (1.618) target.
3. The Reversal Confluence (The Perfect Exit)
Look for a Divergence Circle (●) to appear at the same time the main chart hits a Level 6 Sparkle (✦). This represents maximum statistical exhaustion and is the highest-probability point for a reversal or profit-taking.
4. The Squeeze Play
When the Dashboard shows Volatility: COILING, do not enter new trend trades. Wait for the status to flip to EXPANDING and follow the direction of the next VWAP Star (★) on the main chart.
* This indicator is intended for educational and informational purposes only and should not be considered financial advice. Trading involves significant risk, and you should consult with a financial advisor before making any trading decisions. The performance of this indicator is not guaranteed, and past results do not predict future performance. Use at your own risk.
QuantFlow Strategic Trading System: Unified Manual
█ Integrating Institutional Value with Momentum Velocity
The QuantFlow Suite is designed to work as a synchronized dual-layer system.
Link to Quantflow: Precision Fibonacci VWAP:
The Precision Fibonacci VWAP (Main Chart) defines the "Where" (Institutional Fair Value), while the Quantflow: Precision Momentum Oscillator (Sub-pane) defines the "When" (Velocity and Timing).
█ Phase 1: Identifying the Market Regime
Before entering any trade, use the Main Chart Candle Colors and the Oscillator Dashboard to determine the current regime:
Bullish Regime: Main Chart candles are Fluor Green. Oscillator is above the Midline.
Bearish Regime: Main Chart candles are Fluor Red. Oscillator is below the Midline.
Neutral/Coiling Regime: Main Chart candles are Grey. Oscillator Dashboard shows Volatility: COILING.
Strategy: In a Coiling regime, avoid new entries. The market is building energy for an explosive break. Wait for a VWAP Star (★) to signal the direction of the breakout.
█ Phase 2: The Three Strategic Setups
Setup 1: The "Institutional Launch" (Trend Following)
This setup captures the meat of a new trend just as it gains institutional speed.
Main Chart: Look for a Bullish/Bearish Star (★) as price reclaims or loses the VWAP line.
Oscillator: Ensure momentum is crossing the 0.618 Platinum Gate.
Confirmation: Main chart candles must flip to Fluor Green/Red.
Target: The Fibonacci Level 5 (1.0) or Level 6 (1.618) bands on the main chart.
Setup 2: The "Perfect Exhaustion" (Mean Reversion)
This setup identifies the exact mathematical top or bottom of a move.
Main Chart: Price pierces the Level 6 (1.618) Fibonacci Band, triggering a Sparkle (✦) marker.
Oscillator: A Divergence Circle (●) appears (Green for long, Red for short), showing that momentum is dying while price is at an extreme.
Dashboard Check: The Reversion Prob should be >99% on the main chart table.
Entry: Wait for the first candle to turn Grey (Loss of momentum) or a Predictive Spark (✦) to appear on the oscillator in the opposite direction.
Setup 3: The "Early Spark" (The Scalper’s Lead)
This setup is for aggressive traders looking to enter before the VWAP break.
Oscillator: A Predictive Spark (✦) appears while the main chart is still near an outer Fibonacci band.
Momentum Check: Look at the Velocity on the dashboard. It should flip from DECEL to ACCEL in your trade direction.
The Play: Anticipate the price returning to the VWAP (The Zero Line). If price breaks the VWAP, you can hold for a full trend reversal.
█ Phase 3: Risk Management & Trailing
The Stop-Loss: In a trend trade, your primary "Hard Stop" should be the VWAP Line itself. If price crosses back over the VWAP and triggers an opposite-colored Star (★), the institutional thesis is invalidated.
The Trailing Stop: Use the Fibonacci Level 1 or 2 bands (The Range boundaries) to trail your stop-loss as the trend develops.
Profit Taking: Always take partial profits when the Heat Index on the oscillator dashboard reaches EXTREME. This tells you the "easy money" part of the move is over.
█ The "QuantFlow" Golden Rule
Never trade against the "Double Signal":
If the Main Chart is Fluor Red but the Oscillator shows a Bullish Spark (✦), do not short. You are at a statistical bottom.
If the Main Chart is Fluor Green but the Oscillator shows a Bearish Divergence (●), do not go long. You are at a statistical top.
Wait for the confluence of both "Alpha" (Price) and "Flow" (Momentum) for the highest-probability results.
* This indicator is intended for educational and informational purposes only and should not be considered financial advice. Trading involves significant risk, and you should consult with a financial advisor before making any trading decisions. The performance of this indicator is not guaranteed, and past results do not predict future performance. Use at your own risk. Indicator

Indicator

Gott's Copernican Trend PredictorThe Gott's Copernican Trend Predictor predicts trend duration using the Copernican Principle - Based on astrophysicist Richard Gott's temporal prediction method.
I had the idea to create this indicator after reading the book The Doomsday Calculation by William Poundstone.
Background & Theory
This indicator implements J. Richard Gott III's Copernican Principle - a statistical method that famously predicted the fall of the Berlin Wall and the duration of Broadway shows with remarkable accuracy.
The Copernican Principle Explained
Named after Copernicus who showed that Earth is not at the center of the universe, this principle assumes that you are not observing something at a special moment in time. When you observe a trend at any random point, you're statistically more likely to be seeing it during the "middle portion" of its lifetime rather than at its very beginning or end.
The Mathematics
Gott's formula provides a 95% confidence interval for how much longer a trend will continue:
Minimum remaining duration = Current Age ÷ 39
Maximum remaining duration = Current Age × 39
The factor of 39 comes from statistical analysis where:
There's only a 2.5% chance you're observing in the first 1/40th of the trend's life
There's only a 2.5% chance you're observing in the last 1/40th of the trend's life
This gives us 95% confidence that the trend will last between Age/39 and Age×39
How It Works
Trend Detection
The indicator uses dual moving averages (default: 50 & 200 period) to identify trend changes:
Bullish Cross: Fast MA crosses above Slow MA → Uptrend begins
Bearish Cross: Fast MA crosses below Slow MA → Downtrend begins
Real-Time Predictions
Once a trend is detected, the indicator continuously calculates:
Trend Age: How long the current trend has been active
Gott's 95% CI: Statistical range for remaining trend duration
Projected End Dates: Calendar dates when the trend might end
How to Use
Setup
Add the indicator to any timeframe (works on minutes, hours, days, weeks)
Customize MA periods and type (SMA, EMA, WMA)
Choose table position and font size for optimal viewing
Interpretation
Example: If a trend is 100 hours old:
Minimum duration: 100 ÷ 39 = ~3 more hours
Maximum duration: 100 × 39 = ~3,900 more hours
95% confidence: The trend will end between these times
This indicator might be useful for swing traders, trend followers, and quantitative analysts.
Coca-Cola example:
Coca-Cola's chart shows an uptrend spanning 810 weeks, approximately 15.5 years. According to Gott's Copernican Principle, this trend age generates a 95% confidence interval predicting the trend will continue for a minimum of 20 weeks and a maximum of 31,590 weeks.
On the other hand, a shorter trend age produces a proportionally smaller minimum duration and different risk profile in terms of statistical continuation probability. For this reason, more recent trends (and more recent companies) are likely to remain in trend for shorter. Indicator

StatPivot- Dynamic Range Analyzer - indicator [PresentTrading]Hello everyone! In the following few open scripts, I would like to share various statistical tools that benefit trading. For this time, it is a powerful indicator called StatPivot- Dynamic Range Analyzer that brings a whole new dimension to your technical analysis toolkit.
This tool goes beyond traditional pivot point analysis by providing comprehensive statistical insights about price movements, helping you identify high-probability trading opportunities based on historical data patterns rather than subjective interpretations. Whether you're a day trader, swing trader, or position trader, StatPivot's real-time percentile rankings give you a statistical edge in understanding exactly where current price action stands within historical contexts.
Welcome to share your opinions! Looking forward to sharing the next tool soon!
█ Introduction and How it is Different
StatPivot is an advanced technical analysis tool that revolutionizes retracement analysis. Unlike traditional pivot indicators that only show static support/resistance levels, StatPivot delivers dynamic statistical insights based on historical pivot patterns.
Its key innovation is real-time percentile calculation - while conventional tools require new pivot formations before updating (often too late for trading decisions), StatPivot continuously analyzes where current price stands within historical retracement distributions.
Furthermore, StatPivot provides comprehensive statistical metrics including mean, median, standard deviation, and percentile distributions of price movements, giving traders a probabilistic edge by revealing which price levels represent statistically significant zones for potential reversals or continuations. By transforming raw price data into statistical insights, StatPivot helps traders move beyond subjective price analysis to evidence-based decision making.
█ Strategy, How it Works: Detailed Explanation
🔶 Pivot Point Detection and Analysis
The core of StatPivot's functionality begins with identifying significant pivot points in the price structure. Using the parameters left and right, the indicator locates pivot highs and lows by examining a specified number of bars to the left and right of each potential pivot point:
Copyp_low = ta.pivotlow(low, left, right)
p_high = ta.pivothigh(high, left, right)
For a point to qualify as a pivot low, it must have left higher lows to its left and right higher lows to its right. Similarly, a pivot high must have left lower highs to its left and right lower highs to its right. This approach ensures that only significant turning points are recognized.
🔶 Percentage Change Calculation
Once pivot points are identified, StatPivot calculates the percentage changes between consecutive pivot points:
For drops (when a pivot low is lower than the previous pivot low):
CopydropPercent = (previous_pivot_low - current_pivot_low) / previous_pivot_low * 100
For rises (when a pivot high is higher than the previous pivot high):
CopyrisePercent = (current_pivot_high - previous_pivot_high) / previous_pivot_high * 100
These calculations quantify the magnitude of each market swing, allowing for statistical analysis of historical price movements.
🔶 Statistical Distribution Analysis
StatPivot computes comprehensive statistics on the historical distribution of drops and rises:
Average (Mean): The arithmetic mean of all recorded percentage changes
CopyavgDrop = array.avg(dropValues)
Median: The middle value when all percentage changes are arranged in order
CopymedianDrop = array.median(dropValues)
Standard Deviation: Measures the dispersion of percentage changes from the average
CopystdDevDrop = array.stdev(dropValues)
Percentiles (25th, 75th): Values below which 25% and 75% of observations fall
Copyq1 = array.get(sorted, math.floor(cnt * 0.25))
q3 = array.get(sorted, math.floor(cnt * 0.75))
VaR95: The maximum expected percentage drop with 95% confidence
Copyvar95D = array.get(sortedD, math.floor(nD * 0.95))
Coefficient of Variation (CV): Measures relative variability
CopycvD = stdDevDrop / avgDrop
These statistics provide a comprehensive view of market behavior, enabling traders to understand the typical ranges and extreme moves.
🔶 Real-time Percentile Ranking
StatPivot's most innovative feature is its real-time percentile calculation. For each current price, it calculates:
The percentage drop from the latest pivot high:
CopycurrentDropPct = (latestPivotHigh - close) / latestPivotHigh * 100
The percentage rise from the latest pivot low:
CopycurrentRisePct = (close - latestPivotLow) / latestPivotLow * 100
The percentile ranks of these values within the historical distribution:
CopyrealtimeDropRank = (count of historical drops <= currentDropPct) / total drops * 100
This calculation reveals exactly where the current price movement stands in relation to all historical movements, providing crucial context for decision-making.
🔶 Cluster Analysis
To identify the most common retracement zones, StatPivot performs a cluster analysis by dividing the range of historical drops into five equal intervals:
CopyrangeSize = maxVal - minVal
For each interval boundary:
Copyboundaries = minVal + rangeSize * i / 5
By counting the number of observations in each interval, the indicator identifies the most frequently occurring retracement zones, which often serve as significant support or resistance areas.
🔶 Expected Price Targets
Using the statistical data, StatPivot calculates expected price targets:
CopytargetBuyPrice = close * (1 - avgDrop / 100)
targetSellPrice = close * (1 + avgRise / 100)
These targets represent statistically probable price levels for potential entries and exits based on the average historical behavior of the market.
█ Trade Direction
StatPivot functions as an analytical tool rather than a direct trading signal generator, providing statistical insights that can be applied to various trading strategies. However, the data it generates can be interpreted for different trade directions:
For Long Trades:
Entry considerations: Look for price drops that reach the 70-80th percentile range in the historical distribution, suggesting a statistically significant retracement
Target setting: Use the Expected Sell price or consider the average rise percentage as a reasonable target
Risk management: Set stop losses below recent pivot lows or at a distance related to the statistical volatility (standard deviation)
For Short Trades:
Entry considerations: Look for price rises that reach the 70-80th percentile range, indicating an unusual extension
Target setting: Use the Expected Buy price or average drop percentage as a target
Risk management: Set stop losses above recent pivot highs or based on statistical measures of volatility
For Range Trading:
Use the most common drop and rise clusters to identify probable reversal zones
Trade bounces between these statistically significant levels
For Trend Following:
Confirm trend strength by analyzing consecutive higher pivot lows (uptrend) or lower pivot highs (downtrend)
Use lower percentile retracements (20-30th percentile) as entry opportunities in established trends
█ Usage
StatPivot offers multiple ways to integrate its statistical insights into your trading workflow:
Statistical Table Analysis: Review the comprehensive statistics displayed in the data table to understand the market's behavior. Pay particular attention to:
Average drop and rise percentages to set reasonable expectations
Standard deviation to gauge volatility
VaR95 for risk assessment
Real-time Percentile Monitoring: Watch the real-time percentile display to see where the current price movement stands within the historical distribution. This can help identify:
Extreme movements (90th+ percentile) that might indicate reversal opportunities
Typical retracements (40-60th percentile) that might continue further
Shallow pullbacks (10-30th percentile) that might represent continuation opportunities in trends
Support and Resistance Identification: Utilize the plotted pivot points as key support and resistance levels, especially when they align with statistically significant percentile ranges.
Target Price Setting: Use the expected buy and sell prices calculated from historical averages as initial targets for your trades.
Risk Management: Apply the statistical measurements like standard deviation and VaR95 to set appropriate stop loss levels that account for the market's historical volatility.
Pattern Recognition: Over time, learn to recognize when certain percentile levels consistently lead to reversals or continuations in your specific market, and develop personalized strategies based on these observations.
█ Default Settings
The default settings of StatPivot have been carefully calibrated to provide reliable statistical analysis across a variety of markets and timeframes, but understanding their effects allows for optimal customization:
Left Bars (30) and Right Bars (30): These parameters determine how pivot points are identified. With both set to 30 by default:
A pivot low must be the lowest point among 30 bars to its left and 30 bars to its right
A pivot high must be the highest point among 30 bars to its left and 30 bars to its right
Effect on performance: Larger values create fewer but more significant pivot points, reducing noise but potentially missing important market structures. Smaller values generate more pivot points, capturing more nuanced movements but potentially including noise.
Table Position (Top Right): Determines where the statistical data table appears on the chart.
Effect on performance: No impact on analytical performance, purely a visual preference.
Show Distribution Histogram (False): Controls whether the distribution histogram of drop percentages is displayed.
Effect on performance: Enabling this provides visual insight into the distribution of retracements but can clutter the chart.
Show Real-time Percentile (True): Toggles the display of real-time percentile rankings.
Effect on performance: A critical setting that enables the dynamic analysis of current price movements. Disabling this removes one of the key advantages of the indicator.
Real-time Percentile Display Mode (Label): Chooses between label display or indicator line for percentile rankings.
Effect on performance: Labels provide precise information at the current price point, while indicator lines show the evolution of percentile rankings over time.
Advanced Considerations for Settings Optimization:
Timeframe Adjustment: Higher timeframes generally benefit from larger Left/Right values to identify truly significant pivots, while lower timeframes may require smaller values to capture shorter-term swings.
Volatility-Based Tuning: In highly volatile markets, consider increasing the Left/Right values to filter out noise. In less volatile conditions, lower values can help identify more potential entry and exit points.
Market-Specific Optimization: Different markets (forex, stocks, commodities) display different retracement patterns. Monitor the statistics table to see if your market typically shows larger or smaller retracements than the current settings are optimized for.
Trading Style Alignment: Adjust the settings to match your trading timeframe. Day traders might prefer settings that identify shorter-term pivots (smaller Left/Right values), while swing traders benefit from more significant pivots (larger Left/Right values).
By understanding how these settings affect the analysis and customizing them to your specific market and trading style, you can maximize the effectiveness of StatPivot as a powerful statistical tool for identifying high-probability trading opportunities. Indicator

GaussianDistributionLibrary "GaussianDistribution"
This library defines a custom type `distr` representing a Gaussian (or other statistical) distribution.
It provides methods to calculate key statistical moments and scores, including mean, median, mode, standard deviation, variance, skewness, kurtosis, and Z-scores.
This library is useful for analyzing probability distributions in financial data.
Disclaimer:
I am not a mathematician, but I have implemented this library to the best of my understanding and capacity. Please be indulgent as I tried to translate statistical concepts into code as accurately as possible. Feedback, suggestions, and corrections are welcome to improve the reliability and robustness of this library.
mean(source, length)
Calculate the mean (average) of the distribution
Parameters:
source (float) : Distribution source (typically a price or indicator series)
length (int) : Window length for the distribution (must be >= 30 for meaningful statistics)
Returns: Mean (μ)
stdev(source, length)
Calculate the standard deviation (σ) of the distribution
Parameters:
source (float) : Distribution source (typically a price or indicator series)
length (int) : Window length for the distribution (must be >= 30 for meaningful statistics)
Returns: Standard deviation (σ)
skewness(source, length, mean, stdev)
Calculate the skewness (γ₁) of the distribution
Parameters:
source (float) : Distribution source (typically a price or indicator series)
length (int) : Window length for the distribution (must be >= 30 for meaningful statistics)
mean (float) : the mean (average) of the distribution
stdev (float) : the standard deviation (σ) of the distribution
@return Skewness (γ₁)
skewness(source, length)
Overloaded skewness to calculate from source and length
Parameters:
source (float) : Distribution source (typically a price or indicator series)
length (int) : Window length for the distribution (must be >= 30 for meaningful statistics)
@return Skewness (γ₁)
mode(mean, stdev, skewness)
Estimate mode - Most frequent value in the distribution (approximation based on skewness)
Parameters:
mean (float) : the mean (average) of the distribution
stdev (float) : the standard deviation (σ) of the distribution
skewness (float) : the skewness (γ₁) of the distribution
@return Mode
mode(source, length)
Overloaded mode to calculate from source and length
Parameters:
source (float) : Distribution source (typically a price or indicator series)
length (int) : Window length for the distribution (must be >= 30 for meaningful statistics)
@return Mode
median(mean, stdev, skewness)
Estimate median - Middle value of the distribution (approximation)
Parameters:
mean (float) : the mean (average) of the distribution
stdev (float) : the standard deviation (σ) of the distribution
skewness (float) : the skewness (γ₁) of the distribution
@return Median
median(source, length)
Overloaded median to calculate from source and length
Parameters:
source (float) : Distribution source (typically a price or indicator series)
length (int) : Window length for the distribution (must be >= 30 for meaningful statistics)
@return Median
variance(stdev)
Calculate variance (σ²) - Square of the standard deviation
Parameters:
stdev (float) : the standard deviation (σ) of the distribution
@return Variance (σ²)
variance(source, length)
Overloaded variance to calculate from source and length
Parameters:
source (float) : Distribution source (typically a price or indicator series)
length (int) : Window length for the distribution (must be >= 30 for meaningful statistics)
@return Variance (σ²)
kurtosis(source, length, mean, stdev)
Calculate kurtosis (γ₂) - Degree of "tailedness" in the distribution
Parameters:
source (float) : Distribution source (typically a price or indicator series)
length (int) : Window length for the distribution (must be >= 30 for meaningful statistics)
mean (float) : the mean (average) of the distribution
stdev (float) : the standard deviation (σ) of the distribution
@return Kurtosis (γ₂)
kurtosis(source, length)
Overloaded kurtosis to calculate from source and length
Parameters:
source (float) : Distribution source (typically a price or indicator series)
length (int) : Window length for the distribution (must be >= 30 for meaningful statistics)
@return Kurtosis (γ₂)
normal_score(source, mean, stdev)
Calculate Z-score (standard score) assuming a normal distribution
Parameters:
source (float) : Distribution source (typically a price or indicator series)
mean (float) : the mean (average) of the distribution
stdev (float) : the standard deviation (σ) of the distribution
@return Z-Score
normal_score(source, length)
Overloaded normal_score to calculate from source and length
Parameters:
source (float) : Distribution source (typically a price or indicator series)
length (int) : Window length for the distribution (must be >= 30 for meaningful statistics)
@return Z-Score
non_normal_score(source, mean, stdev, skewness, kurtosis)
Calculate adjusted Z-score considering skewness and kurtosis
Parameters:
source (float) : Distribution source (typically a price or indicator series)
mean (float) : the mean (average) of the distribution
stdev (float) : the standard deviation (σ) of the distribution
skewness (float) : the skewness (γ₁) of the distribution
kurtosis (float) : the "tailedness" in the distribution
@return Z-Score
non_normal_score(source, length)
Overloaded non_normal_score to calculate from source and length
Parameters:
source (float) : Distribution source (typically a price or indicator series)
length (int) : Window length for the distribution (must be >= 30 for meaningful statistics)
@return Z-Score
method init(this)
Initialize all statistical fields of the `distr` type
Namespace types: distr
Parameters:
this (distr)
method init(this, source, length)
Overloaded initializer to set source and length
Namespace types: distr
Parameters:
this (distr)
source (float)
length (int)
distr
Custom type to represent a Gaussian distribution
Fields:
source (series float) : Distribution source (typically a price or indicator series)
length (series int) : Window length for the distribution (must be >= 30 for meaningful statistics)
mode (series float) : Most frequent value in the distribution
median (series float) : Middle value separating the greater and lesser halves of the distribution
mean (series float) : μ (1st central moment) - Average of the distribution
stdev (series float) : σ or standard deviation (square root of the variance) - Measure of dispersion
variance (series float) : σ² (2nd central moment) - Squared standard deviation
skewness (series float) : γ₁ (3rd central moment) - Asymmetry of the distribution
kurtosis (series float) : γ₂ (4th central moment) - Degree of "tailedness" relative to a normal distribution
normal_score (series float) : Z-score assuming normal distribution
non_normal_score (series float) : Adjusted Z-score considering skewness and kurtosis Library
