
ATR - это система количественного трейдинга, предназначенная для захвата вспышных прорывов в низкооборотных сегментах. Стратегия основана на механизме комплексного сигнала “выдавливание колебаний + прорыв каналов + подтверждение динамики” для поиска вероятных покупательских возможностей путем идентификации точек перехода рынка от сжатия к расширению.
Ключевой принцип этой стратегии основан на теории цикла волатильности, то есть рыночная волатильность циклически чередуется между периодами высокой волатильности и периодами низкой волатильности. Когда волатильность находится в аномально низких пределах, рынок, как правило, накапливает энергию, готовясь к прорыву в определенном направлении. Конкретная логика работы стратегии такова:
Идентификация сжатия колебанийИспользуйте ATR (средний реальный диапазон) для классификации показателя волатильности, который идентифицируется как “выдавливание”, когда он ниже установленного пользователем порога, что указывает на низкую волатильность рынка.
Прорыв подтвержден.: рассчитывает максимальные и минимальные цены за последние N циклов, формирующие ценовые каналы, вызывает сигнал прорыва, когда цена прорывает предыдущие каналы на трассу (поверхность).
Мощный фильтрИспользование показателя ROC (скорость изменения) для подтверждения положительного движения цены, обеспечения согласованности направления прорыва с тенденцией движения, уменьшения ложных прорывов.
Комбинация условий: только когда текущий цикл находится в сжатом состоянии, текущий цикл прорывает канал на трассе и движение является положительным, посылается сигнал купить.
Управление рискамиПрименение стратегии стоп-стоп с фиксированным количеством очков, установление целевой прибыли с фиксированным количеством очков выше цены входа, установление уровня стоп-стоп с фиксированным количеством очков ниже цены входа.
Ключевые части кода отражают эту логику:
atrNorm = atr / closehighestHigh = ta.highest(high, lengthChannel)иlowestLow = ta.lowest(low, lengthChannel)squeeze = atrNorm < squeezeThresholdbreakout = ta.crossover(close, highestHigh[1])momentumUp = roc > 0buySignal = squeeze[1] and breakout and momentumUpТочное запечатление высоковероятных прорывовКомбинированные условия с помощью выявления сжатия колебаний и подтверждения динамики значительно повышают надежность прорывного сигнала и уменьшают потери от ложных прорывов.
Комбинированная фильтрацияСтратегия не зависит только от одного показателя, но комплексно учитывает три измерения волатильности, ценового прорыва и динамики, формирует механизм многократного подтверждения и повышает качество сигнала.
Ясное управление рискамиПрименение фиксированного количества стоп-стоп-лосс механизмов, позволяющих трейдерам точно рассчитывать риско-возвратный коэффициент перед торговлей, облегчает управление капиталом и контроль позиций.
Высокая степень адаптацииПри помощи параметров (длина ATR, длина канала, длина ROC, предел сжатия, количество остановочных точек) стратегия может быть адаптирована к различным рыночным условиям и особенностям сорта.
Визуализация торговых сигналовСтратегия на графике четко отображает сигналы покупки, переход вверх и вниз, а также уровень остановки и убытков, что позволяет трейдеру интуитивно понимать состояние рынка и логику торговли.
Подходит для внутридневных и коротколинейных операцийСтратегия особенно подходит для поиска вспышных прорывов в сжатых зонах, что очень хорошо подходит для внутридневных и коротколинейных трейдеров.
Риск ложного проникновенияНесмотря на то, что в стратегии используется многочисленный механизм фильтрации, рынок может быть подвержен ложным прорывам, особенно в случае больших сбоев в новостях. Рекомендуется использовать стратегию с осторожностью перед важными экономическими данными или пресс-релизом.
Слишком маленький риск: фиксированный стоп может быть недостаточным для борьбы с реальными колебаниями на рынке, особенно в условиях высокой волатильности или волатильности. Трейдер должен корректировать стоп в зависимости от особенностей торговой разновидности и динамики текущей рыночной среды.
Параметр Чувствительность: Стратегическая производительность более чувствительна к выбору параметров, особенно к установке экстремальных порогов и длины каналов. Различные рыночные условия могут требовать разных комбинаций параметров, которые необходимо регулярно отслеживать и оптимизировать.
Зависимость от рыночной средыЭта стратегия хорошо работает в периоды колебаний рынка и перехода в тренд, но может часто вызывать сигналы в сильных трендовых рынках, что приводит к чрезмерной торговле, и следует использовать с осторожностью в односторонних трендовых рынках.
Настройка баллов не соответствует рыночным колебаниямСтойки с фиксированным количеством баллов не учитывают изменения волатильности рынка. Стопы могут быть слишком малыми в период высокой волатильности, а стопы - слишком большими в период низкой волатильности.
Оптимизация динамического стоп-стоп: изменение фиксированного стоп-стоп на динамический стоп-стоп, основанный на ATR, чтобы риск-менеджмент был более адаптирован к текущим рыночным колебаниям. Например, можно установить стоп-стоп в 1,5 раза ATR и стоп-стоп в 3 раза ATR, чтобы автоматически корректироваться при изменении волатильности.
Подтверждение многократного цикла: введение условий фильтрации трендов более высоких временных циклов, торговля только в том случае, если тенденция более высоких временных циклов совпадает, снижает риск обратной торговли.
Подтверждение увеличения громкости: Включение в сигнал прорыва условий подтверждения количества сделанных сделок, подтверждение эффективности прорыва только в случае значительного увеличения количества сделанных сделок, что еще больше уменьшает количество ложных прорывов.
Добавить управление отзывом: реализация функции отслеживания стоп-убытков, динамическая корректировка уровня стоп-убытков при движении цены в благоприятном направлении для блокирования части прибыли, оптимизация коэффициента возврата риска.
Интеллектуальные параметры адаптируютсяРазработка механизма самостоятельной адаптации параметров, который автоматически корректирует параметры стратегии в соответствии с недавними рыночными колебаниями, чтобы стратегия могла лучше адаптироваться к различным этапам рынка.
Увеличение обратного сигналаСтроение стратегии по захвату возможностей для прорыва вниз, позволяя стратегии получать прибыль в двухсторонних рынках, повышая эффективность использования средств.
Оптимизация времени поступленияПосле подтверждения прорыва, можно ожидать небольшого отклонения и возобновить вход, или строить склад в пакетах, чтобы получить лучшую цену входа и повысить риск-возвращение.
ATR - это комплексная торговая система, объединяющая волатильность, ценовые прорывы и динамический анализ, которая используется для выявления высоковероятных прорывных торговых возможностей путем идентификации переходных точек рынка от низкой до высокой волатильности. Эта стратегия особенно подходит для внутридневных и коротколинейных трейдеров, которые могут эффективно улавливать тенденции, которые вспыхивают из сборных зон.
Ключевые преимущества стратегии заключаются в ее механизме подтверждения множества сигналов и четкой структуре управления рисками, но она также сталкивается с такими проблемами, как чувствительность к параметрам и зависимость от рыночной среды. С помощью реализации рекомендуемых оптимизационных мер, таких как динамические стоп-стоп, подтверждение многократных временных циклов и проверка объема сделок, можно еще больше повысить устойчивость и адаптивность стратегии.
Для квантовых трейдеров эта стратегия предоставляет прочную и логически ясную торговую структуру, которая может служить хорошей отправной точкой для создания персонализированной торговой системы. Прежде всего, перед применением в реальном мире следует провести полное историческое обследование и оптимизацию параметров, а также соответствующую корректировку в сочетании с опытом рынка и предпочтениями в отношении риска.
/*backtest
start: 2024-06-09 00:00:00
end: 2025-06-08 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("🔥 Volatility Squeeze Breakout Strategy (TP/SL in Points)", overlay=true)
// Inputs
lengthATR = input.int(14, "ATR Length")
lengthChannel = input.int(20, "Channel Length")
rocLength = input.int(9, "ROC Length")
squeezeThreshold = input.float(0.7, "Squeeze Threshold (ATR normalized)")
tpPoints = input.float(20, "Take Profit (Points)")
slPoints = input.float(10, "Stop Loss (Points)")
// Calculate ATR normalized by price
atr = ta.atr(lengthATR)
atrNorm = atr / close
// Calculate highest high and lowest low for channel
highestHigh = ta.highest(high, lengthChannel)
lowestLow = ta.lowest(low, lengthChannel)
// Calculate ROC for momentum
roc = ta.roc(close, rocLength)
// Squeeze condition: normalized ATR below threshold
squeeze = atrNorm < squeezeThreshold
// Breakout condition: close crosses above previous highest high
breakout = ta.crossover(close, highestHigh[1])
// Momentum filter: ROC positive (uptrend)
momentumUp = roc > 0
// Final buy signal combines all
buySignal = squeeze[1] and breakout and momentumUp
// Variables to store TP and SL price levels
var float buyTP = na
var float buySL = na
// Buy Entry
if (buySignal)
strategy.entry("Long", strategy.long)
buyTP := close + tpPoints
buySL := close - slPoints
// Exit Conditions: Use strategy.exit with TP and SL
if (strategy.position_size > 0)
strategy.exit("Long Exit", "Long", stop=buySL, limit=buyTP)
// Plot buy signal arrow
plotshape(buySignal, title="Buy Signal", location=location.belowbar,
style=shape.triangleup, color=color.green, size=size.small)
// Plot channel lines for reference
plot(highestHigh, color=color.red, title="Channel High", linewidth=1)
plot(lowestLow, color=color.green, title="Channel Low", linewidth=1)
// Plot TP and SL lines on chart when long position is open
plot(strategy.position_size > 0 ? buyTP : na, title="Take Profit", style=plot.style_linebr, color=color.green, linewidth=2)
plot(strategy.position_size > 0 ? buySL : na, title="Stop Loss", style=plot.style_linebr, color=color.red, linewidth=2)