I can understand how generation zero would not be tested yet on the cross-check markets, maybe it was done on purpose so the init pop didn't take a long time to fill. However, in later generations, there are strategies that skip the crosschecks but are ranked with high fitness. My screenshot shows one newly created gen 5 strategy un-crosschecked, and it also shows a few still alive from generation 0 that were never crosschecked and should be by now. Presumably, they are competing with other legitimate strategies (which have been tested correctly on other markets) causing inefficiencies.
EDIT: Working around these rogue un-crosschecked strategies with a complex fitness custom column combo, I can get 2.5x the strategies passing the filters so obviously this is definitely an enormous inefficiency for building with a crosscheck-based fitness. You can tell the cross-check was skipped because the portfolio # of trades is the same as the main data # of trades. I took this strategy into retester and it does trade on other markets just fine but for some reason during building, the crosschecks for this strategy were skipped so it looks like a bug.
To reproduce:
1. load the build config and start building
2. Open the "last generation" tab and choose a view that shows number of trades for main data and also for portfolio.
3. Sort the "last generation" databank by number of trades for portfolio.
4. look for strategies other than generation zero strategies (
x.0.xxx is a zero generation, look for
x.2.xxx or x.3.xx or
x.4.xxx you get the idea...) that have the same number of trades in the portfolio data as it does in the main data. With my sample build config, there will be approximately one or two each generation after generation 3 begins. Also, look for 0 generation strategies that are still alive in later generations yet have not been cross-market checked.
**NOTE**You may have to use the native builder to reproduce this as within a custom build task fitness function is hit or miss because of the fitness bug