I have used ML to create indicators for performing trades in financial data. Currently I use custom logic (plenty of if conditions) for backtesting. However there must be a better approach.
Backtesting requires various parameters - how much to buy when the indicator is strong (and when it isn't), how much to sell, what percentage of portfolio to allocate in a single trade, stop loss (if any) and more. I believe they can be optimized by determining what is important (sharpe ratio or return or sortino or volatility or whatever)
I don't think normal minimization will work as this is not a convex function. But heuristic search algorithms like Evolutionary algorithm, Monte Carlo algorithm should work. However i can't find anything about this in google (if anyone has tried this before and what the results were). What defect or strength can such an approach have?