SADROCThe "Smoothed Accumulation/Distribution Rate of Change" (SADROC) indicator draws inspiration from the Chaikin Oscillator's use of accumulation and distribution, formatted in a manner just like the MACD (Moving Average Convergence Divergence) indicator. My goal was to create something with greater speed and accuracy than the classic MACD
Here's a breakdown of its key elements:
Inputs: Users can customize the indicator by specifying the fast length, slow length, and signal length to fit their preferences.
Calculations: The indicator calculates cumulative volume and then computes the Accumulation/Distribution (AD) value based on price and volume data. The SADROC is calculated as the Rate of Change of the exponential moving averages of the price. The difference between these two values is further smoothed to generate the final SADROC value.
Plotting: The indicator plots the SADROC line and a signal line on the chart. Additionally, it includes a histogram that visually represents the difference between SADROC and the signal line.
Recherche dans les scripts pour "accumulation"
Grid Spot Trading Algorithm V2 - The Quant ScienceGrid Spot Trading Algorithm V2 is the last grid trading algorithm made by our developer team.
Grid Spot Trading Algorithm V2 is a fixed 10-level grid trading algorithm. The grid is divided into an accumulation area (red) and a selling area (green).
In the accumulation area, the algorithm will place new buy orders, selling the long positions on the top of the grid.
BUYING AND SELLING LOGIC
The algorithm places up to 5 limit orders on the accumulation section of the grid, each time the price cross through the middle grid. Each single order uses 20% of the equity.
Positions are closed at the top of the grid by default, with the algorithm closing all orders at the first sell level. The exit level can be adjusted using the user interface, from the first level up to the fifth level above.
CONFIGURING THE ALGORITHM
1) Add it to the chart: Add the script to the current chart that you want to analyze.
2) Select the top of the grid: Confirm a price level with the mouse on which to fix the top of the grid.
3) Select the bottom of the grid: Confirm a price level with the mouse on which to fix the bottom of the grid.
4) Wait for the automatic creation of the grid.
USING THE ALGORITHM
Once the grid configuration process is completed, the algorithm will generate automatic backtesting.
You can add a stop loss that destroys the grid by setting the destruction price and activating the feature from the user interface. When the stop loss is activated, you can view it on the chart.
VolumeIndicatorsLibrary "VolumeIndicators"
This is a library of 'Volume Indicators'.
It aims to facilitate the grouping of this category of indicators, and also offer the customized supply of the source, not being restricted to just the closing price.
Indicators:
1. Volume Moving Average (VMA):
Moving average of volume. Identify trends in trading volume.
2. Money Flow Index (MFI): Measures volume pressure in a range of 0 to 100.
Calculates the ratio of volume when the price goes up and when the price goes down
3. On-Balance Volume (OBV):
Identify divergences between trading volume and an asset's price.
Sum of trading volume when the price rises and subtracts volume when the price falls.
4. Accumulation/Distribution (A/D):
Identifies buying and selling pressure by tracking the flow of money into and out of an asset based on volume patterns.
5. Chaikin Money Flow (CMF):
A variation of A/D that takes into account the daily price variation and weighs trading volume accordingly.
6. Volume Oscillator (VO):
Identify divergences between trading volume and an asset's price. Ratio of change of volume, from a fast period in relation to a long period.
7. Positive Volume Index (PVI):
Identify the upward strength of an asset. Volume when price rises divided by total volume.
8. Negative Volume Index (NVI):
Identify the downward strength of an asset. Volume when price falls divided by total volume.
9. Price-Volume Trend (PVT):
Identify the strength of an asset's price trend based on its trading volume. Cumulative change in price with volume factor
vma(length, maType, almaOffset, almaSigma, lsmaOffSet)
@description Volume Moving Average (VMA)
Parameters:
length : (int) Length for moving average
maType : (int) Type of moving average for smoothing
almaOffset : (float) Offset for Arnauld Legoux Moving Average
almaSigma : (float) Sigma for Arnauld Legoux Moving Average
lsmaOffSet : (float) Offset for Least Squares Moving Average
Returns: (float) Moving average of Volume
mfi(source, length)
@description MFI (Money Flow Index).
Uses both price and volume to measure buying and selling pressure in an asset.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length
Returns: (float) Money Flow series
obv(source)
@description On Balance Volume (OBV)
Same as ta.obv(), but with customized type of source
Parameters:
source : (float) Series
Returns: (float) OBV
ad()
@description Accumulation/Distribution (A/D)
Returns: (float) Accumulation/Distribution (A/D) series
cmf(length)
@description CMF (Chaikin Money Flow).
Measures the flow of money into or out of an asset over time, using a combination of price and volume, and is used to identify the strength and direction of a trend.
Parameters:
length
Returns: (float) Chaikin Money Flow series
vo(shortLen, longLen, maType, almaOffset, almaSigma, lsmaOffSet)
@description Volume Oscillator (VO)
Parameters:
shortLen : (int) Fast period for volume
longLen : (int) Slow period for volume
maType : (int) Type of moving average for smoothing
almaOffset
almaSigma
lsmaOffSet
Returns: (float) Volume oscillator
pvi(source)
@description Positive Volume Index (PVI)
Same as ta.pvi(), but with customized type of source
Parameters:
source : (float) Series
Returns: (float) PVI
nvi(source)
@description Negative Volume Index (NVI)
Same as ta.nvi(), but with customized type of source
Parameters:
source : (float) Series
Returns: (float) PVI
pvt(source)
@description Price-Volume Trend (PVT)
Same as ta.pvt(), but with customized type of source
Parameters:
source : (float) Series
Returns: (float) PVI
Chaikin Money Flow - LibraryLibrary "Chaikin Money Flow"
cmf()
Developed by Marc Chaikin, Chaikin Money Flow measures the amount of Money Flow Volume over a specific period.
Money Flow Volume forms the basis for the Accumulation Distribution Line. Instead of a cumulative total of
Money Flow Volume, Chaikin Money Flow simply sums Money Flow Volume for a specific look-back period, typically
20 or 21 days. The resulting indicator fluctuates above/below the zero line just like an oscillator. Chartists
weigh the balance of buying or selling pressure with the absolute level of Chaikin Money Flow. Chartists can
also look for crosses above or below the zero line to identify changes on money flow.
The Accumulation Distribution Line was developed by Marc Chaikin to measure the cumulative flow of money into and
out of an index or security. The Accumulation/Distribution Line can be compared to the OBV (On Balance Volume),
which adds or subtracts volume depending on the closing price. Marc Chaikin chose a different approach, instead
of relying on the closing price, he used CLV (Close Location Value).
Crypto Force IndexIntroduction
The Crypto Force Index (CFI) indicator helps us understand the current strength and weakness of the price. It is very useful when used on high timeframes for investment purposes and not for short term trading.
To determine the strength and weakness of the price, a level grid based on the RSI indicator is used.
Based on the RSI value, red circles (oversold condition) and green circles (overbought condition) appear under the price candles. The more intense the color of the circles, the more that the current price is in an overbought or oversold condition.
The signal levels are all configurable to adapt the indicator across multiple instruments and markets.
The default configuration have been designed to obtain more accurate signals on Ethereum and Bitcoin, using the weekly timeframe.
Why Crypto Force Index?
The Crypto Force Index (CFI) is the consequence of my study of investments based on the accumulation plan. I wanted to demonstrate that I am improving the returns of the classic DCA ( dollar cost averaging ) and VA ( value averaging ).
After finding my own model of an accumulation plan, I decided to create the Crypto Force Index to help me visually enter the market.
The formulas of the indicator are very simple, but my studies confirm the power of this tool.
How are the signals to be interpreted?
The Crypto Force Index helps us to highlight the overbought and oversold areas, with the use of circles under the price of candles and with a thermometer inserted at the base of the graph, where all the phases of strength and weakness are highlighted.
As soon as the red circles start to appear on the chart, that may be a good time to enter LONG to the market and start accumulating. If the circles are green, we can consider decreasing the current exposure by selling part of your portfolio, or decide to stay flat.
I personally use these signals on the weekly timeframe, to decide to feed my accumulation plan at the beginning of each month.
I hope it can be of help to you! Please help me improve the Crypto Force Index! :)
Co-relation and St-deviation Strategy - BNB/USDT 15minThis indicator based on statistical analysis. it uses standard deviation and its co-relation to price action to generate signals. and following indicators has been used to calculate standard deviation and its co-relation values. finally it is capable to identify market changes in bottoms to pic most suitable points.
1. Parabolic SAR (parabolic stop and reverse)
2. Supertrend
3. Relative strength index (RSI)
4. Money flow index (MFI)
5. Balance of Power
6. Chande Momentum Oscillator
7. Center of Gravity (COG)
8. Directional Movement Index (DMI)
9. Stochastic
10. Symmetrically weighted moving average with fixed length
11. True strength index (TSI)
12. Williams %R
13. Accumulation/distribution index
14. Intraday Intensity Index
15. Negative Volume Index
16. Positive Volume Index
17. On Balance Volume
18. Price-Volume Trend
19. True range
20. Volume-weighted average price
21. Williams Accumulation/Distribution
22. Williams Variable Accumulation/Distribution
23. Simple Moving Average
24. Exponential Moving Average
25. CCI (commodity channel index)
26. Chop Zone
27. Ease of Movement
28. Detrended Price Oscillator
29. Advance Decline Line
30. Bull Bear Power
Indicators Combination Framework v3 IND [DTU]Hello All,
This script is a framework to analyze and see the results by combine selected indicators for (long, short, longexit, shortexit) conditions.
I was designed this for beginners and users to facilitate to see effects of the technical indicators combinations on the chart WITH NO CODE
You can improve your strategies according the results of this system by connecting the framework to a strategy framework/template such as Pinecoder, Benson, daveatt or custom.
This is enhanced version of my previous indicator "Indicators & Conditions Test Framework "
Currently there are 93 indicators (23 newly added) connected over library. You can also import an External Indicator or add Custom indicator (In the source)
It is possible to change it from Indicator to strategy (simple one) by just remarking strategy parts in the source code and see real time profit of your combinations
Feel free to change or use it in your source
Special thanks goes to Pine wizards: Trading view (built-in Indicators), @Rodrigo, @midtownsk8rguy, @Lazybear, @Daveatt and others for their open source codes and contributions
SIMPLE USAGE
1. SETTING: Show Alerts= True (To see your entries and Exists)
2. Define your Indicators (ex: INDICATOR1: ema(close,14), INDICATOR2: ema(close,21), INDICATOR3: ema(close,200)
3. Define Your Combinations for long & Short Conditions
a. For Long: (INDICATOR1 crossover INDICATOR2) AND (INDICATOR3 < close)
b. For Short: (INDICATOR1 crossunder INDICATOR2) AND (INDICATOR3 > close)
4. Select Strategy/template (Import strategy to chart) that you export your signals from the list
5. Analyze the best profit by changing Indicators values
SOME INDICATORS DETAILS
Each Indicator includes:
- Factorization : Converting the selected indicator to Double, triple Quadruple such as EMA to DEMA, TEMA QEMA
- Log : Simple or log10 can be used for calculation on function entries
- Plot Type : You can overlay the indicator on the chart (such ema) or you can use stochastic/Percentrank approach to display in the variable hlines range
- Extended Parametes : You can use default parameters or you can use extended (P1,P2) parameters regarding to indicator type and your choice
- Color : You can define indicator color and line properties
- Smooth : you can enable swma smooth
- indicators : you can select one of the 93 function like ema(),rsi().. to define your indicator
- Source : you can select from already defined indicators (IND1-4), External Indicator (EXT), Custom Indicator (CUST), and other sources (close, open...)
CONDITION DETAILS
- There are are 4 type of conditions, long entry, short entry, long exit, short exit.
- Each condition are built up from 4 combinations that joined with "AND" & "OR" operators
- You can see the results by enabling show alerts check box
- If you only wants to enter long entry and long exit, just fill these conditions
- If "close on opposite" checkbox selected on settings, long entry will be closed on short entry and vice versa
COMBINATIONS DETAILS
- There are 4 combinations that joined with "AND" & "OR" operators for each condition
- combinations are built up from compare 1st entry with 2nd one by using operator
- 1st and 2nd entries includes already defined indicators (IND1-5), External Indicator (EXT), Custom Indicator (CUST), and other sources (close, open...)
- Operators are comparison values such as >,<, crossover,...
- 2nd entry include "VALUE" parameter that will use to compare 1st indicator with value area
- If 2nd indicator selected different than "VALUE", value are will mean previous value of the selection. (ex: value area= 2, 2nd entry=close, means close )
- Selecting "NONE" for the 1st entry will disable calculation of current and following combinations
JOINS DETAILS
- Each combination will join wiht the following one with the JOIN (AND, OR) operator (if the following one is not equal "NONE")
CUSTOM INDICATOR
- Custom Indicator defines harcoded in the source code.
- You can call it with "CUST" in the Indicator definition source or combination entries source
- You can change or implement your custom indicator by updating the source code
EXTERNAL INDICATOR
- You can import an external indicator by selecting it from the ext source.
- External Indicator should be already imported to the chart and it have an plot function to output its signal
EXPORTING SIGNAL
- You can export your result to an already defined strategy template such as Pine coders, Benson, Daveatt Strategy templates
- Or you can define your custom export for other future strategy templates
ALERTS
- By enabling show alerts checkbox, you can see long entry exits on the bottom, and short entry exits aon the top of the chart
ADDITIONAL INFO
- You can see all off the inputs descriptions in the tooltips. (You can also see the previous version for details)
- Availability to set start, end dates
- Minimize repainting by using security function options (Secure, Semi Secure, Repaint)
- Availability of use timeframes
-
Version 3 INDICATORS LIST (More to be added):
▼▼▼ OVERLAY INDICATORS ▼▼▼
alma(src,len,offset=0.85,sigma=6).-------Arnaud Legoux Moving Average
ama(src,len,fast=14,slow=100).-----------Adjusted Moving Average
accdist().-------------------------------Accumulation/distribution index.
cma(src,len).----------------------------Corrective Moving average
dema(src,len).---------------------------Double EMA (Same as EMA with 2 factor)
ema(src,len).----------------------------Exponential Moving Average
gmma(src,len).---------------------------Geometric Mean Moving Average
highest(src,len).------------------------Highest value for a given number of bars back.
hl2ma(src,len).--------------------------higest lowest moving average
hma(src,len).----------------------------Hull Moving Average.
lagAdapt(src,len,perclen=5,fperc=50).----Ehlers Adaptive Laguerre filter
lagAdaptV(src,len,perclen=5,fperc=50).---Ehlers Adaptive Laguerre filter variation
laguerre(src,len).-----------------------Ehlers Laguerre filter
lesrcp(src,len).-------------------------lowest exponential esrcpanding moving line
lexp(src,len).---------------------------lowest exponential expanding moving line
linreg(src,len,loffset=1).---------------Linear regression
lowest(src,len).-------------------------Lovest value for a given number of bars back.
mcginley(src, len.-----------------------McGinley Dynamic adjusts for market speed shifts, which sets it apart from other moving averages, in addition to providing clear moving average lines
percntl(src,len).------------------------percentile nearest rank. Calculates percentile using method of Nearest Rank.
percntli(src,len).-----------------------percentile linear interpolation. Calculates percentile using method of linear interpolation between the two nearest ranks.
previous(src,len).-----------------------Previous n (len) value of the source
pivothigh(src,BarsLeft=len,BarsRight=2).-Previous pivot high. src=src, BarsLeft=len, BarsRight=p1=2
pivotlow(src,BarsLeft=len,BarsRight=2).--Previous pivot low. src=src, BarsLeft=len, BarsRight=p1=2
rema(src,len).---------------------------Range EMA (REMA)
rma(src,len).----------------------------Moving average used in RSI. It is the exponentially weighted moving average with alpha = 1 / length.
sar(start=len, inc=0.02, max=0.02).------Parabolic SAR (parabolic stop and reverse) is a method to find potential reversals in the market price direction of traded goods.start=len, inc=p1, max=p2. ex: sar(0.02, 0.02, 0.02)
sma(src,len).----------------------------Smoothed Moving Average
smma(src,len).---------------------------Smoothed Moving Average
super2(src,len).-------------------------Ehlers super smoother, 2 pole
super3(src,len).-------------------------Ehlers super smoother, 3 pole
supertrend(src,len,period=3).------------Supertrend indicator
swma(src,len).---------------------------Sine-Weighted Moving Average
tema(src,len).---------------------------Triple EMA (Same as EMA with 3 factor)
tma(src,len).----------------------------Triangular Moving Average
vida(src,len).---------------------------Variable Index Dynamic Average
vwma(src,len).---------------------------Volume Weigted Moving Average
volstop(src,len,atrfactor=2).------------Volatility Stop is a technical indicator that is used by traders to help place effective stop-losses. atrfactor=p1
wma(src,len).----------------------------Weigted Moving Average
vwap(src_).------------------------------Volume Weighted Average Price (VWAP) is used to measure the average price weighted by volume
▼▼▼ NON OVERLAY INDICATORS ▼▼
adx(dilen=len, adxlen=14, adxtype=0).----adx. The Average Directional Index (ADX) is a used to determine the strength of a trend. len=>dilen, p1=adxlen (default=14), p2=adxtype 0:ADX, 1:+DI, 2:-DI (def:0)
angle(src,len).--------------------------angle of the series (Use its Input as another indicator output)
aroon(len,dir=0).------------------------aroon indicator. Aroons major function is to identify new trends as they happen.p1 = dir: 0=mid (default), 1=upper, 2=lower
atr(src,len).----------------------------average true range. RMA of true range.
awesome(fast=len=5,slow=34,type=0).------Awesome Oscilator is an indicator used to measure market momentum. defaults : fast=len= 5, p1=slow=34, p2=type: 0=Awesome, 1=difference
bbr(src,len,mult=1).---------------------bollinger %%
bbw(src,len,mult=2).---------------------Bollinger Bands Width. The Bollinger Band Width is the difference between the upper and the lower Bollinger Bands divided by the middle band.
cci(src,len).----------------------------commodity channel index
cctbbo(src,len).-------------------------CCT Bollinger Band Oscilator
change(src,len).-------------------------A.K.A. Momentum. Difference between current value and previous, source - source . is most commonly referred to as a rate and measures the acceleration of the price and/or volume of a security
cmf(len=20).-----------------------------Chaikin Money Flow Indicator used to measure Money Flow Volume over a set period of time. Default use is len=20
cmo(src,len).----------------------------Chande Momentum Oscillator. Calculates the difference between the sum of recent gains and the sum of recent losses and then divides the result by the sum of all price movement over the same period.
cog(src,len).----------------------------The cog (center of gravity) is an indicator based on statistics and the Fibonacci golden ratio.
copcurve(src,len).-----------------------Coppock Curve. was originally developed by Edwin Sedge Coppock (Barrons Magazine, October 1962).
correl(src,len).-------------------------Correlation coefficient. Describes the degree to which two series tend to deviate from their ta.sma values.
count(src,len).--------------------------green avg - red avg
cti(src,len).----------------------------Ehler s Correlation Trend Indicator by
dev(src,len).----------------------------ta.dev() Measure of difference between the series and its ta.sma
dpo(len).--------------------------------Detrended Price OScilator is used to remove trend from price.
efi(len).--------------------------------Elders Force Index (EFI) measures the power behind a price movement using price and volume.
eom(len=14,div=10000).-------------------Ease of Movement.It is designed to measure the relationship between price and volume.p1 = div: 10000= (default)
falling(src,len).------------------------ta.falling() Test if the `source` series is now falling for `length` bars long. (Use its Input as another indicator output)
fisher(len).-----------------------------Fisher Transform is a technical indicator that converts price to Gaussian normal distribution and signals when prices move significantly by referencing recent price data
histvol(len).----------------------------Historical volatility is a statistical measure used to analyze the general dispersion of security or market index returns for a specified period of time.
kcr(src,len,mult=2).---------------------Keltner Channels Range
kcw(src,len,mult=2).---------------------ta.kcw(). Keltner Channels Width. The Keltner Channels Width is the difference between the upper and the lower Keltner Channels divided by the middle channel.
klinger(type=len).-----------------------Klinger oscillator aims to identify money flow’s long-term trend. type=len: 0:Oscilator 1:signal
macd(src,len).---------------------------MACD (Moving Average Convergence/Divergence)
mfi(src,len).----------------------------Money Flow Index s a tool used for measuring buying and selling pressure
msi(len=10).-----------------------------Mass Index (def=10) is used to examine the differences between high and low stock prices over a specific period of time
nvi().-----------------------------------Negative Volume Index
obv().-----------------------------------On Balance Volume
pvi().-----------------------------------Positive Volume Index
pvt().-----------------------------------Price Volume Trend
ranges(src,upper=len, lower=-5).---------ranges of the source. src=src, upper=len, v1:lower=upper . returns: -1 source=upper otherwise 0
rising(src,len).-------------------------ta.rising() Test if the `source` series is now rising for `length` bars long. (Use its Input as another indicator output)
roc(src,len).----------------------------Rate of Change
rsi(src,len).----------------------------Relative strength Index
rvi(src,len).----------------------------The Relative Volatility Index (RVI) is calculated much like the RSI, although it uses high and low price standard deviation instead of the RSI’s method of absolute change in price.
smi_osc(src,len,fast=5, slow=34).--------smi Oscillator
smi_sig(src,len,fast=5, slow=34).--------smi Signal
stc(src,len,fast=23,slow=50).------------Schaff Trend Cycle (STC) detects up and down trends long before the MACD. Code imported from
stdev(src,len).--------------------------Standart deviation
trix(src,len) .--------------------------the rate of change of a triple exponentially smoothed moving average.
tsi(src,len).----------------------------The True Strength Index indicator is a momentum oscillator designed to detect, confirm or visualize the strength of a trend.
ultimateOsc(len.-------------------------Ultimate Oscillator indicator (UO) indicator is a technical analysis tool used to measure momentum across three varying timeframes
variance(src,len).-----------------------ta.variance(). Variance is the expectation of the squared deviation of a series from its mean (ta.sma), and it informally measures how far a set of numbers are spread out from their mean.
willprc(src,len).------------------------Williams %R
wad().-----------------------------------Williams Accumulation/Distribution.
wvad().----------------------------------Williams Variable Accumulation/Distribution.
HISTORY
v3.01
ADD: 23 new indicators added to indicators list from the library. Current Total number of Indicators are 93. (to be continued to adding)
ADD: 2 more Parameters (P1,P2) for indicator calculation added. Par:(Use Defaults) uses only indicator(Source, Length) with library's default parameters. Par:(Use Extra Parameters P1,P2) use indicator(Source,Length,p1,p2) with additional parameters if indicator needs.
ADD: log calculation (simple, log10) option added on indicator function entries
ADD: New Output Signals added for compatibility on exporting condition signals to different Strategy templates.
ADD: Alerts Added according to conditions results
UPD: Indicator source inputs now display with indicators descriptions
UPD: Most off the source code rearranged and some functions moved to the new library. Now system work like a little bit frontend/backend
UPD: Performance improvement made on factorization and other source code
UPD: Input GUI rearranged
UPD: Tooltips corrected
REM: Extended indicators removed
UPD: IND1-IND4 added to indicator data source. Now it is possible to create new indicators with the previously defined indicators value. ex: IND1=ema(close,14) and IND2=rsi(IND1,20) means IND2=rsi(ema(close,14),20)
UPD: Custom Indicator (CUST) added to indicator data source and Combination Indicator source.
UPD: Volume added to indicator data source and Combination Indicator source.
REM: Custom indicators removed and only one custom indicator left
REM: Plot Type "Org. Range (-1,1)" removed
UPD: angle, rising, falling type operators moved to indicator library
Indicator Functions with Factor and HeikinAshiHello all,
This indicator returns below selected indicators values with entered parameters.
Also you can add factorization, functions candles, function HeikinAshi and more to the plot.
VERSION:
Version 1: returns series only source and Length with already defined default values
Version 2: returns series with source, Length, p1 and p2 parameters according to the indicator definition (ex: )
PARAMETERS p1 p2
for defining multi arguments (See indicators list) indicator input value usable with verison=V2 selected.. ex: for alma( src , len ,offset=0.85,sigma=6), set source=source, len=length, p1=0.85 an p2=6
FACTOR:
Add double triple, Quadruple factors to selected indicator (like converting EMA to 2-DEMA, 3-TEMA, 4-QEMA...)
1-Original
2-Double
3-Triple
4-Quadruple
LOG
Log: Use log, log10 on function entries
PLOTTING:
PType: Plotting type of the function on the screen
Original :use original values
Org. Range (-1,1): usable for indicators between range -1 and 1
Stochastic: Convert indicator values by using stochastic calculation between -1 & 1. (use AT/% length to better view)
PercentRank: Convert indicator values by using Percent Rank calculation between -1 & 1. (use AT/% length to better view)
ST/%: length for plotting Type for stochastic and Percent Rank options
Smooth: Use SWMA for smoothing the function
DISPLAY TYPES
Plot Candles: Display the selected indicator as candle by implementing values
Plot Ind: Display result of indicator with selected source
HeikinAshi: Display Selected indicator candles with Heikin Ashi calculation
INDICATOR LIST:
hide = 'DONT DISPLAY', //Dont display & calculate the indicator. (For my framework usage)
alma = 'alma( src , len ,offset=0.85,sigma=6)', // Arnaud Legoux Moving Average
ama = 'ama( src , len ,fast=14,slow=100)', //Adjusted Moving Average
acdst = 'accdist()', // Accumulation/distribution index.
cma = 'cma( src , len )', //Corrective Moving average
dema = 'dema( src , len )', // Double EMA (Same as EMA with 2 factor)
ema = 'ema( src , len )', // Exponential Moving Average
gmma = 'gmma( src , len )', //Geometric Mean Moving Average
hghst = 'highest( src , len )', //Highest value for a given number of bars back.
hl2ma = 'hl2ma( src , len )', //higest lowest moving average
hma = 'hma( src , len )', // Hull Moving Average .
lgAdt = 'lagAdapt( src , len ,perclen=5,fperc=50)', //Ehler's Adaptive Laguerre filter
lgAdV = 'lagAdaptV( src , len ,perclen=5,fperc=50)', //Ehler's Adaptive Laguerre filter variation
lguer = 'laguerre( src , len )', //Ehler's Laguerre filter
lsrcp = 'lesrcp( src , len )', //lowest exponential esrcpanding moving line
lexp = 'lexp( src , len )', //lowest exponential expanding moving line
linrg = 'linreg( src , len ,loffset=1)', // Linear regression
lowst = 'lowest( src , len )', //Lovest value for a given number of bars back.
pcnl = 'percntl( src , len )', //percentile nearest rank. Calculates percentile using method of Nearest Rank.
pcnli = 'percntli( src , len )', //percentile linear interpolation. Calculates percentile using method of linear interpolation between the two nearest ranks.
rema = 'rema( src , len )', //Range EMA (REMA)
rma = 'rma( src , len )', //Moving average used in RSI . It is the exponentially weighted moving average with alpha = 1 / length.
sma = 'sma( src , len )', // Smoothed Moving Average
smma = 'smma( src , len )', // Smoothed Moving Average
supr2 = 'super2( src , len )', //Ehler's super smoother, 2 pole
supr3 = 'super3( src , len )', //Ehler's super smoother, 3 pole
strnd = 'supertrend( src , len ,period=3)', //Supertrend indicator
swma = 'swma( src , len )', //Sine-Weighted Moving Average
tema = 'tema( src , len )', // Triple EMA (Same as EMA with 3 factor)
tma = 'tma( src , len )', //Triangular Moving Average
vida = 'vida( src , len )', // Variable Index Dynamic Average
vwma = 'vwma( src , len )', // Volume Weigted Moving Average
wma = 'wma( src , len )', //Weigted Moving Average
angle = 'angle( src , len )', //angle of the series (Use its Input as another indicator output)
atr = 'atr( src , len )', // average true range . RMA of true range.
bbr = 'bbr( src , len ,mult=1)', // bollinger %%
bbw = 'bbw( src , len ,mult=2)', // Bollinger Bands Width . The Bollinger Band Width is the difference between the upper and the lower Bollinger Bands divided by the middle band.
cci = 'cci( src , len )', // commodity channel index
cctbb = 'cctbbo( src , len )', // CCT Bollinger Band Oscilator
chng = 'change( src , len )', //Difference between current value and previous, source - source.
cmo = 'cmo( src , len )', // Chande Momentum Oscillator . Calculates the difference between the sum of recent gains and the sum of recent losses and then divides the result by the sum of all price movement over the same period.
cog = 'cog( src , len )', //The cog (center of gravity ) is an indicator based on statistics and the Fibonacci golden ratio.
cpcrv = 'copcurve( src , len )', // Coppock Curve. was originally developed by Edwin "Sedge" Coppock (Barron's Magazine, October 1962).
corrl = 'correl( src , len )', // Correlation coefficient . Describes the degree to which two series tend to deviate from their ta. sma values.
count = 'count( src , len )', //green avg - red avg
dev = 'dev( src , len )', //ta.dev() Measure of difference between the series and it's ta. sma
fall = 'falling( src , len )', //ta.falling() Test if the `source` series is now falling for `length` bars long. (Use its Input as another indicator output)
kcr = 'kcr( src , len ,mult=2)', // Keltner Channels Range
kcw = 'kcw( src , len ,mult=2)', //ta.kcw(). Keltner Channels Width. The Keltner Channels Width is the difference between the upper and the lower Keltner Channels divided by the middle channel.
macd = 'macd( src , len )', // macd
mfi = 'mfi( src , len )', // Money Flow Index
nvi = 'nvi()', // Negative Volume Index
obv = 'obv()', // On Balance Volume
pvi = 'pvi()', // Positive Volume Index
pvt = 'pvt()', // Price Volume Trend
rise = 'rising( src , len )', //ta.rising() Test if the `source` series is now rising for `length` bars long. (Use its Input as another indicator output)
roc = 'roc( src , len )', // Rate of Change
rsi = 'rsi( src , len )', // Relative strength Index
smosc = 'smi_osc( src , len ,fast=5, slow=34)', //smi Oscillator
smsig = 'smi_sig( src , len ,fast=5, slow=34)', //smi Signal
stdev = 'stdev( src , len )', //Standart deviation
trix = 'trix( src , len )' , //the rate of change of a triple exponentially smoothed moving average .
tsi = 'tsi( src , len )', //True Strength Index
vari = 'variance( src , len )', //ta.variance(). Variance is the expectation of the squared deviation of a series from its mean (ta. sma ), and it informally measures how far a set of numbers are spread out from their mean.
wilpc = 'willprc( src , len )', // Williams %R
wad = 'wad()', // Williams Accumulation/Distribution .
wvad = 'wvad()' //Williams Variable Accumulation/Distribution
I will update the indicator list when I will update the library
Thanks to tradingview, @RodrigoKazuma for their open source indicators
lib_Indicators_v2_DTULibrary "lib_Indicators_v2_DTU"
This library functions returns included Moving averages, indicators with factorization, functions candles, function heikinashi and more.
Created it to feed as backend of my indicator/strategy "Indicators & Combinations Framework Advanced v2 " that will be released ASAP.
This is replacement of my previous indicator (lib_indicators_DT)
I will add an indicator example which will use this indicator named as "lib_indicators_v2_DTU example" to help the usage of this library
Additionally library will be updated with more indicators in the future
NOTES:
Indicator functions returns only one series :-(
plotcandle function returns candle series
INDICATOR LIST:
hide = 'DONT DISPLAY', //Dont display & calculate the indicator. (For my framework usage)
alma = 'alma(src,len,offset=0.85,sigma=6)', //Arnaud Legoux Moving Average
ama = 'ama(src,len,fast=14,slow=100)', //Adjusted Moving Average
acdst = 'accdist()', //Accumulation/distribution index.
cma = 'cma(src,len)', //Corrective Moving average
dema = 'dema(src,len)', //Double EMA (Same as EMA with 2 factor)
ema = 'ema(src,len)', //Exponential Moving Average
gmma = 'gmma(src,len)', //Geometric Mean Moving Average
hghst = 'highest(src,len)', //Highest value for a given number of bars back.
hl2ma = 'hl2ma(src,len)', //higest lowest moving average
hma = 'hma(src,len)', //Hull Moving Average.
lgAdt = 'lagAdapt(src,len,perclen=5,fperc=50)', //Ehler's Adaptive Laguerre filter
lgAdV = 'lagAdaptV(src,len,perclen=5,fperc=50)', //Ehler's Adaptive Laguerre filter variation
lguer = 'laguerre(src,len)', //Ehler's Laguerre filter
lsrcp = 'lesrcp(src,len)', //lowest exponential esrcpanding moving line
lexp = 'lexp(src,len)', //lowest exponential expanding moving line
linrg = 'linreg(src,len,loffset=1)', //Linear regression
lowst = 'lowest(src,len)', //Lovest value for a given number of bars back.
pcnl = 'percntl(src,len)', //percentile nearest rank. Calculates percentile using method of Nearest Rank.
pcnli = 'percntli(src,len)', //percentile linear interpolation. Calculates percentile using method of linear interpolation between the two nearest ranks.
rema = 'rema(src,len)', //Range EMA (REMA)
rma = 'rma(src,len)', //Moving average used in RSI. It is the exponentially weighted moving average with alpha = 1 / length.
sma = 'sma(src,len)', //Smoothed Moving Average
smma = 'smma(src,len)', //Smoothed Moving Average
supr2 = 'super2(src,len)', //Ehler's super smoother, 2 pole
supr3 = 'super3(src,len)', //Ehler's super smoother, 3 pole
strnd = 'supertrend(src,len,period=3)', //Supertrend indicator
swma = 'swma(src,len)', //Sine-Weighted Moving Average
tema = 'tema(src,len)', //Triple EMA (Same as EMA with 3 factor)
tma = 'tma(src,len)', //Triangular Moving Average
vida = 'vida(src,len)', //Variable Index Dynamic Average
vwma = 'vwma(src,len)', //Volume Weigted Moving Average
wma = 'wma(src,len)', //Weigted Moving Average
angle = 'angle(src,len)', //angle of the series (Use its Input as another indicator output)
atr = 'atr(src,len)', //average true range. RMA of true range.
bbr = 'bbr(src,len,mult=1)', //bollinger %%
bbw = 'bbw(src,len,mult=2)', //Bollinger Bands Width. The Bollinger Band Width is the difference between the upper and the lower Bollinger Bands divided by the middle band.
cci = 'cci(src,len)', //commodity channel index
cctbb = 'cctbbo(src,len)', //CCT Bollinger Band Oscilator
chng = 'change(src,len)', //Difference between current value and previous, source - source .
cmo = 'cmo(src,len)', //Chande Momentum Oscillator. Calculates the difference between the sum of recent gains and the sum of recent losses and then divides the result by the sum of all price movement over the same period.
cog = 'cog(src,len)', //The cog (center of gravity) is an indicator based on statistics and the Fibonacci golden ratio.
cpcrv = 'copcurve(src,len)', //Coppock Curve. was originally developed by Edwin "Sedge" Coppock (Barron's Magazine, October 1962).
corrl = 'correl(src,len)', //Correlation coefficient. Describes the degree to which two series tend to deviate from their ta.sma values.
count = 'count(src,len)', //green avg - red avg
dev = 'dev(src,len)', //ta.dev() Measure of difference between the series and it's ta.sma
fall = 'falling(src,len)', //ta.falling() Test if the `source` series is now falling for `length` bars long. (Use its Input as another indicator output)
kcr = 'kcr(src,len,mult=2)', //Keltner Channels Range
kcw = 'kcw(src,len,mult=2)', //ta.kcw(). Keltner Channels Width. The Keltner Channels Width is the difference between the upper and the lower Keltner Channels divided by the middle channel.
macd = 'macd(src,len)', //macd
mfi = 'mfi(src,len)', //Money Flow Index
nvi = 'nvi()', //Negative Volume Index
obv = 'obv()', //On Balance Volume
pvi = 'pvi()', //Positive Volume Index
pvt = 'pvt()', //Price Volume Trend
rise = 'rising(src,len)', //ta.rising() Test if the `source` series is now rising for `length` bars long. (Use its Input as another indicator output)
roc = 'roc(src,len)', //Rate of Change
rsi = 'rsi(src,len)', //Relative strength Index
smosc = 'smi_osc(src,len,fast=5, slow=34)', //smi Oscillator
smsig = 'smi_sig(src,len,fast=5, slow=34)', //smi Signal
stdev = 'stdev(src,len)', //Standart deviation
trix = 'trix(src,len)' , //the rate of change of a triple exponentially smoothed moving average.
tsi = 'tsi(src,len)', //True Strength Index
vari = 'variance(src,len)', //ta.variance(). Variance is the expectation of the squared deviation of a series from its mean (ta.sma), and it informally measures how far a set of numbers are spread out from their mean.
wilpc = 'willprc(src,len)', //Williams %R
wad = 'wad()', //Williams Accumulation/Distribution.
wvad = 'wvad()' //Williams Variable Accumulation/Distribution.
}
f_func(string, float, simple, float, float, float, simple) f_func Return selected indicator value with different parameters. New version. Use extra parameters for available indicators
Parameters:
string : FuncType_ indicator from the indicator list
float : src_ close, open, high, low,hl2, hlc3, ohlc4 or any
simple : int length_ indicator length
float : p1 extra parameter-1. active on Version 2 for defining multi arguments indicator input value. ex: lagAdapt(src_, length_,LAPercLen_=p1,FPerc_=p2)
float : p2 extra parameter-2. active on Version 2 for defining multi arguments indicator input value. ex: lagAdapt(src_, length_,LAPercLen_=p1,FPerc_=p2)
float : p3 extra parameter-3. active on Version 2 for defining multi arguments indicator input value. ex: lagAdapt(src_, length_,LAPercLen_=p1,FPerc_=p2)
simple : int version_ indicator version for backward compatibility. V1:dont use extra parameters p1,p2,p3 and use default values. V2: use extra parameters for available indicators
Returns: float Return calculated indicator value
fn_heikin(float, float, float, float) fn_heikin Return given src data (open, high,low,close) as heikin ashi candle values
Parameters:
float : o_ open value
float : h_ high value
float : l_ low value
float : c_ close value
Returns: float heikin ashi open, high,low,close vlues that will be used with plotcandle
fn_plotFunction(float, string, simple, bool) fn_plotFunction Return input src data with different plotting options
Parameters:
float : src_ indicator src_data or any other series.....
string : plotingType Ploting type of the function on the screen
simple : int stochlen_ length for plotingType for stochastic and PercentRank options
bool : plotSWMA Use SWMA for smoothing Ploting
Returns: float
fn_funcPlotV2(string, float, simple, float, float, float, simple, string, simple, bool, bool) fn_funcPlotV2 Return selected indicator value with different parameters. New version. Use extra parameters fora available indicators
Parameters:
string : FuncType_ indicator from the indicator list
float : src_data_ close, open, high, low,hl2, hlc3, ohlc4 or any
simple : int length_ indicator length
float : p1 extra parameter-1. active on Version 2 for defining multi arguments indicator input value. ex: lagAdapt(src_, length_,LAPercLen_=p1,FPerc_=p2)
float : p2 extra parameter-2. active on Version 2 for defining multi arguments indicator input value. ex: lagAdapt(src_, length_,LAPercLen_=p1,FPerc_=p2)
float : p3 extra parameter-3. active on Version 2 for defining multi arguments indicator input value. ex: lagAdapt(src_, length_,LAPercLen_=p1,FPerc_=p2)
simple : int version_ indicator version for backward compatibility. V1:dont use extra parameters p1,p2,p3 and use default values. V2: use extra parameters for available indicators
string : plotingType Ploting type of the function on the screen
simple : int stochlen_ length for plotingType for stochastic and PercentRank options
bool : plotSWMA Use SWMA for smoothing Ploting
bool : log_ Use log on function entries
Returns: float Return calculated indicator value
fn_factor(string, float, simple, float, float, float, simple, simple, string, simple, bool, bool) fn_factor Return selected indicator's factorization with given arguments
Parameters:
string : FuncType_ indicator from the indicator list
float : src_data_ close, open, high, low,hl2, hlc3, ohlc4 or any
simple : int length_ indicator length
float : p1 parameter-1. active on Version 2 for defining multi arguments indicator input value. ex: lagAdapt(src_, length_,LAPercLen_=p1,FPerc_=p2)
float : p2 parameter-2. active on Version 2 for defining multi arguments indicator input value. ex: lagAdapt(src_, length_,LAPercLen_=p1,FPerc_=p2)
float : p3 parameter-3. active on Version 2 for defining multi arguments indicator input value. ex: lagAdapt(src_, length_,LAPercLen_=p1,FPerc_=p2)
simple : int version_ indicator version for backward compatibility. V1:dont use extra parameters p1,p2,p3 and use default values. V2: use extra parameters for available indicators
simple : int fact_ Add double triple, Quatr factor to selected indicator (like converting EMA to 2-DEMA, 3-TEMA, 4-QEMA...)
string : plotingType Ploting type of the function on the screen
simple : int stochlen_ length for plotingType for stochastic and PercentRank options
bool : plotSWMA Use SWMA for smoothing Ploting
bool : log_ Use log on function entries
Returns: float Return result of the function
fn_plotCandles(string, simple, float, float, float, simple, string, simple, bool, bool, bool) fn_plotCandles Return selected indicator's candle values with different parameters also heikinashi is available
Parameters:
string : FuncType_ indicator from the indicator list
simple : int length_ indicator length
float : p1 parameter-1. active on Version 2 for defining multi arguments indicator input value. ex: lagAdapt(src_, length_,LAPercLen_=p1,FPerc_=p2)
float : p2 parameter-2. active on Version 2 for defining multi arguments indicator input value. ex: lagAdapt(src_, length_,LAPercLen_=p1,FPerc_=p2)
float : p3 parameter-3. active on Version 2 for defining multi arguments indicator input value. ex: lagAdapt(src_, length_,LAPercLen_=p1,FPerc_=p2)
simple : int version_ indicator version for backward compatibility. V1:dont use extra parameters p1,p2,p3 and use default values. V2: use extra parameters for available indicators
string : plotingType Ploting type of the function on the screen
simple : int stochlen_ length for plotingType for stochastic and PercentRank options
bool : plotSWMA Use SWMA for smoothing Ploting
bool : log_ Use log on function entries
bool : plotheikin_ Use Heikin Ashi on Plot
Returns: float
Rolling Volume Structure: HVN & SentimentTitle:
Rolling Volume Structure: HVN & Sentiment
Description:
This indicator visualizes the distribution of volume over price levels for a user-defined rolling period. It is designed to identify structural market nodes (HVN/LVN) and correlate them with Pivot Points to filter out market noise.
NOTE: This script utilizes a mathematical array binning algorithm to calculate the profile efficiently on the chart timeframe, avoiding the runtime timeouts often associated with standard iterative volume profiles.
How it works (Technical Methodology)
Binning Algorithm: The script calculates the price range (Highest High - Lowest Low) of the lookback period and divides it into a fixed number of vertical bins defined by the Resolution input.
Volume Allocation: It iterates through historical bars once. The volume of each bar is assigned to the corresponding price bin based on the bar's closing price.
Sentiment Approximation: Since tick-level Bid/Ask data is not available for historical bars in standard Pine Script strategies, this indicator estimates directional volume based on candle polarity:
If Close > Open: Volume is categorized as "Up Volume" (Buying Sentiment).
If Close < Open: Volume is categorized as "Down Volume" (Selling Sentiment).
Disclaimer: This is a standard approximation for structural analysis and does not represent true tick-data delta.
Why this Combination? (Originality & Synergy)
This script addresses the problem of validating structural levels. Traders often use Pivots and Volume Profiles separately. This script combines them programmatically to provide context:
Pivot Confluence: A Pivot Point is only plotted if it aligns with significant volume structure.
HVN Validation: A pivot occurring within a High Volume Node (HVN) suggests a high-liquidity reversal zone, whereas a pivot in a Low Volume Node (LVN) may indicate a liquidity void or a "weak" high/low.
The Dashboard summarizes these metrics (Position relative to Value Area, Net Sentiment, and Trend), removing the need for multiple separate indicators.
Educational Use for Beginners
If you are new to Volume Profile, think of the market structure in these simple terms:
Value Area (VA): This is the "Fair Price" zone where 70% of trading happened. If price is inside here, the market is balanced. If price breaks out, it may be starting a trend.
HVN (High Volume Nodes - Colored Boxes): Think of these as "Traffic Jams". Price often slows down, bounces, or gets stuck here because there are many orders. They act as Support or Resistance.
LVN (Low Volume Nodes - Gray Strips): Think of these as "Empty Highways". Because there is little volume here, price tends to move through these zones very quickly to get to the next HVN.
Features
HVN (High Volume Nodes): Colored boxes highlighting areas of high accumulation.
LVN (Low Volume Nodes): Gray strips highlighting gaps or acceleration zones.
Value Area (VA): Displays the VAH, VAL, and PoC (Point of Control).
Volume-Filtered Pivots: Plots pivots only when supported by the profile structure.
Sentiment Coloring: The profile bins are colored based on the net bullish/bearish candle volume.
Settings
Rolling Period: The lookback window size (default 150 bars).
Resolution: Precision of the profile bins (higher = more detail, lower = smoother).
HVN Thresholds: Percentage of PoC volume required to identify a node.
Global Text Size: Adjusts labels and dashboard for 4K or standard screens.
Credits: The core binning logic is adapted from generic open-source array management concepts for custom volume profiles.
Momentum Trend & Ignition DashboardDescription
Rationale & Originality Traders often struggle with chart clutter, needing separate indicators for Moving Averages, Volume anomalies, and Fundamental stats (like 52-week highs or Float). This script solves this problem by creating a unified "Momentum Dashboard." It is not just a collection of averages; it is a purpose-built tool for Breakout and Trend Following strategies (such as CAN SLIM or VCP).
The uniqueness of this script lies in its "Confluence Logic": it allows a trader to instantly validate a setup by checking three pillars simultaneously without changing tabs:
Trend: Are the key MAs (20, 50, 100, 200) stacked correctly?
Ignition: Is there a "Power Play" (Big Price Move + Heavy Volume) occurring right now?
Stats: Is the stock near its 52-week high, and does it have a supportive Up/Down Volume Ratio?
How It Works (Detailed Calculations)
1. Custom Trend Ribbon (4x MA Mix):
The script plots 4 independent Moving Averages.
Innovation: Unlike standard inputs, each MA can be individually toggled between SMA (Simple) or EMA (Exponential). This allows traders to mix "Fast" trend lines (e.g., 10 or 20 EMA) with "Slow" institutional lines (e.g., 50 or 200 SMA) in one overlay.
2. "Purple Dot" Ignition Detection:
This features a custom detection algorithm for "Ignition Bars."
Logic: It compares the current candle's Close to the previous Close. If the move exceeds a user-defined threshold (default 5%) AND the Volume exceeds a fixed liquidity threshold (default 500k), a Purple Dot is plotted.
This filters out "low volume drift" and highlights true institutional participation.
3. Relative Volume (RVol) Engine:
Calculates the ratio of Current Volume to the 50-period SMA of Volume.
Visuals: If the ratio exceeds the user threshold (e.g., 1.5x average), the dashboard highlights the data, and optionally the chart bars, alerting the trader to unusual activity.
4. Statistical Dashboard (Data Panel):
Using request.security, the panel fetches daily timeframe data regardless of the chart view.
52-Week & 13-Week H/L: Calculates the percentage distance from these key levels to gauge overhead supply.
U/D Ratio: Calculates the sum of volume on "Up Days" vs. "Down Days" over 50 periods. A value > 1.0 suggests institutional accumulation.
Float %: (Stocks Only) Fetches financial data to show the percentage of shares available for trading.
How to Use This Script
This script is designed for Trend Following and Breakout Trading:
The Setup: Use the Data Panel to find stocks with a U/D Ratio > 1.0 and price within 15% of the 52-Week High.
The Trend: Ensure price is above the MA 2 (set to 50 SMA) and MA 4 (set to 200 SMA) to confirm a Stage 2 uptrend.
The Trigger: Watch for the Purple Dot.
If a Purple Dot appears as price breaks out of a consolidation (base), it confirms institutional buying.
Use the RVol panel to confirm that volume is at least 1.5x normal levels.
Risk Management: Use the MA 1 (set to 20 EMA) as a trailing stop-loss during strong trends.
Settings & Configuration
MAs: Fully adjustable Length and Type (SMA/EMA).
Big Move (Purple Dot): Adjust the % Move based on asset volatility (e.g., use 3% for Large Caps, 10% for Crypto).
Table: The data panel is fully dynamic. You can toggle specific rows (like Float or SMA distance) On/Off to save screen space, and position it anywhere on the chart.
Credits & References
The concept of Relative Volume (RVol) and U/D Ratio is derived from standard Volume Analysis used by William O'Neil.
The "Big Move" combined with Volume thresholds is based on standard Volume Spread Analysis (VSA) concepts regarding "Effort vs. Result."
Financial data fetch (Float) utilizes TradingView's built-in financial() library.
Options Gamma Flip Zones [BackQuant]Options Gamma Flip Zones
A market-structure style “gamma flip” mapper that builds adaptive strike-like zones, scores how price interacts with them, then promotes the strongest candidates into confirmed flip zones. Designed to highlight pinning, failed breaks, and rotational behavior without needing live options chain data.
What this indicator does
This script identifies price levels that behave like “strike magnets” during conditions that resemble options pinning, then draws dynamic zones around those levels.
Instead of assuming every round number matters, it:
Creates a strike ladder (auto or manual step).
Applies a regime filter that looks for “pin-friendly” market conditions.
Tracks and scores repeated interactions with the level.
Upgrades a zone from candidate to confirmed when enough evidence accumulates.
Invalidates zones when price achieves sustained acceptance away from them.
The output is a set of shaded boxes (zones) centered on strike-like levels, with text readouts that show the current state of each zone.
Key concept: “Gamma proxy”
A true gamma flip requires options positioning data. This indicator does not use options chain gamma.
Instead, it uses a proxy approach:
When markets have elevated volatility relative to their recent baseline AND trend strength is weak, price often behaves “sticky” around key levels.
In those conditions, repeated touches and failed escapes around a level behave similarly to pinning around strikes.
So this tool is best read as:
“Where would a strike-like magnet likely exist right now, based on price behavior and regime conditions?”
How zones are created
Zones only start forming when the script detects a pin-friendly regime.
1) Strike Ladder (level selection)
Auto Strike Step selects a step size based on current price magnitude (bigger price, bigger step).
Manual Strike Step lets you force a fixed increment.
The current “active level” is the nearest rounded level to price.
Major Level Every optionally marks major ladder levels (multiples of step).
2) Band construction (zone thickness)
Each zone is a symmetric band around the level, using one of two modes:
ATR mode scales thickness with volatility.
Percent mode scales thickness as a fraction of price.
This matters because “pin behavior” is not a single tick. It’s a region where price repeatedly probes and rejects.
Regime filter (when the script is allowed to believe in pinning)
A zone is only eligible to form and strengthen when Pin Regime is active. Pin Regime is a conjunction of:
1) IV proxy (ATR z-score)
Uses ATR as a volatility proxy.
Converts ATR% into a z-score relative to a long lookback.
IV Proxy Threshold controls how elevated volatility must be before the script considers pinning likely.
2) Weak trend requirement
The script also requires price action to be non-trending:
EMA spread must be small (fast vs slow EMA not diverging strongly).
ADX must be below a ceiling, confirming weak directional trend strength.
Interpretation:
High “IV proxy” + weak trend is where pin-like behavior is most common.
If trend is strong, zones are less meaningful because price is more likely to accept away from levels.
Flip confirmation logic (what upgrades a zone)
A zone is not “confirmed” just because price is near it once. The script builds conviction via evidence accumulation.
Evidence types:
Touches : price comes close to the level within tolerance.
Failed escapes : price pushes outside the band but closes back inside (rejection).
Acceptance run : consecutive closes outside the band, suggesting price is accepting away from the zone.
Protections:
Touch Cooldown prevents counting the same micro-chop as multiple touches.
Acceptance Bars defines what “real acceptance” means, so the zone does not get invalidated by one noisy bar.
A zone becomes confirmed when:
Touches meet the “evidence” requirement.
Failed escapes meet the “rejection” requirement.
The regime filter still says the market is pin-friendly.
That is important, it avoids promoting levels that only worked briefly in a trending tape.
Zone scoring and lifecycle
Each zone maintains a score that evolves over time. Think of score as “how much this level has recently behaved like a magnet.”
Score dynamics:
Decay per bar : score fades over time if price stops respecting the zone.
+ per touch : repeated proximity increases score.
+ per failed escape : rejections add stronger reinforcement.
- per acceptance bar : sustained trading outside reduces score.
Min score to draw : prevents clutter from weak, low-confidence zones.
Invalidation:
If the score becomes very weak AND price achieves sustained acceptance away from the zone, the zone is deleted.
This keeps the chart clean and ensures zones represent current market behavior, not ancient levels.
How to read the plot on chart
1) Zone fill and border
Each zone is drawn as a box extended to the right.
Fill opacity adapts to zone strength, strong zones are visually more prominent.
Border color encodes the current directional context and special events.
2) Bullish vs bearish coloring
A zone is colored bullish when price is currently trading above the zone’s mid-level.
A zone is colored bearish when price is currently trading below it.
This is not a trade signal by itself, it is a state cue for “which side is in control around the level.”
3) Failed escape highlighting
If price attempts to break above the band and fails, the border temporarily highlights as a failed up escape.
If price attempts to break below the band and fails, the border temporarily highlights as a failed down escape.
These are the moments where pin behavior is most visible:
Break attempt.
Immediate rejection.
Return to the band.
4) Midline (optional)
The zone midline is the strike-like level itself.
It is dotted to distinguish it from price structure lines.
5) Optional strike ladder overlay
When enabled, the script draws major and minor ladder lines near current price.
Major levels are thicker and less transparent.
This is a visualization aid for “where the algorithm is rounding,” not a prediction tool.
On-chart text readout (what the box text means)
Each box prints a compact state summary, designed for fast scanning:
Γ CANDIDATE means the zone is being tracked but not yet validated.
Γ FLIP (PROXY) means the zone has met confirmation requirements.
BULL/BEAR indicates which side price is on relative to the mid-level.
L prints the level value.
T is touch count, repeated proximity events.
F is fail count, rejected escape attempts.
IVz is the volatility proxy z-score at the moment.
ADX is the trend strength context.
Practical use cases
1) Pinning and range trading context
Confirmed zones often act like gravity wells in sideways or rotational regimes.
When price repeatedly fails to escape, fading outer edges can be reasonable context for mean reversion workflows.
2) Breakout validation
If price achieves acceptance outside the band for multiple bars, that is stronger breakout context than a single wick.
Zones that invalidate cleanly can mark transitions from pinning to directional move.
3) Time your “do nothing” periods
When Pin Regime is active and a zone is confirmed, the tape often becomes sticky and inefficient for trend chasing.
This helps avoid taking trend entries into a pin environment.
Alerts
Standalone alertconditions are included:
Zone Confirmed : a candidate becomes confirmed.
Zone Touch : price touches an active zone within tolerance.
Zone Invalidated : the zone loses relevance and is removed.
Tuning guidelines
Sensitivity vs quality
Lower Touches Needed and Failed Escapes Needed creates more zones faster, but with lower quality.
Higher values create fewer zones, but the ones that remain are more behaviorally “proven.”
Band width
ATR mode adapts to volatility and is typically safer across assets.
Percent mode is consistent visually but can feel too tight in high vol or too wide in low vol if not tuned.
Regime thresholds
If you want fewer zones, raise IV proxy threshold and tighten weak-trend filters.
If you want more zones, lower IV proxy threshold and loosen weak-trend filters.
Limitations
This is a proxy model, not live options gamma.
In strong trends, pinning assumptions can break, the regime filter is there to reduce that risk, but not eliminate it.
Auto strike step is designed for typical market ranges, manual step is recommended for niche tick sizes or custom markets.
Disclaimer
Educational and informational only, not financial advice.
Not a complete trading system.
Always validate settings per asset and timeframe.
Elite Cumulative Volume Delta OscillatorOverview
The Elite CVD+ is a premium-grade, session-resettable Cumulative Volume Delta indicator designed exclusively for professional futures and volume-profile traders. By focusing on the cleaner and more actionable Line-Focused mode, it transforms raw order flow data into a precise decision engine that reveals institutional buying/selling pressure, absorption, exhaustion, and high-probability reversal/continuation zones.
Unlike standard CVD tools that accumulate indefinitely or reset awkwardly, this version resets cleanly at your chosen anchor period (default daily) while pulling granular delta from lower timeframes when desired. The result: a smooth, non-repainting line that highlights real-time shifts in aggressive participation without the noise of perpetual accumulation.
Why This Indicator Is Elite-Level Useful
True Institutional Footprint
Cumulative Volume Delta measures the net aggressive buying (bid hits) vs. selling (ask hits). Sustained positive CVD = buyers in control; negative = sellers dominating. When price makes new highs on weakening CVD → classic bearish divergence signaling distribution. The session reset prevents old data from distorting current conviction, making divergences far more reliable than perpetual CVD.
Early Reversal Detection via Absorption & Extremes
Absorption highlighting flags scenarios where heavy delta pushes against price but price refuses to follow (e.g., massive selling into lows yet price holds or closes higher) — textbook trapping/retail stop-hunting.
Session CVD extremes with dynamic test zones pinpoint where aggressive flow is exhausted. Price returning to test these levels often produces high-R:R reversals.
Confluence-Rich Signals
Dual EMAs provide trend/filter context (crossovers, zero-line bounces). Dynamic coloring instantly shows momentum strength. Extreme single-bar delta highlights climax buying/selling. Built-in regular + hidden divergences align order flow with price structure.
Multi-Timeframe Consistency
Optional custom lower-TF delta fetch ensures the same granular data regardless of chart timeframe — critical for traders who switch between 1-min execution charts and 15-min/1H analysis charts.
Clean, Low-Lag Visuals
Thick CVD line with intelligent coloring, subtle backgrounds, persistent extreme lines, and optional labels keep the pane readable even during fast markets. No clutter from inferior candle representations.
How Professional Traders Use Elite CVD+ Most Successfully
Primary Setup Framework
Use on futures with reliable volume delta (ES, NQ, YM, CL, GC, etc.). Best timeframes: 3–15 minutes for intraday, 1H–4H for swing. Combine with price action structure (order blocks, fair value gaps, market profile highs/lows).
Practical Tips for Maximum Edge
Anchor Period: '1D' for regular session trading (resets at 00:00 exchange time). Use '1W' for weekly bias or '4H' for London/NY session-specific flow.
Lower Timeframe Delta: Enable custom and set to '1' or '3' for maximum granularity on indices. Leave disabled on higher charts for smoother read.
Absorption Tuning: Raise threshold to 80–90 on volatile instruments (NQ) to filter noise; lower to 70 on quieter ones (CL, GC).
Divergences: Most powerful on 15M+. Disable hidden on very low TFs if too noisy.
Alerts: Use the master “Any Event” alert for push/email/webhook notifications of zero crosses or new extremes — perfect for mobile monitoring.
Combination Tools: Pair with session VWAP, volume profile (fixed range at highs/lows), or psychological levels for triple confluence.
CVD & Big Trade Detector By HKOverview The CVD & Big Trade Detector By HK offers a unique perspective on Cumulative Volume Delta (CVD). This indicator utilizes Floating Bars (Candles) to visualize the cumulative buying and selling pressure. This design allows you to clearly see the net delta of each specific candle relative to the cumulative trend.
Additionally, it integrates the "Big Trade" algorithm to highlight statistically significant volume anomalies (Whale activity) directly on the CVD bars.
How it Works Since standard volume data does not always provide buy/sell splitting, this script estimates intrabar pressure using price action logic:
Buying Pressure: Calculated based on the push from the Low to the Close.
Selling Pressure: Calculated based on the push from the High to the Close.
The indicator then calculates the Delta (Buy Vol - Sell Vol) and accumulates it.
Floating Bars: Instead of plotting from the zero-line, each bar opens at the previous CVD value and closes at the new cumulative value.
Teal/Green Bar: Net buying in the current period (CVD increased).
Maroon/Red Bar: Net selling in the current period (CVD decreased).
Key Features
Floating CVD Structure: Prevents the "barcode effect" common in histogram CVDs. It provides a clean, candle-like view of momentum accumulation.
Whale Detection:
The script calculates the moving average and standard deviation (Sigma) of the buying/selling volume.
Green Dots: Appear when buying volume exceeds the statistical threshold (Signifying a "Big Buy").
Red Dots: Appear when selling volume exceeds the statistical threshold (Signifying a "Big Sell").
Precise Positioning: Whale markers are plotted exactly at the closing value of the CVD bar, showing you exactly where the volume spike impacted the delta.
How to Use
Divergences: Look for situations where Price makes a Higher High, but the CVD Bars fail to make a new high (bearish divergence).
Absorption: If you see a Large Whale Dot on a very small CVD bar (doji-like), it indicates massive volume fighting for direction with little net result—often a sign of absorption or a pending reversal.
Trend Confirmation: Strong floating bars in the direction of the trend, accompanied by Whale Dots, confirm smart money participation.
Settings
Lookback Period: Defines the baseline for the statistical volume calculation (default: 50).
Sensitivity (Sigma): Adjusts how strict the "Whale" detection is (default: 3.0). Higher values = fewer, more significant signals.
Colors: Fully customizable colors for Up/Down bars and Buy/Sell markers.
Built with Pine Script™ v6
BTC - VDD Multiple (Approx)Overview & Philosophy
⚠️ Note: This indicator is optimized for the Daily (1D) Timeframe. Please switch your chart to 1D for accurate signal reading.
The BTC – VDD Multiple (Approx) is an advanced oscillator designed to identify market overheating and cycle tops by analyzing the velocity of value moving through the market.
In traditional On-Chain Analysis, Value Days Destroyed (VDD) is a premier metric for spotting macro tops. It multiplies the coin age (how long a coin was held) by the price at which it was moved. When old coins (HODLer money) move at high prices, VDD spikes, signaling massive profit-taking.
The Problem: Real "Coin Days Destroyed" (CDD) data is typically locked behind institutional paywalls or unavailable on standard TradingView plans.
The Solution: This script calculates a Deterministic Proxy. By analyzing the relationship between Exchange Volume, Price, and a Dormancy Constant, we can approximate the structure of the VDD Multiple without needing a premium data feed.
Methodology
The VDD Multiple works by comparing short-term market velocity against a long-term baseline.
1. The Proxy Calculation
Since we cannot directly access the age of coins on TradingView, we model the economic weight of the move:
Proxy Value = Exchange Volume * Price * Dormancy Factor
This creates a synthetic representation of "Value Throughput."
2. The Multiple
We compare the immediate heat of the market against the yearly trend:
• Short-Term MA (2 Days): Captures flash spikes and sudden liquidity exit events.
• Long-Term MA (365 Days): Represents the baseline "hum" of network activity.
VDD Multiple = Short Term MA / Long Term MA
How to Read the Chart
The indicator plots the Multiple as a line and uses background highlighting to signal extreme regimes.
🔴 The Red Zone (Overheated > 2.9)
Meaning: Current value transfer is ~3x higher than the yearly average.
Interpretation: Historically, sharp spikes into the Red Zone correlate with Local or Cycle Tops. This indicates that massive volume is changing hands at high prices—typically a sign of "Smart Money" distributing into "Dumb Money" FOMO.
Note: In strong bull runs, price can push higher even after a VDD spike, but the risk/reward ratio is extremely poor here.
🟢 The Green Zone (Undervalued < 0.75)
Meaning: Market activity is quiet and below the yearly baseline.
Interpretation: These are periods of apathy or accumulation. Historically, extended time spent in the Green Zone (the "flatline") has offered the best asymmetric buying opportunities.
🟠 The Orange Line (Neutral)
Meaning: The market is in transition or equilibrium.
Strategy & Context
This indicator is best used as a Macro Cycle Tool, not a day-trading signal.
• Exit Strategy: Look for "Clusters" of Red Spikes. A single spike often marks a local correction, but a cluster of intense spikes while price makes new highs (Divergence) is a strong Cycle Top warning.
• Entry Strategy: Historically the best entries occur when the indicator flattens out in the Green Zone for weeks or months. This suggests sellers are exhausted and the market has reached a floor.
Credits
This script is an approximation of the original VDD Multiple concept. Full credit for the underlying on-chain theory goes to the pioneers of this metric:
• Concept: The original Value Days Destroyed metric was popularized by Hans Hauge and Glassnode.
• The Multiple: The specific application of a Short/Long MA Multiple on VDD is widely attributed to analysts like TXMC and Bitbo.
This script adapts these concepts for the free TradingView environment using exchange volume proxies.
Settings
• Data Source: Defaults to BINANCE:BTCUSDT to capture high-volume liquidity.
• Short MA: Default is 2 Days to capture rapid velocity spikes.
• Long MA: Default is 365 Days to track the annual trend.
Disclaimer
This tool is an approximation based on exchange volume, not raw blockchain data. While exchange volume and on-chain volume are highly correlated during cycle extremes, they are not identical. This script is for educational and research purposes only. Past performance does not guarantee future results.
Tags
bitcoin, btc, onchain, vdd, cdd, valuation, cycle, top, bottom, Rob Maths
Volume Delta Divergence Candle ColorThis indicator identifies divergences between price action and volume delta, highlighting potential reversal or continuation signals by coloring candles when buyer/seller pressure conflicts with the candle's direction.
**How It Works:**
The indicator analyzes real-time up/down volume data to detect two types of divergences:
🟣 **Seller Divergence (Fuscia)** - Occurs when a candle closes bullish (green) but the volume delta is negative, indicating more selling pressure despite the upward price movement. This suggests weak buying or potential distribution.
🔵 **Buyer Divergence (Cyan)** - Occurs when a candle closes bearish (red) but the volume delta is positive, indicating more buying pressure despite the downward price movement. This suggests weak selling or potential accumulation.
**Features:**
✓ Colors only divergent candles - non-divergent candles maintain your chart's default colors
✓ Uses actual exchange volume delta data (works best with CME futures and other instruments with tick-level data)
✓ Optional triangle markers above/below divergent candles for quick visual identification
✓ Clean, minimal design that doesn't clutter your chart
**Best Used For:**
- Identifying potential reversals or continuations
- Spotting weak price movements that may not follow through
- Confirming price action with underlying volume pressure
- Works on any timeframe with available volume delta data
**Note:** This indicator requires volume data from exchanges that provide tick-level information (CME futures, cryptocurrency exchanges, etc.). Results may vary on instruments with limited volume data.
Elite S&D [By:CienF]Elite Supply & Demand
Description
Elite Supply & Demand is not just another zone indicator; it is a complete institutional trading system designed to identify high-probability imbalances in the market. Unlike standard indicators that flood the chart with weak zones, this script applies rigorous Price Action rules to filter, score, and validate only the most significant areas of interest.
The core philosophy of this tool is "Anormality". Institutional activity leaves a footprint in the form of explosive volatility relative to the recent context. This indicator detects these footprints, measures their intensity, and validates them against market structure.
Key Features
🔥 Dynamic Quality Scoring (The "Elite" Feature) The indicator doesn't just draw boxes; it rates them. It calculates a Volumetric Ratio comparing the explosive move against the historical average at the moment of creation.
Contextual Intelligence: It continues to track the initial move. If the momentum continues after a small pause, the score updates in real-time.
Visual Grades:
🔥 Fire: High Anormality (Institutional Imbalance).
⚡ Lightning: Moderate Anormality (Decent strength).
No Icon: Standard move.
🏗️ Advanced Structure Validation Includes a unique "Eventual Break" filter.
Latent Zones: You can choose to hide zones that haven't broken structure yet.
Auto-Validation: The zone remains invisible/transparent until price breaks a recent High/Low or Fractal Pivot. Once the break occurs, the zone "activates" on your chart.
🧠 Smart Mitigation Logic
No Zombie Zones: Once a zone is mitigated (touched), it is strictly processed. It can either turn gray (History Mode) or be removed instantly.
Priority Handling: Mitigated zones are never re-colored or re-validated, keeping your chart clean and accurate.
🚀 Performance Optimization
Date Lookback: Includes a "Days Back" filter to prevent the script from calculating thousands of historical candles, ensuring smooth performance even on lower timeframes (1m, 5m).
🔔 Integrated Alerts
Creation: Get notified immediately when a potential zone forms.
Validation: Get notified specifically when a latent zone breaks structure and becomes active.
How It Works ( The Logic)
Phase 1: The Base (Indecision): Identifies candles with small bodies (≤ 50% of range) representing equilibrium/accumulation.
Phase 2: The Explosion (Imbalance): Looks for a strong breakout candle (≥ 60% body) that moves away from the base.
Phase 3: The Follow-up: Verifies that the move continues. It allows for "Smart Pauses" (single indecision candles) within the trend but invalidates the zone if a reversal occurs immediately.
Phase 4: Structure Check: Verifies if the move broke the Recent Range (High/Low) or Fractal Pivots.
Settings & Configuration
1. Base & Exit Rules
Max % Body: Threshold to define an indecision candle (Default: 50%).
Explosive Min: Minimum strength required for the exit candle.
2. Structure Validation
Structure Type: Choose between Recent Range (more fluid) or Fractal Pivots (stricter).
Filter Eventual Break: Highly Recommended. If checked, zones appear only after they prove their strength by breaking structure.
3. Scoring (Quality)
High Quality Ratio: The multiplier required to earn the 🔥 icon (e.g., 2.0x larger than average).
Allow Pause: Allows the algorithm to capture larger moves even if there is a single small candle in the middle of the explosive leg.
4. Performance
Days Back: Limits how far back the indicator draws. Reduce this number on low timeframes to speed up loading.
Usage Recommendations
For Trend Trading: Look for "Follow-up" zones. If you see a 🔥 zone forming in the direction of the higher timeframe trend, it is a high-probability entry.
For Reversals: Use the "Filter Eventual Break" feature. Wait for the indicator to reveal a zone that has broken a major structure point.
Stop Loss Placement: The indicator draws the zone covering the entire "Base" (wicks included). A safe stop is typically just beyond the distal line (33% recommended) of the box.
🔔 How to Set Up Alerts
Since this indicator uses the dynamic alert() function to send detailed messages (Entry Price, Stop Zone, Type), you must configure it correctly:
Add the indicator to your chart and adjust the settings to your preference.
Click the "Create Alert" button (Clock Icon) on the right toolbar or press Alt + A.
Condition: Select "Elite S&D " from the dropdown menu.
Trigger (CRITICAL): You must select "Any alert() function call".
Note: Do not select "Crossing" or other standard conditions, or the alerts will not trigger.
Expiration: Select "Open-ended" (if you have a Premium plan) or set a future date.
Alert Actions: Choose where you want to receive the alert (Notify on App, Show Popup, Send Email, etc.).
Message: You can leave this default. The script automatically generates a detailed message with the Ticker, Timeframe, Zone Type, and Coordinates.
Click Create.
Disclaimer: This tool is designed to assist in technical analysis and does not constitute financial advice. Always use proper risk management.
J&A Sessions & NewsProject J&A: Session Ranges is a precision-engineered tool designed for professional traders who operate based on Time & Price. Unlike standard session indicators that clutter the chart with background colors, this tool focuses on Dynamic Price Ranges to help you visualize the Highs, Lows, and liquidity pools of each session.
It is pre-configured for Frankfurt Time (Europe/Berlin) but is fully customizable for any global location.
Key Features
1. Dynamic Session Ranges (The Boxes) Instead of vertical stripes, this indicator draws Boxes that encapsulate the entire price action of a session.
Real-Time Tracking: The box automatically expands to capture the Highest High and Lowest Low of the current session.
Visual Clarity: Instantly see the trading range of Asia, London, and New York to identify breakouts or range-bound conditions.
2. The "Lunch Break" Logic (Unique Feature) Institutional volume often dies down during lunch hours. This indicator allows you to Split the Session to account for these breaks.
Enabled: The script draws two separate boxes (Morning Session vs. Afternoon Session), allowing you to see fresh ranges after the lunch accumulation.
Disabled: The script draws one continuous box for the full session.
3. Manual High-Impact News Scheduler Never get caught on the wrong side of a spike. Since TradingView scripts cannot access live calendars, this tool includes a Manual Scheduler for risk management.
Input: Simply input the time of high-impact events (e.g., CPI, NFP) from ForexFactory into the settings.
Visual: A dashed line appears on the chart at the exact news time.
Audio Alert: The system triggers an alarm 10 minutes before the event, giving you time to manage positions or exit trades.
Default Configuration (Frankfurt Time)
Asian Session: 01:00 - 10:00 (Lunch disabled)
London Session: 09:00 - 17:30 (Lunch: 12:00-13:00)
New York Session: 14:00 - 22:00 (Lunch: 18:00-19:00)
How to Use
Setup: Apply the indicator. The default timezone is Europe/Berlin. If you live elsewhere, simply change the "Your Timezone" setting to your local time (e.g., America/New_York), and the boxes will align automatically.
Daily Routine: Check the economic calendar in the morning. If there is a "Red Folder" event at 14:30, open the indicator settings and enter 14:30 into the News Scheduler.
Trade: Use the Session Highs and Lows as liquidity targets or breakout levels.
Settings & Customization
Timezone: Full support for major global trading hubs.
Colors: Customize the Box fill and Border colors for every session.
Labels: Rename sessions (e.g., "Tokyo" instead of "Asia") via the settings menu.
BTC Dual Cycle: Stats DashboardOverview
"Price takes the elevator down, but takes the stairs up."
This indicator is a macro-analysis tool designed to visualize the true duration of Bitcoin’s market cycles. Unlike standard oscillators that focus on short-term price action, the Macro Cycle Tracker filters out the noise to answer two fundamental questions:
Are we in a phase of Expansion (Price Discovery)?
Are we in a phase of Recovery (Repairing the damage of a crash)?
It visually separates the market into two distinct regimes based on a configurable drawdown threshold (default: -50%) and provides real-time statistics on how long these phases historically last.
How It Works
The script tracks the All-Time High (ATH) and divides market history into two colored zones:
🟢 The Green Zone (Expansion / Price Discovery)
Trigger: Starts immediately when Bitcoin breaks the previous ATH.
Meaning: The market is healthy, profitable, and exploring new valuation levels.
End: The zone ends when price drops by 50% (configurable) from the cycle top.
🔴 The Red Zone (Recovery / Capitulation)
Trigger: Starts when price drops below the 50% threshold from the peak.
Meaning: The asset is "underwater." This zone remains active persistently—even during relief rallies—until the previous ATH is fully reclaimed.
Philosophy: A cycle is not over until the damage is repaired.
Key Features
Cycle Timer: Displays the exact number of days passed for every historical cycle directly on the chart.
Live Counter: Shows the current duration of the active phase (e.g., "ZONE GREEN: 450 Days...").
Statistical Dashboard: A table in the bottom-right corner automatically calculates the Mean and Median duration (in days) for both Green and Red phases. This allows you to compare the current cycle against historical averages.
How to Use
For Investors (HODLers): Use the Red Zone to understand the "Time Cost" of a bear market. It helps visualize that recovery takes patience and that price action below the old ATH is merely accumulation.
For Analysts: Use the Dashboard statistics to project potential cycle turning points based on historical median durations.
Settings
Drop Percent (%): Default is 50%. This defines the "Crash" threshold. You can adjust this to 20% or 30% for more sensitive cycle detection.
Text Size: Adjust the size of the dashboard text to fit your screen resolution.
Disclaimer: This tool is for educational purposes only and does not constitute financial advice. Past performance is not indicative of future results.
Smart Money Volume Matrix [Ata]Smart Money Volume Matrix
The Smart Money Volume Matrix (SMV Matrix) is an advanced volume-spread analysis (VSA) dashboard and charting tool designed to identify significant market anomalies by analyzing the relationship between price extremes and volume flow.
Unlike traditional indicators that rely solely on moving averages or oscillators, this tool performs a "Snapshot Analysis" of a defined lookback period (default: 100 bars) to rank price action based on Order Flow Dominance. It isolates the Top 10 Highest and Lowest Close prices and scrutinizes the volume behind them to categorize market sentiment into four distinct phases: Distribution, No Demand, Absorption, and Exhaustion.
Core Logic & Methodology
The script operates on a Zero-Lag Snapshot Engine. It does not print historical signals bar-by-bar; instead, it evaluates the current market structure relative to the recent history (Lookback Period).
1. Ranking Engine: The script scans the lookback period to find the Top 10 Highest Closes and Top 10 Lowest Closes.
2. Volume Classification: For each ranked bar, it calculates the "Intrabar Buy/Sell Volume" (or approximates it using candle geometry if Intrabar data is unavailable).
3. Dominance Detection: It compares Buying Volume vs. Selling Volume to determine who is in control at critical price levels.
Signal Classifications (VSA Logic)
The indicator generates labels on the chart and updates the dashboard table based on the following logic:
1. At Price Tops (Resistance Areas):
- Distribution (Supply): High Price + High Total Volume + Sellers Dominant.
Interpretation: Indicates heavy institutional selling into rising prices. Often precedes a reversal.
- Buy Climax: High Price + High Total Volume + Buyers Dominant.
Interpretation: Extreme buying frenzy. While bullish, it often marks a "trap" or temporary top due to exhaustion.
- No Demand: High Price + Low Volume.
Interpretation: Prices drifted higher but lack institutional participation. A sign of weakness.
2. At Price Bottoms (Support Areas):
- Absorption: Low Price + High Total Volume + Buyers Dominant.
Interpretation: Institutional money is absorbing selling pressure (passive buying). A strong sign of accumulation.
- Panic Sell: Low Price + High Total Volume + Sellers Dominant.
Interpretation: Extreme fear. High volume at lows typically indicates capitulation and potential hands-changing.
- Exhaustion: Low Price + Low Volume.
Interpretation: Selling pressure has dried up. The market may float upward due to lack of sellers.
Key Features
- Dashboard Matrix Table:
Displays the exact Close Price, Buy/Sell Volume, and Market State (Group) for the Top 10 ranking bars.
Smart Footer: Automatically detects the active "Resistance Zone" (derived from G1 Distribution levels) and "Support Zone" (derived from G3 Absorption levels) and reports the current price status relative to these zones (e.g., "Testing Resistance", "Breakout", "At Support").
- Smart Zones (Auto S/R):
Automatically draws Support and Resistance boxes extending into the future based on the most significant volume clusters found in the rankings. Includes logic to detect "Flips" (e.g., when Support breaks, it is labeled as a flip to Resistance).
- Average Trend Channels:
Calculates a Linear Regression trend line based specifically on the coordinates of the Top 10 Highs and Top 10 Lows, providing a "Best Fit" channel for the current market structure.
- Visual Clarity:
Labels utilize a "Smart Stacking" algorithm to prevent overlap on the chart. Guide lines connect labels to their respective candles for precise identification.
Settings & Configuration
- Matrix Settings: Lookback Period (default 100 bars) and Top Rank Count.
- Volume Engine: Choose between "Intrabar (Precise)" for accurate order flow or "Geometry (Approx)" for standard volume estimation.
- Visuals: Toggle Table, Labels, Lines, Zones, and Trend Lines. Adjust transparency and font sizes.
IMPORTANT NOTE ON SNAPSHOT LOGIC
This indicator is designed as a Real-Time Dashboard. It continuously updates the "Top 10" list as new candles form. Therefore, a label that appears on a candle may disappear if that candle falls out of the Top 10 ranking or leaves the lookback window. This is intended behavior to ensure the chart always reflects the current most critical levels, rather than a historical record of past signals. It is best used for live market analysis rather than historical back testing.
Disclaimer: This tool is for educational and analytical purposes only. Volume analysis is subjective and should be used in conjunction with other methods of technical analysis.
Market SessionsMarket Sessions (Asian, London, NY, Pacific)
Summary
This indicator plots the main global market sessions (Asian, European, American, Pacific) as boxes on your chart, complete with dynamic high/low tracking.
It's an essential tool for intraday traders to track session-based volatility patterns and visualize key support/resistance levels (like the Asian Range) that often define price action for the rest of the day.
Who it’s for
Intraday traders, scalpers, and day traders who need to visualize market hours and session-based ranges. If your strategy depends on the London open, the New York close, or the Asian range, this script will map it out for you.
What it shows
Customizable Session Boxes: Four fully configurable boxes for the Asian, European (London), American (New York), and Pacific (Sydney) sessions.
Session High & Low: The script tracks and boxes the highest high and lowest low of each session, dynamically updating as the session progresses.
Session Labels: Clear labels (e.g., "AS", "EU") mark each session, anchored to the start time.
Key Features
Powerful Timezone Control: This is the core feature.
Use Exchange Timezone (Default): Simply enter session times (e.g., 8:00 for London) relative to the exchange's timezone (e.g., "NASDAQ" or "BINANCE").
Use UTC Offset: Uncheck the box and enter a UTC offset (e.g., +3 or -5). Now, all session times you enter are relative to that specific UTC offset. This gives you full control regardless of the chart you're on.
Fully Customizable: Toggle any session on/off.
Style Control: Change the fill color, border color, transparency, border width, and line style (Solid, Dashed, Dotted) for each session individually.
Smart Labels: Labels stay anchored to the start of the session (no "sliding") and float just above the session high.
Why this helps
Track Volatility & Market Behavior: Visually identify the "personality" of each session. Some sessions might consistently produce powerful pumps or dumps, while others are prone to sideways "chop" or accumulation. This indicator helps you see these repeating patterns.
Find Key Support/Resistance Levels: The High and Low of a session (e.g., the Asian Range) often become critical support and resistance levels for the next session (e.g., London). This script makes it easy to spot these "session-to-session" S/R flips and reactions.
Aid Statistical Analysis: The script provides the core visual data for your statistical research. You can easily track how often the London session breaks the Asian high, or which session is most likely to reverse the trend, helping you build a robust trading plan.
Context is King: Instantly see which market is active, which are overlapping (like the high-volume London-NY overlap), and which have closed.
Quick setup
Go to Timezone Settings.
Decide how you want to enter times:
Easy (Default): Leave Use Exchange Timezone checked. Enter session times based on the chart's native exchange (e.g., for BTC/USDT on Binance, use UTC+0 times).
Manual (Pro): Uncheck Use Exchange Timezone. Enter your UTC Offset (e.g., +2 for Berlin). Now, enter all session times as they appear on the clock in Berlin.
Go to each session tab (Asian, European...) to enable/disable it and set the correct start/end hours and minutes.
Style the colors to match your chart theme.
Disclaimer
For educational/informational purposes only; not financial advice. Trading involves risk—manage it responsibly.
Volume Cluster Heatmap [BackQuant]Volume Cluster Heatmap
A visualization tool that maps traded volume across price levels over a chosen lookback period. It highlights where the market builds balance through heavy participation and where it moves efficiently through low-volume zones. By combining a heatmap, volume profile, and high/low volume node detection, this indicator reveals structural areas of support, resistance, and liquidity that drive price behavior.
What Are Volume Clusters?
A volume cluster is a horizontal aggregation of traded volume at specific price levels, showing where market participants concentrated their buying and selling.
High Volume Nodes (HVN) : Price levels with significant trading activity; often act as support or resistance.
Low Volume Nodes (LVN) : Price levels with little trading activity; price moves quickly through these areas, reflecting low liquidity.
Volume clusters help identify key structural zones, reveal potential reversals, and gauge market efficiency by highlighting where the market is balanced versus areas of thin liquidity.
By creating heatmaps, profiles, and highlighting high and low volume nodes (HVNs and LVNs), it allows traders to see where the market builds balance and where it moves efficiently through thin liquidity zones.
Example: Bitcoin breaking away from the high-volume zone near 118k and moving cleanly through the low-volume pocket around 113k–115k, illustrating how markets seek efficiency:
Core Features
Visual Analysis Components:
Heatmap Display : Displays volume intensity as colored boxes, lines, or a combination for a dynamic view of market participation.
Volume Profile Overlay : Shows cumulative volume per price level along the right-hand side of the chart.
HVN & LVN Labels : Marks high and low volume nodes with color-coded lines and labels.
Customizable Colors & Transparency : Adjust high and low volume colors and minimum transparency for clear differentiation.
Session Reset & Timeframe Control : Dynamically resets clusters at the start of new sessions or chosen timeframes (intraday, daily, weekly).
Alerts
HVN / LVN Alerts : Notify when price reaches a significant high or low volume node.
High Volume Zone Alerts : Trigger when price enters the top X% of cumulative volume, signaling key areas of market interest.
How It Works
Each bar’s volume is distributed proportionally across the horizontal price levels it touches. Over the lookback period, this builds a cumulative volume profile, identifying price levels with the most and least trading activity. The highest cumulative volume levels become HVNs, while the lowest are LVNs. A side volume profile shows aggregated volume per level, and a heatmap overlay visually reinforces market structure.
Applications for Traders
Identify strong support and resistance at HVNs.
Detect areas of low liquidity where price may move quickly (LVNs).
Determine market balance zones where price may consolidate.
Filter noise: because volume clusters aggregate activity into levels, minor fluctuations and irrelevant micro-moves are removed, simplifying analysis and improving strategy development.
Combine with other indicators such as VWAP, Supertrend, or CVD for higher-probability entries and exits.
Use volume clusters to anticipate price reactions to breaking points in thin liquidity zones.
Advanced Display Options
Heatmap Styles : Boxes, lines, or both. Boxes provide a traditional heatmap, lines are better for high granularity data.
Line Mode Example : Simplified line visualization for easier reading at high level counts:
Profile Width & Offset : Adjust spacing and placement of the volume profile for clarity alongside price.
Transparency Control : Lower transparency for more opaque visualization of high-volume zones.
Best Practices for Usage
Reduce the number of levels when using line mode to avoid clutter.
Use HVN and LVN markers in conjunction with volume profiles to plan entries and exits.
Apply session resets to monitor intraday vs. multi-day volume accumulation.
Combine with other technical indicators to confirm high-probability trading signals.
Watch price interactions with LVNs for potential rapid movements and with HVNs for possible support/resistance or reversals.
Technical Notes
Each bar contributes volume proportionally to the price levels it spans, creating a dynamic and accurate representation of traded interest.
Volume profiles are scaled and offset for visual clarity alongside live price.
Alerts are fully integrated for HVN/LVN interaction and high-volume zone entries.
Optimized to handle large lookback windows and numerous price levels efficiently without performance degradation.
This indicator is ideal for understanding market structure, detecting key liquidity areas, and filtering out noise to model price more accurately in high-frequency or algorithmic strategies.
Volume Sampled Supertrend [BackQuant]Volume Sampled Supertrend
A Supertrend that runs on a volume sampled price series instead of fixed time. New synthetic bars are only created after sufficient traded activity, which filters out low participation noise and makes the trend much easier to read and model.
Original Script Link
This indicator is built on top of my volume sampling engine. See the base implementation here:
Why Volume Sampling
Traditional charts print a bar every N minutes regardless of how active the tape is. During quiet periods you accumulate many small, low information bars that add noise and whipsaws to downstream signals.
Volume sampling replaces the clock with participation. A new synthetic bar is created only when a pre-set amount of volume accumulates (or, in Dollar Bars mode, when pricevolume reaches a dollar threshold). The result is a non-uniform time series that stretches in busy regimes and compresses in quiet regimes. This naturally:
filters dead time by skipping low volume chop;
standardizes the information content per bar, improving comparability across regimes;
stabilizes volatility estimates used inside banded indicators;
gives trend and breakout logic cleaner state transitions with fewer micro flips.
What this tool does
It builds a synthetic OHLCV stream from volume based buckets and then applies a Supertrend to that synthetic price. You are effectively running Supertrend on a participation clock rather than a wall clock.
Core Features
Sampling Engine - Choose Volume buckets or Dollar Bars . Thresholds can be dynamic from a rolling mean or median, or fixed by the user.
Synthetic Candles - Plots the volume sampled OHLC candles so you can visually compare against regular time candles.
Supertrend on Synthetic Price - ATR bands and direction are computed on the sampled series, not on time bars.
Adaptive Coloring - Candle colors can reflect side, intensity by volume, or a neutral scheme.
Research Panels - Table shows total samples, current bucket fill, threshold, bars-per-sample, and synthetic return stats.
Alerts - Long and Short triggers on Supertrend direction flips for the synthetic series.
How it works
Sampling
Pick Sampling Method = Volume or Dollar Bars.
Set the dynamic threshold via Rolling Lookback and Filter (Mean or Median), or enable Use Fixed and type a constant.
The script accumulates volume (or pricevolume) each time bar. When the bucket reaches the threshold, it finalizes one or more synthetic candles and resets accumulation.
Each synthetic candle stores its own OHLCV and is appended to the synthetic series used for all downstream logic.
Supertrend on the sampled stream
Choose Supertrend Source (Open, High, Low, Close, HLC3, HL2, OHLC4, HLCC4) derived from the synthetic candle.
Compute ATR over the synthetic series with ATR Period , then form upperBand = src + factorATR and lowerBand = src - factorATR .
Apply classic trailing band and direction rules to produce Supertrend and trend state.
Because bars only come when there is sufficient participation, band touches and flips tend to align with meaningful pushes, not idle prints.
Reading the display
Synthetic Volume Bars - The non-uniform candles that represent equal information buckets. Expect more candles during active sessions and fewer during lulls.
Volume Sampled Supertrend - The main line. Green when Trend is 1, red when Trend is -1.
Markers - Small dots appear when a new synthetic sample is created, useful for aligning activity cycles.
Time Bars Overlay (optional) - Plot regular time candles to compare how the synthetic stream compresses quiet chop.
Settings you will use most
Data Settings
Sampling Method - Volume or Dollar Bars.
Rolling Lookback and Filter - Controls the dynamic threshold. Median is robust to outliers, Mean is smoother.
Use Fixed and Fixed Threshold - Force a constant bucket size for consistent sampling across regimes.
Max Stored Samples - Ring buffer limit for performance.
Indicator Settings
SMA over last N samples - A moving average computed on the synthetic close series. Can be hidden for a cleaner layout.
Supertrend Source - Price field from the synthetic candle.
ATR Period and Factor - Standard Supertrend controls applied on the synthetic series.
Visuals and UI
Show Synthetic Bars - Turn synthetic candles on or off.
Candle Color Mode - Green/Red, Volume Intensity, Neutral, or Adaptive.
Mark new samples - Puts a dot when a bucket closes.
Show Time Bars - Overlay regular candles for comparison.
Paint candles according to Trend - Colors chart candles using current synthetic Supertrend direction.
Line Width , Colors , and Stats Table toggles.
Some workflow notes:
Trend Following
Set Sampling Method = Volume, Filter = Median, and a reasonable Rolling Lookback so busy regimes produce more samples.
Trade in the direction of the Volume Sampled Supertrend. Because flips require real participation, you tend to avoid micro whipsaws seen on time bars.
Use the synthetic SMA as a bias rail and trailing reference for partials or re-entries.
Breakout and Continuation
Watch for rapid clustering of new sample markers and a clean flip of the synthetic Supertrend.
The compression of quiet time and expansion in busy bursts often makes breakouts more legible than on uniform time charts.
Mean Reversion
In instruments that oscillate, faded moves against the synthetic Supertrend are easier to time when the bucket cadence slows and Supertrend flattens.
Combine with the synthetic SMA and return statistics in the table for sizing and expectation setting.
Stats table (top right)
Method and Total Samples - Sampling regime and current synthetic history length.
Current Vol or Dollar and Threshold - Live bucket fill versus the trigger.
Bars in Bucket and Avg Bars per Sample - How much time data each synthetic bar tends to compress.
Avg Return and Return StdDev - Simple research metrics over synthetic close-to-close changes.
Why this reduces noise
Time based bars treat a 5 minute print with 1 percent of average participation the same as one with 300 percent. Volume sampling equalizes bar information content. By advancing the bar only when sufficient activity occurs, you skip low quality intervals that add variance but little signal. For banded systems like Supertrend, this often means fewer false flips and cleaner runs.
Notes and tips
Use Dollar Bars on assets where nominal price varies widely over time or across symbols.
Median filter can resist single burst outliers when setting dynamic thresholds.
If you need a stable research baseline, set Use Fixed and keep the threshold constant across tests.
Enable Show Time Bars occasionally to sanity check what the synthetic stream is compressing or stretching.
Link again for reference
Original Volume Based Sampling engine:
Bottom line
When you let participation set the clock, your Supertrend reacts to meaningful flow instead of idle prints. The result is a cleaner state machine, fewer micro whipsaws, and a trend read that respects when the market is actually trading.






















