Паттерны
Паттерн (от англ. pattern — модель, образец) — в техническом анализе называются устойчивые повторяющиеся сочетания данных цены, объёма или индикаторов. Анализ паттернов основывается на одной из аксиом технического анализа: «история повторяется» — считается, что повторяющиеся комбинации данных приводят к аналогичному результату.
Паттерны также называют «шаблонами» или «фигурами» технического анализа.
Паттерны условно разделяются на:
- Неопределённые (могут вести и к продолжению и к смене текущего тренда).
- Паттерны продолжения текущего тренда.
- Паттерны смены существующего тренда.
Использование паттернов
В Designer
В Designer встроены предустановленные свечные паттерны, которые можно использовать в вашей торговой стратегии. Паттерны вызываются через кубик индикатор с последующим выбором соответствующего значения. Сам паттерн выбирается из выпадающего списка в окне справа.
Также возможно редактирование существующих и добавление собственных пользовательских паттернов. Для этого, нужно нажать на кнопку после чего будет показано окно редактирования паттернов.
Для того, чтобы создать собственный паттерн необходимо нажать кнопку в верхней части окна. Нажатие кнопки
удаляет паттерн.
В Terminal
В Terminal паттерны добавляются на график как любой другой индикатор. Для этого достаточно нажать правой кнопкой мыши на график и выбрать соответствующий индикатор из списка доступных.
В StockSharp API
При использовании S# (или при создании стратегий из кода в Designer), работа с паттернами производится как с любым другим индикатором. Пример использования:
// Создание индикатора паттерна
var patternIndicator = new CandlePatternIndicator
{
// Установка нужного паттерна
Pattern = new ExpressionCandlePattern("Мой паттерн", new[]
{
new CandleExpressionCondition("C > O"), // Текущая свеча - растущая
new CandleExpressionCondition("pC < pO") // Предыдущая свеча - падающая
})
};
// Добавляем индикатор в коллекцию
Indicators.Add(patternIndicator);
// Обработка свечи
var result = patternIndicator.Process(candle);
// Проверка результата
if (result.GetValue<bool>())
{
// Паттерн обнаружен, выполняем нужные действия
}
Формат описания паттернов
При редактировании паттерна каждая строка представляет собой отдельную свечу. Самая верхняя строка - это текущая свеча, соответственно вторая строка - одна свеча назад, третья и последующие строки соответственно минус 2 и более свечей.
В редакторе используются следующие параметры:
- O - цена открытия,
- H - максимум,
- L - минимум,
- C - цена закрытия,
- V - объем,
- OI - открытый интерес,
- B - тело свечи,
- LEN - длина свечи (от максимума до минимума),
- BS - нижняя тень свечи,
- TS - верхняя тень свечи.
С параметрами возможно использование следующих индексов (ссылок) на нужные значения. Например, для цены закрытия:
- C: цена закрытия текущей свечи,
- C1: цена закрытия 1-ой свечи после текущей,
- C2: цена закрытия 2-ой свечи после текущей,
- pC: цена закрытия предыдущей свечи,
- pC1: цена закрытия пред-предыдущей свечи, Все ссылки должны быть в диапазоне текущего паттерна. Например, диапазон паттерна 3 Black Crows составляет текущую и две предыдущих свечи, соответственно обращение к третьей предыдущей свече не допускается.
Для дополнительной проверки параметров во взаимосвязи используется выражение && представляющее собой логическое И.
При описании паттерна также возможно использование следующих функций: abs, acos, asin, atan, ceiling, cos, exp, floor, log, log10, max, min, pow, round, sign, sin, sqrt, tan, truncate. Подробнее об использовании функций рассказывается при описании кубика формула.
При использовании ExpressionCandlePattern в коде, формулы создаются по тем же правилам, что описаны выше, и используют те же переменные.
Стандартные паттерны
Для быстрого создания паттернов на базе существующих можно использовать раздел в нижней части окна редактора паттернов. При нажатии кнопки в нижней части окна добавляет в окно редактирования логику паттерна выбранного из выпадающего списка напротив. Кнопка
в нижней части окна удаляет выделенную строку в окне редактирования.