Cross Asset VolatilityThis script brings together a number of volatility indexes from the CBOE in one space making it easier to use rather than adding a number of different securities to one chart. One could create a template with these securities attached, but sometimes, you don't want to switch charts, for whatever reason, and adding an indicator for is quick and simple. 
One note is that due some securities exhibit much larger volatility than others (i.e. oil vs bonds) and it can be difficult to see clearly those securities whose volatilities are low, and hence we have added the ability to calculate the values as a Log value to make the indicator more readable. Another way to do this is to change the Y-axis on the chart to Logarithmic while leaving the indicator at its default settings (i.e. the checkbox for using Log calculations remains unchecked).
Cari dalam skrip untuk "one一季度财报"
WMA/LSMA - Simplified CalculationsLots of moving averages are based on a weighted sum, the most common ones being the simple (arithmetic) and linearly weighted moving average. The problems with the weighted sum approach is that when your moving average is a FIR filter then the number of operations increase with higher values of length, and when the weights are based on a complex calculation this number of operations can increase drastically! 
For the common technical analyst the calculation time of moving averages can be an insignificant factor, even more when using higher time frames, however its always a good practice to seek better performances. The SMA has already a calculation where the number of operations is independent of its length, as such it can be easy to do the same for the linearly weighted moving average (WMA). This post will describe the process toward calculating a simple and efficient WMA which will then be used to provide an efficient calculation of the least squares moving average (LSMA).
 Carving Impulses Responses 
Remember that impulses responses fully describe the properties of moving averages, the impulse response of the WMA is a linearly decreasing function, so we'll try to calculate it without using a weighted sum. We first need to use a cumulative sum, the cumulative sum can be described as a summation from the first element of a series to the  n th element of the series, where n is the current bar number, one could say that this operation is actually super inefficient, however this is not the case, as a cumulative sum can be calculated recursively as follows:
 y = y  + x 
The cumulative sum can be described as an amplifier and posses the following impulse response:
  
Once the cumulative sum receive the impulse signal as input the result will always be equal to 1. This will form the basis of our simplified calculation, all we need to do transform this response into a linearly decreasing one. The full process is as follows:
 
  Get the impulse response of the cumulative sum
  Subtract this response from a linearly increasing impulse response of size  length 
  Normalize the result such that the sum of the resulting response is equal to 1
 
We need a linearly increasing response of size  length , this can be done by using a running sum of the original cumulative sum response, however we must make sure that the value of this response is 0 when the one of the cumulative sum is first equal to 1. Because the resulting response as a maximum value of  length  we need to multiply our cumulative sum response with  length , then we proceed to subtraction. 
Finally we need to normalize the result, the sum of a linear sequence of values starting at 1 and ending at  n  is given by the explicit formula :  n(n+1)/2 , which in our case give  length*(length+1)/2 , we divide our previous response with this result and we end up with the impulse response of a WMA. This process can be graphically described as follows:
  
We can then replace the impulse function by the closing price in order to get the WMA of the closing price.
 Advantages And Disadvantages 
The big advantage of this calculation is its efficiency, in its non functional form (you can see it in the code) the calculation of the WMA only require 9 operations regardless of the value of  length  against  length*2 + 4  for the weighted sum approach, as such both methods are equally efficient in terms of operations as long as the length of a standard WMA is inferior to 3, which is ridiculous, as such our approach is more appropriate.
Another advantage is that Pinescript does not allow for series as length arguments in the WMA function, however here we can have a variable length for the WMA.
Of course there are disadvantages to this approach, in terms of code we require more variables for the non functional form, which create a lengthier scripts. Another disadvantage is that we can be prone to rounding errors due to the cumulative sum, however they shouldn't be significants in our case.
 Getting The Least Squares Moving Average 
The LSMA is one of my favorite moving averages, and it can derived from a linear combination between the WMA and SMA described as follows : 3WMA - 2SMA. Since we proposed an alternative calculation of the WMA we can then calculate the LSMA without even using the SMA, why ? because the SMA can be calculated by computing the changes over  length  period of the cumulative sum of an input, this result is then divided by  length .
Remember that the impulse response of a cumulative sum is just a rectangular function, all we need is to truncate it such that only  length  values of the response are equal to 1, this is done thanks to the change function in Pine.
 In Summary 
A more efficient calculations for both the WMA and LSMA have been presented, while this on itself isn't super important you have learned what is the process toward calculating a filter without relying on a weighted sum.
This calculation will soon be included in the Pinecoders script allowing series as length argument. 
 
Thank you for reading, your interest is always appreciated !
Filter Information Box - PineCoders FAQWhen designing filters it can be interesting to have information about their characteristics, which can be obtained from the set of filter coefficients (weights). The following script analyzes the impulse response of a filter in order to return the following information:
 
  Lag
  Smoothness via the Herfindahl index
  Percentage Overshoot
  Percentage Of Positive Weights
 
The script also attempts to determine the type of the analyzed filter, and will issue warnings when the filter shows signs of unwanted behavior.
 DISPLAYED INFORMATION AND METHODS 
The script displays one box on the chart containing two sections. The filter metrics section displays the following information:
-  Lag  : Measured in bars and calculated from the convolution between the filter's impulse response and a linearly increasing sequence of value  0,1,2,3... . This sequence resets when the impulse response crosses under/over 0.
-  Herfindahl index  : A measure of the filter's smoothness described by Valeriy Zakamulin. The Herfindahl index measures the concentration of the filter weights by summing the squared filter weights, with lower values suggesting a smoother filter. With normalized weights the minimum value of the Herfindahl index for low-pass filters is  1/N  where  N  is the filter length.
-  Percentage Overshoot  : Defined as the maximum value of the filter step response, minus 1 multiplied by 100. Larger values suggest higher overshoots.
-  Percentage Positive Weights  : Percentage of filter weights greater than 0.
Each of these calculations is based on the filter's impulse response, with the impulse position controlled by the  Impulse Position  setting (its default is 1000). Make sure the number of inputs the filter uses is smaller than  Impulse Position  and that the number of bars on the chart is also greater than  Impulse Position . In order for these metrics to be as accurate as possible, make sure the filter weights add up to 1 for low-pass and band-stop filters, and 0 for high-pass and band-pass filters.
The comments section displays information related to the type of filter analyzed. The detection algorithm is based on the metrics described above. The script can detect the following type of filters:
 
  All-Pass
  Low-Pass
  High-Pass
  Band-Pass
  Band-Stop
 
It is assumed that the user is analyzing one of these types of filters. The comments box also displays various warnings. For example, a warning will be displayed when a low-pass/band-stop filter has a non-unity pass-band, and another is displayed if the filter overshoot is considered too important. 
 HOW TO SET THE SCRIPT UP 
In order to use this script, the user must first enter the filter settings in the section provided for this purpose in the top section of the script. The filter to be analyzed must then be entered into the:
 f(input) 
