docstr: Place an order on the exchange.
  
  Parameters
  ----------
  asset: TradingPair
      The target market.
  
  amount: float
      The amount of shares to order. If ``amount`` is positive, this is
      the number of shares to buy or cover. If ``amount`` is negative,
      this is the number of shares to sell or short.
  
  is_buy: bool
      Is it a buy order?
  
  style: ExecutionStyle
  
  Returns
  -------
  Order
docstr_tok: ["Place","an","order","on","the","exchange",".","Parameters","--","--","--","--","--","asset",":","TradingPair","The","target","market",".","amount",":","float","The","amount","of","shares","to","order",".","If","``","amount","``","is","positive",",","this","is","the","number","of","shares","to","buy","or","cover",".","If","``","amount","``","is","negative",",","this","is","the","number","of","shares","to","sell","or","short",".","is_buy",":","bool","Is","it","a","buy","order","?","style",":","ExecutionStyle","Returns","--","--","--","-","Order"]
code: def create_order(self, asset, amount, is_buy, style):
      """
      Place an order on the exchange.
  
      Parameters
      ----------
      asset: TradingPair
          The target market.
  
      amount: float
          The amount of shares to order. If ``amount`` is positive, this is
          the number of shares to buy or cover. If ``amount`` is negative,
          this is the number of shares to sell or short.
  
      is_buy: bool
          Is it a buy order?
  
      style: ExecutionStyle
  
      Returns
      -------
      Order
  
      """
      pass
  
imports: import abc
  from abc import ABCMeta, abstractmethod, abstractproperty
  from datetime import timedelta
  from time import sleep
  import numpy
  import pandas
  from catalyst.constants import LOG_LEVEL
  from catalyst.data.data_portal import BASE_FIELDS
  from catalyst.exchange.exchange_bundle import ExchangeBundle
  from catalyst.exchange.exchange_errors import MismatchingQuoteCurrencies, SymbolNotFoundOnExchange, PricingDataNotLoadedError, NoDataAvailableOnExchange, NoValueForField, NoCandlesReceivedFromExchange, TickerNotFoundError, NotEnoughCashError
  from catalyst.exchange.utils.datetime_utils import get_delta, get_periods_range, get_periods, get_start_dt, get_frequency, get_candles_number_from_minutes
  from catalyst.exchange.utils.exchange_utils import get_exchange_symbols, resample_history_df, has_bundle, get_candles_df
  from logbook import Logger
label_desc: Use image node_id 23 for calling the Exchange obj's underlying member method code with example usage: obj.create_order(asset, amount, is_buy, style) without return types