Zorro's default optimizer is the Ascent Optimizer, which only optimizes one parameter at a time in sequence. Zorro also has a Brute force optimizer, which iterates through all possible parameter combinations.

This helps to avoid overfitting. Not to mention: brute force takes much longer to complete.
Quote
For this purpose, trading software often uses Genetic or Brute Force optimizers for finding the highest performance peak in the parameter space. Zorro's default Ascent optimizer works differently, and is normally superior in generating the best parameter set. It does not seek performance peaks, but stable performance plateaus, and places the parameters into their centers. This results in less performance with in-sample backtests, but more performance in out-of-sample tests and in live trading. For special purposes, such as for finding performance peaks or for highly irregular parameter spaces, a conventional Genetic optimizer or a Brute Force optimizer can be activated by setting a TrainMode flag.
https://manual.zorro-project.com/training.htm
https://zorro-project.com/manual/en/opt.htm