function, where `input` is the filter's input source. By default, this function is a simple moving average of period  length . Be sure to remove it.
If, for example, we wanted to analyze a Blackman filter, we would enter the following:
 
f(input)=>
    pi = 3.14159,sum = 0.,sumw = 0.
    for i = 0 to length-1
        k = i/length
        w = 0.42 - 0.5 * cos(2 * pi * k) + 0.08 * cos(4 * pi * k)
        sumw := sumw + w
        sum := sum + w*input 
    sum/sumw
 
 EXAMPLES 
In this section we will look at the information given by the script using various filters. The first filter we will showcase is the linearly weighted moving average (WMA) of period 9.
  
As we can see, its lag is 2.6667, which is indeed correct as the closed form of the lag of the WMA is equal to  (period-1)/3 , which for period 9 gives  (9-1)/3  which is approximately equal to 2.6667. The WMA does not have overshoots, this is shown by the the percentage overshoot value being equal to 0%. Finally, the percentage of positive weights is 100%, as the WMA does not possess negative weights. 
Lets now analyze the Hull moving average of period 9. This moving average aims to provide a low-lag response.
  
Here we can see how the lag is way lower than that of the WMA. We can also see that the Herfindahl index is higher which indicates the WMA is smoother than the HMA. In order to reduce lag the HMA use negative weights, here 55% (as there are 45% of positive ones). The use of negative weights creates overshoots, we can see with the percentage overshoot being 26.6667%.
The WMA and HMA are both low-pass filters. In both cases the script correctly detected this information. Let's now analyze a simple high-pass filter, calculated as follows:
 input - sma(input,length) 
  
Most weights of a high-pass filters are negative, which is why the lag value is negative. This would suggest the indicator is able to predict future input values, which of course is not possible. In the case of high-pass filters, the Herfindahl index is greater than 0.5 and converges toward 1, with higher values of  length . The comment box correctly detected the type of filter we were using.
Let's now test the script using the simple center of gravity bandpass filter calculated as follows:
 wma(input,length) - sma(input,length) 
  
The script correctly detected the type of filter we are using. Another type of filter that the script can detect is band-stop filters. A simple band-stop filter can be made as follows:
 input - (wma(input,length) - sma(input,length)) 
  
The script correctly detect the type of filter. Like high-pass filters the Herfindahl index is greater than 0.5 and converges toward 1, with greater values of  length . Finally the script can detect all-pass filters, which are filters that do not change the frequency content of the input.
 WARNING COMMENTS 
The script can give warning when certain filter characteristics are detected. One of them is non-unity pass-band for low-pass filters. This warning comment is displayed when the weights of the filter do not add up to 1. As an example, let's use the following function as a filter:
 sum(input,length) 
Here the filter pass-band has non unity, and the sum of the weights is equal to  length . Therefore the script would display the following comments:
  
We can also see how the metrics go wild (note that no filter type is detected, as the detected filter could be of the wrong type). The comment mentioning the detection of high overshoot appears when the percentage overshoot is greater than 50%. For example if we use the following filter:
 5*wma(input,length) - 4*sma(input,length)  
The script would display the following comment:
  
We can indeed see high overshoots from the filter:
  
 @alexgrover for PineCoders 
 Look first. Then leap.  
Gap Filling Strategy Gaps are market prices structures that appear frequently in the stock market, and can be detected when the opening price is different from the previous closing price, this is why gaps are also called "opening price jumps". While gaps can occur frequently, some of them are more significant than others, and can be observed when looking at a long term chart.
The following strategy is based on the exploitation of significant gaps occurring during a new session, and posses various options that can return a wide variety of results.
 Type Of Gaps And Occurence 
I'am not a professional when it comes to gaps, but as you know the stock market close for the day, however it is still possible to place orders, your broker will hold them until the market open back. Once the market reopen the broker execute the pending orders, and when many orders where pending the market register really high volume and the price might differ from the precedent close. 
Gaps are generally broken down into four types:
 
  Common : Gaps occurring within a certain price range, mostly occurs during ranging markets.
  Break Away : Gaps breaking a support and resistance, making a new higher high/lower low.
  Runaway : Gaps occurring within a trend, followed by a continuation of the trend.
  Exhaustion : Gaps occurring at the end of a trend, followed by a reversal.
 
As said before, some gaps are more significant than others, the significance of a gap can be determined by comparing the opening price with the previous high/low price and by looking at volume. Significant up gaps will have an opening price greater than the previous high, while significant down gap will have an opening price lower than the previous low with both high volume accompanying them.
After a gap, when the price go back to the point previous to the gap we say that it has been "filled", this characteristic is what will be exploited in this strategy.
 Strategy Rules & Logic 
In this strategy, the significance of a gap is determined by the position of the opening price relative to the previous high/low and make sure the bar following the gap don't fill it.
When the setting  invert  is set to false the strategy interpret the detected gaps as being exhaustion gaps, therefore when an up gap occur a short position is opened, when a down gap occur a long position is opened. When invert is set to true gaps are considered to be runaway or break away gaps, therefore the contrary positions are opened. Positions are exited when the gap has been filled, which in the chart is show'n when the price cross the red level who act as either a take profit (invert = false) or as a stop loss (invert = true).
There are various closing conditions available that the user can select from the "close when" setting. 
 
  New Session : This option close all previous positions when the market is in a new session.
  New Gap : This option close all previous position when a new gap has been detected.
  Reverse Position : This option close all previous position when a contrary position to the current one is opened. This option would reduce the number of trades.
 
 Testing On Some Stocks 
The analysis will be tested in different tech stocks with a main TF of 15 minutes with no spread and commissions applied. Default settings will be used. We'll be making our first analysis using AMD, who has recently formed a full reverse HS pattern, where the neckline has been crossed by the price. (by the way i have a bad feeling about it, hey ! feeling  filling  ! Lame jokes!)
Profit: $ -12.22
Trades: 272
Profitability: 65.07 %
We can see negative results, with an heavily decreasing balance. Using invert would return positive results.
We will now test the strategy on NVDA, the company is one of the biggest when it comes to the Gpu market.
Profit: $ -215.54
Trades: 297
Profitability: 60.27 %
Not better, using invert would of course create better results. Like AMD the balance is heavily decreasing.
Finally we will test the strategy on Seagate technology, a company mostly known for their mechanical hard drives.
Profit: $ -4.32
Trades: 261
Profitability: 65.9 %
Here the balance does not appear so heavily decreasing and even managed to reach back the initial balance before going down again.
 Summary 
