
یہ حکمت عملی ٹریڈنگ سسٹم کے بعد ایک رجحان ہے جو سپر ٹرینڈ انڈیکیٹر کو کاف مین ایڈپٹیو موونگ ایوریج (KAMA) کے ساتھ جوڑتا ہے۔ حکمت عملی متحرک طور پر مارکیٹ کے رجحانات میں ہونے والی تبدیلیوں کی نشاندہی کرتی ہے، اوپر کی طرف رجحان میں طویل مواقع تلاش کرتی ہے، اور خطرات کو کنٹرول کرنے کے لیے ایک لچکدار سٹاپ لوس میکانزم کا استعمال کرتی ہے۔ حکمت عملی کا بنیادی خیال یہ ہے کہ مارکیٹ کے اتار چڑھاؤ کے لیے 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")