Zero Arguments Wins The Discussion!
The optimal number of method arguments is to aim at zero. The method should have a name which makes it obvious what it intended to do. Additionally, it should also be within a class which only worked with the fields that had a clear logical link to the class. Thereby it would not be necessary to for example pass a model-object around as a method arguments, if it is obvious to all that the updateModel(), actually does what it says.
Of course, scenarios occur where methods will have arguments. However, keeping the number of arguments low is still incredibly important. One argument is okay because the developer is capable of providing a meaningful name to the method which explains what this argument is used for. E.g. setName(name) or getShapesDiameter(triangle).
This sets the golden rule, if it is not possible to determine what the arguments of a method call are used for, then there is something wrong. Either the naming is off or there are too many arguments with no obvious link to the method’s intention. Increasing the number of arguments can therefore only be defended if there is a clear link.