Зміст статті

Докази та сфера застосування

Основні визначення були перевірені на відповідність документації платформи та постачальника діаграм. Комбіновані пороги фільтра, нормалізації нахилу та процентилів, наведені нижче, є оригінальними дослідницькими пропозиціями. Для цієї комбінації індикаторів не надається жодних нових тестів на минулі періоди чи заяв про прибутковість.

Дані та ринкиATR та ADX потребують OHLC з узгодженим календарем сесій. Ціни активу й бенчмарку мають бути доступні в один момент ухвалення рішення, із сумісними валютними правилами та коригуваннями. Спліти, дивіденди, перехід між ф’ючерсними контрактами та недодатні ціни потребують окремих правил.
Таймфрейми дослідженняРозраховуйте характеристики на основі завершених денних або внутрішньоденних барів. Ретроспективні аналізи та порогові значення не переносяться автоматично між частотами. Тижневі характеристики використовують завершені тижні, тоді як будь-яка додаткова характеристика внутрішньоденного обсягу потребує порівнянної базової лінії часу сесії.
Нормалізована відносна сила зростає від 100 до 104.76, демонструючи перевищення показників порівняно з бенчмарком без встановлення зростання абсолютної ціни активу.Відкрити ілюстрацію в повному розмірі
Синтетична ілюстрація: вертикальна вісь – 100×RS/initial RS, а горизонтальна – послідовні спостереження. Це не ціна, RSI чи обсяг; масив з нульовим обсягом означає, що не застосовується.

Практична послідовність дій

Порядок дій: ATR, ADX, нахил MA та відносна сила як фільтри контексту
Повні кроки наведено нижче. На кожному етапі потрібно записати причину відхилення, якщо бракує даних або не виконано умови.
  1. Вирівняйте даніСинхронізуйте OHLC, значення контрольних показників та часові позначки доступності.
  2. Обчисліть ознакиВикористовуйте фіксовані формули ATR, нахил, ADX та RS.
  3. Перевірте розминкуПовертати значення NA, коли історії недостатньо, замість вигадування нулів.
  4. Фільтрувати контекстВикористовуйте збережений знімок, що передує сигналу оригінального детектора.
  5. Виміряйте додаткову користьПеревірте окремі фільтри та їхню взаємодію з обсягом поза навчальною вибіркою.

Що насправді вимірює кожна функція

ATR вимірює діапазон ціни з урахуванням гепів і не вказує напрямок. [1] ADX вимірює силу тренду, а +DI та −DI додають інформацію про напрямок. [2] Відносна сила тут означає відношення ціни активу до ціни бенчмарку. [3] RSI — інший осцилятор, обчислений за змінами ціни самого активу, без такого порівняння з бенчмарком.

Ознаки відповідають на різні питання: чи великий запропонований стоп порівняно зі звичайним рухом; чи спрямований довший рух угору або вниз; чи достатньо стійкий він, щоб вважатися трендом; чи випереджає актив бенчмарк? Кілька сприятливих показників не утворюють автоматично незалежних доказів, адже вони використовують спільні вхідні ціни.

Мета реалізації — незмінний знімок контексту, до якого може звертатися наявний детектор. Під час перевірки фільтра зберігайте первісні правила сигналу, розміру позиції та виходу. Інакше покращення результату не можна приписати саме доданій інформації.

Формули та час видачі інформації

TR[t]=max(H[t]−L[t],|H[t]−C[t−1]|,|L[t]−C[t−1]|). Введіть у ATR14 середнє значення перших чотирнадцяти дійсних спостережень TR, а потім оновіть ATR[t]=(13ATR[t−1]+TR[t])/14. Запропонований нормалізований ATR має вигляд nATR=100ATR/C, коли C>0. Порівняйте поточний nATR з попередніми дійсними спостереженнями 252 для обчислення pATR; виключіть поточне спостереження з цього історичного набору. Поверніть NA, якщо потрібна історія відсутня.

Запропонований нахил ковзної середньої — s=(SMA50[t]−SMA50[t−10])/(10ATR14[t]), вимірюється в одиницях ATR на бар. Повертаємо NA для нульового знаменника ATR. Позитивний нахил не гарантує, що ціна вища за середню, тому зберігайте їх як окремі характеристики. Відсоткова зміна середньої — це інша нормалізація.

Для спрямованого руху UpMove=H[t]−H[t−1] та DownMove=L[t−1]−L[t]. Задавайте +DM=UpMove лише за UpMove>DownMove та UpMove>0; інакше використовуйте нуль. Визначте −DM симетрично. За рівності обидва значення дорівнюють нулю. Застосуйте згладжування Wilder RMA14 до DM та TR; +DI=100RMA(+DM)/ATR, аналогічно для −DI. DX=100|+DI−−DI|/(+DI+−DI); ADX=RMA14(DX). Задайте початкові значення та період ініціалізації. Якщо після коректної ініціалізації обидва DI нульові, ця реалізація використовує DX=0.

RS[t]=P[t]/B[t], де ціна бенчмарку B додатна. Відносний результат за n спостережень — rel_n=RS[t]/RS[t−n]−1. Не ранжуйте інструменти за абсолютним RS, адже номінальні ціни акцій різні. Поєднуйте P і B за моментом доступності значень, а не лише за однаковою датою. Пізніше закриття бенчмарку не може фільтрувати ордер на ринку, де рішення вже ухвалено.

Запропонований фільтр контексту для довгої позиції використовує знімок t−1 для сигналу на закритті бара t: C>SMA50, slope>0.02, ADX≥20, rel20>0 і pATR між 0.20 та 0.80 включно. Відставання на один бар — явно обране правило. Ознаки завершеного бара t також можна без підглядання використати для ордера, поданого після закриття, але це інша конфігурація.

Коли ATR дорівнює нулю або недоступне, повернути NA для DI, DX та ADX у цій запропонованій реалізації; не ділити на нуль. Конвенція DX=0 застосовується лише після дійсного розігріву з додатним ATR та обома напрямленими компонентами, рівними нулю.

after close t, save immutable feature snapshot:
  nATR=100*ATR14[t]/C[t]
  pATR=count(past_252_nATR<=nATR)/252
  slope=(SMA50[t]-SMA50[t-10])/(10*ATR14[t])
  rel20=(P[t]/B[t])/(P[t-20]/B[t-20])-1
# Proposed LONG filter: use snapshot t-1 for a setup emitted at close t.
context_ok = C[t-1]>SMA50[t-1] and slope[t-1]>0.02
context_ok &= ADX14[t-1]>=20 and rel20[t-1]>0
context_ok &= 0.20<=pATR[t-1]<=0.80
# The filter enables the original detector; it does not submit orders.

Відокремлення волатильності від обсягу

ATR та ADX не вимірюють обсяг торгів. Додаючи RVOL до пробою, утримуйте волатильність та контекст тренду постійними, щоб оцінити додатковий внесок обсягу. Одна новинна подія може збільшити як ATR, так і обсяг; узгодженість між характеристиками не обов'язково представляє собою незалежні джерела інформації.

Компактний експеримент починається з детектора цін, додає кожну контекстну функцію окремо, а потім тестує взаємодію з RVOL. Якщо фільтр pATR разом виключає новинні сесії та великі успішні прориви, повідомляється про зменшення просідання разом із втраченим прибутком та зменшенням охоплення можливостей.

Чітко вкажіть політику щодо відсутніх даних для об'єднаної моделі. Дійсний ATR разом із відсутнім RVOL не означає нульову активність, а відсутній контрольний показник не означає нейтральну відносну силу. Відстежуйте недоступні рядки ознак окремо від рядків, відхилених через те, що дійсно спостережуване значення не досягло порогового значення.

Робочі розрахунки та оманливий випадок

Синтетичний приклад: ціна активу P зростає від 100 до 110 протягом двадцяти спостережень, тоді як бенчмарк B зростає від 200 до 210. RS зростає від 0.5 до 0.52381, що дає rel20=4.7619%. Це відрізняється від віднімання дохідності, яке дає п'ять відсоткових пунктів. З ATR=2.5 nATR приблизно дорівнює 2.273%.

SMA50 зростає зі 103 до 105 за десять барів: slope=2/(10×2.5)=0.08 ATR на бар. За ADX=28, pATR=0.60 та C=110>SMA50=105 запропонований фільтр контексту пропускає сигнал. Для сигналу на закритті бара t ці значення мають походити з оголошеного знімка t−1, а не з пізнішого спостереження, вибраного через сприятливий вигляд.

Оманливий приклад: P падає зі 100 до 95, а B — з 200 до 180. Відносний результат становить +5.5556%, хоча актив втрачає 5% в абсолютному вимірі. Якщо SMA50=100, а нахил від’ємний, запропонований фільтр довгих позицій відхиляє сигнал. Високий ADX під час сильного падіння також не утворює сигналу купівлі.

Це перевірки формул та логіки, а не прибуткові та збиткові історичні угоди. Графік індикатора нормалізує RS до початкового значення 100; воно може зростати, навіть якщо ціна активу падає. Його масив з нульовим обсягом означає, що обсяг не застосовується до цього малювання, а не те, що торгова активність була нульовою.

Як детектор використовує функції

