Skip to content

Commit

Permalink
added tox flake8 cd .. and python bitfinex example
Browse files Browse the repository at this point in the history
  • Loading branch information
kroitor committed Nov 4, 2017
1 parent aa201fa commit e25bd17
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 0 deletions.
61 changes: 61 additions & 0 deletions examples/py/fetch-bitfinex-ohlcv-history.py
Original file line number Diff line number Diff line change
@@ -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)
1 change: 1 addition & 0 deletions python/tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ commands =

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

Expand Down
17 changes: 17 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit e25bd17

Please sign in to comment.