Fixed issue with Bittrex order

This commit is contained in:
fredfortier
2017-09-01 10:39:49 -04:00
parent 8f3c440bac
commit c1d7022846
2 changed files with 13 additions and 86 deletions
+8 -6
View File
@@ -85,8 +85,9 @@ class Bittrex(Exchange):
return std_balances
def create_order(self, asset, amount, is_buy, style):
log.info('creating order')
log.info('creating {} order'.format('buy' if is_buy else 'sell'))
exchange_symbol = self.get_symbol(asset)
if isinstance(style, LimitOrder) or isinstance(style, StopLimitOrder):
if isinstance(style, StopLimitOrder):
log.warn('{} will ignore the stop price'.format(self.name))
@@ -94,9 +95,11 @@ class Bittrex(Exchange):
price = style.get_limit_price(is_buy)
try:
if is_buy:
order_status = self.api.buylimit(exchange_symbol, amount, price)
order_status = self.api.buylimit(exchange_symbol, amount,
price)
else:
order_status = self.api.selllimit(exchange_symbol, amount, price)
order_status = self.api.selllimit(exchange_symbol,
abs(amount), price)
except Exception as e:
raise ExchangeRequestError(error=e)
@@ -161,7 +164,7 @@ class Bittrex(Exchange):
return order, executed_price
def get_order(self, order_id):
log.info('retrieving order')
log.info('retrieving order {}'.format(order_id))
try:
order_status = self.api.getorder(order_id)
except Exception as e:
@@ -170,8 +173,7 @@ class Bittrex(Exchange):
if order_status is None:
raise OrderNotFound(order_id=order_id, exchange=self.name)
order, executed_price = self._create_order(order_status)
return order
return self._create_order(order_status)
def cancel_order(self, order_param):
order_id = order_param.id \
+5 -80
View File
@@ -26,11 +26,11 @@ class BitfinexTestCase(BaseExchangeTestCase):
log.info('creating order')
asset = self.exchange.get_asset('eth_usd')
order_id = self.exchange.order(
asset=asset,
style=LimitOrder(limit_price=200),
limit_price=200,
amount=0.5,
stop_price=None
asset=asset,
style=LimitOrder(limit_price=200),
limit_price=200,
amount=0.5,
stop_price=None
)
log.info('order created {}'.format(order_id))
pass
@@ -68,78 +68,3 @@ class BitfinexTestCase(BaseExchangeTestCase):
log.info('testing exchange balances')
balances = self.exchange.get_balances()
pass
# def test_order(self):
# log.info('ordering from bitfinex')
# bitfinex = Bitfinex()
# order_id = bitfinex.order(
# asset=bitfinex.get_asset('eth_usd'),
# style=LimitOrder(limit_price=200),
# limit_price=200,
# amount=0.5,
# stop_price=None
# )
# log.info('order created {}'.format(order_id))
# pass
#
# def test_portfolio(self):
# log.info('fetching portfolio data')
# pass
#
# def test_account(self):
# log.info('fetching account data')
# pass
#
# def test_time_skew(self):
# log.info('time skew not implemented')
# pass
#
# def test_get_open_orders(self):
# log.info('fetching open orders')
# bitfinex = Bitfinex()
# order_id = bitfinex.get_open_orders()
# log.info('open orders: {}'.format(order_id))
# pass
#
# def test_get_order(self):
# log.info('querying orders from bitfinex')
# bitfinex = Bitfinex()
# response = bitfinex.get_order(order_id=3361248395)
# log.info('the order: {}'.format(response))
# pass
#
# def test_cancel_order(self):
# log.info('canceling order from bitfinex')
# bitfinex = Bitfinex()
# response = bitfinex.cancel_order(order_id=3330847408)
# log.info('canceled order: {}'.format(response))
# pass
#
# def test_get_spot_value(self):
# log.info('spot value not implemented')
# bitfinex = Bitfinex()
# assets = [
# bitfinex.get_asset('eth_usd'),
# bitfinex.get_asset('etc_usd'),
# bitfinex.get_asset('eos_usd'),
# ]
# # assets = bitfinex.get_asset('eth_usd')
# value = bitfinex.get_spot_value(
# assets=assets,
# field='close',
# data_frequency='minute'
# )
# pass
#
# def test_tickers(self):
# log.info('fetching ticker from bitfinex')
# bitfinex = Bitfinex()
# current_date = pd.Timestamp.utcnow()
# assets = [
# bitfinex.get_asset('eth_usd'),
# bitfinex.get_asset('etc_usd'),
# bitfinex.get_asset('eos_usd'),
# ]
# tickers = bitfinex.tickers(date=current_date, assets=assets)
# log.info('got tickers {}'.format(tickers))
# pass