Предложение как ускорить оптимизацию. - страница 2

 
Academic:

Все просто - надо хранить результаты один раз просчитать и все - сохранить на диске и выдавать. Число тиков одинаково на каждый тик сохранил значение индикатора и потом только выдаешь - не считаешь. Иначе нафиг-нафиг такой оптимизатор. Вы же сами нагрузили тестер мультивалетностью, и хотите со старым подходом как в четверке? Вот поэтому и получается что медленно. И надо отработать компенсацию ( соптимизировать) по мультивалютной нагрузке.

 

Не всё просто.

Мы когда-то рассматривали подобный вариант. Оказалось, что вычитывание закешированных индикаторных данных работает дольше, чем расчёт правильно написанных индикаторов.

Я понимаю, что в Вашем случае может случиться наоборот. Но здесь может быть единственный совет - пишите правильно оптимизированные индикаторы.

 
stringo:

Не всё просто.

Мы когда-то рассматривали подобный вариант. Оказалось, что вычитывание закешированных индикаторных данных работает дольше, чем расчёт правильно написанных индикаторов.

Я понимаю, что в Вашем случае может случиться наоборот. Но здесь может быть единственный совет - пишите правильно оптимизированные индикаторы.

Я понял :) Заново засчитать быстрее чем из массива один дабл выдать. Если прогонов 10000 то на самом деле получается в 100000 раз медленее. Чудес не бывает.
 
stringo:

Не всё просто.

Мы когда-то рассматривали подобный вариант. Оказалось, что вычитывание закешированных индикаторных данных работает дольше, чем расчёт правильно написанных индикаторов.

Я понимаю, что в Вашем случае может случиться наоборот. Но здесь может быть единственный совет - пишите правильно оптимизированные индикаторы.

И не надо только писать "в вашем случае" у меня просто расчет некой средней линии. Эка супер вычеслениие - 99% индикаторов так работают.


Тестер работает МЕДЛЕННО. Увы. :(

 
Academic:

И не надо только писать "в вашем случае" у меня просто расчет некой средней линии. Эка супер вычеслениие - 99% индикаторов так работают.


Тестер работает МЕДЛЕННО. Увы. :(

Ни в коем случае ничего не советую, просто интересная инфа. Тоже столкнулся с такой проблемой. Попробовал так решить: первый раз нужное число значений индикатора(встроенного в эксперт) вычисляю, а в дальнейшем вычисляю только новое-последнее, а предыдующий массив просто сдвигаю на 1 индекс и добавляю 1-но это новое значение, благо, функция ArrayCopy(my_array,my_array,1,0,ArraySize(my_array)-1)  позволяет быстро копировать со сдвигом. Ускорение где-то в 100 раз получилось, конкретно в моем эксперте. Правда, все вычисления в нем - сторонних хендлов нет. Интересно - именно такая оптимизация имеется в виду, или о другом говорят?
 

-Alexey-:
Ни в коем случае ничего не советую, просто интересная инфа. Тоже столкнулся с такой проблемой. Попробовал так решить: первый раз нужное число значений индикатора(встроенного в эксперт) вычисляю, а в дальнейшем вычисляю только новое-последнее, а предыдующий массив просто сдвигаю на 1 индекс и добавляю 1-но это новое значение, благо, функция ArrayCopy(my_array,my_array,1,0,ArraySize(my_array)-1)  позволяет быстро копировать со сдвигом. Ускорение где-то в 100 раз получилось, конкретно в моем эксперте. Правда, все вычисления в нем - сторонних хендлов нет. Интересно - именно такая оптимизация имеется в виду, или о другом говорят?

 

Да. Имеется в виду примерно такая оптимизация. Во всех наших встроенных индикаторах (и их кастомных аналогах) предусмотрен экономный "досчёт" только новых данных
 
stringo:
Да. Имеется в виду примерно такая оптимизация. Во всех наших встроенных индикаторах (и их кастомных аналогах) предусмотрен экономный "досчёт" только новых данных


Простите но если Вы имелли ввиду что "мой" код не оптимален. То посмотрите еще раз. И все таки прогоните пожалуйста в тестере, а еще лучше в оптимизации - с такой скоростью вообще не жизнь.

 
Academic:
На самом деле оптимизация идет очень медленно. Вот пример советника

попробуйте вот эти подходы. Все спрятать в индикатор. всю логику работы. Так быстрее будет.

https://www.mql5.com/ru/articles/1557

https://www.mql5.com/ru/articles/1381 

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

попробуйте вот эти подходы. Все спрятать в индикатор. всю логику работы. Так быстрее будет.

https://www.mql5.com/ru/articles/1557

https://www.mql5.com/ru/articles/1381 

Понимаете, тут вопрос скорее даже не в том, что бы добиться быстрого тестирования, а в том, чтобы быстро "на коленке" за 30 секунд слепить проверочку и получить результат. Вот ИМЕННО этим и был ИНТЕРЕСЕН всегда MT.

Именно это я и пытаюсь объяснить. :)
Это было очень СУЩЕСТВЕННОЕ преимущество!

 
при том подходе что я указал там все быстро, "на коленке" и получается. посмотрите.
 

Нет мне кажется что мне не удалось донести мысль. Но может просто кто-то погоняет по тестрирует на М1, все тики, на истории хотя бы год. 

И поиск оптимального значения хотя бы от 5 до 170 с шагом 1, то есть 165 прогонов

Если оценивать то время которое для этого потребуется то можно зафиксировать то что это НИКОМУ будет не нужно. Зачем такой оптимизатор который работает полдня.


Если убрать индикатор то процесс сильно ускоряется.

Причина обращения: