Skip to content

Overlap


Bill Williams Alligator

This indicator, by Bill Williams, attempts to identify trends.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
jaw int

Jaw period. Default: 13

None
teeth int

Teeth period. Default: 8

None
lips int

Lips period. Default: 5

None
talib bool

If installed, use TA Lib. Default: True

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
DataFrame

3 columns

Tip

To avoid data leaks, offsets are to be done manually.

Note

Williams believed the fx market trends between 15% and 30% of the time. Otherwise it is range bound. Inspired by fractal geometry, where the outputs are meant to resemble an alligator opening and closing its mouth. It It consists of 3 lines: Jaw, Teeth, and Lips which each have differing lengths.




Arnaud Legoux Moving Average

This indicator attempts to reduce lag with Gaussian smoothing.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 9

None
sigma float

Smoothing value. Default 6.0

None
dist_offset float

Distribution offset, range [0, 1]. Default 0.85

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column




Double Exponential Moving Average

This indicator attempts to create a smoother average with less lag than the EMA.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
talib bool

If installed, use TA Lib. Default: True

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column

Warning

TA-Lib Correlation: np.float64(0.9999894518202522)

Tip

Corrective contributions welcome!




Exponential Moving Average

This Moving Average is more responsive than the Simple Moving Average (SMA).

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
talib bool

If installed, use TA Lib. Default: True

None
presma bool

Initialize with SMA like TA Lib. Default: True

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
adjust bool
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column


NOTICE

Thanks to all those that have sponsored and dontated to the library in the past! Your support has been greatly appreciated! ๐Ÿ™

However, future releases are on definite hold until 100+ donations of $150+ have been received via Buy Me a Coffee.

Help keep this library and application the best in it's class!




Fibonacci's Weighted Moving Average

This indicator, by Kevin Johnson, is similar to a Weighted Moving Average (WMA) where the weights are based on the Fibonacci Sequence.

Sources
  • Kevin Johnson

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
asc bool

Recent values weigh more. Default: True

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column




Gann HiLo Activator

This indicator, by Robert Krausz, uses two different Moving Averages to identify trends.

Sources

Parameters:

Name Type Description Default
high Series

high Series

required
low Series

low Series

required
close Series

close Series

required
high_length int

High period. Default: 13

None
low_length int

Low period. Default: 21

None
mamode str

See help(ta.ma). Default: "sma"

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
DataFrame

3 columns

Note

Increasing high_length and decreasing low_length is better for short trades and vice versa for long trades.




HL2

HL2 is the midpoint/average of high and low.

Parameters:

Name Type Description Default
high Series

high Series

required
low Series

low Series

required
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value). Only works when offset.

Returns:

Type Description
Series

1 column




HLC3

HLC3 is the average of high, low and close.

Parameters:

Name Type Description Default
high Series

high Series

required
low Series

low Series

required
close Series

close Series

required
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value). Only works when offset.

Returns:

Type Description
Series

1 column




Hull Moving Average

This indicator, by Alan Hull, attempts to reduce lag compared to classical moving averages.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
mamode str

One of: 'ema', 'sma', or 'wma'. Default: "wma"

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column




Holt-Winter Moving Average

This indicator uses a three parameter Holt-Winter Moving Average for smoothing.

Sources
  • rengel8 based on a publication for MetaTrader 5.
  • mql5

Parameters:

Name Type Description Default
close Series

close Series

required
na float

Smoothed series parameter (from 0 to 1). Default: 0.2

None
nb float

Trend parameter (from 0 to 1). Default: 0.1

None
nc float

Seasonality parameter (from 0 to 1). Default: 0.1

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

pd.Series: hwma


NOTICE

Thanks to all those that have sponsored and dontated to the library in the past! Your support has been greatly appreciated! ๐Ÿ™

However, future releases are on definite hold until 100+ donations of $150+ have been received via Buy Me a Coffee.

Help keep this library and application the best in it's class!




Ichimoku Kinkล Hyล

A forecasting model used in Japaese financial markets Pre WWII.

Sources

Parameters:

Name Type Description Default
high Series

high Series

required
low Series

low Series

required
close Series

close Series

required
tenkan int

Tenkan period. Default: 9

None
kijun int

Kijun period. Default: 26

None
senkou int

Senkou period. Default: 52

None
include_chikou bool

Whether to include chikou component. Default: True

True
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

lookahead value

To avoid data leakage set to False.

Returns:

Type Description
Tuple[DataFrame, DataFrame]
  • Historical DataFrame, 5 columns
  • Forward Looking DataFrame, 2 columns
Possible Data Leak

