self.fetch_mouvements()
self.mark_disappeared_order()
-
+ self.mark_dust_amount_remaining_order()
self.mark_finished_order()
- # FIXME: consider open order with dust remaining as closed
- def dust_amount_remaining(self):
- return self.remaining_amount() < Amount(self.amount.currency, D("0.001"))
+ def mark_dust_amount_remaining_order(self):
+ if self.market.ccxt.is_dust_trade(self.remaining_amount().value, self.rate):
+ self.status = "closed_dust_remaining"
def remaining_amount(self):
return self.amount - self.filled_amount()
self.market.report.log_debug_action("Mark {} as cancelled".format(self))
self.status = "canceled"
return
- if self.open and self.id is not None:
+ if (self.status == "closed_dust_remaining" or self.open) and self.id is not None:
try:
self.market.ccxt.cancel_order(self.id)
except OrderNotFound as e: # Closed inbetween