
Chiến lược này là một hệ thống giao dịch kết hợp các kênh Keltner và các chỉ số động lực, chủ yếu được sử dụng để xác định các cơ hội giao dịch đột phá tiềm năng và xác định cường độ của xu hướng thị trường. Chiến lược này được thực hiện bằng cách giám sát giá cả có phá vỡ kênh Keltner hay không, đồng thời kết hợp các chỉ số động lực để xác nhận cường độ của xu hướng, để đưa ra quyết định giao dịch.
Lập luận cốt lõi của chiến lược dựa trên hai chỉ số kỹ thuật chính:
Các tín hiệu giao dịch tạo ra các quy tắc:
Đề xuất kiểm soát rủi ro:
Chiến lược này được kết hợp với kênh Kentner và chỉ số động lực để xây dựng một hệ thống giao dịch theo dõi xu hướng đáng tin cậy hơn. Ưu điểm của chiến lược là tín hiệu đáng tin cậy cao, kiểm soát rủi ro hợp lý, nhưng cũng cần chú ý đến tác động của môi trường thị trường đối với hiệu suất chiến lược.
/*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")