ROC Class

Price Rate of Change (ROC)
[Serializable()] 
public class ROC : Indicator
This language is not supported or no code example is available.
[Serializable()] 
public ref class ROC : public Indicator^
This language is not supported or no code example is available.
public  
Serializable() 
class ROC 
extends Indicator
This language is not supported or no code example is available.
Name Description
Public constructor ROC(ISeries, int, BarData) ROC normal constructor.
Top
Name Description
Public property AutoUpdate (inherited from Indicator).
Public property BarData The bar data of ROC.
Public property Count Gets the count. (inherited from Indicator).
Public property Description Gets the description. (inherited from TimeSeries).
Public property Fields (inherited from Indicator).
Public property First Gets the first. (inherited from Indicator).
Public property FirstDateTime Datetime of the first item in this time array (inherited from Indicator).
Public property Id Gets the id. (inherited from TimeSeries).
Public property Indicators Gets the indicators. (inherited from TimeSeries).
Public property IsMultiIndicator (inherited from Indicator).
Public property IsUseBarSlice (inherited from Indicator).
Public property Item(int, BarData) Gets the Double at the specified index and bar data. (inherited from Indicator).
Public property Item(int) Gets or sets the Double at the specified index. (inherited from Indicator).
Public property Last Gets the last. (inherited from Indicator).
Public property LastDateTime Datetime of the last item in this time array (inherited from Indicator).
Public property Length The length of ROC.
Public property MaxLength (inherited from TimeSeries).
Public property Name Gets the name. (inherited from TimeSeries).
Top
Methods
 
Name Description
Public method Add(DateTime, double) Adds the specified date time. (inherited from TimeSeries).
Public method Ago(int) Agoes the specified n. (inherited from TimeSeries).
Public method Attach() (inherited from Indicator).
Public method Calculate(int) Calculate ROC at the specific index.
Public method Clear() (inherited from Indicator).
Public method Clone(ISeries)
Public method Contains(DateTime) Determines whether [contains] [the specified date time]. (inherited from TimeSeries).
Public method Crosses(TimeSeries, DateTime) Crosseses the specified series. (inherited from TimeSeries).
Public method Crosses(double, int) Crosseses the specified level. (inherited from TimeSeries).
Public method Detach() (inherited from Indicator).
Public method Exp() Exps this instance. The type of this instance must have a parameterless constructor. (inherited from TimeSeries).
Public method GetAsymmetry(int, int, int) Gets the asymmetry. (inherited from TimeSeries).
Public method GetAutoCorrelation(int) Calculate autocorrelation (inherited from TimeSeries).
Public method GetAutoCovariance(int) Calculate autocovariance (inherited from TimeSeries).
Public method GetByDateTime(DateTime, SearchOption) Gets the by date time. (inherited from TimeSeries).
Public method GetByIndex(Instrument, int) (inherited from Indicator).
Public method GetByIndex(int, int) (inherited from Indicator).
Public method GetCorrelation(TimeSeries) Gets the correlation. (inherited from TimeSeries).
Public method GetCorrelation(TimeSeries, int, int) Gets the correlation. (inherited from TimeSeries).
Public method GetCorrelation(int, int, int, int) Gets the correlation. (inherited from TimeSeries).
Public method GetCovariance(TimeSeries) Gets the covariance. (inherited from TimeSeries).
Public method GetCovariance(TimeSeries, int, int) Gets the covariance. (inherited from TimeSeries).
Public method GetCovariance(int, int, int, int) Gets the covariance. (inherited from TimeSeries).
Public method GetDateTime(int) Gets the date time. (inherited from Indicator).
Public method GetExcess(int, int, int) Gets the excess. (inherited from TimeSeries).
Public method GetFirst(Instrument) (inherited from Indicator).
Public method GetFirst(int) (inherited from Indicator).
Public method GetIndex(DateTime, IndexOption) Gets the index. (inherited from Indicator).
Public method GetIntersection(TimeSeries) (inherited from TimeSeries).
Public method GetItem(int) Gets the item. (inherited from TimeSeries).
Public method GetLast(Instrument) (inherited from Indicator).
Public method GetLast(int) (inherited from Indicator).
Public method GetMax(DateTime, DateTime) Gets the maximum. (inherited from Indicator).
Public method GetMaxItem() Gets the maximum item. (inherited from TimeSeries).
Public method GetMean() Calculate mean (inherited from TimeSeries).
Public method GetMean(DateTime, DateTime, int) Calculate mean (inherited from TimeSeries).
Public method GetMean(int, int, int) Calculates mean (inherited from TimeSeries).
Public method GetMean(DateTime, DateTime) Calculate mean (inherited from TimeSeries).
Public method GetMean(int, int) Calculate mean (inherited from TimeSeries).
Public method GetMean(int) Calculate mean (inherited from TimeSeries).
Public method GetMedian() Calculates median (inherited from TimeSeries).
Public method GetMedian(DateTime, DateTime, int) Calculate median (inherited from TimeSeries).
Public method GetMedian(int, int, int) Calculates medain (inherited from TimeSeries).
Public method GetMedian(DateTime, DateTime) Calculate median (inherited from TimeSeries).
Public method GetMedian(int, int) Calculate median (inherited from TimeSeries).
Public method GetMedian(int) Calculate median (inherited from TimeSeries).
Public method GetMin(DateTime, DateTime) Gets the minimum. (inherited from Indicator).
Public method GetMinItem() Gets the minimum item. (inherited from TimeSeries).
Public method GetMoment(int, int, int, int) Gets the moment. (inherited from TimeSeries).
Public method GetNegativeSeries() Returns new double series with negative data entries from this array (inherited from TimeSeries).
Public method GetNegativeStdDev() Calculate standard deviation of negative data entries (inherited from TimeSeries).
Public method GetNegativeStdDev(DateTime, DateTime) Calculate standard deviation of negative data entries (inherited from TimeSeries).
Public method GetNegativeStdDev(DateTime, DateTime, int) Calculate standard deviation of negative data entries (inherited from TimeSeries).
Public method GetNegativeStdDev(int, int) Calculate standard deviation of negative data entries (inherited from TimeSeries).
Public method GetNegativeStdDev(int, int, int) Calculate standard deviation of negative data entries (inherited from TimeSeries).
Public method GetNegativeStdDev(int) Calculate standard deviation of negative data entries (inherited from TimeSeries).
Public method GetNegativeVariance(int, int, int) Calculate variance of negative data entries (inherited from TimeSeries).
Public method GetNegativeVariance() Calculate variance of negative data entries (inherited from TimeSeries).
Public method GetNegativeVariance(DateTime, DateTime) Calculate variance of negative data entries (inherited from TimeSeries).
Public method GetNegativeVariance(DateTime, DateTime, int) Gets the negative variance. (inherited from TimeSeries).
Public method GetNegativeVariance(int, int) Calculate variance of negative data entries (inherited from TimeSeries).
Public method GetNegativeVariance(int) Calculate variance of negative data entries (inherited from TimeSeries).
Public method GetPercentReturnSeries() Gets the percent return series. (inherited from TimeSeries).
Public method GetPositiveSeries() Returns new double series with positive data entries from this array (inherited from TimeSeries).
Public method GetPositiveStdDev() Calculate standard deviation of positive data entries (inherited from TimeSeries).
Public method GetPositiveStdDev(DateTime, DateTime) Calculate standard deviation of positive data entries (inherited from TimeSeries).
Public method GetPositiveStdDev(DateTime, DateTime, int) Calculate standard deviation of positive data entries (inherited from TimeSeries).
Public method GetPositiveStdDev(int, int) Calculate standard deviation of positive data entries (inherited from TimeSeries).
Public method GetPositiveStdDev(int, int, int) Calculate standard deviation of positive data entries (inherited from TimeSeries).
Public method GetPositiveStdDev(int) Calculate standard deviation of positive data entries (inherited from TimeSeries).
Public method GetPositiveVariance(int, int, int) Calculate variance of positive data entries (inherited from TimeSeries).
Public method GetPositiveVariance() Calculate variance of positive data entries (inherited from TimeSeries).
Public method GetPositiveVariance(DateTime, DateTime) Calculate variance of positive data entries (inherited from TimeSeries).
Public method GetPositiveVariance(DateTime, DateTime, int) Gets the positive variance. (inherited from TimeSeries).
Public method GetPositiveVariance(int, int) Calculate variance of positive data entries (inherited from TimeSeries).
Public method GetPositiveVariance(int) Calculate variance of positive data entries (inherited from TimeSeries).
Public method GetReturnSeries() Gets the return series. (inherited from TimeSeries).
Public method GetStdDev() Calculate standard deviation (inherited from TimeSeries).
Public method GetStdDev(DateTime, DateTime) Calculate standard deviation (inherited from TimeSeries).
Public method GetStdDev(DateTime, DateTime, int) Calculate standard deviation (inherited from TimeSeries).
Public method GetStdDev(int, int) Calculate standard deviation (inherited from TimeSeries).
Public method GetStdDev(int, int, int) Calculate standard deviation (inherited from TimeSeries).
Public method GetStdDev(int) Calculate standard deviation (inherited from TimeSeries).
Public method GetSum() Calculate sum (inherited from TimeSeries).
Public method GetSum(int, int, int) Calculate sum (inherited from TimeSeries).
Public method GetTimeSeriesItem(int) (inherited from TimeSeries).
Public method GetValue(int) Gets the value. (inherited from TimeSeries).
Public method GetVariance() Calculate variance (inherited from TimeSeries).
Public method GetVariance(int, int, int) Calculate variance (inherited from TimeSeries).
Public method GetVariance(DateTime, DateTime) Calculate variance (inherited from TimeSeries).
Public method GetVariance(DateTime, DateTime, int) Gets the variance. (inherited from TimeSeries).
Public method GetVariance(int, int) Calculate variance (inherited from TimeSeries).
Public method GetVariance(int) Calculate variance (inherited from TimeSeries).
Public method IndexOf(DateTime, SearchOption) Indexes the of. (inherited from TimeSeries).
Protected method Init() Init ROC indicator.
Public method Log() Logs this instance. The type of this instance must have a parameterless constructor. (inherited from TimeSeries).
Public method Log10() Log10s this instance. The type of this instance must have a parameterless constructor. (inherited from TimeSeries).
Public method Pow(double) Pows the specified pow. The type of this instance must have a parameterless constructor. (inherited from TimeSeries).
Public method Remove(int) Removes the specified index. (inherited from TimeSeries).
Public method Shift(int) Shifts the specified offset. (inherited from TimeSeries).
Public method Sqrt() SQRTs this instance. The type of this instance must have a parameterless constructor. (inherited from TimeSeries).
Public method Static Value(ISeries, int, int, BarData) Calculate ROC for the specific instance of ISeries, index, length and bar data.
Top
Name Description
Operator Static Addition Implements the +. (inherited from TimeSeries).
Operator Static Addition Implements the +. (inherited from TimeSeries).
Operator Static Addition Implements the +. (inherited from TimeSeries).
Operator Static Division Implements the /. (inherited from TimeSeries).
Operator Static Division Implements the /. (inherited from TimeSeries).
Operator Static Division Implements the /. (inherited from TimeSeries).
Operator Static Multiply Implements the *. (inherited from TimeSeries).
Operator Static Multiply Implements the *. (inherited from TimeSeries).
Operator Static Multiply Implements the *. (inherited from TimeSeries).
Operator Static Subtraction Implements the -. (inherited from TimeSeries).
Operator Static Subtraction Implements the -. (inherited from TimeSeries).
Operator Static Subtraction Implements the -. (inherited from TimeSeries).
Top
Fields
 
