Walk-forward analysis
Repeatedly optimizing rules on one window of history and testing them on the next, unseen window, then joining all the test windows.
Repeatedly optimizing rules on one window of history and testing them on the next, unseen window, then joining all the test windows.