Skip to contents

The extended_moving_average_convergence_divergence() is a generic S3 function that builds upon 'type-safe'-esque workflows limited to classes in in base R, and the package-wide dependencies. Ie. class in, class out. Each method is a soft wrapper of model.frame and therefore the OHLC-V series must be coercible to a data.frame.

extended_moving_average_convergence_divergence() also accepts a double vector in which case the indicator is calculated 'as-is' without passing through model.frame. extended_moving_average_convergence_divergence() returns an n by k matrix computed in C by default. When k = 1, the result is simplified to a double vector; for k > 1, the full n by k matrix is returned.

Usage

extended_moving_average_convergence_divergence(
  x,
  cols,
  fast = EMA(n = 12),
  slow = EMA(n = 26),
  signal = EMA(n = 9),
  ...
)

Arguments

x

An OHLC-V series that is coercible to data.frame. Alternatively, x may also be supplied as a double vector.

cols

(formula). An optional 1 variable formula passed into model.frame. Internally uses ~close by default.

fast

(list). Period and Moving Average (MA) type for the fast MA. EMA by default.

slow

(list). Period and Moving Average (MA) type for the slow MA. EMA by default.

signal

(list). Period and Moving Average (MA) type for the signal MA. EMA by default.

...

Additional parameters passed into model.frame

Value

An object of same class and length of x:

MACD

double

MACDSignal

double

MACDHist

double

Author

Serkan Korkmaz

Examples

## load Bitcoin (BTC)
## series
data(BTC, package = "talib")

## calculate the indicator
## for Bitcoin (BTC)
output <- talib::extended_moving_average_convergence_divergence(BTC)

## display the results
utils::tail(output)
#>                           MACD MACDSignal   MACDHist
#> 2024-12-26 01:00:00  608.68287  1590.9032  -982.2204
#> 2024-12-27 01:00:00  243.07106  1321.3368 -1078.2657
#> 2024-12-28 01:00:00   29.87501  1063.0444 -1033.1694
#> 2024-12-29 01:00:00 -261.68536   798.0985 -1059.7838
#> 2024-12-30 01:00:00 -561.79956   526.1189 -1087.9184
#> 2024-12-31 01:00:00 -729.69370   274.9564 -1004.6501

## visualize the indicator
## with talib::chart()
##
## see ?talib::chart or ?talib::indicator
## for more details
{
 ## chart OHLC-V
 ## series with talib::chart()
 talib::chart(BTC)

 ## chart indicator
 ## with default values
 talib::indicator(
     talib::extended_moving_average_convergence_divergence
 )
}
#> Warning: Ignoring 33 observations