Installation

pip install tapy

Indicators

class tapy.Indicators(df, open_col='Open', high_col='High', low_col='Low', close_col='Close', volume_col='Volume')

Add technical indicators data to a pandas data frame

>>> import pandas as pd
>>> from tapy import Indicators
>>> df = pd.read_csv('EURUSD60.csv')
>>> i= Indicators(df)
>>> i.accelerator_oscillator(column_name='AC')
>>> i.sma()
>>> df = i.df
>>> df.tail()
            Date   Time     Open     High      Low    Close  Volume        AC       sma
3723  2019.09.20  16:00  1.10022  1.10105  1.10010  1.10070    2888 -0.001155  1.101296
3724  2019.09.20  17:00  1.10068  1.10193  1.10054  1.10184    6116 -0.000820  1.101158
3725  2019.09.20  18:00  1.10186  1.10194  1.10095  1.10144    3757 -0.000400  1.101056
3726  2019.09.20  19:00  1.10146  1.10215  1.10121  1.10188    3069  0.000022  1.101216
3727  2019.09.20  20:00  1.10184  1.10215  1.10147  1.10167    1224  0.000388  1.101506

Accelerator Oscillator (AC)

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/accelerator_decelerator

>>> Indicators.accelerator_oscillator(column_name='ac')
param str column_name:
 Column name, default: ac
return:None

Accumulation/Distribution (A/D)

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/accumulation_distribution

>>> Indicators.accumulation_distribution(column_name='a/d')
param str column_name:
 Column name, default: a/d
return:None

Alligator

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/alligator

>>> Indicators.alligator(period_jaws=13, period_teeth=8, period_lips=5, shift_jaws=8, shift_teeth=5, shift_lips=3, column_name_jaws='alligator_jaw', column_name_teeth='alligator_teeth', column_name_lips='alligator_lips')
param int period_jaws:
 Period for Alligator’ Jaws, default: 13
param int period_teeth:
 Period for Alligator’ Teeth, default: 8
param int period_lips:
 Period for Alligator’ Lips, default: 5
param int shift_jaws:
 Period for Alligator’ Jaws, default: 8
param int shift_teeth:
 Period for Alligator’ Teeth, default: 5
param int shift_lips:
 Period for Alligator’ Lips, default: 3
param str column_name_jaws:
 Column Name for Alligator’ Jaws, default: alligator_jaws
param str column_name_teeth:
 Column Name for Alligator’ Teeth, default: alligator_teeth
param str column_name_lips:
 Column Name for Alligator’ Lips, default: alligator_lips
return:None

Average True Range (ATR)

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/average_true_range

>>> Indicators.atr(period=14, column_name='atr')
param int period:
 Period, default: 14
param str column_name:
 Column name, default: atr
return:None

Awesome Oscillator (AO)

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/awesome_oscillator

>>> Indicators.awesome_oscillator(column_name='ao')
param str column_name:
 Column name, default: ao
return:None

Bears Power

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/bears_power

>>> Indicators.bears_power(period=13, column_name='bears_power')
param int period:
 Period, default: 13
param str column_name:
 Column name, default: bears_power
return:None

Bollinger Bands

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/bollinger_bands

>>> Indicators.bollinger_bands(self, period=20, deviation=2, column_name_top='bollinger_up', column_name_mid='bollinger_mid', column_name_bottom='bollinger_bottom')
param int period:
 Period, default 20
param int deviation:
 Number of Standard Deviations, default 2
param str column_name_top:
 default bollinger_up
param str column_name_mid:
 default bollinger_mid
param str column_name_bottom:
 default bollinger_down
return:None

Bulls Power

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/bulls_power

>>> Indicators.bulls_power(period=13, column_name='bulls_power')
param int period:
 Period, default: 13
param str column_name:
 Column name, default: bulls_power
return:None

Commodity Channel Index (CCI)

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/commodity_channel_index

>>> Indicators.cci(period=14, column_name='cci')
param int period:
 Period, default: 14
param str column_name:
 Column name, default: cci
return:None

DeMarker (DeM)

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/demarker

>>> Indicators.de_marker(period=14, column_name='dem')
param int period:
 Period, default: 14
param str column_name:
 Column name, default: dem
return:None

Exponential Moving Average (EMA)

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/moving_average#exponential_moving_average

>>> Indicators.ema(period=5, column_name='ema', apply_to='Close')
param int period:
 the number of calculation periods, default: 5
param str column_name:
 Column name, default: ema
param str apply_to:
 Which column use for calculation. Can be “Open”, “High”, “Low” and “Close”. Default: Close
