Pseudo Polynomial ChannelIntroduction
Back when i started using pine i made a script called periodic channel who aimed to rescale an average correlated sine wave to the price...don't worked very well. So i tried to fix problems induced by the indicator without much success, i had to redo it from scratch while abandoning the idea of rescaling correlated smooth functions to the price, at that time i also received requests regarding polynomial channel, some plateformes included this indicator, this led me to the idea to estimate it in order to both respond to the periodic channel problems and the requests i received, i have tried many many things and recently i tweaked a linear extrapolation to have an approximation.
Linear Extrapolation To Pseudo Polynomial Regression
I could be wrong but a polynomial regression must use constant parameters in order to provide a really smooth output, at least constant for a set of time. The moving averages forms (Savitzky-Golay moving average) who smooth polynomials across a window to the data don't have such smoothness, so how to estimate a polynomial regression while having a parameter providing control over the smoothness, a response to this is by using a recursive linear extrapolation. I posted a linear extrapolation indicator long ago, i used the same formula while adding a function to morph the output and the input in the form of :
morph * output + (1-morph) * input
How can this provide an estimate of a polynomial regression ? Well i'm not even sure myself but if you use the output as input (morph = 1) for the linear extrapolation function you should get a rough estimate of a line, this is what i thought at first and it proved to be right
Based on this observation i thought that it would be possible to get polynomial results by lowering morph, and as expected it worked well but showed a periodic pattern, this is why i smooth k in line 10.
0.9 for morph work well, higher values create sometimes smoother results but damage heavily the estimation.
Parameters
Morph have been introduced earlier, it control the amount of output and input the linear extrapolation should process, lower values create rougher but more stables results, if you see that the estimation is going nuts lower morph or change length, also lower length if you increase morph .
High overshoot, morph to 0.8 can help have a better estimation at the cost of less smoothness.
Length control the indicator smoothing, this parameter differ heavily from other filters, therefore low values can create mid/long term smoothing, it can also depend on which market instrument you are applying it, so there are no fixed optimal length.
Mult control how spread the bands are, to do so mult multiply the cumulative mean error, you can change this error measurement by anything you want like standard deviation/atr/range but take into account that you may create a separate parameter to control the error instead of length . Mult can be a float and like length can have different optimal values depending on the market the indicator is applied to.
Flatten do exactly what is name imply, it flatten the overall output to have a better estimation, can be a float. The result is less smooth.
Flatten = 2
More Exemples
BTCUSD length = 25 and mult = 4
XPDUSD length = 25 and mult = 1
ALPHABET length = 6 and morph = 0.99
Conclusion
I tried to estimate a polynomial channel by using recursion in the linear extrapolation function. This build is way more stable than the periodic channel but its still a bit inaccurate in my opinion. I hope this code can still help someone build something really nice, if so share your results :)
I apologize for those expecting a legit polynomial channel build but i really don't know how to do that, as i said parameters for the regression must be constants, i hope it still fine :)
Thanks for reading !
Bands
♒RBCI - Range Bound Channel Index by Cryptorhythms♒ RBCI - Range Bound Channel Index by Cryptorhythms
Intro
This is my best approximation of the RBCI. Its not perfect, but it does the job well enough.
A good way to use it is to enter when the singal line (light blue) RE ENTERS the channel from below. I circled these points on the indicator in green.
Description
Information to create was gathered mostly here: www.finware.com
RBCI (Range Bound Channel Index) – is calculated by means of the channel (bandwidth) filter (CF). Channel filter simultaneously fulfills two functions:
Removes low frequent trend formed by low frequent components of the spectrum with periods, more T2= 1/fc2;
Removes high frequency noise formed by the high frequent components of the spectrum with periods, less T1= 1/fc1.
👍 Enjoying this indicator or find it useful? Please give me a like and follow! I post crypto analysis, price action strategies and free indicators regularly.
💬 Questions? Comments? Want to get access to an entire suite of proven trading indicators? Come visit us on telegram and chat, or just soak up some knowledge. We make timely posts about the market, news, and strategy everyday. Our community isn't open only to subscribers - everyone is welcome to join.
For Trialers & Chat: t.me
ATR BandsDisplays two bands above and below the source using the ATR. Comes with ATR multipliers for upper and lower bands.
Cyatophilum Bands Pro Trader V4 [ALERTSETUP]> > PRESENTATION < <
This version includes a new feature, engineered to increase profitability.
About the backtest below:
Short + Long Strategy
0.05% Commission
10% of 10 000% equity per trade. Net Profit can be increased with a bigger % of equity.
Strategy data from 01/11/2019 to 30/04/2019
The Cyatophilum Bands, Trailing Stop Loss and Take Profit System are explained on here .
To automate the indicator, there are up to 8 different alerts that you can use:
1. LONG ENTRY
2. LONG EXIT
3. SHORT ENTRY
4. SHORT EXIT
5. TAKE PROFIT LONG
6. TAKE PROFIT SHORT
7. STOP LOSS LONG
8. STOP LOSS SHORT
The access to this indicator is included in the Cyatophilum Indicators pack available on my website .
To get a free trial, simply leave a comment, thank you very much for reading !
Previous version :
RSI Bands changer with 50 - follows trendThis is a RSI that changes the values of its bands (30-80, 20-70), according to the trend that is going on, given by the 2 classic EMA 12 and 26.
There are also the classic bands 30-70 and the middle one (for reference).
I hope you like it ;) .
Cyatophilum Bands Pro Trader V4 [BACKTEST]This version includes a new feature, engineered to increase profitability.
About the backtest below:
Short + Long Strategy
0.05% Commission
10% of 10 000% equity per trade. Net Profit can be increased with a bigger % of equity.
Strategy data from 01/11/2019 to 30/04/2019
The Cyatophilum Bands, Trailing Stop Loss and Take Profit System are explained in the last version:
The access to this indicator and its Alert Setup version are included in the Cyatophilum Indicators pack available on my website blockchainfiesta.com
To get a free trial, leave a comment, thank you.
Flagging BandsIntroduction
A pun between the word flag and the adjective flagging (less dynamic) , this indicator have two bands who react faster when in contact to the price. Imagine you are under sheets, if you abruptly rise, the sheets will instantaneously go up, then if you abruptly get down, the sheets will fall slowly until being in contact with a surface, this is because of a type of friction called drag or air resistance , this force is described in fluid dynamics and i inspired myself from that for the creation of the indicator.
The indicator
The indicator is made of two bands, one upper band and one lower band, then a weighted average of each bands, this average is weighted depending on which band the price is closer. The length control the period of the indicator, in general higher lengths will create wider bands, you must consider that this parameter behave differently than other ones and may create slower results in comparison with other bands indicators while having the same length period.
The indicator can use a simple breakout methodology (see trailing stop part) but can sometime provide support and resistance points, in fact i believe that when the average variability/volatility of band A is higher than the average variability/volatility of band B and that the price cross band B then price will reverse its direction, this claim is not justified, research is needed.
Trailing Stop Mod
It is possible to make the indicator act as a trailing stop, in order to do so just tick the trailing stop mod box.
The average/bands will automatically disappear being replaced by the trailing stop.
Conclusion
I was just playing around when making the skeleton of the indicator, i hope the code is easy to understand, if you need some kind of explanation just pm me, i'm always open to help people/receive suggestions.
Best Regards
AG Ultimate Bollinger BandsWe believe we have really built the ultimate Bollinger Bands! There are so many options with these Bands:
- use an SMA or EMA for the Basis Moving Average
- displaying the Average Highs/Lows (blue lines) to create a Moving Band
- show breakouts of the Upper/Lower Bollinger Bands with arrows for simplicity (no more wondering whether it closed out or not!)
- show a standard deviation of Highs/Lows alongside the traditional Upper/Lower Bollinger Bands.
All options are togglable, for full flexibility and customisation.
AG Moving Averages w/ BandsThis is an indicator that we built from a few simple ideas: display more than one Moving Average, display the Moving Average "Band" (more below) for each Moving Average, and allowing toggle between SMA/EMA - all in the one indicator.
The Moving Average "Band" is creating using Moving Averages (SMA/EMA) with High and Low as sources. The combination of the MA(Close), MA(High), MA(Low), creates a "Band" for each MA length - which we have found to be very helpful in our Moving Average studies.
The example in the chart above is EURUSD with 20SMA (with Bands), 55EMA (without Bands), 200EMA (with Bands). As you can see, the Bands do a better job than MAs alone for capturing price movement and acting as larger dynamic Support/Resistance zones.
Everything in this indicator is fully customizable, from which MAs to show, to those MA lengths, whether to use SMA/EMA for each individual MA, and whether to display the MA "Band" for each individual MA.
We hope you find it as useful as we have!
AG Relative BandWidthThis is an indicator that we've been using for a while, very useful for identifying when the market is in a low volatility state. We use the bandwidth of the Bollinger Bands as a proxy for this, but we do something different - we ask the question of "relative to what?".
Whereas typical Bollinger BandWidth indicators give values only applicable for that particular asset, the normalised nature of our Relative BandWidth indicator means that it works and be inferred the same across all assets and timeframes. A really handy tool!
"After periods of low volatility come periods of high volatility" is a well-known theory, and this indicator helps to quickly and easily identify when markets are in low volatility states. Another name for the information our indicator shows is known as the "Bollinger squeeze". Trading breakouts of this squeeze in Bands can be a profitable strategy, given one can filter the false breakouts adequately.
I have shown examples of when the indicator was showing low volatility, take note of what the price action and the width of the Bollinger Bands are doing.
Every parameter is editable, so feel free to play around with the settings. The default settings are what we have used for a long time and have worked well.
Motion To Attraction ChannelsIntroduction
Channels are used a lot on technical-analysis, however most of the them rely on adding/subtracting a volatility indicator to a central tendency indicator, sometimes the central tendency indicator can even be replaced by pure price. A great channel who does not rely on this kind of architecture is the Donchian channels or the quartiles bands. Here i propose a channel similar to the one made by Richard Donchian with some additional abilities.
The Channels
In my indicator, Motion To Attraction mean that the movement of an object a attract an object b , but we can resume this approach by saying that the longer a trend period is, the smaller the distance between each channels, for example if the price create a new highest then the lowest will move toward this new highest, each time coming closer. The philosophy behind this is that the longer a trend is the more probable it is that she will end.
The code reflect it this way :
here the parameter controlling the channel A (upper)
c = change(b) ? nz(c ) + alpha : change(a) ? 0 : nz(c )
this is traduced by : if channel b move then the parameter c become greater, if channel a move then reset the parameter , the parameter d do the same.
c is used to move the channel A, when c < 1 A is closer to the highest, when c = 1 A is in a central tendency point, when c > 1 A is closer to the lowest.
Slaving the Movement
It is possible to have a better control over the channels, this is done by making c and d always equal or lower than 1. Of course it could be another max value selected by the user.
In order to do that add c1 and d1 as parameter with c1 = c > 1 ? 1 : c , same with d1 but replace c by d.
Its safer to do this but i prefer how the channels act the other way, i will consider implementing this option in the future.
Conclusion
This channel indicator does not rely on past data thanks to recursion. The alpha variable at the start can also be adaptive, this let you make the channels adaptive even if such idea can add non desired results. Low length values can create effects where the lower channel can be greater than the higher one, this can be fixed directly in the code or using the method highlighted in the Slaving the Movement part.
McNicholl Moving AverageThis type of moving average was originally developed by Dennis McNicholl (Futures Magazine, (October, 1998): "Better Bollinger Bands"). A kind of TEMA. He used it as a centerline of the new bands, called Better Bollinger Bands or DEnvelope. The Better Bollinger Bands is a modification of the well-known Bollinger Bands that has a better response for changes in volatility.
Filtered/Unfiltered Linear Regression BandsOptionally filtered linear regression bands/channel. Unfiltered : low lag.
Trend, support/resistance, overbought/sold and all that jazz....
RSI ATR ChannelDraws a channel based on ATR (Average True Range) and RSI. Detects band touches and colors the background appropriately.
TJ-BandsDo you want to know
This indicator is a modified form of Bollinger Bands.
It works in a similar way like BB does. If you take a look at the "line" chart, you will clearly see, that a close outside these bands is very unlikely and works very well as a rejection line for the chart.
Since, the chart is likely to get rejected at the bands those have been indicated red at the top and green at the bottom.
The use is very simple, add it to your chart and there is nothing more to modify or change.
Like and Follow me and you will find this page interesting because I am a TA expert and professional day trader in crypto since 2012 that does daily updates and new posts about the hottest and most discussed coins.
Cheers, TJ
Shark K-Bands — SharkCIAInspired by everget's implementation of Kirshenbaum Bands.
This indicator was originally developed by Paul Kirshenbaum, a mathematician with a Ph .D. in economics from New York University.
It uses the standard error of linear regression lines of the closing price to determine band width. This has the effect of measuring volatility around the current trend, rather than measuring volatility for changes in trend.
Prior art:
Check out everget's scripts here: www.tradingview.com
Kirshenbaum BandsThis indicator was originally developed by Paul Kirshenbaum, a mathematician with a Ph.D. in economics from New York University.
It uses the standard error of linear regression lines of the closing price to determine band width. This has the effect of measuring volatility around the current trend, rather than measuring volatility for changes in trend.
Good luck!
Synoptic Advanced Bands w/GaussAdvanced 9 value band engine with Gaussian option. Includes ALMA, DEMA, EMA, Gauss, HMA, KAMA, LSMA, RMA, SMA, SMMA, TEMA, VWMA, WMA as options for the band engine.
Features:
Three color themes built in, switch between them with a drop down box in the inputs tab, customize them on the style tab.
Change source, length for band engine.
Five band modes, including Bollinger Mode, Custom Mode, Fibonacci Mode, Gaussian Mode, and Normal Mode.
Factor setting for normal (equidistant) and compounding in band calculation.
Offset option
Gaussian core can be shown at all times, even when using a non-Gaussian band engine, and includes reduced lag, and fast response mode, as well as the option to adjust the core multiplier and poles for the Gaussian calculations.
Bollinger settings can be locked to the band settings or set independently for standard deviation.
All custom settings for ALMA, KAMA, LSMA, DEMA, TEMA available including some new ones.
Custom alerts can be set within the inputs tab, then activated through the regular alerts dialog.
40 programmable presets for band settings.
Over 1000 configurations possible for the main settings, many many more if counting minor adjustments.
Great for support/resistance, predicting major moves, trend change/direction, targets, assessing volatility etc.
Access available, please message for more info. If you already have access and need help with configuration, or have a bug to report please get in touch with me.
Relative Strength Volatility Variable Bands [DW]This is an experimental adaptive trend following study inspired by Giorgos Siligardos's Reverse Engineering RSI and Tushar S. Chande's Variable Moving Average.
In this study, reverse engineered RSI levels are calculated and used to generate a volatility index for VMA calculation.
First, price levels are calculated for when RSI will equal 70 and 30. The difference between the levels is taken and normalized to create the volatility index.
Next, an initial VMA is calculated using the created volatility index. The moving average is an exponential calculation that adjusts the sampling length as volatility changes.
Then, upper and lower VMAs are calculated by taking a VMA of prices above and below the initial VMA. The midline is produced by taking the median of the upper and lower VMAs.
Lastly, the band levels are calculated by multiplying the distance from the midline to the upper and lower VMAs by 1, 2, 3, 4, and 5.
Bar colors are included. They're based on the midline trend and price action relative to the upper and lower VMAs.