Стратегия торговли на основе прорыва, основанная на канале Super Trend


Дата создания: 2024-02-18 14:19:58 Последнее изменение: 2024-02-18 14:19:58
Копировать: 2 Количество просмотров: 683
1
Подписаться
1617
Подписчики

Стратегия торговли на основе прорыва, основанная на канале Super Trend

Обзор

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

Когда цена прорывает канал сверхтенденции, покупает больше; когда цена падает под канал сверхтенденции, продает меньше. В то же время, он имеет механизм стоп-лоска для отслеживания тренда.

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

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

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

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

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

Это довольно простая и интуитивно понятная стратегия прорыва. Она имеет следующие преимущества:

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

  2. В связи с этим, в зависимости от ценовой зависимости от канала, есть больше свободных часов.

  3. С четким механизмом сдерживания убытков можно эффективно контролировать риски.

  4. Стоп-убыток - это стоп-убыток, который отслеживает тенденцию и максимально блокирует прибыль.

Риски и улучшения

В этой стратегии также есть некоторые риски, в частности:

  1. Неправильная настройка параметров канала супертенденции может привести к ложному сигналу.

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

  3. Стоп-пароль используется только для отслеживания тренда и может привести к преждевременному прекращению.

Соответствующие меры по улучшению включают в себя:

  1. Тест данных на различных рынках, оптимизация параметров.

  2. В сочетании с другими показателями фильтрует сигналы.

  3. В сочетании с ценовой структурой определяется надежность прорыва.

  4. Увеличение убытков в фоновом режиме и дальнейшее снижение риска.

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

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

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

Исходный код стратегии
/*backtest
start: 2023-02-11 00:00:00
end: 2024-02-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Supertrend TEST Strategy", overlay = true, format=format.price, precision=2)

Periods = input(title="ATR Period", type=input.integer, defval=4)
src = input(hlc3, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=4.7)
changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)
showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=true)
highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true)
tp=close
sl=close

atr2 = sma(tr, Periods)
atr= changeATR ? atr(Periods) : atr2
up=src-(Multiplier*atr)
up1 = nz(up[1],up)
up := close[1] > up1 ? max(up,up1) : up
dn=src+(Multiplier*atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green)
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green )
plotshape(buySignal and showsignals ? up : na, title="Лонг", text="Лонг", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white )
dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red)
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red )
plotshape(sellSignal and showsignals ? dn : na, title="Шорт", text="Шорт", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white )
mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white
shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white



if (strategy.position_size > 0)
	tp:=tp[1]
	sl:=up
	strategy.exit("Long_TP/SL","Long",limit=tp, stop=sl)
	
if (strategy.position_size < 0)
	tp:=tp[1]
	sl:=dn
	strategy.exit("Short_TP/SL","Short",limit=tp, stop=sl)



if buySignal 
	tp:=close+(close-up)*0.382
    strategy.entry("Long", strategy.long,  limit=tp, comment=tostring(round(tp)))
if sellSignal
	tp:=close-(dn-close)*0.382
    strategy.entry("Short", strategy.short, limit=tp, comment=tostring(round(tp)))