Name Description
Protected field barData
Protected field calculate (inherited from Indicator).
Internal protected (Protected Friend) field description (inherited from TimeSeries).
Protected field input (inherited from Indicator).
Protected field length
Protected field name (inherited from TimeSeries).
Top
Remarks
 
This study monitors market momentum. It calculates the market's rate of change relative to previous trading intervals. At the peaks, the indicator suggests a market that is overbought. Valleys or troughs indicate an oversold market condition. When the indicator begins to move back toward the zero line, this may indicate that the current trend is losing momentum.  
 
Some market technicians use a very simplified approach for the rate of change study. It issues buy and sell signals based upon the midpoint or zero line. You sell when the rate of change line crosses from above to below. You buy when the indicator crosses from below to above. This assumes that an oversold or overbought market condition precedes the crossover.  
 
In most instances, it is best to use this indicator as a precursor to change in market direction. One approach is to establish extreme zones for the study, much like the RSI or Stochastic. Also, the indicator is similar to an oscillator with regard to the market accelerating or decelerating. However, a good technical analyst must learn to tolerate the study in extreme bull and bear markets. It can generate many false signals under those market conditions.  
 
The ROC can be used as an excellent short-term to intermediate-term overbought/oversold indicator. Higher ROC values indicate an overbought contract. Lower ROC values indicate a possible rally. A word of caution must be issued when using overbought/oversold indicators: it is wise to wait for the market to correct before placing a trade. In spite of all expectations, markets that appear overbought may remain overbought for some time, and extreme overbought/oversold situations often suggest a continuation of the current trend.  
 
This indicator is described in more details in the Steve Achelis' book "Technical Analysis from A to Z".  
 
Formula:  

In this article

Definition