Learn R Programming

TTR (version 0.24.4)

MACD: MACD Oscillator

Description

The MACD was developed by Gerald Appel and is probably the most popular price oscillator. The MACD function documented in this page compares a fast moving average (MA) of a series with a slow MA of the same series. It can be used as a generic oscillator for any univariate series, not only price.

Usage

MACD(x, nFast = 12, nSlow = 26, nSig = 9, maType, percent = TRUE, ...)

Value

A object of the same class as x or a matrix (if try.xts

fails) containing the columns:

macd

The price (volume, etc.) oscillator.

signal

The oscillator signal line (a moving average of the oscillator).

Arguments

x

Object that is coercible to xts or matrix; usually price, but can be volume, etc.

nFast

Number of periods for fast moving average.

nSlow

Number of periods for slow moving average.

nSig

Number of periods for signal moving average.

maType

Either:

  1. A function or a string naming the function to be called.

  2. A list with the first component like (1) above, and additional parameters specified as named components. See Examples.

percent

logical; if TRUE, the percentage difference between the fast and slow moving averages is returned, otherwise the difference between the respective averages is returned.

...

Other arguments to be passed to the maType function in case (1) above.

Author

Joshua Ulrich

Details

The MACD function either subtracts the fast MA from the slow MA, or finds the rate of change between the fast MA and the slow MA.

References

The following site(s) were used to code/document this indicator:
Moving Average Convergence/Divergence (MACD):
https://www.fmlabs.com/reference/MACD.htm
https://www.metastock.com/Customer/Resources/TAAZ/?p=66
https://www.linnsoft.com/techind/macd
https://school.stockcharts.com/doku.php?id=technical_indicators:moving_average_convergence_divergence_macd

Price Oscillator:
https://www.fmlabs.com/reference/PriceOscillator.htm
https://www.fmlabs.com/reference/PriceOscillatorPct.htm
https://www.metastock.com/Customer/Resources/TAAZ/?p=94
https://school.stockcharts.com/doku.php?id=technical_indicators:price_oscillators_ppo

Volume Oscillator:
https://www.fmlabs.com/reference/PVO.htm
https://www.metastock.com/Customer/Resources/TAAZ/?p=122

See Also

See EMA, SMA, etc. for moving average options; and note Warning section.

Examples

Run this code

 data(ttrc)

 macd  <- MACD( ttrc[,"Close"], 12, 26, 9, maType="EMA" )
 macd2 <- MACD( ttrc[,"Close"], 12, 26, 9,
          maType=list(list(SMA), list(EMA, wilder=TRUE), list(SMA)) )

Run the code above in your browser using DataLab