
Это количественная торговая стратегия, основанная на прорыве в открытом диапазоне Нью-Йоркского рынка, в сочетании с подтверждением сделки и индексной движущейся средней (EMA) в качестве фильтра тренда. Эта стратегия отслеживает диапазон колебаний цены в течение первых 15 минут после открытия Нью-Йоркской торговой сессии.
Эта стратегия основана на идее рынка, что ценовые диапазоны, сформированные во время открытия рынка, имеют важное психологическое значение поддержки и сопротивления. Конкретный принцип работы следующий:
Логика генерирования торговых сигналов:
Точное распознавание времени рынка: сосредоточившись на времени открытия рынка, стратегия может улавливать важные ценовые движения в начале дня, вызванные участием институциональных инвесторов, которые часто определяют направление торговли в течение всего дня.
Многократный механизм подтверждения: Стратегия включает в себя трехкратный механизм подтверждения ценовых прорывов, направления тенденции и объема сделок, что значительно снижает риск ложных прорывов. В частности, требование подтверждения объема сделок гарантирует, что сделки совершаются только при наличии достаточного количества участников рынка.
Динамическое управление рисками: используя ATR для динамической корректировки уровней стоп-лосса и стоп-стоп, стратегия может корректировать параметры риска в соответствии с интеллектом текущей волатильности рынка, чтобы сохранить постоянный риск-прибыль в различных волатильных условиях.
Гибкость параметров: Стратегия предоставляет множество регулируемых параметров, включая продолжительность отрыва от торгов, требования к множителям объема торгов, циклы EMA и настройки ATR. Пользователи могут оптимизировать эффективность стратегии в зависимости от различных видов торгов и рыночных условий.
Тренд-следующая характеристика: с помощью фильтра EMA, стратегия гарантирует, что торговля будет вестись только в направлении общей тенденции, повышая успех и устойчивость торгов.
Риск ложного прорыва: Несмотря на наличие многочисленных механизмов подтверждения, рынок может быстро развернуться после прорыва, что приведет к снятию убытков. Решение заключается в добавлении дополнительных фильтрующих условий, таких как продолжительность подтверждения прорыва или более строгие требования к объему сделок.
Влияние рынка шума: особенно в условиях высокой волатильности рынка, открытые промежутки могут быть слишком широкими или слишком узкими, что влияет на эффективность стратегии. Подумайте об использовании волатильного фильтра, чтобы скорректировать параметры стратегии или приостановить торговлю в необычно волатильные дни.
Зависимость от конкретного времени: стратегия сильно зависит от поведения цены во время открытия торгов и может пропустить торговые возможности в другие временные периоды. Можно рассмотреть возможность расширения на несколько временных окон или в сочетании с другими торговыми сигналами.
Чувствительность к параметрам: эффективность стратегии зависит от выбора параметров, особенно от длины EMA и кратности объема транзакций. Рекомендуется проводить полную оптимизацию и обратную проверку параметров, чтобы найти стабильную комбинацию параметров.
Приспособность к рыночной среде: в невыраженных тенденциях или на горизонтальных рынках стратегия может привести к более убыточным сделкам. Можно ввести индикатор силы тренда (например, ADX) в качестве дополнительного фильтра или динамически корректировать параметры стратегии в различных рыночных условиях.
Усиление фильтрации трендов: в текущей стратегии используются два EMA в качестве фильтра трендов, можно рассмотреть вопрос о добавлении ADX (средний индикатор тренда) для оценки силы тренда и торговать только при четкой тенденции. Это уменьшит ложные сигналы в горизонтальных рынках.
Динамический порог объема сделок: текущая стратегия использует фиксированный коэффициент объема сделок ((1,3 раза), можно рассмотреть возможность изменения объема сделок в зависимости от волатильности рынка или динамики в течение определенного периода времени, сохраняя соответствующую чувствительность в различных рыночных условиях.
Механизм подтверждения прорыва: можно добавить условия подтверждения после прорыва, например, требуя, чтобы цена после прорыва оставалась в направлении прорыва в течение определенного времени (например, 5 минут), или использовать формулу K-линии для подтверждения, что снизит риск ложного прорыва.
Оптимизация стратегии стоп-стоп: существующие стратегии используют одни и те же ATR, чтобы установить стоп-стоп и стоп-стоп, можно рассмотреть возможность использования асимметричного риско-прибыльного соотношения (например, 1:2 или 1:3), или реализовать динамическую стратегию стоп-стоп, такую как перемещение стоп-стоп или раздельное получение прибыли.
Временные фильтры: из-за различных особенностей различных торговых периодов можно добавлять временные фильтры, чтобы избежать периодов с низкой ликвидностью или неблагоприятной волатильностью, таких как обеденное время или время окончания.
Классификация состояния рынка: разработка классификационной модели состояния рынка для выявления различных рыночных условий (например, тенденции, потрясения, высокая волатильность и т. Д.) и установление различных параметров стратегии или правил торговли для каждой среды.
Анализ нескольких временных рамок: введение более высоких временных рамок для определения тенденций, обеспечения согласованности направления торгов с более крупными тенденциями рынка и повышения устойчивости стратегии.
Стратегия прорыва в открытом диапазоне, в сочетании с подтверждением объема торгов и индексными движущимися средними, является тщательно разработанной количественной торговой системой, которая использует ключевую информацию о ценах во время открытия рынка, в сочетании с техническими показателями и данными о объеме торгов, чтобы сформировать целостную рамку для принятия решений о торговле. Эта стратегия особенно подходит для захвата трендовых действий в течение дня, эффективно снижая риск ложных сигналов с помощью многократного механизма подтверждения.
Ключевые преимущества стратегии заключаются в ее точном понимании динамики открытия рынка и строгом отборе условий торговли, в то время как риски в основном связаны с зависимостью от конкретных периодов времени и чувствительностью к параметрам. С помощью предлагаемого направления оптимизации, в частности, усиления механизмов фильтрации тенденций и подтверждения прорывов, стратегия имеет потенциал для дальнейшего повышения ее устойчивости и адаптивности.
Для количественных трейдеров эта стратегия предоставляет структурированную структуру, которая может быть гибко адаптирована и оптимизирована в зависимости от различных рыночных условий и торговых сортов. И самое главное, она подчеркивает важность объединения анализа ценового поведения, объема сделок и тенденций, которые являются краеугольным камнем успешной торговой системы.
/*backtest
start: 2025-05-05 00:00:00
end: 2025-05-11 00:00:00
period: 3m
basePeriod: 3m
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
//@version=5
strategy("ORB Strategy w/ Volume Confirmation & EMAs", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// INPUTS
rangeDuration = input.int(15, title="Opening Range Duration (minutes)", minval=1)
volumeMultiplier = input.float(1.3, title="Volume Confirmation Multiplier", minval=1.0)
atrLength = input.int(5, title="ATR Length")
atrMultiplier = input.float(1.5, title="ATR Multiplier for SL/TP")
emaShortLen = input.int(20, title="Short EMA Length")
emaLongLen = input.int(50, title="Long EMA Length")
// TIMESTAMPS FOR NY OPEN RANGE
startTime = timestamp("America/New_York", year, month, dayofmonth, 9, 30)
rangeEndTime = startTime + rangeDuration * 60 * 1000
// TRACK OPENING RANGE
var float orHigh = na
var float orLow = na
if time == startTime
orHigh := high
orLow := low
if time > startTime and time <= rangeEndTime
orHigh := math.max(orHigh, high)
orLow := math.min(orLow, low)
// reset next day
if time > rangeEndTime and ta.change(time("D"))
orHigh := na
orLow := na
// PLOT ORB LINES
plot(orHigh, color=color.green, title="ORB High", linewidth=2)
plot(orLow, color=color.red, title="ORB Low", linewidth=2)
// EMAs FOR TREND FILTER
emaShort = ta.ema(close, emaShortLen)
emaLong = ta.ema(close, emaLongLen)
plot(emaShort, color=color.blue, title="20-period EMA")
plot(emaLong, color=color.purple, title="50-period EMA")
// VOLUME CONFIRMATION
avgVol = ta.sma(volume, 20)
highVolOK = volume > avgVol * volumeMultiplier
// ATR FOR S/L AND T/P
atr = ta.atr(atrLength)
// ENTRY CONDITIONS
longCond = time > rangeEndTime
and close > orHigh
and close > emaShort
and close > emaLong
and highVolOK
shortCond = time > rangeEndTime
and close < orLow
and close < emaShort
and close < emaLong
and highVolOK
if (longCond)
strategy.entry("Long", strategy.long)
if (shortCond)
strategy.entry("Short", strategy.short)
// EXIT (ATR-BASED)
stopDist = atr * atrMultiplier
profitDist = atr * atrMultiplier
strategy.exit("Exit Long", from_entry="Long", stop=close - stopDist, limit=close + profitDist)
strategy.exit("Exit Short", from_entry="Short", stop=close + stopDist, limit=close - profitDist)