Arnaud Legoux Trend Aggregator | Lyro RSArnaud Legoux Trend Aggregator
Introduction
Arnaud Legoux Trend Aggregator is a custom-built trend analysis tool that blends classic market oscillators with advanced normalization, advanced math functions and Arnaud Legoux smoothing. Unlike conventional indicators, 𝓐𝓛𝓣𝓐 aggregates market momentum, volatility and trend strength.
Signal Insight
The 𝓐𝓛𝓣𝓐 line visually reflects the aggregated directional bias. A rise above the middle line threshold signals bullish strength, while a drop below the middle line indicates bearish momentum.
Another way to interpret the 𝓐𝓛𝓣𝓐 is through overbought and oversold conditions. When the 𝓐𝓛𝓣𝓐 rises above the +0.7 threshold, it suggests an overbought market and signals a strong uptrend. Conversely, a drop below the -0.7 level indicates an oversold condition and a strong downtrend.
When the oscillator hovers near the zero line, especially within the neutral ±0.3 band, it suggests that no single directional force is dominating—common during consolidation phases or pre-breakout compression.
Real-World Example
Usually 𝓐𝓛𝓣𝓐 is used by following the bar color for simple signals; however, like most indicators there are unique ways to use an indicator. Let’s dive deep into such ways.
The market begins with a green bar color, raising awareness for a potential long setup—but not a direct entry. In this methodology, bar coloring serves as an alert mechanism rather than a strict entry trigger.
The first long position was initiated when the 𝓐𝓛𝓣𝓐 signal line crossed above the +0.3 threshold, suggesting a shift in directional acceleration. This entry coincided with a rising price movement, validating the trade.
As price advanced, the position was exited into cash—not reversed into a short—because the short criteria for this use case are distinct. The exit was prompted by 𝓐𝓛𝓣𝓐 crossing back below the +0.3 level, signaling the potential weakening of the long trend.
Later, as 𝓐𝓛𝓣𝓐 crossed below 0, attention shifted toward short opportunities. A short entry was confirmed when 𝓐𝓛𝓣𝓐 dipped below -0.3, indicating growing downside momentum. The position was eventually closed when 𝓐𝓛𝓣𝓐 crossed back above the -0.3 boundary—signaling a possible deceleration of the bearish move.
This logic was consistently applied in subsequent setups, emphasizing the role of 𝓐𝓛𝓣𝓐’s thresholds in guiding both entries and exits.
Framework
The Arnaud Legoux Trend Aggregator (ALTA) combines multiple technical indicators into a single smoothed signal. It uses RSI, MACD, Bollinger Bands, Stochastic Momentum Index, and ATR.
Each indicator's output is normalized to a common scale to eliminate bias and ensure consistency. These normalized values are then transformed using a hyperbolic tangent function (Tanh).
The final score is refined with a custom Arnaud Legoux Moving Average (ALMA) function, which offers responsive smoothing that adapts quickly to price changes. This results in a clear signal that reacts efficiently to shifting market conditions.
⚠️ WARNING ⚠️: THIS INDICATOR, OR ANY OTHER WE (LYRO RS) PUBLISH, IS NOT FINANCIAL OR INVESTMENT ADVICE. EVERY INDICATOR SHOULD BE COMBINED WITH PRICE ACTION, FUNDAMENTALS, OTHER TECHNICAL ANALYSIS TOOLS & PROPER RISK. MANAGEMENT.
Cripto
CryptoNeo - Crypto Market Directionnal StrengthCryptoNeo – Crypto Market Directional Strength is a quantitative, multi-factor trend scoring tool designed to help traders identify the directional bias of the crypto market by aggregating key flow and sentiment signals into a single visual output.
This indicator is the result of multi-alpha signal research originally developed for a systematic trading strategy. It has now been optimized for discretionary traders who want to see real-time directional consensus across stablecoin flows, market structure shifts, and premium dynamics.
The script computes a Trend Score based on multiple real-time crypto signals. Each signal contributes to the score based on user-defined weights, and the result is visualized as color-coded columns on your chart, helping you quickly assess bullish or bearish strength.
Aggregated Signals:
Stablecoin Futures Flow (bullish/bearish) - Detects leveraged sentiment via stablecoin perpetual futures rates deviations.
Stablecoin Spot Flow (bullish/bearish) - Flags potential accumulation or distribution behavior in spot markets.
Stablecoin Market Cap Trend - Captures expansion or contraction in total stablecoin supply to indicate macro liquidity shifts.
USDC/USDT Rate Divergence - Identifies subtle pressure between the leading stablecoins, hinting at stress or capital flight.
Derivatives Overleverage Signal - Detects potentially dangerous funding-driven setups in the futures market.
Coinbase Premium Trend - Highlights differences between U.S. and global crypto prices, often a proxy for retail or institutional demand.
The score is plotted using the Directional Strength Score column chart:
🟢 Green – strong bullish alignment (score ≥ 3)
🟡 Yellow – mild bullish bias (score = 1–2)
⚪ White – neutral or indecisive (score ≈ 0)
🟠 Orange – mild bearish bias (score = –1 or –2)
🔴 Red – strong bearish alignment (score ≤ –3)
All components include weight inputs, allowing you to control how much influence each factor has on the final score, enabling you to personalize the indicator for different pairs, market conditions, or strategies.
Best to use For:
Traders focused on BTC, ETH, SOL, DOGE, and other large-cap cryptocurrencies
30-minute to 4-hour timeframes
Swing trading, trend confirmation, or sentiment filtering
Spotting potential trend shifts, fakeouts, or market exhaustion
CryptoNeo - Crypto Stablecoin MatrixThe CryptoNeo – Crypto Stablecoin Matrix is a forward-looking indicator that decodes broad crypto market sentiment by analyzing how stablecoins behave across spot and futures markets.
Stablecoins are the lifeblood of the crypto ecosystem, and how they move can offer early insight into future market direction. This tool leverages that behavior to forecast potential price action across major cryptocurrencies like BTC, ETH, SOL, DOGE, and other large-cap coins that tend to move in sync with the broader market.
Originally derived from a suite of alpha signals developed for a systematic crypto trading algorithm, this indicator compresses advanced stablecoin flow analytics into a clear and intuitive visual format — designed specifically for discretionary traders.
It is optimized for trading on the 30-minute to 4-hour timeframes, where the nuances of capital flow are most actionable. Whether you’re swing trading majors or scouting key pivot points, this tool provides a fresh edge rooted in stablecoin dynamics.
The Matrix is composed of four core components that signal changes in sentiment, capital flow, and market positioning:
1. Stablecoin Futures Flow (Bullish/Bearish)
Detects shifts in leveraged positioning in the futures market based on proprietary flow dynamics.
🟩 Green squares = bullish futures flow (long bias)
🟥 Red squares = bearish futures flow (short bias)
Helps identify directional sentiment through futures-driven stablecoin movement.
2. Stablecoin Spot Flow (Bullish/Bearish)
Analyzes momentum in spot market stablecoin activity to reveal potential accumulation or distribution.
🟢 Green circles = bullish spot flow (buying pressure)
🔴 Red circles = bearish spot flow (selling pressure)
Offers early signals of demand or profit-taking pressure.
3. Futures Oversold/Overbought Level 1
Identifies early signs of exhaustion or trend slowing based on leveraged market conditions.
🟢 Green diamonds = early oversold signal
🔴 Red diamonds = early overbought signal
Useful for catching subtle turning points or slowing momentum.
4. Futures Oversold/Overbought Level 2
Flags rare and extreme positioning events that may precede major reversals.
🟢 Large green diamonds = deep oversold condition
🔴 Large red diamonds = deep overbought condition
Highlights moments of extreme imbalance or sentiment peaks.
Customization & Flexibility
Adjustable sensitivity settings allow you to fine-tune:
Bullish and bearish Spot and Futures Flow
Thresholds for Level 1 and Level 2 Overbought/Oversold signals
This ensures traders can align signal responsiveness with their trading style and market conditions.
Best Used For:
Swing trading crypto majors (BTC, ETH, SOL, DOGE, etc.)
Timeframes between 30 minutes and 4 hours
Identifying trend reversals and accumulation zones
Tracking macro market sentiment using stablecoin behavior
[Stoxello] Linear Regression Chop Zone Indicator📊 Linear Regression Chop Zone Indicator – Description
The Stoxello Linear Regression Chop Zone Indicator is a custom-built, multi-functional visual tool for identifying market trend direction, strength, and potential entry/exit signals using a combination of linear regression, EMA slope angles, and volatility-adjusted smoothing.
🧠 Core Features:
🔶 1. Chop Zone Color Coding (Trend Strength via EMA Angle)
The script calculates the angle of a 34-period EMA, representing momentum and trend steepness.
This angle is then translated into color-coded bars on the chart to help traders visually identify chop zones and trend strength.
Turquoise / Dark Green / Pale Green = Increasing bullish trend.
Lime / Yellow = Neutral or low momentum (choppy zones).
Orange / Red / Dark Red = Increasing bearish trend.
🔶 2. Linear Regression Deviation Channels (Trend Path)
A custom linear regression line is drawn with +/- deviation bands above and below it.
These lines track the expected price path and visually define upper/lower zones, similar to regression channels.
The correlation (R) and determination (R²) values are displayed as labels on the chart, measuring the strength and reliability of the linear fit.
🔶 3. Linear Regression-Adjusted EMA (Smoothing with Volatility)
A novel volatility-adaptive EMA is computed by combining a traditional EMA with distance from a linear regression line.
The result is a dynamic EMA that becomes more reactive in volatile conditions and smoother in stable ones.
Two lines are plotted:
Primary EMA (Yellow)
Trigger Line (Lagged by 2 bars, Fuchsia)
The fill color between these two helps visualize short-term bullish or bearish pressure.
🔶 4. Buy/Sell Signal Logic with De-Duplication
Buy signals are triggered when:
The adjusted EMA crosses above its previous value (bullish inflection).
Or when the EMA angle exceeds +5° (strong trend detected).
Sell signals occur when:
The adjusted EMA crosses below its previous value.
Each signal is deduplicated by tracking the last signal using var string lastSignal:
No repeat buys after a buy, or sells after a sell.
Signals are marked on the chart using clean text labels:
Buy: "•Entry• = Price"
Sell: "•Exit• = Price"
🔶 5. Alerts
Two alertconditions are included for:
BUY signals (long_signal)
SELL signals (short_signal)
Can be used with webhooks, email, or app notifications to automate or monitor trades.
🔍 Ideal Use Cases:
Traders who want a clear visual aid for market chop vs. trend.
Swing or intraday traders looking for adaptive entry/exit points.
Anyone combining regression analysis and momentum tracking into one indicator.
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.
SectorRotationRadarThe Sector Rotation Radar is a powerful visual analysis tool designed to track the relative strength and momentum of a stock compared to a benchmark index and its associated sector ETF. It helps traders and investors identify where an asset stands within the broader market cycle and spot rotation patterns across sectors and timeframes.
🔧 Key Features:
Benchmark Comparison: Measures the relative performance (strength and momentum) of the current symbol against a chosen benchmark (default: SPX), highlighting over- or underperformance.
Automatic Sector Detection: Automatically links stocks to their relevant sector ETFs (e.g., XLK, XLF, XLU), based on an extensive internal symbol map.
Multi-Timeframe Analysis: Supports simultaneous comparison across the current, next, and even third-higher timeframes (e.g., Daily → Weekly → Monthly), providing a bigger-picture perspective of trend shifts.
Tail Visualization: Displays a "trail" of price behavior over time, visualizing how the asset has moved in terms of relative strength and momentum across a user-defined period.
Quadrant-Based Layout: The chart is divided into four dynamic main zones, each representing a phase in the strength/momentum cycle:
🔄 Improving: Gaining strength and momentum
🚀 Leading: High strength and high momentum — top performers
💤 Weakening: Losing momentum while still strong
🐢 Lagging: Low strength and low momentum — underperformers
Clean Chart Visualization:
Background grid with axis labels
Dynamic tails and data points for each symbol
Option to include the associated sector ETF for context
Descriptive labels showing exact strength/momentum values per point
⚙️ Customization Options:
Benchmark Selector: Choose any symbol to compare against (e.g., SPX, Nasdaq, custom index)
Start Date Control: Option to fix a historical start point or use the current data range
Trail Length: Set the number of previous data points to display
Additional Timeframes: Enable analysis of one or two higher timeframes beyond the current
Sector ETF Display: Toggle to show or hide the related sector ETF alongside the asset
📚 Technical Architecture:
The indicator relies on external modules for:
Statistical modeling
Relative strength and momentum calculations
Chart rendering and label drawing
These components work together to compute and display a dynamic, real-time map of asset performance over time.
🧠 Use Case:
Sector Rotation Radar is ideal for traders looking to:
Spot stocks or sectors rotating into strength or weakness
Confirm alignment across multiple timeframes
Identify sector leaders and laggards
Understand how a symbol is positioned relative to the broader market and its peers
This tool is especially valuable for swing traders, sector rotation strategies, and macro-aware investors who want a visual edge in decision-making.
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.