
Тренд-канальная стратегия - это стратегия отслеживания трендов, основанная на открытии цены и донхианских каналах. Она определяет направление тренда путем нанесения трендовой линии от текущей цены до цены открытия, в сочетании с ценовым каналом, образованным донхианскими каналами.
Выберите период времени (солнечный, солнечный и т. д.) и получите в качестве базовой цены начальную цену этого периода.
Используя Donchian Channel Index, вычислите N-дневную скользящую среднюю от максимальной цены и минимальной цены за данный цикл, образуя ценовой канал.
Нарисуйте прямую линию от текущей цены закрытия до цены открытия этого цикла в качестве ориентира тренда.
Сигнал “купить” появляется, когда цена закрытия прорывается вдоль верхнего прохода Donchian; сигнал “продать”, когда цена закрытия прорывается вдоль нижнего прохода Donchian.
Настройка стратегии стоп-стоп.
Эта стратегия использует комбинацию базовых и канальных линий для определения направления тренда, создания постоянного сигнала при наличии тренда, а также для фильтрации частичного шума.
Используя цены открытия как стратегический ориентир, можно эффективно оценить изменения ценовых тенденций в разные периоды времени.
Данчианский канал эффективно устраняет влияние краткосрочных колебаний на базовую линию.
В сочетании с эталонной линией и Дончианским каналом можно создавать сигналы, когда тренд ясен, чтобы избежать ложных прорывов.
Автоматически устанавливается стоп-стоп-позиция, которая позволяет блокировать часть прибыли и контролировать риск.
Эта стратегия имеет небольшие параметры, не слишком сложна для реализации и легко освоима.
В результате, в результате сборов, может быть получено больше недействительных сигналов.
Если параметры установлены неправильно, то стоп-стадии слишком близки, что может привести к преждевременной остановке игры.
Эта стратегия больше зависит от тенденций, чем от стратегии FREQ.
В экстраординарных ситуациях цена может напрямую пробиться через линию стоп-лосса, что приводит к крупным убыткам.
Можно тестировать различные циклические параметры, выбирая наиболее плавный цикл для получения сигнала.
Можно настроить параметры Donchian-каналов, чтобы установить более подходящую ширину каналов.
Оптимизировать коэффициент остановочного ущерба можно в зависимости от характеристик разных сортов.
Можно добавить фильтры для других индикаторов, чтобы избежать появления сигналов в аномальных условиях.
Стратегия канального тренда использует канальную линию, сформированную откроемыми ценами и донхианскими каналами, для определения направления ценового тренда. Она может генерировать легко читаемый постоянный сигнал, блокировать прибыль и контролировать риск путем установки стоп-стоп. Это очень практичная стратегия отслеживания тенденций.
/*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="")