class_docstr: A discrete action scheme that determines actions based on a list of
  trading pairs, order criteria, and trade sizes.
  
  Parameters
  ----------
  criteria : List[OrderCriteria]
      A list of order criteria to select from when submitting an order.
      (e.g. MarketOrder, LimitOrder w/ price, StopLoss, etc.)
  trade_sizes : List[float]
      A list of trade sizes to select from when submitting an order.
      (e.g. '[1, 1/3]' = 100% or 33% of balance is tradable.
      '4' = 25%, 50%, 75%, or 100% of balance is tradable.)
  durations : List[int]
      A list of durations to select from when submitting an order.
  trade_type : TradeType
      A type of trade to make.
  order_listener : OrderListener
      A callback class to use for listening to steps of the order process.
  min_order_pct : float
      The minimum value when placing an order, calculated in percent over net_worth.
  min_order_abs : float
      The minimum value when placing an order, calculated in absolute order value.
class_docstr_tok: ["A","discrete","action","scheme","that","determines","actions","based","on","a","list","of","trading","pairs",",","order","criteria",",","and","trade","sizes",".","Parameters","--","--","--","--","--","criteria",":","List","[","OrderCriteria","]","A","list","of","order","criteria","to","select","from","when","submitting","an","order",".","(","e.g",".","MarketOrder",",","LimitOrder","w\/","price",",","StopLoss",",","etc",".",")","trade_sizes",":","List","[","float","]","A","list","of","trade","sizes","to","select","from","when","submitting","an","order",".","(","e.g",".","'","[","1",",","1\/3","]","'","=","100","%","or","33","%","of","balance","is","tradable",".","'","4","'","=","25","%",",","50","%",",","75","%",",","or","100","%","of","balance","is","tradable",".",")","durations",":","List","[","int","]","A","list","of","durations","to","select","from","when","submitting","an","order",".","trade_type",":","TradeType","A","type","of","trade","to","make",".","order_listener",":","OrderListener","A","callback","class","to","use","for","listening","to","steps","of","the","order","process",".","min_order_pct",":","float","The","minimum","value","when","placing","an","order",",","calculated","in","percent","over","net_worth",".","min_order_abs",":","float","The","minimum","value","when","placing","an","order",",","calculated","in","absolute","order","value","."]
code: def __init__(
      self,
      criteria: "Union[List[OrderCriteria], OrderCriteria]" = None,
      trade_sizes: "Union[List[float], int]" = 10,
      durations: "Union[List[int], int]" = None,
      trade_type: "TradeType" = TradeType.MARKET,
      order_listener: "OrderListener" = None,
      min_order_pct: float = 0.02,
      min_order_abs: float = 0.00,
  ) -> None:
      super().__init__()
      self.min_order_pct = min_order_pct
      self.min_order_abs = min_order_abs
      criteria = self.default("criteria", criteria)
      self.criteria = (
          criteria if isinstance(criteria, list) else [criteria]
      )
  
      trade_sizes = self.default("trade_sizes", trade_sizes)
      if isinstance(trade_sizes, list):
          self.trade_sizes = trade_sizes
      else:
          self.trade_sizes = [
              (x + 1) / trade_sizes for x in range(trade_sizes)
          ]
  
      durations = self.default("durations", durations)
      self.durations = (
          durations if isinstance(durations, list) else [durations]
      )
  
      self._trade_type = self.default("trade_type", trade_type)
      self._order_listener = self.default(
          "order_listener", order_listener
      )
  
      self._action_space = None
      self.actions = None
  
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 1 to create a new SimpleOrders object from inherited base classes: TensorTradeActionScheme with example: obj = SimpleOrders(criteria, trade_sizes, durations, trade_type, order_listener, min_order_pct, min_order_abs)