Skip to contents

The normalized_average_true_range() 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.

Usage

normalized_average_true_range(x, cols, n = 10, ...)

Arguments

x

An OHLC-V series that is coercible to data.frame.

cols

(formula). An optional 3 variable formula passed into model.frame. Internally uses ~high + low + close by default.

n

(integer). An integer of length 1.

...

Additional parameters passed into model.frame

Value

An object of same class and length of x:

NATR

double

See also

Other Volatility Indicator: average_true_range(), true_range()

Author

Serkan Korkmaz

Examples

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

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

## display the results
utils::tail(output)
#>                         NATR
#> 2024-12-26 01:00:00 4.522839
#> 2024-12-27 01:00:00 4.567689
#> 2024-12-28 01:00:00 4.234142
#> 2024-12-29 01:00:00 4.124041
#> 2024-12-30 01:00:00 4.138362
#> 2024-12-31 01:00:00 4.148956

## 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::normalized_average_true_range
 )
}