We evaluate an agent-based model featuring near-zero-intelligence traders operating in a call market with a wide range of trading rules governing the determination of prices and which orders are executed, as well as a range of parameters regarding market intervention by market makers and the presence of informed traders. We optimize these trading rules using a multi-objective population-based incremental learning algorithm seeking to maximize the trading volume and minimize the bid–ask spread. Our results suggest that markets should choose a small tick size if concerns about the bid–ask spread are dominating and a large tick size if maximizing trading volume is the main aim. We also find that unless concerns about trading volume dominate, time priority is the optimal priority rule. Copyright © 2011 John Wiley & Sons, Ltd.