Еще один совет по поводу к-ва оптимизируемых значений, во всяком случае я так делаю (критика приветствуется).
Берете весь временной период, на котором предполагаете работать, тупо разбиваете его на участки с приблизительно равным количеством сделок, последовательно продвигаясь оптимизируете каждый участок ( не увлекаясь особо, 1-2 прохода), сохраняете полученные параметры по каждому участку.
Далее выписываете рядышком все полученные параметры и переводите в константы те, которые не особо меняются и уж потом с полученными (оставшимися) параметрами работаете по Пардо.
Было 20 - оставляйте 10... ну вообще-то конечно все нужно делать с учетом логики вашего скрипта, веса параметров и пр.
Единого рецепта имхо не бывает..