ТЕСТЕР СТРАТЕГИЙ. Расхождение результатов тестирования и оптимизации при одних и тех же входных параметрах. - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Во всяком случае, работы с графикой в этом советнике нет.
Вы читали статью "Особенности и ограничения тестирования торговых стратегий в MetaTrader4"?
Тем не менее, я последовал Вашему совету и установил фиксированный спред 30 пунктов и во время оптимизации и во время тестирования. К сожалению, это не помогло снять проблему. Результаты тестирования по-прежнему не совпадают с результатами оптимизации на одном и том же наборе входных параметров по всем показателям (прибыль, кол-во сделок, просадка и др.)
Вынужден еще раз приложить файлы журнала, результаты оптимизации, результаты тестирования и set-файл.
Прошу прокомментировать эту ситуацию.
Да, действительно, 4 года назад поднимал, спасибо за напоминание, освежил в памяти, но это немного не то.
Во всяком случае, работы с графикой в этом советнике нет.
Да, читал, но ответа не нашел.
Тем не менее, я последовал Вашему совету и установил фиксированный спред 30 пунктов и во время оптимизации и во время тестирования. К сожалению, это не помогло снять проблему. Результаты тестирования по-прежнему не совпадают с результатами оптимизации на одном и том же наборе входных параметров по всем показателям (прибыль, кол-во сделок, просадка и др.)
Вынужден еще раз приложить файлы журнала, результаты оптимизации, результаты тестирования и set-файл.
Прошу прокомментировать эту ситуацию.
Проводите тестирование и оптимизацию всегда на открытии баров на М1, соответственно, применяя iOpen() вместо Open[], тогда будет совпадение!
Не совпадает, потому что на старших ТФ в МТ4 бары в тестере не моделируются строго на основе М1, как в МТ5!
И советник в свою очередь использует явный контроль открытия баров и ему не требуется никакое моделирование на основе M1.
А почему Вы рекомендуете использовать ТФ=M1, когда оптимизация и тестирование проводились на D1 и использовалась модель "По ценам открытия"?
И советник в свою очередь использует явный контроль открытия баров и ему не требуется никакое моделирование на основе M1.
Вынужден еще раз приложить файлы журнала, результаты оптимизации, результаты тестирования и set-файл.
Прошу прокомментировать эту ситуацию.
Требуется исходный код или исполняемый?
Лучше исходный.
В крайнем случае и исполняемый подойдёт - но тут разбираловка будет по вторичным половым признакам, то есть, косвенная
Похоже, проблему вчера удалось локализовать самостоятельно. Говорю пока об этом с определенной долей неуверенности, потому что расхождения между оптимизатором и тестером хоть и исчезли, но не факт, что они не появятся снова...
Виной всему оказались перечисления! В советнике объявлено довольно много разных перечислений. Не буду объяснять как и почему я на них вышел - сам не знаю, но факт остается фактом. Если в оптимизации участвуют данные перечислимого типа enum с явно присвоенными конкретными значениями, то где-то здесь и возникает ошибка в оптимизаторе. Происходит путаница между порядковым номером перечисления из списка значений (где нумерация начинается с 0) и конкретным значением, явно присвоенным идентификатору именованной константе.
Поясню на конкретном примере. Одно из перечислений в советнике было объявлено так
//+--------------------------------------------------------------------------------+
//| Перечисления паттернов (свечных моделей)
//+--------------------------------------------------------------------------------+
enum ENUM_PATTERN {
PATTERN_HARAMI=1, // [1] «ХАРАМИ»
PATTERN_ENGULF=2, // [2] «ПОГЛОЩЕНИЕ»
PATTERN_DOJI=3, // [3] «DOJI-bar»
PATTERN_PIN=4 // [4] «PIN-bar»
};
Соответственно среди входных параметров есть подлежащая оптимизации переменная PATTERN типа ENUM_PATTERN.
input ENUM_PATTERN PATTERN= PATTERN_HARAMI; // Паттерн (свечная модель)
Расхождения между результатами тестирования и оптимизации исчезли после того в объявлении перечисления я убрал явное задание значений именованным константам
//+--------------------------------------------------------------------------------+
//| Перечисления паттернов (свечных моделей)
//+--------------------------------------------------------------------------------+
enum ENUM_PATTERN {
PATTERN_HARAMI, // [1] «ХАРАМИ»
PATTERN_ENGULF, // [2] «ПОГЛОЩЕНИЕ»
PATTERN_DOJI, // [3] «DOJI-bar»
PATTERN_PIN // [4] «PIN-bar»
};
Еще раз повторю, что пока у меня нет 100% уверенности, что причина расхождения найдена, однако идет 2-ой день тестирования и оптимизации - полет нормальный! К тому же не может не радовать и то обстоятельство, что до передачи советника дело не дошло... :)
Очень интересное наблюдение.
Проверим. Спасибо.
Интересно, чем закончилась проверка? Подтвердилась или нет гипотеза о расхождении результатов оптимизации и тестирования, если среди входных параметрах встречаются параметры перечислимого типа enum с явно присвоенными значениями?