Графики Крестики-нолики (Point and Figure (PNF — P&F) Charts (Точки и фигуры)

Point and Figure (PNF) или Крестики-нолики — это классический метод графического представления цен, в котором акцент делается на направлении цены и значимых сменах тренда, а временная шкала практически не учитывается. График состоит из столбцов символов: обычно X (вверх) — крестики и нули O (вниз), где каждый символ соответствует фиксированному ценовому шагу (box size). Переход к новому столбцу происходит только при развороте цены на заранее установленное число коробок (reversal), например 3-box reversal. Изначально данный тип графиков был популярен в начале 1900-х, до появления компьютеризированных аналогов.
Пространство, которое занимает каждая из фигур, составляющих столбцы Х и О, называется коробками. Размер коробки задается самим пользователем. Когда цена совершает достаточно сильные движения в том же направлении, что и текущий столбец, в продолжении к нему добавляется новый X или O. Когда цена закрытия уходит достаточно далеко в противоположном направлении, появляется новый столбец с другими фигурами. Величина, на которую должна продвинуться цена, определяется расстоянием разворота. Это значение создается путем умножения размера коробки на другое значение, определяемое пользователем, и называется величиной разворота. Величина разворота — это значение, на которое должна переместиться цена, чтобы появилась новая фигура или столбец. Таким образом, если размер ячейки установлен на 1 (1$), а величина разворота установлена на 3, то для формирования на графике новой фигуры цена должна переместиться на 3$.
Существует два правила касательно фигур и столбцов:
1. Каждый столбец должен состоять только из Х-фигур или О-фигур. Две разные фигуры не могут встречаться в одном столбце.
2. Х-столбцы и О-столбцы должны чередоваться. Два столбца одного типа не могут стоять рядом.
На графике Крестики-нолики могут появиться четыре разных типа баров:
1. Восходящие бары — формируются во время восходящего тренда;
2. Нисходящие бары — формируются во время нисходящего тренда;
3. Проекция восходящего бара — потенциальный восходящий бар, который формируется на основе текущей цены на внутридневном графике (до установления фактической цены закрытия);
4. Проекция нисходящего бара — потенциальный нисходящий бар, который формируется на основе текущей цены на внутридневном графике (до установления фактической цены закрытия).
Основные элементы и параметры
▪ Box size — величина одного «ящика» (в пунктах или процентах), определяющая шаг изменения цены, соответствующий одной точке `X` или `O`.
▪ Reversal (реверс) — количество коробок, на которое цена должна отойти в противоположном направлении, чтобы начался новый столбец (обычно 1, 2 или 3 box reversal; 3 — стандартный для многих трейдеров).
▪ Колонки X и O:
— Колонка `X` рисуется при последовательных повышениях цены (каждая новая `X` — на box size выше предыдущей).
— Колонка `O` рисуется при последовательных понижениях цены (каждая `O` — на box size ниже предыдущей).
▪ Нет фиксированного времени: каждая запись появляется при достижении ценового условия; интервалы между точками и колонками могут быть разными по времени.
Правила построения (кратко)
1. Задаются параметры: box_size и reversal.
2. Начинают с первоначальной цены (обычно close) и определяют направление (вверх — `X` или вниз — `O`) на основе последующих ценовых изменений.
3. Для текущего направления добавляют символы (по одному за каждый достигнутый box_size шаг).
4. Если цена разворачивается на величину ≥ reversal * box_size в противоположную сторону, начинают новый столбец с символами противоположного типа.
5. При сильном движении за один тик/бар может быть добавлено несколько `X`/`O` (мульти-бокс добавление).
Преимущества PNF
— Фильтрация шума: устраняет малозначительные флуктуации.
— Ясные уровни поддержки/сопротивления и паттерны (двойные/тройные вершины/дна и прорывы).
— Простота обнаружения трендов и точек прорыва/откатов.
— Нет влияния времени — удобен для фокусировки на ценовых уровнях.
Ограничения и нюансы
— Параметры (box_size, reversal) сильно влияют на вид графика; их выбор должен соответствовать волатильности и таймфрейму.
— Игнорирует временные аспекты (полезно для одних систем, нежелательно для других).
— Менее информативен для отображения внутридневных ценовых микро-структур, если box_size выбран слишком большим.
Формула расчёта Point and Figure (PNF) Charts
Методы определения размера коробки
Существует два различных способа для расчета величины разворота:
1. Средний истинный диапазон (ATR) — использует значения, сгенерированные индикатором Средний истинный диапазон (ATR). Метод ATR позволяет отфильтровать сопутствующую фоновую информацию («шум») и волатильность финансового инструмента. Помимо этого, он автоматически определяет оптимальное значение для величины разворота, а также рассчитывает, каким было бы значение ATR на обычном свечном графике, и задает это значение в качестве величины разворота.
2. Традиционный — использует заданное пользователем абсолютное значение для определения величины разворота. Таким образом, новый бар появится только если ценовое движение будет превышать указанное значение. Данный метод отличается своей простотой и позволяет с легкостью предугадать, где и когда сформируется новая «коробка». Однако подбор правильного значения для конкретного инструмента, вероятней всего, получится не сразу, поэтому вам придется поэкспериментировать.
PNF не имеет одной математической «формулы» — это алгоритм построения на основе двух параметров: box_size и reversal. Ниже описан типичный стандартный алгоритм и псевдокод.
Параметры
▪ box_size — размер одной клетки (в пунктах или процентах). Каждая новая X или O соответствует движению цены на box_size.
▪ reversal — число коробок для разворота (часто 3 — стандартный 3-box reversal). Разворот происходит, когда цена меняется в противоположном направлении минимум на reversal * box_size.
Основная логика
1. Начинают с исходной цены (обычно close) и определяют текущее направление — колонка X(рост) или O (падение).
2. При движении в текущем направлении добавляют символы к текущему столбцу: по одной X/O за каждый пройденный box_size.
3. Если цена изменяется в противоположном направлении на сумму ≥ reversal * box_size, то начинается новый столбец противоположного типа; в этом столбце ставят столько X/O, сколько соответствуют величине отката (обычно начиная с крайнего уровня разворота).
4. При сильном движении за один тик/бар может быть добавлено несколько клеток (мульти-бокс добавление).
Псевдокод
box_size = заданное значение
reversal = заданное целое (например, 3)
# Инициализация
current_column_type = unknown # "X" или "O"
current_column_top = start_price
current_column_bottom = start_price
for each price P (обычно последовательность закрытий или тиков):
if current_column_type == "X" or unknown:
# Возможность расширить колонку X вверх
while P >= current_column_top + box_size:
current_column_top += box_size
add_one_X_at_level(current_column_top)
current_column_bottom = current_column_top - n_boxes_in_column * box_size
# Проверка разворота вниз
if P <= current_column_top - reversal * box_size:
# Начинаем новую колонку O
current_column_type = "O"
# Установить начальный уровень для O: обычно = current_column_top - box_size
# Добавить столько O, сколько требует откат:
while P <= new_O_start - box_size:
add_one_O_at_level(new_O_level)
new_O_level -= box_size
else if current_column_type == "O":
# Расширение колонки O вниз
while P <= current_column_bottom - box_size:
current_column_bottom -= box_size
add_one_O_at_level(current_column_bottom)
# Проверка разворота вверх
if P >= current_column_bottom + reversal * box_size:
# Начать новую колонку X
current_column_type = "X"
while P >= new_X_start + box_size:
add_one_X_at_level(new_X_level)
new_X_level += box_size
Примечания и вариации
— Источник цен: обычно используются значения `close`, но возможны реализации на `high/low` или тиковых данных. Выбор влияет на детализацию графика.
— Корректное размещение первой клетки разворота: разные реализации могут отличаться в том, с какого уровня начинают новый столбец (например, точка разворота = предыдущий экстремум ± box_size или = текущая цена).
Торговля с графиками Point and Figure (PNF)
— Поиск прорывов: пробитие предыдущих вершин колонок `X` даёт сигнал на покупку; пробитие предшествующих низов колонок `O` — на продажу.
Прорывы — возникают, когда бары начинают генерироваться в определенном направлении после периода торговли в пределах диапазона, ограниченного поддержкой и сопротивлением.

— Паттерны: двойные/тройные вершины/дна, диагональные трендовые линии, восходящие/нисходящие треугольники на PNF.

— Уровни поддержки/сопротивления: легко идентифицируются горизонтальные ряды X или O.

— Сигналы по тренду: последовательность колонок `X` указывает на устойчивый бычий тренд; `O` — на медвежий.
— Комбинация с объёмом и другими индикаторами: PNF часто используют совместно с объёмом, скользящими средними и осцилляторами для фильтрации ложных сигналов.
Как было упомянуто ранее, возрастающая популярность графиков «фильтрации шума» (в том числе и Крестиков-ноликов) обусловлена тем, что они не привязаны ко времени и не учитывают незначительные, естественные изменения цен. Сторонники этих типов графиков считают, что данные особенности помогают пользователям в выявлении тенденций и прогнозировании будущих ценовых движений. К примеру, Крестики-нолики отлично подходят для визуализации линий тренда, уровней поддержки и сопротивления, а также прорывов.
Линии трендов — Изначально график Крестики-нолики вручную рисовали на масштабно-координатной бумаге. В силу своей природы линии тренда под углом 45 градусов могут формироваться естественным образом. Эти линии помогают определять общие тренды и могут быть полезны как сами по себе, так и с помощью дополнительных инструментов или индикаторов.




















