All of the following rules boil down to a single golden rule:
The liklihood of rule-based curve-fitting is inversely proportional to the number of trades in the system.
Rules-of-thumb for building a trading system's rule base:
The number of rules in a trading system will vary inversely with timeframe, e.g., shorter timeframe systems have more rules than longer timeframe systems.
The number of rules to exit a trade will be approximately equal to the number of rules to enter a trade.
Adaptive rules are more successful in the long run than fixed rules, e.g. a one std dev stop is better than a one point stop.
Simple rules outperform (and outlast) complex rules.
'or' rules are more important than 'and' rules.
Broad rules are better than narrow rules.
And for developers:
A discretionary trader and a mechanical trader will build a better rule base faster than either the mechanical or the discretionary trader alone.