В процессе загрузки ресурсов... загрузка...

Keltner Channels Стратегия EMA ATR

Автор:Чао Чжан, Дата: 2024-06-03 10:39:20
Тэги:ЕМАATR

img

Обзор

Эта стратегия основана на индикаторе Keltner Channels, который использует экспоненциальную скользящую среднюю (EMA) и средний истинный диапазон (ATR) для построения верхнего и нижнего каналов. Когда цена прорывается ниже нижнего канала, она входит в длинную позицию, а когда цена прорывается выше верхнего канала, она закрывает позицию. Эта стратегия пытается захватить диапазон волатильности цен и получает прибыль, когда цена прорывается выше верхнего канала.

Принципы стратегии

  1. Вычислить EMA за определенный период как среднюю линию каналов Келтнера.
  2. Вычислите ATR за определенный период, затем умножьте его на коэффициент, который будет служить верхним и нижним каналами.
  3. Когда цена закрытия падает ниже нижнего канала, вводить длинную позицию и записывать цену входа.
  4. Когда цена открытия превысит верхний канал, закрыть позицию.
  5. Если вы уже находитесь на позиции, а цена открытия выше верхнего канала, закрывайте длинную позицию.

Преимущества стратегии

  1. Приспособляемость к волатильности цен. Поскольку Keltner Channels использует ATR для построения верхнего и нижнего каналов, а ATR измеряет волатильность цен, ширина канала будет соответственно увеличиваться при высокой волатильности, эффективно снижая стоимость частой торговли.
  2. Ясная логика, простота и легко понять и реализовать.
  3. В восходящем тренде эта стратегия может держать длинную позицию до тех пор, пока цена не пройдет выше верхнего канала.

Стратегические риски

  1. Отсутствие явного механизма стоп-лосса. Эта стратегия не устанавливает стоп-лосс после входа в позицию, что может привести к значительному снижению при неблагоприятных рыночных условиях.
  2. Грубое определение сигналов прорыва. Использование только ценой закрытия, падающей ниже нижнего канала, и ценой открытия, превышающей верхний канал, в качестве сигналов входа и выхода может привести к некоторым ошибочным оценкам, что приведет к потере сделок.
  3. Выбор параметров стратегии оказывает значительное влияние на результаты.Выбор периодов EMA и ATR и установка кратного ATR повлияют на эффективность стратегии, но стратегия не предоставляет четкого метода оптимизации параметров.

Направления оптимизации стратегии

  1. При входе в позицию следует рассмотреть возможность установки стоп-лосса на фиксированном количестве пунктов или процентов, чтобы контролировать максимальную потерю одной сделки.
  2. Оптимизируйте условия оценки сигналов. Рассмотрите возможность использования большей информации о цене для подтверждения прорыва, например, требуя, чтобы цена закрытия была ниже нижнего канала в течение нескольких последовательных свечей, прежде чем выйти на позицию, чтобы избежать ложных прорывов.
  3. Используйте методы, такие как генетические алгоритмы для оптимизации периодов EMA и ATR и кратного ATR, чтобы найти комбинацию параметров, которая более подходит для текущего рынка.
  4. Добавьте условия фильтрации. Подумайте о добавлении некоторых сигналов фильтрации, таких как ввод позиции только тогда, когда ADX превышает определенный порог или использование бычьего перекрестка MA в качестве фильтра тренда.

Резюме

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


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © satrusskumar

//@version=5

// Input parameters
length = input.int(21, title="EMA Length")
mult = input.float(2, title="ATR Multiplier")
atrLength = input.int(13, title="ATR Length")

// Calculate Keltner Channels
ema = ta.ema(close, length)
atr = ta.atr(atrLength)
upper_band = ema + mult * atr
lower_band = ema - mult * atr

// Plot Keltner Channels
plot(upper_band, color=color.red, title="Keltner Upper Band")
plot(ema, color=color.blue, title="Keltner EMA")
plot(lower_band, color=color.green, title="Keltner Lower Band")

// Strategy logic
var float entry_price = na
var bool in_trade = false

if (not in_trade and close < lower_band)
    strategy.entry("Long", strategy.long)
    entry_price := close
    in_trade := true

if (in_trade and open > upper_band)
    strategy.close("Long")
    in_trade := false
// Strategy settings
strategy("Keltner Channel Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)


Связанные

Больше