What is the best way of parameter optimization?

I am trying to optimize my algorithm. But after optimizing, I ended up with worse outcome than randomly selecting some parameters.
So, I thought that I should have done something wrong in selecting the optimal value from the results of cerebro.run() but then I checked the values and the code is working exactly the way I want it to.
I am trying to optimize based on return/Drawdown ratio and select the parameters which have the highest value of this ratio among all the optimization runs. But when I checked I found that it was a global maxima =11.0 and around it were values like 1.1, 0.2, 1.4, 6.5(this was just before 11.0) and mostly values around 1. So, I am thinking that this is not actual the optimal value; just a fluke of numbers.
So, my question is, how do I find optimal values among these hundreds of ratios?