A strategy based on gap filling has been briefly introduced and tested with 3 tech stocks. The results show that using invert option might be better. The advantage of this strategy against ones using technical indicators is that this one does not heavily depend on user settings, which make it way more efficient, this a big advantage of patterns based strategies.
Thx to LucF for helping with the "process_orders_on_close" element, since i had to use closing price i had to remove it tho, was afraid results would differ even more from a more realistic backtest. And thx for those who continuously support me, more cool stuff is coming up.
Thx for reading and i hope you'll have learned something new today !
ZLMA - Low-Lag Moving Average Based On An Alternative SMA DesignThere can be many ways to make a simple moving average, you can either sum the current and the  n-1  previous data points and divide the result by  n , or you can do it more efficiently by first taking the cumulative sum of your data points, and subtracting the current cumulative sum result with the cumulative sum results  n  bars ago, then divide the result by  n . This can be described by the following formulas:
 a(t) = a(t-1) + price(t)
b(t) = (a(t) - a(t-n))/n 
This method is the one used in order to allow the user to use a series as SMA period, more info here:
Today we use this design in order to provide a pretty efficient low-lag moving average where the amount of lag of the moving average can be increased/decreased by the user.
 THE INDICATOR 
 length  control the period of the moving average, with larger value of length returning larger filtering amount. The  lag  setting in the other hand control the amount of lag of the moving average, with larger value of lag returning a moving average with less lag. The lag setting can't be lower than 1 or greater than 2, but values lower than 1 and greater than 0 would just return a moving average with larger filtering amount while values greater than 2 would create crazy wild overshoots.
  
In blue lag = 1.8, in red lag = 1.4, when lag = 1 the moving average is equal to a simple moving average of period length. Remember that larger values of lag will return greater over/undershoots.
  
Approximate amplitude response of the moving average, like all low-lag moving averages you can see frequencies amplified  (the ones on the left greater than 1) .
 SUMMARY 
We proposed a low-lag moving average based on the cumulative/change SMA design where the lag of the moving average can be controlled by the user. There are tons of low-lag moving averages already, and they don't necessarily provide different results from each others, however this one is still relatively interesting as you can switch from a simple MA from a low-lagging one, other indicators are ready using this design and will be posted soon.
Ultimate Momentum IndicatorThis is an indicator I've been playing with for a while, based on my previous MACD w/ RSI Warning indicator. This one takes it a step further, including information from MACD, RSI, ADX, and Parabolic SAR. These four indicators are represented in this indicator as follows:
 
 MACD:  The histogram itself is a normal MACD histogram. Nothing strange about it, and you can adjust the settings for it just as you would a normal MACD.
 RSI:  Any time the RSI is outside of normal ranges (which can be adjusted in the settings), the bar on the histogram will turn amber to warn you. The actual RSI value is also shown in a label to the left side of the indicator.
 ADX:  Crosses are drawn along the 0 line to indicate ADX. Blue means the ADX is below the trending level (adjustable in the settings), and orange means it is above that level. Darker colors indicate the ADX has gone up since the previous bar, while lighter colors indicate it has gone down. The actual ADX value is also shown in the label to the left side of the indicator.
 Parabolic SAR:  At the outside point of each bar in the histogram, a colored dot is drawn. If the dot is green, the Parabolic SAR (settings adjustable) is currently below the closing price. If the dot is red, the SAR is above the closing price.
 
I must stress that this indicator is not a replacement for any one of the indicators it includes, as it's really only pulling small bits of information from each. The point of this indicator is to give a cohesive picture of momentum at a quick glance. I encourage you to continue to use the normal versions of whichever of the basic indicators you already use, especially if those indicators are a key part of your strategy. This indicator is designed purely as a way to get a bird's eye view of the momentum.
Pretty much every normally adjustable value can be adjusted in the settings for each of the base indicators. You can also set:
 
 The RSI warning levels (30 and 70 by default)
 The ADX Crossover, i.e. the point at which you consider the ADX value to indicate a strong trend (25 by default)
 The offset for the label which shows the actual RSI & ADX values (109 by default, which happens to line up with my chart layout--yours will almost certainly need to be different to look clean)
 All of the colors, naturally
 
As always, I am open to suggestions on how I might make the indicator look cleaner, or even other indicators I might try to include in the data this indicator produces. My choice of indicators to base this one from is entirely based on the ones I use and know, but I'm sure there are other great indicators that may improve this combination indicator even more!
BEST Engulfing + Breakout StrategyHello traders
This is a simple algorithm for a Tradingview strategy tracking a convergence of 2 unrelated indicators.
Convergence is the solution to my trading problems. 
It's a puzzle with infinite possibilities and only a few working combinations.
Here's one that I like
- Engulfing pattern
- Price vs Moving average for detecting a breakout
 Definition 
Take out the notebooks :) and some coffee (good for focus). I'm bullish in coffee
The engulfing pattern is a two-candle reversal pattern. 
The second candle completely ‘engulfs’ the real body of the first one, without regard to the length of the tail shadows. 
The bullish Engulfing pattern appears in a downtrend and is a combination of one red candle followed by a larger green candle
The bearish Engulfing pattern appears in a downtrend and is a combination of one green candle followed by a larger red candle
Example: imgur.com
 We're bored sir... what's the point of all this? 
In summary, an engulfing is a pattern to track reversals. (the whole TradingView audience stands up now giving a standing ovation)
Adding the Price vs Moving average filters allows to track reversals with momentums (half of the audience collapsed because this is too awesome)
 Ok sir... you picked up my interest 
I included some cool backtest filters:
- date range filtering
- flexible take profit in USD value (plotted in blue)
- flexible stop loss in USD value (plotted in red)
All the best
Dave
Store several numbers in a stringA method to store a bunch of numbers in one string. 
Using my method of translating a string to a number, we can put several values in one string and then pop them up when we need.
To store the values I use a semicolon as a separator, so the format of the string is next one:
NUMBER:NUMBER:NUMBER:NUMBER
I don't see any useful application of this method (maybe, to pass some additional info to the script in one string), but maybe it'll be helpful to someone.
$0 Monthly Weekly & Daily OHLC Viewer
Visualizer of current or previous month(s), week(s) & days ranges
Purpose: View last Monthly, Weekly, Daily, and/or a custom time interval OHLC, i.e. previously closed/confirmed or the ongoing higher time interval ranges
Main configurations available:
- 2 main reporting modes: View the current/ongoing M/W/D candles' OHLC (live, repaints) or report OHLC of last closed ones, i.e. previous Montly, Weekly and/or Daily
- View only latest Monthly, Weekly and/or Daily OHLC (lines) or all past ones (~channel)
- Set your own time interval for its price range(s) to be reported, e.g. last quarter '3M', 12H '720', or hide it
- View one specific day of the week OHLC reported all over the week
Graphic/visual configuration: 
- Show the High & Low levels or not
- Show the Open & close levels or not
- Display a background color between top & down or lines only
- Change the background color depending if is/was rising or falling price
- Highlight the top & down breaches of higher timeframe resolution candles: Daily breaching last Weekly range, and/or the Weekly the Monthly one
- Colors & styling can be edited from the indicator's styling configuration panel
Depending on its expected usage, those configurations enable to:
- Consider previously closed candles OLHC as reference top & down ranges (support & resistance, breaches)
- Review chart's current candles evolution within their higher time interval / candle (M/W/D)
- Consider specific week days' range as a reference for the week trend
- Have a general overview of the market evolution trends
Default config is to view current candles evolving within their higher time interval / candle, while reporting last previously closed M+W is a preferred usage. Play with the config settings to find your setup.
View ongoing M+W+D OHLC with dynamic background color:
  
