class_docstr: A simple discrete action scheme where the only options are to buy, sell,
  or hold.
  
  Parameters
  ----------
  cash : `Wallet`
      The wallet to hold funds in the base intrument.
  asset : `Wallet`
      The wallet to hold funds in the quote instrument.
class_docstr_tok: ["A","simple","discrete","action","scheme","where","the","only","options","are","to","buy",",","sell",",","or","hold",".","Parameters","--","--","--","--","--","cash",":","`","Wallet","`","The","wallet","to","hold","funds","in","the","base","intrument",".","asset",":","`","Wallet","`","The","wallet","to","hold","funds","in","the","quote","instrument","."]
code: def get_orders(self, action: int, portfolio: "Portfolio") -> "Order":
      order = None
  
      if abs(action - self.action) > 0:
          src = self.cash if self.action == 0 else self.asset
          tgt = self.asset if self.action == 0 else self.cash
  
          if (
              src.balance == 0
          ):  # We need to check, regardless of the proposed order, if we have balance in 'src'
              return []  # Otherwise just return an empty order list
  
          order = proportion_order(portfolio, src, tgt, 1.0)
          self.action = action
  
      for listener in self.listeners:
          listener.on_action(action)
  
      return [order]
  
imports: import logging
  from abc import abstractmethod
  from itertools import product
  from typing import Union, List, Any
  from gym.spaces import Space, Discrete
  from tensortrade.core import Clock
  from tensortrade.env.generic import ActionScheme, TradingEnv
  from tensortrade.oms.instruments import ExchangePair
  from tensortrade.oms.orders import Broker, Order, OrderListener, OrderSpec, proportion_order, risk_managed_order, TradeSide, TradeType
  from tensortrade.oms.wallets import Portfolio
label_desc: Use image node_id 4 for calling the BSH obj's underlying member method code with example usage: obj.get_orders(action, portfolio) and returns: list, list