Содержание статьи

Доказательства и область применения

Исходный индикатор описывает настраиваемые выносы уровней сессий; документация платформы и биржи определяет устройство сессий. Прибыльность предложенного детектора не подтверждена.

Данные и рынкиДля акций, фьючерсов или криптовалют с четко определенным графиком торговой сессии. Для обычных, продленных и ночных фьючерсных сессий требуются отдельные соглашения.
Таймфреймы исследованияПримерами являются диапазон открытия 15 минут и пятиминутные триггерные бары. Диапазон должен быть завершен, прежде чем последующие бары смогут использовать его конечные границы.
Диапазон открытия 200–205 замораживается, затем цена колеблется до 199.60 и закрывается на уровне 200.40.Открыть иллюстрацию в полном размере
Синтетические данные о событии. Диапазон открытия заканчивается до последующего пробития; это не график временных баров и не реальное тестирование стратегии.

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

Порядок действий: Вынос экстремумов сессии: зафиксируйте календарь до сигнала
Все шаги подробно описаны ниже. На каждом этапе нужно записывать причину отклонения при нехватке данных или невыполнении условий.
  1. Определите сессиюВыберите торговую площадку, календарь и часовой пояс.
  2. Дождитесь завершения опорного окнаПубликуйте экстремумы прошлой сессии или диапазона открытия только после их доступности.
  3. Выявите последующий выносИспользуйте фиксированные буферы и подходящие версии уровней.
  4. Подтвердите и отправьте.Учитывайте получение закрытия бара и выбранную модель ордера.
  5. Оценить по типу сессииВключайте дни без сигнала, гэпы и граничные случаи календаря.

Три типа опорных уровней с разной информацией

PDH/PDL — это максимум и минимум предыдущего завершенного торгового дня. PSH/PSL относятся к выбранной завершенной сессии, а ORH/ORL описывают первые N минут текущей сессии. Их цены могут совпадать, не являясь независимыми данными. При необходимости следует хранить один базовый объект с соответствующими метками.

Session Sweeps от LuxAlgo позволяет выбирать сессию [1]. Независимой реализации нужны часовой пояс биржи и календарь [2][3], а не фиксированное местное время весь год. Лондон, Нью-Йорк и компьютер стратегии могут переводить часы в разные даты.

Уровни прошлого дня описывают старый диапазон, диапазон открытия — начало нового дня. Большой гэп может сразу вывести цену за весь прошлый диапазон. Возврат к PDH сам по себе не означает вынос: определите исходную сторону уровня и тип триггера — отбой, возврат за уровень или ретест пробоя.

Идентификаторы сессий и временные метки соответствия требованиям.

Предложенный session_id содержит торговую площадку, символ, calendar_date и session_template_version. Для акций США можно брать основную сессию, сохраняя премаркет отдельно. Помечайте сокращённые сессии, не выдумывайте недостающие бары ради одинакового 24-часового дня. У ночной сессии фьючерсов торговая дата может отличаться от местной календарной даты.

В диапазон открытия от 09:30 до 09:45 входят пятиминутные бары с началом 09:30, 09:35 и 09:40. Публикуйте окончательные уровни лишь после 09:45. Незавершённый бар 09:40 не раскрывает конечный минимум OR. Полуоткрытые интервалы [start,end) не дают событию на границе попасть в оба окна.

После публикации поддержки S предложенный вынос вниз требует предыдущего закрытия выше S, low<S−b и close>S+e. Используйте b=max(2 ticks,0.10ATR) и e=max(2 ticks,0.15ATR), где ATR рассчитан до сигнального бара. Многобаровый возврат K=3 — отдельная версия. N, K и буферы — исследовательские настройки, не доказанно прибыльные значения.

Сохраняйте window_end и время получения публикации. Поздно полученный исправленный диапазон не разрешает задним числом более ранний вход. Определите, меняют ли исправления только будущих кандидатов или исключают затронутый период исследования; сохраните исходный журнал решений.

on_trade_received(trade):
  window = configured_half_open_window(trade.event_time)
  if window.start <= trade.event_time < window.end:
    update_extrema_for_that_window_only(window,trade)
on_window_data_ready(window,received_at):
  if not window_complete_under_declared_watermark_policy: return
  if window.current_fingerprint == window.last_published_fingerprint: return
  available_at = max(window.end,received_at) + processing_delay
  publish_frozen_version(window.extrema,available_at=available_at)
  window.last_published_fingerprint = window.current_fingerprint
for closed_bar in later_bars:
  levels = versions_available_before(closed_bar.start)
  detect_sweep(levels,closed_bar)
# Publish once per data version; boundary trades belong to the following window.
# Late corrections publish a future version and never backdate an order.

Объём в одно время сессии и учёт аукциона открытия

Сравнивайте объём сигнального бара с тем же интервалом прошлых сессий. Явно определите исключения для пропусков и коротких дней. Данные с аукционным объёмом в первом баре нельзя напрямую сравнивать с историей, где эти сделки удалены.

RVOL при выносе и положение относительно текущего VWAP — отдельные предлагаемые признаки. Утреннее решение не может использовать итоговый VWAP дня. Вынос PDL при цене ниже VWAP может отражать одно движение вниз, поэтому измеряйте дополнительный вклад фильтров, а не просто считайте подтверждения.

Сигналы непосредственно до и после запланированной новости могут исполняться по-разному. Заранее известный календарь выделяет эти окна. Назвать день «плохими новостями» после наблюдения цены — использование знания задним числом. Храните заявленное время отдельно от фактического получения данных или заголовка.