View previously closed M+W+D OHLC:
  
View closed H&L for M+W+D, latest only:
  
View Mondays' OHLC:
  
Feedback & support welcome.
FALSE BREAKOUT NO PROBLEM !! CHK TWIN MOV AVG SEGREGATED RIBBON  PROBLEM DEFINITION 1 : To Avoid False Breakouts
  PROBLEM DEFINITION 2 : To Ascertain if the trend has changed when a Stock opens with a Gap up or Gap Down
## PROBABLE SOLUTION : Use a Moving Average with lot of latency
## PROBLEM WITH ABOVE SOLUTION : Misses on lot of trades, Late exits leads to drain on winning trades
  S O L U T I O N   
An Indicator which plots two different types of Moving Averages at the same time
For the MA length 5-100 a fast plot of choice
For the MA Length 110-200 a plot with a lag to ascertain the trend
And then ONE LAST MAN STANDING with even bigger MA length for a lagging indicator  to save the day
This indicator gives one 9X9 = 81 Permutation Combinations to look at the markets
One can devise strategies basis  if one particular MA Type has crossed another MA Type
Feel free to post the strategies you have come out with!
//// CREDITS AND ACKNOWLEDGEMENTS //////////////////////////////////////////////////////////////////
Following contributors helped the author ::
  Credits to Neobutane for his Multiple Type Mov. Avg. Guppy at ......
hxxps://www.tradingview.c0m/script/UQAv1U0c-MA-Study-Different-Types-and-More-NeoButane/
  Credits to Jose5770 for sharing Jurik MA code  at .....
hxxps://www.tradingview.c0m/script/uqYvkHna-Trend-Direction-Force-Index/
Appreciate and Thank You for sharing your work.
//////////////////////////////////////////////////////////////////////////////////////////////////////
 P.S You might notice in the code that the few plots are skipped. It is done to fasten the indicator without compromising
       on the functionality
Murreys Math Lines Box OR Ratio PivotsI'm publishing my second script, though nothing extraordinary, I believe there is user group for Murry Math indies and the only "proper one" (According to my usage) I found was of RicardoSantos, here is the link :
He developed that script in 2014 and it is in need of update to Pine V4 and I'm doing the needful as its user. 
All the updates from my end are listed below:
1. Updated to Pine V4
2. Automatic octave selection
3. In auto mode one can switch octave
4. This script is color coded with intention of use on dark theme, one can change the colors to use it on white background with simple few clicks as pinelines have been used
Other thing I want to add is that usage of this is not very clear to many users, so I'll do little explaining here;
Lets start with what is Octave? Octave is basically distance between square of two whole numbers, this is hard-fast method to calculate, Murry has made it far more complicated to use practically. In mathematical formula terms it could be something like this for script trading at 11890 (CMP)
Step  1:   Square Root of CMP i.e Square Root of 11890 = 109.041 = Rounded to 109
Step 2: You can either take one whole number higher or lower than 109, which is 108 or 110. We will take 108
Step 3: Square of 108 = 11664 and Square of 109 = 11881
Step 4:  Octave => Distance between (Lowlevel) 11664 and (Higherlevel) 11881
I've automated it so you don't need to calculate, but there is also manual entry possible if you want to calculate octaves yourself, there are different ways to calculate and some like to just take High and Low's of the day or week or month, whatever you like. When I used it I did it strictly this way, so automation is based on it. This is very subjective matter so don't ask to change the calculation of this, if I started doing that every second person would ask me to modify it to different calculation..and thats...just not possible to do.
This is output for calculation we just did above
This is octave shift option (Which basically shifts to next whole number square in above calculation)
Normal nomenclature on octaves and important color codes
+2/8: Extreme overbought                               = Blue Color and solid line
+1/8: OverBought
8/8: Hardest line to rise above (overbought)   = White Color and solid line
7/8: Fast reverse line (weak)
6/8: Pivot reverse line                                      = Yellow Color and solid line
5/8: Upper trading range
----------------------------------------
4/8: Major reversal line                                    = Green Color and solid line
----------------------------------------
3/8: Lower trading range
2/8: Pivot reverse line                                     = Blue Color and solid line
1/8: Fast reverse line (weak)
0/8: Hardest line to fall below (oversold)        = White Color and solid line
-1/8: Oversold                                              
-2/8: Extreme Oversold                                   = Yellow Color and solid line
Other lines that I've not mentioned color codes for are minor and are usually plotted in dotted format.
Resources on complete technique to trade and importance of levels (highly recommended to read carefully before trading), if you don't know how to get this for free don't worry you can just google Murrey math and you will find it somewhere, its just that it would be in little scattered manner.
www.scribd.com
Enjoy!
Quadratic Least Squares Moving Average - Smoothing + Forecast Introduction 
Technical analysis make often uses of classical statistical procedures, one of them being regression analysis, and since fitting polynomial functions that minimize the sum of squares can be achieved with the use of the mean, variance, covariance...etc, technical analyst only needed to replace the mean in all those calculations with a moving average, we then end up with a low lag filter called least squares moving average  (lsma) .
The least squares moving average could be classified as a rolling linear regression, altho this sound really bad it is useful to understand the relationship of both methods, both have the same form, that is  ax + b , where  a  and  b  are coefficients of the model. However in a simple linear regression  a  and  b  are constant, while the lsma use variables instead.
In a simple lsma we model the relationship of the closing price (dependent variable) with a linear sequence (independent variable), therefore x = 1,2,3,4..etc. However we can use polynomial of higher degrees to model such relationship, this is required if we want more reactivity. Therefore we can use a quadratic form, that is  ax^2 + bx + c , where a,b and c are variables.
This is the quadratic least squares moving average (qlsma), a not so official term, but we'll stick with it because it still represent the aim of the filter quite well. In this indicator i make the calculations of the qlsma less troublesome, therefore one might understand how it would work, note that in general the coefficients of a polynomial regression model are found using matrix calculus.
 The Indicator 
A qlsma, unlike the classic lsma, will fit better to the price and will be more reactive, this is the advantage of using an higher degrees for its calculation, we can model more complex relationship.
  
lsma in green, qlsma in red, with both length = 200
However the over/under shoots are greater, i'll explain why in the next sections, but this is one of the drawbacks of using higher degrees.
The indicator allow to forecast future values, the ahead period of the forecast is determined by the  forecast  setting. The value for this setting should be lower than length, else the forecasts can easily over/under shoot which heavily damage the forecast. In order to get a view on how well the forecast is performing you can check the option "Show past predicted values".
  
