API Documentation

Indicators (alphabetically ordered)

OnlineTechnicalIndicators.ADXType
ADX{Tohlcv}(; di_period = 14, adx_period = 14, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The ADX type implements an Average Directional Index indicator.

source
OnlineTechnicalIndicators.ALMAType
ALMA{T}(; period = ALMA_PERIOD, offset = ALMA_OFFSET, sigma = ALMA_SIGMA, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The ALMA type implements an Arnaud Legoux Moving Average indicator.

source
OnlineTechnicalIndicators.AOType
AO{Tohlcv}(; fast_period = AO_FAST_PERIOD, slow_period = AO_SLOW_PERIOD, fast_ma = SMA, slow_ma = SMA, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The AO type implements an Awesome Oscillator indicator.

source
OnlineTechnicalIndicators.ATRType
ATR{Tohlcv}(; period = ATR_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The ATR type implements an Average True Range indicator.

source
OnlineTechnicalIndicators.AroonType
Aroon{Tohlcv}(; period = Aroon_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The Aroon type implements an Aroon indicator.

source
OnlineTechnicalIndicators.BBType
BB{T}(; period = BB_PERIOD, std_dev_mult = BB_STD_DEV_MULT, ma = SMA, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The BB type implements Bollinger Bands indicator.

source
OnlineTechnicalIndicators.BOPType
BOP{Tohlcv}(input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The BOP type implements a Balance Of Power indicator.

source
OnlineTechnicalIndicators.CCIType
CCI{Tohlcv}(; period=CCI_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The CCI type implements a Commodity Channel Index.

source
OnlineTechnicalIndicators.CHOPType
CHOP{Tohlcv}(; period = CHOP_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The CHOP type implements a Choppiness Index indicator.

source
OnlineTechnicalIndicators.ChaikinOscType
ChaikinOsc{Tohlcv}(; fast_period = ChaikinOsc_FAST_PERIOD, slow_period = ChaikinOsc_SLOW_PERIOD, fast_ma = EMA, slow_ma = EMA, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The ChaikinOsc type implements a Chaikin Oscillator.

source
OnlineTechnicalIndicators.ChandeKrollStopType
ChandeKrollStop{Tohlcv}(; atr_period = ChandeKrollStop_ATR_PERIOD, atr_mult = ChandeKrollStop_ATR_MULT, period = ChandeKrollStop_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The ChandeKrollStop type implements a ChandeKrollStop indicator.

source
OnlineTechnicalIndicators.CoppockCurveType
CoppockCurve{T}(; fast_roc_period = CoppockCurve_FAST_ROC_PERIOD, slow_roc_period = CoppockCurve_SLOW_ROC_PERIOD, wma_period = CoppockCurve_WMA_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The CoppockCurve type implements a Coppock Curve indicator.

source
OnlineTechnicalIndicators.DEMAType
DEMA{T}(; period = DEMA_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The DEMA type implements a Double Exponential Moving Average indicator.

source
OnlineTechnicalIndicators.DPOType
DPO{T}(; period = DPO_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The DPO type implements a Detrended Price Oscillator indicator.

source
OnlineTechnicalIndicators.DonchianChannelsType
DonchianChannels{Tohlcv}(; period = DonchianChannels_ATR_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The DonchianChannels type implements a Donchian Channels indicator.

source
OnlineTechnicalIndicators.EMAType
EMA{T}(; period = EMA_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The EMA type implements an Exponential Moving Average indicator.

source
OnlineTechnicalIndicators.EMVType
EMV{Tohlcv}(; period = EMV_PERIOD, volume_div = EMV_VOLUME_DIV, ma = SMA, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The EMV type implements a Ease of Movement indicator.

source
OnlineTechnicalIndicators.ForceIndexType
ForceIndex{Tohlcv}(; period = ForceIndex_PERIOD, ma = EMA, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The ForceIndex type implements a Force Index indicator.

source
OnlineTechnicalIndicators.HMAType
HMA{T}(; period = HMA_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The HMA type implements a Hull Moving Average indicator.

source
OnlineTechnicalIndicators.KAMAType
KAMA{T}(; period = KAMA_PERIOD, fast_ema_constant_period = KAMA_FAST_EMA_CONSTANT_PERIOD, slow_ema_constant_period = KAMA_SLOW_EMA_CONSTANT_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The KAMA type implements a Kaufman's Adaptive Moving Average indicator.

source
OnlineTechnicalIndicators.KSTType
KST{T}(;
    roc1_period = KST_ROC1_PERIOD,
    roc1_ma_period = KST_ROC1_MA_PERIOD,
    roc2_period = KST_ROC2_PERIOD,
    roc2_ma_period = KST_ROC2_MA_PERIOD,
    roc3_period = KST_ROC3_PERIOD,
    roc3_ma_period = KST_ROC3_MA_PERIOD,
    roc4_period = KST_ROC4_PERIOD,
    roc4_ma_period = KST_ROC4_MA_PERIOD,
    signal_period = KST_SIGNAL_PERIOD,
    ma = SMA,
    input_filter = always_true,
    input_modifier = identity,
    input_modifier_return_type = T
)

The KST type implements Know Sure Thing indicator.

source
OnlineTechnicalIndicators.KVOType
KVO{Tohlcv}(; fast_period = KVO_FAST_PERIOD, slow_period = KVO_SLOW_PERIOD, ma = EMA, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The KVO type implements a Klinger Volume Oscillator.

source
OnlineTechnicalIndicators.KeltnerChannelsType
KeltnerChannels{Tohlcv}(; ma_period = KeltnerChannels_MA_PERIOD, atr_period = KeltnerChannels_ATR_PERIOD, atr_mult_up = KeltnerChannels_ATR_MULT_UP, atr_mult_down = KeltnerChannels_ATR_MULT_DOWN, ma = EMA, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The KeltnerChannels type implements a Keltner Channels indicator.

source
OnlineTechnicalIndicators.MACDType
MACD{T}(; fast_period = MACD_FAST_PERIOD, slow_period = MACD_SLOW_PERIOD, signal_period = MACD_SIGNAL_PERIOD, ma = EMA, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The MACD type implements Moving Average Convergence Divergence indicator.

source
OnlineTechnicalIndicators.MassIndexType
MassIndex{T}(; ma_period = MassIndex_MA_PERIOD, ma_ma_period = MassIndex_MA_MA_PERIOD, ma_ratio_period = MassIndex_MA_RATIO_PERIOD, ma = EMA, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The MassIndex type implements a Commodity Channel Index.

source
OnlineTechnicalIndicators.McGinleyDynamicType
McGinleyDynamic{T}(; period = McGinleyDynamic_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The McGinleyDynamic type implements a McGinley Dynamic indicator.

source
OnlineTechnicalIndicators.MeanDevType
MeanDev{T}(; period = MeanDev_PERIOD, ma = SMA, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The MeanDev type implements a Mean Deviation indicator.

source
OnlineTechnicalIndicators.OBVType
OBV{Tohlcv}(input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The OBV type implements On Balance Volume indicator.

source
OnlineTechnicalIndicators.ParabolicSARType
ParabolicSAR{Tohlcv}(; atr_period = ParabolicSAR_ATR_PERIOD, mult = ParabolicSAR_MULT, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The ParabolicSAR type implements a Super Trend indicator.

source
OnlineTechnicalIndicators.PivotsHLType
PivotsHL{Tohlcv}(; high_period = PivotsHL_HIGH_PERIOD, low_period = PivotsHL_LOW_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The PivotsHL type implements a High/Low Pivots Indicator.

source
OnlineTechnicalIndicators.ROCType
ROC{T}(; period = ROC_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The ROC type implements a Rate Of Change indicator.

source
OnlineTechnicalIndicators.RSIType
RSI{T}(; period = SMA_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The RSI type implements a Relative Strength Index indicator.

source
OnlineTechnicalIndicators.SFXType
SFX{Tohlcv}(; atr_period = SFX_ATR_PERIOD, std_dev_period = SFX_STD_DEV_PERIOD, std_dev_smoothing_period = SFX_STD_DEV_SMOOTHING_PERIOD, ma = SMA, , input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The SFX type implements a SFX indicator.

source
OnlineTechnicalIndicators.SMAType
SMA{T1}(; period = SMA_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T2)

The SMA type implements a Simple Moving Average indicator.

fit!(o, val) with o of type SMA will catch val of type T1

input val will be filtered using input_filter function (true means that val will be provided to o)

input val will be modified/transformed using input_modifier function (default is identity function which means that val won't be modified)

input_modifier_return_type is the type T2 of return of the input_modifier function it's also type of indicator value

by default T2 = T1

IN = false means that indicator is of "single input" type IN = true means that indicator is of "multiple input" (candle) type

source
OnlineTechnicalIndicators.SMMAType
SMMA{T}(; period = SMMA_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The SMMA type implements a SMoothed Moving Average indicator.

source
OnlineTechnicalIndicators.SOBVType
SOBV{Tohlcv}(; period = SOBV_PERIOD, ma = SMA, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The SOBV type implements a Smoothed On Balance Volume indicator.

source
OnlineTechnicalIndicators.STCType
STC{T}(; fast_macd_period = STC_FAST_MACD_PERIOD, slow_macd_period = STC_SLOW_MACD_PERIOD, stoch_period = STC_STOCH_PERIOD, stoch_smoothing_period = STC_STOCH_SMOOTHING_PERIOD, ma = SMA, , input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The STC type implements a Schaff Trend Cycle indicator.

source
OnlineTechnicalIndicators.StdDevType
StdDev{T}(; period = StdDev_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The StdDev type implements a Standard Deviation indicator.

source
OnlineTechnicalIndicators.StochType
Stoch{Tohlcv}(; period = STOCH_PERIOD, smoothing_period = STOCH_SMOOTHING_PERIOD, ma = SMA, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The Stoch type implements the Stochastic indicator.

source
OnlineTechnicalIndicators.StochRSIType
StochRSI{T}(; fast_period = StochRSI_FAST_PERIOD, slow_period = StochRSI_SLOW_PERIOD, signal_period = StochRSI_SIGNAL_PERIOD, ma = EMA, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The StochRSI type implements Moving Average Convergence Divergence indicator.

source
OnlineTechnicalIndicators.SuperTrendType
SuperTrend{Tohlcv}(; atr_period = SuperTrend_ATR_PERIOD, mult = SuperTrend_MULT, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The SuperTrend type implements a Super Trend indicator.

source
OnlineTechnicalIndicators.T3Type
T3{T}(; period = T3_PERIOD, factor = T3_FACTOR, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The T3 type implements a T3 Moving Average indicator.

source
OnlineTechnicalIndicators.TEMAType
TEMA{T}(; period = TEMA_PERIOD, ma = EMA, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The TEMA type implements a Triple Exponential Moving Average indicator.

source
OnlineTechnicalIndicators.TRIXType
TRIX{T}(; period = TRIX_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The TRIX type implements a TRIX Moving Average indicator.

source
OnlineTechnicalIndicators.TSIType
TSI{T}(; fast_period = TSI_FAST_PERIOD, slow_period = TSI_SLOW_PERIOD, ma = EMA, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The TSI type implements a True Strength Index indicator.

source
OnlineTechnicalIndicators.TTMType
TTM{Tohlcv}(; atr_period = TTM_ATR_PERIOD, std_dev_period = TTM_STD_DEV_PERIOD, std_dev_smoothing_period = TTM_STD_DEV_SMOOTHING_PERIOD, ma = SMA)

The TTM type implements a TTM indicator.

source
OnlineTechnicalIndicators.UOType
UO{Tohlcv}(; fast_period = UO_FAST_PERIOD, mid_period = UO_MID_PERIOD, slow_period = UO_SLOW_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The UO type implements an Ultimate Oscillator.

source
OnlineTechnicalIndicators.VTXType
VTX{Tohlcv}(; period = VTX_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The VTX type implements a Vortex Indicator.

source
OnlineTechnicalIndicators.VWAPType
VWAP{Tohlcv}(input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The VWAP type implements a Volume Weighted Moving Average indicator.

source
OnlineTechnicalIndicators.VWMAType
VWMA{Tohlcv}(; period = VWMA_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = Tohlcv)

The VWMA type implements a Volume Weighted Moving Average indicator.

source
OnlineTechnicalIndicators.WMAType
WMA{T}(; period = WMA_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The WMA type implements a Weighted Moving Average indicator.

source
OnlineTechnicalIndicators.ZLEMAType
ZLEMA{T}(; period=ZLEMA_PERIOD, input_filter = always_true, input_modifier = identity, input_modifier_return_type = T)

The ZLEMA type implements a Zero Lag Exponential Moving Average indicator.

source

Other

OnlineTechnicalIndicators.StatLagType
StatLag(ind, b)

Track a moving window (previous b copies) of ind.

Example

ind = SMA{Float64}(period = 3)
prices = [10.81, 10.58, 10.07, 10.58, 10.56, 10.4, 10.74, 10.16, 10.29, 9.4, 9.62]
ind = StatLag(ind, 4)
fit!(ind, prices)
ind.lag[end-1]
source
OnlineTechnicalIndicators.TechnicalIndicatorIteratorType
TechnicalIndicatorIterator(indicator_type, iterable_input, args...; kwargs...)

Returns an iterator.

Example

using OnlineTechnicalIndicators
using OnlineTechnicalIndicators.SampleData: CLOSE_TMPL

SISO indicator

itr = TechnicalIndicatorIterator(SMA, CLOSE_TMPL; period = 3)

println("First iteration")
for val in itr
    println(val)
end

println("")

println("Second iteration")
Iterators.reset!(itr)
for val in itr
    println(val)
end

println("")

println("Third iteration with collect")
# itr = TechnicalIndicatorIterator(SMA, CLOSE_TMPL; period = 3)
# or
Iterators.reset!(itr)
println(eltype(itr))
println(collect(itr))

println("")

SIMO indicator

itr = TechnicalIndicatorIterator(BB, CLOSE_TMPL)
println(collect(itr))
source