TalibEx (talib_ex_nif v0.1.0)
Interface for talib
Link to this section Summary
Functions
Vector Trigonometric ACos
Chaikin A/D Line
Vector Arithmetic Add
Chaikin A/D Oscillator
Average Directional Movement Index
Average Directional Movement Index Rating
Absolute Price Oscillator
Aroon
Aroon Oscillator
Vector Trigonometric ASin
Vector Trigonometric ATan
Average True Range
Average Price
Bollinger Bands
Beta
Balance Of Power
Commodity Channel Index
Two Crows
Three Black Crows
Three Inside Up/Down
Three-Line Strike
Three Outside Up/Down
Three Stars In The South
Three Advancing White Soldiers
Abandoned Baby
Advance Block
Belt-hold
Breakaway
Closing Marubozu
Concealing Baby Swallow
Counterattack
Dark Cloud Cover
Doji
Doji Star
Dragonfly Doji
Engulfing Pattern
Evening Doji Star
Evening Star
Up/Down-gap side-by-side white lines
Gravestone Doji
Hammer
Hanging Man
Harami Pattern
Harami Cross Pattern
High-Wave Candle
Hikkake Pattern
Modified Hikkake Pattern
Homing Pigeon
Identical Three Crows
In-Neck Pattern
Inverted Hammer
Kicking
Kicking - bull/bear determined by the longer marubozu
Ladder Bottom
Long Legged Doji
Long Line Candle
Marubozu
Mat Hold
Matching Low
Morning Doji Star
Morning Star
On-Neck Pattern
Piercing Pattern
Rickshaw Man
Rickshaw Man
Separating Lines
Shooting Star
Short Line Candle
Spinning Top
Stalled Pattern
Stick Sandwich
Takuri (Dragonfly Doji with very long lower shadow)
Tasuki Gap
Thrusting Pattern
Tristar Pattern
Unique 3 River
Upside/Downside Gap Three Methods
Upside Gap Two Crows
Vector Ceil
Chande Momentum Oscillator
Pearson's Correlation Coefficient (r)
Vector Trigonometric Cos
Vector Trigonometric Cosh
Double Exponential Moving Average
Vector Arithmetic Div
Directional Movement Index
Exponential Moving Average
Vector Arithmetic Exp
Vector Floor
Hilbert Transform - Dominant Cycle Period
Hilbert Transform - Dominant Cycle Phase
Hilbert Transform - Phasor Components
Hilbert Transform - SineWave
Hilbert Transform - Instantaneous Trendline
Hilbert Transform - Trend vs Cycle Mode
Kaufman Adaptive Moving Average
Linear Regression
Linear Regression Angle
Linear Regression Intercept
Linear Regression Slope
Vector Log Natural
Vector Log10
Moving average
Moving Average Convergence/Divergence
MACD with controllable MA type
Moving Average Convergence/Divergence Fix 12/26
MESA Adaptive Moving Average
Moving average with variable period
Highest value over a specified period
Index of highest value over a specified period
Median Price
Money Flow Index
MidPoint over period
Midpoint Price over period
Lowest value over a specified period
Index of lowest value over a specified period
Lowest and highest values over a specified period
Indexes of lowest and highest values over a specified period
Minus Directional Indicator
Minus Directional Movement
Momentum
Vector Arithmetic Mult
Normalized Average True Range
On Balance Volume
Plus Directional Indicator
Plus Directional Movement
Percentage Price Oscillator
Rate of change : ((price/prevPrice)-1)*100
Rate of change Percentage: (price-prevPrice)/prevPrice
Rate of change ratio 100 scale: (price/prevPrice)*100
Rate of change ratio: (price/prevPrice)
Relative Strength Index
Parabolic SAR
Parabolic SAR - Extended
Vector Trigonometric Sin
Vector Trigonometric Sinh
Simple Moving Average
Vector Square Root
Standard Deviation
Stochastic
Stochastic Fast
Stochastic Relative Strength Index
Vector Arithmetic Substraction
Summation
Triple Exponential Moving Average (T3)
Vector Trigonometric Tan
Vector Trigonometric Tanh
Triple Exponential Moving Average
True Range
Triangular Moving Average
1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
Time Series Forecast
Typical Price
Ultimate Oscillator
Variance
Weighted Close Price
Williams' %R
Weighted Moving Average
Link to this section Functions
acos(params)
Vector Trigonometric ACos
Inputs
values
Outputs
result
TA-LIB src TA_ACOS
ad(params)
@spec ad(high: [number()], low: [number()], close: [number()], volume: [number()]) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Chaikin A/D Line
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price Listvolume
: Volume List
Outputs
result
TA-LIB src TA_AD
add(params)
@spec add(values0: [number()], values1: [number()]) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Vector Arithmetic Add
Inputs
values0
values1
Outputs
result
TA-LIB src TA_ADD
adosc(params)
@spec adosc( high: [number()], low: [number()], close: [number()], volume: [number()], fast_period: pos_integer(), slow_period: pos_integer() ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Chaikin A/D Oscillator
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price Listvolume
: Volume Listfast_period
(default5
): Number of period for the fast MA (between2
and100000
)slow_period
(default15
): Number of period for the slow MA (between2
and100000
)
Outputs
result
TA-LIB src TA_ADOSC
adx(params)
@spec adx( high: [number()], low: [number()], close: [number()], time_period: pos_integer() ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Average Directional Movement Index
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price Listtime_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_ADX
adxr(params)
@spec adxr( high: [number()], low: [number()], close: [number()], time_period: pos_integer() ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Average Directional Movement Index Rating
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price Listtime_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_ADXR
apo(params)
@spec apo( values: [number()], fast_period: pos_integer(), slow_period: pos_integer(), moving_average_type: :sma | :ema | :wma | :dema | :tema | :trima | :kama | :mama | :t3 ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Absolute Price Oscillator
Inputs
values
fast_period
(default5
): Number of period for the fast MA (between2
and100000
)slow_period
(default15
): Number of period for the slow MA (between2
and100000
)moving_average_type
(default:sma
): Type of moving average.sma
|ema
|wma
|dema
|tema
|trima
|kama
|mama
|t3
Outputs
result
TA-LIB src TA_APO
aroon(params)
@spec aroon(high: [number()], low: [number()], time_period: pos_integer()) :: {:ok, down :: [number() | :nan], up :: [number() | :nan]} | {:error, term()}
Aroon
Inputs
high
: High Price Listlow
: Low Price Listtime_period
(default5
): Number of period (between1
and100000
)
Outputs
down
: Arron Downup
: Arron Up
TA-LIB src TA_AROON
aroonosc(params)
@spec aroonosc(high: [number()], low: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Aroon Oscillator
Inputs
high
: High Price Listlow
: Low Price Listtime_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_AROONOSC
asin(params)
Vector Trigonometric ASin
Inputs
values
Outputs
result
TA-LIB src TA_ASIN
atan(params)
Vector Trigonometric ATan
Inputs
values
Outputs
result
TA-LIB src TA_ATAN
atr(params)
@spec atr( high: [number()], low: [number()], close: [number()], time_period: pos_integer() ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Average True Range
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price Listtime_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_ATR
avgprice(params)
@spec avgprice(open: [number()], high: [number()], low: [number()], close: [number()]) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Average Price
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
result
TA-LIB src TA_AVGPRICE
bbands(params)
@spec bbands( values: [number()], time_period: pos_integer(), np_dev_up: number(), np_dev_down: number(), moving_average_type: :sma | :ema | :wma | :dema | :tema | :trima | :kama | :mama | :t3 ) :: {:ok, upper :: [number() | :nan], middle :: [number() | :nan], lower :: [number() | :nan]} | {:error, term()}
Bollinger Bands
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)np_dev_up
: Deviation multiplier for upper bandnp_dev_down
: Deviation multiplier for lower bandmoving_average_type
(default:sma
): Type of moving average.sma
|ema
|wma
|dema
|tema
|trima
|kama
|mama
|t3
Outputs
upper
: Upper Bandmiddle
: Middle Bandlower
: Lower Band
TA-LIB src TA_BBANDS
beta(params)
@spec beta(values0: [number()], values1: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Beta
Inputs
values0
values1
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_BETA
bop(params)
@spec bop(open: [number()], high: [number()], low: [number()], close: [number()]) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Balance Of Power
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
result
TA-LIB src TA_BOP
cci(params)
@spec cci( high: [number()], low: [number()], close: [number()], time_period: pos_integer() ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Commodity Channel Index
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price Listtime_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_CCI
cdl2_crows(params)
@spec cdl2_crows( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Two Crows
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDL2CROWS
cdl3_black_crows(params)
@spec cdl3_black_crows( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Three Black Crows
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDL3BLACKCROWS
cdl3_inside(params)
@spec cdl3_inside( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Three Inside Up/Down
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDL3INSIDE
cdl3_line_strike(params)
@spec cdl3_line_strike( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Three-Line Strike
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDL3LINESTRIKE
cdl3_outside(params)
@spec cdl3_outside( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Three Outside Up/Down
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDL3OUTSIDE
cdl3_stars_in_south(params)
@spec cdl3_stars_in_south( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Three Stars In The South
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDL3STARSINSOUTH
cdl3_white_soldiers(params)
@spec cdl3_white_soldiers( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Three Advancing White Soldiers
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDL3WHITESOLDIERS
cdl_abandoned_baby(params)
@spec cdl_abandoned_baby( open: [number()], high: [number()], low: [number()], close: [number()], pentration: number() ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Abandoned Baby
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price Listpentration
: Percentage of penetration of a candle within another candle (minuimum0
)
Outputs
list
TA-LIB src TA_CDLABANDONEDBABY
cdl_advance_block(params)
@spec cdl_advance_block( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Advance Block
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLADVANCEBLOCK
cdl_belt_hold(params)
@spec cdl_belt_hold( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Belt-hold
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLBELTHOLD
cdl_breakaway(params)
@spec cdl_breakaway( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Breakaway
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLBREAKAWAY
cdl_closing_marubozu(params)
@spec cdl_closing_marubozu( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Closing Marubozu
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLCLOSINGMARUBOZU
cdl_conceal_baby_swallow(params)
@spec cdl_conceal_baby_swallow( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Concealing Baby Swallow
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLCONCEALBABYSWALL
cdl_counterattack(params)
@spec cdl_counterattack( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Counterattack
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLCOUNTERATTACK
cdl_dark_cloud_cover(params)
@spec cdl_dark_cloud_cover( open: [number()], high: [number()], low: [number()], close: [number()], peneration: number() ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Dark Cloud Cover
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price Listpeneration
Outputs
list
TA-LIB src TA_CDLDARKCLOUDCOVER
cdl_doji(params)
@spec cdl_doji(open: [number()], high: [number()], low: [number()], close: [number()]) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Doji
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLDOJI
cdl_doji_star(params)
@spec cdl_doji_star( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Doji Star
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLDOJISTAR
cdl_dragonfly_doji(params)
@spec cdl_dragonfly_doji( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Dragonfly Doji
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLDRAGONFLYDOJI
cdl_engulfing(params)
@spec cdl_engulfing( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Engulfing Pattern
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLENGULFING
cdl_evening_doji_star(params)
@spec cdl_evening_doji_star( open: [number()], high: [number()], low: [number()], close: [number()], peneration: number() ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Evening Doji Star
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price Listpeneration
Outputs
list
TA-LIB src TA_CDLEVENINGDOJISTAR
cdl_evening_star(params)
@spec cdl_evening_star( open: [number()], high: [number()], low: [number()], close: [number()], peneration: number() ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Evening Star
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price Listpeneration
Outputs
list
TA-LIB src TA_CDLEVENINGSTAR
cdl_gap_side_side_white(params)
@spec cdl_gap_side_side_white( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Up/Down-gap side-by-side white lines
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLGAPSIDESIDEWHITE
cdl_gravestone_doji(params)
@spec cdl_gravestone_doji( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Gravestone Doji
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLGRAVESTONEDOJI
cdl_hammer(params)
@spec cdl_hammer( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Hammer
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLHAMMER
cdl_hanging_man(params)
@spec cdl_hanging_man( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Hanging Man
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLHANGINGMAN
cdl_harami(params)
@spec cdl_harami( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Harami Pattern
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLHARAMI
cdl_harami_cross(params)
@spec cdl_harami_cross( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Harami Cross Pattern
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLHARAMICROSS
cdl_highwave(params)
@spec cdl_highwave( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
High-Wave Candle
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLHIGHWAVE
cdl_hikkake(params)
@spec cdl_hikkake( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Hikkake Pattern
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLHIKKAKE
cdl_hikkake_mod(params)
@spec cdl_hikkake_mod( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Modified Hikkake Pattern
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLHIKKAKEMOD
cdl_homing_pigeon(params)
@spec cdl_homing_pigeon( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Homing Pigeon
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLHOMINGPIGEON
cdl_identical_3_crows(params)
@spec cdl_identical_3_crows( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Identical Three Crows
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLIDENTICAL3CROWS
cdl_inneck(params)
@spec cdl_inneck( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
In-Neck Pattern
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLINNECK
cdl_inverted_hammer(params)
@spec cdl_inverted_hammer( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Inverted Hammer
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLINVERTEDHAMMER
cdl_kicking(params)
@spec cdl_kicking( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Kicking
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLKICKING
cdl_kicking_by_length(params)
@spec cdl_kicking_by_length( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Kicking - bull/bear determined by the longer marubozu
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLKICKINGBYLENGTH
cdl_ladder_bottom(params)
@spec cdl_ladder_bottom( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Ladder Bottom
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLLADDERBOTTOM
cdl_long_legged_doji(params)
@spec cdl_long_legged_doji( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Long Legged Doji
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLLONGLEGGEDDOJI
cdl_long_line(params)
@spec cdl_long_line( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Long Line Candle
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLLONGLINE
cdl_marubozu(params)
@spec cdl_marubozu( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Marubozu
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLMARUBOZU
cdl_mat_hold(params)
@spec cdl_mat_hold( open: [number()], high: [number()], low: [number()], close: [number()], pentration: number() ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Mat Hold
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price Listpentration
: Percentage of penetration of a candle within another candle (minuimum0
)
Outputs
list
TA-LIB src TA_CDLMATHOLD
cdl_matching_low(params)
@spec cdl_matching_low( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Matching Low
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLMATCHINGLOW
cdl_morning_doji_star(params)
@spec cdl_morning_doji_star( open: [number()], high: [number()], low: [number()], close: [number()], pentration: number() ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Morning Doji Star
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price Listpentration
: Percentage of penetration of a candle within another candle (minuimum0
)
Outputs
list
TA-LIB src TA_CDLMORNINGDOJISTAR
cdl_morning_star(params)
@spec cdl_morning_star( open: [number()], high: [number()], low: [number()], close: [number()], pentration: number() ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Morning Star
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price Listpentration
: Percentage of penetration of a candle within another candle (minuimum0
)
Outputs
list
TA-LIB src TA_CDLMORNINGSTAR
cdl_on_neck(params)
@spec cdl_on_neck( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
On-Neck Pattern
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLONNECK
cdl_piercing(params)
@spec cdl_piercing( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Piercing Pattern
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLPIERCING
cdl_rickshaw_man(params)
@spec cdl_rickshaw_man( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Rickshaw Man
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLRICKSHAWMAN
cdl_rise_fall_3_methods(params)
@spec cdl_rise_fall_3_methods( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Rickshaw Man
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLRISEFALL3METHODS
cdl_separating_lines(params)
@spec cdl_separating_lines( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Separating Lines
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLSEPARATINGLINES
cdl_shooting_star(params)
@spec cdl_shooting_star( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Shooting Star
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLSHOOTINGSTAR
cdl_short_line(params)
@spec cdl_short_line( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Short Line Candle
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLSHORTLINE
cdl_spinning_top(params)
@spec cdl_spinning_top( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Spinning Top
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLSPINNINGTOP
cdl_stalled_pattern(params)
@spec cdl_stalled_pattern( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Stalled Pattern
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLSTALLEDPATTERN
cdl_stick_sandwich(params)
@spec cdl_stick_sandwich( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Stick Sandwich
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLSTICKSANDWICH
cdl_takuri(params)
@spec cdl_takuri( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Takuri (Dragonfly Doji with very long lower shadow)
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLTAKURI
cdl_tasuki_gap(params)
@spec cdl_tasuki_gap( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Tasuki Gap
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLTASUKIGAP
cdl_thrusting(params)
@spec cdl_thrusting( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Thrusting Pattern
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLTHRUSTING
cdl_tri_star(params)
@spec cdl_tri_star( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Tristar Pattern
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLTRISTAR
cdl_unique_3_river(params)
@spec cdl_unique_3_river( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Unique 3 River
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLUNIQUE3RIVER
cdl_upside_downside_gap_3_methods(params)
@spec cdl_upside_downside_gap_3_methods( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Upside/Downside Gap Three Methods
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLXSIDEGAP3METHODS
cdl_upside_gap_2_crows(params)
@spec cdl_upside_gap_2_crows( open: [number()], high: [number()], low: [number()], close: [number()] ) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Upside Gap Two Crows
Inputs
open
: Open Price Listhigh
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
list
TA-LIB src TA_CDLUPSIDEGAP2CROWS
ceil(params)
Vector Ceil
Inputs
values
Outputs
result
TA-LIB src TA_CEIL
cmo(params)
@spec cmo(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Chande Momentum Oscillator
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_CMO
correl(params)
@spec correl(values0: [number()], values1: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Pearson's Correlation Coefficient (r)
Inputs
values0
values1
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_CORREL
cos(params)
Vector Trigonometric Cos
Inputs
values
Outputs
result
TA-LIB src TA_COS
cosh(params)
Vector Trigonometric Cosh
Inputs
values
Outputs
result
TA-LIB src TA_COSH
dema(params)
@spec dema(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Double Exponential Moving Average
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_DEMA
div(params)
@spec div(values0: [number()], values1: [number()]) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Vector Arithmetic Div
Inputs
values0
values1
Outputs
result
TA-LIB src TA_DIV
dx(params)
@spec dx( high: [number()], low: [number()], close: [number()], time_period: pos_integer() ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Directional Movement Index
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price Listtime_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_DX
ema(params)
@spec ema(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Exponential Moving Average
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_EMA
exp(params)
Vector Arithmetic Exp
Inputs
values
Outputs
result
TA-LIB src TA_EXP
floor(params)
Vector Floor
Inputs
values
Outputs
result
TA-LIB src TA_FLOOR
ht_dcperiod(params)
Hilbert Transform - Dominant Cycle Period
Inputs
values
Outputs
result
TA-LIB src TA_HT_DCPERIOD
ht_dcphase(params)
Hilbert Transform - Dominant Cycle Phase
Inputs
values
Outputs
result
TA-LIB src TA_HT_DCPHASE
ht_phasor(params)
@spec ht_phasor([{:values, [number()]}]) :: {:ok, in_phase :: [number() | :nan], quadrature :: [number() | :nan]} | {:error, term()}
Hilbert Transform - Phasor Components
Inputs
values
Outputs
in_phase
quadrature
TA-LIB src TA_HT_PHASOR
ht_sine(params)
@spec ht_sine([{:values, [number()]}]) :: {:ok, sine :: [number() | :nan], leadSine :: [number() | :nan]} | {:error, term()}
Hilbert Transform - SineWave
Inputs
values
Outputs
sine
leadSine
TA-LIB src TA_HT_SINE
ht_trendline(params)
Hilbert Transform - Instantaneous Trendline
Inputs
values
Outputs
list
TA-LIB src TA_HT_TRENDLINE
ht_trendmode(params)
Hilbert Transform - Trend vs Cycle Mode
Inputs
values
Outputs
list
TA-LIB src TA_HT_TRENDMODE
kama(params)
@spec kama(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Kaufman Adaptive Moving Average
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_KAMA
linear_reg(params)
@spec linear_reg(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Linear Regression
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_LINEARREG
linear_reg_angle(params)
@spec linear_reg_angle(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Linear Regression Angle
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_LINEARREG_ANGLE
linear_reg_intercept(params)
@spec linear_reg_intercept(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Linear Regression Intercept
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_LINEARREG_INTERCEPT
linear_reg_slope(params)
@spec linear_reg_slope(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Linear Regression Slope
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_LINEARREG_SLOPE
ln(params)
Vector Log Natural
Inputs
values
Outputs
result
TA-LIB src TA_LN
log10(params)
Vector Log10
Inputs
values
Outputs
result
TA-LIB src TA_LOG10
ma(params)
@spec ma( values: [number()], time_period: pos_integer(), moving_average_type: :sma | :ema | :wma | :dema | :tema | :trima | :kama | :mama | :t3 ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Moving average
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)moving_average_type
(default:sma
): Type of moving average.sma
|ema
|wma
|dema
|tema
|trima
|kama
|mama
|t3
Outputs
result
TA-LIB src TA_MA
macd(params)
@spec macd( values: [number()], fast_period: pos_integer(), slow_period: pos_integer(), signal_period: pos_integer() ) :: {:ok, macd :: [number() | :nan], macd_signal :: [number() | :nan], macd_hist :: [number() | :nan]} | {:error, term()}
Moving Average Convergence/Divergence
Inputs
values
fast_period
(default5
): Number of period for the fast MA (between2
and100000
)slow_period
(default15
): Number of period for the slow MA (between2
and100000
)signal_period
(default1
): Smoothing for the signal line (between1
and100000
)
Outputs
macd
macd_signal
macd_hist
TA-LIB src TA_MACD
macdext(params)
@spec macdext( values: [number()], fast_period: pos_integer(), fast_moving_average_type: :sma | :ema | :wma | :dema | :tema | :trima | :kama | :mama | :t3, slow_period: pos_integer(), slow_moving_average_type: :sma | :ema | :wma | :dema | :tema | :trima | :kama | :mama | :t3, signal_period: pos_integer(), single_moving_average_type: :sma | :ema | :wma | :dema | :tema | :trima | :kama | :mama | :t3 ) :: {:ok, macd :: [number() | :nan], macd_signal :: [number() | :nan], macd_hist :: [number() | :nan]} | {:error, term()}
MACD with controllable MA type
Inputs
values
fast_period
(default5
): Number of period for the fast MA (between2
and100000
)fast_moving_average_type
(default:sma
): Type of moving average.sma
|ema
|wma
|dema
|tema
|trima
|kama
|mama
|t3
slow_period
(default15
): Number of period for the slow MA (between2
and100000
)slow_moving_average_type
(default:sma
): Type of moving average.sma
|ema
|wma
|dema
|tema
|trima
|kama
|mama
|t3
signal_period
(default1
): Smoothing for the signal line (between1
and100000
)single_moving_average_type
(default:sma
): Type of moving average.sma
|ema
|wma
|dema
|tema
|trima
|kama
|mama
|t3
Outputs
macd
macd_signal
macd_hist
TA-LIB src TA_MACDEXT
macdfix(params)
@spec macdfix(values: [number()], signal_period: pos_integer()) :: {:ok, macd :: [number() | :nan], macd_signal :: [number() | :nan], macd_hist :: [number() | :nan]} | {:error, term()}
Moving Average Convergence/Divergence Fix 12/26
Inputs
values
signal_period
(default1
): Smoothing for the signal line (between1
and100000
)
Outputs
macd
macd_signal
macd_hist
TA-LIB src TA_MACDFIX
mama(params)
@spec mama(values: [number()], fast_limit: number(), slow_limit: number()) :: {:ok, mama :: [number() | :nan], fama :: [number() | :nan]} | {:error, term()}
MESA Adaptive Moving Average
Inputs
values
fast_limit
(default0.75
): Upper limit use in the adaptive algorithm (between0.01
and0.99
)slow_limit
(default0.25
): Lower limit use in the adaptive algorithm (between0.01
and0.99
)
Outputs
mama
fama
TA-LIB src TA_MAMA
mavp(params)
@spec mavp( values: [number()], periods: [number()], min_period: pos_integer(), max_period: pos_integer(), moving_average_type: :sma | :ema | :wma | :dema | :tema | :trima | :kama | :mama | :t3 ) :: {:ok, list :: [number() | :nan]} | {:error, term()}
Moving average with variable period
Inputs
values
periods
min_period
(default5
): Value less than minimum will be changed to Minimum period (between2
and100000
)max_period
(default15
): Value higher than maximum will be changed to Maximum period (between2
and100000
)moving_average_type
(default:sma
): Type of moving average.sma
|ema
|wma
|dema
|tema
|trima
|kama
|mama
|t3
Outputs
list
TA-LIB src TA_MAVP
max(params)
@spec max(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Highest value over a specified period
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_MAX
max_index(params)
@spec max_index(values: [number()], time_period: pos_integer()) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Index of highest value over a specified period
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
list
TA-LIB src TA_MAXINDEX
med_price(params)
@spec med_price(high: [number()], low: [number()]) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Median Price
Inputs
high
: High Price Listlow
: Low Price List
Outputs
result
TA-LIB src TA_MEDPRICE
mfi(params)
@spec mfi( high: [number()], low: [number()], close: [number()], volume: [number()], time_period: pos_integer() ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Money Flow Index
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price Listvolume
: Volume Listtime_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_MFI
mid_point(params)
@spec mid_point(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
MidPoint over period
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_MIDPOINT
mid_price(params)
@spec mid_price(high: [number()], low: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Midpoint Price over period
Inputs
high
: High Price Listlow
: Low Price Listtime_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_MIDPRICE
min(params)
@spec min(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Lowest value over a specified period
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_MIN
min_index(params)
@spec min_index(values: [number()], time_period: pos_integer()) :: {:ok, list :: [integer() | :nan]} | {:error, term()}
Index of lowest value over a specified period
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
list
TA-LIB src TA_MININDEX
min_max(params)
@spec min_max(values: [number()], time_period: pos_integer()) :: {:ok, min :: [number() | :nan], max :: [number() | :nan]} | {:error, term()}
Lowest and highest values over a specified period
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
min
max
TA-LIB src TA_MINMAX
min_max_index(params)
@spec min_max_index(values: [number()], time_period: pos_integer()) :: {:ok, min :: [integer() | :nan], max :: [integer() | :nan]} | {:error, term()}
Indexes of lowest and highest values over a specified period
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
min
max
TA-LIB src TA_MINMAXINDEX
minus_di(params)
@spec minus_di( high: [number()], low: [number()], close: [number()], time_period: pos_integer() ) :: {:ok, list :: [number() | :nan]} | {:error, term()}
Minus Directional Indicator
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price Listtime_period
(default5
): Number of period (between1
and100000
)
Outputs
list
TA-LIB src TA_MINUS_DI
minus_dm(params)
@spec minus_dm(high: [number()], low: [number()], time_period: pos_integer()) :: {:ok, list :: [number() | :nan]} | {:error, term()}
Minus Directional Movement
Inputs
high
: High Price Listlow
: Low Price Listtime_period
(default5
): Number of period (between1
and100000
)
Outputs
list
TA-LIB src TA_MINUS_DM
mom(params)
@spec mom(values: [number()], time_period: pos_integer()) :: {:ok, list :: [number() | :nan]} | {:error, term()}
Momentum
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
list
TA-LIB src TA_MOM
mult(params)
@spec mult(values0: [number()], values1: [number()]) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Vector Arithmetic Mult
Inputs
values0
values1
Outputs
result
TA-LIB src TA_MULT
natr(params)
@spec natr( high: [number()], low: [number()], close: [number()], time_period: pos_integer() ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Normalized Average True Range
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price Listtime_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_NATR
obv(params)
@spec obv(values: [number()], volume: [number()]) :: {:ok, result :: [number() | :nan]} | {:error, term()}
On Balance Volume
Inputs
values
volume
: Volume List
Outputs
result
TA-LIB src TA_OBV
plus_di(params)
@spec plus_di( high: [number()], low: [number()], close: [number()], time_period: pos_integer() ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Plus Directional Indicator
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price Listtime_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_PLUS_DI
plus_dm(params)
@spec plus_dm(high: [number()], low: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Plus Directional Movement
Inputs
high
: High Price Listlow
: Low Price Listtime_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_PLUS_DM
ppo(params)
@spec ppo( values: [number()], fast_period: pos_integer(), slow_period: pos_integer(), moving_average_type: :sma | :ema | :wma | :dema | :tema | :trima | :kama | :mama | :t3 ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Percentage Price Oscillator
Inputs
values
fast_period
(default5
): Number of period for the fast MA (between2
and100000
)slow_period
(default15
): Number of period for the slow MA (between2
and100000
)moving_average_type
(default:sma
): Type of moving average.sma
|ema
|wma
|dema
|tema
|trima
|kama
|mama
|t3
Outputs
result
TA-LIB src TA_PPO
roc(params)
@spec roc(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Rate of change : ((price/prevPrice)-1)*100
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_ROC
rocp(params)
@spec rocp(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Rate of change Percentage: (price-prevPrice)/prevPrice
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_ROCP
rocr100(params)
@spec rocr100(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Rate of change ratio 100 scale: (price/prevPrice)*100
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_ROCR100
rocr(params)
@spec rocr(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Rate of change ratio: (price/prevPrice)
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_ROCR
rsi(params)
@spec rsi(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Relative Strength Index
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_RSI
sar(params)
@spec sar( high: [number()], low: [number()], acceleration: number(), maximum: number() ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Parabolic SAR
Inputs
high
: High Price Listlow
: Low Price Listacceleration
(default0
): Acceleration Factor used up to the Maximum value (minuimum0
)maximum
(default0
): Acceleration Factor Maximum value (minuimum0
)
Outputs
result
TA-LIB src TA_SAR
sarext(params)
@spec sarext( high: [number()], low: [number()], start_value: number(), offset_on_reverse: number(), acceleration_init_long: number(), acceleration_long: number(), acceleration_max_long: number(), acceleration_init_short: number(), acceleration_short: number(), acceleration_max_short: number() ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Parabolic SAR - Extended
Inputs
high
: High Price Listlow
: Low Price Liststart_value
(default0
): Start value and direction. 0 for Auto, >0 for Long, <0 for Shortoffset_on_reverse
(default0
): Percent offset added/removed to initial stop on short/long reversal (minuimum0
)acceleration_init_long
(default0
): Acceleration Factor initial value for the Long direction (minuimum0
)acceleration_long
(default0
): Acceleration Factor for the Long direction (minuimum0
)acceleration_max_long
(default0
): Acceleration Factor maximum value for the Long direction (minuimum0
)acceleration_init_short
(default0
): Acceleration Factor initial value for the Short direction (minuimum0
)acceleration_short
(default0
): Acceleration Factor for the Short direction (minuimum0
)acceleration_max_short
(default0
): Acceleration Factor maximum value for the Short direction (minuimum0
)
Outputs
result
TA-LIB src TA_SAREXT
sin(params)
Vector Trigonometric Sin
Inputs
values
Outputs
result
TA-LIB src TA_SIN
sinh(params)
Vector Trigonometric Sinh
Inputs
values
Outputs
result
TA-LIB src TA_SINH
sma(params)
@spec sma(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Simple Moving Average
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_SMA
sqrt(params)
Vector Square Root
Inputs
values
Outputs
result
TA-LIB src TA_SQRT
stddev(params)
@spec stddev( values: [number()], time_period: pos_integer(), number_of_deviations: number() ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Standard Deviation
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)number_of_deviations
: Number of deviations
Outputs
result
TA-LIB src TA_STDDEV
stoch(params)
@spec stoch( high: [number()], low: [number()], close: [number()], fast_k_period: pos_integer(), slow_k_period: pos_integer(), slow_k_moving_average_type: :sma | :ema | :wma | :dema | :tema | :trima | :kama | :mama | :t3, slow_d_period: pos_integer(), slow_d_moving_average_type: :sma | :ema | :wma | :dema | :tema | :trima | :kama | :mama | :t3 ) :: {:ok, slow_k :: [number() | :nan], slow_d :: [number() | :nan]} | {:error, term()}
Stochastic
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price Listfast_k_period
: Time period for building the Fast-K line (between1
and100000
)slow_k_period
: Smoothing for making the Slow-K line. Usually set to 3 (between1
and100000
)slow_k_moving_average_type
(default:sma
): Type of Moving Average for Slow-Kslow_d_period
: Smoothing for making the Slow-D line (between1
and100000
)slow_d_moving_average_type
(default:sma
): Type of Moving Average for Slow-K
Outputs
slow_k
slow_d
TA-LIB src TA_STOCH
stochf(params)
@spec stochf( high: [number()], low: [number()], close: [number()], fast_k_period: pos_integer(), fast_d_period: pos_integer(), fast_d_moving_average_type: :sma | :ema | :wma | :dema | :tema | :trima | :kama | :mama | :t3 ) :: {:ok, fast_k :: [number() | :nan], fast_d :: [number() | :nan]} | {:error, term()}
Stochastic Fast
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price Listfast_k_period
: Time period for building the Fast-K line (between1
and100000
)fast_d_period
: Smoothing for making the Fast-D line. Usually set to 3 (between1
and100000
)fast_d_moving_average_type
(default:sma
): Type of Moving Average for Fast-D
Outputs
fast_k
fast_d
TA-LIB src TA_STOCHF
stochrsi(params)
@spec stochrsi( values: [number()], time_period: pos_integer(), fast_k_period: pos_integer(), fast_d_period: pos_integer(), fast_d_moving_average_type: :sma | :ema | :wma | :dema | :tema | :trima | :kama | :mama | :t3 ) :: {:ok, fast_k :: [number() | :nan], fast_d :: [number() | :nan]} | {:error, term()}
Stochastic Relative Strength Index
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)fast_k_period
: Time period for building the Fast-K line (between1
and100000
)fast_d_period
: Smoothing for making the Fast-D line. Usually set to 3 (between1
and100000
)fast_d_moving_average_type
(default:sma
): Type of Moving Average for Fast-D
Outputs
fast_k
fast_d
TA-LIB src TA_STOCHRSI
sub(params)
@spec sub(values0: [number()], values1: [number()]) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Vector Arithmetic Substraction
Inputs
values0
values1
Outputs
result
TA-LIB src TA_SUB
sum(params)
@spec sum(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Summation
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_SUM
t3(params)
@spec t3(values: [number()], time_period: pos_integer(), v_factor: number()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Triple Exponential Moving Average (T3)
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)v_factor
: Volume Factor (between0
and1
)
Outputs
result
TA-LIB src TA_T3
tan(params)
Vector Trigonometric Tan
Inputs
values
Outputs
result
TA-LIB src TA_TAN
tanh(params)
Vector Trigonometric Tanh
Inputs
values
Outputs
result
TA-LIB src TA_TANH
tema(params)
@spec tema(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Triple Exponential Moving Average
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_TEMA
trange(params)
@spec trange(high: [number()], low: [number()], close: [number()]) :: {:ok, result :: [number() | :nan]} | {:error, term()}
True Range
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
result
TA-LIB src TA_TRANGE
trima(params)
@spec trima(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Triangular Moving Average
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_TRIMA
trix(params)
@spec trix(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_TRIX
tsf(params)
@spec tsf(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Time Series Forecast
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_TSF
typprice(params)
@spec typprice(high: [number()], low: [number()], close: [number()]) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Typical Price
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
result
TA-LIB src TA_TYPPRICE
ultosc(params)
@spec ultosc( high: [number()], low: [number()], close: [number()], time_period1: pos_integer(), time_period2: pos_integer(), time_period3: pos_integer() ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Ultimate Oscillator
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price Listtime_period1
: Number of bars for 1st period (between1
and100000
)time_period2
: Number of bars for 2nd period (between1
and100000
)time_period3
: Number of bars for 3rd period (between1
and100000
)
Outputs
result
TA-LIB src TA_ULTOSC
var(params)
@spec var( values: [number()], time_period: pos_integer(), number_of_deviations: number() ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Variance
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)number_of_deviations
: Number of deviations
Outputs
result
TA-LIB src TA_VAR
wclprice(params)
@spec wclprice(high: [number()], low: [number()], close: [number()]) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Weighted Close Price
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price List
Outputs
result
TA-LIB src TA_WCLPRICE
willr(params)
@spec willr( high: [number()], low: [number()], close: [number()], time_period: pos_integer() ) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Williams' %R
Inputs
high
: High Price Listlow
: Low Price Listclose
: Close Price Listtime_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_WILLR
wma(params)
@spec wma(values: [number()], time_period: pos_integer()) :: {:ok, result :: [number() | :nan]} | {:error, term()}
Weighted Moving Average
Inputs
values
time_period
(default5
): Number of period (between1
and100000
)
Outputs
result
TA-LIB src TA_WMA