Of course understanding the logic behind the forecast is important, in short regressions models best fit a certain curve to the data, this curve can be a line (linear regression), a parabola (quadratic regression) and so on, the type of curve is determined by the degree of the polynomial used, here 2, which is a parabola. Lets use a linear regression model as example :
 ax + b  where  x  is a linear sequence 1,2,3...and a/b are constants. Our goal is to find the values for a and b that minimize the sum of squares of the line with the dependent variable y, here the closing price, so our hypothesis is that :
 closing price = ax + b + ε 
where ε is white noise, a component that the model couldn't forecast. The forecast of the closing price 14 step ahead would be equal to :
 closing price 14 step aheads = a(x+14) + b 
Since x is a linear sequence we only need to sum it with the forecasting horizon period, the same is done here with :
 a*(n+forecast)^2 + b*(n + forecast) + c 
Note that the forecast proposed in the indicator is more for teaching purpose that anything else, this indicator can't possibly forecast future values, even on a meh rate. 
Low lag filters have been used to provide noise free crosses with slow moving average, a bad practice in my opinion due to the ability low lag filters have to overshoot/undershoot, more interesting use cases might be to use the qlsma as input for other indicators.
 On The Code 
Some of you might know that i posted a "quadratic regression" indicator long ago, the original calculations was coming from a forum, but because the calculation was ugly as hell as well as extra inefficient (dogfood level) i had to do something about it, the name was also terribly misleading.
We can see in the code that we make heavy use of the variance and covariance, both estimated with :
 VAR(x) = SMA(x^2) - SMA(x)^2 
 COV(x,y) = SMA(xy) - SMA(x)SMA(y) 
Those elements are then combined, we can easily recognize the intercept element  c , who don't change much from the classical lsma.
 As Digital Filter 
The frequency response of the qlsma is similar to the one of the lsma, those filters amplify certain frequencies in the passband, and have ripples in the stop band. There is something interesting about those filters, first using higher degrees allow to greater boost of the frequencies in the passband, which result in greater over/under shoots. Another funny thing is that the peak/valley of the ripples is equal the peak or valley in the ripples of another lsma of different degree.
The transient response of those filters, that is impulse response, step response...etc is related to the degree of the polynomial used, therefore lets denote a lsma of degree p :  lsma(p) , the impulse response of lsma(p) is a polynomial of degree p, and the step response is simple a polynomial of order p+1.
This is why it was more interesting to estimate the qlsma using convolution, however we can no longer forecast future values.
 Conclusion 
I proposed a more usable quadratic least squares moving average, with more options, as well as a cleaner and more efficient code. The process of shrinking the original code is made easier when you know about the estimations of both variance and covariance.
I hope the proposed indicator/calculation is useful.
Thx for reading !
[BTX] Triple TRIX + MAsThis indicator suggest a strategy, which is quite similar to multiple MA or multiple RSI strategies.
This indicator can be used for all timeframes, all markets.
This indicator can help detect the market trend and momentum.
Default values are TRIX - 6, 12, and 24 periods and MA(8) for each TRIX line. You can choose what type of MA to be used (EMA or SMA).
How to exploit this indicator?
- When all of the lower TRIXs are ABOVE the higher one: TRIX(6) is above TRIX(12), and TRIX(12) is above TRIX(24), there is a BULLISH market.
- When all of the lower TRIXs are BELOW the higher one: TRIX(6) is below TRIX(12), and TRIX(12) is below TRIX(24), there is a BEARISH market.
- A crossover of the lower TRIX to the higher one indicates a BUY signal.
- A crossunder of the lower TRIX to the higher one indicates a SELL signal.
- TRIX crossover the Zero line can be considered as a STRONG bullish signal.
- TRIX crossunder the Zero line can be considered as a STRONG bearish signal.
- The MA of TRIX acts as a confirmation, it can be used as SELL signals.
- High slopes of TRIX lines can point out the high momentum of the current trend.
- Divergence patterns can be used with this indicator.
- And many more tricks.
OVL_Kikoocycle Beta_Pine3This script use  :
 -  A custom Chande Kroll Stop for generate the channel
 -  Some custom Parabolic S.A.R for generate cycles
 This script can be separated into 3 categories: 
 - Channel Kroll generator  : one layer for the actual interval  and  a layer for a Large Timeframe .(with ratio)  
 - "Range" generator  : one layer for actual Interval  and  a layer for a Large Timeframe.(with automique ratio)  
 -Targets generator  : one layer for actual interval with different trend.
 "Channel Kroll"   :
- I "hijack" the Chande Kroll Stop formula with custom parameters for generate this channel. Overall, it works like other types of channels like BB, etc... A midline and two borders. The thickness of the borders are relatively important here. A thick border shows some resistance of the area. And so the probability of seeing the market return to its first contact is stronger. While a very thin and vertical border would rather play the role of a breach, a bit like the idea of gaps. Often the market seems to want to go after several cycles.
You can activate its Large TimeFrame version, its midline is strong and fine borders helps to judge the risk.
 SARget + "SAR Limited"   :
- (S.A.R + targets) The philosophy of this function is simple... When a small cycle is broken, it creates a mark on a higher cycle. So on until the SAR called "SAR Limited". For simplicity, imagine a fractal image but inverted ... Break the small figure, it will mark the larger figure at this time but to get there you still have to make the way to the small figure.
Targets are : cross ("+") for fast targets(hidden by default because, theire work only on lower interval), squares (for medium trend), Xcross(for large trend) and red cross(they try to find a large contexte). When a target proc, it is for later (market need some cycles for going to, but it is relative to your interval). This gives you speculative goals. 
Why 2 targets for a same type and a triangle with a 90deg angle : This give a potential area for management.The triangle help to visualize the SAR and to juge the market reaction. You need to adapte your trade with that... 
Targets may be slightly too far because I am a bad coder... Currently the targets appear at the moment of rupture but it would be necessary to wait for the end of the breaking movement. Which can bring a positional error if the break is violent.
 RnG and LTF RnG : 
- Attempt to generate a Fibo range for each cycle and see interressing areas to enter or exit. This is played with the same philosophy as the Fibo extensions and retracement. 
When a new RnG is generated, do not rush. It appears showing 50/50 for both sides. When a new RnG is generated, do not rush. It appears showing 50/50 for both sides. As long as the market is out of the middle zone (the 3 lines) keep in mind the past RnG.
When the market is out of range, you can use the FibRetracement tool for have extensions. One point at each end, as on the presentation graph. (Values 1.14, 1.272, 1.414, 1.618, 1.786, 2, 2.4 and 4 work well.) If too extrem you can active the LTF version. 
Never fomo a break, market like to pull a level... Observe and be patient.
It's easier to use than to explain xD
 NB :   Do not use the LTF as context. For this, it is better to look at a higher interval.
