ڈائنامک اڈاپٹیو کاف مین موونگ ایوریج ٹرینڈ فالونگ اسٹریٹجی


تخلیق کی تاریخ: 2024-02-26 16:36:30 آخر میں ترمیم کریں: 2024-02-26 16:36:30
کاپی: 0 کلکس کی تعداد: 666
1
پر توجہ دیں
1617
پیروکار

ڈائنامک اڈاپٹیو کاف مین موونگ ایوریج ٹرینڈ فالونگ اسٹریٹجی

جائزہ

یہ حکمت عملی کاؤفمین کے خود کار طریقے سے چلنے والی اوسط ((KAMA) پر مبنی ہے ، جو مارکیٹ کے رجحانات کو خود بخود ٹریک کرنے کے لئے متحرک طور پر تجارت کی پوزیشن کو ایڈجسٹ کرتی ہے۔ حکمت عملی کی اہم خصوصیات میں شامل ہیں:

  1. متحرک حساب سے ٹرانزیکشن مرحلے کی لمبائی ((پوائنٹس میں) ، مارکیٹ میں اتار چڑھاؤ کی شرح کو ایڈجسٹ کرنا
  2. KAMA سمت کے مطابق خرید و فروخت کے سگنل پیدا کرنا
  3. سگنل کے بعد، ایک سٹاپ نقصان فاصلے مقرر کریں اور قیمت کے ساتھ ایڈجسٹ کریں
  4. اختیاری K لائن بندش کی تصدیق کے سگنل کا انتظار کریں ، جعلی سگنل کو فلٹر کریں

ان افعال کے استعمال سے ، حکمت عملی رجحانات کے اضافی فوائد حاصل کرنے کی کوشش کرتی ہے ، جبکہ خطرے کو کنٹرول کرتی ہے۔

حکمت عملی کا اصول

یہ حکمت عملی کاوفمین کے متحرک اوسط اشارے کے مطابق کام کرتی ہے۔ KAMA قیمت کی نقل و حرکت اور اتار چڑھاؤ کے تناسب کا حساب کتاب کرکے اوسط کے وزن اور ہموار کو متحرک طور پر ایڈجسٹ کرتا ہے ، جس سے قیمت میں تبدیلیوں کا زیادہ تیزی سے جواب ملتا ہے۔

جب KAMA پر نیچے جانے والی اسٹاپ لائن کو عبور کیا جاتا ہے تو ، اس کا مطلب ہے کہ رجحان الٹ جاتا ہے ، جس سے خریدنے کا اشارہ ملتا ہے۔ جب KAMA کے نیچے جانے والی اسٹاپ لائن کو عبور کیا جاتا ہے تو ، اس کا مطلب ہے کہ رجحان الٹ جاتا ہے ، جس سے فروخت کا اشارہ ملتا ہے۔ پوزیشن میں داخل ہونے کے بعد ، حکمت عملی اے ٹی آر کے مطابق ایک متحرک اسٹاپ فاصلہ کا حساب لگاتی ہے ، اور اسٹاپ لائن قائم کرتی ہے۔ جب KAMA فائدہ مند سمت میں منتقل ہوتا ہے تو ، اسٹاپ لائن بھی اس کے ساتھ ساتھ ایڈجسٹ ہوجاتی ہے ، اور اسٹاپ لائن کو زیادہ فائدہ مند پوزیشن پر منتقل کرتی ہے ، تاکہ زیادہ منافع کو مقفل کیا جاسکے۔

اس طرح ، حکمت عملی رجحانات کی پیروی کر سکتی ہے ، آہستہ آہستہ اسٹاپ لائن کو منتقل کرتی ہے ، جب تک کہ اسٹاپ لائن کو متحرک نہیں کیا جاتا ہے یا ریورس سگنل کو متحرک نہیں کیا جاتا ہے۔

اسٹریٹجک فوائد

روایتی منتقل اوسط حکمت عملی کے مقابلے میں اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:

  1. KAMA انڈیکس قیمتوں کے رجحانات کو زیادہ تیزی سے پکڑنے کے لئے زیادہ حساس ہے؛
  2. اس کے علاوہ ، آپ کو اسٹاپ نقصان کی لمبائی کا متحرک حساب لگانا ہوگا ، جو رجحان کے مطابق ایڈجسٹ ہوتا ہے ، اور اس سے زیادہ منافع حاصل ہوتا ہے۔
  3. اختیاری K لائن بندش کی تصدیق ، جعلی سگنل کو فلٹر کرنے ، غیر ضروری پوزیشنوں کو کم کرنے کے لئے۔

مجموعی طور پر، حکمت عملی تیز رفتار، قابل کنٹرول اور رجحانات کی پیروی کرنے والی حکمت عملی کی ایک قسم ہے.

اسٹریٹجک رسک

اس حکمت عملی کے کچھ خطرات بھی ہیں:

  1. رجحان کے الٹ جانے کا خطرہ۔ کاما انڈیکس قیمتوں میں اتار چڑھاو کا لچکدار جواب دیتا ہے ، لیکن اچانک رجحان کے الٹ جانے پر اس کا جواب وقت پر نہیں دیا جاسکتا ہے۔
  2. اسٹاپ نقصان بہت زیادہ جارحانہ ہے۔ متحرک اسٹاپ نقصان کا فاصلہ اگر بہت زیادہ ترتیب دیا گیا ہے تو ، یہ بہت زیادہ جارحانہ ہوسکتا ہے ، جس سے منافع کو لاک کرنے میں تاخیر ہوسکتی ہے۔
  3. جعلی سگنل کا خطرہ۔ K لائن بندش کی تصدیق کو فعال کرنے سے جعلی سگنل کم ہوسکتے ہیں ، لیکن مکمل طور پر ختم نہیں ہوسکتے ہیں۔

ان خطرات کے لئے ، آپ کو روکنے کے فاصلے کو بہتر بنانے ، زیادہ سے زیادہ روکنے کا فیصد طے کرنے ، وغیرہ کے طریقوں سے کنٹرول کیا جاسکتا ہے۔ آپ کو غلط تجارت سے بچنے کے لئے تصدیق کے طور پر دوسرے اشارے کے ساتھ مل کر بھی استعمال کیا جاسکتا ہے۔

حکمت عملی کی اصلاح کی سمت

اس حکمت عملی میں مندرجہ ذیل نکات کو بہتر بنایا جا سکتا ہے:

  1. کاما پیرامیٹرز کو بہتر بنائیں: اوسط لمبائی کو ایڈجسٹ کریں ، ہموار کو بہتر بنائیں۔
  2. متحرک نقصان کو بہتر بنائیں: مختلف اقسام کی خصوصیات کے مطابق ، بہترین نقصان کے فاصلے اور قدمی لمبائی کی جانچ کریں۔
  3. اضافی فلٹرنگ اشارے: دوسرے رجحان اشارے کے ساتھ مل کر ، تجارتی سگنل کی تصدیق کریں ، سگنل کی وشوسنییتا کو بہتر بنائیں۔

مثال کے طور پر ، ایک ٹیسٹ کر سکتا ہے کہ MACD کو معاون توثیقی اشارے کے طور پر شامل کیا جائے ، اور KAMA گولڈ فورک کے ساتھ ساتھ MACDDif کو بھی مثبت اور بڑھا دیا جائے۔ اس سے کچھ غلط سگنل فلٹر ہوسکتے ہیں اور پوزیشنوں کو غیر ضروری طور پر کھولنے سے بچ سکتے ہیں۔

خلاصہ کریں۔

اس حکمت عملی کا مجموعی طور پر کام آسانی سے چلتا ہے ، متحرک اسٹاپ نقصانات کا استعمال کرتے ہوئے رجحانات کی پیروی کرتا ہے ، رجحانات کے منافع کو زیادہ سے زیادہ حد تک مقفل کرتا ہے۔ کاما اشارے کی موافقت بھی حکمت عملی کو مارکیٹ میں تیزی سے تبدیلیوں کے ساتھ رکھنے کی اجازت دیتی ہے۔ کچھ اصلاحات کے ساتھ ، حکمت عملی ایک موثر رجحانات کی پیروی کرنے والا پروگرام بن سکتی ہے ، جو درمیانی لمبی لائن کے لئے موزوں ہے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-01-26 00:00:00
end: 2024-02-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("THMA - Bharath Vc Improved", overlay=true, process_orders_on_close=true)

// Function to calculate pips with higher precision
getPips(price) =>
    difc = syminfo.mintick
    hlpips = price / difc
    math.round(hlpips / syminfo.mintick) * syminfo.mintick

// Inputs
buyMess = input.string("Buy Message","Buy Alert Message")
sellMess = input.string("Sell Message","Sell Alert Message")
buyExitMessage = input.string("Buy Exit","Buy Exit Alert Message" )
sellExitMessage = input.string("Sell Exit","Sell Exit Alert Message" )

tmf = input.timeframe("", "Timeframe")
length = input(title='Length', defval=14)
fastLength = input(title='Fast EMA Length', defval=2)
slowLength = input(title='Slow EMA Length', defval=30)
src = input(title='Source', defval=close)
highlight = input(title='Highlight ?', defval=true)
awaitBarConfirmation = input(title='Await Bar Confirmation ?', defval=true)

// Function to calculate the TMA
gettma() =>
    mom = math.abs(ta.change(src, length))
    volatility = math.sum(math.abs(ta.change(src)), length)
    er = volatility != 0 ? mom / volatility : 0
    fastAlpha = 2 / (fastLength + 1)
    slowAlpha = 2 / (slowLength + 1)
    alpha = math.pow(er * (fastAlpha - slowAlpha) + slowAlpha, 2)
    kama = 0.0
    kama := alpha * src + (1 - alpha) * nz(kama[1], src)
    await = awaitBarConfirmation ? barstate.isconfirmed : true
    maColor = highlight ? kama > kama[1] and await ? color.green : color.red : color.new(color.purple, 0)
    thma = kama
    hma_dif = (thma - thma[2])/2
    colour = hma_dif > 0 ? color.green : color.red
    isGreen = hma_dif > 0
    [thma, isGreen, colour]

// Dynamic pip size based on ATR to adapt better to smaller timeframes
pips = ta.atr(14) * 0.1

// Main execution logic
var float psl = na
var int lastSignal = 0
var float lastPsl = na

[thma, isGreen, colour] = request.security(syminfo.tickerid, tmf, gettma(), gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_off)

plot(thma, title='KAMA', linewidth=2, color=colour)

if ta.crossover(thma, psl) and strategy.position_size < 0
    strategy.exit("Sell Exit", stop=thma, alert_message=sellExitMessage)

if ta.crossunder(thma, psl) and strategy.position_size > 0
    strategy.exit("Buy Exit", stop=thma, alert_message=buyExitMessage)

if isGreen and strategy.position_size <= 0
    if na(psl)
        psl := close + getPips(pips)
    strategy.entry("Buy", strategy.long, alert_message=buyMess)
    lastSignal := 1

if not isGreen and strategy.position_size >= 0
    if na(psl)
        psl := close - getPips(pips)
    strategy.entry("Sell", strategy.short, alert_message=sellMess)
    lastSignal := -1

if (thma >= lastPsl or na(lastPsl)) and thma > psl
    psl := psl + getPips(pips)
    lastPsl := psl

if (thma <= lastPsl or na(lastPsl)) and thma < psl
    psl := psl - getPips(pips)
    lastPsl := psl

plot(psl, title="Position Stop Level", style=plot.style_stepline, color=color.blue)
plot(lastPsl, title="Last Position Stop Level", style=plot.style_cross, color=color.red)