Примеры синтетического диапазона открытия

Пусть на графике предполагаются OR15 high=205 и low=200. Но в 09:43 цена достигает 199.80 и восстанавливается. Торговать вынос предполагаемого итогового минимума 200 нельзя: диапазон открытия ещё формируется. Если наблюдение 199.80 корректно и входит в это окно, окончательный минимум OR обязан его учитывать.

В другом примере диапазон открытия уже завершён с low=200. Позднейший бар 09:50 имеет low=199.60 и close=200.40. Если нижняя граница буфера, заданная размером тика, не преобладает, предыдущий ATR=1 даёт b=0.10 и e=0.15, поэтому возврат проходит условия. Вход после закрытия по 200.45, стоп 199.50 и цель 202.35 дают риск 0.95 и прибыль до затрат 1.90. Цель фиксируется при входе, не выбирается по будущему максимуму дня.

Убыточный путь достигает 199.45, защитный ордер исполняется по 199.48 с убытком 0.97. Другой бар закрывается на 199.70 и удерживается ниже ORL: это контрольный сценарий пробоя и закрепления, не вход на разворот. Новый календарный день не должен заменять стоп существующей сделки новым PDL.

Разделите срок действия уровня и срок действия сделки.

Опорный уровень может истечь с закрытием сессии, а открытая сделка следует своему правилу выхода. Для ожидающих кандидатов базовый вариант берёт лишь первый допустимый вынос на level_id в сессии. Поздние касания проверяйте отдельно, чтобы выяснить, сосредоточен ли результат в первом подходе.

Если для входа требуется пробой выше свечи восстановления, ордер стоп-входа может существовать только после завершения этой свечи. Триггер следующей свечи с последующим стоп-лоссом по-прежнему считается сделкой, даже если окончательное закрытие выглядит непривлекательным. Свеча, пересекающая обе границы диапазона, требует внутрибарных записей или флага недостаточной последовательности.

Сохраните UTC, часовой пояс биржи, время исходного события и местное время получения. При переносе фьючерсного контракта не сравнивайте нескорректированную цену нового контракта с уровнем предыдущего дня по старому контракту. График непрерывного исследования и торгуемый контракт должны иметь документально подтвержденное соответствие.

Практический тест должен включать позднее открытие и остановку торгов, пересекающую временную границу диапазона. Определите, считается ли диапазон открытия по часам или по прошедшим доступным для торговли минутам. Это даёт разные уровни; нельзя менять определение после выбора более выгодной сделки.

Разделите влияние уровня и влияние времени суток.

Сравните выносы PDH/PDL со скользящими опорными уровнями на сходном расстоянии от цены или условными уровнями сопоставимой плотности. Согласуйте минуту сессии, размер гэпа и волатильность. Сравнение выносов на открытии со всеми спокойными минутами может в основном измерять эффект самого открытия.

Сообщайте результаты по типу уровня, шаблону сессии, режиму летнего времени и категории гэпа. Проверяйте праздники и короткие сессии календарным механизмом. Математическое ожидание после затрат и доля неисполнений дополняют результаты капитала, включающие сессии без сигнала.

В ходе тестирования границ следует учитывать сделки, совершенные точно в моменты времени window_start и window_end, дублирующиеся временные метки, отсутствующие бары, поздние коррекции и первую сессию после смены часового пояса. Необходимо сохранять версию календаря, используемого для каждого запуска. Небольшое количество привлекательных примеров не доказывает, что стратегия предоставляет достаточно возможностей для оправдания затрат на мониторинг и исполнение.

Частые ошибки

Использовать итоговые экстремумы незавершённого дня

Итоговый экстремум содержит информацию, ещё недоступную в течение сессии.

Фиксировать одно местное время открытия на весь год

Перевод часов и различия в календаре могут сместить желаемый временной интервал.

Многократно считать совпадающие уровни

Показатели ORL, минимальное значение сессии и PDL на том же уровне цены могут описывать одно и то же событие.

Список проверки перед использованием метода

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

0/7 пунктов

Частые вопросы

Возможен ли вынос во время формирования диапазона открытия?

Цена может пересечь предварительную границу, но это уже другой механизм. Он не может использовать окончательный ORH/ORL до завершения открытия окна.

Обязательно ли первый вынос лучший?

Нет. Принцип «первого касания» — это предлагаемая политика, призванная сделать эпизоды независимыми друг от друга. Последующие касания следует сохранять и тестировать как отдельные варианты.

Источники исследования

Каждый источник подтверждает указанное рядом определение или доказательство. Псевдокод, искусственные примеры и предлагаемые параметры требуют отдельной проверки.

  1. Session SweepsLuxAlgo on TradingView. Изучено исходное описание выносов сессионных уровней; прибыльность не проверена. Проверено: .
  2. SessionsTradingView. Изучены механика сессий и часовые пояса, не исследование торговой альфы. Проверено: .
  3. Holidays and Trading HoursNYSE. Открыт официальный календарь и справочник торговых часов. Проверено: .

Связанные методы

Примечание о рисках

Материал предназначен для обучения и планирования исследований, а не является финансовой рекомендацией. Backtest моделирует прошлые данные, не гарантирует будущую доходность и не совершает реальные сделки. Методы библиотеки не обязательно реализованы в приложении. См. методологию и учебный центр.

Проверьте правила, прежде чем рисковать реальным капиталом

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

Скачать Backtest в App Store