Daily Reset CWEMA/CWTEMAThis Pine Script code defines an indicator called "Daily Reset CWEMA" that plots a custom weighted moving average on a chart. The indicator takes three inputs: a source series (usually the close price of a security), a length parameter that specifies the number of periods over which the moving average is calculated, and a style parameter that specifies the type of moving average to use (either a custom weighted exponential moving average (CWEMA) or a custom weighted triple exponential moving average (CWTEMA)).
The code first checks the current time frame and adjusts the length parameter accordingly. If the time frame is daily, weekly, or monthly, the length parameter is used as-is. Otherwise, the length is set to the number of bars since the last day change, unless this value is less than the length parameter, in which case the length is set to the number of bars since the last day change.
The ema(), tema(), wma(), cwema(), and cwtema() functions are then defined. The ema() function calculates the exponential moving average of the source data using the number of bars since the last day change as the length. The tema() function calculates the triple exponential moving average of the source data using the number of bars since the last day change as the length. The wma() function calculates the weighted moving average of the source data using the given weights and the number of bars since the last day change as the length. The cwema() and cwtema() functions are similar to the wma() function, but use the ema() and tema() functions to calculate the moving average values instead of the source data directly.
Finally, the ma() function is defined, which takes the source data, length, and style as inputs and calls the appropriate moving average function based on the style parameter. The result of this function is then plotted on the chart.
Suggested by: @hjsjshs
Cerca negli script per "Exponential"
WaveTrend 3D█ OVERVIEW
WaveTrend 3D (WT3D) is a novel implementation of the famous WaveTrend (WT) indicator and has been completely redesigned from the ground up to address some of the inherent shortcomings associated with the traditional WT algorithm.
█ BACKGROUND
The WaveTrend (WT) indicator has become a widely popular tool for traders in recent years. WT was first ported to PineScript in 2014 by the user @LazyBear, and since then, it has ascended to become one of the Top 5 most popular scripts on TradingView.
The WT algorithm appears to have origins in a lesser-known proprietary algorithm called Trading Channel Index (TCI), created by AIQ Systems in 1986 as an integral part of their commercial software suite, TradingExpert Pro. The software’s reference manual states that “TCI identifies changes in price direction” and is “an adaptation of Donald R. Lambert’s Commodity Channel Index (CCI)”, which was introduced to the world six years earlier in 1980. Interestingly, a vestige of this early beginning can still be seen in the source code of LazyBear’s script, where the final EMA calculation is stored in an intermediate variable called “tci” in the code.
█ IMPLEMENTATION DETAILS
WaveTrend 3D is an alternative implementation of WaveTrend that directly addresses some of the known shortcomings of the indicator, including its unbounded extremes, susceptibility to whipsaw, and lack of insight into other timeframes.
In the canonical WT approach, an exponential moving average (EMA) for a given lookback window is used to assess the variability between price and two other EMAs relative to a second lookback window. Since the difference between the average price and its associated EMA is essentially unbounded, an arbitrary scaling factor of 0.015 is typically applied as a crude form of rescaling but still fails to capture 20-30% of values between the range of -100 to 100. Additionally, the trigger signal for the final EMA (i.e., TCI) crossover-based oscillator is a four-bar simple moving average (SMA), which further contributes to the net lag accumulated by the consecutive EMA calculations in the previous steps.
The core idea behind WT3D is to replace the EMA-based crossover system with modern Digital Signal Processing techniques. By assuming that price action adheres approximately to a Gaussian distribution, it is possible to sidestep the scaling nightmare associated with unbounded price differentials of the original WaveTrend method by focusing instead on the alteration of the underlying Probability Distribution Function (PDF) of the input series. Furthermore, using a signal processing filter such as a Butterworth Filter, we can eliminate the need for consecutive exponential moving averages along with the associated lag they bring.
Ideally, it is convenient to have the resulting probability distribution oscillate between the values of -1 and 1, with the zero line serving as a median. With this objective in mind, it is possible to borrow a common technique from the field of Machine Learning that uses a sigmoid-like activation function to transform our data set of interest. One such function is the hyperbolic tangent function (tanh), which is often used as an activation function in the hidden layers of neural networks due to its unique property of ensuring the values stay between -1 and 1. By taking the first-order derivative of our input series and normalizing it using the quadratic mean, the tanh function performs a high-quality redistribution of the input signal into the desired range of -1 to 1. Finally, using a dual-pole filter such as the Butterworth Filter popularized by John Ehlers, excessive market noise can be filtered out, leaving behind a crisp moving average with minimal lag.
Furthermore, WT3D expands upon the original functionality of WT by providing:
First-class support for multi-timeframe (MTF) analysis
Kernel-based regression for trend reversal confirmation
Various options for signal smoothing and transformation
A unique mode for visualizing an input series as a symmetrical, three-dimensional waveform useful for pattern identification and cycle-related analysis
█ SETTINGS
This is a summary of the settings used in the script listed in roughly the order in which they appear. By default, all default colors are from Google's TensorFlow framework and are considered to be colorblind safe.
Source: The input series. Usually, it is the close or average price, but it can be any series.
Use Mirror: Whether to display a mirror image of the source series; for visualizing the series as a 3D waveform similar to a soundwave.
Use EMA: Whether to use an exponential moving average of the input series.
EMA Length: The length of the exponential moving average.
Use COG: Whether to use the center of gravity of the input series.
COG Length: The length of the center of gravity.
Speed to Emphasize: The target speed to emphasize.
Width: The width of the emphasized line.
Display Kernel Moving Average: Whether to display the kernel moving average of the signal. Like PCA, an unsupervised Machine Learning technique whereby neighboring vectors are projected onto the Principal Component.
Display Kernel Signal: Whether to display the kernel estimator for the emphasized line. Like the Kernel MA, it can show underlying shifts in bias within a more significant trend by the colors reflected on the ribbon itself.
Show Oscillator Lines: Whether to show the oscillator lines.
Offset: The offset of the emphasized oscillator plots.
Fast Length: The length scale factor for the fast oscillator.
Fast Smoothing: The smoothing scale factor for the fast oscillator.
Normal Length: The length scale factor for the normal oscillator.
Normal Smoothing: The smoothing scale factor for the normal frequency.
Slow Length: The length scale factor for the slow oscillator.
Slow Smoothing: The smoothing scale factor for the slow frequency.
Divergence Threshold: The number of bars for the divergence to be considered significant.
Trigger Wave Percent Size: How big the current wave should be relative to the previous wave.
Background Area Transparency Factor: Transparency factor for the background area.
Foreground Area Transparency Factor: Transparency factor for the foreground area.
Background Line Transparency Factor: Transparency factor for the background line.
Foreground Line Transparency Factor: Transparency factor for the foreground line.
Custom Transparency: Transparency of the custom colors.
Total Gradient Steps: The maximum amount of steps supported for a gradient calculation is 256.
Fast Bullish Color: The color of the fast bullish line.
Normal Bullish Color: The color of the normal bullish line.
Slow Bullish Color: The color of the slow bullish line.
Fast Bearish Color: The color of the fast bearish line.
Normal Bearish Color: The color of the normal bearish line.
Slow Bearish Color: The color of the slow bearish line.
Bullish Divergence Signals: The color of the bullish divergence signals.
Bearish Divergence Signals: The color of the bearish divergence signals.
█ ACKNOWLEDGEMENTS
@LazyBear - For authoring the original WaveTrend port on TradingView
@PineCoders - For the beautiful color gradient framework used in this indicator
@veryfid - For the inspiration of using mirrored signals for cycle analysis and using multiple lookback windows as proxies for other timeframes
Multi Trend Cross Strategy TemplateToday I am sharing with the community trend cross strategy template that incorporates any combination of over 20 built in indicators. Some of these indicators are in the Pine library, and some have been custom coded and contributed over time by the beloved Pine Coder community. Identifying a trend cross is a common trend following strategy and a common custom-code request from the community. Using this template, users can now select from over 400 different potential trend combinations and setup alerts without any custom coding required. This Multi-Trend cross template has a very inclusive library of trend calculations/indicators built-in, and will plot any of the 20+ indicators/trends that you can select in the settings.
How it works : Simple trend cross strategies go long when the fast trend crosses over the slow trend, and/or go short when the fast trend crosses under the slow trend. Options for either trend direction are built-in to this strategy template. The script is also coded in a way that allows you to enable/modify pyramid settings and scale into a position over time after a trend has crossed.
Use cases : These types of strategies can reduce the volatility of returns and can help avoid large market downswings. For instance, those running a longer term trend-cross strategy may have not realized half the down swing of the bear markets or crashes in 02', 08', 20', etc. However, in other years, they may have exited the market from time to time at unfavorable points that didn't end up being a down turn, or at times the market was ranging sideways. Some also use them to reduce volatility and then add leverage to attempt to beat buy/hold of the underlying asset within an acceptable drawdown threshold.
Special thanks to @Duyck, @everget, @KivancOzbilgic and @LazyBear for coding and contributing earlier versions of some of these custom indicators in Pine.
This script incorporates all of the following indicators. Each of them can be selected and modified from within the indicator settings:
ALMA - Arnaud Legoux Moving Average
DEMA - Double Exponential Moving Average
DSMA - Deviation Scaled Moving Average - Contributed by Everget
EMA - Exponential Moving Average
HMA - Hull Moving Average
JMA - Jurik Moving Average - Contributed by Everget
KAMA - Kaufman's Adaptive Moving Average - Contributed by Everget
LSMA - Linear Regression , Least Squares Moving Average
RMA - Relative Moving Average
SMA - Simple Moving Average
SMMA - Smoothed Moving Average
Price Source - Plotted based on source selection
TEMA - Triple Exponential Moving Average
TMA - Triangular Moving Average
VAMA - Volume Adjusted Moving Average - Contributed by Duyck
VIDYA - Variable Index Dynamic Average - Contributed by KivancOzbilgic
VMA - Variable Moving Average - Contributed by LazyBear
VWMA - Volume Weighted Moving Average
WMA - Weighted Moving Average
WWMA - Welles Wilder's Moving Average
ZLEMA - Zero Lag Exponential Moving Average - Contributed by KivancOzbilgic
Disclaimer : This is not financial advice. Open-source scripts I publish in the community are largely meant to spark ideas that can be used as building blocks for part of a more robust trade management strategy. If you would like to implement a version of any script, I would recommend making significant additions/modifications to the strategy & risk management functions. If you don’t know how to program in Pine, then hire a Pine-coder. We can help!
SUPER MACD📈 MACD Indicator Update - Version 2
🔹 New Features and Improvements:
1️⃣ New MACD Calculation Options:
Users can now choose from various Moving Averages to calculate the MACD. The default options are SMA (Simple Moving Average) and EMA (Exponential Moving Average), but there are 14 other versions available to experiment with:
SMA (Simple Moving Average)
EMA (Exponential Moving Average)
WMA (Weighted Moving Average)
RMA (Smoothed Moving Average)
HMA (Hull Moving Average)
JMA (Jurik Moving Average)
DEMA (Double Exponential Moving Average)
TEMA (Triple Exponential Moving Average)
LSMA (Least Squares Moving Average)
VWMA (Volume-Weighted Moving Average)
SMMA (Smoothed Moving Average)
KAMA (Kaufman’s Adaptive Moving Average)
ALMA (Arnaud Legoux Moving Average)
FRAMA (Fractal Adaptive Moving Average)
VIDYA (Variable Index Dynamic Average)
2️⃣ Improved Input Visibility and Organization:
We’ve reorganized the inputs so that the most commonly used ones are now placed at the beginning for quicker and more convenient configuration.
3️⃣ Bug Fixes and Code Improvements:
Minor bugs have been fixed, and the code has been optimized for better stability and performance. The code is now cleaner and fully functional in version 6.
4️⃣ Cometreon Public Library Integration:
To lighten the code and improve its modularity, we’ve integrated the Cometreon public library. This makes the code more efficient and reduces the need to duplicate common functions.
☄️ With this update, the MACD indicator becomes even more versatile and user-friendly, offering a wide range of calculation methods and an improved interface!
Simple Moving Averge StrategySimple Vs. Exponential Moving Averages
Formula for Exponential Moving Average (EMA)
\begin{aligned} &\begin{aligned} EMA_{\text{Today}}=&\left(\text{Value}_{\text{Today}}\ast\left(\frac{\text{Smoothing}}{1+\text{Days}}\right)\right)\\ &+EMA_{\text{Yesterday}}\ast\left(1-\left(\frac{\text{Smoothing}}{1+\text{Days}}\right)\right)\end{aligned}\\ &\textbf{where:}\\ &EMA=\text{Exponential moving average} \end{aligned}
EMA
Today
=
(Value
Today
∗(
1+Days
Smoothing
))
+EMA
Yesterday
∗(1−(
1+Days
Smoothing
))
where:
EMA=Exponential moving average
While there are many possible choices for the smoothing factor, the most common choice is:
Bollinger Bands + Keltner Channel Refurbished█ Goals
This is an indicator that brings together Bollinger Bands and Keltner's Channels in one thing.
Both are very similar, so I decided to make a merge of the best features I found out there.
Here there is the possibility of choosing one of these two as needed.
In addition, I added the following resources:
1. Pre-Defined intermediate bands with Fibonacci values;
2. Detachment of the bands in which the price was present;
3. Choice of Moving Average:
"Simple", "Exponential", "Regularized Exponential", "Hull", "Arnaud Legoux", "Weighted Moving Average", "Least Squares Moving Average (Linear Regression)", "Volume Weighted Moving Average", "Smoothed Moving Average", "Median", "VWAP");
4. Statistics: bars count within the bands.
█ Concepts
Keltner Channels vs. Bollinger Bands
"These two indicators are quite similar.
Keltner Channels use ATR to calculate the upper and lower bands while Bollinger Bands use standard deviation instead.
The interpretation of the indicators is similar, although since the calculations are different the two indicators may provide slightly different information or trade signals."
(Investopedia)
Bollinger Bands (BB)
"Bollinger Bands (BB) are a widely popular technical analysis instrument created by John Bollinger in the early 1980’s.
Bollinger Bands consist of a band of three lines which are plotted in relation to security prices.
The line in the middle is usually a Simple Moving Average (SMA) set to a period of 20 days (the type of trend line and period can be changed by the trader; however a 20 day moving average is by far the most popular).
The SMA then serves as a base for the Upper and Lower Bands which are used as a way to measure volatility by observing the relationship between the Bands and price.
Typically the Upper and Lower Bands are set to two standard deviations away from the SMA (The Middle Line); however the number of standard deviations can also be adjusted by the trader."
(TradingView)
Keltner Channels (KC)
"The Keltner Channels (KC) indicator is a banded indicator similar to Bollinger Bands and Moving Average Envelopes.
They consist of an Upper Envelope above a Middle Line as well as a Lower Envelope below the Middle Line.
The Middle Line is a moving average of price over a user-defined time period.
Either a simple moving average or an exponential moving average are typically used. The Upper and Lower Envelopes (user defined) are set a range away from the Middle Line.
This can be a multiple of the daily high/low range, or more commonly a multiple of the Average True Range."
(TradingView)
█ Examples
Bollinger Bands with 200 REMA:
Keltner Channel with 200 REMA:
Bollinger Bands with 55 ALMA:
Keltner Channel with 55 ALMA:
Bollinger Bands with 55 Least Squares Moving Average:
█ Thanks
- TradingView (BB, KC, ATR, MA's)
- everget (Regularized Exponential Moving Average)
- TimeFliesBuy ("Triple Bollinger Bands")
- Rashad ("Fibonacci Bollinger Bands")
- Dicargo_Beam ("Is the Bollinger Bands assumption wrong?")
Rma Stdev BandsStandard Deviation support resistances with percent boxes.
The Relative Moving Average isn’t a well-known moving average. But TradingView uses this average with two popular indicators: the Relative Strength Index (RSI) and Average True Range (ATR)
The weighting factors that the Relative Moving Average uses decrease exponentially. That way recent bars have the highest weight, while earlier bars get smaller weights the older they are.
TASC 2022.03 Relative Strength Volatility-Adjusted EMA█ OVERVIEW
TASC's March 2022 edition of Traders' Tips includes the "Relative Strength Moving Averages - Part 3: The Relative Strength Volatility-Adjusted Exponential Moving Average" article authored by Vitali Apirine. This is the code that implements the "RS VolatAdj EMA" from the article.
█ CONCEPTS
In a three-part article series, Vitaly Apirine examines ways to filter price movements and define turning points by applying the Relative Strength concept to exponential moving averages . The resulting indicator is more responsive and is intended to account for the relative strength of volatility .
█ CALCULATIONS
The calculation process uses the following steps:
Select an appropriate volatility index (in our case it is VIX ).
Calculate up day volatility (UV) smoothed by a 10-day EMA.
Calculate down day volatility (DV) smoothed by a 10-day EMA.
Take the absolute value of the difference between UV and DV and divide by the sum of UV and DV. This is the Volatility Strength we need.
Calculate a MLTP constant - the weighting multiplier for an exponential moving average.
Combine Volatility Strength and MLTP to create an exponential moving average on current price data.
Join TradingView!
Moving Avareges CrossIn this script I have combined 3 indicators Ichimoku, Heiken Ashi and Moving Average Exponential.
In this strategy, you should first look for the current market trend in low time frames.
Then look at the higher time frames to decide if you are in the right place to enter the trade.
For example, in 1 minute time frame, we first look at whether the two averages 21 and 233 had a cross or not.
If the moving average of 21 crosses the moving average of 233 from the bottom up and the end of the line moves the moving average of 233 upwards, it can be concluded
The market trend in time frame has changed for 1 minute and is up.
Then we refer to the time frames of 3, 5 and 15 minutes and check the same conditions there.
If 3 of the 4 time frames have the same conditions, we use Heiken Ashi to check the strength of the wave that is formed.
And also by looking at Ichimoku we will see where this Kumo cloud formed this wave.
If these conditions are met, a serious decision can be made to enter the position.
Higher time frames such as 30 minutes or 1 hour and 4 hours can also be used to find important resistance and support pivots.
In this way, the average of 233 and 21 and the formation of the current candlestick give us an acceptable range for fluctuation.
Weighted RiskONessRevision of tedtalksmacro's risk-on metric. Number go up means global markets are more risk-on; number go down means more risk-off. Weights now allow you to adjust the weights of various elements of the indicator. These are exponentials with the weight being the power / 10.
I.e. setting gold's weight to 10 takes it's value ^ (10 / 10). Setting it to 5 would square root it (^5/10 = ^1/2) while 20 would square it (^20/10 = ^2).
A green line means "riskONess" has gone up in the last day, red means down.
Resolution minimum for the indicator is 1D due to TradingView's limitations.
JC MAs: SMA, WMA, EMA, DEMA, TEMA, ALMA, Hull, Kaufman, FractalThe best collection of moving averages anywhere. I know, because I searched, couldn't find the right collection, and so wrote it myself!
-------------------------------------------------------------------------------
Notable features that either aren't found anywhere else...or at least in one place:
-------------------------------------------------------------------------------
• The "Triple Exponential Moving Average", is actually that mathematically - rather than "three seperate EMA graphs", as is commonly found on Trading View.
• Includes exotic moving averages: Hull Moving Average (HMA), Kaufman's Adaptive Moving Average (KAMA), and Fractal Apaptive Moving Average (FrAMA).
• Each moving average has its own user-definable averaging length in DAYS, rather than an abstract "length". This is respected even for different graphing resolutions, and different chart views - even for the more exotic MAs.
• Days can be fractional.
• A master time resolution ("Timeframe") is also user-definable. And unlike most other moving average charts, this won't affect the internal "length" variable (specified days are still respected), it only changes the graphing resolution. You can also specify to use chart's resolution - which, as you know, is not very useful for moving averages - yet so many moving average scripts on Trading View don't let you specify otherwise.
• If every CPU cycle counts, you can set "days" to 0 to prevent a particular unneeded moving average from being calculated at all.
• Includes a custom moving average that is unique, if you're looking for a tiny edge in TA to beat everyone else looking at the same stuff: a customizable weighted blend of SMA, TEMA, HMA, KAMA, and FrMA. (Note: The weights for these blends don't have to add up to 100, they will self-level no matter what they add up to.)
• By default, the averages are color-coded according to rainbow order of light spectrum frequency, relative to approximate responsiveness to current price: Red (SMA) is the laziest, violet (FrAMA) is the most hyper, and green is in the middle.
-------------------------------------------------------------------------------
Contains the following moving averages, in order of responsiveness:
-------------------------------------------------------------------------------
• Simple Moving Average (SMA)
• Arnaud Legoux Moving Average (ALMA)
• Exponential Moving Average (EMA)
• Weighted Moving Average (WMA)
• Blend average of SMA and TEMA (JCBMA)
• Double Exponential Moving Average (DEMA)
• Triple Exponential Moving Average (TEMA)
• Hull Moving Average (HMA)
• Kaufman's Adaptive Moving Average (KAMA)
• Fractal Apaptive Moving Average (FrAMA)
Note: There are a few extreme edge cases where the graphs won't render, which are obvious. (Because they won't render.) In which case, all you need to do is choose a more sane master resolution ("Timeframe") relative to the timeframe of the chart. This is more about the limits of Trading View, than specific script bugs.
-------------------------------------------------------------------------------
Includes reworked code snippets
-------------------------------------------------------------------------------
• "Kaufman Moving Average Adaptive (KAMA)" by HPotter
• "FRAMA (Ehlers true modified calculation)" by nemozny
• Which in turn was based on "Fractal Adaptive Moving Average (real one)" by Shizaru
Keltner Channel With User Selectable Moving AvgKeltner Channel with user options to calculate the moving average basis and envelopes from a variety of different moving averages.
The user selects their choice of moving average, and the envelopes automatically adjust. The user may select a MA that reacts faster to volatility or slower/smoother.
Added additional options to color the envelopes or basis based on the current trend and alternate candle colors for envelope touches. The script has a rainbow gradient by default based on RSI.
Options (generally from slower/smoother to faster/more responsive to volatility):
SMMA,
SMA,
Donchian, (Note: Selecting Donchian will just convert this indicator to a regular Donchian Channel)
Tillson T3,
EMA,
VWMA,
WMA,
EHMA,
ALMA,
LSMA,
HMA,
TEMA
Value Added:
Allows Keltner Channel to be calculated from a variety of moving averages other than EMA/SMA, including ones that are well liked by traders such as Tillson T3, ALMA, Hull MA, and TEMA.
Glossary:
The Hull Moving Average ( HMA ), developed by Alan Hull, is an extremely fast and smooth moving average . In fact, the HMA almost eliminates lag altogether and manages to improve smoothing at the same time.
The Exponential Hull Moving Average is similar to the standard Hull MA, but with superior smoothing. The standard Hull Moving Average is derived from the weighted moving average ( WMA ). As other moving average built from weighted moving averages it has a tendency to exaggerate price movement.
Weighted Moving Average: A Weighted Moving Average ( WMA ) is similar to the simple moving average ( SMA ), except the WMA adds significance to more recent data points.
Arnaud Legoux Moving Average: ALMA removes small price fluctuations and enhances the trend by applying a moving average twice, once from left to right, and once from right to left. At the end of this process the phase shift (price lag) commonly associated with moving averages is significantly reduced. Zero-phase digital filtering reduces noise in the signal. Conventional filtering reduces noise in the signal, but adds a delay.
Least Squares: Based on sum of least squares method to find a straight line that best fits data for the selected period. The end point of the line is plotted and the process is repeated on each succeeding period.
Triple EMA (TEMA) : The triple exponential moving average (TEMA) was designed to smooth price fluctuations, thereby making it easier to identify trends without the lag associated with traditional moving averages (MA). It does this by taking multiple exponential moving averages (EMA) of the original EMA and subtracting out some of the lag.
Running (SMoothed) Moving Average: A Modified Moving Average (MMA) (otherwise known as the Running Moving Average (RMA), or SMoothed Moving Average (SMMA)) is an indicator that shows the average value of a security's price over a period of time. It works very similar to the Exponential Moving Average, they are equivalent but for different periods (e.g., the MMA value for a 14-day period will be the same as EMA-value for a 27-days period).
Volume-Weighted Moving Average: The Volume-weighted Moving Average (VWMA) emphasizes volume by weighing prices based on the amount of trading activity in a given period of time. Users can set the length, the source and an offset. Prices with heavy trading activity get more weight than prices with light trading activity.
Tillson T3: The Tillson moving average a.k.a. the Tillson T3 indicator is one of the smoothest moving averages and is both composite and adaptive.
Faster Bands [AstrideUnicorn]The Faster Bands indicator develops the idea of the famous Bollinger Bands . The classic Bollinger Bands indicator consists of a simple moving average of the price (called middle-line) and two bands, plotted at a two standard deviation level above and below the middle-line called upper- and lower-lines, respectively. We moved from simple averaging to exponential one to make our Faster Bands less lagging and more responsive to recent price changes. Simple averaging is used in Bollinger Bands twice - explicitly when calculating the middle-line and implicitly in the standard deviation calculation. In the first case moving to exponential averaging was very straightforward. We calculated the middle-line as an exponential average of the price. In the second case, instead of the standard deviation, we used a less common statistical metric, called Mean Absolute Deviation (MAD). We modified this metric by changing the simple averaging used in it to the exponential one.
HOW TO USE
You can use this indicator in the same way as the Bollinger Bands . The advantage of Faster Bands is that it responds faster to price changes and thus can give the signals earlier. You can also get a more stable price channel by changing the Uniformity parameter and using a higher timeframe to calculate the bands.
SETTINGS
Indicator Timeframe - defines a timeframe to be used for the indicator calculation. To make Faster Bands even more responsive, try to select a value lower than the timeframe of the opened chart.
Length - defines averaging window length for the indicator. Such a parameter is often called an indicator period.
Multiplier - defines upper- and lower-line levels. It is the number of deviations by which upper- and lower-band are away from the middle-line.
Uniformity - defines how uniform the bands' width will be. Higher values correspond to a uniformer width.
Source - defines a price time series to be used for the indicator calculation.
Multi-X by HamidBoxHello to All, introducing Multi Types Crossover strategy,
simply the best way of trading with Crossover and Crossunder Strategy, How it Works???
I added 5 types of Moving Averages,
1: Simple Moving Average ( SMA )
2: Exponential Moving Average ( EMA )
3: Weighted Moving Average ( WMA )
4: Volume Weighted Moving Average ( VWMA )
5: Relative Moving Average (RMA)
With this indicator, you can do scalping, You can trade not only with similar types of Moving Average indicators but also with different types of Moving Average indicators.
what is mean? like: Normal Condition is:
( Simple Moving Average ) Crossover to ( Simple Moving Average ), SMA x SMA
( Exponential Moving Average ) Crossover to ( Exponential Moving Average ), EMA x EMA
But we can Crossover with:
( Exponential Moving Average ) Crossover to ( Simple Moving Average ), EMA x SMA
( Simple Moving Average ) Crossover to ( Weighted Moving Average ), SMA x WMA
( Weighted Moving Average ) Crossover to ( Weighted Moving Average ), WMA x WMA
( Simple Moving Average ) Crossover to (Relative Moving Average), WMA x RMA
and also I added Moving Average ZONE in this tool, What does it work???
The zone will tell us what type of direction the market has, if the market is above the zone, it's mean we have a Bullish Trend, and if the market is below the zone, it means the market has a Bearish Trend,
so if you want to play on the safe side, never trade when the market is in Bearish Trend, and if you want to play on aggressive mood, you can skip Moving Average Zone section.
MACD ReLoaded STRATEGYSTRATEGY version of MACD ReLOADED Indicator:
A different approach to Gerald Appel's classical Moving Average Convergence Divergence.
Appel originaly set MACD with exponential moving averages.
In this version users can apply 11 different types of moving averages which they can benefit from their smoothness and vice versa sharpnesses...
Built in Moving Average type defaultly set as VAR but users can choose from 11 different Moving Average types like:
SMA : Simple Moving Average
EMA : Exponential Moving Average
WMA : Weighted Moving Average
DEMA : Double Exponential Moving Average
TMA : Triangular Moving Average
VAR : Variable Index Dynamic Moving Average a.k.a. VIDYA
WWMA : Welles Wilder's Moving Average
ZLEMA : Zero Lag Exponential Moving Average
TSF : True Strength Force
HULL : Hull Moving Average
TILL : Tillson T3 Moving Average
In shorter time frames backtest results shows us TILL, WWMA, VIDYA (VAR) could be used to overcome whipsaws because they have less numbers of signals.
In longer time frames like daily charts WMA, Volume Weighted MACD V2, and MACDAS and SMA are more accurate according to backtest results.
My interpretation of Buff Dormeier's Volume Weighted MACD V2:
Thomas Aspray's MACD: (MACDAS)
MACD ReLoadedA different approach to Gerald Appel's classical Moving Average Convergence Divergence.
Appel originaly set MACD with exponential moving averages.
In this version users can apply 11 different types of moving averages which they can benefit from their smoothness and vice versa sharpnesses...
Built in Moving Average type defaultly set as VAR but users can choose from 11 different Moving Average types like:
SMA : Simple Moving Average
EMA : Exponential Moving Average
WMA : Weighted Moving Average
DEMA : Double Exponential Moving Average
TMA : Triangular Moving Average
VAR : Variable Index Dynamic Moving Average a.k.a. VIDYA
WWMA : Welles Wilder's Moving Average
ZLEMA : Zero Lag Exponential Moving Average
TSF : True Strength Force
HULL : Hull Moving Average
TILL : Tillson T3 Moving Average
In shorter time frames backtest results shows us TILL, WWMA, VIDYA (VAR) could be used to overcome whipsaws because they have less numbers of signals.
In longer time frames like daily charts WMA, Volume Weighted MACD V2, and MACDAS and SMA are more accurate according to backtest results.
My interpretation of Buff Dormeier's Volume Weighted MACD V2:
Thomas Aspray's MACD: (MACDAS)
Grid Bot AutoThis script is an auto-adjusting grid bot simulator. This is an improved version of the original Grid Bot Simulator. The grid bot is best used for ranging/choppy markets. Prices are divided into grids, or trade zones, that will trigger signals each time a new zone is entered. During ranging markets, each transaction is followed by a “take profit.” As the market starts to trend, transactions are stacked (compare to DCA ), until the market consolidates. No signals are triggered above the Upper Limit or Below the Lower Limit. Unlike the previous version, the upper and lower limits are calculated automatically. Grid levels are determined by four factors: Smoothing, Laziness, Elasticity, and Grid Intervals.
Smoothing:
A moving average (or linear regression) is applied to each close price as a basis. Options for smoothing are Linear Regression, Simple Moving Average, Exponential Moving Average, Volume-Weighted Moving Average, Triple-Exponential Moving Average.
Laziness:
Laziness is the percentage change required to reach the next level. If laziness is 1.5, the price must move up or down by 1.5% before the grid will change. This concept is based on Alex Grover’s Efficient Trend Step. This allows the grids to be based on even price levels, as opposed to jagged moving averages.
Elasticity:
Elasticity is the degree of “stickiness” to the current price trend. If the smoothing line remains above (or below) the current grid center without reverting but still not enough to reach the next grid level, the grid line will start to curve toward the next grid level. Elasticity is added to (or subtracted from) the gridline by a factor of minimum system ticks for the current pair. Elasticity of zero will keep the gridlines horizontal. If elasticity is too high, the grid will distort.
Grid Intervals:
Grid intervals are the percentage of space between each grid.
Laziness = 4%, Elasticity = 0. Price must move at least 4% before reaching the next level. With zero elasticity, gridlines are straight.
Laziness = 5%, Elasticity = 100. For each bar at a new grid level, the grid will start “curve” toward the next price level (up if price is greater than the middle grid, down if less than middle grid). Elasticity is calculated by the user-inputted “Elasticity” multiplied by the minimum tick for the current pair (ELSTX = syminfo.mintick * iELSTX)
Try experimenting with different combinations of the Smoothing Length, Smoothing Type, Laziness, Elasticity, and Grid Intervals to find the optimum settings for each chart. Lower-priced pairs (e.g. XRP/ADA/DODGE) will require lower Elasticity. Also note that different exchanges may have different minimum tick values. For example, minimum tick for BITMEX:XBTUSD and BYBIT:BTCUSD is .5, but BINANCE:BTCUSDT and COINBASE:BTCUSD is .01.
s3.tradingview.com
DODGEUSDT, 5min. Laziness: 4%, Elasticity 2.5
Number of Grids: 2. Laziness: 3.75%. Elasticity: 150. Grid Interval 2%.
Settings Overview
Smoothing Length : Smoothing period
Smoothing Type : Linear Regression, Simple Moving Average, Exponential Moving Average, Volume-Weighted Moving Average, Triple-Exponential Moving Average
Laziness : Percentage required for price to move until it reaches the next level. If price does not reach the next level (up or down), the grid will remain the same as previous grid (because it’s lazy).
Elasticity : Amount of curvature toward the next grid, based on the current price trend. As elasticity increases, gridlines will curve up or down by a factor of the number of ticks since the last grid change.
Grid Interval : Percent between grid levels.
Number of Grids : Number of grids to show.
Cooldown : Number of bars to wait to prevent consecutive signals.
Grid Line Transparency : Lower transparencies brighten the gridlines; higher transparencies dim the gridlines. To hide the gridlines completely, enter 100.
Fill Transparency: Lower transparencies brighten the fill box; higher transparencies dim the fill box. To hide the fill box completely, enter 100.
Signal Size : Make signal triangles large or small.
Reset Buy/Sell Index When Grids Change : When a new grid is formed, resetting the index may prevent false signals (experimental)
Use Highs/Lows for Signals : If enabled, signals are triggered as soon as the price touches the next zone. If disabled, signals are triggered after bar closes. Enable this for “Once Per Bar alerts. Disable for “Once Per Bar Close” alerts.
Show Min Tick : If checked, syminfo.mintick is displayed in upper-righthand corner. Useful for estimating Laziness.
Reverse Fill Colors : Default fill for fill boxes is green after buy and red after sell. Check this box to reverse.
Note: The Grid Bot Simulator scripts are experimental and works in progress. Please feel free to comment or contact me if you have suggestions/complaints.
Pull Back Strategy SignalPull back strategy based on moving averages. The scripts will show buy or sell signal based on moving averages - exponential.
TrendyIndicator without parameters. The indicator value is the sum of two counters. The first counter adds the ratio (Close/Open) to its previous value if Close > Open. The second counter subtracts from its previous value (Open/Close) if Close < Open. Counters start with zeros. For a larger variance, the ratio is taken exponentially. In general, this is the difference between the number of rising and falling candlesticks.
Momentum Strategy (BTC/USDT; 30m) - STOCH RSI (with source code)Here's a strategy for low time frames (30min suggested) for BTC , based on momentum Analysis using Stochastic RSI
By default the strategy will use the 50% of the specified capital for each trade; if "Gamble Sizing" is enabled, it will add the specified amount of capital (25% by default, until reaching the 100% limit or lower) for the next trade after having detected a loss in the previous trade; if the next trade is successful, the size for the next trade comes back to 50%
• Trend Filter LONG: If the fast exponential moving average is UNDER the slow exponential moving average , it won't open LONG positions
• Trend Filter SHORT: If the fast exponential moving average is ABOVE the slow exponential moving average , it won't open SHORT positions
• Bars delay: the strategy will wait the specified amount of bars before closing the current position; the counter is triggered as soon as the closing trade condition is verified
BY MAKING USE OF THIS STRATEGY, YOU ACKNOWLEDGE AND AGREE THAT: (1) YOU ARE AWARE OF THE RISKS ASSOCIATED WITH TRANSACTIONS OF DIGITAL CURRENCIES AND THEIR DERIVATIVES; (2) YOU SHALL ASSUME ALL RISKS RELATED TO THE USE OF THIS STRATEGY AND TRANSACTIONS OF DIGITAL CURRENCIES AND THEIR DERIVATIVES; AND (3) I SHALL NOT BE LIABLE FOR ANY SUCH RISKS OR ADVERSE OUTCOMES.
SOURCE CODE BELOW
Moving Average Compilation by CryptonerdsThis script contains all commonly used types of moving averages in a single script. To our surprise, it turned out that there was no script available yet that contains multiple types of moving averages.
The following types of moving averages are included:
Simple Moving Averages (SMA)
Exponential Moving Averages (EMA)
Double Exponential Moving Averages (DEMA)
Display Triple Exponential Moving Averages (TEMA)
Display Weighted Moving Averages (WMA)
Display Hull Moving Averages (HMA)
Wilder's exponential moving averages (RMA)
Volume-Weighted Moving Averages (VWMA)
The user can configure what type of moving averages are displayed, including the length and up to five multiple moving averages per type. If you have any other request related to adding moving averages, please leave a comment in the section below.
If you've learned something new and found value, leave us a message to show your support!
[blackcat] L2 Ehlers Cyber Cycle Trading StrategyLevel: 2
Background
John F. Ehlers introuced Cyber Cycle Trading Strategy in his "Cybernetic Analysis for Stocks and Futures" chapter 4 on 2004.
Function
With cyber cycle alone, the Trigger lags the Cycle by one bar, so that their crossing introduces at least another bar of lag. Finally, Dr Ehler concluded that we can’t execute the trade until the bar after the signal is observed. In total, that means our trade execution will be at least four bars late. If we are working with an eight-bar cycle, that means the signal will be exactly wrong. We could do better to buy when the signal says sell, and vice versa.
The difficulties arising from the lag suggest a way to build an automatic trading strategy. Suppose we choose to use the trading signal in the opposite direction of the signal. That will work if we can introduce lag so the correct signal will be given in the more general case, not just the case of an eight-bar cycle. Therefore, the Cyber Cycle trading strategy was introduced by Dr. Ehlers. It starts exactly the same as the Cyber Cycle Indicator. Dr. Ehlers then introduce the variable Signal, which is an exponential moving average of the Cycle variable. The exponential moving average generates the desired lag in the trading signal. The relationship between the alpha of an exponential moving average and lag is alpha2 = 1/ (Lag+1). This relationship is used to create the variable alpha2 in the code and the variable Signal using the exponential moving average. The trading signals using the variable Signal crossing itself delayed by one bar are exactly the opposite of the trading signals I would have used if there were no delay. But, since the variable Signal is delayed such that the net delay is less than half a cycle, the trading signals are correct to catch the next cyclic reversal. The idea of betting against the correct direction by waiting for the next cycle reversal can be pretty scary because that reversal may “never” happen because the market takes off in a trend. For this reason Dr. Ehlers included two lines of code that are escape mechanisms if we were wrong in our entry signal. These last two Signal lines of code reverse the trading position if we have been in the trade for more than eight bars and the trade has an open position loss.
Key Signal
Cycle ---> Cyber Cycle fast line
Cycle (2) ---> Cyber Cycle slow line
Signal ---> Trading signal fast line
Signal(1) ---> Trading signal slow line
Pros and Cons
100% John F. Ehlers definition translation of original work, even variable names are the same. This help readers who would like to use pine to read his book. If you had read his works, then you will be quite familiar with my code style.
Remarks
The 25th script for Blackcat1402 John F. Ehlers Week publication.
Readme
In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.
The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.
Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.
Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.
Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.
Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.
Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.
@theCF StochasticStochastic with Bullish , Bearish and Neutral Ranges as well as a modification to check the %D line with a Exponential Moving Average .
Since Exponential Moving Averages put more weight onto recent values, they react differently than the Standard Simple Moving Average .
On Stochastic I have observed, that there can often occur false crossover signals. While this also happens with an Exponential Moving Average as %D indeed, the amount is more limited, therefore giving less false signals.
I prefer to display both at the same time, for more information.
The ranges act as general support and resistance zones on Stochastic . Whenever Stochastic oscillates within one of the ranges, one can interpret it as either bullish , neutral or bearish for price.
A Stochastic that oscillates mainly within the bullish range can be interpreted rather bullish , the opposite goes for the bearish range which is interpreted bearish .
I have coded these ranges into the Standard Stochastic Script, as well as the option to display the %D line as a Exponential Moving Average .
For more information about the indicator, feel free to leave a comment and ask.






















