Стратегия тренда, основанная на открытии ценового канала


Дата создания: 2023-12-18 12:35:42 Последнее изменение: 2023-12-18 12:35:42
Копировать: 1 Количество просмотров: 624
1
Подписаться
1621
Подписчики

Стратегия тренда, основанная на открытии ценового канала

Обзор

Тренд-канальная стратегия - это стратегия отслеживания трендов, основанная на открытии цены и донхианских каналах. Она определяет направление тренда путем нанесения трендовой линии от текущей цены до цены открытия, в сочетании с ценовым каналом, образованным донхианскими каналами.

Стратегический принцип

  1. Выберите период времени (солнечный, солнечный и т. д.) и получите в качестве базовой цены начальную цену этого периода.

  2. Используя Donchian Channel Index, вычислите N-дневную скользящую среднюю от максимальной цены и минимальной цены за данный цикл, образуя ценовой канал.

  3. Нарисуйте прямую линию от текущей цены закрытия до цены открытия этого цикла в качестве ориентира тренда.

  4. Сигнал “купить” появляется, когда цена закрытия прорывается вдоль верхнего прохода Donchian; сигнал “продать”, когда цена закрытия прорывается вдоль нижнего прохода Donchian.

  5. Настройка стратегии стоп-стоп.

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

Анализ преимуществ

  1. Используя цены открытия как стратегический ориентир, можно эффективно оценить изменения ценовых тенденций в разные периоды времени.

  2. Данчианский канал эффективно устраняет влияние краткосрочных колебаний на базовую линию.

  3. В сочетании с эталонной линией и Дончианским каналом можно создавать сигналы, когда тренд ясен, чтобы избежать ложных прорывов.

  4. Автоматически устанавливается стоп-стоп-позиция, которая позволяет блокировать часть прибыли и контролировать риск.

  5. Эта стратегия имеет небольшие параметры, не слишком сложна для реализации и легко освоима.

Анализ рисков

  1. В результате, в результате сборов, может быть получено больше недействительных сигналов.

  2. Если параметры установлены неправильно, то стоп-стадии слишком близки, что может привести к преждевременной остановке игры.

  3. Эта стратегия больше зависит от тенденций, чем от стратегии FREQ.

  4. В экстраординарных ситуациях цена может напрямую пробиться через линию стоп-лосса, что приводит к крупным убыткам.

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

  1. Можно тестировать различные циклические параметры, выбирая наиболее плавный цикл для получения сигнала.

  2. Можно настроить параметры Donchian-каналов, чтобы установить более подходящую ширину каналов.

  3. Оптимизировать коэффициент остановочного ущерба можно в зависимости от характеристик разных сортов.

  4. Можно добавить фильтры для других индикаторов, чтобы избежать появления сигналов в аномальных условиях.

Подвести итог

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

Исходный код стратегии
/*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="")