Skip to content

Commit

Permalink
[Order] Fix update taker or maker None
Browse files Browse the repository at this point in the history
  • Loading branch information
Herklos committed Jun 13, 2020
1 parent 91f5768 commit b76bc02
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 4 deletions.
2 changes: 1 addition & 1 deletion octobot_trading/data/order.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ cdef class Order(Initializable):
object order_type=*)

cdef void __update_type_from_raw(self, dict raw_order)
cdef void __update_taker_maker_from_raw(self)
cdef void _update_taker_maker(self)

cpdef str to_string(self)
cpdef cancel_order(self)
Expand Down
9 changes: 6 additions & 3 deletions octobot_trading/data/order.py
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,9 @@ def update(self, symbol, order_id="", status=OrderStatus.OPEN,
self.filled_price = self.total_cost / self.filled_quantity
if timestamp is not None:
self.executed_time = self.exchange_manager.exchange.get_uniform_timestamp(timestamp)

if self.taker_or_maker is None:
self._update_taker_maker()
return changed

async def initialize_impl(self):
Expand Down Expand Up @@ -287,7 +290,7 @@ def update_from_raw(self, raw_order):
try:
self.__update_type_from_raw(raw_order)
if self.taker_or_maker is None:
self.__update_taker_maker_from_raw()
self._update_taker_maker()
except KeyError:
get_logger(self.__class__.__name__).warning("Failed to parse order side and type")

Expand Down Expand Up @@ -322,7 +325,7 @@ def update_order_from_raw(self, raw_order):
if not self.filled_price and self.filled_quantity:
self.filled_price = self.total_cost / self.filled_quantity

self.__update_taker_maker_from_raw()
self._update_taker_maker()

self.fee = raw_order[ExchangeConstantsOrderColumns.FEE.value]

Expand All @@ -336,7 +339,7 @@ def __update_type_from_raw(self, raw_order):
self.exchange_order_type = TradeOrderType.UNKNOWN
self.side, self.order_type = parse_order_type(raw_order)

def __update_taker_maker_from_raw(self):
def _update_taker_maker(self):
if self.order_type in [TraderOrderType.SELL_MARKET, TraderOrderType.BUY_MARKET, TraderOrderType.STOP_LOSS]:
# always true
self.taker_or_maker = ExchangeConstantsMarketPropertyColumns.TAKER.value
Expand Down

0 comments on commit b76bc02

Please sign in to comment.