MTF TMOTMO - (T)rue (M)omentum (O)scillator) MTF (Higher Aggregation) Version
TMO calculates momentum using the DELTA of price. Giving a much better picture of the trend, reversals & divergences than most momentum oscillators using price. Aside from the regular TMO, this study combines four different TMO aggregations into one indicator for an even better picture of the trend. Once you look deeper into this study you will realize how complex this tool is. This version also produce much more information like crosses, divergences, overbought / oversold signals, higher aggregation fades etc. It is probably not even possible to explain them all, there could easily be an entire e-book about this study.
I have been using this tool for a couple of years now, and this is what i have learned so far:
Favorite Time Frame Variations:
1. 1m / 5m / 30m - Great for intraday futures or options scalps. 30m TMO serves as the overall trend gauge for the day. 5min dictates the longer term intraday moves as well as direction of the 1min. 1min is for the scalps. When the 5min TMO is sloping higher focus should be on 1min buy signals (red to green cross) and vice versa for the 5min agg. sloping down.
2. 5m / 30m / 60m - Also an interesting variation for day trading the 3-5 min charts. Producing more cleaner & beginner-friendly signals that lasts couple of minutes instead of seconds.
3. 120m / Day / 2 Day - For the 30m to 1H or 2H timeframes. Daily & 2 Day dictates the overall trend. 120 min for the signals. Great for a multi-day swings.
4. Day / 2 Day / Week - Good for the daily charts, swing trading analysis as the weekly dictates the overall trend, daily dictates the signals and the 2 day cleans out the daily signals. If the daily & 2 day are not aligned togather, daily signal means nothing. Weekly dictates 2 day - 2 day dictates daily.
5. Week / Month / 3 Month - Same thing as the previous variation but for the weekly charts.
TMO Length:
The default vanilla settings are 14,5,3. Some traders prefer 21,5,3 as the TMO length is litle higher = TMO will potenially last little longer which could teoretically produce less false signals but slower crosses which means signals will lag more behind price. The lower the length, the faster the oscillator oscillates. It is the noice vs. the lag debate. The Length can be changed, but i would not personally touch the other two. Few points up or down on length will not drastically change much. But changes on Calc Length and Smooth Length can produce totally different signals from the original.
Tips & Tricks:
1. Observe
- This is the best tip & trick I can give you. The #1 best way to learn how any study operates is to just observe how it works in certain situations from the past. MTF TMO is not
an exception.
2. The Power of the Higher Aggregation
- The higher aggregation ALWAYS dictates the lower one. Best way to see this? Just 2x the current timeframe aggregation = so on daily chart, plot the daily & two day TMOs and you will notice how the higher agg. smooths out the current agg. The higher the aggregation is, the smoother (but slower) will the TMO turn. The real power kicks in when the 3 or 4 aggregations are aligned togather in one direction.
3. Position of the Higher Aggregation in Relation to the Extremes
- Overbought / oversold signals might not really work on the current aggregation. But pay attention to the higher aggregations in relation to the extremes. Ex: on the daily chart - daily TMO inside the OB / OS extremes might not mean much. But once the higher aggregations such as 3 day or Weekly TMO enters OB/OS zone togather with the daily, this can be a very powerful signal for a TMO reversion to the zeroline.
4. Crosses
- Yes, crosses do work. Personally, I never really focused on them. The thing about the crosses is that it is crucial to pick the right higher aggregation to the combination of the current one that would be reliable but also print enough signals. The closer the cross is to the OB / OS extremes, the more bigger move can occur. Crosses around the zero line can be considered as less quality crosses.
5. Divergences
- TMO can print awesome divergences. The best divergences are on the current aggregation (TMO agg. same as the chart) since the current agg. oscillates fast, it can usually produce lower lows & higher highs faster then any higher aggregations. Easy setup: wait for the higher aggregation to reach the OB / OS extremes and watch the current (chart) aggregation to print a divergence.
6. Three is Enough
- I personally find more than three aggregations messy and hard to read. But there is always the option to turn on the 4th one. Just switch the TMO 4 Main, TMO 4 Signal and TMO 4 Fill in the style settings.
Hope it helps.
Search in scripts for "one一季度财报"
Micro ZigzagMicro zigzag is created based on similar concepts as that of zigzag but by using lower timeframe intra-bar data. The lines join candle's high/low points but also depict how the price movement within the candle happened. That is, if the high of the candle is reached first, pivot from previous candle join the high first and then low and vice versa.
The output can also be viewed as advanced line chart.
🎲 Process
🎯 For every bar identify whether high came first or low by using lower timeframe data.
🎯 If high came before low, add high as high pivot first and then low as low pivot. If otherwise, add low as lower pivot first and then high as higher pivot.
🎯 When adding pivot, check if the last pivot is in the same direction as the new one. If yes, replace existing pivot if the new one goes beyond it. Ignore otherwise.
🎯 If the last pivot is of different direction as that one new one, then simple add the new pivot.
MACD strategy + Trailstop indicatorWelcome traveler !
Here is my first indicator I made after 3 days of hardlearning pine code (beginner in coding).
I hope it will please you, if you have any suggestion to enhance this indicator, do not hesitate to give me your thoughts in the comments section or by Private message on trading View !
How does it works ?
It's a simple MACD strategy as describe here :
Uses of EMA 200 as a trend confirmer,
For sells :
When above Zero line (MACD) and under EMA200, we go on sell (background color is red)
For buys:
When under Zero line (MACD) and above EMA 200, we go on Buy (back ground color is green)
FILTERS !
I haded one filter to reduce noise on the indicator :
Signals aren't taken if one of the 14 last candles closed on the other side of the EMA 14.
What are the green and red lines ?
The green line is equivalent of a potential stop loss as a buyer side, same for the red one on seller side !
To make the space with the price bigger, please use "ATR multiplier" in the input options of the indicator while on your chart !
Is it timeframe specific ?
Hell no it is not timeframe specific ! You can try to use it on every timeframe !
As usual, I like to remind you that the best way to test an indicator is to go backtest it or to paper trade before using it on real market conditions !
If you find an idea of filter for a specific timeframe, do not hesitate to contact me ! I'll try to do my best to enhance this indicator as the time goes !
Is there repainting ?
There is no repainting on confirmation !
There's only a movement that I don't know how to ignore on the current open candle for the trail stop indicator I built, it should not be a problem if you place alerts to automatise your trading on the close of the candle, and not the high or low !
If you know how to resolve this problem with my code, I would be glad to get your tips to enhance the script ! :)
Example of the indicator in market (backtest, as said, no repaint on confirmation) :
supertrend advanceHELLO FRIENDS ...............THIS IS SUPERTREND ADVANCE WITH HENKIASHI CANDLE ...I got so many request on supertrend with henkiashi. This is for all of them ..I am making it open for all so you can change its coding according to your need
SOME IMPONTENT UPDATE IN THIS SUPERTRNED
1) You Can Use It for option trading ...you can do algo option trading using this strategy
2) YOU CAN USE CUSTOME SYNTAX TO ALGO TRADE IN STOCK,FOREX,COMMODITY AND CRYPTO
3) YO CAN USE IT IN INTRADAY TIME PERIOD ALSO U CAN SET ITS ENTRY AND EXIT TIME
4) YOU CAN USE HENKIASHI SUPERTREND ON NORMAL CANDLE STICK CHART
5) YOU CAN USE ITS QUNTITY FEATURE .BY THIS WAY U CAN DOUBLE YOUR QUNTITY SIZE ON LOSSING TRADE AND WHEN PROIFT TRADE OCCUR ITS QUNTITY AGAIN AUTOMATICALLY SHIFTED TO NORMAL QUNTITY ....THIS FEATURE ONLY HELP TRADER WITH MORE MARGIN....USE THIS FEATURE PROPERLY.THIS FEATURE BEST WORK ON ONE SIDE MEANS ONLY BUY SIDE TRADE OR SELL SIDE TRADE
6)YOU CAN SET YOUR TARGET AND STOPLOSS IN POINTS AND IN PERCENTAGE
7) YOU CAN CHOSE ONE SIDE TO TRADE ONLY BUY SIDE OR SELL SIDE
HOPE THIS FEARTURES HELPS EVERY ONE
ALL THE BEST FOR SUCESSFULL TRADING
Bull/Bear Candle % Oscillator█ OVERVIEW
This script determines the proportion of bullish and bearish candles in a given sample size. It will produce an oscillator that fluctuates between 100 and -100, where values > 0 indicate more bullish candles in the sample and values < 0 indicate more bearish candles in the sample. Data produced by this oscillator is normalized around the 50% value, meaning that an even 50/50 split between bullish and bearish candles makes this oscillator produce 0; this oscillator indirectly represents the percent proportion of bullish and bearish candles in the sample (see HOW TO USE/INTERPRETATION OF DATA ).
It has two overarching settings: 'classic' and 'range'.
█ CONCEPTS
This script will cover concepts related to candlestick analysis, volumetric analysis, and lower timeframes.
Candlestick Analysis - The idea behind this script is to solely look at the candlesticks themselves and derive information from them in a given sample. It separates candles into two categories, bullish (close > open) and bearish (close < open).
If the indicator's setting is set to 'classic', the size of candles do not matter and all are assigned a value of 1 or 0.
If the indicator's setting is set to 'range', specific candle ranges modify the proportion of bullish/bearish values. Bullish candle values include all bullish candles in the set from their lows to the close, plus the lower wicks of all bearish candles. Bearish candle values include all bearish candles in the set from their highs to the close, plus the upper wicks of all bullish candles.
Volumetric Analysis - One of this script's features allows the user to modify the bullish and bearish candle proportions by its 'weight' determined by its volume compared to the sample set's total volume. Volumetric analysis for the 'range' setting are more complex than 'classic' as described below.
Lower Timeframes - For volumetric analysis to be done on candle wicks, there needed to be a way to determine how much volume had occurred in the wick by itself to find the weight of upper and lower wicks. To accomplish this, I employed PineScrypt's request.security_lower_tf function to grab OHLC values of lower timeframe candles (as well as volume) to determine how much volume had occurred in the wicks of the chart resolution's candle. The default OHLC values used here are the lows for upper wicks and highs for lower wicks. These OHLC values are then compared to the chart resolution candle's close to determine if the volume of that lower timeframe candle should be shifted to the wick weight or stay in the current weight of that candle. The reason 'low' and 'high' are used here is to guarantee that 100% of the volume of a lower timeframe candle had occurred in the wick of the candle at the current resolution (see LIMITATIONS ).
Bullish candles will exclude volume of all lower timeframe candles whose lows were greater than that candle's close. Bearish candles will exclude volume of all lower timeframe candles whose highs were less than that candle's close. These wick volumes are then divided by the volume of the sample set, and wick sizes are then multiplied by this weight before being added to their specific bullish/bearish sums (lower wicks to bullish and upper wicks to bearish).
█ FEATURES
There are 13 inputs for the user to modify the behavior/visual representation of this script.
Sample Length - This determines how many candles are in the sample set to find the proportion of bullish and bearish candles.
Colors and Invert Colors - There are three colors set by the user: a bullish color, neutral color, and bearish color. The oscillator plots two lines, one at 0 and another that represents the proportion of bullish or bearish candles in the sample set (we'll call this the 'signal line'). If the oscillator is above 0, bullish color is used, bearish otherwise. This script generates a gradient to color a filled area between the 0 line and the signal line based on the historical values of the oscillator itself and the signal line. For bullish values, the closer the signal line is to the max (or restricted max described below) that the oscillator has experienced, the more colored toward bullish color the shaded area will be, using the neutral color as a starting point. The same is applied to the bearish values using the bearish color.
There is an additional input to invert the colors so that the bearish color is associated with bullish values and vise-versa.
Calculation Type - This determines the overarching behavior of the oscillator and has two settings:
Classic - The weight of candles are either 1 if they occurred and 0 if not.
Range - The weight of candles is determined by the size of specific sections as described in CONCEPTS - Candlestick Analysis .
Volume Weighted - This enables modifying the weights of candles as described in CONCEPTS - Volumetric Analysis and Lower Timeframes based on which Calculation Type is used.
Wick Slice Resolution - This is the lower timeframe resolution that will be used to slice the chart resolution's candle when determining the volumetric weight of wicks. Lower timeframe resolutions like '1 minute' will yield more precise results as they will give more data points to go off of (see LIMITATIONS ).
Upper/Lower Wick Source - These two inputs allow the user to select which OHLC values to compare against the chart resolution's candle close when determining which lower timeframe candles will have their volumes associated with the wicks of candles being analyzed at the chart's resolution.
Restrict Min/Max Data and Restriction - This will restrict the maximum and minimum values that will be used for the signal line when comparing its value to previous oscillator values and change how the color gradient is generated for the indicator. Restriction is the number of candles back that will determine these maximum and minimum values.
Display Min/Max Guide - This will plot two lines that are colored the corresponding bullish and bearish colors which follow what the maximum and minimum values are currently for the oscillator.
█ HOW TO USE/INTERPRETATION OF DATA
As mentioned in the OVERVIEW section, this oscillator provides an indirect representation of the percent proportion of bullish or bearish candles in a given sample. If the oscillator reads 80, this does not mean that 80% of all candles in the sample were bullish . To find the percentage of candles that were bullish or bearish, the user needs to perform the following:
50% + ((|oscillator value| / 100) * 50)%
If the oscillator value is negative, the value from above will represent the percentage of bearish candles in the sample. If it is positive, this value represents the percentage of bullish candles in the sample.
Example 1 (oscillator value = 80):
50% + ((|80| / 100) * 50)%
50% + ((0.80) * 50)%
50% + 40% = 90%
90% of the candles in the sample were bullish.
Example 2 (oscillator value = -43):
50% + ((|-43| / 100) * 50)%
50% + ((0.43) * 50)%
50% + 21.5% = 71.5%
71.5% of the candles in the sample were bearish.
An example use of this indicator would be to put in a 'buy' order when its value shows a significant proportion of the sampled candles were bearish, and put in a 'sell' order when a significant proportion of candles were bullish. Potential divergences of this oscillator may also be used to plan trades accordingly such as bearish divergence - price continues higher as the oscillator decreases in value and vise-versa.*
* Nothing in this script constitutes any form of financial advice. The user is solely responsible for their trading decisions and I will not be held liable for any losses or gains incurred with the use of this script. Please proceed with caution when using this script to assist with trading decisions.
█ LIMITATIONS
Range Volumetric Weights :
Because of the conditions that must be met in order for volume to be considered part of wicks, it is possible that the default settings and their intended reasoning will not produce reliable results. If all lower timeframe candles have highs or lows that are within the body of the candle at the chart's resolution, the volume for the wicks will effectively be 0, which is not an accurate representation of those wicks. This is one of the reasons why I included the ability to change the source values used for these conditions as certain OHLC values may produce more reliable/intended results under these conditions.
Wick Slice Resolution :
PineScript restricts the number of intrabar references to 100,000 total. This script uses 3 separate request.security_lower_tf calls and has a default resolution of 1 minute. This means that if the user were to set the oscillator to the Range setting, enable volume weighted, and had the Wick Slice Resolution set to 1 minute, this script will exceed this 100,000 reference restriction within 24 days of data and will not produce any results beyond the previous 23.14 days.
Below are example uses of all the different settings of this script, these are done on the 1D chart of COINBASE:BTCUSD :
Default Settings:
Classic - Volume Weighted:
Range - no Volume Weight:
Range - Volume Weighted (1 min slices):
Range - Volume Weighted (1 hour slices):
Display Min/Max Guide - No Restriction:
Display Min/Max Guide - Restriction:
Invert Colors:
STD/Clutter-Filtered, Kaiser Window FIR Digital Filter [Loxx]STD/Clutter-Filtered, Kaiser Window FIR Digital Filter is an is FIR digital filter using Kaiser Windowing. I've also included a clutter filter to reduce signal noise.
What is a Kaiser Window?
The Kaiser window, also known as the Kaiser–Bessel window, was developed by James Kaiser at Bell Laboratories. It is a one-parameter family of window functions used in finite impulse response filter design and spectral analysis. The Kaiser window approximates the DPSS window which maximizes the energy concentration in the main lobe but which is difficult to compute. Kaiser windowing strikes a balance among the various conflicting goals of amplitude accuracy, side lobe distance, and side lobe height. Choosing this window will often reveal signals close to the noise floor that other windows may obscure. For this reason, many spectrum analyzers default to this window. For our purposes here, we use a the Kaiser–Bessel-derived (KBD) window, which is designed to be suitable for use with the modified discrete cosine transform (MDCT).
You can read more here: The Io-sinh function, calculation of Kaiser windows and design of FIR filters
Kaiser Window Amplitudes (not the default settings)
What is a Finite Impulse Response Filter?
In signal processing, a finite impulse response (FIR) filter is a filter whose impulse response (or response to any finite length input) is of finite duration, because it settles to zero in finite time. This is in contrast to infinite impulse response (IIR) filters, which may have internal feedback and may continue to respond indefinitely (usually decaying).
The impulse response (that is, the output in response to a Kronecker delta input) of an Nth-order discrete-time FIR filter lasts exactly {\displaystyle N+1}N+1 samples (from first nonzero element through last nonzero element) before it then settles to zero.
FIR filters can be discrete-time or continuous-time, and digital or analog.
A FIR filter is (similar to, or) just a weighted moving average filter, where (unlike a typical equally weighted moving average filter) the weights of each delay tap are not constrained to be identical or even of the same sign. By changing various values in the array of weights (the impulse response, or time shifted and sampled version of the same), the frequency response of a FIR filter can be completely changed.
An FIR filter simply CONVOLVES the input time series (price data) with its IMPULSE RESPONSE. The impulse response is just a set of weights (or "coefficients") that multiply each data point. Then you just add up all the products and divide by the sum of the weights and that is it; e.g., for a 10-bar SMA you just add up 10 bars of price data (each multiplied by 1) and divide by 10. For a weighted-MA you add up the product of the price data with triangular-number weights and divide by the total weight.
Ultra Low Lag Moving Average's weights are designed to have MAXIMUM possible smoothing and MINIMUM possible lag compatible with as-flat-as-possible phase response.
What is a Clutter Filter?
For our purposes here, this is a filter that compares the slope of the trading filter output to a threshold to determine whether to shift trends. If the slope is up but the slope doesn't exceed the threshold, then the color is gray and this indicates a chop zone. If the slope is down but the slope doesn't exceed the threshold, then the color is gray and this indicates a chop zone. Alternatively if either up or down slope exceeds the threshold then the trend turns green for up and red for down. Fro demonstration purposes, an EMA is used as the moving average. This acts to reduce the noise in the signal.
Included
Bar coloring
Loxx's Expanded Source Types
Signals
Alerts
Realed Indicators
STD/Clutter Filtered, One-Sided, N-Sinc-Kernel, EFIR Filt
STD- and Clutter-Filtered, Non-Lag Moving Average
Clutter-Filtered, D-Lag Reducer, Spec. Ops FIR Filter
STD-Filtered, Ultra Low Lag Moving Average
[ChasinAlts] RSI (Time-Spent) Count[MO]// Hello fellow traduers, hope all is well in your neck of the woods. Anywho, I'll attempt to be short and sweet.
// I've been doing a LOT of work recently with RSI to figure out what its all about and to learn the ins and outs.
// Some great ideas (I think at least) have come to fruition from the deep-dive into RSI, thus, I've got 2 of these ideas
// to share. One notable feature for the RSI is when there is a BULLISH trend, it is VERY likely to stay within the upper
// 2/3rds of the RSI extremes (0-100) and vise-versa for BEARISH trends and the lower 2/3rds of the RSI extremes.
// That is where this script's idea was derived. Now PLEASE, do tell, if you disagree with me (preferably via a cool,
// calm, and collected comment...but hey, that's up to you). Ok, now the script.
//
// What this does is gives you a Bullish and Bearish count for the bars. Bullish Cnt counts up by +1 per every PRINTED bar
// that is above OverSold and vise-versa for the Bearish Cnt and being below OverBought. That does VERY MUCH make it
// possible for both counts to have a high value if RSI is staying between OverBought and OverSold for extended periods
// of time. Though, the ONLY count that will be shown is the one with the highest value.
//
// There are tooltips describing each of the settings but I will quickly talk about 3 more things. First of all, I prefer
// to have as few settings in the settings menu as possible thus the "Boundaries to OB/OS" setting can be viewed as the
// OverSold input and the OverBought setting is configured from this by subtracting "Boundaries to OB/OS" from 100
// (ie. 100-Oversold = OverBought). There Lastly, there is the option to show ONLY the coin with the MAX Count from each
// 'set' of coins. When that count resets to 0 then the next highest count coin will take its place. To use this instead
// of how the script is currently constructed you only need to comment out (add '//' at the beginning of each line of) the current
// plot functions and uncomment the lines at the very bottom under the 'MAX' section. Doing so also reveals the possibility of
// setting an alert for when the coin with the max count changes between different coins. This is very helpful because since it
// only gives the top count of ALL the coins in the selected set, this count is most likely going to continue forward with its
// count for a while thus when the alert goes off I prefer to look at the potential trades in the opposite direction of which
// the max coin was just in (ie. if its count plot/label is red and it stops then look for a potential long trade on the coin
// who's count just reset. Only ONE more piece of the script I have yet to talk about. There is a filter in the code and you
// can select to use or not use within the settings. What this filter does is it counts all the printed bars within the last
// ___bars(user selectable). This is due to the fact that if there is no trade that occurs on a bar then TradingView does not
// print the bar. The coins that have fewer updates also tend to stay within a tighter range for it's RSI thus many times
// giving the illusion that the coin is a good trade bc its trending count is very high (tending to be higher than the others)
// thus hogging the precious chart space if using the script in its current form, or hogging up the MAX slot so that no other
// (and most likely BETTER-TO-TRADE) coins will be shown. It is a great volatility indicator (that of which I have published
// a script using the idea in the recent past). If selected in the settings menu and if the % of printed bars count goes below
// the user set minimum % then both Bullish and Bearish counts will be reset. This is indicated within the counts plots by looking
// at the plots whose counts reset and rather than the plots just stopping printing in mid-air, they will continue to plot while the
// counts reset and fall down to 0. These types of coins will keep you in a trade longer that you'd probably want gaining less than
// you'd probably expect.
//
// Peace Folks & Happy Trading,
//
// ChasinAlts
Variety N-Tuple Moving Averages w/ Variety Stepping [Loxx]Variety N-Tuple Moving Averages w/ Variety Stepping is a moving average indicator that allows you to create 1- 30 tuple moving average types; i.e., Double-MA, Triple-MA, Quadruple-MA, Quintuple-MA, ... N-tuple-MA. This version contains 2 different moving average types. For example, using "50" as the depth will give you Quinquagintuple Moving Average. If you'd like to find the name of the moving average type you create with the depth input with this indicator, you can find a list of tuples here: Tuples extrapolated
Due to the coding required to adapt a moving average to fit into this indicator, additional moving average types will be added as they are created to fit into this unique use case. Since this is a work in process, there will be many future updates of this indicator. For now, you can choose from either EMA or RMA.
This indicator is also considered one of the top 10 forex indicators. See details here: forex-station.com
Additionally, this indicator is a computationally faster, more streamlined version of the following indicators with the addition of 6 stepping functions and 6 different bands/channels types.
STD-Stepped, Variety N-Tuple Moving Averages
STD-Stepped, Variety N-Tuple Moving Averages is the standard deviation stepped/filtered indicator of the following indicator
Last but not least, a big shoutout to @lejmer for his help in formulating a looping solution for this streamlined version. this indicator is speedy even at 50 orders deep. You can find his scripts here: www.tradingview.com
How this works
Step 1: Run factorial calculation on the depth value,
Step 2: Calculate weights of nested moving averages
factorial(depth) / (factorial(depth - k) * factorial(k); where depth is the depth and k is the weight position
Examples of coefficient outputs:
6 Depth: 6 15 20 15 6
7 Depth: 7 21 35 35 21 7
8 Depth: 8 28 56 70 56 28 8
9 Depth: 9 36 34 84 126 126 84 36 9
10 Depth: 10 45 120 210 252 210 120 45 10
11 Depth: 11 55 165 330 462 462 330 165 55 11
12 Depth: 12 66 220 495 792 924 792 495 220 66 12
13 Depth: 13 78 286 715 1287 1716 1716 1287 715 286 78 13
Step 3: Apply coefficient to each moving average
For QEMA, which is 5 depth EMA , the calculation is as follows
ema1 = ta. ema ( src , length)
ema2 = ta. ema (ema1, length)
ema3 = ta. ema (ema2, length)
ema4 = ta. ema (ema3, length)
ema5 = ta. ema (ema4, length)
In this new streamlined version, these MA calculations are packed into an array inside loop so Pine doesn't have to keep all possible series information in memory. This is handled with the following code:
temp = array.get(workarr, k + 1) + alpha * (array.get(workarr, k) - array.get(workarr, k + 1))
array.set(workarr, k + 1, temp)
After we pack the array, we apply the coefficients to derive the NTMA:
qema = 5 * ema1 - 10 * ema2 + 10 * ema3 - 5 * ema4 + ema5
Stepping calculations
First off, you can filter by both price and/or MA output. Both price and MA output can be filtered/stepped in their own way. You'll see two selectors in the input settings. Default is ATR ATR. Here's how stepping works in simple terms: if the price/MA output doesn't move by X deviations, then revert to the price/MA output one bar back.
ATR
The average true range (ATR) is a technical analysis indicator, introduced by market technician J. Welles Wilder Jr. in his book New Concepts in Technical Trading Systems, that measures market volatility by decomposing the entire range of an asset price for that period.
Standard Deviation
Standard deviation is a statistic that measures the dispersion of a dataset relative to its mean and is calculated as the square root of the variance. The standard deviation is calculated as the square root of variance by determining each data point's deviation relative to the mean. If the data points are further from the mean, there is a higher deviation within the data set; thus, the more spread out the data, the higher the standard deviation.
Adaptive Deviation
By definition, the Standard Deviation (STD, also represented by the Greek letter sigma σ or the Latin letter s) is a measure that is used to quantify the amount of variation or dispersion of a set of data values. In technical analysis we usually use it to measure the level of current volatility .
Standard Deviation is based on Simple Moving Average calculation for mean value. This version of standard deviation uses the properties of EMA to calculate what can be called a new type of deviation, and since it is based on EMA , we can call it EMA deviation. And added to that, Perry Kaufman's efficiency ratio is used to make it adaptive (since all EMA type calculations are nearly perfect for adapting).
The difference when compared to standard is significant--not just because of EMA usage, but the efficiency ratio makes it a "bit more logical" in very volatile market conditions.
See how this compares to Standard Devaition here:
Adaptive Deviation
Median Absolute Deviation
The median absolute deviation is a measure of statistical dispersion. Moreover, the MAD is a robust statistic, being more resilient to outliers in a data set than the standard deviation. In the standard deviation, the distances from the mean are squared, so large deviations are weighted more heavily, and thus outliers can heavily influence it. In the MAD, the deviations of a small number of outliers are irrelevant.
Because the MAD is a more robust estimator of scale than the sample variance or standard deviation, it works better with distributions without a mean or variance, such as the Cauchy distribution.
For this indicator, I used a manual recreation of the quantile function in Pine Script. This is so users have a full inside view into how this is calculated.
Efficiency-Ratio Adaptive ATR
Average True Range (ATR) is widely used indicator in many occasions for technical analysis . It is calculated as the RMA of true range. This version adds a "twist": it uses Perry Kaufman's Efficiency Ratio to calculate adaptive true range
See how this compares to ATR here:
ER-Adaptive ATR
Mean Absolute Deviation
The mean absolute deviation (MAD) is a measure of variability that indicates the average distance between observations and their mean. MAD uses the original units of the data, which simplifies interpretation. Larger values signify that the data points spread out further from the average. Conversely, lower values correspond to data points bunching closer to it. The mean absolute deviation is also known as the mean deviation and average absolute deviation.
This definition of the mean absolute deviation sounds similar to the standard deviation (SD). While both measure variability, they have different calculations. In recent years, some proponents of MAD have suggested that it replace the SD as the primary measure because it is a simpler concept that better fits real life.
For Pine Coders, this is equivalent of using ta.dev()
Bands/Channels
See the information above for how bands/channels are calculated. After the one of the above deviations is calculated, the channels are calculated as output +/- deviation * multiplier
Signals
Green is uptrend, red is downtrend, yellow "L" signal is Long, fuchsia "S" signal is short.
Included:
Alerts
Loxx's Expanded Source Types
Bar coloring
Signals
6 bands/channels types
6 stepping types
Related indicators
3-Pole Super Smoother w/ EMA-Deviation-Corrected Stepping
STD-Stepped Fast Cosine Transform Moving Average
ATR-Stepped PDF MA
Psychological levels (Bank levels) PsychoLevels v2 - TartigradiaPsychological levels (Bank levels) plots "round" price levels above and below current price, by truncating after the nth leftmost digits, based on neuroscience research of how humans intuitively calculate in logarithms.
Psychological levels, also called bank levels, are "round" price numbers around which price often experience resistance or support, because traders and investors tend to set orders around these round numbers.
Calculation here is fully automatic and dynamic, contrary to other similar scripts, this one uses a mathematical calculation that extracts the 1, 2 or 3 leftmost digits and calculate the previous and next level by incrementing/decrementing these digits. This means it works for any symbol under any price range.
This approach is based on neuroscience research, which found that human brains intuitively approximate numbers on a logarithmic scale, adults and children alike, and similarly to macaques, for more info see Numerical Cognition , Weber-Fechner Law , Zipf law.
For example, if price is at 0.0421, the next major price level is 0.05 and medium one is 0.043. For another asset currently priced at 19354, the next and previous major price levels are 20000 and 10000 respectively, and the next/previous medium levels are 20000 and 19000, and the next/previous weak levels are 19400 and 19300.
Usage:
* By default, strong upper level is in green, strong lower level is in red, medium upper level is in blue, medium lower level is in yellow, and weak levels aren't displayed but can be. Half levels are also displayed, in a darker color. Strong levels are increments of the first leftmost digit (eg, 10000 to 20000), medium levels are increments of the second leftmost digit (eg, 19000 to 20000), and weak levels of the third leftmost digit (eg, 19100 to 19200). Instead of plotting all the psychological levels all at once as a grid, which makes the chart unintelligible, here the levels adapt dynamically around the current price, so that they show the upper/lower levels relatively to the current price.
* A simple moving average is implemented, so that "half-levels" are also displayed when relevant (eg, medium level can also display 19500 instead of only 19000 or 20000). This can be disabled by setting smoothing to 1.
* By default, the script runs on the daily timeframe, whatever the current chart's timeframe is. This is to reduce the variability in levels, to make it less noisy than intraday price movement, but this can be changed in the settings.
* The step can be adjusted to increase the gap between levels, eg, if you want to display one every 2 levels then input step = 2 (eg, 22000, 24000, 26000, etc), or if you want to display quarter levels, input 0.25 (eg, 22000, 22250, 22500, etc). The default values should fit most use cases and cover most psychological levels.
I made this script mainly to train with PineScript, but I found it surprisingly accurate to define levels that are respected by price movements. So I guess it can be useful for new traders and experienced traders alike, as it's easy to forget that psychological levels can often be as strong if not stronger than technical levels. It can also be used to quickly screen other minor assets for trading opportunities. For example, a hybrid strategy would be to manually define levels on BTCUSD but using this script to automatically define levels in crypto altcoins and quickly screen them for a trade opportunity that can be greater than with BTCUSD but with the same trend.
Changes compared to v1:
* Deduplicated redundant calculations and hence faster script.
* Added half-step levels, which allows to more easily see breakouts (because the levels are still on-screen).
* All steps are now configuration on the GUI.
* Revamped color scheme.
* And major reasons to post as a separate v2 script rather than updating: because we can't update the original description nor screenshot. I have now read more about the House Rules and saw other scriptmakers, so I am trying to write better descriptions like wizards do, by explaining not only how the script works but what the underlying financial concept is to a neophyte audience.
SubCandles-V2Further development on the sub-candle concept defined in the earlier script. SubCandle
This time instead of concentrating only on the last part, we are dividing the main candle into three parts.
First Sub-Candle - Covers the candle movement from open to first of highest/lowest point. First sub-candle tells how fast/slow the initial movement took place and which direction it went.
Second Sub-Candle - Is always a full bodied candle. Most important think here is the thickness of the sub-candle which tells how quickly or slowly the price went from one side of the peak to other.
Third Sub-Candle - Similar to first sub-candle but covers the last part. This part is similar to what we are depicting in the earlier version of Sub-Candle script.
Thickness of the sub-candle is based on relatively how much time each sub-candle took to complete within the main candle. Few interpretation can be:
If the first or third sub-candle are the thicker ones and if the thicker sub-candle has long wick, then it may mean strong rejection.
If the first or third sub-candle are thicker ones and if the thicker sub-candle has full body, it may mean higher volatility within the sub-candle.
If the second sub-candle is thicker than the rest - it can mean strong bias towards the direction of second sub-candle
Thinner second sub-candle may mean a dump/pump. May need to check third sub-candle to see if the dump/pump are followed by pump/dump
Also adding the screen shot reference below.
Note: This can repaint within bar. Use it as part of bar replay. Will try to add more option to select a particular candle without bar reply soon
Let me know what you think?
+ Dynamic Fibo-Donchian ChannelsThis is my second Donchian Channels indicator (and will probably be my last because how many does one really need). This version is different from my other one in that, well, it's 'dynamic' which simply means that it self adjusts based on the same formula that my Ultimate Moving Average does. What does that mean? It just means that the script takes an average of 8 different length, in this case, highest highs and lowest lows. The user doesn't need to pick a lookback/length/period/what-have-you. The indicator does it all itself. This, I think, makes for a very nice baseline or bias indicator to fit within a system that utilizes something like that. I also think it makes for a more accurate gauge of higher highs and lower lows within a timeframe, because honestly what does it mean to make a lower low over 20 periods or 8 periods or 50 periods? I don't know. What I do know is that traditional Donchian Channels never made much sense to me, but this does.
Additionally, I've kept (I guess that's not 'additionally') the fibonacci retracement levels from my other Donchian Channels indicator. These are calculated off the high and the low of the Donchian Channels themselves. You will see that there are only three retracement levels (.786, .705, .382), one of which is not a fib level, but what some people call the 'OTE,' or 'optimal trade entry.'' If you want more info on the OTE just web search it. So, why no .618 or .236? Reason being that the .618 overlaps the .382, and the .236 is extremely close to the .786. This sounds confusing, but the retracement levels I'm using are derived from the high and low, so it was unnecessary to have all five levels from each. I could have just calculated from the high, or just from the low, and used all the levels, but I chose to just calculate three levels from the high and three from the low because that gives a sort of mirror image balance, and that appeals to me, and the utility of the indicator is the same.
The plot lines are all colored, and I've filled certain zones between them. There is a center zone filled between both .382 levels, an upper and lower zon filled between the .786 and either the high or the low, and a zone between the .705 and .785
If you like the colored zones, but don't like the plots because they cause screen compression, turn off the plots under the "style" tab, or much more simply right click on the price scale and click 'scale price chart only.' Voila! No more screen compression due to a moving average or some other annoyance.
Besides that basis being a nice baseline indicator the various fib bands (or just the high and low bands) make for excellent mean reversion extremes in ranging environments.
There are alerts for candle closes across every line.
Below is an image of the indicator at default settings.
Below is an image of the indicator with the center .382 channel turned off.
Below is an image of the indicator with just the .786/.705 channel showing .
Ehlers Two-Pole Predictor [Loxx]Ehlers Two-Pole Predictor is a new indicator by John Ehlers . The translation of this indicator into PineScript™ is a collaborative effort between @cheatcountry and I.
The following is an excerpt from "PREDICTION" , by John Ehlers
Niels Bohr said “Prediction is very difficult, especially if it’s about the future.”. Actually, prediction is pretty easy in the context of technical analysis . All you have to do is to assume the market will behave in the immediate future just as it has behaved in the immediate past. In this article we will explore several different techniques that put the philosophy into practice.
LINEAR EXTRAPOLATION
Linear extrapolation takes the philosophical approach quite literally. Linear extrapolation simply takes the difference of the last two bars and adds that difference to the value of the last bar to form the prediction for the next bar. The prediction is extended further into the future by taking the last predicted value as real data and repeating the process of adding the most recent difference to it. The process can be repeated over and over to extend the prediction even further.
Linear extrapolation is an FIR filter, meaning it depends only on the data input rather than on a previously computed value. Since the output of an FIR filter depends only on delayed input data, the resulting lag is somewhat like the delay of water coming out the end of a hose after it supplied at the input. Linear extrapolation has a negative group delay at the longer cycle periods of the spectrum, which means water comes out the end of the hose before it is applied at the input. Of course the analogy breaks down, but it is fun to think of it that way. As shown in Figure 1, the actual group delay varies across the spectrum. For frequency components less than .167 (i.e. a period of 6 bars) the group delay is negative, meaning the filter is predictive. However, the filter has a positive group delay for cycle components whose periods are shorter than 6 bars.
Figure 1
Here’s the practical ramification of the group delay: Suppose we are projecting the prediction 5 bars into the future. This is fine as long as the market is continued to trend up in the same direction. But, when we get a reversal, the prediction continues upward for 5 bars after the reversal. That is, the prediction fails just when you need it the most. An interesting phenomenon is that, regardless of how far the extrapolation extends into the future, the prediction will always cross the signal at the same spot along the time axis. The result is that the prediction will have an overshoot. The amplitude of the overshoot is a function of how far the extrapolation has been carried into the future.
But the overshoot gives us an opportunity to make a useful prediction at the cyclic turning point of band limited signals (i.e. oscillators having a zero mean). If we reduce the overshoot by reducing the gain of the prediction, we then also move the crossing of the prediction and the original signal into the future. Since the group delay varies across the spectrum, the effect will be less effective for the shorter cycles in the data. Nonetheless, the technique is effective for both discretionary trading and automated trading in the majority of cases.
EXPLORING THE CODE
Before we predict, we need to create a band limited indicator from which to make the prediction. I have selected a “roofing filter” consisting of a High Pass Filter followed by a Low Pass Filter. The tunable parameter of the High Pass Filter is HPPeriod. Think of it as a “stone wall filter” where cycle period components longer than HPPeriod are completely rejected and cycle period components shorter than HPPeriod are passed without attenuation. If HPPeriod is set to be a large number (e.g. 250) the indicator will tend to look more like a trending indicator. If HPPeriod is set to be a smaller number (e.g. 20) the indicator will look more like a cycling indicator. The Low Pass Filter is a Hann Windowed FIR filter whose tunable parameter is LPPeriod. Think of it as a “stone wall filter” where cycle period components shorter than LPPeriod are completely rejected and cycle period components longer than LPPeriod are passed without attenuation. The purpose of the Low Pass filter is to smooth the signal. Thus, the combination of these two filters forms a “roofing filter”, named Filt, that passes spectrum components between LPPeriod and HPPeriod.
Since working into the future is not allowed in EasyLanguage variables, we need to convert the Filt variable to the data array XX. The data array is first filled with real data out to “Length”. I selected Length = 10 simply to have a convenient starting point for the prediction. The next block of code is the prediction into the future. It is easiest to understand if we consider the case where count = 0. Then, in English, the next value of the data array is equal to the current value of the data array plus the difference between the current value and the previous value. That makes the prediction one bar into the future. The process is repeated for each value of count until predictions up to 10 bars in the future are contained in the data array. Next, the selected prediction is converted from the data array to the variable “Prediction”. Filt is plotted in Red and Prediction is plotted in yellow.
The Predict Extrapolation indicator is shown below for the Emini S&P Futures contract using the default input parameters. Filt is plotted in red and Predict is plotted in yellow. The crossings of the Predict and Filt lines provide reliable buy and sell timing signals. There is some overshoot for the shorter cycle periods, for example in February and March 2021, but the only effect is a late timing signal. Further reducing the gain and/or reducing the BarsFwd inputs would provide better timing signals during this period.
Figure 2. Predict Extrapolation Provides Reliable Timing Signals
I have experimented with other FIR filters for predictions, but found none that had a significant advantage over linear extrapolation.
MESA
MESA is an acronym for Maximum Entropy Spectral Analysis. Conceptually, it removes spectral components until the residual is left with maximum entropy. It does this by forming an all-pole filter whose order is determined by the selected number of coefficients. It maximally addresses the data within the selected window and ignores all other data. Its resolution is determined only by the number of filter coefficients selected. Since the resulting filter is an IIR filter, a prediction can be formed simply by convolving the filter coefficients with the data. MESA is one of the few, if not the only way to practically determine the coefficients of a higher order IIR filter. Discussion of MESA is beyond the scope of this article.
TWO POLE IIR FILTER
While the coefficients of a higher order IIR filter are difficult to compute without MESA, it is a relatively simple matter to compute the coefficients of a two pole IIR filter.
(Skip this paragraph if you don’t care about DSP) We can locate the conjugate pole positions parametrically in the Z plane in polar coordinates. Let the radius be QQ and the principal angle be 360 / P2Period. The first order component is 2*QQ*Cosine(360 / P2Period) and the second order component is just QQ2. Therefore, the transfer response becomes:
H(z) = 1 / (1 - 2*QQ*Cosine(360 / P2Period)*Z-1 + QQ2*Z-2)
By mixing notation we can easily convert the transfer response to code.
Output / Input = 1 / (1 - 2*QQ*Cosine(360 / P2Period)* + QQ2* )
Output - 2*QQ*Cosine(360 / P2Period)*Output + QQ2*Output = Input
Output = Input + 2*QQ*Cosine(360 / P2Period)*Output - QQ2*Output
The Two Pole Predictor starts by computing the same “roofing filter” design as described for the Linear Extrapolation Predictor. The HPPeriod and LPPeriod inputs adjust the roofing filter to obtain the desired appearance of an indicator. Since EasyLanguage variables cannot be extended into the future, the prediction process starts by loading the XX data array with indicator data up to the value of Length. I selected Length = 10 simply to have a convenient place from which to start the prediction. The coefficients are computed parametrically from the conjugate pole positions and are normalized to their sum so the IIR filter will have unity gain at zero frequency.
The prediction is formed by convolving the IIR filter coefficients with the historical data. It is easiest to see for the case where count = 0. This is the initial prediction. In this case the new value of the XX array is formed by successively summing the product of each filter coefficient with its respective historical data sample. This process is significantly different from linear extrapolation because second order curvature is introduced into the prediction rather than being strictly linear. Further, the prediction is adaptive to market conditions because the degree of curvature depends on recent historical data. The prediction in the data array is converted to a variable by selecting the BarsFwd value. The prediction is then plotted in yellow, and is compared to the indicator plotted in red.
The Predict 2 Pole indicator is shown above being applied to the Emini S&P Futures contract for most of 2021. The default parameters for the roofing filter and predictor were used. By comparison to the Linear Extrapolation prediction of Figure 2, the Predict 2 Pole indicator has a more consistent prediction. For example, there is little or no overshoot in February or March while still giving good predictions in April and May.
Input parameters can be varied to adjust the appearance of the prediction. You will find that the indicator is relatively insensitive to the BarsFwd input. The P2Period parameter primarily controls the gain of the prediction and the QQ parameter primarily controls the amount of prediction lead during trending sections of the indicator.
TAKEAWAYS
1. A more or less universal band limited “roofing filter” indicator was used to demonstrate the predictors. The HPPeriod input parameter is used to control whether the indicator looks more like a trend indicator or more like a cycle indicator. The LPPeriod input parameter is used to control the smoothness of the indicator.
2. A linear extrapolation predictor is formed by adding the difference of the two most recent data bars to the value of the last data bar. The result is considered to be a real data point and the process is repeated to extend the prediction into the future. This is an FIR filter having a one bar negative group delay at zero frequency, but the group delay is not constant across the spectrum. This variable group delay causes the linear extrapolation prediction to be inconsistent across a range of market conditions.
3. The degree of prediction by linear extrapolation can be controlled by varying the gain of the prediction to reduce the overshoot to be about the same amplitude as the peak swing of the indicator.
4. I was unable to experimentally derive a higher order FIR filter predictor that had advantages over the simple linear extrapolation predictor.
5. A Two Pole IIR predictor can be created by parametrically locating the conjugate pole positions.
6. The Two Pole predictor is a second order filter, which allows curvature into the prediction, thus mitigating overshoot. Further, the curvature is adaptive because the prediction depends on previously computed prediction values.
7. The Two Pole predictor is more consistent over a range of market conditions.
ADDITIONS
Loxx's Expanded source types:
Library for expanded source types:
Explanation for expanded source types:
Three different signal types: 1) Prediction/Filter crosses; 2) Prediction middle crosses; and, 3) Filter middle crosses.
Bar coloring to color trend.
Signals, both Long and Short.
Alerts, both Long and Short.
Strategy Myth-Busting #2 - Braid Filter+ADX+EMA-Trend - [MYN]This is part of a new series we are calling "Strategy Myth-Busting" where we take open public manual trading strategies and automate them. The goal is to not only validate the authenticity of the claims but to provide an automated version for traders who wish to trade autonomously.
Our second one we are automating is the " Braid Filter: The Indicator That Will Make You a Fortune ( Crazy Win Rate ! ) " strategy from " TradeIQ " who claims to have backtested this manually and achieved 453% profit with a 75% winrate over 100 trades in just a few months. I was unable to emulate these results accommodating for slippage and commission but this strategy does fair pretty well at least compared to the first one we automated.
If you know of or have a strategy you want to see myth-busted or just have an idea for one, please feel free to message me.
This strategy uses a combination of 3 open-source public indicators:
Braid Filter by Robert Hill
CM_EMA Trend Bars by Chris Moody
ADX and DI for V4 by Trend Bars by BeikabuOyaji
Trading Rules
15 min candles but other time-frames seem to work well too.
Long
1) Buy Price action above moving average. (bars are green)
2) Braid filter must issue a new green bar
3) ADX must be above the 20 level and be pointed up, If flat or downwards, don't enter trade (adjust ADX Slope to increase/decrease the incline of the slope)
4) Stop loss at the moving average or recent swing low.
Short
1) Buy Price action below moving average. (bars are red)
2) Braid filter must issue a new red bar
3) ADX must be above the 20 level and be pointed up, If flat or downwards, don't enter trade (adjust ADX Slope to increase/decrease the incline of the slope)
4) Stop loss at the moving average or recent swing high.
Target 1.5x the risk
TriexDev - SuperBuySellTrend (PLUS+)Minimal but powerful.
Have been using this for myself, so thought it would be nice to share publicly. Of course no script is correct 100% of the time, but this is one of if not the best in my basic tools. (This is the expanded/PLUS version)
Github Link for latest/most detailed + tidier documentation
Base Indicator - Script Link
TriexDev - SuperBuySellTrend (SBST+) TradingView Trend Indicator
---
SBST Plus+
Using the "plus" version is optional, if you only want the buy/sell signals - use the "base" version.
## What are vector candles?
Vector Candles (inspired to add from TradersReality/MT4) are candles that are colour coded to indicate higher volumes, and likely flip points / direction changes, or confirmations.
These are based off of PVSRA (Price, Volume, Support, Resistance Analysis).
You can also override the currency that this runs off of, including multiple ones - however adding more may slow things down.
PVSRA - From MT4 source:
Situation "Climax"
Bars with volume >= 200% of the average volume of the 10 previous chart TFs, and bars
where the product of candle spread x candle volume is >= the highest for the 10 previous
chart time TFs.
Default Colours: Bull bars are green and bear bars are red.
Situation "Volume Rising Above Average"
Bars with volume >= 150% of the average volume of the 10 previous chart TFs.
Default Colours: Bull bars are blue and bear are blue-violet.
A blue or purple bar can mean the chart has reached a top or bottom.
High volume bars during a movement can indicate a big movement is coming - or a top/bottom if bulls/bears are unable to break that point - or the volume direction has flipped.
This can also just be a healthy short term movement in the opposite direction - but at times sets obvious trend shifts.
## Volume Tracking
You can shift-click any candle to get the volume of that candle (in the pair token/stock), if you click and drag - you will see the volume for that range.
## Bollinger Bands
Bollinger Bands can be enabled in the settings via the toggle.
Bollinger Bands are designed to discover opportunities that give investors a higher probability of properly identifying when an asset is oversold (bottom lines) or overbought (top lines).
>There are three lines that compose Bollinger Bands: A simple moving average (middle band) and an upper and lower band.
>The upper and lower bands are typically 2 standard deviations +/- from a 20-day simple moving average, but they can be modified.
---
Base Indicator
## What is ATR?
The average true range (ATR) is a technical analysis indicator, which measures market volatility by decomposing the entire range of an asset price for that period.
The true range indicator is taken as the greatest of the following:
- current high - the current low;
- the absolute value of the current high - the previous close;
- and the absolute value of the current low - the previous close.
The ATR is then a moving average, generally using 10/14 days, of the true ranges.
## What does this indicator do?
Uses the ATR and multipliers to help you predict price volatility, ranges and trend direction.
> The buy and sell signals are generated when the indicator starts
plotting either on top of the closing price or below the closing price. A buy signal is generated when the ‘Supertrend’ closes above the price and a sell signal is generated when it closes below the closing price.
> It also suggests that the trend is shifting from descending mode to ascending mode. Contrary to this, when a ‘Supertrend’ closes above the price, it generates a sell signal as the colour of the indicator changes into red.
> A ‘Supertrend’ indicator can be used on equities, futures or forex, or even crypto markets and also on daily, weekly and hourly charts as well, but generally, it will be less effective in a sideways-moving market.
Thanks to KivancOzbilgic who made the original SuperTrend Indicator this was based off
---
## Usage Notes
Two indicators will appear, the default ATR multipliers are already set for what I believe to be perfect for this particular (double indicator) strategy.
If you want to break it yourself (I couldn't find anything that tested more accurately myself), you can do so in the settings once you have added the indicator.
Basic rundown:
- A single Buy/Sell indicator in the dim colour; may be setting a direction change, or just healthy movement.
- When the brighter Buy/Sell indicator appears; it often means that a change in direction (uptrend or downtrend) is confirmed.
---
You can see here, there was a (brighter) green indicator which flipped down then up into a (brighter) red sell indicator which set the downtrend. At the end it looks like it may be starting to break the downtrend - as the price is hitting the trend line. (Would watch for whether it holds above or drops below at that point)
Another example, showing how sometimes it can still be correct but take some time to play out - with some arrow indicators.
Typically I would also look at oscillators, RSI and other things to confirm - but here it held above the trend lines nicely, so it appeared to be rather obvious.
It's worth paying attention to the trend lines and where the candles are sitting.
Once you understand/get a feel for the basics of how it works - it can become a very useful tool in your trading arsenal.
Also works for traditional markets & commodities etc in the same way / using the same ATR multipliers, however of course crypto generally has bigger moves.
---
You can use this and other indicators to confirm likeliness of a direction change prior to the brighter/confirmation one appearing - but just going by the 2nd(brighter) indicators, I have found it to be surprisingly accurate.
Tends to work well on virtually all timeframes, but personally prefer to use it on 5min,15min,1hr, 4hr, daily, weekly. Will still work for shorter/other timeframes, but may be more accurate on mid ones.
---
This will likely be updated as I go / find useful additions that don't convolute things. The base indicator may be updated with some limited / toggle-able features in future also.
PrasiGanFanFibntroduction
This is a combination of Fibonacci and Gann fan /retracements.
The script can automatically draw as many:
Fibonacci Retracements
Fibonacci Fan
Gann Retracements
Gann Fan
as the user requires on the chart. Each level set or fan consists of 7 lines based on the most important ratios of Fibonacci/ Gann .
Basics
What are Fibonacci retracements?
Fibonacci retracement levels are horizontal lines that indicate where support and resistance are likely to occur. They stem from Fibonacci’s sequence. Each level is associated with a percentage which is how much of a prior move the price has retraced. The Fibonacci retracement levels are 23.6%, 38.2%, 61.8%, and 78.6%. While not officially a Fibonacci ratio, 50% is also used. The indicator is useful because it can be drawn between any two significant price points, such as a high and a low. The indicator will then create the levels between those two points.
What are Gann retracements?
A developer of technical analysis and trading was W.D. Gann . Gann theory expects a normal retracement of 50 percent. This means that under normal selling pressure, the stock price will decline half the amount of its most recent rise, and vice versa. It also suggests that retracements occur at the halfway point of a move, such as 25 percent (half of 50 percent), 12.5 percent (half of 25 percent), and so on.
What is Fibonacci fan?
Fibonacci fan is a set of sequential trend lines drawn from a trough or peak through a set of points dictated by Fibonacci retracements. The first step to create it is to draw a trend line covering the local lowest and highest prices of a security. To reach retracement levels, the trader divides the difference in price at the low and high end by ratios determined by the Fibonacci series. The lines formed by connecting the starting point for the base trend line and each retracement level create the Fibonacci fan.
What is Gann fan?
A Gann fan consists of a series of lines called Gann angles. These angles are superimposed over a price chart to show potential support and resistance levels. The resulting image is supposed to help technical analysts predict price changes. Gann believed the 45-degree angle to be most important, but the Gann fan also draws angles at degrees like 75, 63.75, 26.25 and 15. The Gann fan originates at a low or high point. The resulting lines show areas of potential future support and resistance . The 45-degree line is known as the 1:1 line because the price will rise or fall at a 45-degree angle when the price moves up/down one unit for each unit of time. All other lines in the Gann fan are drawn above and below the 1:1 line. The other angles are associated with 2:1, 3:1, 4:1, 8:1 and 1:8, 1:4, 1:3, and 1:2 time-to-price moves.
Challenges
The most of the time I dedicated to writing this script has been spent on handling these problems:
1. Finding Local Highest/Lowest Prices
In order to draw Fibonacci and Gann fan /retracements, it's necessary to find local highest and lowest price points (Extrema) on the chart. As this could be so challenging, most traders and coders draw the lines covering the low and high prices over a given period of time or a limited number of bars back instead. I already wrote an indicator using this approach (Auto Fibonacci Combo).
In this new script I tried to find the exact highest and lowest prices based on this idea that: if a high point is formed lower than previous high which was after a lowest point, then that previous one was the local highest point, and vice versa if a low point is formed higher than previous low which was after a highest point, then that previous one was the local lowest point. So logically an extremum price on the chart won't be found until the next high/low point is formed.
2. Finding Proper Chart Scale for Gann Fan
Based on the theory, Gann angles are sensitive to the chart price scale and in order to have the right angles, the chart must be made with the proper scale. J.A. Hyerczyk in his book "Pattern, Price & Time - Using Gann Theory in Technical Analysis" suggests that the easiest way to determine the scale of a market is by taking the difference between top-to-top and bottom-to-bottom and dividing it by the time it took the market to move from top to top and bottom to bottom.
Thus on a properly constructed chart, the basic equation for calculating Gann angles is: Price * Time.
3. Drawing Fans and Relocating Fan Labels at Each New Bar in Pine (A Programming-Related Subject)
To do this, I used linear equations and line slopes. Of course it was so complicated and exhausting, but finally I overcame that thanks to my genius cousin.
Settings and Usage
By default, the script shows detected extremum points plus 1 Fibonacci fan, 1 Gann fan , 1 set of Fibonacci retracements and no Gann retracements on the chart. All of these could be changed in the indicator settings beside the color and transparency of each line.
Feel free to use this and send me your thoughts!
Real-Fast Fourier Transform of Price w/ Linear Regression [Loxx]Real-Fast Fourier Transform of Price w/ Linear Regression is a indicator that implements a Real-Fast Fourier Transform on Price and modifies the output by a measure of Linear Regression. The solid line is the Linear Regression Trend of the windowed data, The green/red line is the Real FFT of price.
What is the Discrete Fourier Transform?
In mathematics, the discrete Fourier transform (DFT) converts a finite sequence of equally-spaced samples of a function into a same-length sequence of equally-spaced samples of the discrete-time Fourier transform (DTFT), which is a complex-valued function of frequency. The interval at which the DTFT is sampled is the reciprocal of the duration of the input sequence. An inverse DFT is a Fourier series, using the DTFT samples as coefficients of complex sinusoids at the corresponding DTFT frequencies. It has the same sample-values as the original input sequence. The DFT is therefore said to be a frequency domain representation of the original input sequence. If the original sequence spans all the non-zero values of a function, its DTFT is continuous (and periodic), and the DFT provides discrete samples of one cycle. If the original sequence is one cycle of a periodic function, the DFT provides all the non-zero values of one DTFT cycle.
What is the Complex Fast Fourier Transform?
The complex Fast Fourier Transform algorithm transforms N real or complex numbers into another N complex numbers. The complex FFT transforms a real or complex signal x in the time domain into a complex two-sided spectrum X in the frequency domain. You must remember that zero frequency corresponds to n = 0, positive frequencies 0 < f < f_c correspond to values 1 ≤ n ≤ N/2 −1, while negative frequencies −fc < f < 0 correspond to N/2 +1 ≤ n ≤ N −1. The value n = N/2 corresponds to both f = f_c and f = −f_c. f_c is the critical or Nyquist frequency with f_c = 1/(2*T) or half the sampling frequency. The first harmonic X corresponds to the frequency 1/(N*T).
The complex FFT requires the list of values (resolution, or N) to be a power 2. If the input size if not a power of 2, then the input data will be padded with zeros to fit the size of the closest power of 2 upward.
What is Real-Fast Fourier Transform?
Has conditions similar to the complex Fast Fourier Transform value, except that the input data must be purely real. If the time series data has the basic type complex64, only the real parts of the complex numbers are used for the calculation. The imaginary parts are silently discarded.
Inputs:
src = source price
uselreg = whether you wish to modify output with linear regression calculation
Windowin = windowing period, restricted to powers of 2: "4", "8", "16", "32", "64", "128", "256", "512", "1024", "2048"
Treshold = to modified power output to fine tune signal
dtrendper = adjust regression calculation
barsback = move window backward from bar 0
mutebars = mute bar coloring for the range
Further reading:
Real-valued Fast Fourier Transform Algorithms IEEE Transactions on Acoustics, Speech, and Signal Processing, June 1987
Related indicators utilizing Fourier Transform
Fourier Extrapolator of Variety RSI w/ Bollinger Bands
Fourier Extrapolation of Variety Moving Averages
Fourier Extrapolator of Price w/ Projection Forecast
Ultimate IndicatorThis is a combination of all the price chart indicators I frequently switch between. It contains my day time highlighter (for day trading), multi-timeframe long-term trend indicator for current commodity in the bottom right, customizable trend EMA which also has multi-timeframe drawing capabilities, VWAP, customizable indicators with separate settings from the trend indicator including: EMA, HL2 over time, Donchian Channels, Keltner Channels, Bollinger Bands, and Super Trend. The settings for these are right below the trend settings and can have their length and multiplier adjusted. All of those also have multi-timeframe capabilities separate from the trend multi-time settings.
The Day Trade Highlight option will draw faint yellow between 9:15-9:25, red between 9:25-9:45, yellow between 9:45-10:05. There will be one white background at 9:30am to show the opening of the market. while the market is open there will be a very faint blue background. For the end of the day there will be yellow between 15:45-15:50, red between 15:50-16:00, and yellow between 16:00-16:05. During the night hours, there is no coloring. The purpose of this highlight is to show the opening / closing times of the market and the hot times for large moves.
The indicators can also be colored in the following ways:
1. Simple = Makes all colors for the indicator Gray
2. Trend = Will use the Donchian Channels to get the short-trend direction and by default will color the short-term direction as Blue or Red. Unless using Super Trend, the Donchian Channel is used to find short-term trend direction.
3. Trend Adv = Will use the Donchian Channels to get the short-trend direction and by default will color the short-term direction as Blue or Red. Unless using Super Trend, the Donchian Channel is used to find short-term trend direction. If there is a short-term up-trend during a long-term down-trend, the Blue will become Navy. If short-term down-trend during long-term up-trend, the Red will be Brown.
4. Squeeze = Compares the Bollinger Bands width to the Keltner Channels width and will color based on relative squeeze of the market: Teal = no squeeze. Yellow = little squeeze. Red = decent squeeze. White = huge squeeze. if you do not understand this one, try drawing the Bollinger Bands while using the Squeeze color option and it should become more apparent how this works. I also recommend leaving the length and multiplier to the default 20 and 2 if using this setting and only changing the timeframe to get longer/shorter lengths as I've seen that changing the length or multiplier can more or less make it not work at all.
Along with the indicator settings are options to draw lines/labels/fills for the indicator. I enjoy having only fills for a cleaner look.
The Labels option will show Buy/Sell signals when the short-term trend flips to agree with the long-term trend.
The Trend Bars option will do the same as the Labels option but instead will color the bars white when a Buy/Sell option is given.
The Range Bars option shows will color a bar white when the Close of a candle is outside of a respective ranging indicator option (Bollinger or Keltner).
The Trend Bars will draw white candles no matter which indicator selection you make (even "Off"). However, Range Bars will only draw white when either Bollinger or Keltner are selected.
The Donchian Channels and Super Trend are trending indicators and should be used during trending markets. I like to use the MACD in conjunction with these indicators for possibly earlier entries.
The Bollinger Bands and Keltner Channel are ranging indicators and should be used during ranging markets. I like to use the RSI in conjunction with these indicators and will use 60/40 for overbought and oversold areas rather than 70/30. During a range, I wait for an overbought or oversold indication and will buy/sell when it crosses back into the middle area and close my position when it touches the opposite band.
I have a MACD/RSI combination indicator if you'd like that as well :D
As always, trade at your own risk. This is not some secret indicator that will 100% win. As always, the trades you see in the picture use a 1:1.5 or 1:2 risk to reward ratio, for today (August 8, 2022) it won 5/6 times with one trade still open at the end of the day. Manage your account correctly and you'll win in the long term. Hit me up with any questions or suggestions. Happy Trading!
Fourier Extrapolation of Variety Moving Averages [Loxx]Fourier Extrapolation of Variety Moving Averages is a Fourier Extrapolation (forecasting) indicator that has for inputs 38 different types of moving averages along with 33 different types of sources for those moving averages. This is a forecasting indicator of the selected moving average of the selected price of the underlying ticker. This indicator will repaint, so past signals are only as valid as the current bar. This indicator allows for up to 1500 bars between past bars and future projection bars. If the indicator won't load on your chart. check the error message for details on how to fix that, but you must ensure that past bars + futures bars is equal to or less than 1500.
Fourier Extrapolation using the Quinn-Fernandes algorithm is one of several (5-10) methods of signals forecasting that I'l be demonstrating in Pine Script.
What is Fourier Extrapolation?
This indicator uses a multi-harmonic (or multi-tone) trigonometric model of a price series xi, i=1..n, is given by:
xi = m + Sum( a*Cos(w*i) + b*Sin(w*i), h=1..H )
Where:
xi - past price at i-th bar, total n past prices;
m - bias;
a and b - scaling coefficients of harmonics;
w - frequency of a harmonic ;
h - harmonic number;
H - total number of fitted harmonics.
Fitting this model means finding m, a, b, and w that make the modeled values to be close to real values. Finding the harmonic frequencies w is the most difficult part of fitting a trigonometric model. In the case of a Fourier series, these frequencies are set at 2*pi*h/n. But, the Fourier series extrapolation means simply repeating the n past prices into the future.
This indicator uses the Quinn-Fernandes algorithm to find the harmonic frequencies. It fits harmonics of the trigonometric series one by one until the specified total number of harmonics H is reached. After fitting a new harmonic , the coded algorithm computes the residue between the updated model and the real values and fits a new harmonic to the residue.
see here: A Fast Efficient Technique for the Estimation of Frequency , B. G. Quinn and J. M. Fernandes, Biometrika, Vol. 78, No. 3 (Sep., 1991), pp . 489-497 (9 pages) Published By: Oxford University Press
The indicator has the following input parameters:
src - input source
npast - number of past bars, to which trigonometric series is fitted;
Nfut - number of predicted future bars;
nharm - total number of harmonics in model;
frqtol - tolerance of frequency calculations.
Included:
Loxx's Expanded Source Types
Loxx's Moving Averages
Other indicators using this same method
Fourier Extrapolator of Variety RSI w/ Bollinger Bands
Fourier Extrapolator of Price w/ Projection Forecast
Fourier Extrapolator of Price
Loxx's Moving Averages: Detailed explanation of moving averages inside this indicator
Loxx's Expanded Source Types: Detailed explanation of source types used in this indicator
Fourier Extrapolator of Price w/ Projection Forecast [Loxx]Due to popular demand, I'm pusblishing Fourier Extrapolator of Price w/ Projection Forecast.. As stated in it's twin indicator, this one is also multi-harmonic (or multi-tone) trigonometric model of a price series xi, i=1..n, is given by:
xi = m + Sum( a*Cos(w*i) + b*Sin(w*i), h=1..H )
Where:
xi - past price at i-th bar, total n past prices;
m - bias;
a and b - scaling coefficients of harmonics;
w - frequency of a harmonic ;
h - harmonic number;
H - total number of fitted harmonics.
Fitting this model means finding m, a, b, and w that make the modeled values to be close to real values. Finding the harmonic frequencies w is the most difficult part of fitting a trigonometric model. In the case of a Fourier series, these frequencies are set at 2*pi*h/n. But, the Fourier series extrapolation means simply repeating the n past prices into the future.
This indicator uses the Quinn-Fernandes algorithm to find the harmonic frequencies. It fits harmonics of the trigonometric series one by one until the specified total number of harmonics H is reached. After fitting a new harmonic , the coded algorithm computes the residue between the updated model and the real values and fits a new harmonic to the residue.
see here: A Fast Efficient Technique for the Estimation of Frequency , B. G. Quinn and J. M. Fernandes, Biometrika, Vol. 78, No. 3 (Sep., 1991), pp . 489-497 (9 pages) Published By: Oxford University Press
The indicator has the following input parameters:
src - input source
npast - number of past bars, to which trigonometric series is fitted;
Nfut - number of predicted future bars;
nharm - total number of harmonics in model;
frqtol - tolerance of frequency calculations.
The indicator plots two curves: the green/red curve indicates modeled past values and the yellow/fuchsia curve indicates the modeled future values.
The purpose of this indicator is to showcase the Fourier Extrapolator method to be used in future indicators.
PA-Adaptive Polynomial Regression Fitted Moving Average [Loxx]PA-Adaptive Polynomial Regression Fitted Moving Average is a moving average that is calculated using Polynomial Regression Analysis. The purpose of this indicator is to introduce polynomial fitting that is to be used in future indicators. This indicator also has Phase Accumulation adaptive period inputs. Even though this first indicator is for demonstration purposes only, its still one of the only viable implementations of Polynomial Regression Analysis on TradingView is suitable for trading, and while this same method can be used to project prices forward, I won't be doing that since forecasting is generally worthless and causes unavoidable repainting. This indicator only repaints on the current bar. Once the bar closes, any signal on that bar won't change.
For other similar Polynomial Regression Fitted methodologies, see here
Poly Cycle
What is the Phase Accumulation Cycle?
The phase accumulation method of computing the dominant cycle is perhaps the easiest to comprehend. In this technique, we measure the phase at each sample by taking the arctangent of the ratio of the quadrature component to the in-phase component. A delta phase is generated by taking the difference of the phase between successive samples. At each sample we can then look backwards, adding up the delta phases.When the sum of the delta phases reaches 360 degrees, we must have passed through one full cycle, on average.The process is repeated for each new sample.
The phase accumulation method of cycle measurement always uses one full cycle’s worth of historical data.This is both an advantage and a disadvantage.The advantage is the lag in obtaining the answer scales directly with the cycle period.That is, the measurement of a short cycle period has less lag than the measurement of a longer cycle period. However, the number of samples used in making the measurement means the averaging period is variable with cycle period. longer averaging reduces the noise level compared to the signal.Therefore, shorter cycle periods necessarily have a higher out- put signal-to-noise ratio.
What is Polynomial Regression?
In statistics, polynomial regression is a form of regression analysis in which the relationship between the independent variable x and the dependent variable y is modelled as an nth degree polynomial in x. Polynomial regression fits a nonlinear relationship between the value of x and the corresponding conditional mean of y, denoted E(y |x). Although polynomial regression fits a nonlinear model to the data, as a statistical estimation problem it is linear, in the sense that the regression function E(y | x) is linear in the unknown parameters that are estimated from the data. For this reason, polynomial regression is considered to be a special case of multiple linear regression.
Things to know
You can select from 33 source types
The source is smoothed before being injected into the Polynomial fitting algorithm, there are 35+ moving averages to choose from for smoothing
The output of the Polynomial fitting algorithm is then smoothed to create the signal, there are 35+ moving averages to choose from for smoothing
Included
Alerts
Signals
Bar coloring
VHF-Adaptive, Digital Kahler Variety RSI w/ Dynamic Zones [Loxx]VHF-Adaptive, Digital Kahler Variety RSI w/ Dynamic Zones is an RSI indicator with adaptive inputs, Digital Kahler filtering, and Dynamic Zones. This indicator uses a Vertical Horizontal Filter for calculating the adaptive period inputs and allows the user to select from 7 different types of RSI.
What is VHF Adaptive Cycle?
Vertical Horizontal Filter (VHF) was created by Adam White to identify trending and ranging markets. VHF measures the level of trend activity, similar to ADX DI. Vertical Horizontal Filter does not, itself, generate trading signals, but determines whether signals are taken from trend or momentum indicators. Using this trend information, one is then able to derive an average cycle length.
What is Digital Kahler?
From Philipp Kahler's article for www.traders-mag.com, August 2008. "A Classic Indicator in a New Suit: Digital Stochastic"
Digital Indicators
Whenever you study the development of trading systems in particular, you will be struck in an extremely unpleasant way by the seemingly unmotivated indentations and changes in direction of each indicator. An experienced trader can recognise many false signals of the indicator on the basis of his solid background; a stupid trading system usually falls into any trap offered by the unclear indicator course. This is what motivated me to improve even further this and other indicators with the help of a relatively simple procedure. The goal of this development is to be able to use this indicator in a trading system with as few additional conditions as possible. Discretionary traders will likewise be happy about this clear course, which is not nerve-racking and makes concentrating on the essential elements of trading possible.
How Is It Done?
The digital stochastic is a child of the original indicator. We owe a debt of gratitude to George Lane for his idea to design an indicator which describes the position of the current price within the high-low range of the historical price movement. My contribution to this indicator is the changed pattern which improves the quality of the signal without generating too long delays in giving signals. The trick used to generate this “digital” behavior of the indicator. It can be used with most oscillators like RSI or CCI .
First of all, the original is looked at. The indicator always moves between 0 and 100. The precise position of the indicator or its course relative to the trigger line are of no interest to me, I would just like to know whether the indicator is quoted below or above the value 50. This is tantamount to the question of whether the market is just trading above or below the middle of the high-low range of the past few days. If the market trades in the upper half of its high-low range, then the digital stochastic is given the value 1; if the original stochastic is below 50, then the value –1 is given. This leads to a sequence of 1/-1 values – the digital core of the new indicator. These values are subsequently smoothed by means of a short exponential moving average . This way minor false signals are eliminated and the indicator is given its typical form.
What are Dynamic Zones?
As explained in "Stocks & Commodities V15:7 (306-310): Dynamic Zones by Leo Zamansky, Ph .D., and David Stendahl"
Most indicators use a fixed zone for buy and sell signals. Here’ s a concept based on zones that are responsive to past levels of the indicator.
One approach to active investing employs the use of oscillators to exploit tradable market trends. This investing style follows a very simple form of logic: Enter the market only when an oscillator has moved far above or below traditional trading lev- els. However, these oscillator- driven systems lack the ability to evolve with the market because they use fixed buy and sell zones. Traders typically use one set of buy and sell zones for a bull market and substantially different zones for a bear market. And therein lies the problem.
Once traders begin introducing their market opinions into trading equations, by changing the zones, they negate the system’s mechanical nature. The objective is to have a system automatically define its own buy and sell zones and thereby profitably trade in any market — bull or bear. Dynamic zones offer a solution to the problem of fixed buy and sell zones for any oscillator-driven system.
An indicator’s extreme levels can be quantified using statistical methods. These extreme levels are calculated for a certain period and serve as the buy and sell zones for a trading system. The repetition of this statistical process for every value of the indicator creates values that become the dynamic zones. The zones are calculated in such a way that the probability of the indicator value rising above, or falling below, the dynamic zones is equal to a given probability input set by the trader.
To better understand dynamic zones, let's first describe them mathematically and then explain their use. The dynamic zones definition:
Find V such that:
For dynamic zone buy: P{X <= V}=P1
For dynamic zone sell: P{X >= V}=P2
where P1 and P2 are the probabilities set by the trader, X is the value of the indicator for the selected period and V represents the value of the dynamic zone.
The probability input P1 and P2 can be adjusted by the trader to encompass as much or as little data as the trader would like. The smaller the probability, the fewer data values above and below the dynamic zones. This translates into a wider range between the buy and sell zones. If a 10% probability is used for P1 and P2, only those data values that make up the top 10% and bottom 10% for an indicator are used in the construction of the zones. Of the values, 80% will fall between the two extreme levels. Because dynamic zone levels are penetrated so infrequently, when this happens, traders know that the market has truly moved into overbought or oversold territory.
Calculating the Dynamic Zones
The algorithm for the dynamic zones is a series of steps. First, decide the value of the lookback period t. Next, decide the value of the probability Pbuy for buy zone and value of the probability Psell for the sell zone.
For i=1, to the last lookback period, build the distribution f(x) of the price during the lookback period i. Then find the value Vi1 such that the probability of the price less than or equal to Vi1 during the lookback period i is equal to Pbuy. Find the value Vi2 such that the probability of the price greater or equal to Vi2 during the lookback period i is equal to Psell. The sequence of Vi1 for all periods gives the buy zone. The sequence of Vi2 for all periods gives the sell zone.
In the algorithm description, we have: Build the distribution f(x) of the price during the lookback period i. The distribution here is empirical namely, how many times a given value of x appeared during the lookback period. The problem is to find such x that the probability of a price being greater or equal to x will be equal to a probability selected by the user. Probability is the area under the distribution curve. The task is to find such value of x that the area under the distribution curve to the right of x will be equal to the probability selected by the user. That x is the dynamic zone.
Included:
Bar coloring
4 signal types
Alerts
Loxx's Expanded Source Types
Loxx's Moving Averages
Loxx's Variety RSI
Loxx's Dynamic Zones
True Adaptive-Lookback Phase Change Index [Loxx]Previously I posted a Phase Change Index using Ehlers Autocorrelation Periodogram Algorithm to tease out the adaptive periods. You can find the previous version here: . This new version is also adaptive but uses a different method to derive the adaptive length inputs. This adaptive method derives period inputs by counting pivots from past candles. This version also relies on Jurik Smoothing to generate the final signal. I named this one "true" because I should have specified in the previous PCI's title that it's powered by Ehlers Autocorrelation Periodogram. Additionally, you'll notice the ALB algorithm has changed from other indicators, This is restrict the range of possible ALB period outputs to a specific range so the indicator is usable.
And remember, this is an inverse indicator. This means that small values on the oscillator indicate bullish sentiment and higher values on the oscillator indicate bearish sentiment.
What is the Phase Change Index?
Based on the M.H. Pee's TASC article "Phase Change Index".
Prices at any time can be up, down, or unchanged. A period where market prices remain relatively unchanged is referred to as a consolidation. A period that witnesses relatively higher prices is referred to as an uptrend, while a period of relatively lower prices is called a downtrend.
The Phase Change Index ( PCI ) is an indicator designed specifically to detect changes in market phases.
This indicator is made as he describes it with one deviation: if we follow his formula to the letter then the "trend" is inverted to the actual market trend. Because of that an option to display inverted (and more logical) values is added.
What is the Jurik Moving Average?
Have you noticed how moving averages add some lag (delay) to your signals? ... especially when price gaps up or down in a big move, and you are waiting for your moving average to catch up? Wait no more! JMA eliminates this problem forever and gives you the best of both worlds: low lag and smooth lines.
Ideally, you would like a filtered signal to be both smooth and lag-free. Lag causes delays in your trades, and increasing lag in your indicators typically result in lower profits. In other words, late comers get what's left on the table after the feast has already begun.
That's why investors, banks and institutions worldwide ask for the Jurik Research Moving Average ( JMA ). You may apply it just as you would any other popular moving average. However, JMA's improved timing and smoothness will astound you.
What is adaptive Jurik volatility
One of the lesser known qualities of Juirk smoothing is that the Jurik smoothing process is adaptive. "Jurik Volty" (a sort of market volatility ) is what makes Jurik smoothing adaptive. The Jurik Volty calculation can be used as both a standalone indicator and to smooth other indicators that you wish to make adaptive.
Included:
Bar coloring
2 signal variations w/ alerts
Multiple Moving Avg MTF TableThis script replaces the other script that was just the SMAs that where in a Multi Time Frame Table as this was a redo of that one and this one is SO MUCH MORE!!!!
Not only does this one do the Simple Moving Avg 5, 10, 20, 50, 120, 200 into a table that shows Current/Hourly/Daily/Weekly/Monthly/Quarterly ( 3M )/ Yearly. It now does Exponential Moving Avg , Weighted Moving Avg , and Volume Weight Moving Avg along with Simple Moving Avg.
I still use this script so that you can quickly capture the values so that short-term, and long-term resistance and support can be determined during market hours. Even better now you can select between SMA / EMA / WMA /or VWMA .
imgur.com
The table will change to the values based on the Choice of the type of Moving Avg and if you change the default values.
Now it will take a little bit for the table to show up, so please be patient. I have tested it with stocks, forex, and crypto.