Алгоритм расчёта просадки, или Самостоятельная оценка результатов тестирования эксперта - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да еще и каждый отчет весит метр семьдесят. Судя по содержимому пользуют какой-то микрософтовский компонент, который как всегда отличается тем, что генерит кучу никому не нужного мусора. А сколько их будет в режиме оптимизации?!!
А сколько их будет в режиме оптимизации?!!
Вопрос в том, что всего один. По окончании работы оптимизатора. А нужно столько, столько тестов прошло в нём. Если 500 тестов, то 500 отчётов. Каждому прогону теста должен соответствовать файл, тест же был, где его результат?
Прошу разработчиков MetaQuotes подключиться к ответу. Думаю, расчёт просадки из кода интересен не только мне одному. Многие оценивают работу экспертов по множеству показателей, просадка и прибыль - основные из них.
А если просто прицепить в deinit() функцию расчета и вывода в файл из скрипта в статье Самостоятельная оценка результатов тестирования эксперта ?
ВнимательнЕе надо ;)
А если еще внимательнее читать, то я давал уже скрипт для расчета просадки по эквити. Тщительнее надо, не по диагонали.
Уважаемый Рашид, снова возвращаюсь к этой теме после тестов.
По результатам темы был собран файл SummaryReport.mq4 из кода первоначального SummaryReport.mq4 С. Старикова и кода темы Скрипт для расчета MAE и MFE.Тесты показали, что чаще всего новый скрипт считает просадку чуть жёстче, чем показатели терминала в закладке Отчёт (что подходит). Однако не всегда, были тесты эксперта на M5 GBPJPY, на которых терминал показал раза в два большую просадку, чем выдал скрипт.
Уже упоминалось, что указанный срикпт SummaryReport.mq4 не считает просадку по эквити, и кроме того, не делает сортировку по времени закрытия. Я показал вариант, как это обойти своим скриптом - скрипт для расчета MAE и MFE - на который уже давал два раза ссылку в этой ветке. Скрещиваешь все необходимые алгоритмы в одну функцию, делаешь в ней вывод значений в файл, и вставляешь ее в deinit().
Не в тему влез, каюсь ;)
Рашид, скажите, пожалуйста, верно ли я использую Ваш скрипт MAE_MFE_DrawDowns.mq4?
1. Все декларации и функции из него я добавил в SummaryReport.mq4.
2. Взамен функции void CalculateSummary(double initial_deposit) из старого SummaryReport.mq4 тот код, которы был в start() из MAE_MFE_DrawDowns.mq4, добавил и сохранил в новую функцию в новый единый SummaryReport.mq4:
Декларации переменных остались из старого SummaryReport.mq4, в них и помещены результаты, вместо заремленных локальных переменных (MoneyDrawDown, MoneyDrawDownInPercent и т.д.)
добавил CalculateSummary2() в новый SummaryReport.mq4. И в эксперте-клиенте вызов в deinit() сделал вызов:
Затем сделал вызов эксперта в тестере. Результаты были сохранены в XML файл и сравнены с показателями эксперта.
Видно, что показания по просадке не сходятся, и в терминале максимальная просадка выше, чем в расчётном XML.
Если же я в эксперте в deinit() возвращаю вызов старой CalculateSummary():
То показатели получаются более правдоподобными, но всё же отличными от терминала, и зачастую сильно разнятся с ним, в этом и вопрос.
Может быть, именно я в сугубо извращённой форме использую Ваш код скрипта MAE_MFE_DrawDowns.mq4 совместно с SummaryReport.mq4 по расчёту просадки и других показателей? Честно, не догоняю, как его эксплуатировать совместно с кодом эксперта.
Помогите, пожалуйста, примером.
положил инклюдник в нужную директорию, а в deinit() просто добавил вызов этой функции в deinit()