Shapeshifting Moving Average - Switching From Low-Lag To SmoothThe term "shapeshifting" is more appropriate when used with something with a shape that isn't supposed to change, this is not the case of a moving average whose shape can be altered by the length setting or even by an external factor in the case of adaptive moving averages, but i'll stick with it since it describe the purpose of the proposed moving average pretty well.
In the case of moving averages based on convolution, their properties are fully described by the moving average kernel ( set of weights ), smooth moving averages tend to have a symmetrical bell shaped kernel, while low lag moving averages have negative weights. One of the few moving averages that would let the user alter the shape of its kernel is the Arnaud Legoux moving average, which convolve the input signal with a parametric gaussian function in which the center and width can be changed by the user, however this moving average is not a low-lagging one, as the weights don't include negative values.
Other moving averages where the user can change the kernel from user settings where already presented, i posted a lot of them, but they only focused on letting the user decrease or increase the lag of the moving average, and didn't included specific parameters controlling its smoothness. This is why the shapeshifting moving average is proposed, this parametric moving average will let the user switch from a smooth moving average to a low-lagging one while controlling the amount of lag of the moving average.
Settings/Kernel Interaction
Note that it could be possible to design a specific kernel function in order to provide a more efficient approach to today goal, but the original indicator was a simple low-lag moving average based on a modification of the second derivative of the arc tangent function and because i judged the indicator a bit boring i decided to include this parametric particularity.
As said the moving average "kernel", who refer to the set of weights used by the moving average, is based on a modification of the second derivative of the arc tangent function, the arc tangent function has a "S" shaped curve, "S" shaped functions are called sigmoid functions, the first derivative of a sigmoid function is bell shaped, which is extremely nice in order to design smooth moving averages, the second derivative of a sigmoid function produce a "sinusoid" like shape ( i don't have english words to describe such shape, let me know if you have an idea ) and is great to design bandpass filters.
We modify this 2nd derivative in order to have a decreasing function with negative values near the end, and we end up with:
The function is parametric, and the user can change it ( thus changing the properties of the moving average ) by using the settings, for example an higher power value would reduce the lag of the moving average while increasing overshoots. When power < 3 the moving average can act as a slow moving average in a moving average crossover system, as weights would not include negative values.
Here power = 0 and length = 50. The shapeshifting moving average can approximate a simple moving average with very low power values, as this would make the kernel approximate a rectangular function, however this is only a curiosity and not something you should do.
As A Smooth Moving Average
“So smooth, and so tranquil. It doesn't get any quieter than this”
A smooth moving average kernel should be : symmetrical, not to width and not to sharp, bell shaped curve are often appropriates, the proposed moving average kernel can be symmetrical and can return extremely smooth results. I will use the Blackman filter as comparison.
The smooth version of the moving average can be used when the "smooth" setting is selected. Here power can only be an even number, if power is odd, power will be equal to the nearest lowest even number. When power = 0, the kernel is simply a parabola:
More smoothness can be achieved by using power = 2
In red the shapeshifting moving average, in green a Blackman filter of both length = 100. Higher values of power will create lower negative values near the border of the kernel shape, this often allow to retain information about the peaks and valleys in the input signal. Power = 6 approximate the Blackman filter pretty well.
Conclusion
A moving average using a modification of the 2nd derivative of the arc tangent function as kernel has been presented, the kernel is parametric and allow the user to switch from a low-lag moving average where the lag can be increased/decreased to a really smooth moving average.
As you can see once you get familiar with a function shape, you can know what would be the characteristics of a moving average using it as kernel, this is where you start getting intimate with moving averages.
On a side note, have you noticed that the views counter in posted ideas/indicators has been removed ? This is truly a marvelous idea don't you think ?
Thanks for reading !
חפש סקריפטים עבור "curve"
Grand Trend Forecasting - A Simple And Original Approach Today we'll link time series forecasting with signal processing in order to provide an original and funny trend forecasting method, the post share lot of information, if you just want to see how to use the indicator then go to the section "Using The Indicator".
Time series forecasting is an area dealing with the prediction of future values of a series by using a specific model, the model is the main tool that is used for forecasting, and is often an expression based on a set of predictor terms and parameters, for example the linear regression (model) is a 1st order polynomial (expression) using 2 parameters and a predictor variable ax + b . Today we won't be using the linear regression nor the LSMA.
In time series analysis we can describe the time series with a model, in the case of the closing price a simple model could be as follows :
Price = Trend + Cycles + Noise
The variables of the model are the components, such model is additive since we add the component with each others, we should be familiar with each components of the model, the trend represent a simple long term variation of high amplitude, the cycles are periodic fluctuations centered around 0 of varying period and amplitude, the noise component represent shorter term irregular variations with mean 0.
As a trader we are mostly interested by the cycles and the trend, altho the cycles are relatively more technical to trade and can constitute parasitic fluctuations (think about retracements in a trend affecting your trend indicator, causing potential false signals).
If you are curious, in signal processing combining components has a specific name, "synthesis" , here we are dealing with additive synthesis, other type of synthesis are more specific to audio processing and are relatively more complex, but could be used in technical analysis.
So what to do with our components ? If we want to trade the trend, we should estimate right ? Estimating the trend component involve removing the cycle and noise component from the price, if you have read stuff about filters you should know where i'am going, yep, we should use filters, in the case of keeping the trend we can use a simple moving average of relatively high period, and here we go.
However the lag problem, which is recurrent, come back again, we end up with information easier to interpret (here the trend, which is a simple fluctuation such as a line or other smooth curve) at the cost of decision timing, that is unfortunate but as i said the information, here the moving average output, is relatively simple, and could be easily forecasted right ? If you plot a moving average of high period it would be easier for you to forecast its future values. And thats what we aim to do today, provide an estimate of the trend that should be easy to forecast, and should fit to the price relatively well in order to produce forecast that could determine the position of future closing prices observations.
Estimating And Forecasting The Trend
The parameter of the indicator dealing with the estimation of the trend is length , with higher values of length attenuating the cycle and noise component in the price, note however that high values of length can return a really long term trend unlike a simple moving average, so a small value of length, 14 for example can still produce relatively correct estimate of trend.
here length = 14.
The rough estimate of the trend is t in the code, and is an IIR filter, that is, it is based on recursion. Now i'll pass on the filter design explanation but in short, weights are constants, with higher weights allocated to the previous length values of the filter, you can see on the code that the first part of t is similar to an exponential moving average with :
t(n) = 0.9t(n-length) + 0.1*Price
However while the EMA only use the precedent value for the recursion, here we use the precedent length value, this would just output a noisy and really slow output, therefore in order to create a better fit we add : 0.9*(t(n-length) - t(n-2length)) , and this create the rough trend estimate that you can see in blue. On the parameters, 0.9 is used since it gives the best estimate in my opinion, higher values would create more periodic output and lower values would just create a rougher output.
The blue line still contain a residual of the cycle/noise component, this is why it is smoothed with a simple moving average of period length. If you are curious, a filter estimating the trend but still containing noisy fluctuations is called "Notch" filter, such filter would depending on the cutoff remove/attenuate mid term cyclic fluctuations while preserving the trend and the noise, its the opposite of a bandpass filter.
In order to forecast values, we simply sum our trend estimate with the trend estimate change with period equal to the forecasting horizon period, this is a really really simple forecasting method, but it can produce decent results, it can also allows the forecast to start from the last point of the trend estimate.
Using The Indicator
We explained the length parameter in the precedent section, src is the input series which the trend is estimated, forecast determine the forecasting horizon, recommend values for forecast should be equal to length, length/2 or length*2, altho i strongly recommend length.
here length and forecast are both equal to 14 .
The corrective parameter affect the trend estimate, it reduce the overshoot and can led to a curve that might fit better to the price.
The indicator with the non corrective version above, and the corrective one below.
The source parameter determine the source of the forecast, when "Noisy" is selected the source is the blue line, and produce a noisy forecast, when "Smooth" is selected the source is the moving average of t , this create a smoother forecast.
The width interval control...the width of the intervals, they can be seen above and under the forecast plot, they are constructed by adding/subtracting the forecast with the forecast moving average absolute error with respect to the price. Prediction intervals are often associated with a probability (determining the probability of future values being between the interval) here we can't determine such probability with accuracy, this require (i think) an analysis of the forecasting distribution as well as assumptions on the distribution of the forecasting error.
Finally it is possible to see historical forecasts, that is, forecasts previously generated by checking the "Show Historical Forecasts" option.
Examples
Good forecasts mostly occur when the price is close to the trend estimate, this include the following highlighted periods on AMD 15TF with default settings :
We can see the same thing at the end of EURUSD :
However we can't always obtain suitable fits, here it is isn't sufficient on BTCUSD :
We can see wide intervals, we could change length or use the corrective option to get better results, another option is to use a log scale.
We will end the examples with the log SPX, who posses a linear trend, so for example a linear model such as a linear regression would be really adapted, lets see how the indicator perform :
Not a great fit, we could try to use an higher length value and use "Smooth" :
Most recent fits are quite decent.
Conclusions
A forecasting indicator has been presented in this post. The indicator use an original approach toward estimating the trend component in the closing price. Of course i should have given statistics related to the forecasting error, however such analysis is worth doing with better methods and in more advanced environment allowing for optimization.
But we have learned some stuff related to signal processing as well as time series analysis, seeing a time series as the sum of various components is really helpful when it comes to make sense of chaotic and noisy series and is a basic topic in time series analysis.
You can see that in this new year i work harder on the visual of my indicators without trying to fall in the label addict trap, something that i wasn't really doing before, let me know what do you think of it.
Thanks for reading !
Trend Following or Mean RevertingThe strategy checks nature of the instruments. It Buys if the close is greater than yesterday's high, reverse the position if the close is lower than yesterday's low and repeat the process.
1. If it is trend following then the equity curve will be in uptrend
2. If it is mean reverting then the equity curve will be downtrend
Thanks to Rayner Teo.
Grover Llorens Activator [alexgrover & Lucía Llorens] Trailing stops play a key role in technical analysis and are extremely popular trend following indicators. Their main strength lie in their ability to minimize whipsaws while conserving a decent reactivity, the most popular ones include the Supertrend, Parabolic SAR and Gann Hilo activator. However, and like many indicators, most trailing stops assume an infinitely long trend, which penalize their ability to provide early exit points, this isn't the case of the parabolic SAR who take this into account and thus converge toward the price at an increasing speed the longer a trend last.
Today a similar indicator is proposed. From an original idea of alexgrover & Lucía Llorens who wanted to revisit the classic parabolic SAR indicator, the Llorens activator aim to converge toward the price the longer a trend persist, thus allowing for potential early and accurate exit points. The code make use of the idea behind the price curve channel that you can find here :
I tried to make the code as concise as possible.
The Indicator
The indicator posses 2 user settings, length and mult , length control the rate of convergence of the indicator, with higher values of length making the indicator output converge more slowly toward the price. Mult is also related with the rate of convergence, basically once the price cross the trailing stop its value will become equal to the previous trailing stop value plus/minus mult*atr depending on the previous trailing stop value, therefore higher values of mult will require more time for the trailing stop to reach the closing price, use higher values of mult if you want to avoid potential whipsaws.
Above the indicator with slow convergence time (high length) and low mult.
Points with early exit points are highlighted.
Usage For Oscillators
The difference between the closing price and an overlay indicator can provide an oscillator with characteristics depending on the indicators used for differencing, Lucía Llorens stated that we should find indicators for differencing that highlight the cycles in the price, in other terms : Price - Signal , where we want to find Signal such that we maximize the visibility of the cycles, it can be demonstrated that in the case where the closing price is an additive model : Trend + Cycles + Noise , the zero lag estimation of the Trend component can allow for the conservation of the cycle and noise component, that is : Price - Estimate(Trend) , for example the difference between the price and moving average isn't optimal because of the moving average lag, instead the use of zero lag moving averages is more suitable, however the proposed indicator allow for a surprisingly good representation of the cycles when using differencing.
The normalization of this oscillator (via the RSI) allow to make the peak amplitude of the cycles more constant. Note however that such method can return an output with a sign inverse to the one of the original cycle component.
Conclusion
We proposed an indicator which share the logic of the SAR indicator, that is using convergence toward the price in order to provide early exit points detection. We have seen that this indicator can be used to highlight cycles when used for differencing and i don't exclude publishing more indicators based on this method.
Lucía Llorens has been a great person to work with, and provided enormous feedback and support while i was coding the indicator, this is why i include her in the indicator name as well as copyright notice. I hope we can make more indicators togethers in the future.
(altho i was against using buy/sells labels xD !)
Thanks for reading !
Yope BTC PL channelThis is a new version of the old "Yope BTC tops channel", but modified to reflect a power-law curve fitted, similar to the model proposed by Harold Christopher Burger in his medium article "Bitcoin’s natural long-term power-law corridor of growth".
My original tops channel fitting is still there for comparison. In fact, it looks like the old tops channel was a bit too pessimistic.
Note that these channels are still pure naive curve-fitting, and do not represent an underlying model that explains it, like is the case for PlanB's "Modeling Bitcoin's Value with Scarcity" which uses Stock-to-Flow.
The motivation for this exercise is to observe how long this empirical extrapolation is valid. Will the price of bitcoin stay in either of both channels?
Note on usage: This script _only_ works with the BLX "BraveNewCoin Liquid Index for Bitcoin" in the 1D, 3D and 1W time-frames!
It may be necessary to zoom in and out a few times to overcome drawing glitches caused by the extreme time-shifting of plots in order to draw the extrapolated part.
The Vostro Indicator by KIVANÇ fr3762The VOSTRO indicator is a trend indicator that automatically provides buying and selling signals. The indicator marks in a window the potential turning points. The indicator is recommended for scalping.
The Vostro indicator determines the overbought zones (value greater than +80) and the oversold zones (less than the -80 level)
BUY signal: The Vostro curve moves below the -80 level and forms a trough – Turnaround of the upward trend
SELL signal: The Vostro curve moves above the +80 level and forms a peak – Downward trend
further info:
www.prorealcode.com
Here's the link to a complete list of all my indicators:
t.co
Yazar: KıvanÇ @fr3762 twitter
Şimdiye kadar paylaştığım indikatörlerin tam listesi için: t.co
Advanced PSAR v1 [wm]A port off Dennis Meyers Advance PSAR outlined in Stocks and Commodities V13:4
The shape, slope and speed of the SAR is controlled by three parameters: the starting acceleration factor (AF), the increment that the AF can change when a new price high or low is made, and the maximum AF. Because of the way the SAR is calculated, the shape of the SAR curve resembles a parabola - hence its name.
Most software packages only allow the user to vary the AF increment and the AF maximum, fixing the starting AF at 0.02. This restriction hampers the trend-following abilities of the parabolic.
Frequently as the SAR hugs the price curve, it is penetrated by a price bar by a minuscule amount, causing the SAR to generate an opposite signal. The price then immediately turns around and resumes going in the direction it was going before this penetration occurred, causing a costly whipsaw loss.
Many of the whipsaw losses are caused by noise or randomness in the price series. Thus, if the SAR is to represent the trend of a real price series, it must have the capability to ignore penetrations of noise level amounts. To this end, I have modified the parabolic SAR formula to include a variable that allows the SAR not to reverse unless penetrated by a defined amount. This new parameter is defined as ‘XO Increment’ for crossover increment
This version is configured for pips. If using on other assets with much larger values should be used. Also note the starting values have not been optimised. Should users of this script find good values please comment and share with the community if you could
ALMA Trend DirectionHere is a very simple tool that uses the Arnaud Legoux Moving Average(ALMA). The ALMA is based on a normal distribution and is a reliable moving average due to its ability to reduce lag while still keeping a high degree of smoothness.
Input Options:
-Offset : Value in range {0,1} that adjusts the curve of the Gaussian Distribution. A higher value will result in higher responsiveness but lower smoothness. A lower value will mean higher smoothness but less responsiveness.
-Length : The lookback window for the ALMA calculation.
-Sigma : Defines the sharpe of the curve coefficients.
I find that this indicator is best used with a longer length and a 4 Hour timeframe. Overall, its purpose is to help identify the direction of a trend and determine whether a security is in an uptrend or a downtrend. For this purpose, it is best to use a lower offset value since we are looking to identify long-term, significant price movement rather than small fluctuations.
The Chart:
The ALMA is plotted as the aqua and pink alternating line. It is aqua when bullish and pink when bearish.
The low price for each candle is then compared to the ALMA. If the low is greater than the ALMA, then there is a bullish trend and the area between the candles and ALMA is filled green. The area between the ALMA and candles is filled red when the low price is less than the ALMA.
The difference between the slow ALMA and candles can reveal a lot about the current market state. If there is a significant green gap between the two, then we know that there is a significant uptrend taking place. On the other hand, a large red gap would indicate a significant downtrend. Similarly, if the gap between the two is narrowing and the ALMA line switches from aqua to pink, then we know that a reversal could be coming shortly.
~Happy Trading~
Double ALMAIncludes fast and slow Arnaud Legoux Moving Averages (ALMA). ALMA is a moving average based on a Gaussian(normal) distribution that reduces lag while still retaining smoothness.
Input Options:
-Offset : Value in range {0,1} that adjusts the curve of the Gaussian Distribution. A higher value will result in higher responsiveness but lower smoothness. A lower value will mean higher smoothness but less responsiveness.
-Lengths : The lookback for each ALMA calculation.
-Sigma : Defines the sharpe of the curve coefficients.
The slow ALMA is the thickest red and green alternating line that indicates bullish or bearish movement. When slow ALMA is bullish, the graph's background changes to green. When the slow ALMA is bearish, the background is red.
The fast ALMA uses a smaller lookback and is more responsive than the slow ALMA as a result of the shorter length and higher default offset parameter.
The two dotted lines represent (slowALMA +/- 1.25 * stdev(slowALMA, slowALMA period *2)).
The indicator bases its buy and sell signals based on the trend identified by the slow ALMA and the fast ALMA's crossings of the standard deviation bands.
Comes with pre-set buy and sell alerts.
Modified Gann HiLo ActivatorIntroduction
The gann hilo activator is a trend indicator developed by Robert Krausz published into W. D. Gann Treasure Discovered: Simple Trading Plans for Stocks & Commodities . This indicator crate a trailing stop aiming to show the direction of the trend.
This indicator is fairly easy to compute and dont require lot of skills to understand. First we calculate the simple moving average of both price high and price low, when the close price is higher than the moving average of the price high the indicator return the moving average of the price low, else the indicator return the moving average of the price high if the close price is lower than the moving average of the price low.
My indicator add a different calculation method in order to avoid whipsaw trades as well as adding significance to the moving average length. A Median method has been added to provide more robustness.
The Indicator
The indicator is a simple trailing stop aiming to show the direction of the trend. The indicator use a different source instead of the price high/low for its calculation. The first method is the "SMA" method which like the classic hilo indicator use a simple moving average for the calculation of the indicator.
Sma Method with length = 25
The "Median" use a moving median instead of a simple moving average, this provide more robustness.
Median Method with length = 25
The shape is less curved and the indicator can sometimes avoid whipsaw with high's length periods.
Mult Parameter
The mult parameter is a parameter set to be lower or equal to 1 and greater or equal to 0. High values allow the indicator to be far from the price thus avoiding whipsaw trades, lower ones lower the distance from the price. A mult parameter of 0.1 approximate the original hilo indicator.
In blue the indicator with mult = 0.1 and in radical red the original hilo activator.
Conclusion
The modifications allow more control over the indicator as well as adding more robustness while the original one is destined to fail when market price is more complex.
Thanks for reading :)
For any questions/suggestions feel free to pm me
Quadratic Regression Slope [DW]This is a study geared toward identifying price trends using Quadratic regression.
Quadratic regression is the process of finding the equation of a parabola that best fits the set of data being analyzed.
In this study, first a quadratic regression curve is calculated, then the slope of the curve is calculated and plotted.
Custom bar colors are included. The color scheme is based on whether the slope is positive or negative, and whether it is increasing or decreasing.
XPloRR MA-Trailing-Stop StrategyXPloRR MA-Trailing-Stop Strategy
Long term MA-Trailing-Stop strategy with Adjustable Signal Strength to beat Buy&Hold strategy
None of the strategies that I tested can beat the long term Buy&Hold strategy. That's the reason why I wrote this strategy.
Purpose: beat Buy&Hold strategy with around 10 trades. 100% capitalize sold trade into new trade.
My buy strategy is triggered by the fast buy EMA (blue) crossing over the slow buy SMA curve (orange) and the fast buy EMA has a certain up strength.
My sell strategy is triggered by either one of these conditions:
the EMA(6) of the close value is crossing under the trailing stop value (green) or
the fast sell EMA (navy) is crossing under the slow sell SMA curve (red) and the fast sell EMA has a certain down strength.
The trailing stop value (green) is set to a multiple of the ATR(15) value.
ATR(15) is the SMA(15) value of the difference between the high and low values.
The scripts shows a lot of graphical information:
The close value is shown in light-green. When the close value is lower then the buy value, the close value is shown in light-red. This way it is possible to evaluate the virtual losses during the trade.
the trailing stop value is shown in dark-green. When the sell value is lower then the buy value, the last color of the trade will be red (best viewed when zoomed)(in the example, there are 2 trades that end in gain and 2 in loss (red line at end))
the EMA and SMA values for both buy and sell signals are shown as a line
the buy and sell(close) signals are labeled in blue
How to use this strategy?
Every stock has it's own "DNA", so first thing to do is tune the right parameters to get the best strategy values voor EMA , SMA, Strength for both buy and sell and the Trailing Stop (#ATR).
Look in the strategy tester overview to optimize the values Percent Profitable and Net Profit (using the strategy settings icon, you can increase/decrease the parameters)
Then keep using these parameters for future buy/sell signals only for that particular stock.
Do the same for other stocks.
Important : optimizing these parameters is no guarantee for future winning trades!
Here are the parameters:
Fast EMA Buy: buy trigger when Fast EMA Buy crosses over the Slow SMA Buy value (use values between 10-20)
Slow SMA Buy: buy trigger when Fast EMA Buy crosses over the Slow SMA Buy value (use values between 30-100)
Minimum Buy Strength: minimum upward trend value of the Fast SMA Buy value (directional coefficient)(use values between 0-120)
Fast EMA Sell: sell trigger when Fast EMA Sell crosses under the Slow SMA Sell value (use values between 10-20)
Slow SMA Sell: sell trigger when Fast EMA Sell crosses under the Slow SMA Sell value (use values between 30-100)
Minimum Sell Strength: minimum downward trend value of the Fast SMA Sell value (directional coefficient)(use values between 0-120)
Trailing Stop (#ATR): the trailing stop value as a multiple of the ATR(15) value (use values between 2-20)
Example parameters for different stocks (Start capital: 1000, Order=100% of equity, Period 1/1/2005 to now) compared to the Buy&Hold Strategy(=do nothing):
BEKB(Bekaert): EMA-Buy=12, SMA-Buy=44, Strength-Buy=65, EMA-Sell=12, SMA-Sell=55, Strength-Sell=120, Stop#ATR=20
NetProfit: 996%, #Trades: 6, %Profitable: 83%, Buy&HoldProfit: 78%
BAR(Barco): EMA-Buy=16, SMA-Buy=80, Strength-Buy=44, EMA-Sell=12, SMA-Sell=45, Strength-Sell=82, Stop#ATR=9
NetProfit: 385%, #Trades: 7, %Profitable: 71%, Buy&HoldProfit: 55%
AAPL(Apple): EMA-Buy=12, SMA-Buy=45, Strength-Buy=40, EMA-Sell=19, SMA-Sell=45, Strength-Sell=106, Stop#ATR=8
NetProfit: 6900%, #Trades: 7, %Profitable: 71%, Buy&HoldProfit: 2938%
TNET(Telenet): EMA-Buy=12, SMA-Buy=45, Strength-Buy=27, EMA-Sell=19, SMA-Sell=45, Strength-Sell=70, Stop#ATR=14
NetProfit: 129%, #Trade
Donchian Channel Trend Intensity [DW]This is an experimental study designed to analyze trend intensity using two Donchian Channels.
The DCTI curve is calculated by comparing the differences between Donchian highs and lows over a major an minor period, and expressing them as a positive and negative percentage.
The curve is then smoothed with an exponential moving average to provide a signal line.
Custom bar colors included with two coloring methods to choose from.
AWESOME OSCILLATOR V2 by KIVANCfr3762AWESOME OSCILLATOR V2 by KIVANC @fr3762
CONVERTING THE OSCILLATOR to a curved line and added a 7 period SMA as a signal line,
crosses are BUY or SELL signals like in MACD
Buy: when AO line crosses above signal line
Sell: when Signal line crosses above AO line
Stefan Krecher: Jeddingen DivergenceThe main idea is to identify a divergence between momentum and price movement. E.g. if the momentum is rising but price is going down - this is what we call a divergence. The divergence will be calculated by comparing the direction of the linear regression curve of the price with the linear regression curve of momentum.
A bearish divergence can be identified by a thick red line, a bullish divergence by a green line.
When there is a divergence, it is likeley that the current trend will change it's direction.
Looking at the chart, there are three divergences that need to get interpreted:
1) bearish divergence, RSI is overbought but MACD does not clearly indicate a trend change. Right after the divergence, price and momentum are going up. No clear signal for a sell trade
2) bearish divergence, RSI still overbought, MACD histogram peaked, MACD crossed the signal line, price and momentum are going down. Very clear constellation for a sell trade.
3) two bullish diverences, RSI is oversold, MACD crossover near the end of the second divergence, price and momentum started rising. Good constellation for a buy trade. Could act as exit signal for the beforementioned sell trade.
More information on the Jeddingen Divergence is available here: www.forexpython.com
Power Law Correlation Indicator 2.0 The Power Law Correlation Indicator is an attempt to chart when a stock/currency/futures contract goes parabolic forming a upward or downward curve that accelerates according to power laws.
I've read about power laws from Sornette Diedler ( www.marketcalls.in ). And I think the theory is a good one.
The idea behind this indicator is that it will rise to 1.0 as the curve resembles a parabolic up or down swing. When it is below zero, the stock will flatten out.
There are many ways to use this indicator. One way I am testing it out is in trading Strangles or Straddle option trades. When this indicator goes below zero and starts to turn around, it means that it has flattened out. This is like a squeeze indicator. (see the TTM squeeze indicator).
Since this indicator goes below zero and the squeeze plays tend to be mean-reverting; then its a great time to put on a straddle/strangle.
Another way to use it is to think of it in terms of trend strength. Think of it as a kind of ADX, that measures the trend strength. When it is rising, the trend is strong; when it is dropping, the trend is weak.
Lastly I think this indicator needs some work. I tried to put the power (x^n) function into it but my coding skill is limited. I am hoping that Lazy Bear or Ricardo Santos can do it some justice.
Also I think that if we can figure out how to do other power law graphs, perhaps we can plot them together on one indicator.
So far I really like this one for finding Strangle spots. So check it out.
Peace
SpreadEagle71
Market Breadth - [JTCAPITAL]Market Breadth - is a comprehensive crypto market strength and sentiment indicator designed to visualize the overall bullish or bearish alignment across 40 major cryptocurrencies. By combining multi-asset Exponential Moving Average (EMA) comparisons and smoothing techniques, it offers a clean, aggregated view of the broader market trend—helping traders quickly assess whether the market is dominated by bullish momentum or bearish pressure.
The indicator works by calculating in the following steps:
Symbol Selection and Data Retrieval
The script monitors 40 leading cryptocurrencies based on Market Cap. Each asset’s daily close price is requested using a 1D timeframe. This ensures that every data point reflects the same temporal resolution, allowing the indicator to evaluate global crypto strength rather than individual token volatility.
EMA Comparison per Asset
For each asset, two Exponential Moving Averages (EMAs) are calculated:
A short-term EMA with period emalength (default 10).
A long-term EMA with period emalength2 (default 20).
Each coin receives a score of +1 when the short-term EMA is greater than the long-term EMA (indicating bullish structure), or -1 when it is below (indicating bearish structure). This binary scoring system effectively converts individual price action into a directional sentiment measure.
Market Breadth Aggregation
All 40 individual scores are summed into a single composite value called scores .
If many assets have bullish EMA alignment, the total score becomes strongly positive.
If the majority show bearish alignment, the total score turns negative.
This step transforms scattered price data into one unified market breadth metric—quantifying how many assets participate in the same directional trend.
Smoothing the Breadth Line
To reduce short-term noise and isolate trend direction, the aggregated score is smoothed using an EMA of length = smoothlen (default 15). The resulting smoothed line helps identify sustained shifts in collective sentiment rather than temporary fluctuations.
Visualization and Color Coding
When scores > 0 , the market breadth is bullish and the histogram is colored blue.
When scores < 0 , the breadth turns bearish and the histogram is purple.
The same logic applies to the smoothed line and background color, offering an instant visual cue of market mood transitions.
Buy and Sell Conditions:
The indicator itself does not trigger direct buy/sell signals but rather acts as a market regime filter . Traders can use it as follows:
Buy Filter: When the smoothed value is above zero and rising, the majority of assets confirm an uptrend — this favors long setups or trend continuation entries.
Sell Filter: When the smoothed value is below zero and falling, bearish alignment dominates — ideal for short setups or defensive risk management.
Optional filters could include combining this with RSI or volume-weighted momentum indicators to confirm breadth-based reversals.
Features and Parameters:
emalength – Defines the short-term EMA length used for individual asset trend detection (default 10).
emalength2 – Defines the long-term EMA length (default 20).
smoothlen – Defines the smoothing EMA length for the total market breadth line (default 15).
40 asset inputs – User-editable symbols allow full customization of which cryptos are tracked.
Dynamic color backgrounds – Visual distinction between bullish and bearish phases.
Specifications:
Exponential Moving Average (EMA)
EMA is a type of moving average that places more weight on recent price data, responding faster to market changes compared to SMA. By comparing a short-term and long-term EMA, the indicator captures momentum shifts across each asset individually. The crossover logic (EMA10 > EMA20) signals bullish conditions, while the opposite indicates bearish momentum.
Market Breadth
Market Breadth quantifies how many assets are participating in a directional move. Instead of tracking a single coin’s trend, breadth analysis measures collective sentiment. When most coins’ short-term EMAs are above long-term EMAs, the market shows healthy bullish breadth. Conversely, when most are below, weakness dominates.
Smoothing (EMA on Scores)
After summing the breadth score, the result is smoothed with an additional EMA to mitigate the inherent volatility caused by individual coin reversals. This second-level smoothing transforms raw fluctuations into a readable, trend-consistent curve.
Color Visualization
Visual cues are integral for intuitive interpretation.
Blue Shades: Indicate bullish alignment and collective upward momentum.
Purple Shades: Indicate bearish conditions and potential risk-off phases.
The background tint reinforces visual clarity even when the indicator is overlaid on price charts.
Background Logic
By applying the same color logic to the chart’s background, users can instantly recognize the prevailing market phase.
Use Cases
As a trend confirmation filter for other indicators (e.g., trade only in the direction of positive breadth).
As a divergence tool : when price rises but breadth weakens, it may signal a topping market.
As a macro sentiment monitor : perfect for assessing when the crypto market as a whole transitions from bearish to bullish structure.
Summary
“ Market Breadth - ” transforms the chaotic price movements of 40 cryptocurrencies into a single, powerful visual representation of overall market health. By merging EMA cross analysis with market-wide aggregation and smoothing , it provides traders with a deep understanding of when bullish or bearish forces dominate the ecosystem.
It’s a clean, data-driven approach to identifying shifts in crypto market sentiment — a perfect companion for trend-following, macro analysis, and timing portfolio exposure.
Enjoy!
Alpha-Weighted RSIDescription:
The Alpha-Weighted RSI is a next-generation momentum oscillator that redefines the classic RSI by incorporating the mathematical principles of Lévy Flight. This advanced adaptation applies non-linear weighting to price changes, making the indicator more sensitive to significant market moves and less reactive to minor noise. It is designed for traders seeking a clearer, more powerful view of momentum and potential reversal zones.
🔍 Key Features & Innovations:
Lévy Flight Alpha Weighting: At the core of this indicator is the Alpha parameter (1.0-2.0), which controls the sensitivity to price changes.
Lower Alpha (e.g., 1.2): Makes the indicator highly responsive to recent price movements, ideal for capturing early trend shifts.
Higher Alpha (e.g., 1.8): Creates a smoother, more conservative output that filters out noise, focusing on stronger momentum.
Customizable Smoothing: The raw Lévy-RSI is smoothed by a user-selectable moving average (8 MA types supported: SMA, EMA, SMMA, etc.), allowing for further customization of responsiveness.
Intuitive Centered Oscillator: The RSI is centered around a zero line, providing a clean visual separation between bullish and bearish territory.
Dynamic Gradient Zones: Subtle, colour coded gradient fills in the overbought (>+25) and oversold (<-25) regions enhance visual clarity without cluttering the chart.
Modern Histogram Display: Momentum is plotted as a sleek histogram that changes color between bright cyan (bullish) and magenta (bearish) based on its position relative to the zero line.
🎯 How to Use & Interpret:
Zero-Line Crossovers: The most basic signals. A crossover above the zero line indicates building bullish momentum, while a crossover below suggests growing bearish momentum.
Overbought/Oversold Levels: Use the +25/-25 and +35/-35 levels as dynamic zones. A reading above +25 suggests strong bullish momentum (overbought), while a reading below -25 indicates strong bearish momentum (oversold).
Divergence Detection: Look for divergences between the Alpha-Weighted RSI and price action. For example, if price makes a new low but the RSI forms a higher low, it can signal a potential bullish reversal.
Alpha Tuning: Adjust the Alpha parameter to match market volatility. In choppy markets, increase alpha to reduce noise. In trending markets, decrease alpha to become more responsive.
⚙️ Input Parameters:
RSI Settings: Standard RSI inputs for Length and Calculation Source.
Lévy Flight Settings: The crucial Alpha factor for response control.
MA Settings: MA Type and MA Length for smoothing the final output.
By applying Lévy Flight dynamics, this indicator offers a nuanced perspective on momentum, helping you stay ahead of the curve. Feedback is always welcome!
Better DEMAThe Better DEMA is a new tool designed to recreate the classical moving average DEMA, into a smoother, more reliable tool. Combining many methodologies, this script offers users a unique insight into market behavior.
How does it work?
First, to get a smoother signal, we need to calculate the Gaussian filter. A Gaussian filter is a smoothing filter that reduces noise and detail by averaging data with weights following a Gaussian (bell-shaped) curve.
Now that we have the source, we will calculate the following:
n2 = n/2 (half of the user defined length)
a = 2/(1+n)
ns
Now that we have that out of the way, it is time to get into the core.
Now we calculate 2 EMAs:
slow EMA => EMA over n
fast EMA => EMA over n2 period
Rather then now doing this:
DEMA = fast EMA * 2 - slow EMA
I found this to be better:
DEMA = slow EMA * (1-a) + fast EMA * a
As a last touch I took a little something from the HMA, and used a EMA with period of √n to smooth the entire the thing.
The Trend condition at base is the following (but feel free to FAFO with it):
Long = dema > dema yesterday and dema < src
Short = dema < dema yesterday and dema > src
Methodology
While the DEMA is an amazing tool used in many great indicators, it can be far too noisy.
This made me test out many filters, out of which the Gaussian performed best.
Then I tried out the non subtractive approach and that worked too, as it made it smoother.
Compacting on all I learned and smoothing it bit by bit, I think I can say this is worth looking into :).
Use cases:
Following Trends => classic, effective :)
Smoothing sources for other indicators => if done well enough, could be useful :)
Easy trend visualization => Added extra options for that.
Strategy development => Yes
Another good thing is it does not a high lookback period, so it should be better and less overfit.
That is all for today Gs,
Have fun and enjoy!
FX Realized Volatility *The downward signal for Euqities!?*The Russel 2000 put in a new ath today as capital is moving further out the risk curve. Risk-Assets continue to rally to the upside.
This will last until we see a lasting driver happening on a real time basis that drag pull equties down
When volatility rises, we need to see the DRIVER of the volatility have persistence behind it as opposed to one off shocks.
We are not there yet as volatility in FX and bonds continues to compress since the April lows in equities.
Equities will continue to rally until long end yields blow out or the carry trade unwinds. Long end yields blowing out is not occuring on an imminent basis but the FX side of things could be a significant risk soon.
Its all about: When will that liquidity beginn to create inflation or a problem in the currency
Monitoring the equity vol, Bond vol and FX volatiliy is crucial here
You can watch them via:
VIX,
Move,
+ i build an Trading view modell which conducts the vol of the major FX pairs.
(its 100% free)
If you just want it simple, just look at USD & EUR vol as they are the most trades foreign exchange currencies.
Watching these 2 Risks (Vol & long-end) will put you upfront most people in the market.
Once we see information in the underlying economy shifting i will adjust my views as they relate to every major asset class.
But for now we are likely moving higher in basically every risky asset.
**Feel free to ask me any questions**
True Single Line Fusion [by TitikSona]🧠 Full Description
True Single Line Fusion by TitikSona is an open-source oscillator that unifies Fast Stochastic, Slow Stochastic, and RSI into a single smooth momentum line.
It simplifies multi-oscillator analysis into one clear visual — helping traders recognize potential momentum shifts, exhaustion, and reversal zones.
⚙️ Core Logic
The indicator calculates:
Fast Stochastic (12,3,3) → short-term swing sensitivity
Slow Stochastic (100,8,8) → broad trend context
RSI (26) → overall strength and directional bias
All three are normalized (0–100) and averaged to form the Fusion Line, creating a single unified momentum curve.
A Signal Line (SMA-9) and Histogram are added to highlight short-term acceleration or deceleration.
Formula: Fusion = (FastK + SlowK + RSI) / 3
🔍 Interpretation
Fusion Line rising → momentum strengthening upward
Fusion Line falling → momentum weakening
Histogram color (green/red) shows the direction and intensity of the move
Background highlights identify potential extremes:
🟩 Green = potential oversold region
🟥 Red = potential overbought region
💡 How to Use
Works on any symbol and timeframe.
Use the Fusion Line’s direction and slope as momentum context, not as direct buy/sell signals.
Combine with price structure, support/resistance, or volume analysis to confirm potential reversals.
Example:
Fusion Line turning upward from green zone → possible bullish momentum shift
Fusion Line turning downward from red zone → possible bearish exhaustion
📘 Notes
Ideal for identifying turning points in ranging or consolidating markets.
Does not generate automated signals or predictions.
Open-source for learning, modification, and educational use.
Designed for clarity, low lag, and clean visualization.
🧩 Developed and shared by TitikSona — made to unify oscillators into one adaptive momentum tool.
RSI VWAP v1 [JopAlgo]RSI VWAP v1.1 made stronger by volume-aware!
We know there's nothing new and the original RSI already does an excellent job. We're just working on small, practical improvements – here's our take: The same basic idea, clearer display, and a single, specially developed rolling line: a VWAP of the RSI that incorporates volume (participation) into the calculation.
Do you prefer the pure classic?
You can still use Wilder or Cutler engines –
but the star here is the VW-RSI + rolling line.
This RSI also offers the possibility of illustrating a possible
POC (Point of Control - or the HAL or VAL) level.
However, the indicator does NOT plot any of these levels itself.
We have included an illustration in the chart for this!
We hope this version makes your decision-making easier.
What you’ll see
The RSI line with a 50 midline and optional bands: either static 70/30 or adaptive μ±k·σ of the Rolling Line.
One smoothing concept only: the Rolling Line (light blue) = VWAP of RSI.
Shadow shading between RSI and the Rolling Line (green when RSI > line, red when RSI < line).
A lighter tint only on the parts of that shadow that sit above the upper band or below the lower band (quick overbought/oversold context).
Simple divergence lines drawn from RSI pivots (green for regular bullish, red for regular bearish). No labels, no buy/sell text—kept deliberately clean.
What’s new, and why it helps
VW-RSI engine (default):
RSI can be computed from volume-weighted up/down moves, so momentum reflects how much traded when price moved—not just the direction.
Rolling Line (VWAP of RSI) with pure VWAP adaptation:
Low volume: blends toward a faster VWAP so early, thin starts aren’t missed.
Volume spikes: blends toward a slower VWAP so a single heavy bar doesn’t whip the curve.
You can reveal the Base Rolling (pre-adaptation) line to see exactly how much adaptation is happening.
Adaptive bands (optional):
Instead of fixed 70/30, use mean ± k·stdev of the Rolling Line over a lookback. Levels breathe with the market—useful in strong trends where static bounds stay pinned.
Minimal, readable panel:
One smoothing, one story. The shadow tells you who’s in control; the lighter highlight shows stretch beyond your lines.
How to read it (fast)
Bias: RSI above 50 (and a rising Rolling Line) → bullish bias; below 50 → bearish bias.
Trigger: RSI crossing the Rolling Line with the bias (e.g., above 50 and crossing up).
Stretch: Near/above the upper band, avoid chasing; near/below the lower band, avoid panic—prefer a cross back through the line.
Divergence lines: Use as context, not as standalone signals. They often help you wait for the next cross or avoid late entries into exhaustion.
Settings that actually matter
RSI Engine: VW-RSI (default), Wilder, or Cutler.
Rolling Line Length: the VWAP length on RSI (higher = calmer, lower = earlier).
Adaptive behavior (pure VWAP):
Speed-up on Low Volume → blends toward fast VWAP (factor of your length).
Dampen Spikes (volume z-score) → blends toward slow VWAP.
Fast/Slow Factors → how far those fast/slow variants sit from the base length.
Bands: choose Static 70/30 or Adaptive μ±k·σ (set the lookback and k).
Visuals: show/hide Base Rolling (ref), main shadow, and highlight beyond bands.
Signal gating: optional “ignore first bars” per day/session if you dislike open noise.
Starter presets
Scalp (1–5m): RSI 9–12, Rolling 12–18, FastFactor ~0.5, SlowFactor ~2.0, Adaptive on.
Intraday (15m–1H): RSI 10–14, Rolling 18–26, Bands k = 1.0–1.4.
Swing (4H–1D): RSI 14–20, Rolling 26–40, Bands k = 1.2–1.8, Adaptive on.
Where it shines (and limits)
Best: liquid markets where volume structure matters (majors, indices, large caps).
Works elsewhere: even with imperfect volume, the shadow + bands remain useful.
Limits: very thin/illiquid assets reduce the benefit of volume-weighting—lengthen settings if needed.
Attribution & License
Based on the concept and baseline implementation of the “Relative Strength Index” by TradingView (Pine v6 built-in).
Released as Open-source (MPL-2.0). Please keep the license header and attribution intact.
Disclaimer
For educational purposes only; not financial advice. Markets carry risk. Test first, use clear levels, and manage risk. This project is independent and not affiliated with or endorsed by TradingView.
TTM Squeeze Screener [Pineify]TTM Squeeze Screener for Multiple Crypto Assets and Timeframes
This advanced TradingView Pine script, TTM Squeeze Screener, helps traders scan multiple crypto symbols and timeframes simultaneously, unlocking new dimensions in momentum and volatility analysis.
Key Features
Screen up to 8 crypto symbols across 4 different timeframes in one pane
TTM Squeeze indicator detects volatility contraction and expansion (“squeeze”) phases
Momentum filter reveals potential breakout direction and strength
Visual screener table for intuitive multi-asset monitoring
Fully customizable for symbols and timeframes
How It Works
The heart of this screener is the TTM Squeeze algorithm—a hybrid volatility and momentum indicator leveraging Bollinger Bands, Keltner Channels, and linear momentum analysis. The script checks whether Bollinger Bands are “squeezed” inside Keltner Channels, flagging periods of low volatility primed for expansion. Once a squeeze is released, the included momentum calculation suggests the likely breakout direction.
For each selected symbol and timeframe, the screener runs the TTM Squeeze logic, outputs “SQUEEZE” or “NO SQZ”, and tags momentum values. A table layout organizes the results, allowing rapid pattern recognition across symbols.
Trading Ideas and Insights
Spot multi-symbol volatility clusters—ideal for finding synchronized market moves
Assess breakout potential and direction before entering trades
Scalping and swing trading decisions are enhanced by cross-timeframe momentum filtering
Portfolio managers can quickly identify which assets are about to move
How Multiple Indicators Work Together
This screener unites three essential concepts:
Bollinger Bands : Measure volatility using standard deviation of price
Keltner Channels : Define expected price range based on average true range (ATR)
Momentum : Linear regression calculation to evaluate the direction and intensity after a squeeze
By combining these, the indicator not only signals when volatility compresses and releases, but also adds directional context—filtering false signals and helping traders time entries and exits more precisely.
Unique Aspects
Multi-symbol, multi-timeframe architecture—optimized for crypto traders and market scanners
Advanced table visualization—see all signals at a glance, minimizing cognitive overload
Modular calculation functions—easy to adapt and extend for other asset classes or strategies
Real-time, low-latency screening—built for actionable alerts on fast-moving markets
How to Use
Add the script to a TradingView chart (works on custom layouts)
Select up to 8 symbols and 4 timeframes using input fields (defaults to BTCUSD, ETHUSD, etc.)
Monitor the screener table; “SQUEEZE” highlights assets in potential breakout phase
Use momentum values to judge if the squeeze is likely bullish or bearish
Combine screener insights with manual chart analysis for optimal results
Customization
Symbols: Easily set any ticker for deep market scanning
Timeframes: Adjust to match your trading horizon (scalping, swing, long-term)
Indicator parameters: Refine Bollinger/Keltner/Momentum settings for sensitivity
Visuals: Personalize table layout, color codes, and formatting for clarity
Conclusion
In summary, the TTM Squeeze Screener is a robust, original TradingView indicator designed for crypto traders who demand a sophisticated multi-symbol, multi-timeframe edge. Its combination of volatility and momentum analytics makes it ideal for catching explosive breakouts, managing risk, and scanning the market efficiently. Whether you’re a scalper or swing trader, this screener provides the insights needed to stay ahead of the curve.






