Set lookahead=False to avoid data leakage. Issue #60.




Jurik Moving Average Average

This indicator, by Mark Jurik, attempts to eliminate noise. It claims to have extremely low lag, is very smooth and is responsive to gaps.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 7

None
phase float

Phase value between [-100, 100]. Default: 0

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column




Kaufman's Adaptive Moving Average

This indicator, by Perry Kaufman, attempts to find the overall trend by adapting to volatility.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
fast int

Fast MA period. Default: 2

None
slow int

Slow MA period. Default: 30

None
mamode str

See help(ta.ma). Default: "sma"

None
drift int

Difference amount. Default: 1

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column




Linear Regression Moving Average

This indicator is a simplified version of Standard Linear Regression. It is one variable rolling regression whereas a Standard Linear Regression is between two or more variables.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
talib bool

If installed, use TA Lib. Default: True

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
angle bool

Returns the slope angle in radians. Default: False

degrees bool

Return the slope angle in degrees. Default: False

intercept bool

Return the intercept. Default: False

r bool

Return the 'r' correlation. Default: False

slope bool

Return the slope. Default: False

tsf bool

Return the Time Series Forecast value. Default: False

fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column

Warning

TA-Lib Correlation: np.float64(0.9985638477660118)

Tip

Corrective contributions welcome!




MESA Adaptive Moving Average

This indicator, aka the Mother of All Moving Averages by John Ehlers, attempts to adapt to volatility by using a Hilbert Transform Discriminator

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
fastlimit float

Fast limit. Default: 0.5

None
slowlimit float

Slow limit. Default: 0.05

None
prenan int

Prenans to apply. TV-LB 3, Ehler's 6, TA Lib 32. Default: 3

None
talib bool

If installed, use TA Lib. Default: True

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
DataFrame

2 columns

Tip

FAMA also included




McGinley Dynamic Indicator

This indicator, by John R. McGinley, is not a moving average but a differential smoothing technique.

Sources
  • John R. McGinley, a Certified Market Technician (CMT) and former editor of the Market Technicians Association's Journal of Technical Analysis.
  • investopedia

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
c float

Denominator multiplier. Default: 1

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column

Note

Sometimes c is set to 0.6.




Midpoint

The Midpoint is the average of the rolling high and low of period length.

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 2

None
talib bool

If installed, use TA Lib. Default: True

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column




Midprice

The Midprice is the average of the rolling high and low of period length.

Parameters:

Name Type Description Default
high Series

high Series

required
low Series

low Series

required
length int

The period. Default: 2

None
talib bool

If installed, use TA Lib. Default: True

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column


NOTICE

Thanks to all those that have sponsored and dontated to the library in the past! Your support has been greatly appreciated! ๐Ÿ™

However, future releases are on definite hold until 100+ donations of $150+ have been received via Buy Me a Coffee.

Help keep this library and application the best in it's class!




OHLC4

OHLC4 is the average of open, high, low and close.

Parameters:

Name Type Description Default
open_ Series

open Series

required
high Series

high Series

required
low Series

low Series

required
close Series

close Series

required
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value). Only works when offset.

Returns:

Type Description
Series

1 column




Pascal's Weighted Moving Average

This indicator, by Kevin Johnson, creates a weighted moving average using Pascal's Triangle.

Sources
  • Kevin Johnson

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
asc bool

Ascending. Default: True

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
DataFrame

1 column




wildeR's Moving Average

This indicator, by Wilder, is simply an EMA where alpha is the recipical of its length.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column




Sine Weighted Moving Average

This indicator is a weighted average using sine cycles where the central values have greater weight.

Source

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column




Simple Moving Average

This indicator is the the textbook moving average, a rolling sum of values divided by the window period (or length).

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
talib bool

If installed, use TA Lib. Default: True

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
adjust bool

Adjust the values. Default: True

presma bool

If True, uses SMA for initial value.

fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column




SMoothed Moving Average

This indicator attempts to confirm trends and identify support and resistance areas. It tries to reduce noise in contrast to reducing lag.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
mamode str

See help(ta.ma). Default: "sma"

None
talib bool

If installed, use TA Lib. Default: True

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column

Note

A core component of Bill Williams Alligator indicator.




Ehlers's Super Smoother Filter

This indicator, by John F. Ehlers's ยฉ 2013, is a (Recursive) Digital Filter that attempts to reduce lag and remove aliases. This version has two poles.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 20

None
everget bool

Everget's implementation of ssf that uses pi instead of 180 for the b factor of ssf. Default: False

None
pi float

The default is Ehlers's truncated value: 3.14159. Default: 3.14159

