MetaTrader 5 Strategy Tester! - страница 10

 

HistoryDealsTotal() и HistoryOrdersTotal() - всегда возвращают ноль.

После срабатывания тейк профита PositionGetDouble(POSITION_VOLUME) не изменяется.

И можно сделать, чтобы вызов функции SymbolName не провоцировал закачку истории и синхронизацию?

В функции  инициализации производится перебор всех символов.Это нужно чтобы сравнить их с выбранными символами и выяснить  индекс символа. Работа в дальнейшем будет именно с индексом символа, поэтому синхронизация к примеру акций или фьючерсов, количество которых доходит до сотен, вообще очень сильно усложняет жизнь.

И еще, желательно сделать нумерацию символов (функция SymbolName) в тестере такой же как и в реальности. А иначе выбор символов при помощи заранее известной позиции в списке символов не возможен без перебора всех символов.



 

Приключения с быстрой оптимизацией продолжаются. (Начало - https://www.mql5.com/ru/forum/852/page10/#comment_7152).

Вторая попытка быстрой оптимизации закончилась также непредсказуемо. Теперь пройдено всего 511 из 10496 заявленных проходов. Но на графике отражены только 511 пройденных проходов, запись об остановке удалённых агентов появилась через 20 мин, запись об остановке локальных агентов появится, вероятно, ещё позже.

Вопросы остались те же; можно добавить ещё один: "что происходит и как это понимать"? 

 Вторая попытка быстрой оптимизации

MetaTrader 5 Strategy Tester!
MetaTrader 5 Strategy Tester!
  • www.mql5.com
Эта программа входит в состав клиентского терминала MetaTrader 5 и предназначена для тестирования и оптимизации советников (MQL5 Expert Advisors).
 

Yedelkin:
Вторая попытка быстрой оптимизации закончилась также непредсказуемо. Теперь пройдено всего 511 из 10496 заявленных проходов. Но на графике отражены только 511 пройденных проходов, запись об остановке удалённых агентов появилась через 20 мин, запись об остановке локальных агентов появится, вероятно, ещё позже.

Точь в точь какая же ситуация была... Причем 3 раза на 511, и пару раз на более крупных проходах 7000-9000...
В сервисдеск уже писал, говорят разберутся.
 

Генетическая оптимизация лишь предварительно указывает ожидаемое количество проходов.

А на самом деле реальное количество проходов может быть больше (если приращение целевой функции продолжается) или меньше, если окажется, что на протяжении длительного срока не происходит улучшение целевого показателя. Зачастую быстрый генетический анализ заканчивается раньше ожидаемого количества проходов.

Все ранее просчитанные результаты автоматически сохраняются в кеше, что позволяет при повторных тестах (если не изменились условия) использовать готовые результаты из кеша вместо их нового перерасчета. Кеш также сохраняется на диске, что позволяет терминалу многократно использовать эти результаты даже после перезагрузки терминала.

Особенно эффективно используется внутренний кеш при генетическом переборе, где скрещивание часто многократно рождает одинаковые цепочки генов. Об этом явно пишется в логах (например, на первой картинке вверху): Result cache was used 6191 times - это означает, что из 8704 проходов было 6191 совпадений.

Почему может быть такой большой процент совпадений? Это зависит от используемых параметров. Если использовать мало параметров, или явно незначащие(не влияющие на результат) параметры, то это приведет к быстрому сведению к нужным результатам и генерации повторяющихся генов.


Рекомендую почитать старые обсуждения генетической оптимизации в форуме MQL4.community:


Если Вы хотите получить четкие ответы, то лучше приложить тестового эксперта, детально описать рыночное окружение и все параметры, включая их пределы. Это позволит остальным провести самостоятельные тесты и детально ответить на поставленный вопрос.

Генетические алгоритмы - математический аппарат - Статьи по MQL4
  • www.mql5.com
Генетические алгоритмы - математический аппарат - Статьи по MQL4: тестирование торговых стратегий
 

Спасибо огромное за указание направления дальнейшего движения! Вижу, что тему генетических алгоритмов необходимо изучить самостоятельно.

 Тем не менее, вопрос 1.2 (про кнопку "Отмена") является, скорее всего, вопросом технического характера, не связанным напрямую с особенностями генетических алгоритмов. При медленной  оптимизации возникала та же самая проблема (а именно: Проблема 4 https://www.mql5.com/ru/forum/852/page8/#comment_6639).

MetaTrader 5 Strategy Tester!
MetaTrader 5 Strategy Tester!
  • www.mql5.com
Эта программа входит в состав клиентского терминала MetaTrader 5 и предназначена для тестирования и оптимизации советников (MQL5 Expert Advisors).
 

1) Свопы в тестере не считаются ?

2) После оптимизации невозможно сохранить-скопировать результаты - соответствующие пункты контекстного меню не активны.

 
Valmars:

1) Свопы в тестере не считаются ?


Вроде не свопы ни комиссия не считаются. А идея сама по себе интересна...
 
Shurik740:
Точь в точь какая же ситуация была... Причем 3 раза на 511, и пару раз на более крупных проходах 7000-9000...
В сервисдеск уже писал, говорят разберутся.

 

Уже разобрались, благодаря Вашим логам. Ждите обновления. 

 

Вот такой есть прикольный вопрос - А сможет ли эксперт в режиме визуального тестирования мультивалютника открывать дополнительные графики и вообще работать с ними?

Очень хочется чтобы такая возможность была...


PS

Конечно можно и так чтобы на текущем графики менять валютные пары, тока это приведет к повторному запуску инициализации, а как понимаете нам этого не очень хочется...

 

Можно сделать так, чтобы после нажатия кнопки "отмена" отчет все равно генерировался и была возможность просмотра графика со сделками?
Причина обращения: