متحرک خود کو اپنانے والا کاف مین منتقل اوسط رجحان ٹریکنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-26 16:36:30
ٹیگز:

img

جائزہ

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

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

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

حکمت عملی منطق

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

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

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

فوائد

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

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

عام طور پر، حکمت عملی ذمہ دار ہے، کنٹرول، اور ایک عام رجحان ٹریکنگ کے نظام.

خطرات

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

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

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

اصلاح کی ہدایات

حکمت عملی کو بہتر بنانے کے لئے ممکنہ سمتوں میں شامل ہیں:

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

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

نتیجہ

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


/*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)


مزید