Code Monkey home page Code Monkey logo

technical's Introduction

Technical

Technical CI PyPI Code style: black

This is a collection of technical indicators collected or developed for Freqtrade as well as utilities such as timeframe resampling.

What does it do for you

We basically provide you with easy to use indicators, collected from all over github and custom methods. Over time we plan to provide a simple API wrapper around TA-Lib, PyTi and others, as we find them. So you have one place, to find 100s of indicators.

Custom indicators

  • Consensus - an indicator which is based on a consensus model, across several indicators you can easily customize these. It is based on the TradingView buy/sell graph. - MovingAverage Consensus - Oscillator Consensus - Summary Consensus
  • vfi
  • mmar
  • madrid_sqz
  • stc
  • ichimoku cloud
  • volume weighted moving average
  • laguerre
  • vpci
  • trendlines, 2 different algorithms to calculate trendlines
  • fibonacci retracements
  • pivots points
  • TKE Indicator - Arithmetical mean of 7 oscilators
  • Volume Weighted MACD - Volume Weighted MACD indicator
  • RMI - Relative Momentum indicator
  • VIDYA - Variable Index Dynamic Average
  • MADR - Moving Average Deviation Rate
  • SSL - SSL Channel
  • PMAX - PMAX indicator

Utilities

  • resample - easily resample your dataframe to a larger interval
  • merge - merge your resampled dataframe into your original dataframe, so you can build triggers on more than 1 interval!

Wrapped Indicators

The following indicators are available and have been 'wrapped' to be used on a dataframe with the standard open/close/high/low/volume columns:

  • chaikin_money_flow - Chaikin Money Flow, requires dataframe and period
  • accumulation_distribution - requires a dataframe
  • osc - requires a dataframe and the periods
  • atr - dataframe, period, field
  • atr_percent - dataframe, period, field
  • bollinger_bands - dataframe, period, stdv, field, prefix
  • cmo - dataframe, period, field
  • cci - dataframe, period
  • williams percent
  • momentum oscilator
  • hull moving average
  • ultimate oscillator
  • sma
  • ema
  • tema

We will try to add more and more wrappers as we get to it, but please be patient or help out with PR's! It's super easy, but also super boring work.

Usage

to use the library, please install it with pip

pip install technical

To get the latest version, install directly from github:

pip install git+https://github.com/freqtrade/technical

and than import the required packages

from technical.indicators import accumulation_distribution, ...
from technical.util import resample_to_interval, resampled_merge

# Assuming 1h dataframe -resampling to 4h:
dataframe_long = resample_to_interval(dataframe, 240)  # 240 = 4 * 60 = 4h

dataframe_long['rsi'] = ta.RSI(dataframe_long)
# Combine the 2 dataframes
dataframe = resampled_merge(dataframe, dataframe_long, fill_na=True)

"""
The resulting dataframe will have 5 resampled columns in addition to the regular columns,
following the template resample_<interval_in_minutes>_<orig_column_name>.
So in the above example:
['resample_240_open', 'resample_240_high', 'resample_240_low','resample_240_close', 'resample_240_rsi']
"""

Contributions

We will happily add your custom indicators to this repo! Just clone this repository and implement your favorite indicator to use with Freqtrade.

Have fun!

technical's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.