
이 전략은 켈트너 채널 (Keltner Channels) 과 동력 지표 (Momentum) 를 결합한 거래 시스템으로, 잠재적인 돌파 거래 기회를 식별하고 시장 움직임의 강도를 결정하는 데 주로 사용됩니다. 전략은 가격이 켈트너 채널을 뚫고 오르내리는지 모니터링하고 동력 지표와 함께 트렌드 강도를 확인하여 거래 결정을 내립니다.
이 전략의 핵심 논리는 두 가지 주요 기술 지표에 기반합니다.
트레이딩 신호는 규칙을 만들어 냅니다.
위험 관리 제안:
이 전략은 켄터 통로와 동력 지표를 결합하여 보다 신뢰할 수 있는 트렌드 추적 거래 시스템을 구축한다. 전략의 장점은 신호 신뢰도가 높고, 위험 관리가 합리적이지만, 전략의 성과에 대한 시장 환경의 영향을 주의해야 한다는 것이다. 매개 변수 최적화 및 신호 필터링의 개선으로 전략의 안정성과 수익성이 더욱 향상될 전망이다.
/*backtest
start: 2025-02-02 00:00:00
end: 2025-02-09 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Keltner Channels + Momentum Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=200)
// Nastavenia Keltner Channels
lengthKC = input.int(20, title="KC Dĺžka")
mult = input.float(1.5, title="KC Multiplikátor")
src = input(close, title="Zdroj")
// Výpočet Keltner Channels
emaKC = ta.ema(src, lengthKC)
atrKC = ta.atr(lengthKC)
upperKC = emaKC + mult * atrKC
lowerKC = emaKC - mult * atrKC
// Vykreslenie Keltner Channels
plot(upperKC, color=color.blue, title="Horný Keltner Kanal")
plot(emaKC, color=color.orange, title="Stredný Keltner Kanal")
plot(lowerKC, color=color.blue, title="Dolný Keltner Kanal")
// Nastavenia Momentum
lengthMomentum = input.int(14, title="Momentum Dĺžka")
momentum = ta.mom(close, lengthMomentum)
// Vykreslenie Momentum
hline(0, "Nulová Čiara", color=color.gray)
plot(momentum, color=color.purple, title="Momentum")
// Logika stratégie
// Vstup do Long pozície: cena prekročí horný Keltner kanal a Momentum je rastúci
longCondition = ta.crossover(close, upperKC) and momentum > 0
if (longCondition)
strategy.entry("Long", strategy.long)
// Vstup do Short pozície: cena prekročí dolný Keltner kanal a Momentum je klesajúci
shortCondition = ta.crossunder(close, lowerKC) and momentum < 0
if (shortCondition)
strategy.entry("Short", strategy.short)
// Výstup z Long pozície: cena prekročí stredný Keltner kanal alebo Momentum klesne pod 0
exitLong = ta.crossunder(close, emaKC) or momentum < 0
if (exitLong)
strategy.close("Long")
// Výstup z Short pozície: cena prekročí stredný Keltner kanal alebo Momentum stúpne nad 0
exitShort = ta.crossover(close, emaKC) or momentum > 0
if (exitShort)
strategy.close("Short")