Kripto
Bitcoin Power Law OscillatorThis is the oscillator version of the script. The main body of the script can be found here.
Understanding the Bitcoin Power Law Model
Also called the Long-Term Bitcoin Power Law Model. The Bitcoin Power Law model tries to capture and predict Bitcoin's price growth over time. It assumes that Bitcoin's price follows an exponential growth pattern, where the price increases over time according to a mathematical relationship.
By fitting a power law to historical data, the model creates a trend line that represents this growth. It then generates additional parallel lines (support and resistance lines) to show potential price boundaries, helping to visualize where Bitcoin’s price could move within certain ranges.
In simple terms, the model helps us understand Bitcoin's general growth trajectory and provides a framework to visualize how its price could behave over the long term.
The Bitcoin Power Law has the following function:
Power Law = 10^(a + b * log10(d))
Consisting of the following parameters:
a: Power Law Intercept (default: -17.668).
b: Power Law Slope (default: 5.926).
d: Number of days since a reference point(calculated by counting bars from the reference point with an offset).
Explanation of the a and b parameters:
Roughly explained, the optimal values for the a and b parameters are determined through a process of linear regression on a log-log scale (after applying a logarithmic transformation to both the x and y axes). On this log-log scale, the power law relationship becomes linear, making it possible to apply linear regression. The best fit for the regression is then evaluated using metrics like the R-squared value, residual error analysis, and visual inspection. This process can be quite complex and is beyond the scope of this post.
Applying vertical shifts to generate the other lines:
Once the initial power-law is created, additional lines are generated by applying a vertical shift. This shift is achieved by adding a specific number of days (or years in case of this script) to the d-parameter. This creates new lines perfectly parallel to the initial power law with an added vertical shift, maintaining the same slope and intercept.
In the case of this script, shifts are made by adding +365 days, +2 * 365 days, +3 * 365 days, +4 * 365 days, and +5 * 365 days, effectively introducing one to five years of shifts. This results in a total of six Power Law lines, as outlined below (From lowest to highest):
Base Power Law Line (no shift)
1-year shifted line
2-year shifted line
3-year shifted line
4-year shifted line
5-year shifted line
The six power law lines:
Bitcoin Power Law Oscillator
This publication also includes the oscillator version of the Bitcoin Power Law. This version applies a logarithmic transformation to the price, Base Power Law Line, and 5-year shifted line using the formula: log10(x) .
The log-transformed price is then normalized using min-max normalization relative to the log-transformed Base Power Law Line and 5-year shifted line with the formula:
normalized price = log(close) - log(Base Power Law Line) / log(5-year shifted line) - log(Base Power Law Line)
Finally, the normalized price was multiplied by 5 to map its value between 0 and 5, aligning with the shifted lines.
Interpretation of the Bitcoin Power Law Model:
The shifted Power Law lines provide a framework for predicting Bitcoin's future price movements based on historical trends. These lines are created by applying a vertical shift to the initial Power Law line, with each shifted line representing a future time frame (e.g., 1 year, 2 years, 3 years, etc.).
By analyzing these shifted lines, users can make predictions about minimum price levels at specific future dates. For example, the 5-year shifted line will act as the main support level for Bitcoin’s price in 5 years, meaning that Bitcoin’s price should not fall below this line, ensuring that Bitcoin will be valued at least at this level by that time. Similarly, the 2-year shifted line will serve as the support line for Bitcoin's price in 2 years, establishing that the price should not drop below this line within that time frame.
On the other hand, the 5-year shifted line also functions as an absolute resistance , meaning Bitcoin's price will not exceed this line prior to the 5-year mark. This provides a prediction that Bitcoin cannot reach certain price levels before a specific date. For example, the price of Bitcoin is unlikely to reach $100,000 before 2021, and it will not exceed this price before the 5-year shifted line becomes relevant. After 2028, however, the price is predicted to never fall below $100,000, thanks to the support established by the shifted lines.
In essence, the shifted Power Law lines offer a way to predict both the minimum price levels that Bitcoin will hit by certain dates and the earliest dates by which certain price points will be reached. These lines help frame Bitcoin's potential future price range, offering insight into long-term price behavior and providing a guide for investors and analysts. Lets examine some examples:
Example 1:
In Example 1 it can be seen that point A on the 5-year shifted line acts as major resistance . Also it can be seen that 5 years later this price level now corresponds to the Base Power Law Line and acts as a major support at point B(Note: Vertical yearly grid lines have been added for this purpose👍).
Example 2:
In Example 2, the price level at point C on the 3-year shifted line becomes a major support three years later at point D, now aligning with the Base Power Law Line.
Finally, let's explore some future price predictions, as this script provides projections on the weekly timeframe :
Example 3:
In Example 3, the Bitcoin Power Law indicates that Bitcoin's price cannot surpass approximately $808K before 2030 as can be seen at point E, while also ensuring it will be at least $224K by then (point F).
Bitcoin Power LawThis is the main body version of the script. The Oscillator version can be found here.
Understanding the Bitcoin Power Law Model
Also called the Long-Term Bitcoin Power Law Model. The Bitcoin Power Law model tries to capture and predict Bitcoin's price growth over time. It assumes that Bitcoin's price follows an exponential growth pattern, where the price increases over time according to a mathematical relationship.
By fitting a power law to historical data, the model creates a trend line that represents this growth. It then generates additional parallel lines (support and resistance lines) to show potential price boundaries, helping to visualize where Bitcoin’s price could move within certain ranges.
In simple terms, the model helps us understand Bitcoin's general growth trajectory and provides a framework to visualize how its price could behave over the long term.
The Bitcoin Power Law has the following function:
Power Law = 10^(a + b * log10(d))
Consisting of the following parameters:
a: Power Law Intercept (default: -17.668).
b: Power Law Slope (default: 5.926).
d: Number of days since a reference point(calculated by counting bars from the reference point with an offset).
Explanation of the a and b parameters:
Roughly explained, the optimal values for the a and b parameters are determined through a process of linear regression on a log-log scale (after applying a logarithmic transformation to both the x and y axes). On this log-log scale, the power law relationship becomes linear, making it possible to apply linear regression. The best fit for the regression is then evaluated using metrics like the R-squared value, residual error analysis, and visual inspection. This process can be quite complex and is beyond the scope of this post.
Applying vertical shifts to generate the other lines:
Once the initial power-law is created, additional lines are generated by applying a vertical shift. This shift is achieved by adding a specific number of days (or years in case of this script) to the d-parameter. This creates new lines perfectly parallel to the initial power law with an added vertical shift, maintaining the same slope and intercept.
In the case of this script, shifts are made by adding +365 days, +2 * 365 days, +3 * 365 days, +4 * 365 days, and +5 * 365 days, effectively introducing one to five years of shifts. This results in a total of six Power Law lines, as outlined below (From lowest to highest):
Base Power Law Line (no shift)
1-year shifted line
2-year shifted line
3-year shifted line
4-year shifted line
5-year shifted line
The six power law lines:
Bitcoin Power Law Oscillator
This publication also includes the oscillator version of the Bitcoin Power Law. This version applies a logarithmic transformation to the price, Base Power Law Line, and 5-year shifted line using the formula: log10(x) .
The log-transformed price is then normalized using min-max normalization relative to the log-transformed Base Power Law Line and 5-year shifted line with the formula:
normalized price = log(close) - log(Base Power Law Line) / log(5-year shifted line) - log(Base Power Law Line)
Finally, the normalized price was multiplied by 5 to map its value between 0 and 5, aligning with the shifted lines.
Interpretation of the Bitcoin Power Law Model:
The shifted Power Law lines provide a framework for predicting Bitcoin's future price movements based on historical trends. These lines are created by applying a vertical shift to the initial Power Law line, with each shifted line representing a future time frame (e.g., 1 year, 2 years, 3 years, etc.).
By analyzing these shifted lines, users can make predictions about minimum price levels at specific future dates. For example, the 5-year shifted line will act as the main support level for Bitcoin’s price in 5 years, meaning that Bitcoin’s price should not fall below this line, ensuring that Bitcoin will be valued at least at this level by that time. Similarly, the 2-year shifted line will serve as the support line for Bitcoin's price in 2 years, establishing that the price should not drop below this line within that time frame.
On the other hand, the 5-year shifted line also functions as an absolute resistance , meaning Bitcoin's price will not exceed this line prior to the 5-year mark. This provides a prediction that Bitcoin cannot reach certain price levels before a specific date. For example, the price of Bitcoin is unlikely to reach $100,000 before 2021, and it will not exceed this price before the 5-year shifted line becomes relevant. After 2028, however, the price is predicted to never fall below $100,000, thanks to the support established by the shifted lines.
In essence, the shifted Power Law lines offer a way to predict both the minimum price levels that Bitcoin will hit by certain dates and the earliest dates by which certain price points will be reached. These lines help frame Bitcoin's potential future price range, offering insight into long-term price behavior and providing a guide for investors and analysts. Lets examine some examples:
Example 1:
In Example 1 it can be seen that point A on the 5-year shifted line acts as major resistance . Also it can be seen that 5 years later this price level now corresponds to the Base Power Law Line and acts as a major support at point B (Note: Vertical yearly grid lines have been added for this purpose👍).
Example 2:
In Example 2, the price level at point C on the 3-year shifted line becomes a major support three years later at point D, now aligning with the Base Power Law Line.
Finally, let's explore some future price predictions, as this script provides projections on the weekly timeframe :
Example 3:
In Example 3, the Bitcoin Power Law indicates that Bitcoin's price cannot surpass approximately $808K before 2030 as can be seen at point E, while also ensuring it will be at least $224K by then (point F).
Parabolic RSI Strategy [ChartPrime × PineIndicators]This strategy combines the strengths of the Relative Strength Index (RSI) with a Parabolic SAR logic applied directly to RSI values.
Full credit to ChartPrime for the original concept and indicator, licensed under the MPL 2.0.
It provides clear momentum-based trade signals using an innovative method that tracks RSI trend reversals via a customized Parabolic SAR, enhancing traditional oscillator strategies with dynamic trend confirmation.
How It Works
The system overlays a Parabolic SAR on the RSI, detecting trend shifts in RSI itself rather than on price, offering early reversal insight with visual and algorithmic clarity.
Core Components
1. RSI-Based Trend Detection
Calculates RSI using a customizable length (default: 14).
Uses upper and lower thresholds (default: 70/30) for overbought/oversold zones.
2. Parabolic SAR Applied to RSI
A custom Parabolic SAR function tracks momentum within the RSI, not price.
This allows the system to capture RSI trend reversals more responsively.
Configurable SAR parameters: Start, Increment, and Maximum acceleration.
3. Signal Generation
Long Entry: Triggered when the SAR flips below the RSI line.
Short Entry: Triggered when the SAR flips above the RSI line.
Optional RSI filter ensures that:
Long entries only occur above a minimum RSI (e.g. 50).
Short entries only occur below a maximum RSI.
Built-in logic prevents new positions from being opened against trend without prior exit.
Trade Modes & Controls
Choose from:
Long Only
Short Only
Long & Short
Optional setting to reverse positions on opposite signal (instead of waiting for a flat close).
Visual Features
1. RSI Plotting with Thresholds
RSI is displayed in a dedicated pane with overbought/oversold fill zones.
Custom horizontal lines mark threshold boundaries.
2. Parabolic SAR Overlay on RSI
SAR dots color-coded for trend direction.
Visible only when enabled by user input.
3. Entry & Exit Markers
Diamonds: Mark entry points (above for shorts, below for longs).
Crosses: Mark exit points.
Strategy Strengths
Provides early momentum reversal entries without relying on price candles.
Combines oscillator and trend logic without repainting.
Works well in both trending and mean-reverting markets.
Easy to configure with fine-tuned filter options.
Recommended Use Cases
Intraday or swing traders who want to catch RSI-based reversals early.
Traders seeking smoother signals than price-based Parabolic SAR entries.
Users of RSI looking to reduce false positives via trend tracking.
Customization Options
RSI Length and Thresholds.
SAR Start, Increment, and Maximum values.
Trade Direction Mode (Long, Short, Both).
Optional RSI filter and reverse-on-signal settings.
SAR dot color customization.
Conclusion
The Parabolic RSI Strategy is an innovative, non-repainting momentum strategy that enhances RSI-based systems with trend-confirming logic using Parabolic SAR. By applying SAR logic to RSI values, this strategy offers early, visualized, and filtered entries and exits that adapt to market dynamics.
Credit to ChartPrime for the original methodology, published under MPL-2.0.
Multi-Indicator Swing [TIAMATCRYPTO]v6# Strategy Description:
## Multi-Indicator Swing
This strategy is designed for swing trading across various markets by combining multiple technical indicators to identify high-probability trading opportunities. The system focuses on trend strength confirmation and volume analysis to generate precise entry and exit signals.
### Core Components:
- **Supertrend Indicator**: Acts as the primary trend direction filter with optimized settings (Factor: 3.0, ATR Period: 10) to balance responsiveness and reliability.
- **ADX (Average Directional Index)**: Confirms the strength of the prevailing trend, filtering out sideways or choppy market conditions where the strategy avoids taking positions.
- **Liquidity Delta**: A volume-based indicator that analyzes buying and selling pressure imbalances to validate trend direction and potential reversals.
- **PSAR (Optional)**: Can be enabled to add additional confirmation for trend changes, turned off by default to reduce signal filtering.
### Key Features:
- **Flexible Direction Trading**: Choose between long-only, short-only, or bidirectional trading to adapt to market conditions or account restrictions.
- **Conservative Risk Management**: Implements fixed percentage-based stop losses (default 2%) and take profits (default 4%) for a positive risk-reward ratio.
- **Realistic Backtesting Parameters**: Includes commission (0.1%) and slippage (2 points) to reflect real-world trading conditions.
- **Visual Signals**: Clear buy/sell arrows with customizable sizes for easy identification on the chart.
- **Information Panel**: Dynamic display showing active indicators and current risk settings.
### Best Used On:
Daily timeframes for cryptocurrencies, forex, or stock indices. The strategy performs optimally on assets with clear trending behavior and sufficient volatility.
### Default Settings:
Optimized for conservative position sizing (5% of equity per trade) with an initial capital of $10,000. The backtesting period (2021-2023) provides a statistically significant sample of varied market conditions.
Bitcoin Weekend FadeThis indicator is a tool for setting a bias based on weekend price movements, with the assumption that the crypto market often experiences stronger moves over the weekend due to thinner order books. It helps identify potential fade opportunities, suggesting that price movements from Saturday and Sunday may reverse during the weekdays.
How to use:
Sets a bias based on weekend price action.
Sets a bias based on weekend price action.
Use weekday price action for confirmation before acting on the bias.
Best suited for range-bound markets, where the price tends to revert to the mean.
Avoid fading high-timeframe breakouts, as they often indicate strong trends.
SwingTrade VWAP Strategy[TiamatCrypto]V1.1This Pine Script® code creates a trading strategy called "SwingTrade VWAP Strategy V1.1." This strategy incorporates various trading tools, such as VWAP (Volume Weighted Average Price), ADX (Average Directional Index), and volume signals. Below is an explanation of the components and logic within the script:
### Overview of Features
- **VWAP:** A volume-weighted moving average that assesses price trends relative to the VWAP level.
- **ADX:** A trend strength indicator that helps confirm the strength of bullish or bearish trends.
- **Volume Analysis:** Leverages volume data to gauge momentum and identify volume-weighted buy/sell conditions.
- **Dynamic Entry/Exit Signals:** Combines the above indicators to produce actionable buy/sell or exit signals.
- **Customizable Inputs:** Inputs for tuning parameters like VWAP period, ADX thresholds, and volume sensitivity.
---
### **Code Breakdown**
#### **Input Parameters**
The script begins by defining several user-configurable variables under groups. These include indicators' on/off switches (`showVWAP`, `enableADX`, `enableVolume`) and input parameters for VWAP, ADX thresholds, and volume sensitivity:
- **VWAP Period and Threshold:** Controls sensitivity for VWAP signal generation.
- **ADX Settings:** Allows users to configure the ADX period and strength threshold.
- **Volume Ratio:** Detects bullish/bearish conditions based on relative volume patterns.
---
#### **VWAP Calculation**
The script calculates VWAP using the formula:
\
Where `P` is the typical price (`(high + low + close)/3`) and `V` is the volume.
- It resets cumulative values (`sumPV` and `sumV`) at the start of each day.
- Delta percentage (`deltaPercent`) is calculated as the percentage difference between the close price and the VWAP.
---
#### **Indicators and Signals**
1. **VWAP Trend Signals:**
- Identifies bullish/bearish conditions based on price movement (`aboveVWAP`, `belowVWAP`) and whether the price is crossing the VWAP level (`crossingUp`, `crossingDown`).
- Also detects rising/falling delta changes based on the VWAP threshold.
2. **ADX Calculation:**
- Calculates the directional movement (`PlusDM`, `MinusDM`) and smoothed values for `PlusDI`, `MinusDI`, and `ADX`.
- Confirms strong bullish/bearish trends when ADX crosses the defined threshold.
3. **Volume-Based Signals:**
- Evaluates the ratio of bullish volume (when `close > VWAP`) to bearish volume (when `close < VWAP`) over a specified lookback period.
---
#### **Trade Signals**
The buy and sell signals are determined by combining conditions from the VWAP, ADX, and volume signals:
- **Buy Signal:** Triggered when price upward crossover VWAP, delta rises above the threshold, ADX indicates a strong bullish trend, and volume confirms bullish momentum.
- **Sell Signal:** Triggered under inverse conditions.
- Additionally, exit conditions (`exitLong` and `exitShort`) are based on VWAP crossovers combined with the reversal of delta values.
---
#### **Plotting and Display**
The strategy plots VWAP on the chart and adds signal markers for:
- **Buy/Long Entry:** Green triangle below bars.
- **Sell/Short Entry:** Red triangle above bars.
- **Exit Signals:** Lime or orange "X" shapes for exits from long/short positions.
- Additionally, optional text labels are displayed to indicate the type of signal.
---
#### **Trading Logic**
The script's trading logic executes as follows:
- **Entries:**
- Executes long trades when the `buySignal` condition is true.
- Executes short trades when the `sellSignal` condition is true.
- **Exits:**
- Closes long positions upon `exitLong` conditions.
- Closes short positions upon `exitShort` conditions.
- The strategy calculates profits and visualizes the trade entry, exit, and running profit within the chart.
---
#### **Alerts**
Alerts are set up to notify traders via custom signals for buy and sell trades.
---
### **Use Case**
This script is suitable for day traders, swing traders, or algorithmic traders who rely on confluence signals from VWAP, ADX, and volume momentum. Its modular structure (e.g., the ability to enable/disable specific indicators) makes it highly customizable for various trading styles and financial instruments.
#### **Customizability**
- Adjust VWAP, ADX, and volume sensitivity levels to fit unique market conditions or asset classes.
- Turn off specific criteria to focus only on VWAP or ADX signals if desired.
#### **Caution**
As with all trading strategies, this script should be used for backtesting and analysis before live implementation. It's essential to validate its performance on historical data while considering factors like slippage and transaction costs.
Spent Output Profit Ratio Z-Score | Vistula LabsOverview
The Spent Output Profit Ratio (SOPR) Z-Score indicator is a sophisticated tool designed by Vistula Labs to help cryptocurrency traders analyze market sentiment and identify potential trend reversals. It leverages on-chain data from Glassnode to calculate the Spent Output Profit Ratio (SOPR) for Bitcoin and Ethereum, transforming this metric into a Z-Score for easy interpretation.
What is SOPR?
Spent Output Profit Ratio (SOPR) measures the profit ratio of spent outputs (transactions) on the blockchain:
SOPR > 1: Indicates that, on average, coins are being sold at a profit.
SOPR < 1: Suggests that coins are being sold at a loss.
SOPR = 1: Break-even point, often seen as a key psychological level.
SOPR provides insights into holder behavior—whether they are locking in profits or cutting losses—making it a valuable gauge of market sentiment.
How It Works
The indicator applies a Z-Score to the SOPR data to normalize it relative to its historical behavior:
Z-Score = (Smoothed SOPR - Moving Average of Smoothed SOPR) / Standard Deviation of Smoothed SOPR
Smoothed SOPR: A moving average (e.g., WMA) of SOPR over a short period (default: 30 bars) to reduce noise.
Moving Average of Smoothed SOPR: A longer moving average (default: 180 bars) of the smoothed SOPR.
Standard Deviation: Calculated over a lookback period (default: 200 bars).
This Z-Score highlights how extreme the current SOPR is compared to its historical norm, helping traders spot significant deviations.
Key Features
Data Source:
Selectable between BTC and ETH, using daily SOPR data from Glassnode.
Customization:
Moving Average Types: Choose from SMA, EMA, DEMA, RMA, WMA, or VWMA for both smoothing and main averages.
Lengths: Adjust the smoothing period (default: 30) and main moving average length (default: 180).
Z-Score Lookback: Default is 200 bars.
Thresholds: Set levels for long/short signals and overbought/oversold conditions.
Signals:
Long Signal: Triggered when Z-Score crosses above 1.02, suggesting potential upward momentum.
Short Signal: Triggered when Z-Score crosses below -0.66, indicating potential downward momentum.
Overbought/Oversold Conditions:
Overbought: Z-Score > 2.5, signaling potential overvaluation.
Oversold: Z-Score < -2.0, indicating potential undervaluation.
Visualizations:
Z-Score Plot: Teal for long signals, magenta for short signals.
Threshold Lines: Dashed for long/short, solid for overbought/oversold.
Candlestick Coloring: Matches signal colors.
Arrows: Green up-triangles for long entries, red down-triangles for short entries.
Background Colors: Magenta for overbought, teal for oversold.
Alerts:
Conditions for Long Opportunity, Short Opportunity, Overbought, and Oversold.
Usage Guide
Select Cryptocurrency: Choose BTC or ETH.
Adjust Moving Averages: Customize types and lengths for smoothing and main averages.
Set Thresholds: Define Z-Score levels for signals and extreme conditions.
Monitor Signals: Use color changes, arrows, and background highlights to identify opportunities.
Enable Alerts: Stay informed without constant chart watching.
Interpretation
High Z-Score (>1.02): SOPR is significantly above its historical mean, potentially indicating overvaluation or strong bullish momentum.
Low Z-Score (<-0.66): SOPR is below its mean, suggesting undervaluation or bearish momentum.
Extreme Conditions: Z-Scores above 2.5 or below -2.0 highlight overbought or oversold markets, often preceding reversals.
Conclusion
The SOPR Z-Score indicator combines on-chain data with statistical analysis to provide traders with a clear, actionable view of market sentiment. Its customizable settings, visual clarity, and alert system make it an essential tool for both novice and experienced traders seeking an edge in the cryptocurrency markets.
Supply In Profit Z-Score | Vistula LabsOverview
The Supply In Profit Z-Score indicator is a Pine Script™ tool developed by Vistula Labs for technical analysis of cryptocurrencies, specifically Bitcoin (BTC) and Ethereum (ETH). It utilizes on-chain data from IntoTheBlock to calculate the difference between the percentage of addresses in profit and those in loss, transforming this metric into a Z-Score. This indicator helps traders identify market sentiment, trend-following opportunities, and overbought or oversold conditions.
What is Supply In Profit?
Supply In Profit is defined as the net difference between the percentage of addresses in profit and those in loss:
Profit Percentage: The proportion of addresses where the current value of holdings exceeds the acquisition price.
Loss Percentage: The proportion of addresses where the current value is below the acquisition price.
A positive value indicates more addresses are in profit, suggesting bullish sentiment, while a negative value indicates widespread losses, hinting at bearish sentiment.
How It Works
The indicator computes a Z-Score to normalize the Supply In Profit data relative to its historical behavior:
Z-Score = (Current Supply In Profit - Moving Average of Supply In Profit) / Standard Deviation of Supply In Profit
Current Supply In Profit: The latest profit-minus-loss percentage.
Moving Average: A customizable average (e.g., EMA, SMA) over a default 180-bar period.
Standard Deviation: Calculated over a default 200-bar lookback period.
Key Features
Data Source:
Selectable between BTC and ETH, pulling daily profit/loss percentage data from IntoTheBlock.
Customization:
Moving Average Type: Options include SMA, EMA, DEMA, RMA, WMA, or VWMA (default: EMA).
Moving Average Length: Default is 180 bars.
Z-Score Lookback: Default is 200 bars.
Thresholds: Adjustable for long/short signals and overbought/oversold levels.
Signals:
Long Signal: Z-Score crosses above the Long Threshold (default: 1.0).
Short Signal: Z-Score crosses below the Short Threshold (default: -0.64).
Overbought/Oversold Conditions:
Overbought: Z-Score > 3.0.
Oversold: Z-Score < -2.0.
Visualizations:
Z-Score Plot: Teal for long signals, magenta for short signals.
Threshold Lines: Dashed lines for long/short, solid lines for overbought/oversold.
Candlestick Coloring: Matches signal colors (teal/magenta).
Arrows: Green up-triangles for long entries, red down-triangles for short entries.
Background Colors: Magenta for overbought, teal for oversold.
Alerts:
Conditions for Long Opportunity, Short Opportunity, Overbought, and Oversold.
Usage Guide
Trend Following
Long Entry: When Z-Score crosses above 1.0, indicating potential upward momentum.
Short Entry: When Z-Score crosses below -0.64, suggesting potential downward momentum.
Overbought/Oversold Analysis
Overbought (Z-Score > 3.0): Consider profit-taking or preparing for a reversal.
Oversold (Z-Score < -2.0): Look for buying opportunities or exiting shorts.
Timeframe
Uses daily IntoTheBlock data, ideal for medium to long-term analysis.
Interpretation
High Z-Score: Indicates Supply In Profit is significantly above its historical mean, potentially signaling overvaluation.
Low Z-Score: Suggests Supply In Profit is below its mean, indicating possible undervaluation.
Signals and thresholds help traders act on shifts in market sentiment or extreme conditions.
Conclusion
The Supply In Profit Z-Score indicator provides a robust, data-driven approach to analyzing cryptocurrency market trends and sentiment. By combining on-chain metrics with statistical normalization, it empowers traders to make informed decisions based on historical context and current market dynamics.
Dual-Phase Trend Regime Strategy [Zeiierman X PineIndicators]This strategy is based on the Dual-Phase Trend Regime Indicator by Zeiierman.
Full credit for the original concept and logic goes to Zeiierman.
This non-repainting strategy dynamically switches between fast and slow oscillators based on market volatility, providing adaptive entries and exits with high clarity and reliability.
Core Concepts
1. Adaptive Dual Oscillator Logic
The system uses two oscillators:
Fast Oscillator: Activated in high-volatility phases for quick reaction.
Slow Oscillator: Used during low-volatility phases to reduce noise.
The system automatically selects the appropriate oscillator depending on the market's volatility regime.
2. Volatility Regime Detection
Volatility is calculated using the standard deviation of returns. A median-split algorithm clusters volatility into:
Low Volatility Cluster
High Volatility Cluster
The current volatility is then compared to these clusters to determine whether the regime is low or high volatility.
3. Trend Regime Identification
Based on the active oscillator:
Bullish Trend: Oscillator > 0.5
Bearish Trend: Oscillator < 0.5
Neutral Trend: Oscillator = 0.5
The strategy reacts to changes in this trend regime.
4. Signal Source Options
You can choose between:
Regime Shift (Arrows): Trade based on oscillator value changes (from bullish to bearish and vice versa).
Oscillator Cross: Trade based on crossovers between the fast and slow oscillators.
Trade Logic
Trade Direction Options
Long Only
Short Only
Long & Short
Entry Conditions
Long Entry: Triggered on bullish regime shift or fast crossing above slow.
Short Entry: Triggered on bearish regime shift or fast crossing below slow.
Exit Conditions
Long Exit: Triggered on bearish shift or fast crossing below slow.
Short Exit: Triggered on bullish shift or fast crossing above slow.
The strategy closes opposing positions before opening new ones.
Visual Features
Oscillator Bands: Plots fast and slow oscillators, colored by trend.
Background Highlight: Indicates current trend regime.
Signal Markers: Triangle shapes show bullish/bearish shifts.
Dashboard Table: Displays live trend status ("Bullish", "Bearish", "Neutral") in the chart’s corner.
Inputs & Customization
Oscillator Periods – Fast and slow lengths.
Refit Interval – How often volatility clusters update.
Volatility Lookback & Smoothing
Color Settings – Choose your own bullish/bearish colors.
Signal Mode – Regime shift or oscillator crossover.
Trade Direction Mode
Use Cases
Swing Trading: Take entries based on adaptive regime shifts.
Trend Following: Follow the active trend using filtered oscillator logic.
Volatility-Responsive Systems: Adjust your trade behavior depending on market volatility.
Clean Exit Management: Automatically closes positions on opposite signal.
Conclusion
The Dual-Phase Trend Regime Strategy is a smart, adaptive, non-repainting system that:
Automatically switches between fast and slow trend logic.
Responds dynamically to changes in volatility.
Provides clean and visual entry/exit signals.
Supports both momentum and reversal trading logic.
This strategy is ideal for traders seeking a volatility-aware, trend-sensitive tool across any market or timeframe.
Full credit to Zeiierman.
Market Sessions & Viewer Panel [By MUQWISHI]▋ INTRODUCTION :
The “Market Sessions & Viewer Panel” is a clean and intuitive visual indicator tool that highlights up to four trading sessions directly on the chart. Each session is fully customizable with its name, session time, and color. It also generates a panel that provides a quick-glance summary of each session’s candle/bar shape, helping traders gain insight into the volatility across all trading sessions.
_______________________
▋ OVERVIEW:
_______________________
▋ CREDIT:
This indicator utilizes the “ Timezone — Library ”. A huge thanks to @n00btraders for effort and well-organized work.
_______________________
▋ SESSION PANEL:
The Session Panel allows traders to visually compare session volatility using a candlestick/bar pattern.
Each bar represents the price action during a session and includes the session status, session name, closing price, change(%) from open, and a tooltip that reveals detailed OHLC and volume when hovered over.
Chart Type:
It offers two styles Bar or Candle to display based on traders’ preference
Sorting:
Allowing to arrange session candles/bars based on…
—Left to Right: The most recently opened on the left, moving backward in time to the right.
—Right to Left: The most recently opened on the right, moving backward in time to the left.
—Default: Arrange sessions in the user-defined input order.
_______________________
▋ CHART VISUALIZATION:
The chart visualization highlights each trading session using color-coded backgrounds in two selectable drawing styles that span their respective active timeframes. Each session block provides session’s name, close price, and change from open.
Chart Type: Candle
Chart Type: Box
Extra Drawing Feature:
This feature may not exist in other indicators within the same category, it extends the session block drawing to the projected end of the session. This's done through estimation based on historical data; however, it doesn’t function fully on seconds-based timeframes due to drawing limitations.
_______________________
▋ INDICATOR SETTINGS:
Section(1): Sessions
(1) Universal Timezone.
(2) Each Session: Enable/Disable, Name, Color, and Time.
Section(2): Session Panel
(1) Show/Hide Session Panel.
(2) Chart Type: Candle/Bar.
(3) Bar’s Up/Down color.
(4) Width and Height of the bar.
(5) Location of Session Panel on chat.
(6) Sort: Left to Right (most recent session is placed on the left), Right to Left (most recent session is placed on the right), and Default (as input arrangement).
Section(3): Chart Visualization
(1) Show/Hide Chart Block Visualization.
(2) Draw Shape: Box/Candle.
(3) Border Style and Size.
(4) Label Styling includes location, size, and some essential selectable infos.
Please let me know if you have any questions
AccumulationPro Money Flow StrategyAccumulationPro Money Flow Strategy identifies stock trading opportunities by analyzing money flow and potential long-only opportunities following periods of increased money inflow. It employs proprietary responsive indicators and oscillators to gauge the strength and momentum of the inflow relative to previous periods, detecting money inflow, buying/selling pressure, and potential continuation/reversals, while using trailing stop exits to maximize gains while minimizing losses, with careful consideration of risk management and position sizing.
Setup Instructions:
1. Configuring the Strategy Properties:
Click the "Settings" icon (the gear symbol) next to the strategy name.
Navigate to the "Properties" tab within the Settings window.
Initial Capital: This value sets the starting equity for the strategy backtesting. Keep in mind that you will need to specify your current account size in the "Inputs" settings for position sizing.
Base Currency: Leave this setting at its "Default" value.
Order Size: This setting, which determines the capital used for each trade during backtesting, is automatically calculated and updated by the script. You should leave it set to "1 Contract" and the script will calculate the appropriate number of contracts based on your risk per trade, account size, and stop-loss placement.
Pyramiding: Set this setting at 1 order to prevent the strategy from adding to existing positions.
Commission: Enter your broker's commission fee per trade as a percentage, some brokers might offer commission free trading. Verify Price for limit orders: Keep this value as 0 ticks.
Slippage: This value depends on the instrument you are trading, If you are trading liquid stocks on a 1D chart slippage might be neglected. You can Keep this value as 1 ticks if you want to be conservative.
Margin for long positions/short positions: Set both of these to 100% since this strategy does not employ leverage or margin trading.
Recalculate:
Select the "After order is filled" option.
Select the "On every tick" option.
Fill Orders: Keep “Using bar magnifier” unselected.
Select "On bar close". Select "Using standard OHLC"
2. Configuring the Strategy Inputs:
Click the "Inputs" tab in the Settings window.
From/Thru (Date Range): To effectively backtest the strategy, define a substantial period that includes various bullish and bearish cycles. This ensures the testing window captures a range of market conditions and provides an adequate number of trades. It is usually favorable to use a minimum of 8 years for backtesting. Ensure the "Show Date Range" box is checked.
Account Size: This is your actual current Account Size used in the position sizing table calculations.
Risk on Capital %: This setting allows you to specify the percentage of your capital you are willing to risk on each trade. A common value is 0.5%.
3. Configuring Strategy Style:
Select the "Style" tab.
Select the checkbox for “Stop Loss” and “Stop Loss Final” to display the black/red Average True Range Stop Loss step-lines
Make sure the checkboxes for "Upper Channel", "Middle Line", and "Lower Channel" are selected.
Select the "Plots Background" checkboxes for "Color 0" and "Color 1" so that the potential entry and exit zones become color-coded.
Having the checkbox for "Tables" selected allows you to see position sizing and other useful information within the chart.
Have the checkboxes for "Trades on chart" and "Signal Labels" selected for viewing entry and exit point labels and positions.
Uncheck* the "Quantity" checkbox.
Precision: select “Default”.
Check “Labels on price scale”
Check “Values in status line”
Strategy Application Guidelines:
Entry Conditions:
The strategy identifies long entry opportunities based on substantial money inflow, as detected by our proprietary indicators and oscillators. This assessment considers the strength and momentum of the inflow relative to previous periods, in conjunction with strong price momentum (indicated by our modified, less-lagging MACD) and/or a potential price reversal (indicated by our modified, less-noisy Stochastic). Additional confirmation criteria related to price action are also incorporated. Potential entry and exit zones are visually represented by bands on the chart.
A blue upward-pointing arrow, accompanied by the label 'Long' and green band fills, signifies a long entry opportunity. Conversely, a magenta downward-pointing arrow, labeled 'Close entry(s) order Long' with yellow band fills, indicates a potential exit.
Take Profit:
The strategy employs trailing stops, rather than fixed take-profit levels, to maximize gains while minimizing losses. Trailing stops adjust the stop-loss level as the stock price moves in a favorable direction. The strategy utilizes two types of trailing stop mechanisms: one based on the Average True Range (ATR), and another based on price action, which attempts to identify shifts in price momentum.
Stop Loss:
The strategy uses an Average True Range (ATR)-based stop-loss, represented by two lines on the chart. The black line indicates the primary ATR-based stop-loss level, set upon trade entry. The red line represents a secondary ATR stop-loss buffer, used in the position sizing calculation to account for potential slippage or price gaps.
To potentially reduce the risk of stop-hunting, discretionary traders might consider using a market sell order within the final 30 to 60 minutes of the main session, instead of automated stop-loss orders.
Order Types:
Market Orders are intended for use with this strategy, specifically when the candle and signal on the chart stabilize within the final 30 to 60 minutes of the main trading session.
Position Sizing:
A key aspect of this strategy is that its position size is calculated and displayed in a table on the chart. The position size is calculated based on stop-loss placement, including the stop-loss buffer, and the capital at risk per trade which is commonly set around 0.5% Risk on Capital per Trade.
Backtesting:
The backtesting results presented below the chart are for informational purposes only and are not intended to predict future performance. Instead, they serve as a tool for identifying instruments with which the strategy has historically performed well.
It's important to note that the backtester utilizes a tiny portion of the capital for each trade while our strategy relies on a diversified portfolio of multiple stocks or instruments being traded at once.
Important Considerations:
Volume data is crucial; the strategy will not load or function correctly without it. Ensure that your charts include volume data, preferably from a centralized exchange.
Our system is designed for trading a portfolio. Therefore, if you intend to use our system, you should employ appropriate position sizing, without leverage or margin, and seek out a variety of long opportunities, rather than opening a single trade with an excessively large position size.
If you are trading without automated signals, always allow the chart to stabilize. Refrain from taking action until the final 1 hour to 30 minutes before the end of the main trading session to minimize the risk of acting on false signals.
To align with the strategy's design, it's generally preferable to enter a trade during the same session that the signal appears, rather than waiting for a later session.
Disclaimer:
Trading in financial markets involves a substantial degree of risk. You should be aware of the potential for significant financial losses. It is imperative that you trade responsibly and avoid overtrading, as this can amplify losses. Remember that market conditions can change rapidly, and past performance is not indicative of future results. You could lose some or all of your initial investment. It is strongly recommended that you fully understand the risks involved in trading and seek independent financial advice from a qualified professional before using this strategy.
MissedPrice[KiomarsRakei]█ Overview:
The MissedPrice script identifies price zones based on significant Open Interest shifts (including gaps) aligned with price movements. When sudden market positioning changes occur, the script pinpoints target zones where price is believed to return. Each signal directs you toward these opportunity zones with supporting metrics like Notional Value, Volume Ratio, and Funding Rate timing to help qualify the signals.
█ Core Concept:
Markets frequently "miss" critical price levels during rapid movements. These missed zones occur when:
Orders are revoked during sudden price shifts
Exchanges fail to execute at intended prices
TP/SL orders miss exact execution points
Institutional orders create supply/demand imbalances
Market structure shifts bypass key levels
Liquidity voids form from positioning changes
These missed price zones create natural targets that price tends to revisit. The MissedPrice indicator identifies these zones by analyzing the relationship between Open Interest, Price, and Volume.
█ Closer look at target zones:
Target zones are calculated using the open price where significant OI shifts occur, with zone width adjusted based on the High-Low ratio and ATR to adapt to current volatility. If a zone is touched once after a signal is generated, it is no longer valid. This can be understood as the missing positions and volume having now entered the market.
Each zone's Notional Value (NV) - calculated as OI change multiplied by price - measures the financial impact of the positioning shift. Higher NV indicates more significant market activity and greater liquidity, making price more likely to return to that area. Users can adjust NV ratio thresholds in the inputs to filter signal quality.
█ Features:
Statistical Dashboard: Real-time statistics table showing performance metrics for signals
Funding Rate Visualization: Vertical lines indicate funding rate times to help correlate signals with these significant market events
Alert Capability: Set up alerts for new signals to never miss a trading opportunity
Dynamic Entry Lines: Draws adjustable entry and target level lines to facilitate precise trade execution and measurement, customizable via inputs
█ Closer Look at Statistics Table:
Signal Count: Total numbers of signals generated and total candles included (limited by TradingView's OI historical data)
Win Rate: can be interpreted as the hit rate of target zones. Whenever price reaches the zone, it is calculated as a win, regardless of how far price may have moved in the opposite direction beforehand. This metric measures the script's accuracy in identifying price zones that eventually get revisited.
Total Profit: Calculates possible profit from first entry to target of hit signals - an estimate since humans can't take all signals and might have better entries or average down. By default is turned off can be turned on in the input menu.
Bad Signals: Signals taking too long to complete or moving much further from target
Bad but Hit: Bad signals that eventually hit the target despite early challenges
As you can see in the chart, there are zones that price does not return to touch. There is no guarantee that every identified zone will be reached, which is why the script provides additional qualification metrics to help assess signal probability.
Due to limitations of Open Interest data, you can only use this script on crypto pairs that have Open Interest data available on TradingView. While the script works on any timeframe, it performs best on timeframes less than daily.
█ Best Practices:
Use it in bar replay mode to master the strategy
Try different risk management systems based on how far price goes from the target and your creativity
Use the volume ratio and funding time data to further qualify signals
Notional Value plays a key role
Relative Crypto Dominance Polar Chart [LuxAlgo]The Relative Crypto Dominance Polar Chart tool allows traders to compare the relative dominance of up to ten different tickers in the form of a polar area chart, we define relative dominance as a combination between traded dollar volume and volatility, making it very easy to compare them at a glance.
🔶 USAGE
The use is quite simple, traders just have to load the indicator on the chart, and the graph showing the relative dominance will appear.
The 10 tickers loaded by default are the major cryptocurrencies by market cap, but traders can select any ticker in the settings panel.
Each area represents dominance as volatility (radius) by dollar volume (arc length); a larger area means greater dominance on that ticker.
🔹 Choosing Period
The tool supports up to five different periods
Hourly
Daily
Weekly
Monthly
Yearly
By default, the tool period is set on auto mode, which means that the tool will choose the period depending on the chart timeframe
timeframes up to 2m: Hourly
timeframes up to 15m: Daily
timeframes up to 1H: Weekly
timeframes up to 4H: Monthly
larger timeframes: Yearly
🔹 Sorting & Sizing
Traders can sort the graph areas by volatility (radius of each area) in ascending or descending order; by default, the tickers are sorted as they are in the settings panel.
The tool also allows you to adjust the width of the chart on a percentage basis, i.e., at 100% size, all the available width is used; if the graph is too wide, just decrease the graph size parameter in the settings panel.
🔹 Set your own style
The tool allows great customization from the settings panel, traders can enable/disable most of the components, and add a very nice touch with curved lines enabled for displaying the areas with a petal-like effect.
🔶 SETTINGS
Period: Select up to 5 different time periods from Hourly, Daily, Weekly, Monthly and Yearly. Enable/disable Auto mode.
Tickers: Enable/disable and select tickers and colors
🔹 Style
Graph Order: Select sort order
Graph Size: Select percentage of width used
Labels Size: Select size for ticker labels
Show Percent: Show dominance in % under each ticker
Curved Lines: Enable/disable petal-like effect for each area
Show Title: Enable/disable graph title
Show Mean: Enable/disable volatility average and select color
Bitcoin Polynomial Regression ModelThis is the main version of the script. Click here for the Oscillator part of the script.
💡Why this model was created:
One of the key issues with most existing models, including our own Bitcoin Log Growth Curve Model , is that they often fail to realistically account for diminishing returns. As a result, they may present overly optimistic bull cycle targets (hence, we introduced alternative settings in our previous Bitcoin Log Growth Curve Model).
This new model however, has been built from the ground up with a primary focus on incorporating the principle of diminishing returns. It directly responds to this concept, which has been briefly explored here .
📉The theory of diminishing returns:
This theory suggests that as each four-year market cycle unfolds, volatility gradually decreases, leading to more tempered price movements. It also implies that the price increase from one cycle peak to the next will decrease over time as the asset matures. The same pattern applies to cycle lows and the relationship between tops and bottoms. In essence, these price movements are interconnected and should generally follow a consistent pattern. We believe this model provides a more realistic outlook on bull and bear market cycles.
To better understand this theory, the relationships between cycle tops and bottoms are outlined below:https://www.tradingview.com/x/7Hldzsf2/
🔧Creation of the model:
For those interested in how this model was created, the process is explained here. Otherwise, feel free to skip this section.
This model is based on two separate cubic polynomial regression lines. One for the top price trend and another for the bottom. Both follow the general cubic polynomial function:
ax^3 +bx^2 + cx + d.
In this equation, x represents the weekly bar index minus an offset, while a, b, c, and d are determined through polynomial regression analysis. The input (x, y) values used for the polynomial regression analysis are as follows:
Top regression line (x, y) values:
113, 18.6
240, 1004
451, 19128
655, 65502
Bottom regression line (x, y) values:
103, 2.5
267, 211
471, 3193
676, 16255
The values above correspond to historical Bitcoin cycle tops and bottoms, where x is the weekly bar index and y is the weekly closing price of Bitcoin. The best fit is determined using metrics such as R-squared values, residual error analysis, and visual inspection. While the exact details of this evaluation are beyond the scope of this post, the following optimal parameters were found:
Top regression line parameter values:
a: 0.000202798
b: 0.0872922
c: -30.88805
d: 1827.14113
Bottom regression line parameter values:
a: 0.000138314
b: -0.0768236
c: 13.90555
d: -765.8892
📊Polynomial Regression Oscillator:
This publication also includes the oscillator version of the this model which is displayed at the bottom of the screen. The oscillator applies a logarithmic transformation to the price and the regression lines using the formula log10(x) .
The log-transformed price is then normalized using min-max normalization relative to the log-transformed top and bottom regression line with the formula:
normalized price = log(close) - log(bottom regression line) / log(top regression line) - log(bottom regression line)
This transformation results in a price value between 0 and 1 between both the regression lines. The Oscillator version can be found here.
🔍Interpretation of the Model:
In general, the red area represents a caution zone, as historically, the price has often been near its cycle market top within this range. On the other hand, the green area is considered an area of opportunity, as historically, it has corresponded to the market bottom.
The top regression line serves as a signal for the absolute market cycle peak, while the bottom regression line indicates the absolute market cycle bottom.
Additionally, this model provides a predicted range for Bitcoin's future price movements, which can be used to make extrapolated predictions. We will explore this further below.
🔮Future Predictions:
Finally, let's discuss what this model actually predicts for the potential upcoming market cycle top and the corresponding market cycle bottom. In our previous post here , a cycle interval analysis was performed to predict a likely time window for the next cycle top and bottom:
In the image, it is predicted that the next top-to-top cycle interval will be 208 weeks, which translates to November 3rd, 2025. It is also predicted that the bottom-to-top cycle interval will be 152 weeks, which corresponds to October 13th, 2025. On the macro level, these two dates align quite well. For our prediction, we take the average of these two dates: October 24th 2025. This will be our target date for the bull cycle top.
Now, let's do the same for the upcoming cycle bottom. The bottom-to-bottom cycle interval is predicted to be 205 weeks, which translates to October 19th, 2026, and the top-to-bottom cycle interval is predicted to be 259 weeks, which corresponds to October 26th, 2026. We then take the average of these two dates, predicting a bear cycle bottom date target of October 19th, 2026.
Now that we have our predicted top and bottom cycle date targets, we can simply reference these two dates to our model, giving us the Bitcoin top price prediction in the range of 152,000 in Q4 2025 and a subsequent bottom price prediction in the range of 46,500 in Q4 2026.
For those interested in understanding what this specifically means for the predicted diminishing return top and bottom cycle values, the image below displays these predicted values. The new values are highlighted in yellow:
And of course, keep in mind that these targets are just rough estimates. While we've done our best to estimate these targets through a data-driven approach, markets will always remain unpredictable in nature. What are your targets? Feel free to share them in the comment section below.
Bitcoin Polynomial Regression OscillatorThis is the oscillator version of the script. Click here for the other part of the script.
💡Why this model was created:
One of the key issues with most existing models, including our own Bitcoin Log Growth Curve Model , is that they often fail to realistically account for diminishing returns. As a result, they may present overly optimistic bull cycle targets (hence, we introduced alternative settings in our previous Bitcoin Log Growth Curve Model).
This new model however, has been built from the ground up with a primary focus on incorporating the principle of diminishing returns. It directly responds to this concept, which has been briefly explored here .
📉The theory of diminishing returns:
This theory suggests that as each four-year market cycle unfolds, volatility gradually decreases, leading to more tempered price movements. It also implies that the price increase from one cycle peak to the next will decrease over time as the asset matures. The same pattern applies to cycle lows and the relationship between tops and bottoms. In essence, these price movements are interconnected and should generally follow a consistent pattern. We believe this model provides a more realistic outlook on bull and bear market cycles.
To better understand this theory, the relationships between cycle tops and bottoms are outlined below:https://www.tradingview.com/x/7Hldzsf2/
🔧Creation of the model:
For those interested in how this model was created, the process is explained here. Otherwise, feel free to skip this section.
This model is based on two separate cubic polynomial regression lines. One for the top price trend and another for the bottom. Both follow the general cubic polynomial function:
ax^3 +bx^2 + cx + d.
In this equation, x represents the weekly bar index minus an offset, while a, b, c, and d are determined through polynomial regression analysis. The input (x, y) values used for the polynomial regression analysis are as follows:
Top regression line (x, y) values:
113, 18.6
240, 1004
451, 19128
655, 65502
Bottom regression line (x, y) values:
103, 2.5
267, 211
471, 3193
676, 16255
The values above correspond to historical Bitcoin cycle tops and bottoms, where x is the weekly bar index and y is the weekly closing price of Bitcoin. The best fit is determined using metrics such as R-squared values, residual error analysis, and visual inspection. While the exact details of this evaluation are beyond the scope of this post, the following optimal parameters were found:
Top regression line parameter values:
a: 0.000202798
b: 0.0872922
c: -30.88805
d: 1827.14113
Bottom regression line parameter values:
a: 0.000138314
b: -0.0768236
c: 13.90555
d: -765.8892
📊Polynomial Regression Oscillator:
This publication also includes the oscillator version of the this model which is displayed at the bottom of the screen. The oscillator applies a logarithmic transformation to the price and the regression lines using the formula log10(x) .
The log-transformed price is then normalized using min-max normalization relative to the log-transformed top and bottom regression line with the formula:
normalized price = log(close) - log(bottom regression line) / log(top regression line) - log(bottom regression line)
This transformation results in a price value between 0 and 1 between both the regression lines.
🔍Interpretation of the Model:
In general, the red area represents a caution zone, as historically, the price has often been near its cycle market top within this range. On the other hand, the green area is considered an area of opportunity, as historically, it has corresponded to the market bottom.
The top regression line serves as a signal for the absolute market cycle peak, while the bottom regression line indicates the absolute market cycle bottom.
Additionally, this model provides a predicted range for Bitcoin's future price movements, which can be used to make extrapolated predictions. We will explore this further below.
🔮Future Predictions:
Finally, let's discuss what this model actually predicts for the potential upcoming market cycle top and the corresponding market cycle bottom. In our previous post here , a cycle interval analysis was performed to predict a likely time window for the next cycle top and bottom:
In the image, it is predicted that the next top-to-top cycle interval will be 208 weeks, which translates to November 3rd, 2025. It is also predicted that the bottom-to-top cycle interval will be 152 weeks, which corresponds to October 13th, 2025. On the macro level, these two dates align quite well. For our prediction, we take the average of these two dates: October 24th 2025. This will be our target date for the bull cycle top.
Now, let's do the same for the upcoming cycle bottom. The bottom-to-bottom cycle interval is predicted to be 205 weeks, which translates to October 19th, 2026, and the top-to-bottom cycle interval is predicted to be 259 weeks, which corresponds to October 26th, 2026. We then take the average of these two dates, predicting a bear cycle bottom date target of October 19th, 2026.
Now that we have our predicted top and bottom cycle date targets, we can simply reference these two dates to our model, giving us the Bitcoin top price prediction in the range of 152,000 in Q4 2025 and a subsequent bottom price prediction in the range of 46,500 in Q4 2026.
For those interested in understanding what this specifically means for the predicted diminishing return top and bottom cycle values, the image below displays these predicted values. The new values are highlighted in yellow:
And of course, keep in mind that these targets are just rough estimates. While we've done our best to estimate these targets through a data-driven approach, markets will always remain unpredictable in nature. What are your targets? Feel free to share them in the comment section below.
Fuzzy SMA with DCTI Confirmation[FibonacciFlux]FibonacciFlux: Advanced Fuzzy Logic System with Donchian Trend Confirmation
Institutional-grade trend analysis combining adaptive Fuzzy Logic with Donchian Channel Trend Intensity for superior signal quality
Conceptual Framework & Research Foundation
FibonacciFlux represents a significant advancement in quantitative technical analysis, merging two powerful analytical methodologies: normalized fuzzy logic systems and Donchian Channel Trend Intensity (DCTI). This sophisticated indicator addresses a fundamental challenge in market analysis – the inherent imprecision of trend identification in dynamic, multi-dimensional market environments.
While traditional indicators often produce simplistic binary signals, markets exist in states of continuous, graduated transition. FibonacciFlux embraces this complexity through its implementation of fuzzy set theory, enhanced by DCTI's structural trend confirmation capabilities. The result is an indicator that provides nuanced, probabilistic trend assessment with institutional-grade signal quality.
Core Technological Components
1. Advanced Fuzzy Logic System with Percentile Normalization
At the foundation of FibonacciFlux lies a comprehensive fuzzy logic system that transforms conventional technical metrics into degrees of membership in linguistic variables:
// Fuzzy triangular membership function with robust error handling
fuzzy_triangle(val, left, center, right) =>
if na(val)
0.0
float denominator1 = math.max(1e-10, center - left)
float denominator2 = math.max(1e-10, right - center)
math.max(0.0, math.min(left == center ? val <= center ? 1.0 : 0.0 : (val - left) / denominator1,
center == right ? val >= center ? 1.0 : 0.0 : (right - val) / denominator2))
The system employs percentile-based normalization for SMA deviation – a critical innovation that enables self-calibration across different assets and market regimes:
// Percentile-based normalization for adaptive calibration
raw_diff = price_src - sma_val
diff_abs_percentile = ta.percentile_linear_interpolation(math.abs(raw_diff), normLookback, percRank) + 1e-10
normalized_diff_raw = raw_diff / diff_abs_percentile
normalized_diff = useClamping ? math.max(-clampValue, math.min(clampValue, normalized_diff_raw)) : normalized_diff_raw
This normalization approach represents a significant advancement over fixed-threshold systems, allowing the indicator to automatically adapt to varying volatility environments and maintain consistent signal quality across diverse market conditions.
2. Donchian Channel Trend Intensity (DCTI) Integration
FibonacciFlux significantly enhances fuzzy logic analysis through the integration of Donchian Channel Trend Intensity (DCTI) – a sophisticated measure of trend strength based on the relationship between short-term and long-term price extremes:
// DCTI calculation for structural trend confirmation
f_dcti(src, majorPer, minorPer, sigPer) =>
H = ta.highest(high, majorPer) // Major period high
L = ta.lowest(low, majorPer) // Major period low
h = ta.highest(high, minorPer) // Minor period high
l = ta.lowest(low, minorPer) // Minor period low
float pdiv = not na(L) ? l - L : 0 // Positive divergence (low vs major low)
float ndiv = not na(H) ? H - h : 0 // Negative divergence (major high vs high)
float divisor = pdiv + ndiv
dctiValue = divisor == 0 ? 0 : 100 * ((pdiv - ndiv) / divisor) // Normalized to -100 to +100 range
sigValue = ta.ema(dctiValue, sigPer)
DCTI provides a complementary structural perspective on market trends by quantifying the relationship between short-term and long-term price extremes. This creates a multi-dimensional analysis framework that combines adaptive deviation measurement (fuzzy SMA) with channel-based trend intensity confirmation (DCTI).
Multi-Dimensional Fuzzy Input Variables
FibonacciFlux processes four distinct technical dimensions through its fuzzy system:
Normalized SMA Deviation: Measures price displacement relative to historical volatility context
Rate of Change (ROC): Captures price momentum over configurable timeframes
Relative Strength Index (RSI): Evaluates cyclical overbought/oversold conditions
Donchian Channel Trend Intensity (DCTI): Provides structural trend confirmation through channel analysis
Each dimension is processed through comprehensive fuzzy sets that transform crisp numerical values into linguistic variables:
// Normalized SMA Deviation - Self-calibrating to volatility regimes
ndiff_LP := fuzzy_triangle(normalized_diff, norm_scale * 0.3, norm_scale * 0.7, norm_scale * 1.1)
ndiff_SP := fuzzy_triangle(normalized_diff, norm_scale * 0.05, norm_scale * 0.25, norm_scale * 0.5)
ndiff_NZ := fuzzy_triangle(normalized_diff, -norm_scale * 0.1, 0.0, norm_scale * 0.1)
ndiff_SN := fuzzy_triangle(normalized_diff, -norm_scale * 0.5, -norm_scale * 0.25, -norm_scale * 0.05)
ndiff_LN := fuzzy_triangle(normalized_diff, -norm_scale * 1.1, -norm_scale * 0.7, -norm_scale * 0.3)
// DCTI - Structural trend measurement
dcti_SP := fuzzy_triangle(dcti_val, 60.0, 85.0, 101.0) // Strong Positive Trend (> ~85)
dcti_WP := fuzzy_triangle(dcti_val, 20.0, 45.0, 70.0) // Weak Positive Trend (~30-60)
dcti_Z := fuzzy_triangle(dcti_val, -30.0, 0.0, 30.0) // Near Zero / Trendless (~+/- 20)
dcti_WN := fuzzy_triangle(dcti_val, -70.0, -45.0, -20.0) // Weak Negative Trend (~-30 - -60)
dcti_SN := fuzzy_triangle(dcti_val, -101.0, -85.0, -60.0) // Strong Negative Trend (< ~-85)
Advanced Fuzzy Rule System with DCTI Confirmation
The core intelligence of FibonacciFlux lies in its sophisticated fuzzy rule system – a structured knowledge representation that encodes expert understanding of market dynamics:
// Base Trend Rules with DCTI Confirmation
cond1 = math.min(ndiff_LP, roc_HP, rsi_M)
strength_SB := math.max(strength_SB, cond1 * (dcti_SP > 0.5 ? 1.2 : dcti_Z > 0.1 ? 0.5 : 1.0))
// DCTI Override Rules - Structural trend confirmation with momentum alignment
cond14 = math.min(ndiff_NZ, roc_HP, dcti_SP)
strength_SB := math.max(strength_SB, cond14 * 0.5)
The rule system implements 15 distinct fuzzy rules that evaluate various market conditions including:
Established Trends: Strong deviations with confirming momentum and DCTI alignment
Emerging Trends: Early deviation patterns with initial momentum and DCTI confirmation
Weakening Trends: Divergent signals between deviation, momentum, and DCTI
Reversal Conditions: Counter-trend signals with DCTI confirmation
Neutral Consolidations: Minimal deviation with low momentum and neutral DCTI
A key innovation is the weighted influence of DCTI on rule activation. When strong DCTI readings align with other indicators, rule strength is amplified (up to 1.2x). Conversely, when DCTI contradicts other indicators, rule impact is reduced (as low as 0.5x). This creates a dynamic, self-adjusting system that prioritizes high-conviction signals.
Defuzzification & Signal Generation
The final step transforms fuzzy outputs into a precise trend score through center-of-gravity defuzzification:
// Defuzzification with precise floating-point handling
denominator = strength_SB + strength_WB + strength_N + strength_WBe + strength_SBe
if denominator > 1e-10
fuzzyTrendScore := (strength_SB * STRONG_BULL + strength_WB * WEAK_BULL +
strength_N * NEUTRAL + strength_WBe * WEAK_BEAR +
strength_SBe * STRONG_BEAR) / denominator
The resulting FuzzyTrendScore ranges from -1.0 (Strong Bear) to +1.0 (Strong Bull), with critical threshold zones at ±0.3 (Weak trend) and ±0.7 (Strong trend). The histogram visualization employs intuitive color-coding for immediate trend assessment.
Strategic Applications for Institutional Trading
FibonacciFlux provides substantial advantages for sophisticated trading operations:
Multi-Timeframe Signal Confirmation: Institutional-grade signal validation across multiple technical dimensions
Trend Strength Quantification: Precise measurement of trend conviction with noise filtration
Early Trend Identification: Detection of emerging trends before traditional indicators through fuzzy pattern recognition
Adaptive Market Regime Analysis: Self-calibrating analysis across varying volatility environments
Algorithmic Strategy Integration: Well-defined numerical output suitable for systematic trading frameworks
Risk Management Enhancement: Superior signal fidelity for risk exposure optimization
Customization Parameters
FibonacciFlux offers extensive customization to align with specific trading mandates and market conditions:
Fuzzy SMA Settings: Configure baseline trend identification parameters including SMA, ROC, and RSI lengths
Normalization Settings: Fine-tune the self-calibration mechanism with adjustable lookback period, percentile rank, and optional clamping
DCTI Parameters: Optimize trend structure confirmation with adjustable major/minor periods and signal smoothing
Visualization Controls: Customize display transparency for optimal chart integration
These parameters enable precise calibration for different asset classes, timeframes, and market regimes while maintaining the core analytical framework.
Implementation Notes
For optimal implementation, consider the following guidance:
Higher timeframes (4H+) benefit from increased normalization lookback (800+) for stability
Volatile assets may require adjusted clamping values (2.5-4.0) for optimal signal sensitivity
DCTI parameters should be aligned with chart timeframe (higher timeframes require increased major/minor periods)
The indicator performs exceptionally well as a trend filter for systematic trading strategies
Acknowledgments
FibonacciFlux builds upon the pioneering work of Donovan Wall in Donchian Channel Trend Intensity analysis. The normalization approach draws inspiration from percentile-based statistical techniques in quantitative finance. This indicator is shared for educational and analytical purposes under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
Past performance does not guarantee future results. All trading involves risk. This indicator should be used as one component of a comprehensive analysis framework.
Shout out @DonovanWall
Fuzzy SMA Trend Analyzer (experimental)[FibonacciFlux]Fuzzy SMA Trend Analyzer (Normalized): Advanced Market Trend Detection Using Fuzzy Logic Theory
Elevate your technical analysis with institutional-grade fuzzy logic implementation
Research Genesis & Conceptual Framework
This indicator represents the culmination of extensive research into applying fuzzy logic theory to financial markets. While traditional technical indicators often produce binary outcomes, market conditions exist on a continuous spectrum. The Fuzzy SMA Trend Analyzer addresses this limitation by implementing a sophisticated fuzzy logic system that captures the nuanced, multi-dimensional nature of market trends.
Core Fuzzy Logic Principles
At the heart of this indicator lies fuzzy logic theory - a mathematical framework designed to handle imprecision and uncertainty:
// Improved fuzzy_triangle function with guard clauses for NA and invalid parameters.
fuzzy_triangle(val, left, center, right) =>
if na(val) or na(left) or na(center) or na(right) or left > center or center > right // Guard checks
0.0
else if left == center and center == right // Crisp set (single point)
val == center ? 1.0 : 0.0
else if left == center // Left-shoulder shape (ramp down from 1 at center to 0 at right)
val >= right ? 0.0 : val <= center ? 1.0 : (right - val) / (right - center)
else if center == right // Right-shoulder shape (ramp up from 0 at left to 1 at center)
val <= left ? 0.0 : val >= center ? 1.0 : (val - left) / (center - left)
else // Standard triangle
math.max(0.0, math.min((val - left) / (center - left), (right - val) / (right - center)))
This implementation of triangular membership functions enables the indicator to transform crisp numerical values into degrees of membership in linguistic variables like "Large Positive" or "Small Negative," creating a more nuanced representation of market conditions.
Dynamic Percentile Normalization
A critical innovation in this indicator is the implementation of percentile-based normalization for SMA deviation:
// ----- Deviation Scale Estimation using Percentile -----
// Calculate the percentile rank of the *absolute* deviation over the lookback period.
// This gives an estimate of the 'typical maximum' deviation magnitude recently.
diff_abs_percentile = ta.percentile_linear_interpolation(math.abs(raw_diff), normLookback, percRank) + 1e-10
// ----- Normalize the Raw Deviation -----
// Divide the raw deviation by the estimated 'typical max' magnitude.
normalized_diff = raw_diff / diff_abs_percentile
// ----- Clamp the Normalized Deviation -----
normalized_diff_clamped = math.max(-3.0, math.min(3.0, normalized_diff))
This percentile normalization approach creates a self-adapting system that automatically calibrates to different assets and market regimes. Rather than using fixed thresholds, the indicator dynamically adjusts based on recent volatility patterns, significantly enhancing signal quality across diverse market environments.
Multi-Factor Fuzzy Rule System
The indicator implements a comprehensive fuzzy rule system that evaluates multiple technical factors:
SMA Deviation (Normalized): Measures price displacement from the Simple Moving Average
Rate of Change (ROC): Captures price momentum over a specified period
Relative Strength Index (RSI): Assesses overbought/oversold conditions
These factors are processed through a sophisticated fuzzy inference system with linguistic variables:
// ----- 3.1 Fuzzy Sets for Normalized Deviation -----
diffN_LP := fuzzy_triangle(normalized_diff_clamped, 0.7, 1.5, 3.0) // Large Positive (around/above percentile)
diffN_SP := fuzzy_triangle(normalized_diff_clamped, 0.1, 0.5, 0.9) // Small Positive
diffN_NZ := fuzzy_triangle(normalized_diff_clamped, -0.2, 0.0, 0.2) // Near Zero
diffN_SN := fuzzy_triangle(normalized_diff_clamped, -0.9, -0.5, -0.1) // Small Negative
diffN_LN := fuzzy_triangle(normalized_diff_clamped, -3.0, -1.5, -0.7) // Large Negative (around/below percentile)
// ----- 3.2 Fuzzy Sets for ROC -----
roc_HN := fuzzy_triangle(roc_val, -8.0, -5.0, -2.0)
roc_WN := fuzzy_triangle(roc_val, -3.0, -1.0, -0.1)
roc_NZ := fuzzy_triangle(roc_val, -0.3, 0.0, 0.3)
roc_WP := fuzzy_triangle(roc_val, 0.1, 1.0, 3.0)
roc_HP := fuzzy_triangle(roc_val, 2.0, 5.0, 8.0)
// ----- 3.3 Fuzzy Sets for RSI -----
rsi_L := fuzzy_triangle(rsi_val, 0.0, 25.0, 40.0)
rsi_M := fuzzy_triangle(rsi_val, 35.0, 50.0, 65.0)
rsi_H := fuzzy_triangle(rsi_val, 60.0, 75.0, 100.0)
Advanced Fuzzy Inference Rules
The indicator employs a comprehensive set of fuzzy rules that encode expert knowledge about market behavior:
// --- Fuzzy Rules using Normalized Deviation (diffN_*) ---
cond1 = math.min(diffN_LP, roc_HP, math.max(rsi_M, rsi_H)) // Strong Bullish: Large pos dev, strong pos roc, rsi ok
strength_SB := math.max(strength_SB, cond1)
cond2 = math.min(diffN_SP, roc_WP, rsi_M) // Weak Bullish: Small pos dev, weak pos roc, rsi mid
strength_WB := math.max(strength_WB, cond2)
cond3 = math.min(diffN_SP, roc_NZ, rsi_H) // Weakening Bullish: Small pos dev, flat roc, rsi high
strength_N := math.max(strength_N, cond3 * 0.6) // More neutral
strength_WB := math.max(strength_WB, cond3 * 0.2) // Less weak bullish
This rule system evaluates multiple conditions simultaneously, weighting them by their degree of membership to produce a comprehensive trend assessment. The rules are designed to identify various market conditions including strong trends, weakening trends, potential reversals, and neutral consolidations.
Defuzzification Process
The final step transforms the fuzzy result back into a crisp numerical value representing the overall trend strength:
// --- Step 6: Defuzzification ---
denominator = strength_SB + strength_WB + strength_N + strength_WBe + strength_SBe
if denominator > 1e-10 // Use small epsilon instead of != 0.0 for float comparison
fuzzyTrendScore := (strength_SB * STRONG_BULL +
strength_WB * WEAK_BULL +
strength_N * NEUTRAL +
strength_WBe * WEAK_BEAR +
strength_SBe * STRONG_BEAR) / denominator
The resulting FuzzyTrendScore ranges from -1 (strong bearish) to +1 (strong bullish), providing a smooth, continuous evaluation of market conditions that avoids the abrupt signal changes common in traditional indicators.
Advanced Visualization with Rainbow Gradient
The indicator incorporates sophisticated visualization using a rainbow gradient coloring system:
// Normalize score to for gradient function
normalizedScore = na(fuzzyTrendScore) ? 0.5 : math.max(0.0, math.min(1.0, (fuzzyTrendScore + 1) / 2))
// Get the color based on gradient setting and normalized score
final_color = get_gradient(normalizedScore, gradient_type)
This color-coding system provides intuitive visual feedback, with color intensity reflecting trend strength and direction. The gradient can be customized between Red-to-Green or Red-to-Blue configurations based on user preference.
Practical Applications
The Fuzzy SMA Trend Analyzer excels in several key applications:
Trend Identification: Precisely identifies market trend direction and strength with nuanced gradation
Market Regime Detection: Distinguishes between trending markets and consolidation phases
Divergence Analysis: Highlights potential reversals when price action and fuzzy trend score diverge
Filter for Trading Systems: Provides high-quality trend filtering for other trading strategies
Risk Management: Offers early warning of potential trend weakening or reversal
Parameter Customization
The indicator offers extensive customization options:
SMA Length: Adjusts the baseline moving average period
ROC Length: Controls momentum sensitivity
RSI Length: Configures overbought/oversold sensitivity
Normalization Lookback: Determines the adaptive calculation window for percentile normalization
Percentile Rank: Sets the statistical threshold for deviation normalization
Gradient Type: Selects the preferred color scheme for visualization
These parameters enable fine-tuning to specific market conditions, trading styles, and timeframes.
Acknowledgments
The rainbow gradient visualization component draws inspiration from LuxAlgo's "Rainbow Adaptive RSI" (used under CC BY-NC-SA 4.0 license). This implementation of fuzzy logic in technical analysis builds upon Fermi estimation principles to overcome the inherent limitations of crisp binary indicators.
This indicator is shared under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
Remember that past performance does not guarantee future results. Always conduct thorough testing before implementing any technical indicator in live trading.
NUPL Z-Score | Vistula LabsWhat is NUPL?
NUPL (Net Unrealized Profit/Loss) is a fundamental on-chain metric used to evaluate the profit or loss state of a cryptocurrency's market participants, such as Bitcoin (BTC) and Ethereum (ETH). It compares the current market capitalization—the total value of all coins at their current price—to the realized capitalization, which represents the average price at which all coins were last transacted on-chain.
Market Capitalization: Current price × circulating supply.
Realized Capitalization: The sum of the value of all coins based on the price at their last on-chain movement.
For Bitcoin (BTC):
NUPL = (Market Cap - Realized Cap) / Market Cap * 100
For Ethereum (ETH):
NUPL = (Market Cap - Realized Cap) / Market Cap
A positive NUPL indicates that the market holds unrealized profits, meaning the current value exceeds the price at which coins were last moved. A negative NUPL signals unrealized losses. Extreme NUPL values—high positives or low negatives—can suggest overvaluation (potential market tops) or undervaluation (potential market bottoms), respectively.
How NUPL is Calculated for BTC & ETH
This indicator calculates NUPL using data sourced from Glassnode and CoinMetrics:
For Bitcoin:
Market Cap: GLASSNODE:BTC_MARKETCAP
Realized Cap: COINMETRICS:BTC_MARKETCAPREAL
Formula: ((btc_market_cap - btc_market_cap_real) / btc_market_cap) * 100
For Ethereum:
Market Cap: GLASSNODE:ETH_MARKETCAP
Realized Cap: COINMETRICS:ETH_MARKETCAPREAL
Formula: ((eth_market_cap - eth_market_cap_real) / eth_market_cap) * 100
The indicator then transforms these NUPL values into a Z-Score, which measures how many standard deviations the current NUPL deviates from its historical average. The Z-Score calculation incorporates:
A customizable moving average of NUPL (options: SMA, EMA, DEMA, RMA, WMA, VWMA) over a user-defined length (default: 220 periods).
The standard deviation of NUPL over a specified lookback period (default: 200 periods).
Z-Score Formula:
Z-Score = (Current NUPL - Moving Average of NUPL) / Standard Deviation of NUPL
This normalization allows the indicator to highlight extreme market conditions regardless of the raw NUPL scale.
How This Indicator Can Be Used
Trend Following
The NUPL Z-Score indicator employs a trend-following system with adjustable thresholds to generate trading signals:
Long Signals: Triggered when the Z-Score crosses above the Long Threshold (default: 0.26).
Short Signals: Triggered when the Z-Score crosses below the Short Threshold (default: -0.62).
Visual Representations:
Green up-triangles: Indicate long entry points (plotted below the bar).
Red down-triangles: Indicate short entry points (plotted above the bar).
Color-coded elements:
Candles and Z-Score plot turn teal (#00ffdd) for long positions.
Candles and Z-Score plot turn magenta (#ff00bf) for short positions.
These signals leverage historical NUPL trends to identify potential momentum shifts, aiding traders in timing entries and exits.
Overbought/Oversold Conditions
The indicator flags extreme market states using additional thresholds:
Overbought Threshold (default: 3.0): When the Z-Score exceeds this level, the market may be significantly overvalued, hinting at potential selling pressure. Highlighted with a light magenta background (#ff00bf with 75% transparency).
Oversold Threshold (default: -2.0): When the Z-Score drops below this level, the market may be significantly undervalued, suggesting buying opportunities. Highlighted with a light teal background (#00ffdd with 75% transparency).
These extreme Z-Score levels have historically aligned with major market peaks and troughs, making them useful for medium- to long-term position management.
Customization Options
Traders can tailor the indicator to their preferences:
Cryptocurrency Source: Choose between BTC or ETH.
Moving Average Type: Select from SMA, EMA, DEMA, RMA, WMA, or VWMA.
Moving Average Length: Adjust the period for the NUPL moving average (default: 220).
Z-Score Lookback Period: Set the historical window for Z-Score calculation (default: 200).
Thresholds: Fine-tune values for: Long Threshold (default: 0.26), Short Threshold (default: -0.62), Overbought Threshold (default: 3.0), Oversold Threshold (default: -2.0)
These options enable users to adapt the indicator to various trading strategies and risk profiles.
Alerts
The indicator supports four alert conditions to keep traders informed:
NUPL Long Opportunity: Alerts when a long signal is triggered.
NUPL Short Opportunity: Alerts when a short signal is triggered.
NUPL Overbought Condition: Alerts when the Z-Score exceeds the overbought threshold.
NUPL Oversold Condition: Alerts when the Z-Score falls below the oversold threshold.
These alerts allow traders to monitor key opportunities without constantly watching the chart.
Multi-Fibonacci Trend Average[FibonacciFlux]Multi-Fibonacci Trend Average (MFTA): An Institutional-Grade Trend Confluence Indicator for Discerning Market Participants
My original indicator/Strategy:
Engineered for the sophisticated demands of institutional and advanced traders, the Multi-Fibonacci Trend Average (MFTA) indicator represents a paradigm shift in technical analysis. This meticulously crafted tool is designed to furnish high-definition trend signals within the complexities of modern financial markets. Anchored in the rigorous principles of Fibonacci ratios and augmented by advanced averaging methodologies, MFTA delivers a granular perspective on trend dynamics. Its integration of Multi-Timeframe (MTF) filters provides unparalleled signal robustness, empowering strategic decision-making with a heightened degree of confidence.
MFTA indicator on BTCUSDT 15min chart with 1min RSI and MACD filters enabled. Note the refined signal generation with reduced noise.
MFTA indicator on BTCUSDT 15min chart without MTF filters. While capturing more potential trading opportunities, it also generates a higher frequency of signals, including potential false positives.
Core Innovation: Proprietary Fibonacci-Enhanced Supertrend Averaging Engine
The MFTA indicator’s core innovation lies in its proprietary implementation of Supertrend analysis, strategically fortified by Fibonacci ratios to construct a truly dynamic volatility envelope. Departing from conventional Supertrend methodologies, MFTA autonomously computes not one, but three distinct Supertrend lines. Each of these lines is uniquely parameterized by a specific Fibonacci factor: 0.618 (Weak), 1.618 (Medium/Golden Ratio), and 2.618 (Strong/Extended Fibonacci).
// Fibonacci-based factors for multiple Supertrend calculations
factor1 = input.float(0.618, 'Factor 1 (Weak/Fibonacci)', minval=0.01, step=0.01, tooltip='Factor 1 (Weak/Fibonacci)', group="Fibonacci Supertrend")
factor2 = input.float(1.618, 'Factor 2 (Medium/Golden Ratio)', minval=0.01, step=0.01, tooltip='Factor 2 (Medium/Golden Ratio)', group="Fibonacci Supertrend")
factor3 = input.float(2.618, 'Factor 3 (Strong/Extended Fib)', minval=0.01, step=0.01, tooltip='Factor 3 (Strong/Extended Fib)', group="Fibonacci Supertrend")
This multi-faceted architecture adeptly captures a spectrum of market volatility sensitivities, ensuring a comprehensive assessment of prevailing conditions. Subsequently, the indicator algorithmically synthesizes these disparate Supertrend lines through arithmetic averaging. To achieve optimal signal fidelity and mitigate inherent market noise, this composite average is further refined utilizing an Exponential Moving Average (EMA).
// Calculate average of the three supertends and a smoothed version
superlength = input.int(21, 'Smoothing Length', tooltip='Smoothing Length for Average Supertrend', group="Fibonacci Supertrend")
average_trend = (supertrend1 + supertrend2 + supertrend3) / 3
smoothed_trend = ta.ema(average_trend, superlength)
The resultant ‘Smoothed Trend’ line emerges as a remarkably responsive yet stable trend demarcation, offering demonstrably superior clarity and precision compared to singular Supertrend implementations, particularly within the turbulent dynamics of high-volatility markets.
Elevated Signal Confluence: Integrated Multi-Timeframe (MTF) Validation Suite
MFTA transcends the limitations of conventional trend indicators by incorporating an advanced suite of three independent MTF filters: RSI, MACD, and Volume. These filters function as sophisticated validation protocols, rigorously ensuring that only signals exhibiting a confluence of high-probability factors are brought to the forefront.
1. Granular Lower Timeframe RSI Momentum Filter
The Relative Strength Index (RSI) filter, computed from a user-defined lower timeframe, furnishes critical momentum-based signal validation. By meticulously monitoring RSI dynamics on an accelerated timeframe, traders gain the capacity to evaluate underlying momentum strength with precision, prior to committing to signal execution on the primary chart timeframe.
// --- Lower Timeframe RSI Filter ---
ltf_rsi_filter_enable = input.bool(false, title="Enable RSI Filter", group="MTF Filters", tooltip="Use RSI from lower timeframe as a filter")
ltf_rsi_timeframe = input.timeframe("1", title="RSI Timeframe", group="MTF Filters", tooltip="Timeframe for RSI calculation")
ltf_rsi_length = input.int(14, title="RSI Length", minval=1, group="MTF Filters", tooltip="Length for RSI calculation")
ltf_rsi_threshold = input.int(30, title="RSI Threshold", minval=0, maxval=100, group="MTF Filters", tooltip="RSI value threshold for filtering signals")
2. Convergent Lower Timeframe MACD Trend-Momentum Filter
The Moving Average Convergence Divergence (MACD) filter, also calculated on a lower timeframe basis, introduces a critical layer of trend-momentum convergence confirmation. The bullish signal configuration rigorously mandates that the MACD line be definitively positioned above the Signal line on the designated lower timeframe. This stringent condition ensures a robust indication of converging momentum that aligns synergistically with the prevailing trend identified on the primary timeframe.
// --- Lower Timeframe MACD Filter ---
ltf_macd_filter_enable = input.bool(false, title="Enable MACD Filter", group="MTF Filters", tooltip="Use MACD from lower timeframe as a filter")
ltf_macd_timeframe = input.timeframe("1", title="MACD Timeframe", group="MTF Filters", tooltip="Timeframe for MACD calculation")
ltf_macd_fast_length = input.int(12, title="MACD Fast Length", minval=1, group="MTF Filters", tooltip="Fast EMA length for MACD")
ltf_macd_slow_length = input.int(26, title="MACD Slow Length", minval=1, group="MTF Filters", tooltip="Slow EMA length for MACD")
ltf_macd_signal_length = input.int(9, title="MACD Signal Length", minval=1, group="MTF Filters", tooltip="Signal SMA length for MACD")
3. Definitive Volume Confirmation Filter
The Volume Filter functions as an indispensable arbiter of trade conviction. By establishing a dynamic volume threshold, defined as a percentage relative to the average volume over a user-specified lookback period, traders can effectively ensure that all generated signals are rigorously validated by demonstrably increased trading activity. This pivotal validation step signifies robust market participation, substantially diminishing the potential for spurious or false breakout signals.
// --- Volume Filter ---
volume_filter_enable = input.bool(false, title="Enable Volume Filter", group="MTF Filters", tooltip="Use volume level as a filter")
volume_threshold_percent = input.int(title="Volume Threshold (%)", defval=150, minval=100, group="MTF Filters", tooltip="Minimum volume percentage compared to average volume to allow signal (100% = average)")
These meticulously engineered filters operate in synergistic confluence, requiring all enabled filters to definitively satisfy their pre-defined conditions before a Buy or Sell signal is generated. This stringent multi-layered validation process drastically minimizes the incidence of false positive signals, thereby significantly enhancing entry precision and overall signal reliability.
Intuitive Visual Architecture & Actionable Intelligence
MFTA provides a demonstrably intuitive and visually rich charting environment, meticulously delineating trend direction and momentum through precisely color-coded plots:
Average Supertrend: Thin line, green/red for uptrend/downtrend, immediate directional bias.
Smoothed Supertrend: Bold line, teal/purple for uptrend/downtrend, cleaner, institutionally robust trend.
Dynamic Trend Fill: Green/red fill between Supertrends quantifies trend strength and momentum.
Adaptive Background Coloring: Light green/red background mirrors Smoothed Supertrend direction, holistic trend perspective.
Precision Buy/Sell Signals: ‘BUY’/‘SELL’ labels appear on chart when trend touch and MTF filter confluence are satisfied, facilitating high-conviction trade action.
MFTA indicator applied to BTCUSDT 4-hour chart, showcasing its effectiveness on higher timeframes. The Smoothed Length parameter is increased to 200 for enhanced smoothness on this timeframe, coupled with 1min RSI and Volume filters for signal refinement. This illustrates the indicator's adaptability across different timeframes and market conditions.
Strategic Applications for Institutional Mandates
MFTA’s sophisticated design provides distinct advantages for advanced trading operations and institutional investment mandates. Key strategic applications include:
High-Probability Trend Identification: Fibonacci-averaged Supertrend with MTF filters robustly identifies high-probability trend continuations and reversals, enhancing alpha generation.
Precision Entry/Exit Signals: Volume and momentum-filtered signals enable institutional-grade precision for optimized risk-adjusted returns.
Algorithmic Trading Integration: Clear signal logic facilitates seamless integration into automated trading systems for scalable strategy deployment.
Multi-Asset/Timeframe Versatility: Adaptable parameters ensure applicability across diverse asset classes and timeframes, catering to varied trading mandates.
Enhanced Risk Management: Superior signal fidelity from MTF filters inherently reduces false signals, supporting robust risk management protocols.
Granular Customization and Parameterized Control
MFTA offers unparalleled customization, empowering users to fine-tune parameters for precise alignment with specific trading styles and market conditions. Key adjustable parameters include:
Fibonacci Factors: Adjust Supertrend sensitivity to volatility regimes.
ATR Length: Control volatility responsiveness in Supertrend calculations.
Smoothing Length: Refine Smoothed Trend line responsiveness and noise reduction.
MTF Filter Parameters: Independently configure timeframes, lookback periods, and thresholds for RSI, MACD, and Volume filters for optimal signal filtering.
Disclaimer
MFTA is meticulously engineered for high-quality trend signals; however, no indicator guarantees profit. Market conditions are unpredictable, and trading involves substantial risk. Rigorous backtesting and forward testing across diverse datasets, alongside a comprehensive understanding of the indicator's logic, are essential before live deployment. Past performance is not indicative of future results. MFTA is for informational and analytical purposes only and is not financial or investment advice.
IBD Style Relative Strength RatingWelcome to the IBD Style Relative Strength Rating Indicator!
A powerful tool inspired by Investor's Business Daily (IBD), this indicator helps traders evaluate stock performance relative to a benchmark. It’s perfect for identifying strong or weak stocks compared to the broader market, specifically the S&P 500 (SPY). Whether you're a beginner or an experienced investor, this guide will walk you through its features and key concepts, including the RS Line and RS Rating, and how legendary trader Mark Minervini uses similar tools.
Understanding the RS Line & RS Rating
RS Line (Relative Strength Line)
A visual representation of how a stock’s price performs relative to SPY.
Calculated by dividing the stock’s closing price by SPY’s closing price and multiplying by 100.
Rising RS Line → Stock is outperforming SPY.
Falling RS Line → Stock is underperforming SPY.
Helps identify strength or weakness compared to the market.
RS Rating
A numerical score (1-99) measuring stock performance over 252 trading days (1 year) relative to SPY.
Above 80 → Top 20% of performers.
Above 90 → Top 10% (ideal for growth investors).
Weighted average of stock’s price changes over 63, 126, 189, and 252 days.
Key Features Explained
RS Line Color Mode:
Static (default white) or Dynamic (green when rising, red when falling) for quick trend identification.
Comparative Symbol:
Default: SPY. Can be changed to NASDAQ:NDX, AAPL, or other indices/stocks.
Ensure selected symbols have sufficient historical data.
Plot RS New Highs: Marks new 250-day highs with subtle blue circles
Indicates a stock significantly outperforming SPY (potential buy signal).
Plot RS New Lows: Marks new 250-day lows with red circles
Signals underperformance (possible sell or avoid indicator).
Lookback for Display: Adjustable up to 2000 bars for historical trend analysis.
RS Rating Color Scheme
Green: Upward trend (improving RS Rating).
Orange: Neutral/mixed trend.
Red: Downward trend (declining RS Rating).
Dynamic Color Settings
Rising Line Color: Green (default), customizable.
Falling Line Color: Red (default), adjustable.
Advanced Options
Enable Replay Mode: Uses fixed percentile values for consistent RS Rating calculations in backtesting.
RS Rating Table
Displays current RS Rating and values from previous day, week, and month in the top-right corner (daily charts).
Background color reflects trend: Green (up), Orange (neutral), Red (down).
Past values appear in neutral gray for a quick performance snapshot.
How Mark Minervini Uses This Indicator
Mark Minervini, a legendary trader, emphasizes Relative Strength as a core strategy:
Looks for stocks with:
Rising RS Line.
RS Rating above 80-90 (top performers).
RS New Highs to spot breakout candidates.
Avoids stocks with:
Declining RS Line.
RS Rating below 70.
Important Information for Beginners
RS vs. SPY
The indicator compares stock performance against SPY (S&P 500).
Rising RS Line → Stock is beating SPY.
Falling RS Line → Stock is lagging.
Why Use This Indicator?
Helps find strong relative strength stocks, crucial for bullish trends.
New highs/lows on the RS Line signal significant shifts.
The RS Rating quantifies percentile-based performance.
Customization Options
Adjust colors, lookback periods, and marker sizes to match your trading style.
Default SPY comparison is ideal for U.S. traders but can be customized.
Timeframe Considerations
Optimized for daily charts.
Weekly/monthly charts may have limited data availability.
Tips for Crypto Traders (Measuring Altcoins vs. Bitcoin or Total Market Cap)
If trading cryptocurrencies, this indicator can measure altcoins vs. Bitcoin (BTC) or the total crypto market cap (TOTAL):
Comparative Symbol Setup:
Set Comparative Symbol to BTCUSD to compare an altcoin (e.g., ETHUSD) against Bitcoin.
Rising RS Line → The altcoin is outperforming Bitcoin (bullish signal).
Use TOTAL (crypto market cap index) to assess an altcoin’s strength against the total market.
High RS Rating suggests the altcoin is a market leader.
Adjust Look-back Periods:
Crypto markets are volatile, so reduce Look-back for New Highs/Lows to 50-100 bars (about 2-4 months) for shorter-term trends.
Fine-tune based on your trading strategy.
New Highs and Lows:
Watch for new RS Line highs (blue dots) to identify altcoins breaking out against BTC or TOTAL (momentum trading).
New lows (red dots) may signal weakening altcoins to avoid.
RS Rating Interpretation:
Above 80 against BTC or TOTAL → The altcoin is a strong performer.
This aligns with Minervini’s growth strategy for stocks.
Color Dynamics:
Use Dynamic RS Line Color (green for rising, red for falling) to quickly spot altcoin trends against BTC or TOTAL.
Crypto data may have gaps—test indicator settings on different timeframes (e.g., 1-hour or 4-hour charts).
Tips for Getting Started
Apply the Indicator to a stock chart and set Comparative Symbol to SPY.
Watch the RS Line:
If trending upward with new highs and RS Rating > 80, it's a strong candidate.
Use the RS Rating Table to check for trend consistency.
Adjust Opacity Settings for markers to balance visibility and clarity.
This indicator is now ready for public use as of March 18, 2025. Enjoy trading with enhanced insights, and feel free to share feedback or suggestions for future updates!
Volume Aggregated Spot & FuturesAggregated volume for cryptos using spot and perpetual contracts but only those that are based on normal volume and not on tick volume.
Provides more reliable volume than volume from one provider.
Thanks to HALDRO because it's his code and I simplified it to create this version.
Rally Base Drop SND Pivots Strategy [LuxAlgo X PineIndicators]This strategy is based on the Rally Base Drop (RBD) SND Pivots indicator developed by LuxAlgo. Full credit for the concept and original indicator goes to LuxAlgo.
The Rally Base Drop SND Pivots Strategy is a non-repainting supply and demand trading system that detects pivot points based on Rally, Base, and Drop (RBD) candles. This strategy automatically identifies key market structure levels, allowing traders to:
Identify pivot-based supply and demand (SND) zones.
Use fixed criteria for trend continuation or reversals.
Filter out market noise by requiring structured price formations.
Enter trades based on breakouts of key SND pivot levels.
How the Rally Base Drop SND Pivots Strategy Works
1. Pivot Point Detection Using RBD Candles
The strategy follows a rigid market structure methodology, where pivots are detected only when:
A Rally (R) consists of multiple consecutive bullish candles.
A Drop (D) consists of multiple consecutive bearish candles.
A Base (B) is identified as a transition between Rallies and Drops, acting as a pivot point.
The pivot level is confirmed when the formation is complete.
Unlike traditional fractal-based pivots, RBD Pivots enforce stricter structural rules, ensuring that each pivot:
Has a well-defined bullish or bearish price movement.
Reduces false signals caused by single-bar fluctuations.
Provides clear supply and demand levels based on structured price movements.
These pivot levels are drawn on the chart using color-coded boxes:
Green zones represent bullish pivot levels (Rally Base formations).
Red zones represent bearish pivot levels (Drop Base formations).
Once a pivot is confirmed, the high or low of the base candle is used as the reference level for future trades.
2. Trade Entry Conditions
The strategy allows traders to select from three trading modes:
Long Only – Only takes long trades when bullish pivot breakouts occur.
Short Only – Only takes short trades when bearish pivot breakouts occur.
Long & Short – Trades in both directions based on pivot breakouts.
Trade entry signals are triggered when price breaks through a confirmed pivot level:
Long Entry:
A bullish pivot level is formed.
Price breaks above the bullish pivot level.
The strategy enters a long position.
Short Entry:
A bearish pivot level is formed.
Price breaks below the bearish pivot level.
The strategy enters a short position.
The strategy includes an optional mode to reverse long and short conditions, allowing traders to experiment with contrarian entries.
3. Exit Conditions Using ATR-Based Risk Management
This strategy uses the Average True Range (ATR) to calculate dynamic stop-loss and take-profit levels:
Stop-Loss (SL): Placed 1 ATR below entry for long trades and 1 ATR above entry for short trades.
Take-Profit (TP): Set using a Risk-Reward Ratio (RR) multiplier (default = 6x ATR).
When a trade is opened:
The entry price is recorded.
ATR is calculated at the time of entry to determine stop-loss and take-profit levels.
Trades exit automatically when either SL or TP is reached.
If reverse conditions mode is enabled, stop-loss and take-profit placements are flipped.
Visualization & Dynamic Support/Resistance Levels
1. Pivot Boxes for Market Structure
Each pivot is marked with a colored box:
Green boxes indicate bullish demand zones.
Red boxes indicate bearish supply zones.
These boxes remain on the chart to act as dynamic support and resistance levels, helping traders identify key price reaction zones.
2. Horizontal Entry, Stop-Loss, and Take-Profit Lines
When a trade is active, the strategy plots:
White line → Entry price.
Red line → Stop-loss level.
Green line → Take-profit level.
Labels display the exact entry, SL, and TP values, updating dynamically as price moves.
Customization Options
This strategy offers multiple adjustable settings to optimize performance for different market conditions:
Trade Mode Selection → Choose between Long Only, Short Only, or Long & Short.
Pivot Length → Defines the number of required Rally & Drop candles for a pivot.
ATR Exit Multiplier → Adjusts stop-loss distance based on ATR.
Risk-Reward Ratio (RR) → Modifies take-profit level relative to risk.
Historical Lookback → Limits how far back pivot zones are displayed.
Color Settings → Customize pivot box colors for bullish and bearish setups.
Considerations & Limitations
Pivot Breakouts Do Not Guarantee Reversals. Some pivot breaks may lead to continuation moves instead of trend reversals.
Not Optimized for Low Volatility Conditions. This strategy works best in trending markets with strong momentum.
ATR-Based Stop-Loss & Take-Profit May Require Optimization. Different assets may require different ATR multipliers and RR settings.
Market Noise May Still Influence Pivots. While this method filters some noise, fake breakouts can still occur.
Conclusion
The Rally Base Drop SND Pivots Strategy is a non-repainting supply and demand system that combines:
Pivot-based market structure analysis (using Rally, Base, and Drop candles).
Breakout-based trade entries at confirmed SND levels.
ATR-based dynamic risk management for stop-loss and take-profit calculation.
This strategy helps traders:
Identify high-probability supply and demand levels.
Trade based on structured market pivots.
Use a systematic approach to price action analysis.
Automatically manage risk with ATR-based exits.
The strict pivot detection rules and built-in breakout validation make this strategy ideal for traders looking to:
Trade based on market structure.
Use defined support & resistance levels.
Reduce noise compared to traditional fractals.
Implement a structured supply & demand trading model.
This strategy is fully customizable, allowing traders to adjust parameters to fit their market and trading style.
Full credit for the original concept and indicator goes to LuxAlgo.