I invite you to look in the style tab of the script and deselect the plots named UNCHECKEME, this will ease your browser.
10/20 MA Cross-Over with Heikin-Ashi Signals by SchobbejakThe 10/20 MA Heikin-Ashi Strategy is the best I know. It's easy, it's elegant, it's effective. 
It's particularly effective in markets that trend on the daily. You may lose some money when markets are choppy, but your loss will be more than compensated when you're aboard during the big moves at the beginning of a trend or after retraces. There's that, and you nearly eliminate the risk of losing your profit in the long run.
The results are good throughout most assets, and at their best when an asset is making new all-time highs.
It uses two simple moving averages: the 10 MA (blue), and the 20 MA (red), together with heikin-ashi candles. Now here's the great thing. This script does not change your regular candles into heikin-ashi ones, which would have been annoying; instead, it subtly prints either a blue dot or a red square around your normal candles, indicating a heikin-ashi change from red to green, or from green to red, respectively. This way, you get both regular and heikin ashi "candles" on your chart. 
Here's how to use it.
Go  LONG  in case of ALL of the below: 
    
 1) A blue dot appeared under the last daily candle (meaning the heikin-ashi is now "green").
 2) The blue MA-line is above the red MA-line.
 3) Price has recently breached the blue MA-line upwards, and is now above. 
 COVER  when one or more of the above is no longer the case. This is very important. You want to keep your profit.
Go  SHORT  in case of ALL of the below:
 1) A red square appeared above the last daily candle (meaning the heikin-ashi is now "red").
 2) The red MA-line is above the blue MA-line.
 3) Price has recently breached the blue MA-line downwards, and is now below. 
Again,  COVER  when one or more of the above is no longer the case. This is what gives you your edge.
It's that easy.
Now, why did I make the signal blue, and not green? Because blue looks much better with red than green does. It's my firm believe one does not become rich using ugly charts. 
Good luck trading. 
--You may tip me using bitcoin: bc1q9pc95v4kxh6rdxl737jg0j02dcxu23n5z78hq9 . Much appreciated!--
 ABK Multi EMA I really like to work with EMAs, but each time you use the "buit-in" one, you use one more slot in your indicators allowed. 
So I built this simple one, 4 EMA in one indicator, and easy to use as following; 
-displays 4 EMAs 
-choose your EMA lenghts.
-choose your color and other options as needed. 
5 MAs w. alerts [LucF]Is this gazillionth MA indicator worth an addition to the already crowded field of contenders? I say yes! This one shows up to 5 MAs and 6 different marker conditions that can be used to create alerts, among many other goodies.
 Features 
 
 MAs can be darkened when they are falling.
 MAs from another time frame can be displayed, with the option of smoothing them.
 Markers can be filtered to Longs or Shorts only.
 EMAs can be selected for either all or the two shortest MAs.
 The background can be colored using any of the marker states except no. 3.
 Markers are:
 1. On crosses between any two user-defined MAs,
 2. When price is above or below an MA,
 3. On Quick Flips (a specific setup involving a cross, multiple MA states and increasing volume, when available),
 4. When the difference between two MAs is within a % of its high/low historic values,
 5. When an MA has been rising/falling for n bars,
 6. When the difference between two MAs is greater than a multiple of ATR. 
Some markers use similar visual cues, so distinguishing them will be a challenge if they are used concurrently.
 Alerts 
Alerts can be created on any combination of alerts. Only non-consecutive instances of markers 5 and 6 will trigger the alert condition. Make sure you are on the interval you want the alert to run at. Using the “Once Per Bar Close” trigger condition is usually the best option.
When an alert is created in TradingView, a snapshot of the indicator’s settings is saved with the alert, which then takes on a life of its own. That is why even though there is only one alert to choose from when you bring up the alert creation dialog box and choose “5 MAs”, that alert can be triggered from any number of conditions. You select those conditions by activating the markers you want the alert to trigger on before creating the alert. If you have selected multiple conditions, then it can be a good idea to record a reminder in the alert’s message field. When the alert triggers, you will need the indicator on the chart to figure out which one of your conditions triggered the alert, as there is currently no way to dynamically change the alert’s message field from within the script.
Background settings will not trigger alerts; only marker configurations.
 Notes 
MAs are just… averages. Trader lure would have them act as support and resistance levels. I’m not sure about that, and not the only one thinking along these lines. Adam Grimes has studied moving averages in quite a bit of detail. His numbers point to no evidence indicating they act as support/resistance, and to specific MA lengths not being more meaningful than others. His point of view is debated by some—not by me. Mean reversion does not entail that price stops when it reaches its MA; rather, it makes sense to me that price would often more or less oscillate around its MA, which entails the MA does not act as support/resistance. Aren’t the best mean reversion opportunities when price is furthest away from its MA? If so, it should be more profitable to identify these areas, which some of this indicator’s markers try to do.
I think MAs can be much more powerful when thought of as instruments we can use to situate price events in contexts of various resolutions, from the instantaneous to the big picture. Accordingly, I use the relative positions and slopes of MAs in both discretionary and automated trading; but never their purported ability to support/resist.
Regardless of how you use MAs, I hope you will find this indicator useful.
 Biased References 
The Art and Science of Technical Analysis: Market Structure, Price Action, and Trading Strategies, Adam Grimes, 2012.
 Does the 200 day moving average “work”? 
 Moving averages: digging deeper 
[CS] NWMA Moving Average 3.0PineScript Implementation of Moving Average 3.0 first referenced by Manfred G. Dürschner as New wma or Nwma.
See amazing original paper Moving Averages 3.0 at page 27:
ifta.org
As shown in the picture Nwma is performing better than DEMA, TEMA, EMA, and other common used moving averages such as Hull MA that is prone to overshooting. With NWMA lag is extremely reduced.
As already implemented in NinjaTrader C# Nwma plugin by sumana.m:
ninjatrader.com
(from the original paper)
Nyquist Criterion
In signal processing theory, the application of a MA to itself can be seen as a Sampling procedure. The sampled signal is the MA (referred to as MA1) and the sampling signal is the MA as well (referred to as MA2). If additional periodic cycles which are not included in the price series are to be avoided sampling must obey the Nyquist Criterion  . With the cycle period as parameter, the usual one in Technical Analysis, the Nyquist Criterion reads as follows: n1 = λ*n2 , with λ ≥ 2. n1 is the cycle period of the sampled signal to which a sampling signal with cycle period n2 is applied. n1 must at least be twice as large as n2. In Mulloy´s and Ehlers´ approaches (referred to as Moving Averages 2.0) both cycle periods are equal.  Moving Averages 3.0 Using the Nyquist Criterion there is a relation by which the application of a MA to itself can be described more precisely. In figure 2 a price series C (black line), one MA (MA1, red line) with lag L1 to the price series and another MA with lag L2 to MA1 (MA2, blue line) are illustrated. Based on the approximation and the relations described in figure 2 the following equation holds:  (1) D1/D2 = (C – MA1)/(MA1 – MA2) = L1/L2 According to the lag formulas in the introduction L1/L2 can be written as follows:
 α := L1/L2 = (n1 – 1)/(n2 – 1). 
