OpenCl и инструменты для него. Отзывы и впечатления. - страница 2

 
Mathemat:

articul, не нужно быть настолько категоричным. Мир не стоит на месте. Современные монстрообразные видеокарты, исходя из твоей логики, тоже следует признать следствием отсутствия идей в обработке изображений?

Я и сам иногда рад ускориться - просто чтобы не ждать при отладке кода окончания тяжелых расчетов, которые у меня все зашиты в init() (примерно 10 секунд). А все остальные расчеты, которые происходят "на лету", действительно выполняются очень быстро, так что тут многопоточность и не нужна.

Я считаю, что мощности подобного масштаба нужны в проверке тех или иных идей. Например, очень интересно было бы взглянуть на результат форвард-теста за последние 10 лет по 32 валютным парам. И чтобы реально загрузить машинку построим систему на мелком ТФ. Допустим, M15. Оптимизационный период 8 недель, а Out of Sample 2 недели. Хотя на таблице это будет более наглядно:

Если на оптимизацию будет уходить 1 минута, то потратим мы приблизительно 138 часов. Кол-во шагов (оптимизаций) - 8320. Это одна торговая стратегия. А если портфель? А если системы пока нет и мы находимся в поиске? ))) Вот с этого момента становится ясно, что мощностей мало не бывает.

 
Mathemat:

Я и сам иногда рад ускориться - просто чтобы не ждать при отладке кода окончания тяжелых расчетов, которые у меня все зашиты в init() (примерно 10 секунд). А все остальные расчеты, которые происходят "на лету", действительно выполняются очень быстро, так что тут многопоточность и не нужна.

Вероятно, можно их как-то один раз вычислить и закэшировать?
 
tol64:

Я считаю, что мощности подобного масштаба нужны в проверке тех или иных идей {...} Кол-во шагов (оптимизаций) - 8320.

Во-во. А если, например, хочется несколько сотен тысяч прогонов? :-)
 
jartmailru:
Вероятно, можно их как-то один раз вычислить и закэшировать?

Что такое "закэшировать" в применении к простому MQL4?

Я просто отлаживаю код индюкатора. При нажатии F5 он компилируется заново, но отображает информацию только после расчетов, подавляющая часть которых производится в init().

Можно, конечно, на время отладки кода сохраниться в файл и считывать оттуда. Но это как-то геморрно и не через то место.

 

Вообще-то идея не такая уж абсурдная, Алексей, вопрос только в методе реализации.

Ведь даже у проца неслучайно есть свой кеш, и даже не один)

 

И как Вы предлагаете это сделать - не обращаясь к кодированию, внешнему по отношению к MQL4?

Я уже предложил - через файлы. Но долго и геморрно.

 

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

То есть по сути, получается тривиальная БД. Понятно, что на это потребуются дополнительные мощности, но и выигрыш по производительности может быть ощутимый.

 
Единственная "оперативная память", которая переживет перекомпиляцию, с применением одних только средств MQL4, - это запись в глобальные переменные. Вы об этом?
 

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

 
Я не знаю, что такое маппинг.