Зміст статті
- Докази та сфера застосування
- Ілюстрація
- Процес
- Слабший імпульс — це не те саме, що розворот
- Чотири варіанти потребують чітких прив'язок та контексту
- Початкова історія та граничні значення мають відтворюватися
- Підтверджена дивергенція може дати невигідний вхід
- Активація, анулювання та перекриття кандидатів
- Надайте об'єму незалежно тестовану роль
- Тестуйте кожну родину дивергенцій окремо
- Поширені помилки
- Практичний список перевірки
- Поширені запитання
- Джерела дослідження
Докази та сфера застосування
Fidelity та TradingView пояснюють RSI та дивергенцію; TA-Lib надає реалізацію для числового порівняння. Ці посилання не встановлюють коефіцієнт виграшу або прибутковість для запропонованої тут конфігурації.
Практична послідовність дій
- Обчисліть RSIЗафіксуйте початкові значення, згладжування й потрібну початкову історію.
- Дочекайтеся двох пивотівПоєднайте підтверджені екстремуми одного типу.
- Класифікуйте зв'язокПорівняйте ціну, RSI та попередній контекст.
- Зачекайте підтвердження ціниЗафіксуйте проміжний свінг і TTL.
- Виміряйте чисту вартістьПорівняйте зі структурним базовим рівнем, що базується лише на цінах.
Слабший імпульс — це не те саме, що розворот
Fidelity зазначає, що RSI може залишатися екстремальним під час сильного тренду [1]. Таким чином, RSI вище 70 не є автоматичною інструкцією на продаж. Вищий ціновий максимум з нижчим RSI також може передувати подальшому зростанню; кілька кандидатів на дивергенцію можуть з'явитися перед стійким розворотом, а деякі тренди ніколи не розвертаються в межах горизонту стратегії.
RSI порівнює згладжені додатні й від’ємні зміни закриттів. TradingView описує розрахунок через RMA [2]. Тут gain=max(C[t]−C[t−1],0), loss=max(C[t−1]−C[t],0); початкові значення — середні за 14 змін, далі G=(13G+gain)/14 і та сама рекурсія для L. За G+L>0 отримуємо RSI=100G/(G+L).
Ціна та RSI не є незалежними свідками: RSI розраховується на основі ціни. Дивергенція може кодувати корисну різницю між екстремальною ціною та шляхом, пройденим для її досягнення, але друга мітка, що узгоджується з налаштуванням ціни, не подвоює автоматично докази.
Чотири варіанти потребують чітких прив'язок та контексту
Базовий варіант поєднує сусідні підтверджені цінові пивоти одного типу й бере RSI на occurred_at кожного. Оцінюйте пару лише після підтвердження другого пивота. Не зсувайте опору RSI на кілька барів до красивого екстремуму осцилятора. Окремому детектору пивотів RSI потрібні вікно зіставлення та доступність обох детекторів.
Пропоновані допуски: epsilon=0.1×ATR перед другим пивотом і d=5 пунктів RSI. Звичайна бичача дивергенція — нижчий мінімум ціни й вищий RSI; прихована бичача — вищий мінімум ціни й нижчий RSI в раніше встановленому висхідному тренді. Ведмежі варіанти обертають відповідні співвідношення. Контекст має бути відомий до першої опори.
Фільтри величини не дають дрібним числовим різницям стати мітками дивергенції, але користь треба перевіряти. Записуйте початкові різниці ціни й RSI та відстань у барах для аналізу відхилених кандидатів без перерахунку іншого історичного відбору.
| Варіант | Ціна на p2 порівняно з p1 | RSI на p2 проти p1 | Запропонований попередній контекст |
|---|---|---|---|
| Звичайний бичачий | Нижче попереднього значення більш ніж на epsilon | Вище попереднього значення більш ніж на d | Попередній спад |
| Звичайний ведмежий | Вище попереднього значення більш ніж на epsilon | Нижче попереднього значення більш ніж на d | Попереднє зростання |
| Прихований бичачий | Вище попереднього значення більш ніж на epsilon | Нижче попереднього значення більш ніж на d | Підтверджений висхідний тренд |
| Прихований ведмежий | Нижче попереднього значення більш ніж на epsilon | Вище попереднього значення більш ніж на d | Підтверджений спадний тренд |
when p2 becomes confirmed:
p1 = previous_confirmed_pivot_of_same_kind(p2)
if p1 is None or RSI[p1.i] is missing or RSI[p2.i] is missing: return
bull_regular = p2.price < p1.price-eps and RSI[p2.i] > RSI[p1.i]+d
if bull_regular:
trigger = highest_confirmed_swing_between(p1,p2)
freeze_candidate(p1,p2,trigger,expires_in=10)
# Evaluate a close crossing only after activation.
# If the trigger was crossed before activation, reject or use a separate late-entry version.
Початкова історія та граничні значення мають відтворюватися
Вихідний код TA-Lib підтримує перевірку початкового значення та числової поведінки [3], але виходи платформи не слід вважати ідентичними без порівняння. Запропонована конвенція про плоскі послідовності встановлює RSI=50 з плоским прапорцем, коли G=L=0. Якщо L=0<G, RSI=100; якщо G=0<L, RSI=0. Перевірте ці гілки явно.
Не рахуйте RSI за закриттями з поправкою на спліти, одночасно шукаючи пивоти за нескоригованими максимумами й мінімумами. Пропуски барів змінюють згладжування й місце пивота. У манифесті дослідження зберігайте версію індикатора, початкові значення, довжину історії, правила пивотів і допуски.
Для чисельного тесту після достатньої початкової історії подайте монотонно зростаючі закриття, монотонно спадні та повністю сталі. Далі вставте один приріст і одне зниження, порівняйте рекурсію покроково. Різницю RSI через ініціалізацію слід усунути до трактування як розбіжності в логіці дивергенції.
Підтверджена дивергенція може дати невигідний вхід
Умовний приклад: мінімум p1=100 має RSI=25, мінімум p2=98 — RSI=33. За ATR=2 допуск epsilon=0.2, а зростання RSI на вісім пунктів перевищує d=5. Після підтвердження p2 раніше відомий проміжний свінг-максимум на 103 стає тригером. Пізніше закриття 103.3 перевищує тригер із буфером 103.2.
Якщо найближчий виконуваний вхід — 103.4, а стоп — 97.8, початковий ціновий ризик — 5.6 пункта. Ціль 2R дорівнює 114.6, далеко від початкової дивергенції. Досягнення 114.6 раніше стопа виконало б умовну ціль, але не є оцінкою історичної частки успіху.
Провал без входу: після p2=98 ціна продовжує діяти 97→94 і ніколи не перетинає 103. Кандидат вважається недійсним або термін його дії закінчується. Альтернативна стратегія, що передбачає безпосередню купівлю поблизу 98, повинна зберігати власні збитки; вона не може запозичувати результати версії, яка очікує структурного тригера.
Збиток можливий і після входу: ордер на пробої виконується, потім ціна повертається нижче структурного мінімуму. Детектор може правильно встановити зв’язок двох опор, а торгова гіпотеза — зазнати збитку. Окремо звітуйте про коректність детектора, тригера й реалізований результат.
Активація, анулювання та перекриття кандидатів
Пропонований TTL — десять барів після підтвердження. До входу новий мінімум нижче p2−buffer анулює звичайного бичачого кандидата. Після входу діють зареєстровані правила стоп-маркет ордера й виходу за часом. Невигідний через геп сетап можна відхилити до подання ордера, але не стерти вже виконаний ордер.
Кілька комбінацій анкерів можуть виражати одну й ту саму основну ідею. Базова лінія об'єднує сусідні однотипні опорні точки та створює ідентифікатор події з їхніх ідентичностей. Дивергенція трьох мінімумів — це окрема модель з більшою кількістю варіантів, а не три незалежні угоди лише тому, що можна намалювати три лінії.
Зафіксуйте проміжний структурний тригер при активації кандидата. Якщо рівень було пройдено під час очікування підтвердження пивота, відхиліть застарілий сетап або зареєструйте окремий пізній вхід. Заміна тригера пізнішим свінгом заради кращого виконання змінює гіпотезу та створює ретроспективний відбір.
Надайте об'єму незалежно тестовану роль
Одна із запропонованих гіпотез полягає в зниженні активності під час зниження до p2, а потім у підвищенні активності на пробої ціни. Порівнюйте середній обсяг за бар або RVOL за той самий час, а не сирі підсумки за відрізки нерівної тривалості. Невелике зміщення ціни при високому загальному обсягу саме по собі не доводить поглинання.
Порівняйте три гілки: лише структурний ціновий тригер; той самий тригер із дивергенцією; далі доданий фільтр обсягу. Стоп, розмір і виконання однакові. Це відділяє внесок зв’язку осцилятора від активності, не приписуючи кожне покращення останньому індикатору.
Перевірте витрати в підвибірці великого обсягу. Фільтр може відбирати новинні пробої з ширшими спредами чи гіршими гепами. Показуйте відхилених кандидатів і число можливостей, не лише частку перемог серед виконаних угод.
Тестуйте кожну родину дивергенцій окремо
Окремо показуйте звичайні, приховані, бичачі й ведмежі варіанти. Збережіть фінальний період, не використаний для вибору довжини RSI, вікна пивота чи d. Перебір конфігурацій і публікація красивого графіка не доводять відтворюваного відбору.
Тести мають підтвердити: p2 можна намалювати на минулому барі, але сигнал не з’являється до підтвердження; RSI береться точно на зіставлених часових позначках ціни. Включіть сталі ряди, недостатню початкову історію, перекриття кандидатів і дзеркальні ведмежі дані.
Вимірюйте число кандидатів, частки спрацювань і скасувань, час очікування, чисту дохідність на подію та експозицію портфеля. Перевірте стрес-сценарії спредів і гепів через стоп: входи після пробою можуть бути значно гіршими за сигнальне закриття. Якщо дивергенція лише ускладнює модель без покращення зареєстрованого результату поза розробкою, структурний базовий варіант лишається корисним результатом.
Поширені помилки
Зіставлення точок на око
Вибір найзручнішого мінімуму RSI поблизу кожного цінового мінімуму без фіксованого вікна не є відтворюваним.
Повторна дивергенція під час тренду
Імпульс може сповільнитися, поки ціна різко продовжуватиме рухатися в тому ж напрямку.
Змішування прихованих та звичайних варіантів
Їхні контекстні гіпотези відрізняються; об'єднана статистика може приховувати протилежну поведінку.
Список перевірки перед застосуванням методу
Позначайте кожен пункт після перевірки на власних даних. Прогрес зберігається в цьому браузері й не засвідчує прибутковість стратегії.
Поширені запитання
Чи може дивергенція виявити дно до підтвердження розвороту?
Тільки використовуючи тимчасовий кандидат, який може зникнути. Цей базовий рівень очікує підтвердження, щоб його опублікована історія залишалася стабільною.
Чи слід замінити RSI на MACD?
Порівняйте додаткову інформацію з однаковим ціновим тригером та політикою виконання. Перемикання осциляторів для кожного привабливого прикладу не визначає систему, яку можна перевірити.
Джерела дослідження
Кожне джерело підтверджує визначення або докази, описані поруч. Псевдокод, штучні приклади та запропоновані параметри потребують окремої перевірки.
- Relative Strength IndexFidelity. Прочитано про дивергенцію й обмеження трактувань перекупленості та перепроданості. Перевірено: .
- Relative Strength IndexTradingView. Прочитано формулу RMA та інтерпретацію RSI. Перевірено: .
- TA-Lib RSI implementationTA-Lib. Прочитано вихідний код розрахунку; сам код індикатора не є готовою прибутковою торговою стратегією. Перевірено: .
Пов’язані методи
Примітка про ризики
Матеріал призначений для навчання й планування досліджень, а не є фінансовою порадою. Backtest моделює минулі дані, не гарантує майбутніх результатів і не здійснює реальних угод. Методи бібліотеки не обов’язково реалізовані в застосунку. Дивіться методологію і навчальний центр.
Перевірте правила, перш ніж ризикувати реальним капіталом
Перевірте можливості застосунку, дані й кожну змодельовану угоду; складні детектори можуть потребувати окремої реалізації.
Завантажити Backtest в App Store