Hello Dan et al.,
The topic of parameter optimisation comes up regularly and I sometimes suggest zipline as a potential solution. But could something be done relatively easily with just a few modifictions to the existing GUI?
Imagine a simple dual MA crossover algo that goes long when MA(50) crosses MA(200) from below and goes short when MA(50) crosses MA(200) from above. Two optimisation parameters are Fast_MA period and Slow_MA period. Add in a Stop Loss that is a % of the filled price above/below a short/long order i.e. a third Stop_Loss percentage parameter.
The backtest options become 'Run Full Backtest' or 'Run Optimisation'. Selecting 'Run Optimisation' allows a finite number optimisation parameters to be given a Start, Finish and Step parameter i.e.
Start Finish Step
Fast_MA 40 60 10
Slow_MA 100 300 20
Stop_Loss 3 15 3
This is what Metatrader does now, more or less.
The algo is then run 165 times and the results are tabulated.
I think this would be easy to implement but, obviously, computationally expensive. But this is where you can start to charge users per unit of 'compute time' per month after a (generous) free allocation per month. Unused monthly units in the free tier to be carried forward. That last one would REALLY differentiate you. And it's a very quick way to get a revenue stream even if it only pays for the coffee machine initially!
P.