code: def execute_order(
      order: "Order",
      base_wallet: "Wallet",
      quote_wallet: "Wallet",
      current_price: float,
      options: "Options",
      clock: "Clock",
  ) -> "Trade":
      """Executes an order on the exchange.
  
      Parameters
      ----------
      order : `Order`
          The order that is being filled.
      base_wallet : `Wallet`
          The wallet of the base instrument.
      quote_wallet : `Wallet`
          The wallet of the quote instrument.
      current_price : float
          The current price of the exchange pair.
      options : `ExchangeOptions`
          The exchange options.
      clock : `Clock`
          The clock for the trading process..
  
      Returns
      -------
      `Trade`
          The executed trade that was made.
      """
      kwargs = {
          "order": order,
          "base_wallet": base_wallet,
          "quote_wallet": quote_wallet,
          "current_price": current_price,
          "options": options,
          "clock": clock,
      }
  
      if order.is_buy:
          trade = execute_buy_order(**kwargs)
      elif order.is_sell:
          trade = execute_sell_order(**kwargs)
      else:
          trade = None
  
      return trade
  
file_path: tensortrade/tensortrade/oms/services/execution/simulated.py
imports: import logging
  from decimal import Decimal
  from tensortrade.core import Clock
  from tensortrade.oms.wallets import Wallet
  from tensortrade.oms.exchanges import ExchangeOptions
  from tensortrade.oms.orders import Order, Trade, TradeType, TradeSide
  from typing import Union
label_desc: Use image node_id 3 for calling a global function with example usage: execute_order(order, base_wallet, quote_wallet, current_price, options, clock) and returns: trade