VHF Class
Name | Description | |
---|---|---|
VHF(ISeries, int, BarData) | VHF normal constructor. |
Name | Description | |
---|---|---|
AutoUpdate | (inherited from Indicator). | |
BarData | The bar data of VHF. | |
Count | Gets the count. (inherited from Indicator). | |
Description | Gets the description. (inherited from TimeSeries). | |
Fields | (inherited from Indicator). | |
First | Gets the first. (inherited from Indicator). | |
FirstDateTime | Datetime of the first item in this time array (inherited from Indicator). | |
Id | Gets the id. (inherited from TimeSeries). | |
Indicators | Gets the indicators. (inherited from TimeSeries). | |
IsMultiIndicator | (inherited from Indicator). | |
IsUseBarSlice | (inherited from Indicator). | |
Item(int, BarData) | Gets the Double at the specified index and bar data. (inherited from Indicator). | |
Item(int) | Gets or sets the Double at the specified index. (inherited from Indicator). | |
Last | Gets the last. (inherited from Indicator). | |
LastDateTime | Datetime of the last item in this time array (inherited from Indicator). | |
Length | The length of VHF. | |
MaxLength | (inherited from TimeSeries). | |
Name | Gets the name. (inherited from TimeSeries). |
Name | Description | |
---|---|---|
Add(DateTime, double) | Adds the specified date time. (inherited from TimeSeries). | |
Ago(int) | Agoes the specified n. (inherited from TimeSeries). | |
Attach() | (inherited from Indicator). | |
Calculate(int) | Calculate VHF at the specific index. | |
Clear() | (inherited from Indicator). | |
Clone(ISeries) | ||
Contains(DateTime) | Determines whether [contains] [the specified date time]. (inherited from TimeSeries). | |
Crosses(TimeSeries, DateTime) | Crosseses the specified series. (inherited from TimeSeries). | |
Crosses(double, int) | Crosseses the specified level. (inherited from TimeSeries). | |
Detach() | (inherited from Indicator). | |
Exp() | Exps this instance. The type of this instance must have a parameterless constructor. (inherited from TimeSeries). | |
GetAsymmetry(int, int, int) | Gets the asymmetry. (inherited from TimeSeries). | |
GetAutoCorrelation(int) | Calculate autocorrelation (inherited from TimeSeries). | |
GetAutoCovariance(int) | Calculate autocovariance (inherited from TimeSeries). | |
GetByDateTime(DateTime, SearchOption) | Gets the by date time. (inherited from TimeSeries). | |
GetByIndex(Instrument, int) | (inherited from Indicator). | |
GetByIndex(int, int) | (inherited from Indicator). | |
GetCorrelation(TimeSeries) | Gets the correlation. (inherited from TimeSeries). | |
GetCorrelation(TimeSeries, int, int) | Gets the correlation. (inherited from TimeSeries). | |
GetCorrelation(int, int, int, int) | Gets the correlation. (inherited from TimeSeries). | |
GetCovariance(TimeSeries) | Gets the covariance. (inherited from TimeSeries). | |
GetCovariance(TimeSeries, int, int) | Gets the covariance. (inherited from TimeSeries). | |
GetCovariance(int, int, int, int) | Gets the covariance. (inherited from TimeSeries). | |
GetDateTime(int) | Gets the date time. (inherited from Indicator). | |
GetExcess(int, int, int) | Gets the excess. (inherited from TimeSeries). | |
GetFirst(Instrument) | (inherited from Indicator). | |
GetFirst(int) | (inherited from Indicator). | |
GetIndex(DateTime, IndexOption) | Gets the index. (inherited from Indicator). | |
GetIntersection(TimeSeries) | (inherited from TimeSeries). | |
GetItem(int) | Gets the item. (inherited from TimeSeries). | |
GetLast(Instrument) | (inherited from Indicator). | |
GetLast(int) | (inherited from Indicator). | |
GetMax(DateTime, DateTime) | Gets the maximum. (inherited from Indicator). | |
GetMaxItem() | Gets the maximum item. (inherited from TimeSeries). | |
GetMean() | Calculate mean (inherited from TimeSeries). | |
GetMean(DateTime, DateTime, int) | Calculate mean (inherited from TimeSeries). | |
GetMean(int, int, int) | Calculates mean (inherited from TimeSeries). | |
GetMean(DateTime, DateTime) | Calculate mean (inherited from TimeSeries). | |
GetMean(int, int) | Calculate mean (inherited from TimeSeries). | |
GetMean(int) | Calculate mean (inherited from TimeSeries). | |
GetMedian() | Calculates median (inherited from TimeSeries). | |
GetMedian(DateTime, DateTime, int) | Calculate median (inherited from TimeSeries). | |
GetMedian(int, int, int) | Calculates medain (inherited from TimeSeries). | |
GetMedian(DateTime, DateTime) | Calculate median (inherited from TimeSeries). | |
GetMedian(int, int) | Calculate median (inherited from TimeSeries). | |
GetMedian(int) | Calculate median (inherited from TimeSeries). | |
GetMin(DateTime, DateTime) | Gets the minimum. (inherited from Indicator). | |
GetMinItem() | Gets the minimum item. (inherited from TimeSeries). | |
GetMoment(int, int, int, int) | Gets the moment. (inherited from TimeSeries). | |
GetNegativeSeries() | Returns new double series with negative data entries from this array (inherited from TimeSeries). | |
GetNegativeStdDev() | Calculate standard deviation of negative data entries (inherited from TimeSeries). | |
GetNegativeStdDev(DateTime, DateTime) | Calculate standard deviation of negative data entries (inherited from TimeSeries). | |
GetNegativeStdDev(DateTime, DateTime, int) | Calculate standard deviation of negative data entries (inherited from TimeSeries). | |
GetNegativeStdDev(int, int) | Calculate standard deviation of negative data entries (inherited from TimeSeries). | |
GetNegativeStdDev(int, int, int) | Calculate standard deviation of negative data entries (inherited from TimeSeries). | |
GetNegativeStdDev(int) | Calculate standard deviation of negative data entries (inherited from TimeSeries). | |
GetNegativeVariance(int, int, int) | Calculate variance of negative data entries (inherited from TimeSeries). | |
GetNegativeVariance() | Calculate variance of negative data entries (inherited from TimeSeries). | |
GetNegativeVariance(DateTime, DateTime) | Calculate variance of negative data entries (inherited from TimeSeries). | |
GetNegativeVariance(DateTime, DateTime, int) | Gets the negative variance. (inherited from TimeSeries). | |
GetNegativeVariance(int, int) | Calculate variance of negative data entries (inherited from TimeSeries). | |
GetNegativeVariance(int) | Calculate variance of negative data entries (inherited from TimeSeries). | |
GetPercentReturnSeries() | Gets the percent return series. (inherited from TimeSeries). | |
GetPositiveSeries() | Returns new double series with positive data entries from this array (inherited from TimeSeries). | |
GetPositiveStdDev() | Calculate standard deviation of positive data entries (inherited from TimeSeries). | |
GetPositiveStdDev(DateTime, DateTime) | Calculate standard deviation of positive data entries (inherited from TimeSeries). | |
GetPositiveStdDev(DateTime, DateTime, int) | Calculate standard deviation of positive data entries (inherited from TimeSeries). | |
GetPositiveStdDev(int, int) | Calculate standard deviation of positive data entries (inherited from TimeSeries). | |
GetPositiveStdDev(int, int, int) | Calculate standard deviation of positive data entries (inherited from TimeSeries). | |
GetPositiveStdDev(int) | Calculate standard deviation of positive data entries (inherited from TimeSeries). | |
GetPositiveVariance(int, int, int) | Calculate variance of positive data entries (inherited from TimeSeries). | |
GetPositiveVariance() | Calculate variance of positive data entries (inherited from TimeSeries). | |
GetPositiveVariance(DateTime, DateTime) | Calculate variance of positive data entries (inherited from TimeSeries). | |
GetPositiveVariance(DateTime, DateTime, int) | Gets the positive variance. (inherited from TimeSeries). | |
GetPositiveVariance(int, int) | Calculate variance of positive data entries (inherited from TimeSeries). | |
GetPositiveVariance(int) | Calculate variance of positive data entries (inherited from TimeSeries). | |
GetReturnSeries() | Gets the return series. (inherited from TimeSeries). | |
GetStdDev() | Calculate standard deviation (inherited from TimeSeries). | |
GetStdDev(DateTime, DateTime) | Calculate standard deviation (inherited from TimeSeries). | |
GetStdDev(DateTime, DateTime, int) | Calculate standard deviation (inherited from TimeSeries). | |
GetStdDev(int, int) | Calculate standard deviation (inherited from TimeSeries). | |
GetStdDev(int, int, int) | Calculate standard deviation (inherited from TimeSeries). | |
GetStdDev(int) | Calculate standard deviation (inherited from TimeSeries). | |
GetSum() | Calculate sum (inherited from TimeSeries). | |
GetSum(int, int, int) | Calculate sum (inherited from TimeSeries). | |
GetTimeSeriesItem(int) | (inherited from TimeSeries). | |
GetValue(int) | Gets the value. (inherited from TimeSeries). | |
GetVariance() | Calculate variance (inherited from TimeSeries). | |
GetVariance(int, int, int) | Calculate variance (inherited from TimeSeries). | |
GetVariance(DateTime, DateTime) | Calculate variance (inherited from TimeSeries). | |
GetVariance(DateTime, DateTime, int) | Gets the variance. (inherited from TimeSeries). | |
GetVariance(int, int) | Calculate variance (inherited from TimeSeries). | |
GetVariance(int) | Calculate variance (inherited from TimeSeries). | |
IndexOf(DateTime, SearchOption) | Indexes the of. (inherited from TimeSeries). | |
Init() | Init VHF indicator. | |
Log() | Logs this instance. The type of this instance must have a parameterless constructor. (inherited from TimeSeries). | |
Log10() | Log10s this instance. The type of this instance must have a parameterless constructor. (inherited from TimeSeries). | |
Pow(double) | Pows the specified pow. The type of this instance must have a parameterless constructor. (inherited from TimeSeries). | |
Remove(int) | Removes the specified index. (inherited from TimeSeries). | |
Shift(int) | Shifts the specified offset. (inherited from TimeSeries). | |
Sqrt() | SQRTs this instance. The type of this instance must have a parameterless constructor. (inherited from TimeSeries). | |
Value(ISeries, int, int, BarData) | Calculate VHF for the specific instance of ISeries, index, length and bar data. |
Name | Description | |
---|---|---|
Addition | Implements the +. (inherited from TimeSeries). | |
Addition | Implements the +. (inherited from TimeSeries). | |
Addition | Implements the +. (inherited from TimeSeries). | |
Division | Implements the /. (inherited from TimeSeries). | |
Division | Implements the /. (inherited from TimeSeries). | |
Division | Implements the /. (inherited from TimeSeries). | |
Multiply | Implements the *. (inherited from TimeSeries). | |
Multiply | Implements the *. (inherited from TimeSeries). | |
Multiply | Implements the *. (inherited from TimeSeries). | |
Subtraction | Implements the -. (inherited from TimeSeries). | |
Subtraction | Implements the -. (inherited from TimeSeries). | |
Subtraction | Implements the -. (inherited from TimeSeries). |
Name | Description | |
---|---|---|
barData | ||
calculate | (inherited from Indicator). | |
description | (inherited from TimeSeries). | |
input | (inherited from Indicator). | |
length | ||
name | (inherited from TimeSeries). |
The Vertical Horizontal Filter determines whether prices are in a trending phase or a congestion phase.
The VHF was first presented by Adam White in an article published in the August, 1991 issue of Futures Magazine.
Probably the biggest dilemma in technical analysis is determining if prices are trending or are in a trading-range. Trend-following indicators such as the MACD and moving averages are excellent in trending markets, but they usually generate multiple conflicting trades during trading-range (or "congestion") periods. On the other hand, oscillators such as the RSI and Stochastics work well when prices fluctuate within a trading range, but they almost always close positions prematurely during trending markets. The VHF indicator attempts to determine the "trendiness" of prices to help you decide which indicators to use.
There are three ways to interpret the VHF indicator: 1. You can use the VHF values themselves to determine the degree that prices are trending. The higher the VHF, the higher the degree of trending and the more you should be using trend-following indicators. 2. You can use the direction of the VHF to determine whether a trending or congestion phase is developing. A rising VHF indicates a developing trend; a falling VHF indicates that prices may be entering a congestion phase. 3. You can use the VHF as a contrarian indicator. Expect congestion periods to follow high VHF values; expect prices to trend following low VHF values.
This indicator is described in more details in the Steve Achelis' book "Technical Analysis from A to Z".
Formula:
Probably the biggest dilemma in technical analysis is determining if prices are trending or are in a trading-range. Trend-following indicators such as the MACD and moving averages are excellent in trending markets, but they usually generate multiple conflicting trades during trading-range (or "congestion") periods. On the other hand, oscillators such as the RSI and Stochastics work well when prices fluctuate within a trading range, but they almost always close positions prematurely during trending markets. The VHF indicator attempts to determine the "trendiness" of prices to help you decide which indicators to use.
There are three ways to interpret the VHF indicator: 1. You can use the VHF values themselves to determine the degree that prices are trending. The higher the VHF, the higher the degree of trending and the more you should be using trend-following indicators. 2. You can use the direction of the VHF to determine whether a trending or congestion phase is developing. A rising VHF indicates a developing trend; a falling VHF indicates that prices may be entering a congestion phase. 3. You can use the VHF as a contrarian indicator. Expect congestion periods to follow high VHF values; expect prices to trend following low VHF values.
This indicator is described in more details in the Steve Achelis' book "Technical Analysis from A to Z".
Formula: