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