Liquidation Levels [mm-scan]📈 mm-scan : Liquidation Levels
Greetings!
I'd like to introduce you to a custom-built TradingView indicator. I hope you will find sometime to test it out and send feedback below in the comments. Feel free to ask any questions.
This tool is constructed using traditional oscillators such as MFI (Money Flow Index), RSI (Relative Strength Index), MOM (Momentum), and others. These classic tools serve as the foundation for something more advanced.
💡 What's Unique?
The concept is simple but powerful :
Where the market shifts its bias, or is heavily skewed in one direction, it often becomes a zone of increased liquidity.
These areas are natural magnets for price movement — where stop-losses get hit, and trapped traders are flushed out.
I've focused on the most biased areas these oscillators offer — using them as signal points to map out potential liquidation levels on the chart.
The mm-scan indicator highlights these zones, giving you an edge in identifying high-probability contrarian trade setups between liquidity pockets.
Crypto
Azro Systems™ Top/Bottom – XRP ModuleDetects statistically extreme capitulation or euphoria in XRP’s long-term cycle.
The indicator overlays “Bottom” or “Top” labels when a proprietary multi-factor
model confirms a macro inflection on the weekly XRP-USD chart.
• Built-in adaptive architecture auto-tunes to evolving market structure—no settings to tweak.
• Designed strictly for the weekly timeframe; treat labels as a directional compass and always confirm entries with independent risk-management rules.
• Trading carries risk; past performance is not indicative of future results.
Tenoris Trend Line + Dashboard (Real Arrows)Tenoris Trend Dashboard-shows Tenoris based trend on current chart and color of open live candle on current chart. used for live trading to make confirmation between chart timeframes easier and faster. Authored by David Fauvre, TrendGuruX part of the Tenoris Apex Suite of indicators.
Crypto Fear & Greed Score [Underblock]Crypto Fear & Greed Score - Methodology & Functioning
Introduction
The Crypto Fear & Greed Score is a comprehensive indicator designed to assess market sentiment by detecting extreme conditions of panic (fear) and euphoria (greed). By combining multiple technical factors, it helps traders identify potential buying and selling opportunities based on the emotional state of the market.
This indicator is highly customizable, allowing users to adjust weight parameters for RSI, volatility, Bitcoin dominance, and trading volume, making it adaptable to different market conditions.
Key Components
The indicator consists of two primary sub-scores:
Fear Score (Panic) - Measures the intensity of fear in the market.
Greed Score (Euphoria) - Measures the level of overconfidence and excessive optimism.
The difference between these two values results in the Net Score, which indicates the dominant market sentiment at any given time.
1. Relative Strength Index (RSI)
The indicator utilizes multiple RSI timeframes to measure momentum and overbought/oversold conditions:
RSI 1D (Daily) - Captures medium-term sentiment shifts.
RSI 4H (4-hour) - Identifies short-term market movements.
RSI 1W (Weekly) - Helps detect long-term overbought/oversold conditions.
2. Volatility Analysis
High volatility is often associated with fear and panic-driven selling.
Low volatility in bullish markets may indicate complacency and overconfidence.
3. Bitcoin Dominance (BTC.D)
Bitcoin dominance provides insights into capital flow between Bitcoin and altcoins:
Rising BTC dominance suggests fear as investors move into BTC for safety.
Declining BTC dominance indicates increased risk appetite and potential market euphoria.
4. Buying and Selling Volume
The indicator analyzes both buying and selling volume, ensuring a clearer confirmation of market sentiment.
High buying volume in uptrends reinforces bullish momentum.
Spikes in selling volume indicate panic and possible market bottoms.
Calculation Methodology
The indicator allows users to adjust weight parameters for each component, making it adaptable to different trading strategies. The formulas are structured as follows:
Fear Score (Panic Calculation)
Fear Score = (1 - RSI_1D) * W_RSI1D + (1 - RSI_4H) * W_RSI4H + (1 - Dominance) * W_Dominance + Volatility * W_Volatility + Sell Volume * W_SellVolume
Greed Score (Euphoria Calculation)
Greed Score = RSI_1D * W_RSI1D + RSI_4H * W_RSI4H + Dominance * W_Dominance + (1 - Volatility) * W_Volatility + Buy Volume * W_BuyVolume
Net Fear & Greed Score
Net Score = (Greed Score - Fear Score) * 100
Interpretation:
Above 70: Extreme greed -> possible overbought conditions.
Below -70: Extreme fear -> potential buying opportunity.
Near 0: Neutral market sentiment.
Trend Reversal Detection
The indicator includes two moving averages for enhanced trend detection:
Short-term SMA (50-periods) - Reacts quicklier to changes in sentiment.
Long-term SMA (200-periods) - Captures broader trend reversals.
How Crossovers Work:
Short SMA crossing above Long SMA -> Potential bullish reversal.
Short SMA crossing below Long SMA -> Possible bearish trend shift.
Alerts for SMA crossovers help traders act on momentum shifts in real-time.
Customization and Visualization
The Net Score dynamically changes color: green for greed, red for fear.
Users can adjust weightings directly from settings, avoiding manual script modifications.
Reference levels at 70 and -70 provide clarity on extreme market conditions.
Conclusion
The Crypto Fear & Greed Score provides a powerful and objective measure of market sentiment, helping traders navigate extreme conditions effectively.
🟢 If the Net Score is below -70, panic may present a buying opportunity.
🔴 If the Net Score is above 70, excessive euphoria may indicate a selling opportunity.
⚖️ Neutral values suggest a balanced market sentiment.
By customizing weight parameters and utilizing trend reversal alerts, traders can gain a deeper insight into market psychology and make more informed trading decisions. 🚀
Crypto Fusion Signal by ictnlifeCrypto Fusion Signal is a crypto indicator
Features:
Volume change display based on multiple algorithms
Open Interests change display from multiple data sources
Based on Volume and OI, show potential supply and demand zones
Settings:
Enable/disable fusion signal function
Whether to display supply and demand zones
Whether to show high and low trading volume changes
Modify the transaction volume change algorithm
Whether to display the OI change amount
Modify the threshold multiplier for OI calculation
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.
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.
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.
NY Exchanges Trading Hours ShadingThis indicator shades 24-hour charts (e.g. crypto), similar to how TradingView can shade NYSE and NASDAQ traded securities for after-hours and pre-market trading hours.
But unlike standard securities charts, it doesn't also hide fully-closed hours - it shades them a third color.
Why?
- Even when trading crypto or non-Yew York market securities, you need to be aware of when the New York markets open and close. The whole world, including crypto price action, is often strongly affected by the New York stock markets. (Especially just after opening, and just before closing.)
- "After-hours" trading hours (4:OOPM to 8:00PM) are shaded with a subtle blue background, by default.
- "Pre-market" trading hours (4:00AM to 9:30 AM) are shaded a subtle orange background, by default.
- Completely closed hours in between - and weekends - are shaded a subtle dark green, by default.
This has no awareness of trading holidays - only weekends.
By default it disables itself on day view and higher.
Regular trading hours are from 9:30AM to 4:00PM Eastern time, Monday through Friday. Those may be different times in your time zone, which this takes into account, including daylight savings time. (Obviously if you aren't in US Eastern time, you don't want it shaded based on 9:30 to 4:00 your local time - you want it based on whatever New York time is for you.)
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.
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
MissedPrice[KiomarsRakei]█ Overview:
The MissedPrice script identifies price zones based on significant Open Interest shifts (including gaps) aligned with price movements. When sudden market positioning changes occur, the script pinpoints target zones where price is believed to return. Each signal directs you toward these opportunity zones with supporting metrics like Notional Value, Volume Ratio, and Funding Rate timing to help qualify the signals.
█ Core Concept:
Markets frequently "miss" critical price levels during rapid movements. These missed zones occur when:
Orders are revoked during sudden price shifts
Exchanges fail to execute at intended prices
TP/SL orders miss exact execution points
Institutional orders create supply/demand imbalances
Market structure shifts bypass key levels
Liquidity voids form from positioning changes
These missed price zones create natural targets that price tends to revisit. The MissedPrice indicator identifies these zones by analyzing the relationship between Open Interest, Price, and Volume.
█ Closer look at target zones:
Target zones are calculated using the open price where significant OI shifts occur, with zone width adjusted based on the High-Low ratio and ATR to adapt to current volatility. If a zone is touched once after a signal is generated, it is no longer valid. This can be understood as the missing positions and volume having now entered the market.
Each zone's Notional Value (NV) - calculated as OI change multiplied by price - measures the financial impact of the positioning shift. Higher NV indicates more significant market activity and greater liquidity, making price more likely to return to that area. Users can adjust NV ratio thresholds in the inputs to filter signal quality.
█ Features:
Statistical Dashboard: Real-time statistics table showing performance metrics for signals
Funding Rate Visualization: Vertical lines indicate funding rate times to help correlate signals with these significant market events
Alert Capability: Set up alerts for new signals to never miss a trading opportunity
Dynamic Entry Lines: Draws adjustable entry and target level lines to facilitate precise trade execution and measurement, customizable via inputs
█ Closer Look at Statistics Table:
Signal Count: Total numbers of signals generated and total candles included (limited by TradingView's OI historical data)
Win Rate: can be interpreted as the hit rate of target zones. Whenever price reaches the zone, it is calculated as a win, regardless of how far price may have moved in the opposite direction beforehand. This metric measures the script's accuracy in identifying price zones that eventually get revisited.
Total Profit: Calculates possible profit from first entry to target of hit signals - an estimate since humans can't take all signals and might have better entries or average down. By default is turned off can be turned on in the input menu.
Bad Signals: Signals taking too long to complete or moving much further from target
Bad but Hit: Bad signals that eventually hit the target despite early challenges
As you can see in the chart, there are zones that price does not return to touch. There is no guarantee that every identified zone will be reached, which is why the script provides additional qualification metrics to help assess signal probability.
Due to limitations of Open Interest data, you can only use this script on crypto pairs that have Open Interest data available on TradingView. While the script works on any timeframe, it performs best on timeframes less than daily.
█ Best Practices:
Use it in bar replay mode to master the strategy
Try different risk management systems based on how far price goes from the target and your creativity
Use the volume ratio and funding time data to further qualify signals
Notional Value plays a key role
Relative Crypto Dominance Polar Chart [LuxAlgo]The Relative Crypto Dominance Polar Chart tool allows traders to compare the relative dominance of up to ten different tickers in the form of a polar area chart, we define relative dominance as a combination between traded dollar volume and volatility, making it very easy to compare them at a glance.
🔶 USAGE
The use is quite simple, traders just have to load the indicator on the chart, and the graph showing the relative dominance will appear.
The 10 tickers loaded by default are the major cryptocurrencies by market cap, but traders can select any ticker in the settings panel.
Each area represents dominance as volatility (radius) by dollar volume (arc length); a larger area means greater dominance on that ticker.
🔹 Choosing Period
The tool supports up to five different periods
Hourly
Daily
Weekly
Monthly
Yearly
By default, the tool period is set on auto mode, which means that the tool will choose the period depending on the chart timeframe
timeframes up to 2m: Hourly
timeframes up to 15m: Daily
timeframes up to 1H: Weekly
timeframes up to 4H: Monthly
larger timeframes: Yearly
🔹 Sorting & Sizing
Traders can sort the graph areas by volatility (radius of each area) in ascending or descending order; by default, the tickers are sorted as they are in the settings panel.
The tool also allows you to adjust the width of the chart on a percentage basis, i.e., at 100% size, all the available width is used; if the graph is too wide, just decrease the graph size parameter in the settings panel.
🔹 Set your own style
The tool allows great customization from the settings panel, traders can enable/disable most of the components, and add a very nice touch with curved lines enabled for displaying the areas with a petal-like effect.
🔶 SETTINGS
Period: Select up to 5 different time periods from Hourly, Daily, Weekly, Monthly and Yearly. Enable/disable Auto mode.
Tickers: Enable/disable and select tickers and colors
🔹 Style
Graph Order: Select sort order
Graph Size: Select percentage of width used
Labels Size: Select size for ticker labels
Show Percent: Show dominance in % under each ticker
Curved Lines: Enable/disable petal-like effect for each area
Show Title: Enable/disable graph title
Show Mean: Enable/disable volatility average and select color
Bitcoin Polynomial Regression ModelThis is the main version of the script. Click here for the Oscillator part of the script.
💡Why this model was created:
One of the key issues with most existing models, including our own Bitcoin Log Growth Curve Model , is that they often fail to realistically account for diminishing returns. As a result, they may present overly optimistic bull cycle targets (hence, we introduced alternative settings in our previous Bitcoin Log Growth Curve Model).
This new model however, has been built from the ground up with a primary focus on incorporating the principle of diminishing returns. It directly responds to this concept, which has been briefly explored here .
📉The theory of diminishing returns:
This theory suggests that as each four-year market cycle unfolds, volatility gradually decreases, leading to more tempered price movements. It also implies that the price increase from one cycle peak to the next will decrease over time as the asset matures. The same pattern applies to cycle lows and the relationship between tops and bottoms. In essence, these price movements are interconnected and should generally follow a consistent pattern. We believe this model provides a more realistic outlook on bull and bear market cycles.
To better understand this theory, the relationships between cycle tops and bottoms are outlined below:https://www.tradingview.com/x/7Hldzsf2/
🔧Creation of the model:
For those interested in how this model was created, the process is explained here. Otherwise, feel free to skip this section.
This model is based on two separate cubic polynomial regression lines. One for the top price trend and another for the bottom. Both follow the general cubic polynomial function:
ax^3 +bx^2 + cx + d.
In this equation, x represents the weekly bar index minus an offset, while a, b, c, and d are determined through polynomial regression analysis. The input (x, y) values used for the polynomial regression analysis are as follows:
Top regression line (x, y) values:
113, 18.6
240, 1004
451, 19128
655, 65502
Bottom regression line (x, y) values:
103, 2.5
267, 211
471, 3193
676, 16255
The values above correspond to historical Bitcoin cycle tops and bottoms, where x is the weekly bar index and y is the weekly closing price of Bitcoin. The best fit is determined using metrics such as R-squared values, residual error analysis, and visual inspection. While the exact details of this evaluation are beyond the scope of this post, the following optimal parameters were found:
Top regression line parameter values:
a: 0.000202798
b: 0.0872922
c: -30.88805
d: 1827.14113
Bottom regression line parameter values:
a: 0.000138314
b: -0.0768236
c: 13.90555
d: -765.8892
📊Polynomial Regression Oscillator:
This publication also includes the oscillator version of the this model which is displayed at the bottom of the screen. The oscillator applies a logarithmic transformation to the price and the regression lines using the formula log10(x) .
The log-transformed price is then normalized using min-max normalization relative to the log-transformed top and bottom regression line with the formula:
normalized price = log(close) - log(bottom regression line) / log(top regression line) - log(bottom regression line)
This transformation results in a price value between 0 and 1 between both the regression lines. The Oscillator version can be found here.
🔍Interpretation of the Model:
In general, the red area represents a caution zone, as historically, the price has often been near its cycle market top within this range. On the other hand, the green area is considered an area of opportunity, as historically, it has corresponded to the market bottom.
The top regression line serves as a signal for the absolute market cycle peak, while the bottom regression line indicates the absolute market cycle bottom.
Additionally, this model provides a predicted range for Bitcoin's future price movements, which can be used to make extrapolated predictions. We will explore this further below.
🔮Future Predictions:
Finally, let's discuss what this model actually predicts for the potential upcoming market cycle top and the corresponding market cycle bottom. In our previous post here , a cycle interval analysis was performed to predict a likely time window for the next cycle top and bottom:
In the image, it is predicted that the next top-to-top cycle interval will be 208 weeks, which translates to November 3rd, 2025. It is also predicted that the bottom-to-top cycle interval will be 152 weeks, which corresponds to October 13th, 2025. On the macro level, these two dates align quite well. For our prediction, we take the average of these two dates: October 24th 2025. This will be our target date for the bull cycle top.
Now, let's do the same for the upcoming cycle bottom. The bottom-to-bottom cycle interval is predicted to be 205 weeks, which translates to October 19th, 2026, and the top-to-bottom cycle interval is predicted to be 259 weeks, which corresponds to October 26th, 2026. We then take the average of these two dates, predicting a bear cycle bottom date target of October 19th, 2026.
Now that we have our predicted top and bottom cycle date targets, we can simply reference these two dates to our model, giving us the Bitcoin top price prediction in the range of 152,000 in Q4 2025 and a subsequent bottom price prediction in the range of 46,500 in Q4 2026.
For those interested in understanding what this specifically means for the predicted diminishing return top and bottom cycle values, the image below displays these predicted values. The new values are highlighted in yellow:
And of course, keep in mind that these targets are just rough estimates. While we've done our best to estimate these targets through a data-driven approach, markets will always remain unpredictable in nature. What are your targets? Feel free to share them in the comment section below.
Bitcoin Polynomial Regression OscillatorThis is the oscillator version of the script. Click here for the other part of the script.
💡Why this model was created:
One of the key issues with most existing models, including our own Bitcoin Log Growth Curve Model , is that they often fail to realistically account for diminishing returns. As a result, they may present overly optimistic bull cycle targets (hence, we introduced alternative settings in our previous Bitcoin Log Growth Curve Model).
This new model however, has been built from the ground up with a primary focus on incorporating the principle of diminishing returns. It directly responds to this concept, which has been briefly explored here .
📉The theory of diminishing returns:
This theory suggests that as each four-year market cycle unfolds, volatility gradually decreases, leading to more tempered price movements. It also implies that the price increase from one cycle peak to the next will decrease over time as the asset matures. The same pattern applies to cycle lows and the relationship between tops and bottoms. In essence, these price movements are interconnected and should generally follow a consistent pattern. We believe this model provides a more realistic outlook on bull and bear market cycles.
To better understand this theory, the relationships between cycle tops and bottoms are outlined below:https://www.tradingview.com/x/7Hldzsf2/
🔧Creation of the model:
For those interested in how this model was created, the process is explained here. Otherwise, feel free to skip this section.
This model is based on two separate cubic polynomial regression lines. One for the top price trend and another for the bottom. Both follow the general cubic polynomial function:
ax^3 +bx^2 + cx + d.
In this equation, x represents the weekly bar index minus an offset, while a, b, c, and d are determined through polynomial regression analysis. The input (x, y) values used for the polynomial regression analysis are as follows:
Top regression line (x, y) values:
113, 18.6
240, 1004
451, 19128
655, 65502
Bottom regression line (x, y) values:
103, 2.5
267, 211
471, 3193
676, 16255
The values above correspond to historical Bitcoin cycle tops and bottoms, where x is the weekly bar index and y is the weekly closing price of Bitcoin. The best fit is determined using metrics such as R-squared values, residual error analysis, and visual inspection. While the exact details of this evaluation are beyond the scope of this post, the following optimal parameters were found:
Top regression line parameter values:
a: 0.000202798
b: 0.0872922
c: -30.88805
d: 1827.14113
Bottom regression line parameter values:
a: 0.000138314
b: -0.0768236
c: 13.90555
d: -765.8892
📊Polynomial Regression Oscillator:
This publication also includes the oscillator version of the this model which is displayed at the bottom of the screen. The oscillator applies a logarithmic transformation to the price and the regression lines using the formula log10(x) .
The log-transformed price is then normalized using min-max normalization relative to the log-transformed top and bottom regression line with the formula:
normalized price = log(close) - log(bottom regression line) / log(top regression line) - log(bottom regression line)
This transformation results in a price value between 0 and 1 between both the regression lines.
🔍Interpretation of the Model:
In general, the red area represents a caution zone, as historically, the price has often been near its cycle market top within this range. On the other hand, the green area is considered an area of opportunity, as historically, it has corresponded to the market bottom.
The top regression line serves as a signal for the absolute market cycle peak, while the bottom regression line indicates the absolute market cycle bottom.
Additionally, this model provides a predicted range for Bitcoin's future price movements, which can be used to make extrapolated predictions. We will explore this further below.
🔮Future Predictions:
Finally, let's discuss what this model actually predicts for the potential upcoming market cycle top and the corresponding market cycle bottom. In our previous post here , a cycle interval analysis was performed to predict a likely time window for the next cycle top and bottom:
In the image, it is predicted that the next top-to-top cycle interval will be 208 weeks, which translates to November 3rd, 2025. It is also predicted that the bottom-to-top cycle interval will be 152 weeks, which corresponds to October 13th, 2025. On the macro level, these two dates align quite well. For our prediction, we take the average of these two dates: October 24th 2025. This will be our target date for the bull cycle top.
Now, let's do the same for the upcoming cycle bottom. The bottom-to-bottom cycle interval is predicted to be 205 weeks, which translates to October 19th, 2026, and the top-to-bottom cycle interval is predicted to be 259 weeks, which corresponds to October 26th, 2026. We then take the average of these two dates, predicting a bear cycle bottom date target of October 19th, 2026.
Now that we have our predicted top and bottom cycle date targets, we can simply reference these two dates to our model, giving us the Bitcoin top price prediction in the range of 152,000 in Q4 2025 and a subsequent bottom price prediction in the range of 46,500 in Q4 2026.
For those interested in understanding what this specifically means for the predicted diminishing return top and bottom cycle values, the image below displays these predicted values. The new values are highlighted in yellow:
And of course, keep in mind that these targets are just rough estimates. While we've done our best to estimate these targets through a data-driven approach, markets will always remain unpredictable in nature. What are your targets? Feel free to share them in the comment section below.
Fuzzy SMA with DCTI Confirmation[FibonacciFlux]FibonacciFlux: Advanced Fuzzy Logic System with Donchian Trend Confirmation
Institutional-grade trend analysis combining adaptive Fuzzy Logic with Donchian Channel Trend Intensity for superior signal quality
Conceptual Framework & Research Foundation
FibonacciFlux represents a significant advancement in quantitative technical analysis, merging two powerful analytical methodologies: normalized fuzzy logic systems and Donchian Channel Trend Intensity (DCTI). This sophisticated indicator addresses a fundamental challenge in market analysis – the inherent imprecision of trend identification in dynamic, multi-dimensional market environments.
While traditional indicators often produce simplistic binary signals, markets exist in states of continuous, graduated transition. FibonacciFlux embraces this complexity through its implementation of fuzzy set theory, enhanced by DCTI's structural trend confirmation capabilities. The result is an indicator that provides nuanced, probabilistic trend assessment with institutional-grade signal quality.
Core Technological Components
1. Advanced Fuzzy Logic System with Percentile Normalization
At the foundation of FibonacciFlux lies a comprehensive fuzzy logic system that transforms conventional technical metrics into degrees of membership in linguistic variables:
// Fuzzy triangular membership function with robust error handling
fuzzy_triangle(val, left, center, right) =>
if na(val)
0.0
float denominator1 = math.max(1e-10, center - left)
float denominator2 = math.max(1e-10, right - center)
math.max(0.0, math.min(left == center ? val <= center ? 1.0 : 0.0 : (val - left) / denominator1,
center == right ? val >= center ? 1.0 : 0.0 : (right - val) / denominator2))
The system employs percentile-based normalization for SMA deviation – a critical innovation that enables self-calibration across different assets and market regimes:
// Percentile-based normalization for adaptive calibration
raw_diff = price_src - sma_val
diff_abs_percentile = ta.percentile_linear_interpolation(math.abs(raw_diff), normLookback, percRank) + 1e-10
normalized_diff_raw = raw_diff / diff_abs_percentile
normalized_diff = useClamping ? math.max(-clampValue, math.min(clampValue, normalized_diff_raw)) : normalized_diff_raw
This normalization approach represents a significant advancement over fixed-threshold systems, allowing the indicator to automatically adapt to varying volatility environments and maintain consistent signal quality across diverse market conditions.
2. Donchian Channel Trend Intensity (DCTI) Integration
FibonacciFlux significantly enhances fuzzy logic analysis through the integration of Donchian Channel Trend Intensity (DCTI) – a sophisticated measure of trend strength based on the relationship between short-term and long-term price extremes:
// DCTI calculation for structural trend confirmation
f_dcti(src, majorPer, minorPer, sigPer) =>
H = ta.highest(high, majorPer) // Major period high
L = ta.lowest(low, majorPer) // Major period low
h = ta.highest(high, minorPer) // Minor period high
l = ta.lowest(low, minorPer) // Minor period low
float pdiv = not na(L) ? l - L : 0 // Positive divergence (low vs major low)
float ndiv = not na(H) ? H - h : 0 // Negative divergence (major high vs high)
float divisor = pdiv + ndiv
dctiValue = divisor == 0 ? 0 : 100 * ((pdiv - ndiv) / divisor) // Normalized to -100 to +100 range
sigValue = ta.ema(dctiValue, sigPer)
DCTI provides a complementary structural perspective on market trends by quantifying the relationship between short-term and long-term price extremes. This creates a multi-dimensional analysis framework that combines adaptive deviation measurement (fuzzy SMA) with channel-based trend intensity confirmation (DCTI).
Multi-Dimensional Fuzzy Input Variables
FibonacciFlux processes four distinct technical dimensions through its fuzzy system:
Normalized SMA Deviation: Measures price displacement relative to historical volatility context
Rate of Change (ROC): Captures price momentum over configurable timeframes
Relative Strength Index (RSI): Evaluates cyclical overbought/oversold conditions
Donchian Channel Trend Intensity (DCTI): Provides structural trend confirmation through channel analysis
Each dimension is processed through comprehensive fuzzy sets that transform crisp numerical values into linguistic variables:
// Normalized SMA Deviation - Self-calibrating to volatility regimes
ndiff_LP := fuzzy_triangle(normalized_diff, norm_scale * 0.3, norm_scale * 0.7, norm_scale * 1.1)
ndiff_SP := fuzzy_triangle(normalized_diff, norm_scale * 0.05, norm_scale * 0.25, norm_scale * 0.5)
ndiff_NZ := fuzzy_triangle(normalized_diff, -norm_scale * 0.1, 0.0, norm_scale * 0.1)
ndiff_SN := fuzzy_triangle(normalized_diff, -norm_scale * 0.5, -norm_scale * 0.25, -norm_scale * 0.05)
ndiff_LN := fuzzy_triangle(normalized_diff, -norm_scale * 1.1, -norm_scale * 0.7, -norm_scale * 0.3)
// DCTI - Structural trend measurement
dcti_SP := fuzzy_triangle(dcti_val, 60.0, 85.0, 101.0) // Strong Positive Trend (> ~85)
dcti_WP := fuzzy_triangle(dcti_val, 20.0, 45.0, 70.0) // Weak Positive Trend (~30-60)
dcti_Z := fuzzy_triangle(dcti_val, -30.0, 0.0, 30.0) // Near Zero / Trendless (~+/- 20)
dcti_WN := fuzzy_triangle(dcti_val, -70.0, -45.0, -20.0) // Weak Negative Trend (~-30 - -60)
dcti_SN := fuzzy_triangle(dcti_val, -101.0, -85.0, -60.0) // Strong Negative Trend (< ~-85)
Advanced Fuzzy Rule System with DCTI Confirmation
The core intelligence of FibonacciFlux lies in its sophisticated fuzzy rule system – a structured knowledge representation that encodes expert understanding of market dynamics:
// Base Trend Rules with DCTI Confirmation
cond1 = math.min(ndiff_LP, roc_HP, rsi_M)
strength_SB := math.max(strength_SB, cond1 * (dcti_SP > 0.5 ? 1.2 : dcti_Z > 0.1 ? 0.5 : 1.0))
// DCTI Override Rules - Structural trend confirmation with momentum alignment
cond14 = math.min(ndiff_NZ, roc_HP, dcti_SP)
strength_SB := math.max(strength_SB, cond14 * 0.5)
The rule system implements 15 distinct fuzzy rules that evaluate various market conditions including:
Established Trends: Strong deviations with confirming momentum and DCTI alignment
Emerging Trends: Early deviation patterns with initial momentum and DCTI confirmation
Weakening Trends: Divergent signals between deviation, momentum, and DCTI
Reversal Conditions: Counter-trend signals with DCTI confirmation
Neutral Consolidations: Minimal deviation with low momentum and neutral DCTI
A key innovation is the weighted influence of DCTI on rule activation. When strong DCTI readings align with other indicators, rule strength is amplified (up to 1.2x). Conversely, when DCTI contradicts other indicators, rule impact is reduced (as low as 0.5x). This creates a dynamic, self-adjusting system that prioritizes high-conviction signals.
Defuzzification & Signal Generation
The final step transforms fuzzy outputs into a precise trend score through center-of-gravity defuzzification:
// Defuzzification with precise floating-point handling
denominator = strength_SB + strength_WB + strength_N + strength_WBe + strength_SBe
if denominator > 1e-10
fuzzyTrendScore := (strength_SB * STRONG_BULL + strength_WB * WEAK_BULL +
strength_N * NEUTRAL + strength_WBe * WEAK_BEAR +
strength_SBe * STRONG_BEAR) / denominator
The resulting FuzzyTrendScore ranges from -1.0 (Strong Bear) to +1.0 (Strong Bull), with critical threshold zones at ±0.3 (Weak trend) and ±0.7 (Strong trend). The histogram visualization employs intuitive color-coding for immediate trend assessment.
Strategic Applications for Institutional Trading
FibonacciFlux provides substantial advantages for sophisticated trading operations:
Multi-Timeframe Signal Confirmation: Institutional-grade signal validation across multiple technical dimensions
Trend Strength Quantification: Precise measurement of trend conviction with noise filtration
Early Trend Identification: Detection of emerging trends before traditional indicators through fuzzy pattern recognition
Adaptive Market Regime Analysis: Self-calibrating analysis across varying volatility environments
Algorithmic Strategy Integration: Well-defined numerical output suitable for systematic trading frameworks
Risk Management Enhancement: Superior signal fidelity for risk exposure optimization
Customization Parameters
FibonacciFlux offers extensive customization to align with specific trading mandates and market conditions:
Fuzzy SMA Settings: Configure baseline trend identification parameters including SMA, ROC, and RSI lengths
Normalization Settings: Fine-tune the self-calibration mechanism with adjustable lookback period, percentile rank, and optional clamping
DCTI Parameters: Optimize trend structure confirmation with adjustable major/minor periods and signal smoothing
Visualization Controls: Customize display transparency for optimal chart integration
These parameters enable precise calibration for different asset classes, timeframes, and market regimes while maintaining the core analytical framework.
Implementation Notes
For optimal implementation, consider the following guidance:
Higher timeframes (4H+) benefit from increased normalization lookback (800+) for stability
Volatile assets may require adjusted clamping values (2.5-4.0) for optimal signal sensitivity
DCTI parameters should be aligned with chart timeframe (higher timeframes require increased major/minor periods)
The indicator performs exceptionally well as a trend filter for systematic trading strategies
Acknowledgments
FibonacciFlux builds upon the pioneering work of Donovan Wall in Donchian Channel Trend Intensity analysis. The normalization approach draws inspiration from percentile-based statistical techniques in quantitative finance. This indicator is shared for educational and analytical purposes under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
Past performance does not guarantee future results. All trading involves risk. This indicator should be used as one component of a comprehensive analysis framework.
Shout out @DonovanWall
Fuzzy SMA Trend Analyzer (experimental)[FibonacciFlux]Fuzzy SMA Trend Analyzer (Normalized): Advanced Market Trend Detection Using Fuzzy Logic Theory
Elevate your technical analysis with institutional-grade fuzzy logic implementation
Research Genesis & Conceptual Framework
This indicator represents the culmination of extensive research into applying fuzzy logic theory to financial markets. While traditional technical indicators often produce binary outcomes, market conditions exist on a continuous spectrum. The Fuzzy SMA Trend Analyzer addresses this limitation by implementing a sophisticated fuzzy logic system that captures the nuanced, multi-dimensional nature of market trends.
Core Fuzzy Logic Principles
At the heart of this indicator lies fuzzy logic theory - a mathematical framework designed to handle imprecision and uncertainty:
// Improved fuzzy_triangle function with guard clauses for NA and invalid parameters.
fuzzy_triangle(val, left, center, right) =>
if na(val) or na(left) or na(center) or na(right) or left > center or center > right // Guard checks
0.0
else if left == center and center == right // Crisp set (single point)
val == center ? 1.0 : 0.0
else if left == center // Left-shoulder shape (ramp down from 1 at center to 0 at right)
val >= right ? 0.0 : val <= center ? 1.0 : (right - val) / (right - center)
else if center == right // Right-shoulder shape (ramp up from 0 at left to 1 at center)
val <= left ? 0.0 : val >= center ? 1.0 : (val - left) / (center - left)
else // Standard triangle
math.max(0.0, math.min((val - left) / (center - left), (right - val) / (right - center)))
This implementation of triangular membership functions enables the indicator to transform crisp numerical values into degrees of membership in linguistic variables like "Large Positive" or "Small Negative," creating a more nuanced representation of market conditions.
Dynamic Percentile Normalization
A critical innovation in this indicator is the implementation of percentile-based normalization for SMA deviation:
// ----- Deviation Scale Estimation using Percentile -----
// Calculate the percentile rank of the *absolute* deviation over the lookback period.
// This gives an estimate of the 'typical maximum' deviation magnitude recently.
diff_abs_percentile = ta.percentile_linear_interpolation(math.abs(raw_diff), normLookback, percRank) + 1e-10
// ----- Normalize the Raw Deviation -----
// Divide the raw deviation by the estimated 'typical max' magnitude.
normalized_diff = raw_diff / diff_abs_percentile
// ----- Clamp the Normalized Deviation -----
normalized_diff_clamped = math.max(-3.0, math.min(3.0, normalized_diff))
This percentile normalization approach creates a self-adapting system that automatically calibrates to different assets and market regimes. Rather than using fixed thresholds, the indicator dynamically adjusts based on recent volatility patterns, significantly enhancing signal quality across diverse market environments.
Multi-Factor Fuzzy Rule System
The indicator implements a comprehensive fuzzy rule system that evaluates multiple technical factors:
SMA Deviation (Normalized): Measures price displacement from the Simple Moving Average
Rate of Change (ROC): Captures price momentum over a specified period
Relative Strength Index (RSI): Assesses overbought/oversold conditions
These factors are processed through a sophisticated fuzzy inference system with linguistic variables:
// ----- 3.1 Fuzzy Sets for Normalized Deviation -----
diffN_LP := fuzzy_triangle(normalized_diff_clamped, 0.7, 1.5, 3.0) // Large Positive (around/above percentile)
diffN_SP := fuzzy_triangle(normalized_diff_clamped, 0.1, 0.5, 0.9) // Small Positive
diffN_NZ := fuzzy_triangle(normalized_diff_clamped, -0.2, 0.0, 0.2) // Near Zero
diffN_SN := fuzzy_triangle(normalized_diff_clamped, -0.9, -0.5, -0.1) // Small Negative
diffN_LN := fuzzy_triangle(normalized_diff_clamped, -3.0, -1.5, -0.7) // Large Negative (around/below percentile)
// ----- 3.2 Fuzzy Sets for ROC -----
roc_HN := fuzzy_triangle(roc_val, -8.0, -5.0, -2.0)
roc_WN := fuzzy_triangle(roc_val, -3.0, -1.0, -0.1)
roc_NZ := fuzzy_triangle(roc_val, -0.3, 0.0, 0.3)
roc_WP := fuzzy_triangle(roc_val, 0.1, 1.0, 3.0)
roc_HP := fuzzy_triangle(roc_val, 2.0, 5.0, 8.0)
// ----- 3.3 Fuzzy Sets for RSI -----
rsi_L := fuzzy_triangle(rsi_val, 0.0, 25.0, 40.0)
rsi_M := fuzzy_triangle(rsi_val, 35.0, 50.0, 65.0)
rsi_H := fuzzy_triangle(rsi_val, 60.0, 75.0, 100.0)
Advanced Fuzzy Inference Rules
The indicator employs a comprehensive set of fuzzy rules that encode expert knowledge about market behavior:
// --- Fuzzy Rules using Normalized Deviation (diffN_*) ---
cond1 = math.min(diffN_LP, roc_HP, math.max(rsi_M, rsi_H)) // Strong Bullish: Large pos dev, strong pos roc, rsi ok
strength_SB := math.max(strength_SB, cond1)
cond2 = math.min(diffN_SP, roc_WP, rsi_M) // Weak Bullish: Small pos dev, weak pos roc, rsi mid
strength_WB := math.max(strength_WB, cond2)
cond3 = math.min(diffN_SP, roc_NZ, rsi_H) // Weakening Bullish: Small pos dev, flat roc, rsi high
strength_N := math.max(strength_N, cond3 * 0.6) // More neutral
strength_WB := math.max(strength_WB, cond3 * 0.2) // Less weak bullish
This rule system evaluates multiple conditions simultaneously, weighting them by their degree of membership to produce a comprehensive trend assessment. The rules are designed to identify various market conditions including strong trends, weakening trends, potential reversals, and neutral consolidations.
Defuzzification Process
The final step transforms the fuzzy result back into a crisp numerical value representing the overall trend strength:
// --- Step 6: Defuzzification ---
denominator = strength_SB + strength_WB + strength_N + strength_WBe + strength_SBe
if denominator > 1e-10 // Use small epsilon instead of != 0.0 for float comparison
fuzzyTrendScore := (strength_SB * STRONG_BULL +
strength_WB * WEAK_BULL +
strength_N * NEUTRAL +
strength_WBe * WEAK_BEAR +
strength_SBe * STRONG_BEAR) / denominator
The resulting FuzzyTrendScore ranges from -1 (strong bearish) to +1 (strong bullish), providing a smooth, continuous evaluation of market conditions that avoids the abrupt signal changes common in traditional indicators.
Advanced Visualization with Rainbow Gradient
The indicator incorporates sophisticated visualization using a rainbow gradient coloring system:
// Normalize score to for gradient function
normalizedScore = na(fuzzyTrendScore) ? 0.5 : math.max(0.0, math.min(1.0, (fuzzyTrendScore + 1) / 2))
// Get the color based on gradient setting and normalized score
final_color = get_gradient(normalizedScore, gradient_type)
This color-coding system provides intuitive visual feedback, with color intensity reflecting trend strength and direction. The gradient can be customized between Red-to-Green or Red-to-Blue configurations based on user preference.
Practical Applications
The Fuzzy SMA Trend Analyzer excels in several key applications:
Trend Identification: Precisely identifies market trend direction and strength with nuanced gradation
Market Regime Detection: Distinguishes between trending markets and consolidation phases
Divergence Analysis: Highlights potential reversals when price action and fuzzy trend score diverge
Filter for Trading Systems: Provides high-quality trend filtering for other trading strategies
Risk Management: Offers early warning of potential trend weakening or reversal
Parameter Customization
The indicator offers extensive customization options:
SMA Length: Adjusts the baseline moving average period
ROC Length: Controls momentum sensitivity
RSI Length: Configures overbought/oversold sensitivity
Normalization Lookback: Determines the adaptive calculation window for percentile normalization
Percentile Rank: Sets the statistical threshold for deviation normalization
Gradient Type: Selects the preferred color scheme for visualization
These parameters enable fine-tuning to specific market conditions, trading styles, and timeframes.
Acknowledgments
The rainbow gradient visualization component draws inspiration from LuxAlgo's "Rainbow Adaptive RSI" (used under CC BY-NC-SA 4.0 license). This implementation of fuzzy logic in technical analysis builds upon Fermi estimation principles to overcome the inherent limitations of crisp binary indicators.
This indicator is shared under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
Remember that past performance does not guarantee future results. Always conduct thorough testing before implementing any technical indicator in live trading.
NUPL Z-Score | Vistula LabsWhat is NUPL?
NUPL (Net Unrealized Profit/Loss) is a fundamental on-chain metric used to evaluate the profit or loss state of a cryptocurrency's market participants, such as Bitcoin (BTC) and Ethereum (ETH). It compares the current market capitalization—the total value of all coins at their current price—to the realized capitalization, which represents the average price at which all coins were last transacted on-chain.
Market Capitalization: Current price × circulating supply.
Realized Capitalization: The sum of the value of all coins based on the price at their last on-chain movement.
For Bitcoin (BTC):
NUPL = (Market Cap - Realized Cap) / Market Cap * 100
For Ethereum (ETH):
NUPL = (Market Cap - Realized Cap) / Market Cap
A positive NUPL indicates that the market holds unrealized profits, meaning the current value exceeds the price at which coins were last moved. A negative NUPL signals unrealized losses. Extreme NUPL values—high positives or low negatives—can suggest overvaluation (potential market tops) or undervaluation (potential market bottoms), respectively.
How NUPL is Calculated for BTC & ETH
This indicator calculates NUPL using data sourced from Glassnode and CoinMetrics:
For Bitcoin:
Market Cap: GLASSNODE:BTC_MARKETCAP
Realized Cap: COINMETRICS:BTC_MARKETCAPREAL
Formula: ((btc_market_cap - btc_market_cap_real) / btc_market_cap) * 100
For Ethereum:
Market Cap: GLASSNODE:ETH_MARKETCAP
Realized Cap: COINMETRICS:ETH_MARKETCAPREAL
Formula: ((eth_market_cap - eth_market_cap_real) / eth_market_cap) * 100
The indicator then transforms these NUPL values into a Z-Score, which measures how many standard deviations the current NUPL deviates from its historical average. The Z-Score calculation incorporates:
A customizable moving average of NUPL (options: SMA, EMA, DEMA, RMA, WMA, VWMA) over a user-defined length (default: 220 periods).
The standard deviation of NUPL over a specified lookback period (default: 200 periods).
Z-Score Formula:
Z-Score = (Current NUPL - Moving Average of NUPL) / Standard Deviation of NUPL
This normalization allows the indicator to highlight extreme market conditions regardless of the raw NUPL scale.
How This Indicator Can Be Used
Trend Following
The NUPL Z-Score indicator employs a trend-following system with adjustable thresholds to generate trading signals:
Long Signals: Triggered when the Z-Score crosses above the Long Threshold (default: 0.26).
Short Signals: Triggered when the Z-Score crosses below the Short Threshold (default: -0.62).
Visual Representations:
Green up-triangles: Indicate long entry points (plotted below the bar).
Red down-triangles: Indicate short entry points (plotted above the bar).
Color-coded elements:
Candles and Z-Score plot turn teal (#00ffdd) for long positions.
Candles and Z-Score plot turn magenta (#ff00bf) for short positions.
These signals leverage historical NUPL trends to identify potential momentum shifts, aiding traders in timing entries and exits.
Overbought/Oversold Conditions
The indicator flags extreme market states using additional thresholds:
Overbought Threshold (default: 3.0): When the Z-Score exceeds this level, the market may be significantly overvalued, hinting at potential selling pressure. Highlighted with a light magenta background (#ff00bf with 75% transparency).
Oversold Threshold (default: -2.0): When the Z-Score drops below this level, the market may be significantly undervalued, suggesting buying opportunities. Highlighted with a light teal background (#00ffdd with 75% transparency).
These extreme Z-Score levels have historically aligned with major market peaks and troughs, making them useful for medium- to long-term position management.
Customization Options
Traders can tailor the indicator to their preferences:
Cryptocurrency Source: Choose between BTC or ETH.
Moving Average Type: Select from SMA, EMA, DEMA, RMA, WMA, or VWMA.
Moving Average Length: Adjust the period for the NUPL moving average (default: 220).
Z-Score Lookback Period: Set the historical window for Z-Score calculation (default: 200).
Thresholds: Fine-tune values for: Long Threshold (default: 0.26), Short Threshold (default: -0.62), Overbought Threshold (default: 3.0), Oversold Threshold (default: -2.0)
These options enable users to adapt the indicator to various trading strategies and risk profiles.
Alerts
The indicator supports four alert conditions to keep traders informed:
NUPL Long Opportunity: Alerts when a long signal is triggered.
NUPL Short Opportunity: Alerts when a short signal is triggered.
NUPL Overbought Condition: Alerts when the Z-Score exceeds the overbought threshold.
NUPL Oversold Condition: Alerts when the Z-Score falls below the oversold threshold.
These alerts allow traders to monitor key opportunities without constantly watching the chart.
Multi-Fibonacci Trend Average[FibonacciFlux]Multi-Fibonacci Trend Average (MFTA): An Institutional-Grade Trend Confluence Indicator for Discerning Market Participants
My original indicator/Strategy:
Engineered for the sophisticated demands of institutional and advanced traders, the Multi-Fibonacci Trend Average (MFTA) indicator represents a paradigm shift in technical analysis. This meticulously crafted tool is designed to furnish high-definition trend signals within the complexities of modern financial markets. Anchored in the rigorous principles of Fibonacci ratios and augmented by advanced averaging methodologies, MFTA delivers a granular perspective on trend dynamics. Its integration of Multi-Timeframe (MTF) filters provides unparalleled signal robustness, empowering strategic decision-making with a heightened degree of confidence.
MFTA indicator on BTCUSDT 15min chart with 1min RSI and MACD filters enabled. Note the refined signal generation with reduced noise.
MFTA indicator on BTCUSDT 15min chart without MTF filters. While capturing more potential trading opportunities, it also generates a higher frequency of signals, including potential false positives.
Core Innovation: Proprietary Fibonacci-Enhanced Supertrend Averaging Engine
The MFTA indicator’s core innovation lies in its proprietary implementation of Supertrend analysis, strategically fortified by Fibonacci ratios to construct a truly dynamic volatility envelope. Departing from conventional Supertrend methodologies, MFTA autonomously computes not one, but three distinct Supertrend lines. Each of these lines is uniquely parameterized by a specific Fibonacci factor: 0.618 (Weak), 1.618 (Medium/Golden Ratio), and 2.618 (Strong/Extended Fibonacci).
// Fibonacci-based factors for multiple Supertrend calculations
factor1 = input.float(0.618, 'Factor 1 (Weak/Fibonacci)', minval=0.01, step=0.01, tooltip='Factor 1 (Weak/Fibonacci)', group="Fibonacci Supertrend")
factor2 = input.float(1.618, 'Factor 2 (Medium/Golden Ratio)', minval=0.01, step=0.01, tooltip='Factor 2 (Medium/Golden Ratio)', group="Fibonacci Supertrend")
factor3 = input.float(2.618, 'Factor 3 (Strong/Extended Fib)', minval=0.01, step=0.01, tooltip='Factor 3 (Strong/Extended Fib)', group="Fibonacci Supertrend")
This multi-faceted architecture adeptly captures a spectrum of market volatility sensitivities, ensuring a comprehensive assessment of prevailing conditions. Subsequently, the indicator algorithmically synthesizes these disparate Supertrend lines through arithmetic averaging. To achieve optimal signal fidelity and mitigate inherent market noise, this composite average is further refined utilizing an Exponential Moving Average (EMA).
// Calculate average of the three supertends and a smoothed version
superlength = input.int(21, 'Smoothing Length', tooltip='Smoothing Length for Average Supertrend', group="Fibonacci Supertrend")
average_trend = (supertrend1 + supertrend2 + supertrend3) / 3
smoothed_trend = ta.ema(average_trend, superlength)
The resultant ‘Smoothed Trend’ line emerges as a remarkably responsive yet stable trend demarcation, offering demonstrably superior clarity and precision compared to singular Supertrend implementations, particularly within the turbulent dynamics of high-volatility markets.
Elevated Signal Confluence: Integrated Multi-Timeframe (MTF) Validation Suite
MFTA transcends the limitations of conventional trend indicators by incorporating an advanced suite of three independent MTF filters: RSI, MACD, and Volume. These filters function as sophisticated validation protocols, rigorously ensuring that only signals exhibiting a confluence of high-probability factors are brought to the forefront.
1. Granular Lower Timeframe RSI Momentum Filter
The Relative Strength Index (RSI) filter, computed from a user-defined lower timeframe, furnishes critical momentum-based signal validation. By meticulously monitoring RSI dynamics on an accelerated timeframe, traders gain the capacity to evaluate underlying momentum strength with precision, prior to committing to signal execution on the primary chart timeframe.
// --- Lower Timeframe RSI Filter ---
ltf_rsi_filter_enable = input.bool(false, title="Enable RSI Filter", group="MTF Filters", tooltip="Use RSI from lower timeframe as a filter")
ltf_rsi_timeframe = input.timeframe("1", title="RSI Timeframe", group="MTF Filters", tooltip="Timeframe for RSI calculation")
ltf_rsi_length = input.int(14, title="RSI Length", minval=1, group="MTF Filters", tooltip="Length for RSI calculation")
ltf_rsi_threshold = input.int(30, title="RSI Threshold", minval=0, maxval=100, group="MTF Filters", tooltip="RSI value threshold for filtering signals")
2. Convergent Lower Timeframe MACD Trend-Momentum Filter
The Moving Average Convergence Divergence (MACD) filter, also calculated on a lower timeframe basis, introduces a critical layer of trend-momentum convergence confirmation. The bullish signal configuration rigorously mandates that the MACD line be definitively positioned above the Signal line on the designated lower timeframe. This stringent condition ensures a robust indication of converging momentum that aligns synergistically with the prevailing trend identified on the primary timeframe.
// --- Lower Timeframe MACD Filter ---
ltf_macd_filter_enable = input.bool(false, title="Enable MACD Filter", group="MTF Filters", tooltip="Use MACD from lower timeframe as a filter")
ltf_macd_timeframe = input.timeframe("1", title="MACD Timeframe", group="MTF Filters", tooltip="Timeframe for MACD calculation")
ltf_macd_fast_length = input.int(12, title="MACD Fast Length", minval=1, group="MTF Filters", tooltip="Fast EMA length for MACD")
ltf_macd_slow_length = input.int(26, title="MACD Slow Length", minval=1, group="MTF Filters", tooltip="Slow EMA length for MACD")
ltf_macd_signal_length = input.int(9, title="MACD Signal Length", minval=1, group="MTF Filters", tooltip="Signal SMA length for MACD")
3. Definitive Volume Confirmation Filter
The Volume Filter functions as an indispensable arbiter of trade conviction. By establishing a dynamic volume threshold, defined as a percentage relative to the average volume over a user-specified lookback period, traders can effectively ensure that all generated signals are rigorously validated by demonstrably increased trading activity. This pivotal validation step signifies robust market participation, substantially diminishing the potential for spurious or false breakout signals.
// --- Volume Filter ---
volume_filter_enable = input.bool(false, title="Enable Volume Filter", group="MTF Filters", tooltip="Use volume level as a filter")
volume_threshold_percent = input.int(title="Volume Threshold (%)", defval=150, minval=100, group="MTF Filters", tooltip="Minimum volume percentage compared to average volume to allow signal (100% = average)")
These meticulously engineered filters operate in synergistic confluence, requiring all enabled filters to definitively satisfy their pre-defined conditions before a Buy or Sell signal is generated. This stringent multi-layered validation process drastically minimizes the incidence of false positive signals, thereby significantly enhancing entry precision and overall signal reliability.
Intuitive Visual Architecture & Actionable Intelligence
MFTA provides a demonstrably intuitive and visually rich charting environment, meticulously delineating trend direction and momentum through precisely color-coded plots:
Average Supertrend: Thin line, green/red for uptrend/downtrend, immediate directional bias.
Smoothed Supertrend: Bold line, teal/purple for uptrend/downtrend, cleaner, institutionally robust trend.
Dynamic Trend Fill: Green/red fill between Supertrends quantifies trend strength and momentum.
Adaptive Background Coloring: Light green/red background mirrors Smoothed Supertrend direction, holistic trend perspective.
Precision Buy/Sell Signals: ‘BUY’/‘SELL’ labels appear on chart when trend touch and MTF filter confluence are satisfied, facilitating high-conviction trade action.
MFTA indicator applied to BTCUSDT 4-hour chart, showcasing its effectiveness on higher timeframes. The Smoothed Length parameter is increased to 200 for enhanced smoothness on this timeframe, coupled with 1min RSI and Volume filters for signal refinement. This illustrates the indicator's adaptability across different timeframes and market conditions.
Strategic Applications for Institutional Mandates
MFTA’s sophisticated design provides distinct advantages for advanced trading operations and institutional investment mandates. Key strategic applications include:
High-Probability Trend Identification: Fibonacci-averaged Supertrend with MTF filters robustly identifies high-probability trend continuations and reversals, enhancing alpha generation.
Precision Entry/Exit Signals: Volume and momentum-filtered signals enable institutional-grade precision for optimized risk-adjusted returns.
Algorithmic Trading Integration: Clear signal logic facilitates seamless integration into automated trading systems for scalable strategy deployment.
Multi-Asset/Timeframe Versatility: Adaptable parameters ensure applicability across diverse asset classes and timeframes, catering to varied trading mandates.
Enhanced Risk Management: Superior signal fidelity from MTF filters inherently reduces false signals, supporting robust risk management protocols.
Granular Customization and Parameterized Control
MFTA offers unparalleled customization, empowering users to fine-tune parameters for precise alignment with specific trading styles and market conditions. Key adjustable parameters include:
Fibonacci Factors: Adjust Supertrend sensitivity to volatility regimes.
ATR Length: Control volatility responsiveness in Supertrend calculations.
Smoothing Length: Refine Smoothed Trend line responsiveness and noise reduction.
MTF Filter Parameters: Independently configure timeframes, lookback periods, and thresholds for RSI, MACD, and Volume filters for optimal signal filtering.
Disclaimer
MFTA is meticulously engineered for high-quality trend signals; however, no indicator guarantees profit. Market conditions are unpredictable, and trading involves substantial risk. Rigorous backtesting and forward testing across diverse datasets, alongside a comprehensive understanding of the indicator's logic, are essential before live deployment. Past performance is not indicative of future results. MFTA is for informational and analytical purposes only and is not financial or investment advice.
IBD Style Relative Strength RatingWelcome to the IBD Style Relative Strength Rating Indicator!
A powerful tool inspired by Investor's Business Daily (IBD), this indicator helps traders evaluate stock performance relative to a benchmark. It’s perfect for identifying strong or weak stocks compared to the broader market, specifically the S&P 500 (SPY). Whether you're a beginner or an experienced investor, this guide will walk you through its features and key concepts, including the RS Line and RS Rating, and how legendary trader Mark Minervini uses similar tools.
Understanding the RS Line & RS Rating
RS Line (Relative Strength Line)
A visual representation of how a stock’s price performs relative to SPY.
Calculated by dividing the stock’s closing price by SPY’s closing price and multiplying by 100.
Rising RS Line → Stock is outperforming SPY.
Falling RS Line → Stock is underperforming SPY.
Helps identify strength or weakness compared to the market.
RS Rating
A numerical score (1-99) measuring stock performance over 252 trading days (1 year) relative to SPY.
Above 80 → Top 20% of performers.
Above 90 → Top 10% (ideal for growth investors).
Weighted average of stock’s price changes over 63, 126, 189, and 252 days.
Key Features Explained
RS Line Color Mode:
Static (default white) or Dynamic (green when rising, red when falling) for quick trend identification.
Comparative Symbol:
Default: SPY. Can be changed to NASDAQ:NDX, AAPL, or other indices/stocks.
Ensure selected symbols have sufficient historical data.
Plot RS New Highs: Marks new 250-day highs with subtle blue circles
Indicates a stock significantly outperforming SPY (potential buy signal).
Plot RS New Lows: Marks new 250-day lows with red circles
Signals underperformance (possible sell or avoid indicator).
Lookback for Display: Adjustable up to 2000 bars for historical trend analysis.
RS Rating Color Scheme
Green: Upward trend (improving RS Rating).
Orange: Neutral/mixed trend.
Red: Downward trend (declining RS Rating).
Dynamic Color Settings
Rising Line Color: Green (default), customizable.
Falling Line Color: Red (default), adjustable.
Advanced Options
Enable Replay Mode: Uses fixed percentile values for consistent RS Rating calculations in backtesting.
RS Rating Table
Displays current RS Rating and values from previous day, week, and month in the top-right corner (daily charts).
Background color reflects trend: Green (up), Orange (neutral), Red (down).
Past values appear in neutral gray for a quick performance snapshot.
How Mark Minervini Uses This Indicator
Mark Minervini, a legendary trader, emphasizes Relative Strength as a core strategy:
Looks for stocks with:
Rising RS Line.
RS Rating above 80-90 (top performers).
RS New Highs to spot breakout candidates.
Avoids stocks with:
Declining RS Line.
RS Rating below 70.
Important Information for Beginners
RS vs. SPY
The indicator compares stock performance against SPY (S&P 500).
Rising RS Line → Stock is beating SPY.
Falling RS Line → Stock is lagging.
Why Use This Indicator?
Helps find strong relative strength stocks, crucial for bullish trends.
New highs/lows on the RS Line signal significant shifts.
The RS Rating quantifies percentile-based performance.
Customization Options
Adjust colors, lookback periods, and marker sizes to match your trading style.
Default SPY comparison is ideal for U.S. traders but can be customized.
Timeframe Considerations
Optimized for daily charts.
Weekly/monthly charts may have limited data availability.
Tips for Crypto Traders (Measuring Altcoins vs. Bitcoin or Total Market Cap)
If trading cryptocurrencies, this indicator can measure altcoins vs. Bitcoin (BTC) or the total crypto market cap (TOTAL):
Comparative Symbol Setup:
Set Comparative Symbol to BTCUSD to compare an altcoin (e.g., ETHUSD) against Bitcoin.
Rising RS Line → The altcoin is outperforming Bitcoin (bullish signal).
Use TOTAL (crypto market cap index) to assess an altcoin’s strength against the total market.
High RS Rating suggests the altcoin is a market leader.
Adjust Look-back Periods:
Crypto markets are volatile, so reduce Look-back for New Highs/Lows to 50-100 bars (about 2-4 months) for shorter-term trends.
Fine-tune based on your trading strategy.
New Highs and Lows:
Watch for new RS Line highs (blue dots) to identify altcoins breaking out against BTC or TOTAL (momentum trading).
New lows (red dots) may signal weakening altcoins to avoid.
RS Rating Interpretation:
Above 80 against BTC or TOTAL → The altcoin is a strong performer.
This aligns with Minervini’s growth strategy for stocks.
Color Dynamics:
Use Dynamic RS Line Color (green for rising, red for falling) to quickly spot altcoin trends against BTC or TOTAL.
Crypto data may have gaps—test indicator settings on different timeframes (e.g., 1-hour or 4-hour charts).
Tips for Getting Started
Apply the Indicator to a stock chart and set Comparative Symbol to SPY.
Watch the RS Line:
If trending upward with new highs and RS Rating > 80, it's a strong candidate.
Use the RS Rating Table to check for trend consistency.
Adjust Opacity Settings for markers to balance visibility and clarity.
This indicator is now ready for public use as of March 18, 2025. Enjoy trading with enhanced insights, and feel free to share feedback or suggestions for future updates!
Volume Aggregated Spot & FuturesAggregated volume for cryptos using spot and perpetual contracts but only those that are based on normal volume and not on tick volume.
Provides more reliable volume than volume from one provider.
Thanks to HALDRO because it's his code and I simplified it to create this version.
FinFluential Global M2 Money Supply // Days Offset =The "Global M2 Money Supply" indicator calculates and visualizes the combined M2 money supply from multiple countries and regions worldwide, expressed in trillions of USD.
M2 is a measure of the money supply that includes cash, checking deposits, and easily convertible near-money assets. This indicator aggregates daily M2 data from various economies, converts them into a common USD base using forex exchange rates, and plots the total as a single line on the chart.
It is designed as an overlay indicator aligned to the right scale, making it ideal for comparing global money supply trends with price action or other market data.
Key Features
Customizable Time Offset: Users can adjust the number of days to shift the M2 data forward or backward (from -1000 to +1000 days) via the indicator settings. This allows for alignment with historical events or forward-looking analysis.
Global Coverage Includes:
Eurozone: Eurozone M2 (converted via EUR/USD)
North America: United States, Canada
Non-EU Europe: Switzerland, United Kingdom, Finland, Russia
Pacific: New Zealand
Asia: China, Taiwan, Hong Kong, India, Japan, Philippines, Singapore
Latin America: Brazil, Colombia, Mexico
Middle East: United Arab Emirates, Turkey
Africa: South Africa
Ragi's 24h volumeThis script is a TradingView Pine Script indicator that displays the 24-hour trading volume for a given asset. It provides both the native volume of the asset and, if the asset is not already listed on Binance, also displays the 24-hour volume from Binance (if applicable). Here's a breakdown of the key components:
Volume Calculation:
It sums the volume data over different time frames: 1-minute, 5-minute (for daily charts), or 60-minute intervals.
The volume is calculated based on the asset's volume type (either "quote" volume or a calculated value of close * volume).
For crypto assets, if the volume data is unavailable, it raises an error.
Binance Volume:
If the asset is not from Binance, the script fetches 24-hour volume data from Binance for that symbol, ensuring it is using the correct currency rate.
Display:
The indicator displays a table with the 24-hour volume in the chosen position on the chart (top, middle, or bottom).
The table displays the current exchange's volume, and if applicable, the Binance volume.
The volume is color-coded based on predefined thresholds:
Attention: Displays a warning color for volumes exceeding the attention level.
Warning: Shows an alert color for volumes above the warning threshold.
Normal: Displays in standard color when the volume is lower than the warning level.
The text and background color are customizable, and users can adjust the text size and position of the table.
User Inputs:
The script allows customization of table text size, position, background color, and volume thresholds for attention and warning.
In summary, this indicator is designed to track and display 24-hour volume on a chart, with additional volume information from Binance if necessary, and provides visual cues based on volume levels to help traders quickly assess trading activity.