Bollinger Bands Plus [xdecow]Bollinger bands with the option to use different types of moving averages.
-SMA
-EMA
-RMA
-WMA
-VWMA
-SWMA
-DEMA
-HMA
-SMMA
-T3
-TEMA
HMA
HMA-Crossover AlertsThis simple script plots bullish and bearish Hull Moving Average Crossovers and fires Alerts when long or short conditions are met.
Forex&Co Baseline - Multi ChoiceBest baseline indicator with multiple choice and bar colour. Easy to use and very effective.
Moving Averages Linear CombinatorLinearly combining moving averages can provide relatively interesting results such as a low-lagging moving averages or moving averages able to produce more pertinent crosses with the price.
As a remainder, a linear combination is a mathematical expression that is based on the multiplication of two variables (or terms) with two coefficients (also called scalars when working with vectors) and adding the results, that is:
ax + by
This expression is a linear combination , with x/y as variables and a/b as coefficients. Lot of indicators are made from linear combinations of moving averages, some examples include the double/triple exponential moving average, least squares moving average and the hull moving average.
Today proposed indicator allow the user to combine many types of moving averages together in order to get different results, we will introduce each settings of the indicator as well as how they affect the final output.
Explaining The Effects Of Linear Combinations
There are various ways to explain why linear combination can produce low-lagging moving averages, lets take for example the linear combination of a fast SMA of period p/2 and slow simple moving average of period p , the linear combination of these two moving averages is described as follows:
MA = 2SMA(p/2) + -1SMA(p)
Which is equivalent to:
MA = 2SMA(p/2) - SMA(p) = SMA(p/2) + SMA(p/2) - SMA(p)
We can see the above linear combinations consist in adding a bandpass filter to the fast moving average, which of course allow to reduce the lag. It is important to note that lag is reduced when the first moving average term is more reactive than the second moving average term. In case we instead use:
MA = -2SMA(p/2) + 1SMA(p)
we would have a combination between a low-pass and band-reject filter.
The Indicator
The indicator is based on the following linear combination:
Coeff × LeadingMA(length) - (Coeff-1) × LaggingMA(length)
The length setting control both moving averages period, leading control the type of moving average used as leading MA, while lagging control the type of MA used as lagging moving average, in order to get low lag results the leading MA should be more reactive than the lagging MA. Coeff control the coefficients of the linear combination, with higher values of coeff amplifying the effects of the linear combination, negative values of coeff would make a low-lag moving average become a lagging moving average, coeff = 1 return the leading MA, coeff = -1 return the lagging MA. The leading period divisor allow to divide the period of the leading MA by the selected number.
The types of moving average available are: simple, exponentially weighted, triangular, least squares, hull and volume weighted. The lagging MA allow you to select another MA on the chart as input.
length = 100, leading period divisor = 2, coeff = 2, with both MA type = SMA. Using coeff = -2 instead would give:
You can select "Plot leading and lagging" in order to show the leading and lagging MA.
Conclusion
The proposed tool allow the user to create a custom moving averages by making use of linear combination. The script is not that useful when you think about it, and might maybe be one of my worst, as it is relatively impractical, not proud of it, but it still took time to make so i decided to post it anyway.
MATRIX HMA Filters and TrendlinesThis update to the previous HMA-Kahlman Trend, Clipping & Trendlines script features the same structure with the three modules:
- Trendlines module,
- NEW Winsorizing submodule using difference-based filtering.
- HMA-Kahlman Trend module.
The Winsorizing submodule filters signals by a volume level, eliminating the ones with the volume below a threshold. This module substitutes the previous 'low-level' filtering implementation. This time it filters out based on difference between scaled volume and its moving average.
Tested with BTCUSD .
Esta atualização do script HMA-Kahlman Trend, Clipping & Trendlines anterior apresenta a mesma estrutura nos três módulos:
- módulo Trendlines,
- NOVO sub-módulo Winsorizing usando filtragem baseada em diferenças.
- Módulo HMA-Kahlman Trend.
O submódulo Winsorizing filtra sinais por um nível de volume, eliminando aqueles com o volume abaixo de um limite. Este módulo substitui a implementação de filtragem 'baixo nível' anterior. Dessa vez, ele é filtrado com base na diferença entre o volume escalado e sua média móvel.
Testado com BTCUSD.
Fancy Moving Average [BigBitsIO]This script is for a single moving average with as many features as I can possibly fit into a single moving average. If you can think of more, or have questions regarding this script, please message me or contact me via social media.
Features:
- A single moving average (MA).
- Standard MA inputs.
- MA type.
- MA period.
- MA price.
- MA resolution (time frame).
- Visibility toggle.
- Fancy MA inputs.
- Toggle to show only candles included in the MA calculation ("Highlight inclusion") or display entire MA history.
- Toggle to show a ghost trail when Highlight inclusion is toggled on. Displays a shaded version of past MA history before the inclusion period (as seen on snapshot).
- Toggle to show forecast values for the MA.
- Other inputs related to forecasting:
- Forecast bias. (Neutral forecasts MA if the current price remains the same.)
- Forecast period.
- Forecast magnitude.
*** DISCLAIMER: For educational and entertainment purposes only. Nothing in this content should be interpreted as financial advice or a recommendation to buy or sell any sort of security or investment including all types of crypto. DYOR, TYOB. ***
Multiple MAsYou can set up to 5 moving averages (or more if you know how to edit the script), selecting from SMA, EMA, HMA, WMA, DEMA, TEMA or RMA. Select the source and the period for each MA.
Ultimate MA Cross IndicatorContinue to experiment with new labels functionality in TradingView. Created ma cross script with 9 different types of MA wit additional information box. In that box, I included the bars passed from the previous bull/bear cross.
Also you cand find there live distance between moving averages in price and ATRs , so you track how close are you from the next close.
Do you think this concept is useful? What information do you want to see in this kind of boxes?
These ma types are included in this indicator:
Simple Moving Average ( SMA )
Exponential Moving Average ( EMA )
Weighted Moving Average ( WMA )
Arnaud Legoux Moving Average ( ALMA )
Hull Moving Average ( HMA )
Volume-weighted Moving Average ( VWMA )
Least Square Moving Average ( LSMA )
Smoothed Moving Average ( SMMA )
Double Exponential Moving Average ( DEMA )
Hull SuiteHull is its extremely responsive and smooth moving average created by Alan Hull in 2005.
Minimal lag and smooth curves made HMA extremely popular TA tool.
alanhull.com
Script was made to regroup multiple hull variants in one indicator,maintaining flexible customization and intuitive visualization
Option to chose between 3 Hull variations
Option to chose between 2 visualization modes ( Bands or single line)
Option to Paint hull and/or candlesticks according to hulls trend
Shortcut for personalizing Line/band thickness,instead of changing every object manually ,there is global option in inputs
HMA
THMA ( 3HMA)
EHMA
HMA:
Alan Hull
EHMA:
Slower than hull by default.
Raudys, Aistis & Lenčiauskas, Vaidotas & Malčius, Edmundas. (2013). Moving Averages for Financial Data Smoothing ( 403. 34-45. 10.1007/978-3-642-41947-8_4.) Vilnius University, Faculty of Mathematics and Informatics
3HMA (THMA) :
Documentation on link below
alexgrover
Scripting Tutorial 7 - Triple Many Moving Averages ResolutionsThis script is for a triple moving average indicator where the user can select from different types of moving averages, price sources, lookback periods and resolutions.
Features:
- 3 Moving Averages with variable MA types, periods, price sources, resolutions and the ability to disable each individually
- Crossovers are plotted on the chart with detailed information regarding the crossover (Ex: 50 SMA crossed over 200 SMA )
- Forecasting available for all three MAs. MA values are forecasted 5 values out and plotted as if a continuation to the MA.
- Forecast bias also applies to all forecasting. Bias means we can forecast based on an anticipated bullish, bearish or neutral direction in the market.
- To understand bias, please read the source code, or if you can't read the code just send me a message on here or Twitter. Twitter should be linked to my profile.
This script is meant as an educational script with well-formatted styling, and references for specific functions.
Scripting Tutorial 6 - Triple Many Moving Averages ForecastingThis script is for a triple moving average indicator where the user can select from different types of moving averages, price sources and lookback periods.
Features:
- 3 Moving Averages with variable MA types, periods, price sources and ability to disable each individually
- Crossovers are plotted on the chart with detailed information regarding the crossover (Ex: 50 SMA crossed over 200 SMA )
- Forecasting available for all three MAs. MA values are forecasted 5 values out and plotted as if a continuation to the MA.
- Forecast bias also applies to all forecasting. Bias means we can forecast based on an anticipated bullish, bearish or neutral direction in the market.
- To understand bias, please read the source code, or if you can't read the code just send me a message on here or Twitter. Twitter should be linked on my profile.
This script is meant as an educational script with well-formatted styling, and references for specific functions.
Scripting Tutorial 5 - Triple Many Moving Averages CrossoversThis script is for a triple moving average indicator where the user can select from different types of moving averages and periods. This script improves upon tutorial 3 by adding source selection for MAs and another option for an MA that is not built-in, the HMA . It is meant as an educational script with well formatted styling, and references for specific functions.
Scripting Tutorial 4 - Triple Many Moving Averages ImprovedThis script is for a triple moving average indicator where the user can select from different types of moving averages and periods. This script improves upon tutorial 3 by adding source selection for MAs and another option for an MA that is not built-in, the HMA. It is meant as an educational script with well formatted styling, and references for specific functions.
Multiple HMA - bgeraghtyTo save space on a chart's maximum indicator count, this single indicator includes:
- Three Hull Moving Averages, Defaulted to 13, 26, and 55 Periods.
- Customizable Time-Frame for Each HMA.
- Customizable Triple Weighted MA Smoothing for Jagged Lines from Higher Time-Frame
- Alert Conditions for Price Cross Over/Under the HMAs.
Comparing different types of moving averagesA Study of Moving Average Types
// SMA Simple
// WMA Weighted
// VWMA Volume Weighted
// EMA Exponential
// DEMA Double EMA
// ALMA Arnaud Legoux
// HMA Hull MA
// SMMA Smoothed
// LSMA Least Squares
// KAMA Kaufman Adaptive
// TEMA Triple EMA
// ZLEMA Zero Lag
// FRAMA Fractal Adaptive
// VIDYA Variable Index Dynamic Average
// JMA Jurik Moving Average
// T3 Tillson
// TRIMA Triangular
HMA-Kahlman Trend, DifferenceFilter & TrendlinesThis update to the previous HMA-Kahlman Trend, Clipping & Trendlines script features the same structure with the three modules:
- Trendlines module,
- NEW Winsorizing submodule using difference-based filtering.
- HMA-Kahlman Trend module.
The Winsorizing submodule filters signals by a volume level, eliminating the ones with the volume below a threshold. This module substitutes the previous 'low-level' filtering implementation. This time it filters out based on difference between scaled volume and its moving average.
Tested with BTCUSD.
JMA-HMA-based Scalper (ps4)This is an old compilation of mine suitable for scalping. To filter out the generated signals use Difference value between on the Settings menu.
HMA-Kahlman Trend, Clipping & TrendlinesThis script utilizes three modules:
- Trendlines module (by Joris Duyck),
- Winsorizing submodule and
- HMA-Kahlman Trend module.
The Trendlines module produces crossovers predictive of the next local trend. The Winsorizing (clipping) submodule filters signals by a volume level, eliminating the ones with the volume below a threshold. The last feature obviously does not work with the assets not supporing Volume, so set the Winsorizing submodule to false. The Winsorizing and Trendlines modules can be turned off.
HMA-Kahlman Trend & TrendlinesThis script utilizes two modules, Trendlines module (by Joris Duyck) and HMA-Kahlman Trend module. Trendlines module produces crossovers predictive of the next local trend.
Hull RSI
This is an RSI that is smoothed with a faster Hull Moving Average. The upper pink and bottom teal lines represent the 95th and 5th percentiles of Hull RSI values over a window of user-defined length.
The two percentile bands function identically to the traditional upper and lower bounds used in the standard RSI setup. Buy signals are plotted as the vertical green background highlights and sell signals are the red highlights. Buy signal is generated when RSI is below the lower teal line and then crosses above it. Sell signals occur when Hull RSI was previously above the upper pink line and then crosses back under.
3HMAIntroduction
The Hull smoothing method aim to reduce the lag of a moving average by using a simple calculation involving smoothing with a moving average of period √p the subtraction of a moving average of period p/2 multiplied by 2 with another moving average of period p , however it is possible to extend this calculation by introducing more terms thus reducing both the lag and overshoot of the classical HMA.
Comparison
The proposed filter add 1 more term to the classical hull moving average thus ending with : sma(sma(p/3) * 3 - sma(p/2) - sma(p),p) , this can be developed as long as every terms add to total unity, more terms will often require more smoothing, this is why i replace √p by p .
In blue a HMA and in red the proposed filter of both period 50. The third term added allow for more reactivity which sometimes allow for overshoots with lower amplitudes.
Conclusions
Adding more terms to certain filtering methods can correct certain behaviours as well as reducing lag or increasing smoothing.