In this expression denominator 2 for the SMA and EMA as well as denominator 3 for the WMA are missing. α is therefore valid for all three MAs. 
Using the Nyquist Criterion one gets for α the following result:
 (2) α = λ* (n1 – 1)/(n1 – λ). 
α put in (1) and C replaced by the approximation term NMA, the notation for the new MA, one gets:
 NMA = (1 +α) MA1 – α MA2. 
 In detail, equation (2) reads as follows:
(3) NMA  = (1 + α) MA1  – α
MA2 , 
(4) α = λ* (n1 – 1)/(n1 – λ), with λ ≥ 2. 
(3) and (4) are equations for a group of MAs (notation: Moving Averages 3.0). They are independent of the choice of an MA. As the WMA shows the smallest lag (see introduction), it should generally be the first choice for the NMA.  n1 = n2 results in the value 1 for α and λ, respectively. Then equation (3) passes into Ehlers´ formula. Thus Ehlers´ formula is included in the NMA formula as limiting value. It follows from a short calculation that the lag for NMA results in a theoretical value zero.
Please enjoy,
CryptoStatistical
General Filter Estimator-An Experiment on Estimating EverythingIntroduction 
The last indicators i posted where about estimating the least squares moving average, the task of estimating a filter is a funny one because its always a challenge and it require to be really creative. After the last publication of the  1LC-LSMA , who estimate the lsma with 1 line of code and only 3 functions i felt like i could maybe make something more flexible and less complex with the ability to approximate any filter output. Its possible, but the methods to do so are not something that pinescript can do, we have to use another base for our estimation using coefficients, so i inspired myself from the alpha-beta filter and i started writing the code.
 Calculation and The Estimation Coefficients 
Simplicity is the key word, its also my signature style, if i want something good it should be simple enough, so my code look like that :
 
 p = length/beta
 a = close - nz(b ,close)
 b = nz(b ,close) + a/p*gamma
 
3 line, 2 function, its a good start, we could put everything in one line of code but its easier to see it this way.  length  control the smoothing amount of the filter, for any filter  f(Period)  Period should be equal to  length  and  f(Period) = p , it would be inconvenient to have to use a different length period than the one used in the filter we want to estimate  (imagine our estimation with length = 50 estimating an ema with period = 100) , this is where the first coefficients  beta  will be useful, it will allow us to leave length as it is. In general beta will be greater than 1, the greater it will be the less lag the filter will have, this coefficient will be useful to estimate low lagging filters, gamma however is the coefficient who will estimate lagging filters, in general it will range around  .
We can get loose easily with those coefficients estimation but i will leave a coefficients table in the code for estimating popular filters, and some comparison below.
 Estimating a Simple Moving Average 
Of course, the boxcar filter, the running mean, the simple moving average, its an easy filter to use and calculate. 
For an SMA use the following coefficients :
beta = 2
gamma = 0.5
Our filter is in red and the moving average in white with both length at 50  (This goes for every comparison we will do) 
  
Its a bit imprecise but its a simple moving average, not the most interesting thing to estimate.
 Estimating an Exponential Moving Average 
The ema is a great filter because its  length  times more computing efficient than a simple moving average. For the EMA use the following coefficients :
beta = 3
gamma = 0.4
  
 N.B : The EMA is rougher than the SMA, so it filter less, this is why its faster and closer to the price 
 Estimating The Hull Moving Average 
Its a good filter for technical analysis with tons of use, lets try to estimate it ! For the HMA use the following coefficients :
beta = 4
gamma = 0.85
  
Looks ok, of course if you find better coefficients i will test them and actualize the coefficient table, i will also put a thank message.
 Estimating a LSMA 
Of course i was gonna estimate it, but this time this estimation does not have anything a lsma have, no moving average, no standard deviation, no correlation coefficient, lets do it.
For the LSMA use the following coefficients :
beta = 3.5
gamma = 0.9
  
Its far from being the best estimation, but its more efficient than any other i previously made.
 Estimating the Quadratic Least Square Moving Average 
I doubted about this one but it can be approximated as well. For the QLSMA use the following coefficients :
beta = 5.25
gamma = 1
  
Another ok estimate, the estimate filter a bit more than needed but its ok.
 Jurik Moving Average 
Its far from being a filter that i like and its a bit old. For the comparison i will use the JMA provided by @everget described in this article : c.mql5.com
For the JMA use the following coefficients :
for phase = 0
beta = pow*2 (pow is a parameter in the Jma)
gamma = 0.5
Here length = 50, phase = 0, pow = 5 so beta = 10
  
Looks pretty good considering the fact that the Jma use an adaptive architecture.
 Discussion 
I let you the task to judge if the estimation is good or not, my motivation was to estimate such filters using the less amount of calculations as possible, in itself i think that the code is quite elegant like all the codes of IIR filters  (IIR Filters = Infinite Impulse Response : Filters using recursion) . 
It could be possible to have a better estimate of the coefficients using optimization methods like the gradient descent. This is not feasible in pinescript but i could think about it using python or R.
Coefficients should be dependant of  length  but this would lead to a massive work, the variation of the estimation using fixed coefficients when using different length periods is just ok if we can allow some errors of precision.
I dont think it should be possible to estimate adaptive filter relying a lot on their adaptive parameter/smoothing constant except by making our coefficients adaptive  (gamma could be) 
So at the end ? What make a filter truly unique ? From my point of sight the architecture of a filter and the problem he is trying to solve is what make him unique rather than its output result. If you become a signal, hide yourself into noise, then look at the filters trying to find you, what a challenging game, this is why we need filters.
 Conclusion 
