Стратегия тренда канала (англ. Channel Trend strategy) - это стратегия, основанная на цене открытия и канале Дончиана (англ. Donchian Channel).
Выберите временные рамки (ежедневные, еженедельные и т.д.) и получите цену открытия в качестве цены ориентировки.
Вычислить N-дневную скользящую среднюю наивысшей цены и наименьшей цены с использованием индикатора Donchian Channel, образуя ценовой канал.
Начертите прямую линию от текущей цены закрытия до цены открытия данного периода времени, как линию ориентировки тренда.
Когда цена закрытия проходит через верхнюю полосу Дончянского канала, генерируется сигнал покупки.
Установите стратегию стоп-лосса и прибыли.
Сочетание линий ориентировки и линий каналов блокируется в направлении тренда и генерирует постоянные сигналы при наличии тренда, фильтруя некоторое количество шума.
Использование открывающей цены в качестве стратегической ориентировочной линии может эффективно определять изменения ценовой тенденции в разные временные рамки.
Индикатор канала Донкиа может эффективно устранить влияние краткосрочных колебаний на линию бенчмарка.
Сочетание линий бенчмарка и Дончианского канала может генерировать сигналы, когда тренд ясен, избегая ложных прорывов.
Автоматическая остановка потерь и получение прибыли блокирует некоторые прибыли и контролирует риски.
Эта стратегия имеет несколько параметров и легко внедряется.
Он может генерировать больше недействительных сигналов во время рынка с диапазоном.
Если параметры установлены неправильно, стоп-лосс может быть задействован преждевременно.
Эта стратегия больше опирается на рыночные тенденции и не подходит для стратегий средней реверсии.
При ненормальных рыночных условиях цена может прорваться через линию стоп-лосса, что напрямую приводит к огромным потерям.
Испытайте различные параметры временных рамок, чтобы выбрать самый гладкий для генерации сигнала.
Настроить параметры Дончянского канала, чтобы установить более подходящую ширину канала.
Оптимизировать коэффициент стоп-лосса и прибыли на основе различных характеристик продукта.
Добавить другие индикаторные фильтры, чтобы избежать сигналов, генерируемых в ненормальных рыночных условиях.
Стратегия тренда канала использует линии канала, сформированные ценой открытия и каналом Дончиана для определения направления тренда цены. Она может генерировать легко читаемые постоянные сигналы, блокировать прибыль и контролировать риски с помощью установки стоп-лосса и прибыли, что делает ее очень практичной стратегией следования тренду. Благодаря постоянному тестированию и оптимизации параметров эта стратегия может применяться к различным продуктам и достигать хорошей отдачи на трендовых рынках.
/*backtest start: 2023-11-17 00:00:00 end: 2023-12-17 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // strategy("STR-TREND", overlay=true) emax = ta.ema(close,1) plot(emax,title="X-EMA",color=color.black,linewidth=2) XDX = input.string(title="TIMELINE", defval="M") xdaily = request.security(syminfo.tickerid, XDX, open,barmerge.gaps_off, barmerge.lookahead_on) length = input.int(21, minval=1) lower = ta.lowest(xdaily,length) upper = ta.highest(xdaily,length) XXX = close>upper?lower:upper plot(XXX,title="STR-X",color=color.red,linewidth=4) TAKEPROFIT = input.int(15,title="Take Profit %", minval=1) SELLTAKEPROFIT = XXX * (1-(TAKEPROFIT/100)) BUYTAKEPROFIT = XXX * (1+(TAKEPROFIT/100)) TAKEPROFITX = close<XXX?SELLTAKEPROFIT:BUYTAKEPROFIT plot(TAKEPROFITX,title="TAKE PROFIT",color=color.black,linewidth=1) //////////////STRATEGY /////////////////// buystat= ta.crossover(close,XXX) sellstat = ta.crossunder(close,XXX) plotshape(buystat==true, title='long', text='BUY', textcolor=color.new(color.white, 0), style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), size=size.tiny) plotshape(sellstat==true, title='short', text='SELL', textcolor=color.new(color.white, 0), style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), size=size.tiny) //////////////STRATEGY /////////////////// strategy.entry("LONG", strategy.long, when = buystat==true, comment="") strategy.exit("BUY TP", "LONG", qty_percent = 50 ,limit = BUYTAKEPROFIT) strategy.close("LONG", when = sellstat==true, comment="") strategy.entry("SHORT", strategy.short, when = sellstat==true, comment="") strategy.exit("SELL TP", "SHORT", qty_percent = 50 ,limit = SELLTAKEPROFIT) strategy.close("SHORT", when = buystat==true , comment="")