Indicators Reference
Most indicators have a sequential=False
parameter. When set to True
, it returns an array of values; which is helpful if you're doing research Jupyter Notebooks.
When developing strategies however, you probably want to keep it as False
to return only the indicator value for current trading candle.
@cached
The @cached decorator can increase performance a lot if applied to indicators - especially those called a lot in your strategy. See hereopen in new window.
Performance and sequential
With sequential=False
the indicators will slice the candle array behind the scene to the warmup_candles_num you defined. That doesn't happen if you use sequential=True
, as Jesse doesn't know how much lookback you need from your sequential indicator. To keep things fast you should slice the candles yourself before passing them to a indicator function to avoid unnecessary computation time: self.candles[-60:]
- change the number accordingly.
matype
In few indicators you can set a moving average type:
0
: sma (simple)1
: ema (exponential)2
: wma (weighted)3
: dema (double exponential)4
: tema (triple exponential)5
: trima (triangular)6
: kama (Kaufman adaptive)7
: mama (Mesa adaptive)8
: T3 (triple exponential T3)9
: fwma (Fibonacci's Weighted Moving Average)10
: hma (Hull Moving Average)11
: linearreg (Linear Regression)12
: wilders (Wilders Smoothing)13
: sinwma (Sine Weighted Moving Average)14
: supersmoother (Super Smoother Filter 2pole Butterworth)15
: supersmoother_3_pole(Super Smoother Filter 3pole Butterworth)16
: gauss (Gaussian Filter)17
: high_pass (1-pole High Pass Filter by John F. Ehlers)18
: high_pass_2_pole (2-pole High Pass Filter by John F. Ehlers)19
: ht_trendline (Hilbert Transform - Instantaneous Trendline)20
: jma (Jurik Moving Average)21
: reflex (Reflex indicator by John F. Ehlers)22
: trendflex (Trendflex indicator by John F. Ehlers)23
: smma (Smoothed Moving Average)24
: vwma (Volume Weighted Moving Average)25
: pwma (Pascals Weighted Moving Average)26
: swma (Symmetric Weighted Moving Average)27
: alma (Arnaud Legoux Moving Average)28
: hwma (Holt-Winter Moving Average)29
: vwap (Volume weighted average price)30
: nma (Natural Moving Average)31
: edcf (Ehlers Distance Coefficient Filter)32
: mwdx (MWDX Average)33
: maaq (Moving Average Adaptive Q)34
: srwma (Square Root Weighted Moving Average)35
: sqwma (Square Weighted Moving Average)36
: vpwma (Variable Power Weighted Moving Average)37
: cwma (Cubed Weighted Moving Average)38
: jsa (Jsa Moving Average)39
: epma (End Point Moving Average)
devtype
In few indicators you can set a deviation type:
0
: standard deviation1
: mean absolute deviation2
: median absolute deviation
source_type
In some indicators you can set the source type:
"close"
"high"
"low"
"open"
"volume"
"hl2"
"hlc3"
"ohlc4"
acosc
acosc(candles: np.ndarray, sequential=False) -> AC
Acceleration / Deceleration Oscillator (AC)
Arguments:
candles
: np.ndarraysequential
: bool - default=False
Returns:
AC(osc, change)
ad
ad(candles: np.ndarray, sequential=False) -> Union[float, np.ndarray]
AD - Chaikin A/D Line
Arguments:
candles
: np.ndarraysequential
: bool - default=False
Returns:
float | np.ndarray
adosc
adosc(candles: np.ndarray, fast_period=3, slow_period=10, sequential=False) -> Union[float, np.ndarray]
ADOSC - Chaikin A/D Oscillator
Arguments:
candles
: np.ndarrayfast_period
: int - default=3slow_period
: int - default=10sequential
: bool - default=False
Returns:
float | np.ndarray
adx
adx(candles: np.ndarray, period=14, sequential=False) -> Union[float, np.ndarray]
ADX - Average Directional Movement Index
Arguments:
candles
: np.ndarrayperiod
: int - default=14sequential
: bool - default=False
Returns:
float | np.ndarray
adxr
adxr(candles: np.ndarray, period=14, sequential=False) -> Union[float, np.ndarray]
ADXR - Average Directional Movement Index Rating
Arguments:
candles
: np.ndarrayperiod
: int - default=14sequential
: bool - default=False
Returns:
float | np.ndarray
alligator
alligator(candles: np.ndarray, source_type="close", sequential=False) -> AG
Alligator
Arguments:
candles
: np.ndarraysource_type
: str - default="close"sequential
: bool - default=False
Returns:
AG(jaw, teeth, lips)
alma
alma(candles: np.ndarray, period: int = 9, sigma: float = 6.0, distribution_offset: float = 0.85, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
ALMA - Arnaud Legoux Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=9sigma
: float - default=6.0distribution_offset
: float - default=0.85source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
ao
ao(candles: np.ndarray, sequential=False) -> AO
Awesome Oscillator
Arguments:
candles
: np.ndarraysequential
: bool - default=False
Returns:
AO(osc, change)
apo
apo(candles: np.ndarray, fast_period=12, slow_period=26, matype=0, source_type="close", sequential=False) -> Union[
float, np.ndarray]
APO - Absolute Price Oscillator
Arguments:
candles
: np.ndarrayfast_period
: int - default=12slow_period
: int - default=26matype
: int - default=0source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
aroon
aroon(candles: np.ndarray, period=14, sequential=False) -> AROON
AROON - Aroon
Arguments:
candles
: np.ndarrayperiod
: int - default=14sequential
: bool - default=False
Returns:
AROON(down, up)
aroonosc
aroonosc(candles: np.ndarray, period=14, sequential=False) -> Union[float, np.ndarray]
AROONOSC - Aroon Oscillator
Arguments:
candles
: np.ndarrayperiod
: int - default=14sequential
: bool - default=False
Returns:
float | np.ndarray
atr
atr(candles: np.ndarray, period=14, sequential=False) -> Union[float, np.ndarray]
ATR - Average True Range
Arguments:
candles
: np.ndarrayperiod
: int - default=14sequential
: bool - default=False
Returns:
float | np.ndarray
avgprice
avgprice(candles: np.ndarray, sequential=False) -> Union[float, np.ndarray]
AVGPRICE - Average Price
Arguments:
candles
: np.ndarraysequential
: bool - default=False
Returns:
float | np.ndarray
beta
beta(candles: np.ndarray, period=5, sequential=False) -> Union[float, np.ndarray]
BETA - Beta
Arguments:
candles
: np.ndarrayperiod
: int - default=5sequential
: bool - default=False
Returns:
float | np.ndarray
bandpass
bandpass(candles: np.ndarray, period: int = 20, bandwidth: float = 0.3, source_type: str = "close", sequential: bool = False) -> BandPass
BandPass Filter
Arguments:
candles
: np.ndarrayperiod
: int - default=20bandwidth
: float - default=0.3source_type
: str - default="close"sequential
: bool - default=False
Returns:
BandPass(bp, bp_normalized, signal, trigger)
bollinger_bands
bollinger_bands(candles: np.ndarray, period=20, devup=2, devdn=2, matype=0, source_type="close", sequential=False) -> BollingerBands
BBANDS - Bollinger Bands
Arguments:
candles
: np.ndarrayperiod
: int - default=20devup
: float - default=2devdn
: float - default=2matype
: int - default=0source_type
: str - default="close"sequential
: bool - default=False
Returns:
BollingerBands(upperband, middleband, lowerband)
bollinger_bands_width
bollinger_bands_width(candles: np.ndarray, period=20, devup=2, devdn=2, matype=0, source_type="close", sequential=False) -> Union[float, np.ndarray]
BBW - Bollinger Bands Width - Bollinger Bands Bandwidth
Arguments:
candles
: np.ndarrayperiod
: int - default=20devup
: float - default=2devdn
: float - default=2matype
: int - default=0source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
bop
bop(candles: np.ndarray, sequential=False) -> Union[float, np.ndarray]
BOP - Balance Of Power
Arguments:
candles
: np.ndarraysequential
: bool - default=False
Returns:
float | np.ndarray
cc
cc(candles: np.ndarray, wma_period=10, roc_short_period=11, roc_long_period=14, source_type="close", sequential=False) -> Union[float, np.ndarray]
Coppock Curve
Arguments:
candles
: np.ndarraywma_period
: int - default=10roc_short_period
: int - default=11roc_long_period
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
cci
cci(candles: np.ndarray, period=14, sequential=False) -> Union[float, np.ndarray]
CCI - Commodity Channel Index
Arguments:
candles
: np.ndarrayperiod
: int - default=14sequential
: bool - default=False
Returns:
float | np.ndarray
cfo
cfo(candles: np.ndarray, period: int = 14, scalar: float = 100, source_type: str = "close", squential: bool = False) -> Union[float, np.ndarray]:
CFO - Chande Forcast Oscillator
Arguments:
candles
: np.ndarrayperiod
: int - default=14scalar
: float- default=100sequential
: bool - default=False
Returns:
float | np.ndarray
cg
cg(candles: np.ndarray, period: int = 10, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
Center of Gravity (CG)
Arguments:
candles
: np.ndarrayperiod
: int - default=10source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
cksp
cksp(candles: np.ndarray, p: int = 10, x: float = 1.0, q: int = 9, sequential: bool = False) -> CKSP
Chande Kroll Stop (CKSP)
Arguments:
candles
: np.ndarrayp
: int - default=10x
: float - default=1.0q
: int - default=9sequential
: bool - default=False
Returns:
CKSP(long, short)
chande
chande(candles: np.ndarray, period=22, mult=3.0, direction="long", sequential=False) -> Union[float, np.ndarray]
Chandelier Exits
Arguments:
candles
: np.ndarrayperiod
: int - default=22mult
: float - default=3.0direction
: str - default="long" | "short"sequential
: bool - default=False
Returns:
float | np.ndarray
chop
chop(candles: np.ndarray, period: int = 14, scalar: float = 100, drift: int = 1, sequential: bool = False) -> Union[float, np.ndarray]
Choppiness Index (CHOP)
Arguments:
candles
: np.ndarrayperiod
: int - default=14scalar
: float- default=100drift
: int - default=1sequential
: bool - default=False
Returns:
float | np.ndarray
cmo
cmo(candles: np.ndarray, period=14, source_type="close", sequential=False) -> Union[float, np.ndarray]
CMO - Chande Momentum Oscillator
Arguments:
candles
: np.ndarrayperiod
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
correlation_cycle
correlation_cycle(candles: np.ndarray, period=20, threshold=9, source_type="close", sequential=False) -> CC
Correlation Cycle, Correlation Angle, Market State - John Ehlers
Arguments:
candles
: np.ndarrayperiod
: int - default=20threshold
: int - default=9source_type
: str - default="close"sequential
: bool - default=False
Returns:
CC(real, imag, angle, state)
correl
correl(candles: np.ndarray, period=5, sequential=False) -> Union[float, np.ndarray]
CORREL - Pearson's Correlation Coefficient (r)
Arguments:
candles
: np.ndarrayperiod
: int - default=5sequential
: bool - default=False
Returns:
float | np.ndarray
cvi
cvi(candles: np.ndarray, period=5, sequential=False) -> Union[float, np.ndarray]
CVI - Chaikins Volatility
Arguments:
candles
: np.ndarrayperiod
: int - default=5sequential
: bool - default=False
Returns:
float | np.ndarray
cwma
cwma(candles: np.ndarray, period: int = 14, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
Cubed Weighted Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
damiani_volatmeter
damiani_volatmeter(candles: np.ndarray, vis_atr=13, vis_std=20, sed_atr=40, sed_std=100, threshold=1.4, source_type="close", sequential=False) -> DamianiVolatmeter
Damiani Volatmeter
Arguments:
candles
: np.ndarrayvis_atr
: int - default=13vis_std
: int - default=20sed_atr
: int - default=40sed_std
: int - default=100threshold
: float - default=1.4source_type
: str - default="close"sequential
: bool - default=False
Returns:
DamianiVolatmeter(vol, anti)
decycler
decycler(candles: np.ndarray, hp_period=125, source_type="close", sequential=False) -> Union[float, np.ndarray]
Ehlers Simple Decycler
Arguments:
candles
: np.ndarrayhp_period
: int - default=125sequential
: bool - default=False
Returns:
float | np.ndarray
dec_osc
dec_osc(candles: np.ndarray, hp_period=125, k=1, source_type="close", sequential=False) -> Union[float, np.ndarray]
Ehlers Decycler Oscillator
Arguments:
candles
: np.ndarrayhp_period
: int - default=125k
: float - default=1sequential
: bool - default=False
Returns:
float | np.ndarray
dema
dema(candles: np.ndarray, period=30, source_type="close", sequential=False) -> Union[float, np.ndarray]
DEMA - Double Exponential Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=30source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
devstop
devstop(candles: np.ndarray, period:int=20, mult: float = 0, devtype: int = 0, direction: str = "long", sequential: bool = False) -> Union[float, np.ndarray]
Kase Dev Stops
Arguments:
candles
: np.ndarrayperiod
: int - default=20mult
: float - default=0devtype
: int - default=0source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
di
di(candles: np.ndarray, period=14, sequential=False) -> DI
DI - Directional Indicator
Arguments:
candles
: np.ndarrayperiod
: int - default=14sequential
: bool - default=False
Returns:
DI(plus, minus)
dm
dm(candles: np.ndarray, period=14, sequential=False) -> DM
DM - Directional Movement
Arguments:
candles
: np.ndarrayperiod
: int - default=14sequential
: bool - default=False
Returns:
DM(plus, minus)
donchian
donchian(candles: np.ndarray, period=20, sequential=False) -> DonchianChannel
Donchian Channels
Arguments:
candles
: np.ndarrayperiod
: int - default=20sequential
: bool - default=False
Returns:
DonchianChannel(upperband, middleband, lowerband)
dpo
dpo(candles: np.ndarray, period=5, source_type="close", sequential=False) -> Union[float, np.ndarray]
DPO - Detrended Price Oscillator
Arguments:
candles
: np.ndarrayperiod
: int - default=5source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
dti
dti(candles: np.ndarray, r=14, s=10, u=5, sequential=False) -> Union[float, np.ndarray]
DTI by William Blau
Arguments:
candles
: np.ndarrayr
: int - default=14s
: int - default=10u
: int - default=5sequential
: bool - default=False
Returns:
float | np.ndarray
dx
dx(candles: np.ndarray, period=14, sequential=False) -> Union[float, np.ndarray]
DX - Directional Movement Index
Arguments:
candles
: np.ndarrayperiod
: int - default=14sequential
: bool - default=False
Returns:
float | np.ndarray
edcf
edcf(candles: np.ndarray, period: int = 15, source_type: str = "hl2", sequential: bool = False) -> Union[float, np.ndarray]
Ehlers Distance Coefficient Filter
Arguments:
candles
: np.ndarrayperiod
: int - default=15source_type
: str - default="hl2"sequential
: bool - default=False
Returns:
float | np.ndarray
efi
efi(candles: np.ndarray, period=13, source_type="close", sequential=False) -> Union[float, np.ndarray]
EFI - Elders Force Index
Arguments:
candles
: np.ndarrayperiod
: int - default=13source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
ema
ema(candles: np.ndarray, period=5, source_type="close", sequential=False) -> Union[float, np.ndarray]
EMA - Exponential Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=5source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
emd
emd(candles: np.ndarray, period=20, delta=0.5, fraction=0.1, sequential=False) -> EMD
Empirical Mode Decomposition by John F. Ehlers and Ric Way
Arguments:
candles
: np.ndarrayperiod
: int - default=20delta
: float - default=0.5fraction
: float - default=0.1sequential
: bool - default=False
Returns:
EMD(upperband, middleband, lowerband)
emv
emv(candles: np.ndarray, sequential=False) -> Union[float, np.ndarray]
EMV - Ease of Movement
Arguments:
candles
: np.ndarraysequential
: bool - default=False
Returns:
float | np.ndarray
epma
epma(candles: np.ndarray, period: int = 11, offset: int = 4, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
End Point Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=11offset
: int - default=4source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
er
er(candles: np.ndarray, period: int = 5, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]:
ER - The Kaufman Efficiency indicator
Arguments:
candles
: np.ndarrayperiod
: int - default=5sequential
: bool - default=False
Returns:
float | np.ndarray
eri
eri(candles: np.ndarray, period: int = 13, matype: int = 1, source_type: str = "close", sequential: bool = False) -> ERI
Elder Ray Index (ERI)
Arguments:
candles
: np.ndarrayperiod
: int - default=13matype
: int - default=1source_type
: str - default="close"sequential
: bool - default=False
Returns:
ERI(bull, bear)
fisher
fisher(candles: np.ndarray, period=9, sequential=False) -> FisherTransform
The Fisher Transform helps identify price reversals.
Arguments:
candles
: np.ndarrayperiod
: int - default=9sequential
: bool - default=False
Returns:
FisherTransform(fisher, signal)
fosc
fosc(candles: np.ndarray, period=5, source_type="close", sequential=False) -> Union[float, np.ndarray]
FOSC - Forecast Oscillator
Arguments:
candles
: np.ndarrayperiod
: int - default=5source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
frama
frama(candles: np.ndarray, window=10, FC=1, SC=300, sequential=False) -> Union[float, np.ndarray]
Fractal Adaptive Moving Average (FRAMA)
Arguments:
candles
: np.ndarraywindow
: int - default=10FC
: int - default=1SC
: int - default=300sequential
: bool - default=False
Returns:
float | np.ndarray
fwma
fwma(candles: np.ndarray, period: int = 5, source_type: str = "close",sequential: bool = False) -> Union[float, np.ndarray]
Fibonacci's Weighted Moving Average (FWMA)
Arguments:
candles
: np.ndarrayperiod
: int - default=5source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
gatorosc
gatorosc(candles: np.ndarray, source_type="close", sequential=False) -> GATOR
Gator Oscillator by Bill M. Williams
Arguments:
candles
: np.ndarraysource_type
: str - default="close"sequential
: bool - default=False
Returns:
GATOR(upper, lower, upper_change, lower_change)
gauss
gauss(candles: np.ndarray, period=14, poles=4, source_type="close", sequential=False) -> Union[float, np.ndarray]
Gaussian Filter
Arguments:
candles
: np.ndarrayperiod
: int - default=14poles
: int - default=4source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
heikin_ashi_candles
heikin_ashi_candles(candles: np.ndarray, sequential=False) -> HA
Heikin Ashi candlesticks
Arguments:
candles
: np.ndarraysequential
: bool - default=False
Returns:
HA(open, close, high, low)
high_pass
high_pass(candles: np.ndarray, period=48, source_type="close", sequential=False) -> Union[float, np.ndarray]
1-pole High Pass Filter by John F. Ehlers
Arguments:
candles
: np.ndarrayperiod
: int - default=48source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
high_pass_2_pole
high_pass_2_pole(candles: np.ndarray, period=48, source_type="close", sequential=False) -> Union[float, np.ndarray]
2-pole High Pass Filter by John F. Ehlers
Arguments:
candles
: np.ndarrayperiod
: int - default=48source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
hma
hma(candles: np.ndarray, period=5, source_type="close", sequential=False) -> Union[float, np.ndarray]
Hull Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=5source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
ht_dcperiod
ht_dcperiod(candles: np.ndarray, source_type="close", sequential=False) -> Union[float, np.ndarray]
HT_DCPERIOD - Hilbert Transform - Dominant Cycle Period
Arguments:
candles
: np.ndarraysource_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
ht_dcphase
ht_dcphase(candles: np.ndarray, source_type="close", sequential=False) -> Union[float, np.ndarray]
HT_DCPHASE - Hilbert Transform - Dominant Cycle Phase
Arguments:
candles
: np.ndarraysource_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
ht_phasor
ht_phasor(candles: np.ndarray, source_type="close", sequential=False) -> IQ
HT_PHASOR - Hilbert Transform - Phasor Components
Arguments:
candles
: np.ndarraysource_type
: str - default="close"sequential
: bool - default=False
Returns:
IQ(inphase, quadrature)
ht_sine
ht_sine(candles: np.ndarray, source_type="close", sequential=False) -> SINEWAVE
HT_SINE - Hilbert Transform - SineWave
Arguments:
candles
: np.ndarraysource_type
: str - default="close"sequential
: bool - default=False
Returns:
SINEWAVE(sine, lead)
ht_trendline
ht_trendline(candles: np.ndarray, source_type="close", sequential=False) -> Union[float, np.ndarray]
HT_TRENDLINE - Hilbert Transform - Instantaneous Trendline
Arguments:
candles
: np.ndarraysource_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
ht_trendmode
ht_trendmode(candles: np.ndarray, source_type="close", sequential=False) -> Union[float, np.ndarray]
HT_TRENDMODE - Hilbert Transform - Trend vs Cycle Mode
Arguments:
candles
: np.ndarraysource_type
: str - default="close"sequential
: bool - default=False
Returns:
int | np.ndarray
hurst_exponent
hurst_exponent(candles: np.ndarray, min_chunksize: int = 8, max_chunksize: int = 200, num_chunksize: int = 5, method: int = 1, source_type: str = "close") -> float
Hurst Exponent
methods
- RS (only available with numba): Estimates the Hurst (H) exponent using the R/S method from the time series. The R/S method consists of dividing the series into pieces of equal size
series_len
and calculating the rescaled range. This repeats the process for severalseries_len
values and adjusts data regression to obtain the H.series_len
will take values betweenmin_chunksize
andmax_chunksize
, the step size frommin_chunksize
tomax_chunksize
can be controlled through the parameterstep_chunksize
. - DMA: Estimates the Hurst (H) exponent using the DMA method from the time series. The DMA method consists on calculate the moving average of size
series_len
and subtract it to the original series and calculating the standard deviation of that result. This repeats the process for severalseries_len
values and adjusts data regression to obtain the H.series_len
will take values betweenmin_chunksize
andmax_chunksize
, the step size frommin_chunksize
tomax_chunksize
can be controlled through the parameterstep_chunksize
. - DSOD: The estimation is based on the discrete second order derivative. Consists on get two different noise of the original series and calculate the standard deviation and calculate the slope of two point with that values.
Arguments:
candles
: np.ndarraymin_chunksize
: int - default=8max_chunksize
: int - default=200num_chunksize
: int - default=5method
: int - default=1 - 0: RS | 1: DMA | 2: DSODsource_type
: str - default="close"
Returns:
float
hwma
hwma(candles: np.ndarray, na: float = 0.2, nb: float = 0.1, nc: float = 0.1, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
Holt-Winter Moving Average
Arguments:
candles
: np.ndarrayna
: float - default=0.2nb
: float - default=0.1nc
: float - default=0.1source_type
: str - default="close"sequential
: bool - default=False
Returns:
int | np.ndarray
ichimoku_cloud
ichimoku_cloud(candles: np.ndarray, conversion_line_period=9, base_line_period=26, lagging_line_period=52, displacement=26) -> IchimokuCloud
Ichimoku Cloud
Arguments:
candles
: np.ndarrayconversion_line_period
: int - default=9base_line_period
: int - default=26lagging_line_period
: int - default=52displacement
: - default=26
Returns:
IchimokuCloud(conversion_line, base_line, span_a, span_b)
ichimoku_cloud_seq
ichimoku_cloud_seq(candles: np.ndarray, conversion_line_period=9, base_line_period=26, lagging_line_period=52,displacement=26, sequential=False) -> IchimokuCloud
Ichimoku Cloud Sequential
Arguments:
candles
: np.ndarrayconversion_line_period
: int - default=9base_line_period
: int - default=26lagging_line_period
: int - default=52displacement
: - default=26
Returns:
IchimokuCloud(conversion_line, base_line, span_a, span_b, lagging_line, future_span_a, future_span_b)
ift_rsi
ift_rsi(candles: np.ndarray, rsi_period: int = 5, wma_period: int =9, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
Modified Inverse Fisher Transform applied on RSI
Arguments:
candles
: np.ndarrayrsi_period
: int - default=5wma_period
: int - default=9source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
itrend
itrend(candles: np.ndarray, alpha=0.07, source_type="hl2", sequential=False) -> ITREND
Instantaneous Trendline
Arguments:
candles
: np.ndarrayalpha
: float - default=0.07source_type
: str - default="hl2"sequential
: bool - default=False
Returns:
ITREND(signal, it, trigger)
jma
jma(candles: np.ndarray, period:int=7, phase:float=50, power:int=2, source_type:str='close', sequential:bool=False) -> Union[float, np.ndarray]
Jurik Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=7phase
: float - default=50power
: int - default=2source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
jsa
jsa(candles: np.ndarray, period: int = 30, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
Jsa Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=30source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
kama
kama(candles: np.ndarray, period=30, source_type="close", sequential=False) -> Union[float, np.ndarray]
KAMA - Kaufman Adaptive Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=30source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
kaufmanstop
kaufmanstop(candles: np.ndarray, period: int = 22, mult: float = 2, direction: str = "long", matype: int = 0, sequential: bool = False) -> Union[ float, np.ndarray]
Perry Kaufman's Stops
Arguments:
candles
: np.ndarrayperiod
: int - default=22mult
: float - default=2direction
: str - default="long" | "short"matype
: int - default=0sequential
: bool - default=False
Returns:
float | np.ndarray
kdj
kdj(candles: np.ndarray, fastk_period: int = 9, slowk_period: int = 3, slowk_matype: int = 0, slowd_period: int = 3, slowd_matype: int = 0, sequential: bool = False) -> KDJ
The KDJ Oscillator
Arguments:
candles
: np.ndarrayfastk_period
: int - default=9slowk_period
: int - default=3slowk_matype
: int - default=0slowd_period
: int - default=3slowd_matype
: int - default=0sequential
: bool - default=False
Returns:
KDJ(k, d, j)
keltner
keltner(candles: np.ndarray, period=20, multiplier=2, matype=1, source_type="close", sequential=False) -> KeltnerChannel
Keltner Channels
Arguments:
candles
: np.ndarrayperiod
: int - default=20multiplier
: float - default=2matype
: int - default=1source_type
: str - default="close"sequential
: bool - default=False
Returns:
KeltnerChannel(upperband, middleband, lowerband)
kst
kst(candles: np.ndarray, sma_period1=10, sma_period2=10, sma_period3=10, sma_period4=15, roc_period1=10, roc_period2=15, roc_period3=20, roc_period4=30, signal_period=9, source_type="close", sequential=False) -> KST:
Know Sure Thing (KST)
Arguments:
candles
: np.ndarraysma_period1
: int - default=10sma_period2
: int - default=10sma_period3
: int - default=10sma_period4
: int - default=15roc_period1
: int - default=10roc_period2
: int - default=15roc_period3
: int - default=20roc_period4
: int - default=30signal_period
: int - default=9source_type
: str - default="close"sequential
: bool - default=False
Returns:
KST(line, signal)
kurtosis
kurtosis(candles: np.ndarray, period: int = 5, source_type: str = "hl2", sequential: bool = False) -> Union[float, np.ndarray]
Kurtosis
Arguments:
candles
: np.ndarrayperiod
: int - default=5source_type
: str - default="hl2"sequential
: bool - default=False
Returns:
float | np.ndarray
kvo
kvo(candles: np.ndarray, short_period=2, long_period=5, sequential=False) -> Union[float, np.ndarray]
KVO - Klinger Volume Oscillator
Arguments:
candles
: np.ndarrayshort_period
: int - default=2long_period
: int - default=5sequential
: bool - default=False
Returns:
float | np.ndarray
linearreg
linearreg(candles: np.ndarray, period=14, source_type="close", sequential=False) -> Union[float, np.ndarray]
LINEARREG - Linear Regression
Arguments:
candles
: np.ndarrayperiod
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
linearreg_angle
linearreg_angle(candles: np.ndarray, period=14, source_type="close", sequential=False) -> Union[float, np.ndarray]
LINEARREG_ANGLE - Linear Regression Angle
Arguments:
candles
: np.ndarrayperiod
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
linearreg_intercept
linearreg_intercept(candles: np.ndarray, period=14, source_type="close", sequential=False) -> Union[float, np.ndarray]
LINEARREG_INTERCEPT - Linear Regression Intercept
Arguments:
candles
: np.ndarrayperiod
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
linearreg_slope
linearreg_slope(candles: np.ndarray, period=14, source_type="close", sequential=False) -> Union[float, np.ndarray]
LINEARREG_SLOPE - Linear Regression Slope
Arguments:
candles
: np.ndarrayperiod
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
lrsi
lrsi(candles: np.ndarray, alpha=0.2, sequential=False) -> Union[float, np.ndarray]
RSI Laguerre Filter
Arguments:
candles
: np.ndarrayalpha
: float - default=0.2sequential
: bool - default=False
Returns:
float | np.ndarray
ma
ma(candles: np.ndarray, period: int = 30, matype: int = 0, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]:
MA - (nearly) All Moving Averages of Jesse
Arguments:
candles
: np.ndarrayperiod
: int - default=30matype
: int - default=0source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
maaq
maaq(candles: np.ndarray, period: int = 11, fast_period: int = 2, slow_period: int = 30, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
Moving Average Adaptive Q
Arguments:
candles
: np.ndarrayperiod
: int - default=11fast_period
: int - default=2slow_period
: int - default=30source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
mab
mab(candles: np.ndarray, fast_period: int = 10, slow_period: int = 50, devup: float = 1, devdn: float = 1, fast_matype: int = 0, slow_matype: int = 0, source_type: str = "close", sequential: bool = False) -> MAB
Moving Average Bands
Arguments:
candles
: np.ndarrayfast_period
: int - default=10slow_period
: int - default=50devup
: float - default=1devdn
: float - default=1fast_matype
: int - default=0slow_matype
: int - default=0source_type
: str - default="close"sequential
: bool - default=False
Returns:
MAB(upperband, middleband, lowerband)
macd
macd(candles: np.ndarray, fast_period=12, slow_period=26, signal_period=9, source_type="close", sequential=False) -> MACD
MACD - Moving Average Convergence/Divergence
Arguments:
candles
: np.ndarrayfast_period
: int - default=12slow_period
: int - default=26signal_period
: int - default=9source_type
: str - default="close"sequential
: bool - default=False
Returns:
MACD(macd, signal, hist)
macdext
macdext(candles: np.ndarray, fast_period=12, fast_matype=0, slow_period=26, slow_matype=0, signal_period=9, signal_matype=0, source_type="close", sequential=False) -> MACDEXT
MACDEXT - MACD with controllable MA type
Arguments:
candles
: np.ndarrayfast_period
: int - default=12fast_matype
: int - default=0slow_period
: int - default=26slow_matype
: int - default=0signal_period
: int - default=9signal_matype
: int - default=0source_type
: str - default="close"sequential
: bool - default=False
Returns:
MACDEXT(macd, signal, hist)
mama
mama(candles: np.ndarray, fastlimit=0.5, slowlimit=0.05, source_type="close", sequential=False) -> MAMA
MAMA - MESA Adaptive Moving Average
Arguments:
candles
: np.ndarrayfastlimit
: float - default=0.5slowlimit
: float - default=0.05source_type
: str - default="close"sequential
: bool - default=False
Returns:
MAMA(mama, fama)
marketfi
marketfi(candles: np.ndarray, sequential=False) -> Union[float, np.ndarray]
MARKETFI - Market Facilitation Index
Arguments:
candles
: np.ndarraysequential
: bool - default=False
Returns:
float | np.ndarray
mass
mass(candles: np.ndarray, period=5, sequential=False) -> Union[float, np.ndarray]
MASS - Mass Index
Arguments:
candles
: np.ndarrayperiod
: int - default=5sequential
: bool - default=False
Returns:
float | np.ndarray
mcginley_dynamic
mcginley_dynamic(candles: np.ndarray, period=10, k=0.6, source_type="close", sequential=False) -> Union[float, np.ndarray]
McGinley Dynamic
Arguments:
candles
: np.ndarrayperiod
: int - default=10k
: float - default=0.6sequential
: bool - default=False
Returns:
float | np.ndarray
mean_ad
mean_ad(candles: np.ndarray, period: int = 5, source_type: str = "hl2", sequential: bool = False) -> Union[float, np.ndarray]
Mean Absolute Deviation
Arguments:
candles
: np.ndarrayperiod
: int - default=5source_type
: str - default="hl2"sequential
: bool - default=False
Returns:
float | np.ndarray
median_ad
median_ad(candles: np.ndarray, period: int = 5, source_type: str = "hl2", sequential: bool = False) -> Union[float, np.ndarray]
Median Absolute Deviation
Arguments:
candles
: np.ndarrayperiod
: int - default=5source_type
: str - default="hl2"sequential
: bool - default=False
Returns:
float | np.ndarray
medprice
medprice(candles: np.ndarray, sequential=False) -> Union[float, np.ndarray]
MEDPRICE - Median Price
Arguments:
candles
: np.ndarraysequential
: bool - default=False
Returns:
float | np.ndarray
mfi
mfi(candles: np.ndarray, period=14, sequential=False) -> Union[float, np.ndarray]
MFI - Money Flow Index
Arguments:
candles
: np.ndarrayperiod
: int - default=14sequential
: bool - default=False
Returns:
float | np.ndarray
midpoint
midpoint(candles: np.ndarray, period=14, source_type="close", sequential=False) -> Union[float, np.ndarray]
MIDPOINT - MidPoint over period
Arguments:
candles
: np.ndarrayperiod
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
midprice
midprice(candles: np.ndarray, period=14, sequential=False) -> Union[float, np.ndarray]
MIDPRICE - Midpoint Price over period
Arguments:
candles
: np.ndarrayperiod
: int - default=14sequential
: bool - default=False
Returns:
float | np.ndarray
minmax
minmax(candles: np.ndarray, order=3, sequential=False) -> EXTREMA
minmax - Get extrema
Also called ZigZag sometimes.
Signal delayed
Due to the nature of extrema detection signals are always delayed by the amount of order. Meaning you will never get the signal at the time of occurence. This means this is not working for is_min
and is_max
: [-1]
, as this will always be false. Working: [-(order+1)]
.
Arguments:
candles
: np.ndarrayorder
: int - default = 3sequential
: bool - default=False
Returns:
EXTREMA(is_min, is_max, last_min, last_max)
mom
mom(candles: np.ndarray, period=10, source_type="close", sequential=False) -> Union[float, np.ndarray]
MOM - Momentum
Arguments:
candles
: np.ndarrayperiod
: int - default=10source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
mwdx
mwdx(candles: np.ndarray, factor: float = 0.2, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
MWDX Average
Arguments:
candles
: np.ndarrayfactor
: float - default=0.2source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
msw
msw(candles: np.ndarray, period=5, source_type="close", sequential=False) -> MSW
MSW - Mesa Sine Wave
Arguments:
candles
: np.ndarrayperiod
: int - default=5source_type
: str - default="close"sequential
: bool - default=False
Returns:
MSW(sine, lead)
natr
natr(candles: np.ndarray, period=14, sequential=False) -> Union[float, np.ndarray]
NATR - Normalized Average True Range
Arguments:
candles
: np.ndarrayperiod
: int - default=14sequential
: bool - default=False
Returns:
float | np.ndarray
nma
nma(candles: np.ndarray, period: int = 40, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
Natural Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=40source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
nvi
nvi(candles: np.ndarray, source_type="close", sequential=False) -> Union[float, np.ndarray]
NVI - Negative Volume Index
Arguments:
candles
: np.ndarraysource_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
obv
obv(candles: np.ndarray, sequential=False) -> Union[float, np.ndarray]
OBV - On Balance Volume
Arguments:
candles
: np.ndarraysequential
: bool - default=False
Returns:
float | np.ndarray
pattern_recognition
pattern_recognition(candles: np.ndarray, pattern_type, penetration=0, sequential=False) -> Union[int, np.ndarray]
Pattern Recognition
Arguments:
candles
: np.ndarraypenetration
: int - default = 0pattern_type
: strsequential
: bool - default=False
Returns:
int | np.ndarray
Return values
+2
bullish pattern with confirmation+1
bullish pattern (most cases)0
no pattern-1
bearish pattern-2
bearish pattern with confirmation
Penetration
The penetration
parameter only affects:
- CDLABANDONEDBABY
- CDLDARKCLOUDCOVER
- CDLEVENINGDOJISTAR
- CDLEVENINGSTAR
- CDLMATHOLD
- CDLMORNINGDOJISTAR
- CDLMORNINGSTAR
Available pattern_type
- CDL2CROWS - Two Crows
- CDL3BLACKCROWS - Three Black Crows
- CDL3INSIDE - Three Inside Up/Down
- CDL3LINESTRIKE - Three-Line Strike
- CDL3OUTSIDE - Three Outside Up/Down
- CDL3STARSINSOUTH - Three Stars In The South
- CDL3WHITESOLDIERS - Three Advancing White Soldiers
- CDLABANDONEDBABY - Abandoned Baby
- CDLADVANCEBLOCK - Advance Block
- CDLBELTHOLD - Belt-hold
- CDLBREAKAWAY - Breakaway
- CDLCLOSINGMARUBOZU - Closing Marubozu
- CDLCONCEALBABYSWALL - Concealing Baby Swallow
- CDLCOUNTERATTACK - Counterattack
- CDLDARKCLOUDCOVER - Dark Cloud Cover
- CDLDOJI - Doji
- CDLDOJISTAR - Doji Star
- CDLDRAGONFLYDOJI - Dragonfly Doji
- CDLENGULFING - Engulfing Pattern
- CDLEVENINGDOJISTAR - Evening Doji Star
- CDLEVENINGSTAR - Evening Star
- CDLGAPSIDESIDEWHITE - Up/Down-gap side-by-side white lines
- CDLGRAVESTONEDOJI - Gravestone Doji
- CDLHAMMER - Hammer
- CDLHANGINGMAN - Hanging Man
- CDLHARAMI - Harami Pattern
- CDLHARAMICROSS - Harami Cross Pattern
- CDLHIGHWAVE - High-Wave Candle
- CDLHIKKAKE - Hikkake Pattern
- CDLHIKKAKEMOD - Modified Hikkake Pattern
- CDLHOMINGPIGEON - Homing Pigeon
- CDLIDENTICAL3CROWS - Identical Three Crows
- CDLINNECK - In-Neck Pattern
- CDLINVERTEDHAMMER - Inverted Hammer
- CDLKICKING - Kicking
- CDLKICKINGBYLENGTH - Kicking - bull/bear determined by the longer marubozu
- CDLLADDERBOTTOM - Ladder Bottom
- CDLLONGLEGGEDDOJI - Long Legged Doji
- CDLLONGLINE - Long Line Candle
- CDLMARUBOZU - Marubozu
- CDLMATCHINGLOW - Matching Low
- CDLMATHOLD - Mat Hold
- CDLMORNINGDOJISTAR - Morning Doji Star
- CDLMORNINGSTAR - Morning Star
- CDLONNECK - On-Neck Pattern
- CDLPIERCING - Piercing Pattern
- CDLRICKSHAWMAN - Rickshaw Man
- CDLSEPARATINGLINES - Separating Lines
- CDLSHOOTINGSTAR - Shooting Star
- CDLSHORTLINE - Short Line Candle
- CDLSTALLEDPATTERN - Stalled Pattern
- CDLTAKURI - Takuri (Dragonfly Doji with very long lower shadow)
- CDLTHRUSTING - Thrusting Pattern
- CDLUNIQUE3RIVER - Unique 3 River
- CDLXSIDEGAP3METHODS - Upside/Downside Gap Three Methods
pfe
pfe(candles: np.ndarray, period: int = 10, smoothing: int = 5, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
Polarized Fractal Efficiency (PFE)
Arguments:
candles
: np.ndarrayperiod
: int - default=10smoothing
: int - default=5source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
pivot
pivot(candles: np.ndarray, mode=0, sequential=False) -> PIVOT
Pivot Points
Arguments:
candles
: np.ndarraymode
: int - default = 0sequential
: bool - default=False
Returns:
PIVOT(r4, r3, r2, r1, pp, s1, s2, s3, s4)
Available mode and levels
- 0: Standard Pivot Points / Floor Pivot Points - r2, r1, pp, s1, s2
- 1: Fibonacci Pivot Points - r3, r2, r1, pp, s1, s2, s3
- 2: Demark Pivot Points - r1, pp, s1
- 3: Camarilla Pivot Points - r4, r3, r2, r1, pp, s1, s2, s3, s4
- 4: Woodie's Pivot Points - r4, r3, r2, r1, pp, s1, s2, s3, s4
pma
pma(candles: np.ndarray, source_type: str = "hl2", sequential: bool = False) -> PMA
Ehlers Predictive Moving Average
Arguments:
candles
: np.ndarraysource_type
: str - default="hl2"sequential
: bool - default=False
Returns:
PMA(predict, trigger)
ppo
ppo(candles: np.ndarray, fast_period=12, slow_period=26, matype=0, source_type="close", sequential=False) -> Union[
float, np.ndarray]
PPO - Percentage Price Oscillator
Arguments:
candles
: np.ndarrayfast_period
: int - default=12slow_period
: int - default=26matype
: int - default=0source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
pvi
pvi(candles: np.ndarray, source_type="close", sequential=False) -> Union[float, np.ndarray]
PVI - Positive Volume Index
Arguments:
candles
: np.ndarraysource_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
pwma
pwma(candles: np.ndarray, period: int = 5, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
Pascals Weighted Moving Average (PWMA)
Arguments:
candles
: np.ndarrayperiod
: int - default=5source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
qstick
qstick(candles: np.ndarray, period=5, sequential=False) -> Union[float, np.ndarray]
Qstick
Arguments:
candles
: np.ndarrayperiod
: int - default=5sequential
: bool - default=False
Returns:
float | np.ndarray
reflex
reflex(candles: np.ndarray, period=20, source_type="close", sequential=False) -> Union[float, np.ndarray]
Reflex indicator by John F. Ehlers
Arguments:
candles
: np.ndarrayperiod
: int - default=20source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
roc
roc(candles: np.ndarray, period=10, source_type="close", sequential=False) -> Union[float, np.ndarray]
ROC - Rate of change : ((price/prevPrice)-1)*100
Arguments:
candles
: np.ndarrayperiod
: int - default=10source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
rocp
rocp(candles: np.ndarray, period=10, source_type="close", sequential=False) -> Union[float, np.ndarray]
ROCP - Rate of change Percentage: (price-prevPrice)/prevPrice
Arguments:
candles
: np.ndarrayperiod
: int - default=10source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
rocr
rocr(candles: np.ndarray, period=10, source_type="close", sequential=False) -> Union[float, np.ndarray]
ROCR - Rate of change ratio: (price/prevPrice)
Arguments:
candles
: np.ndarrayperiod
: int - default=10source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
rocr100
rocr100(candles: np.ndarray, period=10, source_type="close", sequential=False) -> Union[float, np.ndarray]
ROCR100 - Rate of change ratio 100 scale: (price/prevPrice)*100
Arguments:
candles
: np.ndarrayperiod
: int - default=10source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
roofing
roofing(candles: np.ndarray, hp_period=48, lp_period=10, source_type="close", sequential=False) -> Union[float, np.ndarray]
Roofing Filter indicator by John F. Ehlers
Arguments:
candles
: np.ndarrayhp_period
: int - default=48lp_period
: int - default=10source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
rsi
rsi(candles: np.ndarray, period=14, source_type="close", sequential=False) -> Union[float, np.ndarray]
RSI - Relative Strength Index
Arguments:
candles
: np.ndarrayperiod
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
rsmk
rsmk(candles: np.ndarray, candles_compare: np.ndarray, lookback: int = 90, period: int = 3, signal_period: int = 20, matype: int = 1, signal_matype: int = 1, source_type: str = "close", sequential: bool = False) -> RSMK
RSMK - Relative Strength
Arguments:
candles
: np.ndarraylookback
: int - default=90period
: int - default=3signal_period
: int - default=20matype
: int - default=1signal_matype
: int - default=1source_type
: str - default="close"sequential
: bool - default=False
Returns:
RSMK(indicator, signal)
rsx
rsx(candles: np.ndarray, period=14, source_type="close", sequential=False) -> Union[float, np.ndarray]
RSX - Relative Strength Xtra
Arguments:
candles
: np.ndarrayperiod
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
rvi
rvi(candles: np.ndarray, period: int = 10, ma_len: int = 14, matype: int = 1, devtype: int = 0, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
RVI - Relative Volatility Index
Arguments:
candles
: np.ndarrayperiod
: int - default=10ma_len
: int - default=14matype
: int - default=1devtype
: int - default=0source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
safezonestop
safezonestop(candles: np.ndarray, period: int = 22, mult: float = 2.5, max_lookback: int = 3, direction: str = "long", sequential: bool = False) -> Union[float, np.ndarray]:
Safezone Stops
Arguments:
candles
: np.ndarrayperiod
: int - default=22mult
: float - default=2.5max_lookback
: int - default=3direction
: str - default="long" ("short")sequential
: bool - default=False
Returns:
float | np.ndarray
sar
sar(candles: np.ndarray, acceleration=0.02, maximum=0.2, sequential=False) -> Union[float, np.ndarray]
SAR - Parabolic SAR
Arguments:
candles
: np.ndarrayacceleration
: float - default=0.02maximum
: float - default=0.2sequential
: bool - default=False
Returns:
float | np.ndarray
sarext
sarext(candles: np.ndarray, startvalue=0, offsetonreverse=0, accelerationinitlong=0, accelerationlong=0, accelerationmaxlong=0, accelerationinitshort=0, accelerationshort=0, accelerationmaxshort=0, sequential=False) -> Union[float, np.ndarray]
SAREXT - Parabolic SAR - Extended
Arguments:
candles
: np.ndarraystartvalue
: float - default=0offsetonreverse
: float - default=0accelerationinitlong
: float - default=0accelerationlong
: float - default=0accelerationmaxlong
: float - default=0accelerationinitshort
: float - default=0accelerationshort
: float - default=0accelerationmaxshort
: float - default=0sequential
: bool - default=False
Returns:
float | np.ndarray
sinwma
sinwma(candles: np.ndarray, period: int = 14, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
Sine Weighted Moving Average (SINWMA)
Arguments:
candles
: np.ndarrayperiod
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
skew
skew(candles: np.ndarray, period: int = 5, source_type: str = "hl2", sequential: bool = False) -> Union[float, np.ndarray]
Skewness
Arguments:
candles
: np.ndarrayperiod
: int - default=5source_type
: str - default="hl2"sequential
: bool - default=False
Returns:
float | np.ndarray
sma
sma(candles: np.ndarray, period=5, source_type="close", sequential=False) -> Union[float, np.ndarray]
SMA - Simple Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=5source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
smma
smma(candles: np.ndarray, period=5, source_type="close", sequential=False) -> Union[float, np.ndarray]
SMMA - Smoothed Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=5source_type
: str - default="close"sequential
: bool - default=False
Returns:
sqwma
sqwma(candles: np.ndarray, period: int = 14, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
Square Weighted Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
float | np.ndarray
srsi
srsi(candles: np.ndarray, period=14, source_type="close", sequential=False) -> StochasticRSI
Stochastic RSI
Arguments:
candles
: np.ndarrayperiod
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
StochasticRSI(k, d)
srwma
srwma(candles: np.ndarray, period: int = 14, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
Square Root Weighted Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
stc
stc(candles: np.ndarray, fast_period: int = 23, fast_matype: int = 1, slow_period: int = 50, slow_matype: int = 1, k_period: int = 10, d_period: int = 3, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
STC - Schaff Trend Cycle (Oscillator)
Arguments:
candles
: np.ndarrayfast_period
: int - default=23fast_matype
: int - default=1slow_period
: int - default=50slow_matype
: int - default=1k_period
: int - default=10d_period
: int - default=3source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
stddev
stddev(candles: np.ndarray, period=5, nbdev=1, source_type="close", sequential=False) -> Union[float, np.ndarray]
STDDEV - Standard Deviation
Arguments:
candles
: np.ndarrayperiod
: int - default=5nbdev
: int - default=1source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
stoch
stoch(candles: np.ndarray, fastk_period=14, slowk_period=3, slowk_matype=0, slowd_period=3, slowd_matype=0, sequential=False) -> Stochastic
The Stochastic Oscillator
Arguments:
candles
: np.ndarrayperiod
: int - default=14sequential
: bool - default=False
Returns:
Stochastic(k, d)
stochf
stochf(candles: np.ndarray, fastk_period=5, fastd_period=3, fastd_matype=0, sequential=False) -> StochasticFast
Stochastic Fast
Arguments:
candles
: np.ndarrayfastk_period
: int - default=5fastd_period
: int - default=3fastd_matype
: int - default=0sequential
: bool - default=False
Returns:
StochasticFast(k, d)
supersmoother
supersmoother(candles: np.ndarray, period=14, source_type="close", sequential=False) -> Union[float, np.ndarray]
Super Smoother Filter 2pole Butterworth
This indicator was described by John F. Ehlers
Arguments:
candles
: np.ndarrayperiod
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
supersmoother_3_pole
supersmoother_3_pole(candles: np.ndarray, period=14, source_type="close", sequential=False) -> Union[float, np.ndarray]
Super Smoother Filter 3pole Butterworth
This indicator was described by John F. Ehlers
Arguments:
candles
: np.ndarrayperiod
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
swma
swma(candles: np.ndarray, period: int = 5, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
Symmetric Weighted Moving Average (SWMA)
Arguments:
candles
: np.ndarrayperiod
: int - default=5source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
supertrend
supertrend(candles: np.ndarray, period=10, factor=3, sequential=False) -> SuperTrend
SuperTrend
Arguments:
candles
: np.ndarrayperiod
: int - default=14factor
: int - default=3sequential
: bool - default=False
Returns:
SuperTrend(trend, changed)
t3
t3(candles: np.ndarray, period=5, vfactor=0, source_type="close", sequential=False) -> Union[float, np.ndarray]
T3 - Triple Exponential Moving Average (T3)
Arguments:
candles
: np.ndarrayperiod
: int - default=5vfactor
: float - default=0source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
tema
tema(candles: np.ndarray, period=9, source_type="close", sequential=False) -> Union[float, np.ndarray]
TEMA - Triple Exponential Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=9source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
trange
trange(candles: np.ndarray, sequential=False) -> Union[float, np.ndarray]
TRANGE - True Range
Arguments:
candles
: np.ndarraysequential
: bool - default=False
Returns:
float | np.ndarray
trendflex
trendflex(candles: np.ndarray, period=20, source_type="close", sequential=False) -> Union[float, np.ndarray]
Trendflex indicator by John F. Ehlers
Arguments:
candles
: np.ndarrayperiod
: int - default=20source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
trima
trima(candles: np.ndarray, period=30, source_type="close", sequential=False) -> Union[float, np.ndarray]
TRIMA - Triangular Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=30source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
trix
trix(candles: np.ndarray, period=18, source_type="close", sequential=False) -> Union[float, np.ndarray]
TRIX - 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
Arguments:
candles
: np.ndarrayperiod
: int - default=18source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
tsf
tsf(candles: np.ndarray, period=14, source_type="close", sequential=False) -> Union[float, np.ndarray]
TSF - Time Series Forecast
Arguments:
candles
: np.ndarrayperiod
: int - default=14source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
tsi
tsi(candles: np.ndarray, long_period=25, short_period=13, source_type="close", sequential=False) -> Union[float, np.ndarray]
True strength index (TSI)
Arguments:
candles
: np.ndarraylong_period
: int - default=25short_period
: int - default=13source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
ttm_trend
ttm_trend(candles: np.ndarray, period: int = 5, source_type: str = "hl2", sequential: bool = False) -> Union[float, np.ndarray]
TTM Trend
Arguments:
candles
: np.ndarrayperiod
: int - default=5source_type
: str - default="hl2"sequential
: bool - default=False
Returns:
float | np.ndarray
typprice
typprice(candles: np.ndarray, sequential=False) -> Union[float, np.ndarray]
TYPPRICE - Typical Price
Arguments:
candles
: np.ndarraysequential
: bool - default=False
Returns:
float | np.ndarray
ui
ui(candles: np.ndarray, period: int = 14, scalar: float = 100, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
Ulcer Index (UI)
Arguments:
candles
: np.ndarrayperiod
: int - default=14scalar
: float - default=100sequential
: bool - default=False
Returns:
float | np.ndarray
ultosc
ultosc(candles: np.ndarray, timeperiod1=7, timeperiod2=14, timeperiod3=28, sequential=False) -> Union[
float, np.ndarray]
ULTOSC - Ultimate Oscillator
Arguments:
candles
: np.ndarraytimeperiod1
: int - default=7timeperiod2
: int - default=14timeperiod3
: int - default=28sequential
: bool - default=False
Returns:
float | np.ndarray
var
var(candles: np.ndarray, period=14, nbdev=1, source_type="close", sequential=False) -> Union[float, np.ndarray]
VAR - Variance
Arguments:
candles
: np.ndarrayperiod
: int - default=14nbdev
: int - default=1source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
vi
vi(candles: np.ndarray, period=14, sequential=False) -> VI
Vortex Indicator (VI)
Arguments:
candles
: np.ndarrayperiod
: int - default=14sequential
: bool - default=False
Returns:
VI(plus, minus)
vidya
vidya(candles: np.ndarray, short_period=2, long_period=5, alpha=0.2, source_type="close", sequential=False) -> Union[float, np.ndarray]
VIDYA - Variable Index Dynamic Average
Arguments:
candles
: np.ndarrayshort_period
: int - default=2long_period
: int - default=5alpha
: float - default=0.2source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
vpci
vpci(candles: np.ndarray, short_range=5, long_range=25, sequential=False) -> VPCI
VPCI - Volume Price Confirmation Indicator
Arguments:
candles
: np.ndarrayshort_range
: int - default=5long_range
: int - default=25sequential
: bool - default=False
Returns:
VPCI(vpci, vpcis)
vlma
vlma(candles: np.ndarray, min_period: int = 5, max_period: int = 50, matype: int = 0, devtype: int = 0, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
Variable Length Moving Average
Arguments:
candles
: np.ndarraymin_period
: int - default=5max_period
: int - default=50matype
: int - default=0devtype
: int - default=0source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
vosc
vosc(candles: np.ndarray, short_period=2, long_period=5, sequential=False) -> Union[float, np.ndarray]
VOSC - Volume Oscillator
Arguments:
candles
: np.ndarrayshort_period
: int - default=2long_period
: int - default=5sequential
: bool - default=False
Returns:
float | np.ndarray
voss
voss(candles: np.ndarray, period=20, predict=3, bandwith=0.25, source_type="close", sequential=False) -> VossFilter
Voss - Voss Filter indicator by John Ehlers
Arguments:
candles
: np.ndarrayperiod
: int - default=20predict
: int - default=3bandwith
: float - default=0.25source_type
: str - default="close"sequential
: bool - default=False
Returns:
VossFilter(voss, filt)
vpt
vpt(candles: np.ndarray, source_type="close", sequential=False) -> Union[float, np.ndarray]
VPT - Volume Price Trend
Arguments:
candles
: np.ndarraysource_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
vpwma
vpwma(candles: np.ndarray, period: int = 14, power: float = 0.382, source_type: str = "close", sequential: bool = False) -> Union[float, np.ndarray]
Variable Power Weighted Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=14power
: float - default=0.382source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
vwap
vwap(candles: np.ndarray, source_type: str = "hlc3", anchor: str = "D", sequential: bool = False) -> Union[float, np.ndarray]
VWAP - Volume weighted average price
Arguments:
candles
: np.ndarraysource_type
: str - default="close"anchor
: str - ‘D‘ - (‘Y’), months (‘M’), weeks (‘W’), days (‘D’), hours (‘h’), minutes (‘m’)sequential
: bool - default=False
Returns:
float | np.ndarray
vwma
vwma(candles: np.ndarray, period=20, source_type="close", sequential=False) -> Union[float, np.ndarray]
VWMA - Volume Weighted Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=20source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
vwmacd
vwmacd(candles: np.ndarray, fast_period=12, slow_period=26, signal_period=9, sequential=False) -> VWMACD
VWMACD - Volume Weighted Moving Average Convergence/Divergence
Arguments:
candles
: np.ndarrayfast_period
: int - default=12slow_period
: int - default=26signal_period
: int - default=9sequential
: bool - default=False
Returns:
VWMACD(macd, signal, hist)
wad
wad(candles: np.ndarray, sequential=False) -> Union[float, np.ndarray]
WAD - Williams Accumulation/Distribution
Arguments:
candles
: np.ndarraysequential
: bool - default=False
Returns:
float | np.ndarray
wclprice
wclprice(candles: np.ndarray, sequential=False) -> Union[float, np.ndarray]
WCLPRICE - Weighted Close Price
Arguments:
candles
: np.ndarraysequential
: bool - default=False
Returns:
float | np.ndarray
wilders
wilders(candles: np.ndarray, period=5, source_type="close", sequential=False) -> Union[float, np.ndarray]
WILDERS - Wilders Smoothing
Arguments:
candles
: np.ndarrayperiod
: int - default=5source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
willr
willr(candles: np.ndarray, period=14, sequential=False) -> Union[float, np.ndarray]
WILLR - Williams' %R
Arguments:
candles
: np.ndarrayperiod
: int - default=14sequential
: bool - default=False
Returns:
float | np.ndarray
wma
wma(candles: np.ndarray, period=30, source_type="close", sequential=False) -> Union[float, np.ndarray]
WMA - Weighted Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=30source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
wt
wt(candles: np.ndarray, wtchannellen: int = 9, wtaveragelen: int = 12, wtmalen: int = 3, oblevel: int = 53, oslevel: int = -53, source_type: str = "hlc3", sequential: bool = False) -> Wavetrend
Wavetrend indicator
Arguments:
candles
: np.ndarraywtchannellen
: int - period=9wtaveragelen
: int - period=12wtmalen
: int - period=3oblevel
: int - period=53oslevel
: int - period=-53source_type
: str - period="hlc3"sequential
: bool - period=False
Returns:
Wavetrend(wt1, wt2, wtCrossUp, wtCrossDown, wtOversold, wtOverbought, wtVwap)
zlema
zlema(candles: np.ndarray, period=20, source_type="close", sequential=False) -> Union[float, np.ndarray]
Zero-Lag Exponential Moving Average
Arguments:
candles
: np.ndarrayperiod
: int - default=20source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray
zscore
zscore(candles: np.ndarray, period=14, matype=0, nbdev=1, devtype: int = 0, source_type="close", sequential=False) -> Union[
float, np.ndarray]
zScore
Arguments:
candles
: np.ndarrayperiod
: int - default=14matype
: int - default=0nbdev
: int - default=1devtype
: int - default=1source_type
: str - default="close"sequential
: bool - default=False
Returns:
float | np.ndarray