def minimum_order_amount(exchange: str, trading_pair: str) -> Decimal: base_asset, quote_asset = trading_pair.split("-") default_quote_asset, default_amount = default_min_quote(quote_asset) quote_amount = Decimal("0") if default_quote_asset == quote_asset: mid_price = get_mid_price(exchange, trading_pair) if mid_price is not None: quote_amount = default_amount / mid_price return round(quote_amount, 4)
def base_amount_ratio(exchange, trading_pair, balances) -> Optional[Decimal]: try: base, quote = trading_pair.split("-") base_amount = balances.get(base, 0) quote_amount = balances.get(quote, 0) price = get_mid_price(exchange, trading_pair) total_value = base_amount + (quote_amount / price) return None if total_value <= 0 else base_amount / total_value except Exception: return None