Стоп-стоп-стратегия Кртнерского канала - это количественная стратегия оптимизации торговых решений на основе метода анализа Кртнерского канала с добавлением правил стоп-стоп. Эта стратегия отслеживает связь цены с подъемом и падением канала, вступает в позиционное направление при появлении прорыва и балансирует риски и выгоды в соответствии с оптимальной точкой стоп-стоп.
Расчет средних, верхних и нижних путей в Кетнерском канале.
При попадании цены в верхнюю полосу следует учитывать множественные возможности; при попадании в нижнюю полосу следует учитывать пустые.
При повышении цены вход будет увеличен; при повышении цены вход будет пуст.
Установите стоп-пойнт для повышения входной цены в определенной пропорции, а стоп-пойнт для снижения входной цены в определенной пропорции.
Преимущества этой стратегии заключаются в том, что она включает в себя правила стоп-стоп, которые своевременно останавливают убытки, когда они слишком велики, и своевременно останавливают убытки до конца волны. В то же время она также обеспечивает сигналы для повторного входа и устойчивого участия в трендовых сделках.
Параметры могут быть оптимизированы для различных сортов, чтобы достичь оптимального баланса риска и выгоды.
Кетнерский канал оценивает тенденции
Стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп-стоп
Гладкий выход, чтобы избежать ложного прорыва
Гибкая политика, с возможностью корректировки параметров
Используется в сочетании с другими показателями
Необходимо повысить коэффициент остановки и убытков
Есть риск остановки
Прорыв канала может привести к убыткам
Слишком маленькие остановки могут привести к частым остановкам.
Стратегия стоп-лосса в канале Кетнера оптимизирована для традиционных торговых каналов, контролируя торговые риски при одновременном отслеживании тенденции. Хороший эффект стратегии может быть получен с помощью повторного отслеживания и корректировки параметров.
/*backtest
start: 2023-08-15 00:00:00
end: 2023-08-23 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Optimized Keltner Channels Strategy for BTC", overlay=true)
length = input(9, minval=1)
mult = input(1.0, "Multiplier")
src = input(close, title="Source")
exp = input(true, "Use Exponential MA")
BandsStyle = input("Average True Range", options = ["Average True Range", "True Range", "Range"], title="Bands Style")
atrlength = input(18, "ATR Length")
sl = input(defval=22, minval=0, title="Stop Loss (%)")
tp = input(defval=21, minval=0, title="Take Profit (%)")
esma(source, length)=>
s = sma(source, length)
e = ema(source, length)
exp ? e : s
ma = esma(src, length)
rangema = BandsStyle == "True Range" ? rma(tr(true), length) : BandsStyle == "Average True Range" ? atr(atrlength) : rma(high - low, length)
upper = ma + rangema * mult
lower = ma - rangema * mult
c = color.blue
u = plot(upper, color=color.green, title="Upper")
plot(ma, color=#0094FF, title="Basis")
l = plot(lower, color=color.red, title="Lower")
fill(u, l, color=#0094FF, transp=95, title="Background")
crossUpper = crossover(src, upper)
crossLower = crossunder(src, lower)
bprice = 0.0
bprice := crossUpper ? close+syminfo.mintick : nz(bprice[1])
sprice = 0.0
sprice := crossLower ? close-syminfo.mintick : nz(sprice[1])
crossBcond = false
crossBcond := crossUpper ? true
: na(crossBcond[1]) ? false : crossBcond[1]
crossScond = false
crossScond := crossLower ? true
: na(crossScond[1]) ? false : crossScond[1]
cancelBcond = crossBcond and (src < ma or high >= bprice )
cancelScond = crossScond and (src > ma or low <= sprice )
if (cancelBcond)
strategy.cancel("KltChLE")
if (crossUpper)
strategy.entry("KltChLE", strategy.long, stop=bprice, comment="Long")
if (cancelScond)
strategy.cancel("KltChSE")
if (crossLower)
strategy.entry("KltChSE", strategy.short, stop=sprice, comment="Short")
strategy.exit("long exit", "KltChLE", profit = close * tp * 0.01 / syminfo.mintick, loss = close * sl * 0.01 / syminfo.mintick)
strategy.exit("Short exit", "KltChSE", profit = close * tp * 0.01 / syminfo.mintick, loss = close * sl * 0.01 / syminfo.mintick)
plot(bprice, color=color.green)
plot(sprice, color=color.red)