Доджи: сравнение двух правил
Сравните два объявленных правила на одной свече. Первое соотносит тело с ее собственным диапазоном, второе — со средним диапазоном десяти предыдущих свечей. Разные метки могут быть правильным следствием разных определений. Ни одна метка сама по себе не дает торгового сигнала.
Проверьте одну свечу
Введите B = |Close − Open|, R = High − Low и средний High − Low десяти предыдущих закрытых свечей. Текущую свечу в среднее не включайте. Все три величины должны быть в одинаковых единицах. В исторических примерах это пипсы EUR/USD: 1 пипс = 0,0001 USD за EUR.
Запятая или точка обозначает десятичную часть: 1,000 означает 1, а не тысячу. Разделители тысяч, знаки, экспоненты и внутренние пробелы не поддерживаются. Допустимы до 9 целых и 6 дробных цифр.
Ручной исходный пример: 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 решений референса. Текущая свеча не включается в свое предыдущее среднее.
| Правило 5% текущего R | Референс: доджи | Референс: не доджи | Всего |
|---|---|---|---|
| Доджи | 10 | 1 | 11 |
| Не доджи | 9 | 100 | 109 |
| Всего | 19 | 101 | 120 |
Десять меток различаются. Порог 3% дает 7 распознаваний, 5% — 11, 10% — 14. Эти заранее записанные учебные пороги не выбирались по прибыли. Большее число меток не означает большую точность.
В примере 23 сентября диапазон 232,1 пипса необычен для этой выборки. Максимум согласуется с отдельно сохраненной свечой Kraken M30 с началом 14:30 UTC. Проверка того же поставщика подтверждает согласованность интервалов, а не причину максимума или независимый рынок. Наблюдение не удалялось после просмотра результата. Его диапазон затем входит в среднее для следующих десяти свечей.
Файлы и самостоятельное воспроизведение
- Скачать исходные 120 классификаций CSV
- Скачать исходный ZIP с русским README
- Скачать русское руководство TXT
CSV содержит производные признаки и метки, а не полный набор исходных OHLC. Формат: UTF-8, разделитель «;», десятичная точка, время начала в UTC. 1 означает выполнение условия, 0 — невыполнение. Числа не обозначают прибыль или убыток.
start_utc | Начало оцениваемой свечи в UTC. |
|---|---|
body_range_pct | 100 × B/R. |
body_previous_mean_range_pct | 100 × 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, вероятность разворота, торговые издержки, доходность или статистическую значимость. В исследовании не задавались сделки, входы и выходы. Для проверки стратегии нужны отдельные правила и данные, не использованные при их выборе.
- Kraken: ограниченное окно OHLC и незавершенная последняя свеча
- Kraken: официальные архивы OHLCVT и периоды без сделок
- TA-Lib 0.6.4: реализация CDLDOJI
- TA-Lib 0.6.4: стандартное BodyDoji
- Исходная польская методология — архивный материал
Контекст фигур и отдельные вымышленные OHLC-примеры — в исходном англоязычном руководстве. Архивная дата получения не заменяется датой повторного запуска расчетов.