Цей набір функцій не має незалежного входу, захисного стопа або виходу. При підключенні до детектора подвійного дна, VCP або детектора пробою зберігаються торгові правила цього детектора; фільтр вирішує лише, чи є його контекст придатним. Введення стопа 2ATR створює додаткове стратегічне рішення, яке вимагає окремого порівняння.

Узгодження даних важливіше за додавання ще одного індикатора. Зберігайте часовий пояс, біржову сесію, updated_at, затримку стрічки та правило поєднання за доступністю на момент рішення (as-of). Не продовжуйте останнє значення бенчмарку нескінченно через різні святкові календарі. Задайте межу застарівання й визначте, чи такі дані відхиляють кандидата, чи позначають його недоступним.

Для довгострокової відносної сили послідовно обирайте цінову або загальну прибутковість. Поєднання активу, скоригованого на дивіденди, з бенчмарком, який їх виключає, змінює порівняння. Конвертація валют повинна використовувати курси, доступні на момент прийняття рішення. Для недодатних ф'ючерсних цін ATR/C не є заявленим показником; альтернатива, що шкалується за тиком або контрактом, потребує окремого визначення.

Тестування фільтрів без зміни стратегії

Порівнюйте одну базову стратегію з кожним фільтром за незмінних витрат і правил розміру позиції. Звітуйте про кількість угод, чисте математичне очікування, просадку та охоплення за режимами ринку. ADX20, slope0.02 і діапазон від двадцятого до вісімдесятого процентиля — запропоновані параметри. Вибирайте їх на навчальній вибірці та фіксуйте до остаточної оцінки.

Перевірте ATR та ADX бібліотеки на вручну розрахованих послідовностях із гепами, внутрішніми барами, рівними величинами спрямованих рухів і межами періоду ініціалізації. Різні початкові значення можуть істотно змінити ранні спостереження. Додавання майбутніх барів не має змінювати ознаки, вже видані для попередньої частини ряду.

Для RS перевірте активи й бенчмарки з різним часом закриття ринків. Включіть різні святкові дні, застаріле значення бенчмарку, конвертацію валюти та відсутній знаменник. Для pATR перевірте рівні значення та правило ранжування «менше або дорівнює». Аналіз чутливості має змінювати невелику заздалегідь задану сітку параметрів, а не нескінченно шукати прибуткове поєднання.

Поширені помилки

Позитивна відносна сила розглядається як зростання ціни

Актив може перевершити бенчмарк просто за рахунок меншого падіння.

Перекриваючі показники враховуються як незалежні докази

Нахил ковзної середньої, ADX та імпульс можуть описувати один і той самий рух ціни базового активу.

Бенчмарк, який закривається пізніше

Ціна закриття з тією самою календарною датою може бути ще невідомою на момент рішення; її використання створить підглядання в майбутнє.

Список перевірки перед застосуванням методу

Позначайте кожен пункт після перевірки на власних даних. Прогрес зберігається в цьому браузері й не засвідчує прибутковість стратегії.

0/6 пунктів

Поширені запитання

Чи можна використовувати нормалізований ATR, коли ф'ючерсні ціни від'ємні?

Ні, не з визначенням ATR/C у цій статті. Потрібна окремо визначена міра в тиках або одиницях контракту; модуль знаменника не зберігає точно того самого змісту.

Чи є ця відносна сила рейтингом IBD RS?

Ні. Це відношення ціни активу до обраного бенчмарку та його зміна в часі. Закритий авторський рейтинг або процентиль серед сукупності різних інструментів — інший показник.

Джерела дослідження

Кожне джерело підтверджує визначення або докази, описані поруч. Псевдокод, штучні приклади та запропоновані параметри потребують окремої перевірки.

  1. Average True Range — TradingViewTradingView. Формула справжнього діапазону, згладжування та інтерпретація волатильності. Перевірено: .
  2. Average Directional Index — TradingViewTradingView. ADX і складові спрямованого руху; джерело не доводить торгової переваги запропонованого фільтра. Перевірено: .
  3. Price Relative / Relative Strength — ChartSchoolStockCharts. Співвідношення ціни активу до ціни бенчмарку; діаграми з вихідних прикладів не відтворюються. Перевірено: .

Пов’язані методи

Примітка про ризики

Матеріал призначений для навчання й планування досліджень, а не є фінансовою порадою. Backtest моделює минулі дані, не гарантує майбутніх результатів і не здійснює реальних угод. Методи бібліотеки не обов’язково реалізовані в застосунку. Дивіться методологію і навчальний центр.

Перевірте правила, перш ніж ризикувати реальним капіталом

Перевірте можливості застосунку, дані й кожну змодельовану угоду; складні детектори можуть потребувати окремої реалізації.

Завантажити Backtest в App Store