mirror of
https://github.com/wassname/catalyst.git
synced 2026-06-27 22:36:38 +08:00
119 lines
3.5 KiB
Python
119 lines
3.5 KiB
Python
import pandas as pd
|
|
from logbook import Logger
|
|
|
|
from catalyst.exchange.utils.stats_utils import set_print_settings
|
|
from .base import BaseExchangeTestCase
|
|
from catalyst.exchange.ccxt.ccxt_exchange import CCXT
|
|
from catalyst.exchange.exchange_execution import ExchangeLimitOrder
|
|
from catalyst.exchange.utils.exchange_utils import get_exchange_auth
|
|
from catalyst.finance.order import Order
|
|
|
|
log = Logger('test_ccxt')
|
|
|
|
|
|
class TestCCXT(BaseExchangeTestCase):
|
|
@classmethod
|
|
def setup(self):
|
|
exchange_name = 'bittrex'
|
|
auth = get_exchange_auth(exchange_name)
|
|
self.exchange = CCXT(
|
|
exchange_name=exchange_name,
|
|
key=auth['key'],
|
|
secret=auth['secret'],
|
|
base_currency='usdt',
|
|
)
|
|
self.exchange.init()
|
|
|
|
def test_order(self):
|
|
log.info('creating order')
|
|
asset = self.exchange.get_asset('eth_usdt')
|
|
order_id = self.exchange.order(
|
|
asset=asset,
|
|
style=ExchangeLimitOrder(limit_price=1000),
|
|
amount=1.01,
|
|
)
|
|
log.info('order created {}'.format(order_id))
|
|
assert order_id is not None
|
|
pass
|
|
|
|
def test_open_orders(self):
|
|
# log.info('retrieving open orders')
|
|
# asset = self.exchange.get_asset('neo_eth')
|
|
# orders = self.exchange.get_open_orders(asset)
|
|
pass
|
|
|
|
def test_get_order(self):
|
|
log.info('retrieving order')
|
|
order = self.exchange.get_order('2631386', 'neo_eth')
|
|
# order = self.exchange.get_order('2631386')
|
|
assert isinstance(order, Order)
|
|
pass
|
|
|
|
def test_cancel_order(self, ):
|
|
log.info('cancel order')
|
|
self.exchange.cancel_order('2631386', 'neo_eth')
|
|
pass
|
|
|
|
def test_get_candles(self):
|
|
log.info('retrieving candles')
|
|
candles = self.exchange.get_candles(
|
|
freq='1T',
|
|
assets=[self.exchange.get_asset('eth_btc')],
|
|
bar_count=200,
|
|
# start_dt=pd.to_datetime('2017-09-01', utc=True),
|
|
)
|
|
|
|
for asset in candles:
|
|
df = pd.DataFrame(candles[asset])
|
|
df.set_index('last_traded', drop=True, inplace=True)
|
|
|
|
set_print_settings()
|
|
print('got {} candles'.format(len(df)))
|
|
print(df.head(10))
|
|
print(df.tail(10))
|
|
pass
|
|
|
|
def test_tickers(self):
|
|
log.info('retrieving tickers')
|
|
assets = [
|
|
self.exchange.get_asset('ada_eth'),
|
|
self.exchange.get_asset('zrx_eth'),
|
|
]
|
|
tickers = self.exchange.tickers(assets)
|
|
assert len(tickers) == 2
|
|
pass
|
|
|
|
def test_my_trades(self):
|
|
asset = self.exchange.get_asset('dsh_btc')
|
|
|
|
trades = self.exchange.get_trades(asset)
|
|
assert trades
|
|
pass
|
|
|
|
def test_get_executed_order(self):
|
|
log.info('retrieving executed order')
|
|
asset = self.exchange.get_asset('eng_eth')
|
|
|
|
order = self.exchange.get_order('165784', asset)
|
|
transactions = self.exchange.process_order(order)
|
|
assert transactions
|
|
pass
|
|
|
|
def test_get_balances(self):
|
|
log.info('testing wallet balances')
|
|
# balances = self.exchange.get_balances()
|
|
pass
|
|
|
|
def test_get_account(self):
|
|
log.info('testing account data')
|
|
pass
|
|
|
|
def test_orderbook(self):
|
|
log.info('testing order book for bittrex')
|
|
# asset = self.exchange.get_asset('eth_btc')
|
|
# orderbook = self.exchange.get_orderbook(asset, 'all', limit=10)
|
|
pass
|
|
|
|
def test_get_fees(self):
|
|
pass
|