Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Zero Phase Filtering [Repaint] - ExperimentalImportant !
The indicator is for experimental purpose only, it must not be used as a decisional tool but only as a visual one (like Zig-Zag, Fractal etc). The information this indicator display is uncertain and subject to drastic changes over time. If you have further question feel free to pm me.
Introduction
Most of the filters you will find are causal, this mean that they depend on present and past input values, this explain the lag they produce. Non causal filters however will use future input values. A well know way to get a zero-phase filter is by using the forward backward method, but this is not possible in pinescript as i recall. So we have to use some kind of function that will display future values, this is possible using the security function in version 2 or the one in version 3 using barmerge.lookahead_on .
The Use Of A Repainting Indicator
Its always better to filter data in order to have a clearer view of what is happening, this can be useful when doing some forecasting or doing less formal kind of analysis. However since it repaint you cant use it as a signal provider or use signals of other indicators using this filter as source.
For example if you want to forecast a smooth indicator, the forecast of this indicator under normal circumstances could still have lag associated with it, so you would have to react before your forecast, this wont happen if you apply this filter as your indicator source.
The Filter
We smooth with a simple moving average the price provided by the security function twice, length control the smoothing level. Since security depend on the time frame you are in you must select your time frame in the indicator parameter selection window.
Filtering using 45 minutes time frame close price in a 5 minutes chart, we fix this by selecting our time frame.
Consider the fact that the input of the indicator is just periodic price, so sometimes the lag can sometimes be less or more than 0 and the estimation not centered.
The indicator can work on time frames up to 1h, after that the filter have some lag, i tried fixing this and i ended up having data errors.
Applying our filter as source for the rsi oscillator.
Conclusion
It is possible to have a kind of zero-phase filters, but it would be better if pinescript could support backward indexing thus making us able to do forward backward filtering.
Since noise can affect our analysis, applying smoothing without having to use offset in plot can be considered useful.
Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Gaussian Channel [DW]This study is an experiment utilizing the Ehlers Gaussian Filter technique combined with lag reduction techniques and true range to analyze trend activity.
Gaussian filters, as Ehlers explains it, are simply exponential moving averages applied multiple times.
First, beta and alpha are calculated based on the sampling period and number of poles specified. The maximum number of poles available in this script is 9.
Next, the data being analyzed is given a truncation option for reduced lag, which can be enabled with "Reduced Lag Mode".
Then the alpha and source values are used to calculate the filter and filtered true range of the dataset.
Filtered true range with a specified multiplier is then added to and subtracted from the filter, generating a channel.
Lastly, a one pole filter with a N pole alpha is averaged with the filter to generate a faster filter, which can be enabled with "Fast Response Mode".
Custom bar colors are included.
Note: Both the sampling period and number of poles directly affect how much lag the indicator has, and how smooth the output is.
Larger inputs will result in smoother outputs with increased lag, and smaller inputs will have noisier outputs with reduced lag.
For the best results, I recommend not setting the sampling period any lower than the number of poles + 1. Going lower truncates the equation. Indicator

Indicator

Indicator

Hurst Exponent Market Phases [DW]This study is an experiment designed to identify market phases using changes in an approximate Hurst Exponent.
The exponent in this script is approximated using a simplified Rescaled Range method.
First, deviations are calculated for the specified period, then the specified period divided by 2, 4, 8, and 16.
Next, sums are taken of the deviations of each period, and the difference between the maximum and minimum sum gives the widest spread.
The rescaled range is calculated by dividing the widest spread by the standard deviation of price over the specified period.
The Hurst Exponent is then approximated by dividing log(rescaled range) by log(n).
The theory is that a system is persistent when the Hurst Exponent value is above 0.5, and antipersistent when the value is below 0.5.
The color scheme indicates 4 different phases I found to be significant in this formula:
- Stabilization Phase
- Destabilization Phase
- Chaos Increase Phase
- Chaos Decrease Phase
This script includes two visualization types to choose from:
- Bar Counter Mode, which displays the number of bars the exponent is consecutively in each phase.
- Hurst Approximation Mode, which displays the approximated exponent value.
Custom bar colors are included.
Please note: This is a rough estimate of the Hurst Exponent. It is not the actual exponent. Numerous approximations exist, and their results all differ slightly.
Indicator

Indicator

Indicator

Hybrid Pivot Zones [DW]This is an experimental study designed to identify potential areas of support and resistance using a hybrid between Camarilla and Fibonacci pivot calculations.
The levels are calculated by taking 110% of the previous interval's range multiplied by 8.33%, 16.67%, 25%, 50%, 61.8%, 78.6%, 100%, 127.2%, 141.4%, and 161.8%, then adding them above and below the interval open.
Custom bar colors are included. Indicator
