code: def order(order_book_id, quantity, price=None, style=None):
      
      style = cal_style(price, style)
      orders = Environment.get_instance().portfolio.order(order_book_id, quantity, style)
  
      if isinstance(orders, Order):
          return [orders]
      return orders
docs: 全品种通用智能调仓函数
  
      如果不指定 price, 则相当于下 MarketOrder
  
      如果 order_book_id 是股票，等同于调用 order_shares
  
      如果 order_book_id 是期货，则进行智能下单:
  
          *   quantity 表示调仓量
          *   如果 quantity 为正数，则先平 Sell 方向仓位，再开 Buy 方向仓位
          *   如果 quantity 为负数，则先平 Buy 反向仓位，再开 Sell 方向仓位
  
      :param order_book_id: 下单标的物
      :type order_book_id: :class:`~Instrument` object | `str`
  
      :param int quantity: 调仓量
  
      :param float price: 下单价格
  
      :param style: 下单类型, 默认是市价单。目前支持的订单类型有 :class:`~LimitOrder` 和 :class:`~MarketOrder`
      :type style: `OrderStyle` object
  
      :return: list[:class:`~Order`]
  
      :example:
  
      ..  code-block:: python3
          :linenos:
  
          # 当前仓位为0
          # RB1710 多方向调仓2手：调整后变为 BUY 2手
          order('RB1710'， 2)
  
          # RB1710 空方向调仓3手：先平多方向2手 在开空方向1手，调整后变为 SELL 1手
          order('RB1710', -3)