Parametric Corrective Linear Moving AveragesImpulse responses can fully describe their associated systems, for example a linearly weighted moving average (WMA) has a linearly decaying impulse response, therefore we can deduce that lag is reduced since recent values are the ones with the most weights, the Blackman moving average (or Blackman filter) has a bell shaped impulse response, that is mid term values are the ones with the most weights, we can deduce that such moving average is pretty smooth, the least squares moving average has negative weights, we can therefore deduce that it aim to heavily reduce lag, and so on. We could even estimate the lag of a moving average by looking at its impulse response (calculating the lag of a moving average is the aim of my next article with Pinescripters) .
Today a new moving average is presented, such moving average use a parametric rectified linear unit function as weighting function, we will see that such moving average can be used as a low lag moving average as well as a signal moving average, thus creating a moving average crossover system. Finally we will estimate the LSMA using the proposed moving average.
Correctivity And The Parametric Rectified Linear Unit Function
Lot of terms are used, each representing one thing, lets start with the easiest one,"corrective". In some of my posts i may have used the term "underweighting", which refer to the process of attributing negative weights to the input of a moving average, a corrective moving average is simply a moving average underweighting oldest values of the input, simply put most of the low lag moving averages you'll find are corrective. This term was used by Aistis Raudys in its paper "Optimal Negative Weight Moving Average for Stock Price Series Smoothing" and i felt like it was a more elegant term to use instead of "low-lag".
Now we will describe the parametric rectified linear unit function (PReLU), this function is the one used as weighting function and is not that complex. This function has two inputs, alpha , and x , in short if x is greater than 0, x remain unchanged, however if x is lower than 0, then the function output is alpha × x , if alpha is equal to 1 then the function is equivalent to an identity function, if alpha is equal to 0 then the function is equivalent to a rectified unit function.
PReLU is mostly used in neural network design as an activation function, i wont explain to you how neural networks works but remember that neural networks aim to mimic the neural networks in the brain, and the activation function mimic the process of neuron firing. Its a super interesting topic because activation functions regroup many functions that can be used for technical indicators, one example being the inverse fisher RSI who make use of the hyperbolic tangent function.
Finally the term parametric used here refer to the ability of the user to change the aspect of the weighting function thanks to certain settings, thinking about it, it isn't a common things for moving averages indicators to let the user modify the characteristics of the weighting function, an exception being the Arnaud Legoux moving average (ALMA) which weighting function is a gaussian function, the user can control the peak and width of the function.
The Indicator
The indicator has two moving averages displayed on the chart, a trigger moving average (in blue) and a signal moving average (in red), their crosses can generate signals. The length parameter control the filter length, with higher values of length filtering longer term price fluctuations.
The percentage of negative weights parameter aim to determine the percentage of negative weights in the weighting function, note that the signal moving average won't use the same amount and will use instead : 100 - Percentage , this allow to reverse the weighting function thus creating a more lagging output for signal. Note that this parameter is caped at 50, this is because values higher than 50 would make the trigger moving average become the signal moving average, in short it inverse the role of the moving averages, that is a percentage of 25 would be the same than 75.
In red the moving average using 25% of negative weights, in blue the same moving average using 14% percent of negative weights. In theory, more negative weights = less lag = more overshoots.
Here the trigger MA in blue has 0% of negative weights, the trigger MA in green has however 35% of negative weights, the difference in lag can be clearly seen. In the case where there is 0% of negative weights the trigger become a simple WMA while the signal one become a moving average with linearly increasing weights.
The corrective factor is the same as alpha in PReLU, and determine the steepness of the negative weights line, this parameter is constrained in a range of (0,1), lower values will create a less steep negative weights line, this parameter is extremely useful when we want to reduce overshoots, an example :
here the corrective factor is equal to 1 (so the weighting function is an identity function) and we use 45% of negative weights, this create lot of overshoots, however a corrective factor of 0.5 reduce them drastically :
Center Of Linearity
The impulse response of the signal moving average is inverse to the impulse response of the trigger moving average, if we where to show them together we would see that they would crosses at a point, denoted center of linearity, therefore the crosses of each moving averages correspond to the cross of the center of linearity oscillator and 0 of same period.
This is also true with the center of gravity oscillator, linear covariance oscillator and linear correlation oscillator. Of course the center of linearity oscillator is way more efficient than the proposed indicator, and if a moving average crossover system is required, then the wma/sma pair is equivalent and way more efficient, who would know that i would propose something with more efficient alternatives ? xD
Estimating A Least Squares Moving Average
I guess...yeah...but its not my fault you know !!! Its a linear weighting function ! What can i do about it ?
The least squares moving average is corrective, its weighting function is linearly decreasing and posses negative weights with an amount of negative weights inferior to 50%, now we only need to find the exact percentage amount of negative weights. How to do it ? Well its not complicated if we recall the estimation with the WMA/SMA combination.
So, an LSMA of period p is equal to : 3WMA(p) - 2SMA(p) , each coefficient of the combination can give us this percentage, that is 2/3*100 = 33.333 , so there are 33.33% percent of negative weights in the weighting function of the least squares moving average.
In blue the trigger moving average with percentage of negative values et to 33.33, and in green the lsma of both period 50.
Conclusion
Altho inefficient, the proposed moving averages remain extremely interesting. They make use of the PReLU function as weighting function and allow the user to have a more accurate control over the characteristics of the moving averages output such as lag and overshoot amount, such parameters could even be made adaptive.
We have also seen how to estimate the least squares moving average, we have seen that the lsma posses 33.333...% of negative weights in its weighting function, another useful information.
The lsma is always behind me, not letting me focus on cryptobot super profit indicators using massive amount of labels, its like each time i make an indicator, the lsma come back, like a jealous creature, she want the center of attention, but you know well that the proposed indicator is inefficient ! Inefficient elegance (effect of the meds) .
Thanks for reading !
Cross
unRekt - KISS CrossKISS Cross is a moving average crossover and is part of the ''keeping it simple' series that have a similar color scheme. With this indicator you can select the moving average you'd like to use either SMA, EMA, WMA, or VWMA. Each moving average can be turned on or off and input changed. The first two MA's will change color on the cross from green to red depending on cross up or a cross down.
SMA Cross Entry & Exit StrategyThis is a TradingView Strategy Script meaning you can't execute real trades using your exchange API connected to your TradingView account, it is designed for backtesting only
This is a basic backtesting script for charting the bullish and bearish cross of two user defined simple moving averages, select the cog next to the name of the script ON the price chart in the left hand corner. The script will print to the screen either "Long Entry" or "Short Entry" depending on the direction of the cross. The script using TradingView strategies will subsequently close the opposite of the position that is executed when the bullish or bearish cross occurs. Simply put, if you are short and a bullish cross occurs, your short trade will close and be logged in strategies and the long will fire. You can pyramid the long and short positions to continue entering as long as the trend doesn't flip. You will find this in the script settings. Since this script is for backtesting you can manually set the "backtesting range" for TradingView Strategies and firing the "Long Entry" and "Short Entry". This as well, is in the settings.
Notice: When the SMA cross occurs, you have to wait till the next candle before TradingView Strategy will print the "Long Entry" or "Short Entry" to the screen
TradingView - How To Use Strategies: www.tradingview.com
BUY and SELL - Backtest single EMA cross By che_traderHi, I hope you're well!
At the request of my friend @jansrbtc I'm going to publish a simple emas crossing strategy.
We will do long or short at the cross of the two ema.
Good strategy for when an asset is in trend.
Warm: In choppy periods this indicator can be very affected by large drawdowns.
Enjoy!
MAC-Z & MACD Leader signal [ChuckBanger]This is a combination of my MACD Leader script and MAC-Z with option to add Laguerre filter. The advantage of the MAC-Z over MACD is that it is a more accurate and “assumption-free” indicator that can more accurately describe how a market actually perform. But you can use this as a regular MACD indicator.
Crossovers signals
The MAC-Z line and signal line can be utilized in the same way as a stochastic oscillator, with the crossover between the two lines providing buy and sell signals. As with most crossover strategies, a buy signal comes when the shorter-term, more reactive line – in this case the MAC-Z line (blue line) crosses above the slower signal line (orange line). For example, when the MAC-Z line crosses below the signal line it provides a bearish sell signal.
Zero line crossing
The zero cross strategy is based on either of the lines crossing the zero line. If the MAC-Z crosses the zero line from below, it is a signal for a possible new uptrend, while the MAC-Z crossing from above is a signal that a new downtrend may be starting. This is special powerful if the lines has a fast up or down movement but the price action doesn't reflect that movement.
Divergences
Bearish and bullish divergences is my favorite signals. When price action and oscillators follow the same path it is called Convergences, when they don’t, it’s called a Divergence. Don't confuse the two because they have not the same meaning. But be aware that for example during consolidation or low liquidity, some small divergences between price and indicators might form, but that doesn't mean we should consider them as real divergences.
There is many different types of divergences. It is easier to show a picture then explaining it so I recommend you to check out the link below. Especially the top image. It sums this up very well
medium.com
MACD Leader
The MACD leader is only showing the crossing of MACD as a vertical line
Green vertical line = MACD Leader Bullish Cross
Red vertical line = MACD Leader Bearish Cross
MACD Leader:
MAC-Z:
More Information
cssanalytics.wordpress.com
en.wikipedia.org
drive.google.com
SMA 21/30/50/100/200 with Cross by DragonByteCombines several key simple moving averages into one slot without going overboard. Includes cross indicators between the 50/100 and the 50/200 day SMA's.
SSL Channel w/alertSSL Channel with cross alert when channels cross up or down. Built on ErwinBeckers SSL Channel script.
Triple eMA cross trackerTracks 3 emas, colorizing background:
Green - 1 on top of 2 on top of 3;
Blue - 1 on top of 3, but 2 below 3;
Red - 1 below 2 below 3;
Orange - 1 below 3, 2 above 3.
Nutshell: allows a quick and always apparent check for strategies like the old 8e, 13e, 21e strategy you see online, customizeable by any emas of your choosing.
Fast-Slow MA Cross on custom timeframe (with alerts)A simple script for tracking your moving average crossing with an option for a fixed time frame and a 3 additional MAs for reference.
ADX Di+ Di- [Gu5]Fill indicates Strong Trend
Cross indicates End of Trend
--
El relleno indica una fuerte tendencia cuando el Di supera "Level Trend"
El cruce de Di+ con Di- indica el fin de la tendencia
Cuando el valor del ADX es menor a "Level Range", estamos en Rango
EMA 8/20This is a simple cross over moving avareges
Bu iki basit hareketli ortalamın kesişimini gösteren bir indikatördür
EMAs Alert-This script allows you to show the crossings of the most important emas such as 10, 20, 50 and 200
-You can modify the values of each ema you like
-Bring alerts of the crosses of each ema, which will allow you to activate this function to only the assets you want to track
Golden Cross by -Westy-Quick Guide
- Yellow cross and green MA on top = Potential uptrend
- Yellow cross and red MA on top = Potential downtrend
A simple golden cross indicator of the green 50 and red 200 SMA with a yellow cross for ease of visibility and backtesting.
Generally, longer time frames more powerful signals but are less frequent. I typically use it on the 4 hour, daily and weekly.
Ichimoku Cross Indicator [Mehdihz]This script shows tenken & kijen lines position to better detection of crosses.
Triple Moving Average HeatmapHi everyone
I didn't publish on Friday because I was working on an Expert Advisor in MT4. The day I don't publish, some scripts spamming guys published many (not useful) scripts the same to kick me out of the TOP #1 ranking.
So what I'm going to do about it? crying or sharing more quality scripts than before? :)
I guess you know the answer :) I'm gonna share a few quality scripts that I have in my library. I noticed that you guys tend to like more the scripts useful for your trading actually making you money rather than a copy-paste (of another copy-paste)
Alright, enough for the trolling now let's introduce the Three MA heatmap which is an upgrade of that script : MA-heatmap-Double-cross-edition/
The challenge was to keep the heatmap not rolling and to make it match with the MA cross. I did it using this
```
since_ma_buy = barssince(macrossover)
since_ma_sell = barssince(macrossunder)
heatmap_color() =>
since_ma_buy < since_ma_sell ? color.new(color.green, 20) : since_ma_buy > since_ma_sell ? color.new(color.red, 20) : na
```
This is a technique that I found after drinking three glasses of red wine (#french) to keep the heatmap stable and not rolling.
To get what I'm saying I invite you to replace the piece of code above by what everyone would normally do
```
heatmap_color() =>
macrossunder() ? color.new(color.green, 20) : macrossover() ? color.new(color.red, 20) : na
```
Ah and I'm not done sharing for the day, a few scripts are coming also after that one and tonight !!!!! I want to live in a world where you guys can enjoy quality scripts (mostly) :)
PS
____________________________________________________________
Feel free to hit the thumbs up as it shows me that I'm not doing this for nothing and will motivate to deliver more quality content in the future.
- I'm an officially approved PineEditor/LUA/MT4 approved mentor on codementor. You can request a coaching with me if you want and I'll teach you how to build kick-ass indicators and strategies
Jump on a 1 to 1 coaching with me
- You can also hire for a custom dev of your indicator/strategy/bot/chrome extension/python
Bollinger bands/Lagging span crossHello my dear ambitious traders
I'm working hard this week to publish some great indicators this week and open sourced. Hope you'll enjoy, learn and use them.
This will be my greatest reward but comments showing appreciation are also very welcomed (actually likes too) :)
For today, I'll share a simple indicator but it's coming along with some insightful knowledge ^^
Anyway, I'm not here to ask you to this but to share a very cool indicator I made a few months ago and wanted to share for FREE with the community today
The indicator is related to this educational post : What-a-Bollinger-Bands-Lagging-span-cross-can-tell-us/
This trading technique was invented by Robbytrade, a famous french trader twitter.com
I wanted to have those visual signals on the chart so I coded it.
The advantage of being a developer is that you can litteraly code what you miss and get your life better in the process. The one that will find a way to code a new form of money will be rich... wait.... that guy is called Satoshi Nakamoto...
That's all for me today my friends
PS
Trying to update the Trade Manager shared yesterday with some cool features. More to come in the upcoming days
Enjoy
Dave
MA heatmap (Double cross edition)Hello my friends
Sorry yesterday I couldn't post an indicator because I was travelling. So here's the today indicator inspired from that one Moving-Average-Heatmap-Visualization/
This will gives an interesting representation of a Double Moving Average cross
That's all for me
Let's resume the free indicators publishing next Monday with the MA heatmap (Triple cross edition) and then the 4 cross ... until the 100 cross edition .... "wait are you joking sir ?"... Totally YES :)
But the Triple cross edition will be released as it's interesting from a Pine script perspective
Enjoy your weekend and stay safe
Dave
SVAMA - A Non Parametric Adaptive Moving Average Based On VolumeIntroduction
Technical indicators often have parameters settings that the user must enter, those are inconvenient when the user must design a strategy because such settings must be optimized, it must also been noted that the optimal settings at time t could change at time t+n , this is why non parametric indicators are more efficient. Today i propose a moving average adapting to the market volume without using parameters affecting the smoothing.
The Indicator
The volume is rescaled in a range of (1,0) by using max or min normalization. Exponential averaging is used to provide the moving average.
When using max normalization the moving average react faster when the volume is closer to its all time high, when using min normalization the moving average react faster when the volume is closer to its all time low. You can select the method (max or min) from the "Method" parameter.
Volume tend to be higher and more periodic with higher time-frames, this is why lower time-frames might return smoother results when using the Max method. It is recommended to use the Max method when we want a faster moving average while the Min method is more suited to get a slower moving average.
Both methods can provide an interesting MA-Cross system when used on higher time frames.
Conclusion
There should be more non parametric indicators, this would allow for faster and easier optimization processes when creating a strategy, in theory any indicator using a moving average or highest/lowest could be made non parametric by using a running mean or running max/min but the indicator might loose important information.
This is one of my main focus right now since such indicators could also allow for improvements when used with artificial intelligence. I hope you find an use to it, don't hesitate to send me your suggestions.
Thanks for reading !
Three MM CrossHello traders
Some friends asked me to do it so... sharing it for everyone instead
This indicator detects when the first moving average is above the two others. It's a very powerful tool for trend traders that use multiple moving averages to detect a strong trend
Enjoy
Dave






















