Годится, я так считал похожее. В этом режиме история не грузится вообще, тестер просто вызывает OnInit, OnTester и OnDeinit на каждом проходе. Делаешь входной параметр-зерно от 1 до 10000 и полный перебор по нему, а внутри OnTester читаешь свои сделки из файла (через tester_file), перемешиваешь с этим зерном и возвращаешь статистику. Если нужно вернуть не одно число, а массив, есть фреймы:
Код:
double OnTester()
{
MathSrand(InpSeed);
double res[3];
Shuffle(pnl); // своя перестановка массива сделок
res[0] = MaxDrawdown(pnl); res[1] = LongestLoss(pnl); res[2] = InpSeed;
FrameAdd("perm", 0, res[0], res);
return(res[0]);
}
А в терминале в OnTesterPass собираешь их через FrameNext и пишешь в файл. Агенты работают на всех ядрах, у меня 10 тысяч проходов уходили минут за пять. Минус один: отлаживать неудобно, ошибки внутри агента видно только в его журнале.