Оптимизация в Тестере стратегий - страница 2

 

написал советника, запустил оптимизацию посмотрел, посмотрел.... и off...   Мне кажется что https://www.mql5.com/ru/docs/series Copy... работают медленно.

Документация по MQL5: Доступ к таймсериям и индикаторам
Документация по MQL5: Доступ к таймсериям и индикаторам
  • www.mql5.com
Доступ к таймсериям и индикаторам - Документация по MQL5
 

У меня оптимизация идёт быстро. Претензий нет. Хотя в последнее время, оптимизация сразу не запускается, а топчется на месте (слышно как диск чего-то усердно делает). Приходится постоянно прыгать из одного Access Point в другой. Только тогда оптимизация начинает работать.

 
gumgum:

 и off...   Мне кажется что https://www.mql5.com/ru/docs/series Copy... работают медленно.

 

Не совсем понятно, что вы имеете ввиду.

Объясните точнее.

 
gpwr:

У меня оптимизация идёт быстро. Претензий нет. Хотя в последнее время, оптимизация сразу не запускается, а топчется на месте (слышно как диск чего-то усердно делает). Приходится постоянно прыгать из одного Access Point в другой. Только тогда оптимизация начинает работать.

Тоже по возможности подробнее опишите ситуацию. Сколько приходится ждать? Что пишется (если пишется) в журнал? ...

 
Dmitriy2:

А я выбрал немножко параметров, щелкнул тест... утром посчитал количество прогонов и сколько осталось... вычислил что до конца оптимизации 50дней... Комп 4хядерн + 2ядр агенты... Нафиг такую оптимизацию, выключил...

Попробуйте сначала одни параметры оптимизировать, затем другие, шаг побольше поставьте. Потом внутри выборки еще разок можно прогнать.
 
alexvd:

Не совсем понятно, что вы имеете ввиду.

Объясните точнее.

Вот например: 

double open(string sym,ENUM_TIMEFRAMES tf,int ps)
{
double ren[1]={EMPTY_VALUE};
CopyOpen(sym,tf,ps,1,ren); 
return(ren[0]); 
}

 Запросить посл. 50000 значений и замерить время, записать в файл, затем  замерить время считывания из файла, то разница ~0%~30% в пользу первого.

Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
Файловые операции / FileWrite - Документация по MQL5
 
gumgum:

Вот например: 

то разница ~0%~30% в пользу первого.

 

 

То есть из файла читается быстрее?

А вообще зачем копировать по одному значению, когда можно скопировать сразу 50000 (если есть столько)?

 
alexvd:

То есть из файла читается быстрее?

А вообще зачем копировать по одному значению, когда можно скопировать сразу 50000 (если есть столько)?

Из файла медленее. Так почему такая разница между "сразу 50000" и посл. вызов?

 
gumgum:

Так почему такая разница между "сразу 50000" и посл. вызов?

 

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

Доступ к элементу массива ~ 5 тактов процессора.

Вызов функции ~100 тактов процессора.

Вот и получается разница, что однократный вызов функции  для получения требуемого кол-ва данных за раз обходится дешевле в плане скорости выполнения.

 

Похоже, что обсуждение ушло в конкретику кода определенного эксперта. Но я заметил, что почти все время тратиться на подготовительную работу (больше 90%) независимо от того, какой эксперт оптимизируется. И так при каждом прогоне (pass в логе) с новыми оптимизируемыми входными параметрами. Т.е. как ни оптимизируй код, можно получить только пару процентов прироста производительности.

To alexvd:   пожалуйста, посмотрите первый и третий посты этой ветки, я там описал подробно с примерами и логами.

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