cerebro.broker.setcommission(leverage=50, stocklike=False, commission=comm, mult=100)
AFAIU setcommision method just creates a generic CommInfoBase object using passed parameters to this method.
It means the commission parameter is expected to be (quoting from CommInfoBase docs):``commission`` (def: ``0.0``): base commission value in percentage or monetary units
In your case, using cerebro.addcommissioninfo method is probably more appropriate. It allows passing a custom CommInfoBase inherited commission object.