В прошлый раз http://smart-lab.ru/blog/330910.php зашла речь о поиске соответствия шаблону (или паттерну) через корреляцию. В трейдинге нет строгих соответствий, поэтому интересуюсь индикаторами, которые также не “ездят по рельсам”.
Для визуализации решил разработать индикатор для квика, который будет вычислять корреляцию между заданным шаблоном и ценами открытия баров (решил сделать по ценам открытия). Ссылка на скачивание ниже.
Как пользоваться. Добавляется индикатор в квик стандартным способом. Нужно создать в папке с квиком подпапку «LuaIndicators» (если её еще нет, в ней квик ищет пользовательские индикаторы). Скопировать туда скаченный файл индикатора «CorIndicator.lua», предварительно его разархивировав. Запустить квик и кликнуть правой кнопкой мыши на открытом окне с графиком, куда планируется добавить индикатор. В выпадающей меню выбрать «добавить график (индикатор)». Далее в списке выбрать индикатор «CorIndicator», установить галочку «новое окно» и нажать «да». Окно настроек можно оставить без изменений нажав «сохранить» или внести свои настройки.
В настройках можно помимо стандартных параметров линий изменить следующие параметры:
Name – имя индикатора; LevelDN – значение уровня корреляции для шаблона шорт, при достижении которого на графике будет размещена красная текстовая метка «dn»; LevelUP – значение уровня корреляции для шаблона лонг, при достижении которого на графике будет размещена зеленая текстовая метка «up» graf – идентификатор графика, чтобы индикатор понял на каком графике рисовать метки, нужно в настройках графика с барами указать этот «идентификатор» на вкладке «дополнительно»; fontSize – размер шрифта для меток, помещаемых на график; TplStringDN – массив с шаблоном для корреляции низ; TplStringUP – массив с шаблоном для корреляции верх.
Массив с шаблоном – это набор цифр, описывающих какое-то предполагаемое изменение цены открытия баров. Сами значения не принципиальны, так как все будет нормировано как у цен, так и у шаблона, главное последовательность, направление и соотношение. Между значениями в шаблоне допускается любой разделитель кроме точки (например, пробел или запятая). Сами значения в шаблоне могут содержать цифры, знак минус (для отрицательных чисел) и точку (в качестве разделителя целой и десятичной частей). Целая часть значения должна обязательно содержать хотя бы одну цифру (например 0). Другие символы и пробелы в значениях не допускаются (в том числе пробелы между минусом и цифрами и т.п.).
В индикаторе по умолчанию заданы два шаблона (как они выглядят графически, можно посмотреть по ссылке на статью, указанную выше):
TplStringUP = «1 2 3 4 5 4 4.5 3.5 4 3»; TplStringDN = «-1 -2 -3 -4 -5 -4 -4.5 -3.5 -4 -3».
Количество значений в шаблоне может быть любым – сколько войдет в окно с настройками, должно быть достаточно – в особо длинных последовательностях смысла наверно не много. Количество значений может различаться у шаблона лонг и шорт. Лонг и шорт – это условности, можно вбить две модели для лонга и корреляция будет считаться правильно.
Внесение изменений в настройки и удаление индикатора осуществляется стандартным способом.
Если корреляция значима и превышает некий заданный уровень, то считается, что имеется совпадение шаблона с ценами открытия баров. При этом индикатор будет сигналить, выводя текстовые метки «up» и «dn» на график с барами. В отдельном окне выводятся графики изменения корреляций от (-1) до (1), см. рисунок.
Ссылку на скачивание тестовой версии индикатора добавлю в комментарии после размещения в интернете. Пока ограничил работу индикатора 01.07.2016 г, а там посмотрим. Пишите замечания и предложения.
yadi.sk/d/6m_9M_BysQ6yf
Я думал шаблов типа стандартных паттернов.
Мне кажется что просто ждать такое же движение, вряд ли эффективно :)
Потом напишите какие результаты поисков будут. :)
Код лучше скрывай ;)
Но теперь и вы знаете, что можно улучшить.