Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Недавно закончился сет тестов. С 50 итерациями двойных проходов не было.
Поставил логирование, в основном выходит на итерации 1, реже 0 и 2. Но иногда, редко и неизвестно почему, бывают всплески до 7-8. Я себе оставлю 50, с запасом и негативных эффектов от этого нет.
В файле MTTester.mqh пути к кешу или конфигам получаются через ::TerminalInfoString(TERMINAL_PATH)+
Но лично у меня он установлен (ставил всё по дефолту) в Program Files, а профиль лежит отдельно. Исправил у себя на TERMINAL_DATA_PATH.
Недавно закончился сет тестов. С 50 итерациями двойных проходов не было.
Поставил логирование, в основном выходит на итерации 1, реже 0 и 2. Но иногда, редко и неизвестно почему, бывают всплески до 7-8. Я себе оставлю 50, с запасом и негативных эффектов от этого нет.
На такое не нарывался. Спасибо за информацию, поставлю 50, кушать не просит, но у других будет работать.
В файле MTTester.mqh пути к кешу или конфигам получаются через ::TerminalInfoString(TERMINAL_PATH)+
Но лично у меня он установлен (ставил всё по дефолту) в Program Files, а профиль лежит отдельно. Исправил у себя на TERMINAL_DATA_PATH.
Работаю только в portable, а там TERMINAL_PATH == TERMINAL_DATA_PATH. Спасибо, сделаю рабочим универсальный режим во всех КБ-работах.
Может быть полезно получить не только GetLastOptCache (и соответственно GetLastOptCacheFileName) в принципе вообще последнюю. А ещё и последнюю по конкретному символу. Себе дописал, но вдруг и в общей версии пригодится.
При написании ориентируюсь на сценарии использования, которые у самого проскакивают. Вариант с последним кешем по символу не рассматривал, т.к. до сих пор не вижу, где это может быть полезно.
Возможно, это полезно для сравнения многих символов между собой. Полезный сценарий еще не придумал.
Если есть свои реализации или сценарии использования - выкладывайте. Так еще конструктивнее.
На данный момент я просто на этапе допиливания и обкатывания инструментов. Поэтому сначала прогнал оптимизацию на 90 символах. А потом решил не руками, а автоматом отпарсить результаты и вытряхнуть интересные символы из всей кучи, чтобы их руками уже повертеть. И с базовым функционалом обломался, тут и понадобилась фильтрация по символу.
Исправления были минимальные и совместимые, добавил опциональный параметр const string SymbName = NULL, прокинул его через пару функций и чуть подправил GetLastOptCacheFileName
на
return(MTTESTER::GetFreshFileName(::TerminalInfoString(TERMINAL_DATA_PATH)+"\\Tester\\cache\\",SymbName != NULL ? "*."+SymbName+".*.opt" : "*.opt"));
На данный момент я просто на этапе допиливания и обкатывания инструментов. Поэтому сначала прогнал оптимизацию на 90 символах. А потом решил не руками, а автоматом отпарсить результаты и вытряхнуть интересные символы из всей кучи, чтобы их руками уже повертеть. И с базовым функционалом обломался, тут и понадобилась фильтрация по символу.
Понял. Тогда логично добавить еще и название советника.
Исправления были минимальные и совместимые, добавил опциональный параметр const string SymbName = NULL, прокинул его через пару функций и чуть подправил GetLastOptCacheFileName
на
return(MTTESTER::GetFreshFileName(::TerminalInfoString(TERMINAL_DATA_PATH)+"\\Tester\\cache\\",SymbName != NULL ? "*."+SymbName+".*.opt" : "*.opt"));
Подправлю генерацию маски, Спасибо.
Что-то случилось...
А .opt файлов только 3...
Это как так?
Запустил вручную оптимизацию одного из "потерянных" символов. Всё нормально....
Что-то случилось...
К сожалению, не всегда, когда нахожу баги или пути улучшения в своих решениях, обновляю их в КБ. Скорее всего, здесь этот случай.
К сожалению, не всегда, когда нахожу баги или пути улучшения в своих решениях, обновляю их в КБ. Скорее всего, здесь этот случай.
Так я после адаптации под 2190 и не обновлял ничего.
Спишем это на глюк системы. По крайней мере до повторного появления. )))
Так я после адаптации под 2190 и не обновлял ничего.
У себя значительно обновлял, потому что находил и устранял подводные камни. А так же дорабатывал до других типов задач.