Новый робот.
Пришли два новых робота.
Жуткое дело!
В тестах 46 миллиардов вариантов перебора оптимизатором.
Это только по одному роботу и по одному инструменту.
Скажите, есть ли идеи для МТ4 чтобы оптимизатор-тестер работал шустрее, или чтобы он отдельный был?
Если под это дело комп покупать, то на какой параметр обратить внимание (ядра, оперативка и т.п.), и выше скольки уже не имеет смысла там оперативка, например?
иногда решается выгрузкой котировок в sql и обработка данных под Delphi, к примеру. на хорошем мощном кластере просчитывается быстрее чем в мт
ru.wikipedia.org/wiki/Суперкомпьютер_Ломоносов
Сокращайте шаг параметров, прогоняйте параметры по очереди.
Первоначально стоимость создания суперкомпьютера составила 1,9 млрд рублей. Ещё 770 млн руб было потрачено в 2010—2011 годах на расширение суперкомпьютера с наращиванием пиковой производительности до 1,3 Петафлопс»
… дрочился бы я с этим роботом при таких бабках…
В самом деле, перебор 46 млрд вариантов не по силам домашним компам. К примеру, WealthLab прогоняет 1 вариант на 13.6 тыс свечей (1 год, 15-минутки) примерно за 1 сек на 2.4ГГц ядре. Т.о. 1 млрд вариантов потребует 32 года. 46 млрд — 1.5 тыс. лет, так что как ни увеличивай число/частоту ядер, нифига не выйдет.
Снижайте число вариантов. По компу могу посоветовать:
— больше ядер + выше частота (это само собой), только нужно проверить, будет ли MT4 распараллеливать расчет по ядрам (Wealth Этого не делает)
— максимальный объем кеша на ядро (желательно рассчитать так, чтобы история фьюча вмещалась в кеш одного ядра, но тут нужно большой таймфрейм брать)
Они ведь не будут у компа ресурс друг у друга отжирать? Там ведь немного мощностей задействуется?.. проблема именно в терминале, а не в данных машины, на которых он стоит?
Что значит «не много мощностей задействуется»? Когда программа считает постоянно, т.е. не имеет циклов ожидания ссобытий, она задействует ядро почти полностью. Проблема терминала — вторична.
Я подумал, что в данном случае медлительность обусловлена именно терминалом, а уж сам комп при оптимизации не нагружается и на 10% от того, что в нем есть.
Поэтому, предположил, что можно сэкономить время (ясно что не 46 ярдов вопрос уже) путем установки десятка терминалов и одновременным тестированием десятка инструментов.
Вопрос был в том, правильно ли я понял проблему и не захлебнется ли комп от 10 терминалов и выхлоп будет всё равно 1/10.
Сейчас пишу прогу, чтобы тест разделялся на несколько ядер, тогда уже и куплю 6-ядерник с большим кешем. А в 2004м, когда занимался разработкой измерительного оборудования и возникла необходимость в вычислительных мощностях, я собрал 16 4х ядерных компов (самых мощных на тот момент) и вылизывал программу на ассемблере, благодаря чему сократил предполагаемое время расчетов с 40 лет до 2х недель.
МТ4 дает запускать сколько угодно терминалов из разных папок.
Прям назвать их все по имени инструмента и гонять круглые сутки.
Иногда глючит и разрешает запустить из одного места две копии, которые работают отдельно (разные счета отображают и т.п.).
Если я таки подтяну инвестора под эти бизнесы, то специалиста по какому вопросу мне надо искать среди компьютерщиков, чтобы он наладил вот эти дела?
(есть же внутреннее разделение в профессии?).
Вам самому еще надо бы продумать алгоритм тестирования.
1. Бесперебойник — бесперебойником, но если в середине расчетов глюканет виндоуз, то все расчеты накроются медным тазом, если не производилось сохранение промежуточных результатов. Т.е. надо запускать тесты частями и вручную созранять.
2. Насчет сохранения: 46 млрд вариантов потребуют нехило места на диске. У Вас 5 параметров + результат тестирования будет содержать порядка 15-20 параметров (нетпорофит, %win, pf, rf и пр.), т.е. 25*4 = 100 байт на вариант, т.о. нужен HDD с 100*46*10^9, т.е. 4.6 Тбайт (это на каждый инструмент).
3. Ну, и т.д.
Можно, конечно, попробовать предварительно запустить генетическую оптимизацию, но на 5 параметров она ничего толкового не даст.
увеличить шаг, прогонять частями. фрейм наконец сменить на более приличный чем 1минута
у меня часы ((
используйте генетическую оптимизацию. А еще лучше об оптимизации вообще забыть, это путь в никуда.