DivergenceLibrary "Divergence"
Calculates a divergence between 2 series
bullish(_src, _low, depth) Calculates bullish divergence
Parameters:
_src : Main series
_low : Comparison series (`low` is used if no argument is supplied)
depth : Fractal Depth (`2` is used if no argument is supplied)
Returns: 2 boolean values for regular and hidden divergence
bearish(_src, _high, depth) Calculates bearish divergence
Parameters:
_src : Main series
_high : Comparison series (`high` is used if no argument is supplied)
depth : Fractal Depth (`2` is used if no argument is supplied)
Returns: 2 boolean values for regular and hidden divergence
I created this library to plug and play divergences in any code.
You can create a divergence indicator from any series you like.
Fractals are used to pinpoint the edge of the series. The higher the depth, the slower the divergence updates get.
My Plain Stochastic Divergence uses the same calculation. Watch it in action.
In den Scripts nach "technical" suchen
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
Reverse Cutlers Relative Strength Index On ChartIntroduction
The Reverse Cutlers Relative Strength Index (RCRSI) OC is an indicator which tells the user what price is required to give a particular Cutlers Relative Strength Index ( RSI ) value, or cross its Moving Average (MA) signal line.
Overview
Background & Credits:
The relative strength index ( RSI ) is a momentum indicator used in technical analysis that was originally developed by J. Welles Wilder Jr. and introduced in his seminal 1978 book, “New Concepts in Technical Trading Systems.”.
Cutler created a variation of the RSI known as “Cutlers RSI” using a different formulation to avoid an inherent accuracy problem which arises when using Wilders method of smoothing.
Further developments in the use, and more nuanced interpretations of the RSI have been developed by Cardwell, and also by well-known chartered market technician, Constance Brown C.M.T., in her acclaimed book "Technical Analysis for the Trading Professional” 1999 where she described the idea of bull and bear market ranges for RSI , and while she did not actually reveal the formulas, she introduced the concept of “reverse engineering” the RSI to give price level outputs.
Renowned financial software developer, co-author of academic books on finance, and scientific fellow to the Department of Finance and Insurance at the Technological Educational Institute of Crete, Giorgos Siligardos PHD . brought a new perspective to Wilder’s RSI when he published his excellent and well-received articles "Reverse Engineering RSI " and "Reverse Engineering RSI II " in the June 2003, and August 2003 issues of Stocks & Commodities magazine, where he described his methods of reverse engineering Wilders RSI .
Several excellent Implementations of the Reverse Wilders Relative Strength Index have been published here on Tradingview and elsewhere.
My utmost respect, and all due credits to authors of related prior works.
Introduction
It is worth noting that while the general RSI formula, and the logic dictating the UpMove and DownMove data series has remained the same as the Wilders original formulation, it has been interpreted in a different way by using a different method of averaging the upward, and downward moves.
Cutler recognized the issue of data length dependency when using wilders smoothing method of calculating RSI which means that wilders standard RSI will have a potential initialization error which reduces with every new data point calculated meaning early results should be regarded as unreliable until enough calculation iterations have occurred for convergence.
Hence Cutler proposed using Simple Moving Averaging for gain and loss data which this Indicator is based on.
Having "Reverse engineered" prices for any oscillator makes the planning, and execution of strategies around that oscillator far simpler, more timely and effective.
Introducing the Reverse Cutlers RSI which consists of plotted lines on a scale of 0 to 100, and an optional infobox.
The RSI scale is divided into zones:
• Scale high (100)
• Bull critical zone (80 - 100)
• Bull control zone (62 - 80)
• Scale midline (50)
• Bear control zone (20 - 38)
• Bear critical zone (0 - 20)
• Scale low (0)
The RSI plots which graphically display output closing price levels where Cutlers RSI value will crossover:
• RSI (eq) (previous RSI value)
• RSI MA signal line
• RSI Test price
• Alert level high
• Alert level low
The info box displays output closing price levels where Cutlers RSI value will crossover:
• Its previous value. ( RSI )
• Bull critical zone.
• Bull control zone.
• Mid-Line.
• Bear control zone.
• Bear critical zone.
• RSI MA signal line
• Alert level High
• Alert level low
And also displays the resultant RSI for a user defined closing price:
• Test price RSI
The infobox outputs can be shown for the current bar close, or the next bar close.
The user can easily select which information they want in the infobox from the setttings
Importantly:
All info box price levels for the current bar are calculated immediately upon the current bar closing and a new bar opening, they will not change until the current bar closes.
All info box price levels for the next bar are projections which are continually recalculated as the current price changes, and therefore fluctuate as the current price changes.
Understanding the Relative Strength Index
At its simplest the RSI is a measure of how quickly traders are bidding the price of an asset up or down.
It does this by calculating the difference in magnitude of price gains and losses over a specific lookback period to evaluate market conditions.
The RSI is displayed as an oscillator (a line graph that can move between two extremes) and outputs a value limited between 0 and 100.
It is typically accompanied by a moving average signal line.
Traditional interpretations
Overbought and oversold:
An RSI value of 70 or above indicates that an asset is becoming overbought (overvalued condition), and may be may be ready for a trend reversal or corrective pullback in price.
An RSI value of 30 or below indicates that an asset is becoming oversold (undervalued condition), and may be may be primed for a trend reversal or corrective pullback in price.
Midline Crossovers:
When the RSI crosses above its midline ( RSI > 50%) a bullish bias signal is generated. (only take long trades)
When the RSI crosses below its midline ( RSI < 50%) a bearish bias signal is generated. (only take short trades)
Bullish and bearish moving average signal Line crossovers:
When the RSI line crosses above its signal line, a bullish buy signal is generated
When the RSI line crosses below its signal line, a bearish sell signal is generated.
Swing Failures and classic rejection patterns:
If the RSI makes a lower high, and then follows with a downside move below the previous low, a Top Swing Failure has occurred.
If the RSI makes a higher low, and then follows with an upside move above the previous high, a Bottom Swing Failure has occurred.
Examples of classic swing rejection patterns
Bullish swing rejection pattern:
The RSI moves into oversold zone (below 30%).
The RSI rejects back out of the oversold zone (above 30%)
The RSI forms another dip without crossing back into oversold zone.
The RSI then continues the bounce to break up above the previous high.
Bearish swing rejection pattern:
The RSI moves into overbought zone (above 70%).
The RSI rejects back out of the overbought zone (below 70%)
The RSI forms another peak without crossing back into overbought zone.
The RSI then continues to break down below the previous low.
Divergences:
A regular bullish RSI divergence is when the price makes lower lows in a downtrend and the RSI indicator makes higher lows.
A regular bearish RSI divergence is when the price makes higher highs in an uptrend and the RSI indicator makes lower highs.
A hidden bullish RSI divergence is when the price makes higher lows in an uptrend and the RSI indicator makes lower lows.
A hidden bearish RSI divergence is when the price makes lower highs in a downtrend and the RSI indicator makes higher highs.
Regular divergences can signal a reversal of the trending direction.
Hidden divergences can signal a continuation in the direction of the trend.
Chart Patterns:
RSI regularly forms classic chart patterns that may not show on the underlying price chart, such as ascending and descending triangles & wedges , double tops, bottoms and trend lines etc.
Support and Resistance:
It is very often easier to define support or resistance levels on the RSI itself rather than the price chart.
Modern interpretations in trending markets:
Modern interpretations of the RSI stress the context of the greater trend when using RSI signals such as crossovers, overbought/oversold conditions, divergences and patterns.
Constance Brown, CMT , was one of the first who promoted the idea that an oversold reading on the RSI in an uptrend is likely much higher than 30%, and that an overbought reading on the RSI during a downtrend is much lower than the 70% level.
In an uptrend or bull market, the RSI tends to remain in the 40 to 90 range, with the 40-50 zone acting as support.
During a downtrend or bear market, the RSI tends to stay between the 10 to 60 range, with the 50-60 zone acting as resistance.
For ease of executing more modern and nuanced interpretations of RSI it is very useful to break the RSI scale into bull and bear control and critical zones.
These ranges will vary depending on the RSI settings and the strength of the specific market’s underlying trend.
Limitations of the RSI
Like most technical indicators, its signals are most reliable when they conform to the long-term trend.
True trend reversal signals are rare, and can be difficult to separate from false signals.
False signals or “fake-outs”, e.g. a bullish crossover, followed by a sudden decline in price, are common.
Since the indicator displays momentum, it can stay overbought or oversold for a long time when an asset has significant sustained momentum in either direction.
Data Length Dependency when using wilders smoothing method of calculating RSI means that wilders standard RSI will have a potential initialization error which reduces with every new data point calculated meaning early results should be regarded as unreliable until calculation iterations have occurred for convergence.
Reverse Cutlers Relative Strength IndexIntroduction
The Reverse Cutlers Relative Strength Index (RCRSI) is an indicator which tells the user what price is required to give a particular Cutlers Relative Strength Index (RSI) value, or cross its Moving Average (MA) signal line.
Overview
Background & Credits:
The relative strength index (RSI) is a momentum indicator used in technical analysis that was originally developed by J. Welles Wilder Jr. and introduced in his seminal 1978 book, “New Concepts in Technical Trading Systems.”.
Cutler created a variation of the RSI known as “Cutlers RSI” using a different formulation to avoid an inherent accuracy problem which arises when using Wilders method of smoothing.
Further developments in the use, and more nuanced interpretations of the RSI have been developed by Cardwell, and also by well-known chartered market technician, Constance Brown C.M.T., in her acclaimed book "Technical Analysis for the Trading Professional” 1999 where she described the idea of bull and bear market ranges for RSI, and while she did not actually reveal the formulas, she introduced the concept of “reverse engineering” the RSI to give price level outputs.
Renowned financial software developer, co-author of academic books on finance, and scientific fellow to the Department of Finance and Insurance at the Technological Educational Institute of Crete, Giorgos Siligardos PHD. brought a new perspective to Wilder’s RSI when he published his excellent and well-received articles "Reverse Engineering RSI " and "Reverse Engineering RSI II " in the June 2003, and August 2003 issues of Stocks & Commodities magazine, where he described his methods of reverse engineering Wilders RSI.
Several excellent Implementations of the Reverse Wilders Relative Strength Index have been published here on Tradingview and elsewhere.
My utmost respect, and all due credits to authors of related prior works.
Introduction
It is worth noting that while the general RSI formula, and the logic dictating the UpMove and DownMove data series as described above has remained the same as the Wilders original formulation, it has been interpreted in a different way by using a different method of averaging the upward, and downward moves.
Cutler recognized the issue of data length dependency when using wilders smoothing method of calculating RSI which means that wilders standard RSI will have a potential initialization error which reduces with every new data point calculated meaning early results should be regarded as unreliable until enough calculation iterations have occurred for convergence.
Hence Cutler proposed using Simple Moving Averaging for gain and loss data which this Indicator is based on.
Having "Reverse engineered" prices for any oscillator makes the planning, and execution of strategies around that oscillator far simpler, more timely and effective.
Introducing the Reverse Cutlers RSI which consists of plotted lines on a scale of 0 to 100, and an optional infobox.
The RSI scale is divided into zones:
• Scale high (100)
• Bull critical zone (80 - 100)
• Bull control zone (62 - 80)
• Scale midline (50)
• Bear critical zone (20 - 38)
• Bear control zone (0 - 20)
• Scale low (0)
The RSI plots are:
• Cutlers RSI
• RSI MA signal line
• Test price RSI
• Alert level high
• Alert level low
The info box displays output closing price levels where Cutlers RSI value will crossover:
• Its previous value. (RSI )
• Bull critical zone.
• Bull control zone.
• Mid-Line.
• Bear control zone.
• Bear critical zone.
• RSI MA signal line
• Alert level High
• Alert level low
And also displays the resultant RSI for a user defined closing price:
• Test price RSI
The infobox outputs can be shown for the current bar close, or the next bar close.
The user can easily select which information they want in the infobox from the setttings
Importantly:
All info box price levels for the current bar are calculated immediately upon the current bar closing and a new bar opening, they will not change until the current bar closes.
All info box price levels for the next bar are projections which are continually recalculated as the current price changes, and therefore fluctuate as the current price changes.
Understanding the Relative Strength Index
At its simplest the RSI is a measure of how quickly traders are bidding the price of an asset up or down.
It does this by calculating the difference in magnitude of price gains and losses over a specific lookback period to evaluate market conditions.
The RSI is displayed as an oscillator (a line graph that can move between two extremes) and outputs a value limited between 0 and 100.
It is typically accompanied by a moving average signal line.
Traditional interpretations
Overbought and oversold:
An RSI value of 70 or above indicates that an asset is becoming overbought (overvalued condition), and may be may be ready for a trend reversal or corrective pullback in price.
An RSI value of 30 or below indicates that an asset is becoming oversold (undervalued condition), and may be may be primed for a trend reversal or corrective pullback in price.
Midline Crossovers:
When the RSI crosses above its midline (RSI > 50%) a bullish bias signal is generated. (only take long trades)
When the RSI crosses below its midline (RSI < 50%) a bearish bias signal is generated. (only take short trades)
Bullish and bearish moving average signal Line crossovers:
When the RSI line crosses above its signal line, a bullish buy signal is generated
When the RSI line crosses below its signal line, a bearish sell signal is generated.
Swing Failures and classic rejection patterns:
If the RSI makes a lower high, and then follows with a downside move below the previous low, a Top Swing Failure has occurred.
If the RSI makes a higher low, and then follows with an upside move above the previous high, a Bottom Swing Failure has occurred.
Examples of classic swing rejection patterns
Bullish swing rejection pattern:
The RSI moves into oversold zone (below 30%).
The RSI rejects back out of the oversold zone (above 30%)
The RSI forms another dip without crossing back into oversold zone.
The RSI then continues the bounce to break up above the previous high.
Bearish swing rejection pattern:
The RSI moves into overbought zone (above 70%).
The RSI rejects back out of the overbought zone (below 70%)
The RSI forms another peak without crossing back into overbought zone.
The RSI then continues to break down below the previous low.
Divergences:
A regular bullish RSI divergence is when the price makes lower lows in a downtrend and the RSI indicator makes higher lows.
A regular bearish RSI divergence is when the price makes higher highs in an uptrend and the RSI indicator makes lower highs.
A hidden bullish RSI divergence is when the price makes higher lows in an uptrend and the RSI indicator makes lower lows.
A hidden bearish RSI divergence is when the price makes lower highs in a downtrend and the RSI indicator makes higher highs.
Regular divergences can signal a reversal of the trending direction.
Hidden divergences can signal a continuation in the direction of the trend.
Chart Patterns:
RSI regularly forms classic chart patterns that may not show on the underlying price chart, such as ascending and descending triangles & wedges, double tops, bottoms and trend lines etc.
Support and Resistance:
It is very often easier to define support or resistance levels on the RSI itself rather than the price chart.
Modern interpretations in trending markets:
Modern interpretations of the RSI stress the context of the greater trend when using RSI signals such as crossovers, overbought/oversold conditions, divergences and patterns.
Constance Brown, CMT, was one of the first who promoted the idea that an oversold reading on the RSI in an uptrend is likely much higher than 30%, and that an overbought reading on the RSI during a downtrend is much lower than the 70% level.
In an uptrend or bull market, the RSI tends to remain in the 40 to 90 range, with the 40-50 zone acting as support.
During a downtrend or bear market, the RSI tends to stay between the 10 to 60 range, with the 50-60 zone acting as resistance.
For ease of executing more modern and nuanced interpretations of RSI it is very useful to break the RSI scale into bull and bear control and critical zones.
These ranges will vary depending on the RSI settings and the strength of the specific market’s underlying trend.
Limitations of the RSI
Like most technical indicators, its signals are most reliable when they conform to the long-term trend.
True trend reversal signals are rare, and can be difficult to separate from false signals.
False signals or “fake-outs”, e.g. a bullish crossover, followed by a sudden decline in price, are common.
Since the indicator displays momentum, it can stay overbought or oversold for a long time when an asset has significant sustained momentum in either direction.
Data Length Dependency when using wilders smoothing method of calculating RSI means that wilders standard RSI will have a potential initialization error which reduces with every new data point calculated meaning early results should be regarded as unreliable until calculation iterations have occurred for convergence.
DrawIndicatorOnTheChartLibrary "DrawIndicatorOnTheChart"
this library is used to show an indicator (such RSI, CCI, MOM etc) on the main chart with indicator's horizontal lines in a window. Location of the window is calculated dynamically by last price movemements
drawIndicator(indicatorName, indicator, indicatorcolor, period, indimax_, indimin_, levels, precision, xlocation) draws the related indicator on the chart
Parameters:
indicatorName : is the indicator name as string such "RSI", "CCI" etc
indicator : is the indicator you want to show, such rsi(close, 14), mom(close, 10) etc
indicatorcolor : is the color of indicator line
period : is the length of the window to show
indimax_ : is the maximum value of the indicator, for example for RSI it's 100.0, if the indicator (such CCI, MOM etc) doesn't have maximum value then use "na"
indimin_ : is the minimum value of the indicator, for example for RSI it's 0.0, if the indicator (such CCI, MOM etc)doesn't have maximum value then use "na"
levels : is the levels of the array for the horizontal lines. for example if you want horizontal lines at 30.0, and 70.0 then use array.from(30.0, 70.0). if no horizontal lines then use array.from(na)
precision : is the precision/number of decimals that is used to show indicator values, for example for RSI set it 2
xlocation : is end location of the indicator window, for example if xlocation = 0 window is created on the index of the last bar/candle
Returns: none
Ichimoku Kinko Hyo [DM]Ichimoku Kinko Hyo PineV5
Definition
The Ichimoku Cloud is a package of multiple technical indicators that signal support, resistance, market trend, and market momentum. It is one of the few indicators out there that attempts to convey a number of meaningful insights into one. For that reason it can be hard to understand at first glance, but is commonly used among professional traders and market participants.
History
In the late 1960s, Goichi Hosada introduced the Ichimoku Cloud. It took several years for its adoption and understanding to take off, but today it is commonly known and used as an indicator in the field of technical analysis.
Calculations
The Ichimoku Cloud can be calculated in several different ways. It depends on your timeframe, needs, and expertise in technical analysis.
Takeaways
The Cloud is an integral part of the technical indicator as a whole and helps traders and investors identify the specific calculations made to the chart. Price below the cloud indicates a downward trend, whereas price above the cloud indicates an uptrend. These trend signals can strengthen if both the cloud and the price are moving in the same direction. Similarly, the signals can weaken if the cloud is moving in the opposite direction.
What to look for
By using various averages, the Ichimoku Cloud indicator gives traders and investors key and extensive data information. Trends are high when price is above the cloud, weak when price is below the cloud, or transitioning when price is seen inside the cloud.
As was mentioned in the Calculation section above, when Leading Span A falls below Leading Span B, we can confirm a downtrend. The cloud, in this case, displays a red hue. When Leading Span A is above Leading Span B, we can confirm an uptrend. The cloud, in this case, displays a green hue.
The Ichimoku cloud can be used with other technical indicators in order to better assess risk. By looking at larger trends, with the help of multiple indicators, traders are able to see how smaller trends can fit within the general market picture as a whole.
Limitations
With all of the lines and cloud shading and data points, the chart can look a little crowded and stuffy. In order to work through this, there’s software that can hide these lines so the chart looks cleaner for traders and all the information you’d like to see is at the forefront of the chart. At TradingView, we have special features available for all our users. Anyone using our platform can pick which lines and backgrounds they’d like shown and can also customize the color, line thickness, and opacity with a simple click.
more info: ichimoku.org
Green Dot with Lower BB TouchThis code is based on Dr. Wish's Green Dot indicator and all credits should go to him for this indicator. I have adapted the code described by Dr. Wish in his various blog posts and webinars.
This indicator involves Stochastics and Bollinger Band indicators to provide an indication when a technically sound stock is potentially oversold and reading to resume its uptrend. This is best used in Stage 2 (Weinstein) stocks viewed on a daily chart.
The green dot appears when the fast stochastic recently crosses over the slow stochastic at the oversold (OS) threshold.
The default values for this Stochastic are 10,4,4 with an oversold (OS) threshold of 50. You can add the built-in Stochastic indicator to check this out and have a better visual as to why this works.
An added enhancement is using Bollinger Bands, specifically when the price has crossed the lower band in the past 3 days. The also plays into the themes of stocks that are following an uptrend.
The default values for the Bollinger Band portion of the indicator is a length of 15 with a standard deviation of using the stock's closing price.
I have compared this indicator with the many examples from Dr. Wish's blog and feel free to do the same to make sure it is in agreement.
I welcome your feedback and any enhancements you may suggest.
Auto Fibonacci and Gann Fan/Retracements ComboIntroduction
This is a combination of Fibonacci and Gann fan/retracements.
The script can automatically draw as many:
Fibonacci Retracements
Fibonacci Fan
Gann Retracements
Gann Fan
as the user requires on the chart. Each level set or fan consists of 7 lines based on the most important ratios of Fibonacci/Gann.
Basics
What are Fibonacci retracements?
Fibonacci retracement levels are horizontal lines that indicate where support and resistance are likely to occur. They stem from Fibonacci’s sequence. Each level is associated with a percentage which is how much of a prior move the price has retraced. The Fibonacci retracement levels are 23.6%, 38.2%, 61.8%, and 78.6%. While not officially a Fibonacci ratio, 50% is also used. The indicator is useful because it can be drawn between any two significant price points, such as a high and a low. The indicator will then create the levels between those two points.
What are Gann retracements?
A developer of technical analysis and trading was W.D. Gann. Gann theory expects a normal retracement of 50 percent. This means that under normal selling pressure, the stock price will decline half the amount of its most recent rise, and vice versa. It also suggests that retracements occur at the halfway point of a move, such as 25 percent (half of 50 percent), 12.5 percent (half of 25 percent), and so on.
What is Fibonacci fan?
Fibonacci fan is a set of sequential trend lines drawn from a trough or peak through a set of points dictated by Fibonacci retracements. The first step to create it is to draw a trend line covering the local lowest and highest prices of a security. To reach retracement levels, the trader divides the difference in price at the low and high end by ratios determined by the Fibonacci series. The lines formed by connecting the starting point for the base trend line and each retracement level create the Fibonacci fan.
What is Gann fan?
A Gann fan consists of a series of lines called Gann angles. These angles are superimposed over a price chart to show potential support and resistance levels. The resulting image is supposed to help technical analysts predict price changes. Gann believed the 45-degree angle to be most important, but the Gann fan also draws angles at degrees like 75, 63.75, 26.25 and 15. The Gann fan originates at a low or high point. The resulting lines show areas of potential future support and resistance. The 45-degree line is known as the 1:1 line because the price will rise or fall at a 45-degree angle when the price moves up/down one unit for each unit of time. All other lines in the Gann fan are drawn above and below the 1:1 line. The other angles are associated with 2:1, 3:1, 4:1, 8:1 and 1:8, 1:4, 1:3, and 1:2 time-to-price moves.
Challenges
The most of the time I dedicated to writing this script has been spent on handling these problems:
1. Finding Local Highest/Lowest Prices
In order to draw Fibonacci and Gann fan/retracements, it's necessary to find local highest and lowest price points (Extrema) on the chart. As this could be so challenging, most traders and coders draw the lines covering the low and high prices over a given period of time or a limited number of bars back instead. I already wrote an indicator using this approach ( Auto Fibonacci Combo ).
In this new script I tried to find the exact highest and lowest prices based on this idea that: if a high point is formed lower than previous high which was after a lowest point, then that previous one was the local highest point, and vice versa if a low point is formed higher than previous low which was after a highest point, then that previous one was the local lowest point. So logically an extremum price on the chart won't be found until the next high/low point is formed.
2. Finding Proper Chart Scale for Gann Fan
Based on the theory, Gann angles are sensitive to the chart price scale and in order to have the right angles, the chart must be made with the proper scale. J.A. Hyerczyk in his book "Pattern, Price & Time - Using Gann Theory in Technical Analysis" suggests that the easiest way to determine the scale of a market is by taking the difference between top-to-top and bottom-to-bottom and dividing it by the time it took the market to move from top to top and bottom to bottom.
Thus on a properly constructed chart, the basic equation for calculating Gann angles is: Price * Time.
3. Drawing Fans and Relocating Fan Labels at Each New Bar in Pine (A Programming-Related Subject)
To do this, I used linear equations and line slopes. Of course it was so complicated and exhausting, but finally I overcame that thanks to my genius cousin.
Settings and Usage
By default, the script shows detected extremum points plus 1 Fibonacci fan, 1 Gann fan, 1 set of Fibonacci retracements and no Gann retracements on the chart. All of these could be changed in the indicator settings beside the color and transparency of each line.
Feel free to use this and send me your thoughts!
Moving Average Support and Resistance ChannelThe Moving Average Support and Resistance Channel is a channel that consists of trend lines of resistance and support of the analyzed instrument, represented as moving averages with the selected type and smoothing period on a certain timeframe, where:
- Middle Line - the middle of the channel (the moving average of the pivot point using the Floor Pivot method)
- R1 - first resistance (moving average of support + Factor*ATR)
- R2 - second resistance (R1 + Factor*ATR)
- S1 - first support (moving average of resistance-Factor*ATR)
- S2 - second support (S1-Factor*ATR)
- Factor-ATR multiplier
Despite the fact that the indicator consists of moving averages, it can work equally well both during a trend and in its absence.
Characteristics of the trend movement:
• During an uptrend, the moving averages of the indicator are directed upwards, the price is above the Middle Line level most of the time
• During a downtrend, the moving averages of the indicator are directed down, the price is below the Middle Line level most of the time
• During the flat period, the boundaries of the moving average channel narrow, the channel tends to align in a horizontal position, the price consolidates most of the time around the Middle Line level, fighting off the support and resistance levels of the indicator.
The position of asset prices outside the indicator may mean an early correction or trend reversal.
How to trade:
One of the trading methods may be that during a breakout or a pullback after a breakout of the Middle Line level, the target of further movement, depending on the direction of this movement, may be the levels R1, R2 or S1, S2. Use this situation to make a profit.
I wish you good luck in building your trading plans and remember: such indicators do not predict the future price movement on the chart, they only determine the characteristics of the price movement at the current time, taking into account historical data.
Price Moving Average Ratio & PercentileIntroducing the Price Moving Average Ratio & Percentile indicator
A simple indicator which calculates :
The ratio between a chosen source price and a user defined moving average ( PMAR ) or
The percentile of the ratio between the chosen source price and a user defined moving average over an adjustable lookback period ( PMARP )
It then displays either the PMAR or PMARP as a line plot with optional user defined signal moving average.
It also plots an optional Visual Alert Level line and background signal bars.
Indicator Settings
Main Properties :
Source Price .. choice of price values or external value from another indicator ( default )
Line Plot Type .. choice between PMAR or PMARP ( default PMAR )
Price Moving Average Ratio Settings :
PMAR Length ..The time period to be used in calculating the Moving Average for the Price Moving Average Ratio and the PMAR component of the PMARP. ( default )
PMAR Type ..The type of Moving Average which creates the MA for the Price Moving Average Ratio and the PMAR component of the PMARP. ( default )
Price Moving Average Ratio Percentile Settings :
PMARP Lookback .. The lookback period to be used in calculating the Price Moving Average Ratio Percentile.
Line Plot Color Settings :
Gives a choice between a user defined solid color, and a choice of "Blue Green Red", or "Blue Red" spectrum palettes.
Signal Moving Average Settings :
Signal MA Length ..The time period to be used in calculating the Signal Moving Average for the Line Plot ( default )
Signal MA Type ..The type of Moving Average which creates the Signal Moving Average for the Line Plot ( default )
Signal Moving Average Color Settings :
Gives a choice between a user defined solid color, and a choice of "Blue Green Red", or "Blue Red" spectrum palettes.
Visual Alert Level Settings :
Alert level .. Level which activates the background signal bars ( default )
Typical Use case for the Price Moving Average Ratio
Traders and Technical Analysts will typically use the PMAR as an accumulation signal generator.
To do this....
Set a level below 1 where it has been historically profitable to accumulate the asset in question on the chosen timeframe.
Typical Use case for the Price Moving Average Ratio Percentile
Traders and Technical Analysts will look at the PMARP to judge how far away current PA is away from the defined MA based on a statistical measure of the lookback period in a percentile format.
Traders and Technical Analysts will typically use the PMAR as an accumulation signal generator.
To do this...
Set a low level where it has been historically profitable to accumulate the asset in question on the chosen timeframe.
Note : The default settings are specifically set up for use on the daily timeframe with a MA of 140 equating (approximately) to the 20 week moving average.
This is not a stand alone indicator and should be used in combination with volatility and momentum indicators for a more effective trading edge.
[BCT] Can BTC be predicted or is it purely random?Variance Ratio**This indicator can be applied to the ticker of your choice (not just BTC)**
Markets are said to be "efficient". An efficient market is by definition unpredictable - no matter the amount of ML, computation, or indicators thrown at it. In particular, in an efficient market, TA will not be of help.
An illustration of efficient markets is the WSJ's longstanding monkey vs. human contest:Blindfolded Monkey Beats Humans With Stock Picks, granted there are several flaws to it.
BTC is a relatively new market. New markets are typically highly inefficient (easier to make money) and become more and more efficient over time (harder to make money). How much more efficient is BTC becoming?
We apply the Variance Ratio method and apply it to BTC.
BACKGROUND ON THE VARIANCE RATIO METHOD
Based on 1988 MacKinlay's seminal paper "Stock Market Prices do not Follow a Random Walk", the idea is to exploit a phenomenon called "variance scaling".
For those keen on looking into the math, the short version of it is under the assumption of iid (random walk) we have the following:
H0: Var(Sum(returns over K bars))=Sum(Var(returns over 1 bar))=k*Var(return over 1 bar)
We look to reject or not H0 depending on the observations.
In this script, we compare the variance of the (log) returns for the chart selected between:
(1) The (average) variance over k bars (call this Vk)
(2) The (average) variance over 1 bar (call this V1)
H0 simply says that Vk=k*V1 if the stock follows a random walk.
We compute the Variance Ratio VR(k)=Variance(returns over k bar)/(Sum(Var(returns over 1 bar)))-1
We then compute the associated Z-score which we chart out for a configurable k number of bars.
HOW TO INTERPRET THE CHART
The line drawn is the Z-Score for VR(k). It represents the number of standard deviations of VR(k) from 0 - the further out, the less random.
- If the line is close / hovers around 0, the ticker appears to follow a random walk (i.e. may not be predictable)
- If the line is consistently > 2 or <-2, the ticker likely does not follow a random walk (i.e. may have predictable features)
- If the line is positive, it means that the Variance on the k bars is larger than the variance on 1 bar (more variance on longer timeframes)
- If the line is negative, it means that the Variance on the k bars is smaller than the variance on 1 bar (more variance on smaller timeframes)
USE CASES
- Identify timeframes where you won't be able to make money
- Identify whether a stock cannot be predicted (forget about TA, indicators etc. -- a random walk is not predictable)
- Identify whether a stock is becoming less and less predictable (Z-score amplitude will decrease over time)
FEATURES
- select the number of K bar to compare vs. 1 bar (default = 16) - ideally a power of 2 but any other number will work. The chart is based off this selection
- select the lookback period for the analysis (500 bars by default)
- select the source to analyze (default = close, but you may select other inputs to calculate the returns from)
- results form the statistical tests on different K's in the table on the right/bottom side of the chart (H0 rejected = not random walk; H0 not rejected = it essentially looks rather random and we can't conclude that it's not a random walk)
COMMENTARY ON BTC
- It appears BTC's absolute value of the ZScore on the Variance Ratio is declining year after year - corroborating an increasingly efficient market as new participants join.
- However, we can still detect a fair amount of potential inefficiency using this simple test.
As usual, this is not investment advice. DYOR.
With love,
🐵BCT🐵
VOLUME HIGHLIGHTER PANEL (CUSTOM) [MaestroTrader]█ OVERVIEW
Volume highlighter panel provides volume insights to identify gradual increase or drop in volume or sudden volume urge that exceeds daily threshold.
It helps to determine the price behavior of the underlying Index/stock to make informed decisions while trading.
█ FEATURES
a) Displays Live SMA (20) Volume with color code. SMA Cells turns green if consecutive bar volume increases.
b) Live Volume Cell in table turns green if the volume is above average and turns red vice versa.
c) Threshold volume label appears when volume crosses the daily threshold limit.
Differences with the built-in version
This variation displays volume panel with additional volume insights for quick entry/exits.
█ SETTINGS
• Highlight Panel a) Configure Daily Volume Threshold b) configure Market session time c) Toggle highlighter on/Off d) Toggle Time on/Off (off) displays for whole period
• Volume Panel a) Configure SMA b) configure volume bar criteria c) configure Panel Display Location d) Toggle Volume Panel on/Off
█ IMPORTANT
Price always moves from trending to trading phase. Volume in Trending phase is generally high compared to volume in sideways phase. You need to identify the right volume threshold in each of the trading phases and change the settings accordingly.
█ BANKNIFTY /NIFTY VOLUME SETTINGS
BANKNIFTY - 3 MIN -50K volume
NIFTY - 3 MIN 125 K volume
Thanks to OSPL Siva for Nifty/Bank Nifty volumes. These volumes differ from trending phase & consolidation phase so adjust the threshold settings accordingly.
█ THANKS
Thanks a lot to Pine Team for this new great feature table & ‘ format. Volume ’ ! Thanks to @author=LucF, for the 'volume' logic.
█ DISCLIAMER
Indicator is built for educational purposes. Please test it thoroughly before you start using it.
You are free to use the code, please share the credit for reuse.
Hope - All these features help you get quick insights of the price movement to take the informed trades.
Happy Trading !!
Stronger Classical Support/Resistance + Round LevelsI wrote some Support/Resistance scripts before this. In this new script, I implemented the logic of the code from the scratch, so it's very different from my previous S/R indicators and I think it's more advanced, accurate and efficient.
As the result it could do the followings for now:
- Draw more strong classical resistance/support levels by checking previous direction changes of the chart as far as Pine technically allows
- Colorize the levels based on the counted points of retracement/pullback (The darker the color is, the stronger the level is.)
- Show the number of reactions to each level
- Change the color of each level based on its main role as support, resistance or both
- Draw close round levels to current price for Forex pairs
I suggest all users of my previous S/R indicators to try this one.
Feel free to send me any issue or opinion!
[blackcat] L1 Mel Widner Rainbow ChartNOTE: Because the originally released script failed to comply with the House Rule in the description, it was banned. After revising and reviewing the description, it is republished again. Please forgive the inconvenience caused.
Level: 1
Background
The Rainbow Charts indicator is a technical analysis tool that follows trend. It helps traders to visualize a full spectrum of trends in the market. Mel Widner developed the indicator and elaborated it in the 1997 issue of Technical Analysis of Stocks and Commodities magazine. It uses 10 simple moving averages and hence, it is a very interesting take on a simple moving average.
Function
The basis of the Rainbow Charts indicator are 10 moving averages. The first Rainbow Moving Average is a 2-period simple moving average. It applies recursive smoothing to this first SMA. The first moving average is the base of nine other simple Rainbow Moving Averages of different lengths. Each SMA bases on the previous SMA. The application of the recursive smoothing enables the indicator to create a full spectrum of the current trends in the market. As we know that the financial markets are full of wonders and surprises and we have an indicator that also surprises us. Yes, it is none other than the Rainbow Charts indicator that presents information on the charts in the form of a rainbow. That is the reason that it is known as the Rainbow Charts indicator.
The interpretation of the Rainbow Charts indicator is quite straightforward. The Rainbow Moving Average with the least recursive smoothing stays at the very top of the Rainbow during a bullish trend in the market. Conversely, the moving average with the most recursive smoothing stays at the bottom of the Rainbow.
On the other hand, the positions of the least and the most smoothed moving averages reverses during a bearish trend in the market. Now the least smoothed moving average stays at the bottom while the most smoothed moving average stays at the top of the Rainbow.
The Rainbow Charts indicator’s moving averages track the uptrend or downtrend in the market. The moving averages track the trend as it progresses and cross each other in a sequential order. The distancing of the price from the Rainbow indicates the continuation of the current market trend. Conversely, if the price moves closer to the Rainbow, it suggests that a potential trend reversal is imminent.
The use of the indicator is also quite simple. Traders should look for initiating a buy position as soon as a strong positive move starts. Similarly, they should look for opening a sell position at the very beginning of a strong negative trend. It is important to note that the angle of the moving averages helps to identify the strength of a trend. The steeper curve suggests a stronger trend and vice versa.
Traders can also use the tool in combination with other technical analysis tools as a trend-following indicator. Traders can enter a buy position when indicators suggest a strong bullish trend. They can initiate a sell position when indicators indicate a bearish trend. Technical analysts and experts always suggest to use the Rainbow Charts indicator in combination with other technical analysis tools for successful trading.
Key Signal
Plot a1~c4 --> 10 Rainbow Moving Averages.
Remarks
This is a Level 1 free and open source indicator.
Feedbacks are appreciated.
YesillimThe "Yesillim" indicator is a trend follower and trailing stop indicator that reacts quickly and aims to enter early in an uptrend and exit early from a downtrend. Since moving averages are used, it can be used in daytrade and scalping in daily or lower periods. The crossover and crossdown intersections of the price and the indicator line may be meaningful, but it is actually a color changing indicator and color changes should be interpreted. The bullish market gains strength when the color turns green, and the bearish market when it turns red. When prices get too far from the indicator, they are approaching again, in this case, it may be support will work like resistance according to the current trend. Like any indicator, it is possible to produce false signals in the horizontal market, so it should not be used alone, the oscillator and volume should support the current trend. In strong trend changes, angle changes in the indicator can also be interpreted manually. In this case, sharp angled turns indicate a sharp trend change. Technically customized weighted moving average weights are specially weighted with golden ratio coefficients, smoothed with a lower period for noise removal with the same principle and added bias. I wish it to be used in profitable transactions.
Turkish (Türkçe): Yeşillim indikatörü bir trend izleme ve hareketli iz süren indikatördür. Son barları agresif olarak ağırlıklandırdığı için var olan bir yükseliş trendine erken sokup, düşüş trendinden erken çıkarması olasıdır. İndikatör yorumlanırken fiyat ve indikatör kesişimleri anlamlı olsada (yükseliş düşüş trendlerinde destek-direnç görevi görebilecektir) ancak asıl amaç renk değişimi yorumlanmalıdır, yeşil yükseliş trendinin, kırmızı ise düşüş trendinin güç kazandığını göstermektedir. Her indikatör gibi yatay piyasada hatalı sonuçlar üretebilir, bu nedenle rsi, sokastik gibi bir osilatörle desteklenmesi hacimin mevcut trendi desteklemesi gerekmektedir. Kazançlı işlemlerde kullanılmasını temenni ederim.
Detrended Rhythm Oscillator (DRO)How to detect the current "market beat" or market cycle?
A common way to capture the current dominant cycle length is to detrend the price and look for common rhythms in the detrended series. A common approach is to use a Detrended Price Oscillator (DPO). This is done in order to identify and isolate short-term cycles.
A basic DPO description can be found here:
www.tradingview.com
Improvements to the standard DPO
The main purpose of the standard DPO is to analyze historical data in order to observe cycle's in a market's movement. DPO can give the technical analyst a better sense of a cycle's typical high/low range as well as its duration. However, you need to manually try to "see" tops and bottoms on the detrended price and measure manually the distance from low-low or high-high in order to derive a possible cycle length.
Therefore, I added the following improvements:
1) Using a DPO to detrend the price
2) Indicate the turns of the detrended price with a ZigZag lines to better see the tops/bottoms
3) Detrend the ZigZag to remove price amplitude between turns to even better see the cyclic turns ("rhythm")
4) Measure the distance from last detrended zigzag pivot (high-high / low-low) and plot the distance in bars above/below the turn
Now, you can clearly see the rhythm of the dataset indicated by the Detrended Rhythm Oscillator including the exact length between the turns. This makes the procedure to "spot" turns and "measure" distance more simple for the trader.
How to use this information
The purpose is to check if there is a common rhythm or beat in the underlying dataset. To check that, look for recurring pattern in the numbers. E.g. if you often see the same measured distance, you can conclude that there is a major dominant cycle in this market. Also watch for harmonic relations between the numbers. So in the example above you see the highlighted cluster of detected length of around 40,80 and 120. There three numbers all have a harmonic relation to 40.
Once you have this cyclic information, you can use this number to optimize or tune technical indicators based on the current dominant cycle length. E.g. set the length parameter of a technical indicator to the detected harmonic length with the DRO indicator.
Example Use-Case
You can use this information to set the input for the following free public open-source script:
Disclaimer
This is not meant to be a technical indicator on its own and the derived cyclic length should not be used to forecast the next turn per se. The indicator should give you an indication of the current market beat or dominant beats which can be use to further optimize other oscillator or trading related settings.
Options & settings
The indicator allows to plot different versions. It allows to plot the original DPO, the DRO with ZigZag lines, the DRO with detrended ZigZag lines and length labels on/off. You can turn on or off these version in the indicator settings. So you can tweak it visually to your own needs.
Distribution_Accumulation_ChurningDay_StockUnderStressDistribution days is a term related to distribution stock in the sense that heavy institutional selling of shares is taking place. A distribution day, technically speaking, occurs when major market indexes fall 0.2% or more on volume that is higher than the previous trading day.
A follow-through day occurs during a market correction when a major index closes 1% or higher than the previous day, and in greater volume.
Churning day occurs when there is little price progress despite strong volume. It indicates a stock under stress.
You can use the script below in TradingView to plot these on the chart
RED CROSS on top of the bar - High volume Red (Distribution)
Black CROSS on bottom of bar - High Volume Green day (Accumulation/ Follow through)
Blue Bar with Black Cross. - High Volume green day but closed 55% below the day days range. (Churning action)
Blue Bar - Stock had a green day but closed in lower bounds(55% below the day days range) i.e under stress
GMS: GW-VWAPAlright, as per usual with these, I end up adapting an existing indicator to what I want to accomplish. So this is based off the built in VWAP indicator. I added in the gummy worm to easily identify the trend, as well as the related bands to identify potential areas to either reverse position or to trim an existing one.
The middle part of the bands are the gummy worm version of VWAP. It is the VWAP using the high and another VWAP using the low. The black line is HL2 VWAP (technically 3 VWAPs).
The bands follow what I was mentioning above. So the outer most part of the bands are the high & low VWAP (with the same multiplier) and the inner bands are the HL2 VWAP.
Of course you can set whatever input source you want for these. The default is how I use it. If you want to get rid of the bar color just go to the indicator settings and un-select it at the bottom.
Source code is open so feel free to poke around.
Hope this helps,
Andre
Realtime Delta Volume Action [LucF]█ OVERVIEW
This indicator displays on-chart, realtime, delta volume and delta ticks information for each bar. It aims to provide traders who trade price action on small timeframes with volume and tick information gathered as updates come in the chart's feed. It builds its own candles, which are optimized to display volume delta information. It only works in realtime.
█ WARNING
This script is intended for traders who can already profitably trade discretionary on small timeframes. The high cost in fees and the excitement of trading at small timeframes have ruined many newcomers to trading. While trading at small timeframes can work magic for adrenaline junkies in search of thrills rather than profits, I DO NOT recommend it to most traders. Only seasoned discretionary traders able to factor in the relatively high cost of such a trading practice can ever hope to take money out of markets in that type of environment, and I would venture they account for an infinitesimal percentage of traders. If you are a newcomer to trading, AVOID THIS TOOL AT ALL COSTS — unless you are interested in experimenting with the interpretation of volume delta combined with price action. No tool currently available on TradingView provides this type of close monitoring of volume delta information, but if you are not already trading small timeframes profitably, please do not let yourself become convinced that it is the missing piece you needed. Avoid becoming a sucker who only contributes by providing liquidity to markets.
The information calculated by the indicator cannot be saved on charts, nor can it be recalculated from historical bars.
If you refresh the chart or restart the script, the accumulated information will be lost.
█ FEATURES
Key values
The script displays the following key values:
• Above the bar: ticks delta (DT), the total ticks for the bar, the percentage of total ticks that DT represents (DT%)
• Below the bar: volume delta (DV), the total volume for the bar, the percentage of total volume that DV represents (DV%).
Candles
Candles are composed of four components:
1. A top shaped like this: ┴, and a bottom shaped like this: ┬ (picture a normal Japanese candle without a body outline; the values used are the same).
2. The candle bodies are filled with the bull/bear color representing the polarity of DV. The intensity of the body's color is determined by the DV% value.
When DV% is 100, the intensity of the fill is brightest. This plays well in interpreting the body colors, as the smaller, less significant DV% values will produce less vivid colors.
3. The bright-colored borders of the candle bodies occur on "strong bars", i.e., bars meeting the criteria selected in the script's inputs, which you can configure.
4. The POC line is a small horizontal line that appears to the left of the candle. It is the volume-weighted average of all price updates during the bar.
Calculations
This script monitors each realtime update of the chart's feed. It first determines if price has moved up or down since the last update. The polarity of the price change, in turn, determines the polarity of the volume and tick for that specific update. If price does not move between consecutive updates, then the last known polarity is used. Using this method, we can calculate a running volume delta and ticks delta for the bar, which becomes the bar's final delta values when the bar closes (you can inspect values of elapsed realtime bars in the Data Window or the indicator's values). Note that these values will all reset if the script re-executes because of a change in inputs or a chart refresh.
While this method of calculating is not perfect, it is by far the most precise way of calculating volume delta available on TradingView at the moment. Calculating more precise results would require scripts to have access to tick data from any chart timeframe. Charts at seconds timeframes do use exchange/broker ticks when the feeds you are using allow for it, and this indicator will run on them, but tick data is not yet available from higher timeframes. Also, note that the method used in this script is far superior to the intrabar inspection technique used on historical bars in my other "Delta Volume" indicators. This is because volume and ticks delta here are calculated from many more realtime updates than the available intrabars in history. Unfortunately, the calculation method used here cannot be used on historical bars, where intrabar inspection remains, in my opinion, the optimal method.
Inputs
The script's inputs provide many ways to personalize all the components: what is displayed, the colors used to display the information, and the marker conditions. Tooltips provide details for many of the inputs; I leave their exploration to you.
Markers
Markers provide a way for you to identify the points of interest of your choice on the chart. You control the set of conditions that trigger each of the five available markers.
You select conditions by entering, in the field for each marker, the number of each condition you want to include, separated by a comma. The conditions are:
1 — The bar's polarity is up/dn.
2 — `close` rises/falls ("rises" means it is higher than its value on the previous bar).
3 — DV's polarity is +/–.
4 — DV% rises (↕).
5 — POC rises/falls.
6 — The quantity of realtime updates rises (↕).
7 — DV > limit (You specify the limit in the inputs. Since DV can be +/–, DV– must be less than `–limit` for a short marker).
8 — DV% > limit (↕).
9 — DV+ rises for a long marker, DV– falls for a short.
10 — Consecutive DV+/DV– on two bars.
11 — Total volume rises (↕).
12 — DT's polarity is +/–.
13 — DT% rises (↕).
14 — DT+ rises for a long marker, DT– falls for a short.
Conditions showing the (↕) symbol do not have symmetrical states; they act more like filters. If you only include condition 4 in a marker's setup, for example, both long and short markers will trigger on bars where DV% rises. To trigger only long or short markers, you must add a condition providing directional differentiation, such as conditions 1 or 2. Accordingly, you would enter "1,4" or "2,4".
For a marker to trigger, ALL the conditions you specified for it must be met. Long markers appear on the chart as "Mx▲" signs under the values displayed below candles. Short markers display "Mx▼" over the number of updates displayed above candles. The marker's number will replace the "x" in "Mx▲". The script loads with five markers that will not trigger because no conditions are associated with them. To activate markers, you will need to select and enter the set of conditions you require for each one.
Alerts
You can configure alerts on this script. They will trigger whenever one of the configured markers triggers. Alerts do not repaint, so they trigger at the bar's close—which is also when the markers will appear.
█ HOW TO USE IT
As a rule, I do not prescribe expected use of my indicators, as traders have proved to be much more creative than me in using them. Additionally, I tend to think that if you expect detailed recommendations from me to be able to use my indicators, it's a sign you are in a precarious situation and should go back to the drawing board and master the necessary basics that will allow you to explore and decide for yourself if my indicators can be useful to you, and how you will use them. I will make an exception for this thing, as it presents fairly novel information. I will use simple logic to surmise potential uses, as contrary to most of my other indicators, I have NOT used this one to actually trade. Markets have a way of throwing wrenches in our seemingly bullet-proof rationalizing, so drive cautiously and please forgive me if the pointers I share here don't pan out.
The first thing to do is to disable your normal bars. You can do this by clicking on the eye icon that appears when you hover over the symbol's name in the upper-left corner of your chart.
The absolute value and polarity of DV mean little without perspective; that's why I include both total volume for the bar and the percentage that DV represents of that total volume. I interpret a low DV% value as indecision. If you share that opinion, you could, let's say, configure one of the markers on "DV% > 80%", for example (to do so you would enter "8" in the condition field of any marker, and "80" in the limit field for condition 8, below the marker conditions).
I also like to analyze price action on the bar with DV%. Small DV% values should often produce small candle bodies. If a small DV% value occurs on a bar with much movement and high volume, I'm thinking "tough battle with potential explosive power when one side wins". Conversely, large bodies with high DV% mean that large volume is breaching through multiple levels, or that nobody is suddenly willing to take the other side of a normal volume of trades.
I find the POC lines really interesting. First, they tell us the price point where the most significant action (taking into account both price occurrences AND volume) during the bar occurred. Second, they can be useful when compared against past values. Third, their color helps us in figuring out which ones are the most significant. Unsurprisingly, bunches of orange POCs tend to appear in consolidation zones, in pauses, and before reversals. It may be useful to often focus more on POC progression than on `close` values. This is not to say that OHLC values are not useful; looking, as is customary, for higher highs or lower lows, or for repeated tests of precise levels can of course still be useful. I do like how POCs add another dimension to chart readings.
What should you do with the ticks delta above bars? Old-time ticker tape readers paid attention to the sounds coming from it (the "ticker" moniker actually comes from the sound they made). They knew activity was picking up when the frequency of the "ticks" increased. My thinking is that the total number of ticks will help you in the same way, since increasing updates usually mean growing interest—and thus perhaps price movement, as increasing volatility or volume would lead us to surmise. Ticks delta can help you figure out when proportionally large, random orders come in from traders with other perspectives than the short-term price action you are typically working with when you use this tool. Just as volume delta, ticks delta are one more informational component that can help you confirm convergence when building your opinions on price action.
What are strong bars? They are an attempt to identify significance. They are like a default marker, except that instead of displaying "Mx▲/▼" below/above the bar, the candle's body is outlined in bright bull/bear color when one is detected. Strong bars require a respectable amount of conditions to be met (you can see and re-configure them in the inputs). Think of them as pushes rather than indications of an upcoming, strong and multi-bar move. Pushes do, for sure, often occur at the beginning of strong trends. You will often see a few strong bars occur at 2-3 bar intervals at the beginning or middle of trends. But they also tend to occur at tops/bottoms, which makes their interpretation problematic. Another pattern that you will see quite frequently is a final strong bar in the direction of the trend, followed a few bars later by another strong bar in the reverse direction. My summary analyses seemed to indicate these were perhaps good points where one could make a bet on an early, risky reversal entry.
The last piece of information displayed by the indicator is the color of the candle bodies. Three possible colors are used. Bull/bear is determined by the polarity of DV, but only when the bar's polarity matches that of DV. When it doesn't, the color is the divergence color (orange, by default). Whichever color is used for the body, its intensity is determined by the DV% value. Maximum intensity occurs when DV%=100, so the more significant DV% values generate more noticeable colors. Body colors can be useful when looking to confirm the convergence of other components. The visual effect this creates hopefully makes it easier to detect patterns on the chart.
One obvious methodology that comes to mind to trade with this tool would be to use another indicator like Technical Ratings at a higher timeframe to identify the larger context's trend, and then use this tool to identify entries for short-term trades in that direction.
█ NOTES AND RAMBLINGS
Instant Calculations
This indicator uses instant values calculated on the bar only. No moving averages or calculations involving historical periods are used. The only exception to this rule is in some of the marker conditions like "Two consecutive DV+ values", where information from the previous bar is used.
Trading Small vs Long Timeframes
I never trade discretionary at the 5sec–5min timeframes this indicator was designed to be used with; I trade discretionary at 1D, 1W and 1M timeframes, and let systems trade at smaller timeframes. The higher the timeframe you trade at, the fewer fees you will pay because you trade less and are not churning trading volume, as is inevitable at smaller timeframes. Trading at higher timeframes is also a good way to gain an instant edge on most of the trading crowd that has its nose to the ground and often tends to forget the big picture. It also makes for a much less demanding trading practice, where you have lots of time to research and build your long-term opinions on potential future outcomes. While the future is always uncertain, I believe trades riding on long-term trends have stronger underlying support from the reality outside markets.
To traders who will ask why I publish an indicator designed for small timeframes, let me say that my main purpose here is to showcase what can be done with Pine. I often see comments by coders who are obviously not aware of what Pine is capable of in 2021. Since its humble beginnings seven years ago, Pine has grown and become a serious programming language. TradingView's growing popularity and its ongoing commitment to keep Pine accessible to newcomers to programming is gradually making Pine more and more of a standard in indicator and strategy programming. The technical barriers to entry for traders interested in owning their trading practice by developing their personal tools to trade have never been so low. I am also publishing this script because I value volume delta information, and I present here what I think is an original way of analyzing it.
Performance
The script puts a heavy load on the Pine runtime and the charting engine. After running the script for a while, you will often notice your chart becoming less responsive, and your chart tab can take longer to activate when you go back to it after using other tabs. That is the reason I encourage you to set the number of historical values displayed on bars to the minimum that meets your needs. When your chart becomes less responsive because the script has been running on it for many hours, refreshing the browser tab will restart everything and bring the chart's speed back up. You will then lose the information displayed on elapsed bars.
Neutral Volume
This script represents a departure from the way I have previously calculated volume delta in my scripts. I used the notion of "neutral volume" when inspecting intrabar timeframes, for bars where price did not move. No longer. While this had little impact when using intrabar inspection because the minimum usable timeframe was 1min (where bars with zero movement are relatively infrequent), a more precise way was required to handle realtime updates, where multiple consecutive prices often have the same value. This will usually happen whenever orders are unable to move across the bid/ask levels, either because of slow action or because a large-volume bid/ask level is taking time to breach. In either case, the proper way to calculate the polarity of volume delta for those updates is to use the last known polarity, which is how I calculate now.
The Order Book
Without access to the order book's levels (the depth of market), we are limited to analyzing transactions that come in the TradingView feed for the chart. That does not mean the volume delta information calculated this way is irrelevant; on the contrary, much of the information calculated here is not available in trading consoles supplied by exchanges/brokers. Yet it's important to realize that without access to the order book, you are forfeiting the valuable information that can be gleaned from it. The order book's levels are always in movement, of course, and some of the information they contain is mere posturing, i.e., attempts to influence the behavior of other players in the market by traders/systems who will often remove their orders when price comes near their order levels. Nonetheless, the order book is an essential tool for serious traders operating at intraday timeframes. It can be used to time entries/exits, to explain the causes of particular price movements, to determine optimal stop levels, to get to know the traders/systems you are betting against (they tend to exhibit behavioral patterns only recognizable through the order book), etc. This tool in no way makes the order book less useful; I encourage all intraday traders to become familiar with it and avoid trading without one.
RatingsThis strategy script is a modified version of the built-in 'Technical Ratings' strategy script.
English:
www.tradingview.com
Russian:
www.tradingview.com
Changes:
1) Added option to disable long and short positions (checkboxes 'Long' and 'Short').
2) Added date selection option.
3) The default commission is 0.1% (original 0%).
4) 100% of capital is used by default (5% in the original version).
Color Gradient Framework [PineCoders]█ OVERVIEW
This indicator shows how you can use the new color functions in Pine to generate color gradients. We provide functions that will help Pine coders generate gradients for multiple use cases using base colors for bull and bear states.
█ CONCEPTS
For coders interested in maximizing the use of color in their scripts, TradingView has added new color functions and new functionality to existing functions. For us coders, this translates in the ability to generate colors on the fly and use dynamic colors ("series color") in more places.
New functions allow us to:
• Generate colors dynamically from calculated RGBA components ("A" is the Alpha channel, known to Pine coders as the "transparency"). See color.rgb() .
• Extract RGBA components from existing colors. See color.r() , color.g() , color.b() and color.t() .
• Generate linear gradients between two colors. See color.from_gradient() .
Improvements to existing color/plotting functions allow more flexible use of color:
• plotcandle() now accepts a "series color" argument for its `wickcolor` and `bordercolor` parameters.
• plotarrow() now accepts a "series color" argument for its `colorup` and `colordown` parameters.
Gradients are not only useful to make script visuals prettier; they can be used to pack more information in your displays. Our gradient #4 goes overboard with the concept by using a different gradient for the source line, its fill, and the background.
█ OUR SCRIPT
The script presents four functions to generate gradients:
f_c_gradientRelative(_source, _min, _max, _c_bear, _c_bull)
f_c_gradientRelativePro(_source, _min, _max, _c_bearWeak, _c_bearStrong, _c_bullWeak, _c_bullStrong)
f_c_gradientAdvDec(_source, _center, _c_bear, _c_bull)
f_c_gradientAdvDecPro(_source, _center, _steps, _c_bearWeak, _c_bearStrong, _c_bullWeak, _c_bullStrong)
The relative gradient functions are useful to generate gradients on a source that oscillates between known upper/lower limits. They use the relative position of the source between the `_min` and `_max` levels to generate the color. A centerline is derived from the `_min` and `_max` levels. The source's position above/below that centerline determines if the bull/bear color is used, and the relative position of the source between the centerline and the max/min level determines the gradient of the bull/bear color.
The advance/decline gradient functions are useful to generate gradients on a source for which min/max levels are unknown. These functions use source advances and declines to determine a gradient level. The `f_c_gradientAdvDec()` version uses the historical maximum of advances/declines to determine how many correspond to the strongest bull/bear colors, making its gradients adaptive. The `f_c_gradientAdvDecPro()` version requires the explicit number of advances/declines that correspond to the strongest bull/bear colors. This is useful when coloring chart bars, for example, where too many gradient levels are difficult to distinguish. Using the Pro version of the function allows you to limit the number of gradient levels to 5, for example, so that transitions are fewer, but more obvious. The `_center` parameter of the advance/decline functions allows them to determine which of the bull/bear colors to use.
Note that the custom `f_colorNew(_color, _transp)` function we use in our script should soon no longer be necessary, as changes are under way to allow color.new() to accept series arguments.
Inputs
The script's inputs demonstrate one way you can allow users to choose base bull/bear colors. Because users can modify any of the colors, only two are technically needed: one for bull, one for bear, as we do for the configuration of the bull/bear colors for the background in the gradient #4 configuration. Providing a few presets from which users can choose can be useful for color-challenged script users, but that type of inputs has the disadvantage of not rendering optimally in all OS/Browser environments.
You can use the inputs to select one of eight gradient demonstrations to display.
█ THANKS
Thanks to the PineCoders team for validating the code and description of this publication.
Thanks also to the many TradingView devs from multiple teams who made these improvements to Pine colors possible.
Look first. Then leap.
Bollinger Band Width PercentileIntroducing the Bollinger Band Width Percentile
Definitions :
Bollinger Band Width Percentile is derived from the Bollinger Band Width indicator.
It shows the percentage of bars over a specified lookback period that the Bollinger Band Width was less than the current Bollinger Band Width.
Bollinger Band Width is derived from the Bollinger Bands® indicator.
It quantitatively measures the width between the Upper and Lower Bands of the Bollinger Bands.
Bollinger Bands® is a volatility-based indicator.
It consists of three lines which are plotted in relation to a security's price.
The Middle Line is typically a Simple Moving Average.
The Upper and Lower Bands are typically 2 standard deviations above, and below the SMA (Middle Line).
Volatility is a statistical measure of the dispersion of returns for a given security or market index, measured by the standard deviation of logarithmic returns.
The Broad Concept :
Quoting Tradingview specifically for commonly noted limitations of the BBW indicator which I have based this indicator on....
“ Bollinger Bands Width (BBW) outputs a Percentage Difference between the Upper Band and the Lower Band.
This value is used to define the narrowness of the bands.
What needs to be understood however is that a trader cannot simply look at the BBW value and determine if the Band is truly narrow or not.
The significance of an instruments relative narrowness changes depending on the instrument or security in question.
What is considered narrow for one security may not be for another.
What is considered narrow for one security may even change within the scope of the same security depending on the timeframe.
In order to accurately gauge the significance of a narrowing of the bands, a technical analyst will need to research past BBW fluctuations and price performance to increase trading accuracy. ”
Here I present the Bollinger Band Width Percentile as a refinement of the BBW to somewhat overcome the limitations cited above.
Much of the work researching past BBW fluctuations, and making relative comparisons is done naturally by calculating the Bollinger Band Width Percentile.
This calculation also means that it can be read in a similar fashion across assets, greatly simplifying the interpretation of it.
Plotted Components of the Bollinger Band Width Percentile indicator :
Scale High
Mid Line
Scale Low
BBWP plot
Moving Average 1
Moving Average 2
Extreme High Alert
Extreme Low Alert
Bollinger Band Width Percentile Properties:
BBWP Length
The time period to be used in calculating the Moving average which creates the Basis for the BBW component of the BBWP.
Basis Type
The type of moving average to be used as the Basis for the BBW component of the BBWP.
BBWP Lookback
The lookback period to be used in calculating the BBWP itself.
BBWP Plot settings
The BBWP plot settings give a choice between a user defined solid color, and a choice of "Blue Green Red", or "Blue Red" spectrum palettes.
Moving Averages
Has 2 Optional User definable and adjustable moving averages of the BBWP.
Visual Alerts
Optional User adjustable High and low Signal columns.
How to read the BBWP :
A BBWP read of 95 % ... means that the current BBW level is greater than 95% of the lookback period.
A BBWP read of 5 % .... means that the current BBW level is lower than 95% of the lookback period.
Proposed interpretations :
When the BBWP gets above 90 % and particularly when it hits 100% ... this can be a signal that volatility is reaching a maximum and that a macro High or Low is about to be set.
When the BBWP gets below 10 % and particularly when it hits 0% ...... this can be a signal that volatility is reaching a minimum and that there could be a violent range breakout into a trending move.
When the BBWP hits a low level < 5 % and then gets above its moving average ...... this can be an early signal that a consolidation phase is ending and a trending move is beginning.
When the BBWP hits a high level > 95 % and then falls below its moving average ... this can be an early signal that a trending move is ending and a consolidation phase is beginning.
Essential knowledge :
The BBWP was designed with the daily timeframe in mind, but technical analysists may find use for it on other time frames also.
High and Low BBWP readings do not entail any direction bias.
Deeper Concepts :
In finance, “mean reversion” is the assumption that a financial instrument's price will tend to move towards the average price over time.
If we apply that same logic to volatility as represented here by the Bollinger band width percentile, the assumption is that the Bollinger band width percentile will tend to contract from extreme highs, and expand from extreme lows over time corresponding to repeated phases of contraction and expansion of volatility.
It is clear that for most assets there are periods of directional trending behavior followed by periods of “consolidation” ( trading sideways in a range ).
This often ends with a tightening range under reducing volume and volatility ( popularly known as “the squeeze” ).
The squeeze typically ends with a “breakout” from the range characterized by a rapid increase in volume, and volatility when price action again trends directionally, and the cycle repeats.
Typical Use Cases :
The Bollinger Band Width Percentile may be especially useful for Options traders, as it can provide a bias for when Options are relatively expensive, or inexpensive from a Volatility (Vega) perspective.
When the Bollinger Band Width Percentile is relatively high ( 85 percentile or above ) it may be more advantageous to be a net seller of Vega.
When the Bollinger Band Width Percentile is relatively low ( 15 percentile or below ) it may be advantageous to be net long Vega.
Here we examine a number of actionable signals on BTCUSD daily timeframe using the BBWP and a momentum oscillator ( using the TSI here but can equally be used with Bollinger bands, moving averages, or the traders preferred momentum oscillator ).
In this first case we will examine how a spot trader and an options trader could each use a low BBWP read to alert them to a good potential trade setup.
note: using a period of 30 for both the Bollinger bands and the BBWP period ( approximately a month ) and a BBWP lookback of 350 ( approximately a year )
As we see the Bollinger Bands have gradually contracted while price action trended down and the BBWP also fell consistently while below its moving average ( denoting falling volatility ) down to an extremely low level <5% until it broke above its moving average along with a break of range to the upside ( signaling the end of the consolidation at a low level and the beginning of a new trending move to the upside with expanding volatility).
In this next case we will continue to follow the price action presuming that the traders have taken or locked in profit at reasonable take profit levels from the previous trade setup.
Here we see the contraction of the Bollinger bands, and the BBWP alongside price action breaking below the BB Basis giving a warning that the trending move to the upside is likely over.
We then see the BBWP rising and getting above its moving average while price action fails to get above the BB Basis, likewise the TSI fails to get above its signal line and actually crosses below its zeroline.
The trader would normally take this as a signal that the next trending move could be to the downside.
The next trending move turns out to be a dramatic downside move which causes the BBWP to hit 100% signaling that volatility is likely to hit a maximum giving good opportunities for profitable trades to the skilled trader as outlined.
Limitations :
Here we will look at 2 cases where blindly taking BBWP signals could cause the trader to take a failed trade.
In this first example we will look at blindly taking a low volatility options trade
Low Volatility and corresponding low BBWP levels do not automatically mean there has to be expansion immediately, these periods of extreme low volatility can go on for quite some time.
In this second example we will look at blindly taking a high volatility spot short trade
High volatility and corresponding high BBWP levels do not automatically mean there has to be a macro high and contraction of volatility immediately, these periods of extreme high volatility can also go on for quite some time, hence the famous saying "The trend is your friend until the end of the trend" and lesser well known, but equally valid saying "never try to short the top of a parabolic blow off top"
Markets are variable and past performance is no guarantee of future results, this is not financial advice, I am not a financial advisor.
Final thoughts
The BBWP is an improvement over the BBW in my opinion, and is a novel, and useful addition to a Technical Analysts toolkit.
It is not a standalone indicator and is meant to be used in conjunction with other tools for direction bias, and Good Risk Management to base sound trades off.
John Bollinger has suggested using Bolliger bands, and its related indicators with two or three other non-correlated indicators that provide more direct market signals.
He believes it is crucial to use indicators based on different types of data.
Some of his favored technical techniques are moving average divergence/convergence (MACD), on-balance volume and relative strength index (RSI).
Thanks
Massive respect to John Bollinger, long-time technician of the markets, and legendary creator of both the Bollinger Bands® in the 1980´s, and the Bollinger band Width indicator in 2010 which this indicator is based on.
His work continues to inspire, decades after he brought the original Bollinger Bands to the market.
Much respect also to Eric Crown who gave me the fundamental knowledge of Technical Analysis, and Options trading.
EMA SMA 100 CrossThis script utilizes the 100 EMA and the 100 SMA with printing labels for "Buy", "Short", and "Take Profit".
Essentially this indicator will print a "Buy" label when the 100 EMA(green line) is above the 100 SMA(red line) and "Take Profit" at the pivot points.
NOTE: There will be instances where the labels print based on coded criteria but will be false compared to trend. This is because the 100 EMA and SMA crosses can be short periods and reversals can happen frequently. This indicator should be used in conjunction with other indicators to help build a case for potential long or short entries.