Сделал примерно так, как Malinka_K41 описала, по закрытым сделкам:
Код:
double OnTester() {
HistorySelect(0, TimeCurrent()); double s = 0, s2 = 0; int n = 0;
for(int i = 0; i < HistoryDealsTotal(); i++) {
ulong t = HistoryDealGetTicket(i);
if(HistoryDealGetInteger(t, DEAL_ENTRY) != DEAL_ENTRY_OUT) continue;
double p = HistoryDealGetDouble(t, DEAL_PROFIT) + HistoryDealGetDouble(t, DEAL_SWAP);
s += p; s2 += p * p; n++;
}
if(n < 100) return(0);
double m = s / n, sd = MathSqrt(s2 / n - m * m);
return(sd > 0 ? m / sd * MathSqrt(n) : 0);
}
Прогнал генетику на том же диапазоне: в топе теперь проходы со 140-220 сделками и PF 1,3-1,45. Комиссию пока не учёл, она у меня в сделке входа, это доделаю.