Доджи: сравнение двух правил

Сравните два объявленных правила на одной свече. Первое соотносит тело с ее собственным диапазоном, второе — со средним диапазоном десяти предыдущих свечей. Разные метки могут быть правильным следствием разных определений. Ни одна метка сама по себе не дает торгового сигнала.

Проверьте одну свечу

Введите B = |Close − Open|, R = High − Low и средний High − Low десяти предыдущих закрытых свечей. Текущую свечу в среднее не включайте. Все три величины должны быть в одинаковых единицах. В исторических примерах это пипсы EUR/USD: 1 пипс = 0,0001 USD за EUR.

Запятая или точка обозначает десятичную часть: 1,000 означает 1, а не тысячу. Разделители тысяч, знаки, экспоненты и внутренние пробелы не поддерживаются. Допустимы до 9 целых и 6 дробных цифр.

Длины и учебный порог
Абсолютная разность Close и Open
High минус Low той же свечи
Среднее десяти предыдущих High − Low

Для расчета нужен JavaScript. Ручные примеры доступны ниже.

Ручной исходный пример: B = 0,5; R = 2; предыдущий средний R = 8,6. Доля тела 25% превышает 5%, поэтому первое правило не дает метки. Референсный предел 0,86 больше тела 0,5 — второе правило дает метку.

Счет выполняется в браузере без отправки или сохранения введенных данных. Изменение поля убирает прежний результат до нового сравнения. TXT содержит введенные величины и те же пояснения; это не проверка их рыночного происхождения.

Граница включена; знаменатели различаются

Учебное правило текущего диапазона: при R > 0 тело B ≤ p × R, где p — 0,03, 0,05 или 0,10. При R = 0 долю B/R считать нельзя: процентная классификация здесь не применяется. Поскольку B не может превышать R, нулевой диапазон допускает только B = 0. Это случай свечи четырех цен, а не доказательство отсутствия ликвидности на всем рынке.

Референсное правило: B ≤ 0,1 × средний R десяти предыдущих свечей. Это математическая запись стандартного BodyDoji в TA-Lib 0.6.4. Положительный код детектора обозначает распознавание фигуры, а не прогноз роста. Если предыдущий средний диапазон равен нулю, предел тоже равен нулю; при B = 0 референс выполнен.

Упражнение: B = 0,5, R = 10, средний R = 5. Что изменит B = 0,500001?

При B = 0,5 оба предела равны 0,5, поэтому равенство проходит оба правила. При B = 0,500001 тело строго больше обоих пределов: обе метки исчезают. Округленное представление не должно превращать второй случай в равенство. Это вымышленные данные для проверки границы.

Калькулятор сравнивает введенные десятичные длины до округления результата. Реальная библиотека получает OHLC и вычитает цены в двоичном представлении; возле точной границы возможны различия. Для сверки детектора нужны исходные OHLC, тот же выпуск и настройки. Согласие в исторической выборке не доказывает совпадения для любых вводимых цен.

Что именно исследовалось в архиве

Рынок и цена
Kraken spot EUR/USD, ключ API ZEURZUSD, интервал 60 минут, цены выполненных сделок одного рынка. Это не Bid/Ask брокера CFD и не весь валютный рынок.
Оцениваемый период
21 сентября 2026, 00:00 UTC — 25 сентября, 23:00 UTC: 120 последовательных закрытых H1. Время обозначает начало свечи.
Разогрев
Еще 10 свечей: 20 сентября 2026, 14:00–23:00 UTC. Всего 130 записей. В выбранном окне нет недостающих часов, интерполяции или нулевых диапазонов.
Происхождение
Исходный ответ сохранен 2 октября 2026 в 19:48:29 UTC. Последняя незавершенная запись API исключена перед выбором периода. Повторный пересчет использует тот же архив, а не новые рыночные котировки.
Проверка
Отдельный расчет по точным дробям воспроизводит классификации и опубликованные признаки. Повторный запуск реального CDLDOJI из C TA-Lib 0.6.4 через Python TA-Lib 0.6.8 дает те же 120 из 120 решений референса. Текущая свеча не включается в свое предыдущее среднее.
Метки на 120 свечах; это не результаты сделок
Правило 5% текущего RРеференс: доджиРеференс: не доджиВсего
Доджи10111
Не доджи9100109
Всего19101120

