четверг, 3 марта 2016 г.

Многопоточная оптимизация в Wealth-lab 6.4


Оптимизация в Wealth-lab, как известно, использует только одно ядро одного процессора и только один поток одновременно. Такой подход не позволяет использовать всю мощь современных компьютеров, что очень расстраивает алготрейдеров. Многие устали атаковать службу поддержки с вопросом "Когда многопоточность будет внедрена в Wealth-lab" и разработчики написали свою библиотеку для оптимизации.
Я выкладываю скомпилированную библиотеку, а также проект на Visual Studio 2015, с открытым кодом. Ссылка на форум, где обсуждался и разрабатывался этот код.

После того, как вы скачали библиотеку, скопируйте ее в папку с Wealth-lab (по умолчанию программа расположена по слудующему пути: "c:\Program Files\MS123\Wealth-Lab Developer 6\")
Если Wealth-lab у вас был запущен, то перезапустите его.  После перезапуска в разделе оптимизации у вас появится новый пункт Parralel Optimizer (Exhaustive):


С одними и теми же параметрами оптимизации, количество циклов уменьшается в 4 относительно стандартного брутфорса:


Давайте посмотрим на загрузку процессора во время оптимизации:


Вывод: разработанный метод реально ускоряет процесс оптимизации стратегий для Welath-lab. Пользуйтесь и да прибудет с вами профит.

14 комментариев:

  1. там баг... выводи одинаковые значения при разных периодах.

    ОтветитьУдалить
  2. В чем баг, можете пояснить?

    ОтветитьУдалить
  3. пересечение скользящих (реверс). просчёт к примеру за год. считаем быструю скользящую до 100 медленную до 200. при расчёте выдаёт одинаковые результаты для разных периодов. одинаковый профит, одинаковый процент и т.д. все параметры одинаковые. единственное что меняется это период скользящих.

    ОтветитьУдалить
    Ответы
    1. Ок. Спасибо за обратную связь. Посмотрю и постараюсь поправить.

      Удалить
    2. Ну как, есть успехи?

      Удалить
  4. Этот комментарий был удален автором.

    ОтветитьУдалить
  5. привет, появилась версия без бага? Также можете в 2-х словах объяснить то, какие стратегии не подходят для параллельного теста, там tryCatch
    Спасибо за труд!)

    ОтветитьУдалить
    Ответы
    1. Пока ошибка не исправлена. У стратегий нет общего названия, по которому можно было бы их группировать. Нужно понимание логики работы стратегии и тестера, чтобы сопоставить их и понять: получится ли такое оттестировать или нет. Параллельный тест означает только то, что 10 серий будут выполнены не друг за другом, а группами. Например 1,2,4,5 в одном потоке, а остальные в другом.

      Удалить
  6. Здравствуйте. Сделал все по инструкции, но не появляется "параллельной оптимизации" в вариантах выбора оптимизации.

    ОтветитьУдалить
    Ответы
    1. Добрый вечер.
      После того, как скачали библиотеку, перед копированием ее в папку с WealthLab, нажмите на нее правой кнопкой и выберите "Свойства". Проверьте, что она не защищена, если защита стоит, то нажмите кнопку "Разблокировать". Вот тут в картинках есть пример. http://www.stratozoo.com/2015/01/wealthlabindicatorscommunitydll-wealth.html

      Удалить
  7. Здравствуйте. У меня виндовс 10. В этой ОС можно снять ограничения "только для чтения" только с файлов, а с папок нельзя. Выходит эта оптимизация не заработает в этой ОС?

    ОтветитьУдалить
  8. Речь идет не об ограничении "Только для чтения". Посмотрите ссылку, которую я вам отправлял. Там все расписано. Пример для другой библиотеки, но вам нужно проделать все то же самое, для библиотеки, что скачиваете.

    http://www.stratozoo.com/2015/01/wealthlabindicatorscommunitydll-wealth.html

    ОтветитьУдалить
  9. Но именно так я си сделал, а нового варианта оптимизации не появляется.

    ОтветитьУдалить
    Ответы
    1. Напишите мне в Скайп dzammer. Посмотрим, почему у вас не получается.

      Удалить