Эта стратегия сочетает в себе адаптивный индикатор скользящей средней ATR и следующий за трендом для обнаружения тенденций на рынке и торговли вдоль тренда. Она использует скользящую среднюю Hull, чтобы сгладить ATR и сформировать плавные скользящие средние ATR, а затем генерирует торговые сигналы на основе отношения цены с скользящими средними ATR. Кользящие средние ATR могут эффективно фильтровать рыночный шум и идентифицировать значительные тенденции. Стратегия также устанавливает фиксированные точки остановки потери и получения прибыли для контроля соотношения риск/вознаграждение на торговле. В целом эта стратегия направлена на следование тенденциям, идентифицированным адаптивными скользящими средними ATR, и достижение устойчивого роста прибыли посредством строгого управления рисками.
Основным показателем этой стратегии является скользящая средняя ATR. ATR является важным инструментом измерения волатильности, который измеряет волатильность рынка и колебания цен.
В частности, стратегия сначала рассчитывает истинный диапазон, который представляет собой разницу между высокими и низкими ценами дня, и максимальную разницу между предыдущим закрытием и текущей самой высокой/низкой ценой. Затем он применяет метод скользящей средней Хулл, чтобы сгладить TR и получить адаптивные скользящие средние ATR. Кользящие средние ATR могут фильтровать высокочастотный рыночный шум и только улавливать значительные колебания цен.
После расчета скользящих средних ATR, стратегия сравнивает цену с скользящими средними ATR. Когда цена пересекает пересечение над скользящей средней ATR, это сигнализирует о восходящей тенденции, и стратегия идет на длинный. Когда цена пересекает пересечение ниже скользящей средней ATR, это сигнализирует о нисходящей тенденции, и стратегия идет на короткий.
Кроме того, после каждой сделки устанавливаются фиксированные диапазоны стоп-лосса и прибыли. Когда цена достигает уровня стоп-лосса, торговля прекращается. Когда цена достигает уровня прибыли, прибыль принимается. Это ограничивает потерю и блокирует прибыль для каждой сделки.
В целом, эта стратегия сочетает в себе адаптивные скользящие средние ATR и строгое управление рисками, чтобы следовать значительным тенденциям и контролировать убытки за сделку, с тем чтобы достичь устойчивого роста прибыли.
Основными преимуществами этой стратегии являются:
Использование адаптивных скользящих сред ATR для эффективного выявления значимых тенденций и фильтрации шума рынка, чтобы избежать ловушки.
Применение метода скользящей средней Hull для расчета более плавных скользящих средних ATR, избегая введения в заблуждение высокочастотными колебаниями.
Установка фиксированного стоп-лосса и получения прибыли для ограничения потерь на одну сделку и блокировки прибыли, обеспечивая соотношение риск/прибыль.
Тенденция, следующая за торговым стилем, может удерживать тенденции и увеличивать потенциал прибыли.
Простая и понятная логика, гибкие параметры подходят для различных продуктов и рынков.
Может быть применен в любом продукте, чтобы следовать тенденциям.
Основными рисками этой стратегии являются:
Возможность ложных сигналов от скользящих средних ATR. Цены могут сильно колебаться и вызывать ошибки в сигналах скользящих средних ATR.
Если стоп-лосс слишком тесный, увеличивается вероятность того, что он будет остановлен.
Фиксированная прибыль может выйти слишком рано, не в состоянии поймать полные тенденции.
Необходимо приостановить торговлю во время таких событий, чтобы избежать больших потерь.
Невозможность своевременного выхода, когда тенденция меняется, может привести к потерям от обратного тренда.
Параметры должны быть оптимизированы для различных продуктов и рынков, иначе это может повлиять на эффективность стратегии.
Стратегия может быть оптимизирована в следующих аспектах:
Оптимизировать параметры скользящей средней ATR, включая период ATR и параметры сглаживания, которые влияют на скользящую среднюю ATR.
Оптимизируйте стратегию стоп-лосса и прибыли. Рассмотрите динамические остановки и цели, основанные на ATR, а не на фиксированных значениях.
Добавьте правила для определения обратной тенденции, комбинируя другие показатели, чтобы избежать ловушки обратной тенденции.
Испытать и оптимизировать параметры для различных продуктов и рыночных условий, чтобы найти оптимальные параметры.
Добавьте обнаружение экстремальных событий, приостановить торговлю, когда произойдут огромные ценовые скачки, чтобы контролировать потери.
Оптимизируйте сроки входа, подумайте о входе на выводе вместо выхода, чтобы снизить риск.
Оптимизация комбинации параметров, тестирование различных комбинаций периода ATR и параметров сглаживания для поиска наилучшего совпадения.
В общем, эта стратегия использует адаптивные скользящие средние ATR для выявления тенденций и торгует тенденциями с фиксированной остановкой потери и получением прибыли. Кользящие средние ATR эффективно идентифицируют тенденции, а фиксированные остановки и цели контролируют риск/вознаграждение. Преимущества просты и ясны логикой, легко понятны, адаптируются к различным продуктам с помощью настройки параметров. Но риски включают ложные сигналы, существует неправильное настройка остановки потери.
/*backtest start: 2022-10-26 00:00:00 end: 2023-11-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("ATR(Hull)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= false, calc_on_every_tick=true, pyramiding=0) length = input(title="Length", defval=14, minval=1) price = input(close) SL = input(50, title="Stop loss") TP = input(150, title="Take profit") FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2018, title = "From Year", minval = 2017) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) window() => true p=price[1] func_hma(style, length)=> return = wma((2*wma(p,length/2))-wma(p,length),round(sqrt(length))) ATR=func_hma(tr(true), length) plot(ATR[0], title="ATR1",color=green,transp=0) plot(ATR[1], title="ATR2",color=red,transp=0) if (ATR>ATR[1]) strategy.entry("long",strategy.long,comment="Long",when=window()) if (ATR<ATR[1]) strategy.entry("short",strategy.short,comment="Short",when=window()) //strategy.close_all(when=strategy.openprofit<-eqSL and window()) //strategy.close_all(when=strategy.openprofit>eqTP and window()) strategy.exit("exit", "long", profit = TP, loss = SL) strategy.exit("exit", "short", profit = TP, loss = SL)