I wanted to give a simple filter estimator relying on two coefficients in order to estimate both lagging and low-lagging filters. I will try to give more precise estimate and update the indicator with new coefficients. 
Thanks for reading !
BTC Volume Lines [v2018-11-17] @ LekkerCryptisch.nlCombine the volume of 8 BTCUSD exchanges in one graph. 
Three use cases: 
1) See the absolute volumes in one graph
2) See the relative volumes in one graph
3) See the deviation of the EMA the volumes in one graph
Tillson T3 Moving Average MTFMULTIPLE TIME FRAME version of Tillson T3 Moving Average Indicator
Developed by Tim Tillson, the T3 Moving Average is considered superior -1.60% to traditional moving averages as it is smoother, more responsive and thus performs better in ranging market conditions as well. However, it bears the disadvantage of overshooting the price as it attempts to realign itself to current market conditions.
It incorporates a smoothing technique which allows it to plot curves more gradual than ordinary moving averages and with a smaller lag. Its smoothness is derived from the fact that it is a weighted sum of a single EMA , double EMA , triple EMA and so on. When a trend is formed, the price action will stay above or below the trend during most of its progression and will hardly be touched by any swings. Thus, a confirmed penetration of the T3 MA and the lack of a following reversal often indicates the end of a trend.
The T3 Moving Average generally produces entry signals similar to other moving averages and thus is traded largely in the same manner. Here are several assumptions:
If the price action is above the T3 Moving Average and the indicator is headed upward, then we have a bullish trend and should only enter long trades (advisable for novice/intermediate traders). If the price is below the T3 Moving Average and it is edging lower, then we have a bearish trend and should limit entries to short. Below you can see it visualized in a trading platform.
Although the T3 MA is considered as one of the best swing following indicators that can be used on all time frames and in any market, it is still not advisable for novice/intermediate traders to increase their risk level and enter the market during trading ranges (especially tight ones). Thus, for the purposes of this article we will limit our entry signals only to such in trending conditions.
Once the market is displaying trending behavior, we can place with-trend entry orders as soon as the price pulls back to the moving average (undershooting or overshooting it will also work). As we know, moving averages are strong resistance/support levels, thus the price is more likely to rebound from them and resume its with-trend direction instead of penetrating it and reversing the trend.
And so, in a bull trend, if the market pulls back to the moving average, we can fairly safely assume that it will bounce off the T3 MA and resume upward momentum, thus we can go long. The same logic is in force during a bearish trend .
And last but not least, the T3 Moving Average can be used to generate entry signals upon crossing with another T3 MA with a longer trackback period (just like any other moving average crossover). When the fast T3 crosses the slower one from below and edges higher, this is called a Golden Cross and produces a bullish entry signal. When the faster T3 crosses the slower one from above and declines further, the scenario is called a Death Cross and signifies bearish conditions.
I Personally added a second T3 line with a volume factor of 0.618 (Fibonacci Ratio) and length of 3 (fibonacci number) which can be added by selecting the box in the input section. traders can combine the two lines to have Buy/Sell signals from the crosses.
Developed by Tim Tillson
Inverse Fisher Transform on STOCHASTIC (modified graphics)Modified the graphic representation of the script from John Ehlers - From California, USA, he is a veteran trader. With 35 years trading experience he has seen it all. John has an engineering background that led to his technical approach to trading ignoring fundamental analysis (with one important exception). John strongly believes in cycles. He’d rather exit a trade when the cycle ends or a new one starts. He uses the MESA principle to make predictions about cycles in the market and trades one hundred percent automatically. 
In the show John reveals: 
•	What is more appropriate than trading individual stocks 
•	The one thing he relies upon in his approach to the market 
•	The detail surrounding his unique trading style 
•	What important thing underpins the market and gives every trader an edge 
About INVERSE FISHER TRANSFORM: 
The purpose of technical indicators is to help with your timing decisions to buy or sell. Hopefully, the signals are clear and unequivocal. However, more often than not your decision to pull the trigger is accompanied by crossing your fingers. Even if you have placed only a few trades you know the drill. In this article I will show you a way to make your oscillator-type indicators make clear black-or-white indication of the time to buy or sell. I will do this by using the Inverse Fisher Transform to alter the Probability Distribution Function (PDF) of your indicators. In the past12 I have noted that the PDF of price and indicators do not have a Gaussian, or Normal, probability distribution. A Gaussian PDF is the familiar bell-shaped curve where the long “tails” mean that wide deviations from the mean occur with relatively low probability. The Fisher Transform can be applied to almost any normalized data set to make the resulting PDF nearly Gaussian, with the result that the turning points are sharply peaked and easy to identify. The Fisher Transform is defined by the equation 
1) 
Whereas the Fisher Transform is expansive, the Inverse Fisher Transform is compressive. The Inverse Fisher Transform is found by solving equation 1 for x in terms of y. The Inverse Fisher Transform is: 
2) 
The transfer response of the Inverse Fisher Transform is shown in Figure 1. If the input falls between –0.5 and +0.5, the output is nearly the same as the input. For larger absolute values (say, larger than 2), the output is compressed to be no larger than unity. The result of using the Inverse Fisher Transform is that the output has a very high probability of being either +1 or –1. This bipolar probability distribution makes the Inverse Fisher Transform ideal for generating an indicator that provides clear buy and sell signals. 
Tillson T3 Moving Average by KIVANÇ fr3762Developed by Tim Tillson, the T3 Moving Average is considered superior to traditional moving averages as it is smoother, more responsive and thus performs better in ranging market conditions as well. However, it bears the disadvantage of overshooting the price as it attempts to realign itself to current market conditions.
It incorporates a smoothing technique which allows it to plot curves more gradual than ordinary moving averages and with a smaller lag. Its smoothness is derived from the fact that it is a weighted sum of a single EMA , double EMA , triple EMA and so on. When a trend is formed, the price action will stay above or below the trend during most of its progression and will hardly be touched by any swings. Thus, a confirmed penetration of the T3 MA and the lack of a following reversal often indicates the end of a trend.
The T3 Moving Average generally produces entry signals similar to other moving averages and thus is traded largely in the same manner. Here are several assumptions:
If the price action is above the T3 Moving Average and the indicator is headed upward, then we have a bullish trend and should only enter long trades (advisable for novice/intermediate traders). If the price is below the T3 Moving Average and it is edging lower, then we have a bearish trend and should limit entries to short. Below you can see it visualized in a trading platform.
Although the T3 MA is considered as one of the best swing following indicators that can be used on all time frames and in any market, it is still not advisable for novice/intermediate traders to increase their risk level and enter the market during trading ranges (especially tight ones). Thus, for the purposes of this article we will limit our entry signals only to such in trending conditions.
Once the market is displaying trending behavior, we can place with-trend entry orders as soon as the price pulls back to the moving average (undershooting or overshooting it will also work). As we know, moving averages are strong resistance/support levels, thus the price is more likely to rebound from them and resume its with-trend direction instead of penetrating it and reversing the trend.
And so, in a bull trend, if the market pulls back to the moving average, we can fairly safely assume that it will bounce off the T3 MA and resume upward momentum, thus we can go long. The same logic is in force during a bearish trend .
And last but not least, the T3 Moving Average can be used to generate entry signals upon crossing with another T3 MA with a longer trackback period (just like any other moving average crossover). When the fast T3 crosses the slower one from below and edges higher, this is called a Golden Cross and produces a bullish entry signal. When the faster T3 crosses the slower one from above and declines further, the scenario is called a Death Cross and signifies bearish conditions.
 I Personally added a second T3 line with a volume factor of 0.618 (Fibonacci Ratio) and length of 3 (fibonacci number) which can be added by selecting the box in the input section. traders can combine the two lines to have Buy/Sell signals from the crosses.
 
Developed by Tim Tillson






















