Алгоритм расчёта просадки, или Самостоятельная оценка результатов тестирования эксперта - страница 3
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А вот что показал тестер на Every Ticks
Дальнейшее уточнение алгоритма пока не входит в мои планы, мне кжается, что достигнутая точность удовлетворительна (на мой взгляд). Но до идеала при желании довести можно.
А почему стоит код проверки?
Мне не нужно было считать при оптимизации. Я вставил строку в это блок, который уже был, и выбросил из него все остальное, когда писал сообщение на форуме. Можно и без проверки на оптимизацию.
А вот мне понадобилось считать просадку при оптимизации.
Подставил в deinit CalculateSummary.mq4, все работает, но просадка:
прибыль сд. просадка
1 53869 953 17213
2 49978 1345 9089
3 48101 1449 9089
4 47497 921 11612
5 44367 249 12917
6 37721 481 16634
7 33246 919 14631
8 33236 421 19448
9 32260 1265 17782
10 30766 267 11438
значительно отличается от рассчитанной тестером:
Подставил MAE_MFE_DrawDowns.mqh, значения просадок (брал MoneyDrawDown) те же, что
и в первой текстовой таблице. Но расчет очень замедляется (в код особо не вникал, запись
в файл отключал). Может алгоритмы со времени написания темы изменились? Тогда где взять
свежие?
Kind Regards!
Может алгоритмы со времени написания темы изменились? Тогда где взять
свежие?
Алгоритмы не изменились
Алгоритмы не изменились
Почему же у меня расхождения?
Подставлял MaxDrawdown, AbsoluteDrawdown, RelDrawdown (из SummaryReport.mq4) - не помогает.
Так какая переменная дает ту просадку, которая отражается в тестере при оптимизации?
Почему же у меня расхождения?
Просадку надо считать по Equity.
А для этого надо проводить нужные расчеты не один раз в конце работы (в deinit()-е), а на каждом тике (в start()-е).
Но работа замедляется, в принципе, не сильно.
Просадку надо считать по Equity.
А для этого надо не один раз в deinit()-е, а на каждом тике (в start()-е) проводить нужные расчеты.
Но работа замедляется, в принципе, не сильно.
Нормальный эксперт должен иметь встроенную функцию контроля просадки по эквити.... В экстренном случаи принимаются экстренные меры... :)
Нормальный эксперт должен иметь встроенную функцию контроля просадки по эквити.... В экстренном случаи принимаются экстренные меры... :)
Точно! (вприпрыжку побежал набрасывать код контроля просадки...)
Причём, код по разному должен работать в тестере и в реале. В тестере нужно пользоваться... (вот опять наступаем на грабли непродуманной терминологии) глобальными переменными модуля, а в реале - глобальными переменными терминала.