Объясните, пожалуйста, каким образом считаются просадки после тестирования эксперта.
пример результатов тестирования ( ТФ=1М, поэтому качество 25% ):
Баров в истории 8082
Смоделировано тиков 220521
Качество моделирования 25.00%
Ошибки рассогласования графиков 0
Начальный депозит 5000.00
Чистая прибыль -52.64
Общая прибыль 22.32
Общий убыток -74.95
Прибыльность 0.30
Матожидание выигрыша -8.77
Абсолютная просадка 91.14
Максимальная просадка 138.27 (2.74%)
Относительная просадка 2.74% (138.27)
Абсолютная просадка — наибольший убыток ниже значения начального депозита;
Смотрим в список сделок - видим наибольший убыток: 5000 - 4932.77 = 67.23$
Смотрим в отчет тестера - видим наибольший убыток: 91.14$
Аналогично и с максимальной просадкой - нигде нету такого минимума ни баланса, ни эквити.
Что-то туплю, никак не пойму в чем дело... или считают на самом деле по другому или...?
Так просадка считается не по закрытым сделкам, а по падению эквити
ОК. Виктор, спасибо за ответ.
тогда так - вот в статье 'Самостоятельная оценка результатов тестирования эксперта' описывается функция для расчета результатов тестирования.
смотрим текст:
void CalculateSummary(double initial_deposit) { int sequence=0, profitseqs=0, lossseqs=0; double sequential=0.0, prevprofit=EMPTY_VALUE, drawdownpercent, drawdown; double maxpeak=initial_deposit, minpeak=initial_deposit, balance=initial_deposit; int trades_total=HistoryTotal(); //---- initialize summaries InitializeSummaries(initial_deposit); //---- for(int i=0; i<trades_total; i++) { if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue; int type=OrderType(); //---- initial balance not considered if(i==0 && type==OP_BALANCE) continue; //---- calculate profit double profit=OrderProfit()+OrderCommission()+OrderSwap(); balance+=profit; //---- drawdown check if(maxpeak<balance) { drawdown=maxpeak-minpeak; if(maxpeak!=0.0) { drawdownpercent=drawdown/maxpeak*100.0; if(RelDrawdownPercent<drawdownpercent) { RelDrawdownPercent=drawdownpercent; RelDrawdown=drawdown; } } if(MaxDrawdown<drawdown) { MaxDrawdown=drawdown; if(maxpeak!=0.0) MaxDrawdownPercent=MaxDrawdown/maxpeak*100.0; else MaxDrawdownPercent=100.0; } maxpeak=balance; minpeak=balance; } if(minpeak>balance) minpeak=balance; if(MaxLoss>balance) MaxLoss=balance; //---- final drawdown check drawdown=maxpeak-minpeak; if(maxpeak!=0.0) { drawdownpercent=drawdown/maxpeak*100.0; if(RelDrawdownPercent<drawdownpercent) { RelDrawdownPercent=drawdownpercent; RelDrawdown=drawdown; } } if(MaxDrawdown<drawdown) { MaxDrawdown=drawdown; if(maxpeak!=0) MaxDrawdownPercent=MaxDrawdown/maxpeak*100.0; else MaxDrawdownPercent=100.0; } //---- absolute drawdown AbsoluteDrawdown=initial_deposit-MaxLoss; }Видим, что анализируются исключительно закрытые сделки.
В том то и дело. При этом, конечный результат полностью совпадает с тестером ( в статье имеется в виду ). Совпадение ( эквити не опускалась ниже ) или...?
Если закрытие по стоплоссу, то должно совпадать . Без стопов - могут быть варианты. Хотя вариант только один. ЧТо просадка фактическая была больше.
В том то и дело. При этом, конечный результат полностью совпадает с тестером ( в статье имеется в виду ). Совпадение ( эквити не опускалась ниже ) или...?
Посмотрел как менялась эквити в моем примере по всем 6-и сделкам - нет там нигде ни 91, ни 138. Ладно, запишем пока в загадки)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Объясните, пожалуйста, каким образом считаются просадки после тестирования эксперта.
пример результатов тестирования ( ТФ=1М, поэтому качество 25% ):
Баров в истории 8082
Смоделировано тиков 220521
Качество моделирования 25.00%
Ошибки рассогласования графиков 0
Начальный депозит 5000.00
Чистая прибыль -52.64
Общая прибыль 22.32
Общий убыток -74.95
Прибыльность 0.30
Матожидание выигрыша -8.77
Абсолютная просадка 91.14
Максимальная просадка 138.27 (2.74%)
Относительная просадка 2.74% (138.27)
Полный список сделок:
1 2009.07.01 03:05 buy 1 0.10 96.510 0.000 0.000 0.00 5000.00
2 2009.07.01 03:07 modify 1 0.10 96.510 95.581 0.000 0.00 5000.00
3 2009.07.01 03:30 modify 1 0.10 96.510 96.495 0.000 0.00 5000.00
4 2009.07.01 15:16 s/l 1 0.10 96.495 96.495 0.000 -1.56 4998.44
5 2009.07.02 14:20 buy 2 0.10 96.877 0.000 0.000 0.00 4998.44
6 2009.07.02 14:54 close 2 0.10 96.245 0.000 0.000 -65.67 4932.77
7 2009.07.02 14:54 sell 3 0.10 96.245 0.000 0.000 0.00 4932.77
8 2009.07.02 15:08 modify 3 0.10 96.245 96.860 0.000 0.00 4932.77
9 2009.07.02 15:10 modify 3 0.10 96.245 96.248 0.000 0.00 4932.77
10 2009.07.02 19:50 modify 3 0.10 96.245 96.058 0.000 0.00 4932.77
11 2009.07.03 02:10 sell 4 0.10 95.713 0.000 0.000 0.00 4932.77
12 2009.07.03 05:29 s/l 3 0.10 96.058 96.058 0.000 19.37 4952.14
13 2009.07.06 02:02 sell 5 0.10 95.784 0.000 0.000 0.00 4952.14
14 2009.07.06 02:31 modify 4 0.10 95.713 96.105 0.000 0.00 4952.14
15 2009.07.06 02:31 modify 5 0.10 95.784 96.105 0.000 0.00 4952.14
16 2009.07.06 02:36 modify 4 0.10 95.713 95.785 0.000 0.00 4952.14
17 2009.07.06 02:36 modify 5 0.10 95.784 95.785 0.000 0.00 4952.14
18 2009.07.06 02:46 s/l 4 0.10 95.785 95.785 0.000 -7.62 4944.51
19 2009.07.06 02:46 s/l 5 0.10 95.785 95.785 0.000 -0.10 4944.41
20 2009.07.07 18:34 sell 6 0.10 94.806 0.000 0.000 0.00 4944.41
21 2009.07.07 23:59 close at stop 6 0.10 94.778 0.000 0.000 2.95 4947.36
Цитата из справки MT4:
Абсолютная просадка — наибольший убыток ниже значения начального депозита;
Смотрим в список сделок - видим наибольший убыток: 5000 - 4932.77 = 67.23$
Смотрим в отчет тестера - видим наибольший убыток: 91.14$
Аналогично и с максимальной просадкой - нигде нету такого минимума ни баланса, ни эквити.
Что-то туплю, никак не пойму в чем дело... или считают на самом деле по другому или...?