Десять меток различаются. Порог 3% дает 7 распознаваний, 5% — 11, 10% — 14. Эти заранее записанные учебные пороги не выбирались по прибыли. Большее число меток не означает большую точность.

В узкой свече тело слишком велико относительно текущего диапазона; в необычно широкой — слишком велико относительно предыдущего среднего.
Длины в пипсах, обе даты относятся к сентябрю 2026 года. Среднее исключает исследуемую свечу.

В примере 23 сентября диапазон 232,1 пипса необычен для этой выборки. Максимум согласуется с отдельно сохраненной свечой Kraken M30 с началом 14:30 UTC. Проверка того же поставщика подтверждает согласованность интервалов, а не причину максимума или независимый рынок. Наблюдение не удалялось после просмотра результата. Его диапазон затем входит в среднее для следующих десяти свечей.

Файлы и самостоятельное воспроизведение

CSV содержит производные признаки и метки, а не полный набор исходных OHLC. Формат: UTF-8, разделитель «;», десятичная точка, время начала в UTC. 1 означает выполнение условия, 0 — невыполнение. Числа не обозначают прибыль или убыток.

Имена столбцов остаются совместимыми с исходным кодом
start_utcНачало оцениваемой свечи в UTC.
body_range_pct100 × B/R.
body_previous_mean_range_pct100 × B/средний R десяти предыдущих свечей.
doji_3pct, doji_5pct, doji_10pctМетка соответствующего порога текущего диапазона.
reference_dojiМетка правила предыдущего среднего диапазона.
agreement_5pctСовпадение двух классификаций, а не успешная сделка.

Проверка опубликованных признаков

Распакуйте ZIP. Нужен Python 3.10 или новее. Эта команда вновь классифицирует опубликованные признаки, но не проверяет их происхождение от рыночных цен:

python doji_analysis.py --features doji-klasyfikacje-20260921-25.csv

Пересчет от OHLC

Нужен собственный JSON ответа Kraken H1 EUR/USD с выбранными датами и разогревом либо CSV с заголовком timestamp,open,high,low,close, Unix-временем в секундах и десятичной точкой. Не заполняйте пропуски, не заменяйте рынок или период для получения совпадения:

python doji_analysis.py --input kraken-eurusd-h1.json --expect-original manifest.json --output results

С установленными NumPy и TA-Lib можно добавить --verify-talib. Команда записывает использованные версии; сохраняйте стандартные настройки свечей. Проверка --expect-original останавливает пересчет при отличии hash выбранных цен.

По текущей документации API возвращает до 720 последних записей, включая текущую незавершенную; параметр since не открывает произвольно старую историю. На официальной странице уже есть ссылка на архив Q3 2026. Здесь проверено наличие ссылки, а не содержимое большого архива или совпадение его цен. Без соответствующих OHLC возможна проверка CSV, но не полная независимая репликация от цен.

Производный ZIP добавляет только README-RU.txt. Четыре исходных файла, включая manifest.json, сохранены побайтно. Польский HTML внутри — архивный; его старую формулировку об окне API уточняет русский README. Исходный ответ поставщика и приватная библиотека C не включены в скачиваемый архив.

SHA-256 сохраненного ответа API, без публичного OHLC-файла
0ae5d42eaad7bc167490204719257afddbfc752af1dfdf2442f07ae06e3db68d
SHA-256 выбранных 130 OHLC, нормализация в исходном коде
74053898bb51b9f9c5d52dadb19487a417c2e6929fcc214d6d1c46312458de57

Границы вывода и источники

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

Контекст фигур и отдельные вымышленные OHLC-примеры — в исходном англоязычном руководстве. Архивная дата получения не заменяется датой повторного запуска расчетов.