class_docstr: This is the base class for *Sizers*. Any *sizer* should subclass this
  and override the ``_getsizing`` method
  
  Member Attribs:
  
    - ``strategy``: will be set by the strategy in which the sizer is working
  
      Gives access to the entire api of the strategy, for example if the
      actual data position would be needed in ``_getsizing``::
  
         position = self.strategy.getposition(data)
  
    - ``broker``: will be set by the strategy in which the sizer is working
  
      Gives access to information some complex sizers may need like portfolio
      value, ..
docstr: This method has to be overriden by subclasses of Sizer to provide
  the sizing functionality
  
  Params:
    - ``comminfo``: The CommissionInfo instance that contains
      information about the commission for the data and allows
      calculation of position value, operation cost, commision for the
      operation
  
    - ``cash``: current available cash in the *broker*
  
    - ``data``: target of the operation
  
    - ``isbuy``: will be ``True`` for *buy* operations and ``False``
      for *sell* operations
  
  The method has to return the actual size (an int) to be executed. If
  ``0`` is returned nothing will be executed.
  
  The absolute value of the returned value will be used
docstr_tok: ["This","method","has","to","be","overriden","by","subclasses","of","Sizer","to","provide","the","sizing","functionality","Params",":","-","``","comminfo","``",":","The","CommissionInfo","instance","that","contains","information","about","the","commission","for","the","data","and","allows","calculation","of","position","value",",","operation","cost",",","commision","for","the","operation","-","``","cash","``",":","current","available","cash","in","the","*","broker","*","-","``","data","``",":","target","of","the","operation","-","``","isbuy","``",":","will","be","``","True","``","for","*","buy","*","operations","and","``","False","``","for","*","sell","*","operations","The","method","has","to","return","the","actual","size","(","an","int",")","to","be","executed",".","If","``","0","``","is","returned","nothing","will","be","executed",".","The","absolute","value","of","the","returned","value","will","be","used"]
code: def _getsizing(self, comminfo, cash, data, isbuy):
      """This method has to be overriden by subclasses of Sizer to provide
      the sizing functionality
  
      Params:
        - ``comminfo``: The CommissionInfo instance that contains
          information about the commission for the data and allows
          calculation of position value, operation cost, commision for the
          operation
  
        - ``cash``: current available cash in the *broker*
  
        - ``data``: target of the operation
  
        - ``isbuy``: will be ``True`` for *buy* operations and ``False``
          for *sell* operations
  
      The method has to return the actual size (an int) to be executed. If
      ``0`` is returned nothing will be executed.
  
      The absolute value of the returned value will be used
  
      """
      raise NotImplementedError
  
file_path: backtrader/backtrader/sizer.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  from .utils.py3 import with_metaclass
  from .metabase import MetaParams
label_desc: Use image node_id 2 for calling the Sizer obj's underlying member method code with example usage: obj._getsizing(comminfo, cash, data, isbuy) without return types