This is really cool. It would be really neat to get Walk forward optimization and genetic solver (using optunity) combined into one supported by backtrader.
thinking more about the interface, maybe it makes sense to introduce a new method in cerebro to setup genetic optimization (since it only needs lower/upper boundaries and only works for doubles, maybe something like:)
cerebro.genoptaddstrategy(Strategy, sma1=[3,15], sma2=[5,25])
and then run could be modified to use optinuity (optionally using pmap argument to use multiprocessing).
To support WFO, perhaps a new method could be added as well called walkforward(...).
I'll probably try to code this up as and when I get some time and send in a pull request if I can make it happen and if its ok with you?