TradingView
DonovanWall
2020年9月13日晚上10點51分

Resampling Filter Pack [DW] 

Bitcoin / DollarBitfinex

描述

This is an experimental study that calculates filter values at user defined sample rates.
This study is aimed to provide users with alternative functions for filtering price at custom sample rates.

First, source data is resampled using the desired rate and cycle offset. The highest possible rate is 1 bar per sample (BPS).
There are three resampling methods to choose from:
-> BPS - Resamples based on the number of bars.
-> Interval - Resamples based on time in multiples of current charting timeframe.
-> PA - Resamples based on changes in price action by a specified size. The PA algorithm in this script is derived from my Range Filter algorithm.
The range for PA method can be sized in points, pips, ticks, % of price, ATR, average change, and absolute quantity.

Then, the data is passed through one of my custom built filter functions designed to calculate filter values upon trigger conditions rather than bars.
In this study, these functions are used to calculate resampled prices based on bar rates, but they can be used and modified for a number of purposes.
The available conditional sampling filters in this study are:
-> Simple Moving Average (SMA)
-> Exponential Moving Average (EMA)
-> Zero Lag Exponential Moving Average (ZLEMA)
-> Double Exponential Moving Average (DEMA)
-> Rolling Moving Average (RMA)
-> Weighted Moving Average (WMA)
-> Hull Moving Average (HMA)
-> Exponentially Weighted Hull Moving Average (EWHMA)
-> Two Pole Butterworth Low Pass Filter (BLP)
-> Two Pole Gaussian Low Pass Filter (GLP)
-> Super Smoother Filter (SSF)

Downsampling is a powerful filtering approach that can be applied in numerous ways. However, it does suffer from a trade off, like most studies do.
Reducing the sample rate will completely eliminate certain levels of noise, at the cost of some spectral distortion. The lower your sample rate is, the more distortion you'll see.
With that being said, for analyzing trends, downsampling may prove to be one of your best friends!

發布通知

Updates:

-> All of the filter functions have been completely overhauled for enhanced performance, reliability, and versatility.
Rather than the previous sampling methods, these functions are using the array data structures Pine now provides.
These updated functions make downsampling convolution filters incredibly feasible, thus fixing calculation errors in SMA and WMA from the previous version.

-> Thanks to array processing, the current sample and valuewhen functions are no longer needed, so they have been removed.

-> Added Volume Weighted Moving Average (VWMA) with tick volume substitution for NaN values, and Arnaud Legoux Moving Average (ALMA) to the list of available filter types to choose from.

-> Added a custom bar color scheme based on disparity and direction for easier, and more visually appealing, analysis.

發布通知

Updates:

- Fixed VWMA delay in weights

- Fixed Interval resampling method variable assignment

發布通知

Update:

Fixed issue with range smoothing parameters not being connected in the PA based new sample function.
Thank you @mdvmdv for bringing this issue to my attention!
評論
carnagecain
Wished I would have found your work months ago! Thanks again dude!
PineCoders
PineCoders
This publication is now featured in our Editors' Picks. In the name of all TradingView traders, thank you for your valuable contribution to the TradingView community, and congrats!
blackcat1402
thanks for sharing this great work! it would be very interesting to combine novel moving averages together with filters ;)
Salman49
Hey guys, regarding this setup can someone please clarify what is the BUY/SELL signal

Much appreciated
DonovanWall
@Salman49, This utility does not have specific buy and sell signals built into it.

This is designed to provide alternative functions for filters that utilize custom sample rates rather than sampling data on every bar. Think of it as an "enhanced" set of moving averages.

How you analyze and trade with this utility depends on your personal preferences.
mbver
What setting do you set it to so that alerts trigger a buy or sell-off of the changing green/red line?
DonovanWall
@mbver, For color switch alerts, all you need to do is set up a couple alert conditions using the filter_dir variable in the code. This holds the direction state that powers the color scheme.

Simply take this snippet and paste it to the bottom of your code.

0bin.net/paste/GB9hgCli

Then you'll be able to access the conditions from your alert creation interface using the conditions "Bullish Switch" and "Bearish Switch", or whatever you choose to name them.
mbver
@DonovanWall, Thank you! really appreciate the help. Does the color switching repaint at all also?
DonovanWall
@mbver, Nope. Once closed, the colors will remain constant.
更多