Индикатор поиска шаблона/паттерна через корреляцию

В прошлый раз https://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 г, а там посмотрим. Пишите замечания и предложения.

A PHP Error was encountered

Severity: Notice

Message: Undefined offset: 2

Filename: main/v_footer.php

Line Number: 25

Backtrace:

File: /home/infoption.ru/www/infoption.ru/application/views/main/v_footer.php
Line: 25
Function: _error_handler

File: /home/infoption.ru/www/infoption.ru/application/controllers/Base.php
Line: 38
Function: view

File: /home/infoption.ru/www/infoption.ru/application/controllers/Blog.php
Line: 229
Function: render_single

File: /home/infoption.ru/www/infoption.ru/index.php
Line: 300
Function: require_once