
এই কৌশলটি একটি ট্রেন্ড অনুসরণ করে ট্রেডিং সিস্টেম যা সুপারট্রেন্ড নির্দেশক এবং কাউফম্যান অ্যাডাপটিভ মুভিং এভারেজ (কামা) কে একত্রিত করে। এই কৌশলটি বাজারের প্রবণতা পরিবর্তনকে গতিশীলভাবে চিহ্নিত করে, ঊর্ধ্বমুখী প্রবণতায় দীর্ঘ সুযোগের সন্ধান করে এবং ঝুঁকি নিয়ন্ত্রণের জন্য একটি নমনীয় স্টপ-লস মেকানিজম ব্যবহার করে। কৌশলটির মূল ধারণা হল সুপারট্রেন্ড সূচকের প্রবণতা দিক বিচার ক্ষমতা ব্যবহার করা, বাজারের ওঠানামার সাথে KAMA সূচকের অভিযোজিত বৈশিষ্ট্যের সাথে মিলিত হওয়া, ক্রমবর্ধমান বাজারের প্রবণতায় দীর্ঘ অবস্থান স্থাপন করা।
কৌশলটি একটি দ্বৈত প্রযুক্তিগত নির্দেশক নিশ্চিতকরণ সিস্টেম ব্যবহার করে। প্রথমত, সুপারট্রেন্ড নির্দেশক ATR এবং কাস্টম সহগগুলির মাধ্যমে প্রবণতার দিকনির্দেশ গণনা করে, যখন সূচক লাইন মূল্যের নিচে থাকে তখন একটি ঊর্ধ্বমুখী প্রবণতা নির্দেশ করে। দ্বিতীয়ত, KAMA সূচক একটি অভিযোজিত প্রক্রিয়ার মাধ্যমে চলমান গড়ের সংবেদনশীলতা সামঞ্জস্য করে এবং বিভিন্ন বাজারের পরিবেশের সাথে আরও ভালভাবে মানিয়ে নিতে পারে। একটি এন্ট্রি সিগন্যালকে একই সময়ে দুটি শর্ত পূরণ করতে হবে: সুপারট্রেন্ড একটি আপট্রেন্ড নির্দেশ করে এবং দাম KAMA লাইনের উপরে। একইভাবে, প্রস্থান সিগন্যালেরও ডবল নিশ্চিতকরণের প্রয়োজন: সুপারট্রেন্ড ডাউনট্রেন্ডে পরিণত হয় এবং দাম KAMA লাইনের নিচে পড়ে। এই ডবল নিশ্চিতকরণ প্রক্রিয়া কার্যকরভাবে মিথ্যা সংকেতের প্রভাব হ্রাস করে।
এই কৌশল দুটি প্রযুক্তিগত সূচক, Supertrend এবং KAMA একত্রিত করে একটি শক্তিশালী ট্রেন্ড-অনুসরণকারী ট্রেডিং সিস্টেম তৈরি করে। কৌশলটির প্রধান সুবিধা হল এর অভিযোজনযোগ্যতা এবং ঝুঁকি নিয়ন্ত্রণের ক্ষমতা, যা দ্বিগুণ নিশ্চিতকরণ প্রক্রিয়ার মাধ্যমে ট্রেডিং সিগন্যালের নির্ভরযোগ্যতা উন্নত করে। যদিও আপনি একটি অস্থির বাজারে কিছু চ্যালেঞ্জের সম্মুখীন হতে পারেন, যুক্তিসঙ্গত প্যারামিটার সেটিংস এবং অপ্টিমাইজেশন নির্দেশাবলী বাস্তবায়নের মাধ্যমে কৌশলটির সামগ্রিক কর্মক্ষমতা আরও উন্নত করা যেতে পারে। এই কৌশলটি মধ্য থেকে দীর্ঘমেয়াদী ট্রেন্ড ট্রেডিংয়ের জন্য বিশেষভাবে উপযুক্ত এবং স্পষ্ট প্রবণতা সহ বাজারের পরিবেশে আরও ভাল পারফর্ম করে।
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Supertrend + KAMA Long Strategy", overlay=true, commission_type=strategy.commission.percent, commission_value=0.1, slippage=3)
// User-defined inputs for date range
startDate = input(timestamp("2018-01-01 00:00:00"), title="Start Date")
endDate = input(timestamp("2069-12-31 23:59:59"), title="End Date")
inDateRange = true
// Inputs for KAMA and Supertrend
kamaLength = input.int(21, title="KAMA Length", minval=1)
atrPeriod = input.int(10, title="Supertrend ATR Length", minval=1)
factor = input.float(3.0, title="Supertrend Factor", minval=0.01, step=0.01)
//------------------------- Kaufman Moving Average Adaptive (KAMA) -------------------------
xPrice = close
xvnoise = math.abs(xPrice - xPrice[1])
Length = kamaLength
nfastend = 0.666
nslowend = 0.0645
nsignal = math.abs(xPrice - xPrice[Length])
float nnoise = 0.0
for i = 0 to Length - 1
nnoise := nnoise + xvnoise[i]
nefratio = nnoise != 0.0 ? nsignal / nnoise : 0.0
nsmooth = math.pow(nefratio * (nfastend - nslowend) + nslowend, 2)
var float nAMA = na
nAMA := nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))
plot(nAMA, color=color.blue, linewidth=2, title="Kaufman KAMA")
//------------------------- Supertrend Calculation -------------------------
[stValue, dirValue] = ta.supertrend(factor, atrPeriod)
upTrend = dirValue < 0
downTrend = dirValue >= 0
plot(dirValue < 0 ? stValue : na, "Up Trend", color=color.green, style=plot.style_linebr)
plot(dirValue >= 0 ? stValue : na, "Down Trend", color=color.red, style=plot.style_linebr)
//------------------------- Strategy Logic -------------------------
// Entry condition: Supertrend is in uptrend AND price is above KAMA
canLong = inDateRange and upTrend and close > nAMA
// Exit condition (Take Profit): Supertrend switches to downtrend AND price is below KAMA
stopLoss = inDateRange and downTrend and close < nAMA
if canLong
strategy.entry("Long", strategy.long)
label.new(bar_index, low, "BUY", color=color.green, textcolor=color.white, style=label.style_label_down, size=size.normal)
if stopLoss
strategy.close("Long", comment="Stop Loss")
label.new(bar_index, high, "STOP LOSS", color=color.red, textcolor=color.white, style=label.style_label_up, size=size.normal)
//------------------------- Alerts -------------------------
alertcondition(canLong, title="Long Entry", message="Supertrend + KAMA Long Signal")
alertcondition(stopLoss, title="Stop Loss", message="Supertrend switched to Downtrend and Price below KAMA")