Skip to content
Permalink
Browse files

added tox flake8 cd .. and python bitfinex example

  • Loading branch information
kroitor committed Nov 4, 2017
1 parent aa201fa commit e25bd176e55f2b5575179559d2a113feabbcdee4
Showing with 79 additions and 0 deletions.
  1. +61 −0 examples/py/fetch-bitfinex-ohlcv-history.py
  2. +1 −0 python/tox.ini
  3. +17 −0 setup.cfg
@@ -0,0 +1,61 @@
# -*- coding: utf-8 -*-

import os
import sys
import time

# -----------------------------------------------------------------------------

root = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.append(root + '/python')

# -----------------------------------------------------------------------------

import ccxt # noqa: E402

# -----------------------------------------------------------------------------
# common constants

msec = 1000
minute = 60 * msec
hold = 30

# -----------------------------------------------------------------------------

exchange = ccxt.bitfinex({
'rateLimit': 3000,
'enableRateLimit': True,
# 'verbose': True,
})

# -----------------------------------------------------------------------------

from_datetime = '2017-01-01 00:00:00'
from_timestamp = exchange.parse8601(from_datetime)

# -----------------------------------------------------------------------------

now = exchange.milliseconds()

# -----------------------------------------------------------------------------

data = []

while from_timestamp < now:

try:

print(exchange.milliseconds(), 'Fetching candles starting from', exchange.iso8601(from_timestamp))
ohlcvs = exchange.fetch_ohlcv('BTC/USD', '1m', from_timestamp)
print(exchange.milliseconds(), 'Fetched', len(ohlcvs), 'candles')
first = ohlcvs[0][0]
last = ohlcvs[-1][0]
print('First candle epoch', first, exchange.iso8601(first))
print('Last candle epoch', last, exchange.iso8601(last))
from_timestamp += len(ohlcvs) * minute
data += ohlcvs

except (ccxt.ExchangeError, ccxt.AuthenticationError, ccxt.ExchangeNotAvailable, ccxt.RequestTimeout) as error:

print('Got an error', type(error).__name__, error.args, ', retrying in', hold, 'seconds...')
time.sleep(hold)
@@ -11,6 +11,7 @@ commands =

[testenv:qa]
basepython = python3
changedir=..
commands = flake8
deps = .[qa]

@@ -0,0 +1,17 @@
[flake8]
ignore = E501
exclude =
.ropeproject,
.tox,
.eggs,
# No need to traverse our git directory
.git,
# There's no value in checking cache directories
__pycache__,
# Other special cases
node_modules,
.nyc_output,
build,
tmp,
# No need to check the basecode
ccxt.py

1 comment on commit e25bd17

@exnermarie

This comment has been minimized.

Copy link

exnermarie commented on e25bd17 Sep 16, 2019

Businesses

Please sign in to comment.
You can’t perform that action at this time.