Skip to main content

Crypto exchange indicator application

Project description

CandleBoy

Crypto exchange indicator application

Notes

  • Only exchange is Phemex so far, they require specific symbols for SPOT and FUTURE
  • SPOT Symbols start with s and are handled in USDT ex. sBTCUSDT
  • FUTURE Symbols are all formatted as so BTC/USD:USD
  • Can create symbols with symbol method

Installation

pip install candleboy

Usage

Instantiation

from candleboy.core import CandleBoy

# Only exchange at the moment is phemex
# Verbose shows logging
client = CandleBoy(exchange='phemex', verbose=True)

# Turn logging on/off
client.verbose()
client.silent()

# Access current exchange property
print(client.exchange)

Get a list of all available timeframes for an exchange

client.timeframes()

Retrieve Open, High, Low, Close, Volume data from exchange

  • Some exchanges may return different values
  • Retrieves 1000 candles for phemex
# Create symbol first
symbol = client.symbol(base='BTC', quote='USD', code='future') # BTC/USD:USD

timestamps, open, high, low, close, volume = client.ohlcv(symbol=symbol, tf='1m')

# Use a start at date
date = '2021-12-29' # YEAR-MONTH-DATE
timestamps, open, high, low, close, volume = client.ohlcv(symbol=symbol, tf='1m', since=date)

Get Moving Average Convergence/Divergence Indicator Values

symbol = client.symbol(base='BTC', quote='USD', code='future')
_, _, _, _, close, _ = client.ohlcv(symbol, '1m')
macd, signal, histogram = client.macd(close)

# May optionally change parameters (default is 12, 26, 9)
fastperiod = 9
slowperiod = 12
signalperiod = 3

macd, signal, histogram = client.macd(close, fastperiod, slowperiod, signalperiod)

Get Exponential Moving Average Indicator Values

symbol = client.symbol(base='BTC', quote='USD', code='future')
_, _, _, _, close, _ = client.ohlcv(symbol, '1m')
ema = client.ema(close)

# May optionally change parameters (default is 200)
timeperiod = 20

ema = client.ema(close, timeperiod)

Get Stochastic Indicator Values

symbol = client.symbol(base='BTC', quote='USD', code='future')
_, _, high, low, close, _ = client.ohlcv(symbol, '1m')
slowk, slowd = client.stoch(high, low, close)

# May optionally change parameters (default is 5, 3, 0, 3, 0)
fastk_period = 5
slowk_period = 3
slowk_matype = 0
slowd_period = 3
slowd_matype = 0

slowk, slowd = client.stoch(high, low, close, fastk_period, slowk_period, slowk_matype, slowd_period, slowd_matype)

Get ADX Indicator Values

symbol = client.symbol(base='BTC', quote='USD', code='future')
_, _, high, low, close, _ = client.ohlcv(symbol, '1m')
adx = client.adx(high, low, close)

# May optionally change parameters (default is 14)
timeperiod = 14

adx = client.stoch(high, low, close, timeperiod)

Get MESA Indicator Values

symbol = client.symbol(base='BTC', quote='USD', code='future')
_, _, _, _, close, _ = client.ohlcv(symbol, '1m')
mama, fama = client.mesa(close)

# May optionally change parameters (default is 0.5, 0.05)
fastlimit = 0.5
slowlimit = 0.05

mama, fama = client.mesa(close, fastlimit, slowlimit)

Test

  • Runs the tests on the CandleBoy module
make test

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

candleboy-2.2.2.tar.gz (6.0 kB view hashes)

Uploaded Source

Built Distribution

candleboy-2.2.2-py2.py3-none-any.whl (6.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page