return:None

Force Index (FRC)

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/force_index

>>> Indicators.force_index(period=13, method='sma', apply_to='Close', column_name='frc')
param int period:
 Period, default: 13
param str method:
 Moving average method. Can be ‘sma’, ‘smma’ or ‘ema’. Default: sma
param str apply_to:
 Apply indicator to column, default: Close
param str column_name:
 Column name, default: frc
return:None

Fractals

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/fractals

>>> Indicators.fractals(column_name_high='fractals_high', column_name_low='fractals_low')
param str column_name_high:
 Column name for High values, default: fractals_high
param str column_name_low:
 Column name for Low values, default: fractals_low
return:None

Gator Oscillator

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/gator_oscillator

>>> Indicators.gator(period_jaws=13, period_teeth=8, period_lips=5, shift_jaws=8, shift_teeth=5, shift_lips=3, column_name_val1='value1', column_name_val2='value2')
param int period_jaws:
 Jaws period, default: 13
param int period_teeth:
 Teeth period, default: 8
param int period_lips:
 Lips period, default: 5
param int shift_jaws:
 Jaws shift, default: 8
param int shift_teeth:
 Teeth shift, default: 5
param int shift_lips:
 Lips shift, default: 3
param str column_name_val1:
 Column name for Value1, default value1
param str column_name_val2:
 Column name for Value2, default value2
return:None

Ichimoku Kinko Hyo

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/ichimoku

>>> Indicators.ichimoku_kinko_hyo(period_tenkan_sen=9, period_kijun_sen=26, period_senkou_span_b=52, column_name_chikou_span='chikou_span', column_name_tenkan_sen='tenkan_sen', column_name_kijun_sen='kijun_sen', column_name_senkou_span_a='senkou_span_a', column_name_senkou_span_b='senkou_span_b')
param int period_tenkan_sen:
 Period for Tenkan-sen, default: 9
param int period_kijun_sen:
 Period for Kijun-sen, default: 26
param int period_senkou_span_b:
 Period for Senkou-span, default: 52
param str column_name_chikou_span:
 Column name for Chikou-span, default: chikou_span
param str column_name_tenkan_sen:
 Column name for Tenkan-sen, default: tenkan_sen
param str column_name_kijun_sen:
 Column name for Kijun-sen, default: kijun_sen
param str column_name_senkou_span_a:
 Column name for Senkou Span A, default: senkou_span_a
param str column_name_senkou_span_b:
 Column name for Senkou Span B, default: senkou_span_b
return:None

Market Facilitation Index (BW MFI)

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/market_facilitation_index

>>> Indicators.bw_mfi(column_name='bw_mfi')
param str column_name:
 Column name, default: bw_mfi
return:None

Momentum

https://www.metatrader4.com/ru/trading-platform/help/analytics/tech_indicators/momentum

>>> Indicators.momentum(period=14, column_name='momentum')
param int period:
 Period, default: 14
param strr column_name:
 Column name, default: momentum
return:

Money Flow Index (MFI)

param int period:
 Period, default: 5
param str column_name:
 Column name, default: mfi
return:None

Moving Average Convergence/Divergence (MACD)

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/macd

>>> Indicators.macd(self, period_fast=12, period_slow=26, period_signal=9, column_name_value='macd_value', column_name_signal='macd_signal')
param int period_fast:
 Period for Fast EMA, default: 12
param int period_slow:
 Period for Slow EMA, default: 26
param int period_signal:
 Period for Signal Line, default 9
param str column_name_value:
 Column name for MACD Value, default macd_value
param str column_name_signal:
 Column name for MACD Signal, default macd_signal
return:None

Simple Moving Average (SMA)

https://www.metatrader4.com/en/trading-platform/help/analytics/tech_indicators/moving_average#simple_moving_average

>>> Indicators.sma(period=5, column_name='sma', apply_to='Close')
param int period:
 the number of calculation periods, default: 5
param str column_name:
 Column name, default: sma
param str apply_to:
 Which column use for calculation. Can be “Open”, “High”, “Low” and “Close”. Default: Close
return:None

Smoothed Moving Average (SMMA)

https://www.metatrader4.com/ru/trading-platform/help/analytics/tech_indicators/moving_average#smoothed_moving_average

>>> Indicators.smma(period=5, column_name='smma', apply_to='Close')
param int period:
 the number of calculation periods, default: 5
param str column_name:
 Column name, default: smma
param str apply_to:
 Which column use for calculation. Can be “Open”, “High”, “Low” and “Close”. Default: Close
return:None