Ускорение оптимизации индикаторных советников по ценам открытия

 

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


iCustom

  • При вызове формирует по входным параметрам название файла.
  • Если Common-файл есть, в начале прохода считывает его полностью и подставляет оттуда данные, когда идет запрос CopyBuffer.
  • Если Common-файла нет, в конце прохода создает его и пишет туда значения буферов индикатора.

Собственно все. Нужно ускорить советник - подрубили инклудник и готово для большинства случаев. Понято, что Rand-индикаторы и подобные случаи не прокатят, но для 95% советников - без проблем.


Реализовывайте, выкладывайте решения к Кодобазу. Ускорение может быть в десятки и сотни раз. Чем сложнее индикаторы используются, тем сильнее ускорение.


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


ЗЫ Заметьте, исходники индикаторов не нужны. Ускорение достигается бесплатно. Нужно только один раз инклудник написать.

ЗЗЫ Ускорение получается не только за счет кеширование, но и благодаря полному устранению архитектурной связи советник-индикатор.

 
Это давно делается получением данных индикатора с первого сформированного бара. Но не это главное.
 

Да, такой подход работает. Еще эффективнее кэшировать сигнал целиком (если он составной).

Только позаботиться о доступе к файлу на случай оптимизации и проверить, чтобы не было заглядывания в будущее.