Да, действительно, 4 года назад поднимал, спасибо за напоминание, освежил в памяти, но это немного не то. Во всяком случае, работы с графикой в этом советнике нет.
Тем не менее, я последовал Вашему совету и установил фиксированный спред 30 пунктов и во время оптимизации и во время тестирования. К сожалению, это не помогло снять проблему. Результаты тестирования по-прежнему не совпадают с результатами оптимизации на одном и том же наборе входных параметров по всем показателям (прибыль, кол-во сделок, просадка и др.)
Вынужден еще раз приложить файлы журнала, результаты оптимизации, результаты тестирования и set-файл. Прошу прокомментировать эту ситуацию.
myzrov: Да, действительно, 4 года назад поднимал, спасибо за напоминание, освежил в памяти, но это немного не то. Во всяком случае, работы с графикой в этом советнике нет.
Да, читал, но ответа не нашел.
Тем не менее, я последовал Вашему совету и установил фиксированный спред 30 пунктов и во время оптимизации и во время тестирования. К сожалению, это не помогло снять проблему. Результаты тестирования по-прежнему не совпадают с результатами оптимизации на одном и том же наборе входных параметров по всем показателям (прибыль, кол-во сделок, просадка и др.)
Вынужден еще раз приложить файлы журнала, результаты оптимизации, результаты тестирования и set-файл. Прошу прокомментировать эту ситуацию.
Проводите тестирование и оптимизацию всегда на открытии баров на М1, соответственно, применяя iOpen() вместо Open[], тогда будет совпадение! Не совпадает, потому что на старших ТФ в МТ4 бары в тестере не моделируются строго на основе М1, как в МТ5!
borilunad: Проводите тестирование и оптимизацию всегда на открытии баров на М1, соответственно, применяя iOpen() вместо Open[], тогда будет совпадение! Не совпадает, потому что на старших ТФ в МТ4 бары в тестере не моделируются строго на основе М1, как в МТ5!
А почему Вы рекомендуете использовать ТФ=M1, когда оптимизация и тестирование проводились на D1 и использовалась модель "По ценам открытия"? И советник в свою очередь использует явный контроль открытия баров и ему не требуется никакое моделирование на основе M1.
vm55: А почему Вы рекомендуете использовать ТФ=M1, когда оптимизация и тестирование проводились на D1 и использовалась модель "По ценам открытия"? И советник в свою очередь использует явный контроль открытия баров и ему не требуется никакое моделирование на основе M1.
На D1 на открытии баров получите только тестерный грааль, т.к. High и Low меньших ТФ не моделируются, и будет всё в ажуре! Тогда тестируйте на D1, но на всех тиках! Но будет гораздо дольше!
stringo: Лучше исходный. В крайнем случае и исполняемый подойдёт - но тут разбираловка будет по вторичным половым признакам, то есть, косвенная
Похоже, проблему вчера удалось локализовать самостоятельно. Говорю пока об этом с определенной долей неуверенности, потому что расхождения между оптимизатором и тестером хоть и исчезли, но не факт, что они не появятся снова...
Виной всему оказались перечисления! В советнике объявлено довольно много разных перечислений. Не буду объяснять как и почему я на них вышел - сам не знаю, но факт остается фактом. Если в оптимизации участвуют данные перечислимого типа enumс явно присвоенными конкретными значениями, то где-то здесь и возникает ошибка в оптимизаторе. Происходит путаница между порядковым номером перечисления из списка значений (где нумерация начинается с 0) и конкретным значением, явно присвоенным идентификатору именованной константе.
Поясню на конкретном примере. Одно из перечислений в советнике было объявлено так
Расхождения между результатами тестирования и оптимизации исчезли после того в объявлении перечисления я убрал явное задание значений именованным константам
Еще раз повторю, что пока у меня нет 100% уверенности, что причина расхождения найдена, однако идет 2-ой день тестирования и оптимизации - полет нормальный! К тому же не может не радовать и то обстоятельство, что до передачи советника дело не дошло... :)
Интересно, чем закончилась проверка? Подтвердилась или нет гипотеза о расхождении результатов оптимизации и тестирования, если среди входных параметрах встречаются параметры перечислимого типа enumс явно присвоенными значениями?
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Во всяком случае, работы с графикой в этом советнике нет.
Вы читали статью "Особенности и ограничения тестирования торговых стратегий в 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 с явно присвоенными значениями?