mirror of
https://github.com/wassname/catalyst.git
synced 2026-08-12 11:50:11 +08:00
Merge branch 'exchange-trading' of github.com:enigmampc/catalyst into exchange-trading
This commit is contained in:
@@ -33,7 +33,7 @@ def initialize(context):
|
||||
|
||||
context.TARGET_POSITIONS = 5000
|
||||
context.PROFIT_TARGET = 0.1
|
||||
context.SLIPPAGE_ALLOWED = 0.02
|
||||
context.SLIPPAGE_ALLOWED = 0.05
|
||||
|
||||
context.retry_check_open_orders = 10
|
||||
context.retry_update_portfolio = 10
|
||||
|
||||
@@ -69,7 +69,7 @@ class ExchangeTradingAlgorithm(TradingAlgorithm):
|
||||
self.stats_minutes = 5
|
||||
|
||||
super(self.__class__, self).__init__(*args, **kwargs)
|
||||
self._create_minute_writer()
|
||||
# self._create_minute_writer()
|
||||
|
||||
signal.signal(signal.SIGINT, self.signal_handler)
|
||||
|
||||
|
||||
@@ -25,6 +25,9 @@ class Bittrex(Exchange):
|
||||
self.base_currency = base_currency
|
||||
self._portfolio = portfolio
|
||||
|
||||
self.minute_writer=None
|
||||
self.minute_reader=None
|
||||
|
||||
self.assets = dict()
|
||||
self.load_assets()
|
||||
|
||||
@@ -85,8 +88,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 +98,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 +167,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 +176,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 \
|
||||
@@ -255,7 +260,7 @@ class Bittrex(Exchange):
|
||||
|
||||
ordered_candles = list(reversed(candles))
|
||||
if bar_count is None:
|
||||
ohlc_map[asset] = ohlc_from_candle(ordered_candles[-1])
|
||||
ohlc_map[asset] = ohlc_from_candle(ordered_candles[0])
|
||||
else:
|
||||
ohlc_bars = []
|
||||
for candle in ordered_candles[:bar_count]:
|
||||
|
||||
Reference in New Issue
Block a user