'Set a limit on the number of shares and/or dollar value of any single
order placed for sid.  Limits are treated as absolute values and are
enforced at the time that the algo attempts to place an order for sid.
If an algorithm attempts to place an order that would result in
exceeding one of these limits, raise a TradingControlException.
Parameters
asset : Asset, optional
If provided, this sets the guard only on positions in the given
asset.
max_shares : int, optional
The maximum number of shares that can be ordered at one time.
max_notional : float, optional
The maximum value that can be ordered at one time.'

@api_method
def set_max_order_size(self, asset=None, max_shares=None, max_notional=None, on_error='fail'):

    control = MaxOrderSize(asset=asset, max_shares=max_shares, max_notional=max_notional, on_error=on_error)
    self.register_trading_control(control)