None
sqrt2 float

The default is Ehlers's truncated value: 1.414. Default: 1.414

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column

Note
  • Everget's calculation on TradingView: pi=np.pi, sqrt2=np.sqrt(2)
Danger

Possible Data Leak




Ehlers's 3 Pole Super Smoother Filter

This indicator, by John F. Ehlers's ยฉ 2013, is a (Recursive) Digital Filter that attempts to reduce lag and remove aliases. This version has two poles.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 20

None
pi float

The value of PI. The default is Ehler's truncated value: 3.14159. Default: 3.14159

None
sqrt3 float

The value of sqrt(3) to use. The default is Ehler's truncated value: 1.732. Default: 1.732

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column

Note
  • Everget's calculation on TradingView: pi=np.pi, sqrt2=np.sqrt(2)




Supertrend

This indicator attempts to identify trend direction as well as support and resistance levels.

Sources

Parameters:

Name Type Description Default
high Series

high Series

required
low Series

low Series

required
close Series

close Series

required
length int

The period. Default: 7

None
atr_length int

ATR period. Default: length

None
multiplier float

Coefficient for upper and lower band distance to midrange. Default: 3.0

None
atr_mamode str)

MA type to be used for ATR calculation. See help(ta.ma). Default: "rma"

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
DataFrame

4 columns




Symmetric Weighted Moving Average

This indicator is based on a Symmetric Weighted Moving Average where weights are based on a symmetric triangle.

Source

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column

Note
  • n=3 -> [1, 2, 1]
  • n=4 -> [1, 2, 2, 1]
  • etc...


NOTICE

Thanks to all those that have sponsored and dontated to the library in the past! Your support has been greatly appreciated! ๐Ÿ™

However, future releases are on definite hold until 100+ donations of $150+ have been received via Buy Me a Coffee.

Help keep this library and application the best in it's class!




T3

This indicator, by Tim Tillson, attempts to be smoother and more responsive relative to other moving averages.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
a float

The a factor, 0 < a < 1. Default: 0.7

None
talib bool

If installed, use TA Lib. Default: True

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
adjust bool
presma bool

If True, uses SMA for initial value.

fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column

Warning

TA-Lib Correlation: np.float64(0.9999994265973177)

Tip

Corrective contributions welcome!




Triple Exponential Moving Average

This indicator attempts to be less laggy than the EMA.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
talib bool

If installed, use TA Lib. Default: True

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
adjust bool
presma bool

If True, uses SMA for initial value.

fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column

Warning

TA-Lib Correlation: np.float64(0.9999355450605516)

Tip

Corrective contributions welcome!




Triangular Moving Average

This indicator is a weighted moving average where the shape of the weights are triangular with the greatest weight is in the middle of the period.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
talib bool

If installed, use TA Lib. Default: True

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
adjust bool
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column

Note

tma = sma(sma(src, ceil(length / 2)), floor(length / 2) + 1) # Tradingview trima = sma(sma(x, n), n) # Tradingview

Warning

TA-Lib Correlation: np.float64(0.9991752493891967)

Tip

Corrective contributions welcome!




Variable Index Dynamic Average

This indicator, by Tushar Chande, is similar to an EMA but it has a dynamically adjusted lookback period dependent based on CMO.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 14

None
talib bool

If installed, use TA Lib. Default: True

None
drift int

Difference amount. Default: 1

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column

Note

Sometimes used as a moving average or a trend identifier.




Weighted Closing Price

This indicator is a weighted value of: high, low and twice the close.

Sources

Parameters:

Name Type Description Default
high Series

high Series

required
low Series

low Series

required
close Series

close Series

required
talib bool

If installed, use TA Lib. Default: True

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column




Weighted Moving Average

This indicator is a Moving Average where the weights are linearly increasing and the most recent data has the heaviest weight.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
asc bool

Recent values weigh more. Default: True

None
talib bool

If installed, use TA Lib. Default: True

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column




Zero Lag Moving Average

This indicator, by John Ehlers and Ric Way, attempts to eliminate the lag often introduced in other moving averages.

Sources

Parameters:

Name Type Description Default
close Series

close Series

required
length int

The period. Default: 10

None
mamode str

One of: "dema", "ema", "fwma", "hma", "linreg", "midpoint", "pwma", "rma", "sinwma", "ssf", "swma", "t3", "tema", "trima", "vidya", or "wma". Default: "ema"

None
offset int

Post shift. Default: 0

None

Other Parameters:

Name Type Description
fillna value

pd.DataFrame.fillna(value)

Returns:

Type Description
Series

1 column


"Buy Me A Coffee"

ko-fi