مومنٹم برسٹ ٹریکنگ کی حکمت عملی فیصد قیمت کی تبدیلیوں کا حساب لگاتے ہوئے قیمت کی پیشرفت کا جائزہ لیتی ہے اور رجحان کی پیشرفت کے نکات کو حاصل کرنے کے اعلی امکان کو نافذ کرنے کے لئے تجارتی حجم کے ساتھ سگنل کو فلٹر کرتی ہے۔ خریدنے کے سگنل کو متحرک کرنے کے بعد ، یہ حکمت عملی منافع میں مقفل کرنے اور حد سے زیادہ ڈراؤونگ سے بچنے کے لئے قیمت ٹریکنگ اسٹاپ نقصان کا استعمال کرتی ہے۔
اس حکمت عملی میں داخلہ سگنل کا تعین کرنے کے لئے استعمال ہونے والے اہم اشارے یہ ہیں:
فیصد قیمت کی تبدیلی (isFourPercentBull) - اس بات کا تعین کرنے کے لئے کہ قیمت نے مؤثر طریقے سے توڑ دیا ہے یا نہیں اس کے لئے پچھلے دن کی بندش کی قیمت کے مقابلے میں بندش کی قیمت کی فیصد تبدیلی کا حساب لگائیں۔
اختتامی قیمت کا سب سے زیادہ قیمت سے تناسب (HighCloseRatio) - قیمت کی توڑ کی طاقت کا تعین کرنے کے لئے اختتامی قیمت کا سب سے زیادہ قیمت سے تناسب کا حساب لگائیں۔
تجارت کا حجم (volume) - درست توڑ کو یقینی بنانے کے لئے تجارت کا حجم پچھلے دن سے زیادہ ہونا ضروری ہے۔
200 دن کا سادہ چلتا ہوا اوسط (ایس ایم اے) - رجحان کی سمت کا تعین کرنے کے لئے بندش کی قیمت اور افتتاحی قیمت کو 200 دن کی لائن سے زیادہ ہونا ضروری ہے۔
جب مذکورہ بالا متعدد شرائط ایک ہی وقت میں پوری ہوجاتی ہیں تو ، خرید کا اشارہ جاری کیا جاتا ہے۔ اس کے بعد ، حکمت عملی فعال طور پر نقصان کو روکنے اور منافع میں مقفل کرنے کے لئے قیمت ٹریکنگ اسٹاپ نقصان کا استعمال کرتی ہے۔ خاص طور پر ، ٹریلنگ اسٹاپ نقصان لائن کے حساب کتاب کا فارمولا یہ ہے:
trailPrice = close * (100 - trailPercent) / 100
جہاں ٹریل فیصد ترتیب دینے والا ٹریل اسٹاپ نقصان کا فیصد ہے۔ اس سے یہ یقینی بنتا ہے کہ جب تک قیمتیں بڑھتی ہیں ، اسٹاپ نقصان کی لائن بھی منافع میں مقفل ہونے کے لئے بڑھ جائے گی۔ جب قیمتیں اسٹاپ نقصان کی لائن میں واپس آجاتی ہیں تو ، نقصانات کو روکنے کے لئے پوزیشنیں بند کردیں۔
ایک عام بریک آؤٹ حکمت عملی کے طور پر، اس کے مندرجہ ذیل فوائد ہیں:
ملٹی کنڈیشن فلٹرنگ بریک آؤٹ کی صداقت کو یقینی بناتی ہے اور جھوٹے بریک آؤٹ سے بچتی ہے۔
قیمتوں کی ٹریکنگ اسٹاپ نقصان کو اپنائیں ، جو کھونے سے بچنے کے لئے کھونے کو فعال طور پر کم کرسکتی ہے اور منافع میں مقفل ہوسکتی ہے۔
حکمت عملی کا منطق سادہ اور واضح ہے، سمجھنے اور بہتر بنانے میں آسان ہے.
اس حکمت عملی میں کچھ خطرات بھی ہیں:
اب بھی ناکام بریک آؤٹ کا امکان موجود ہے جو نقصانات سے مکمل طور پر بچ نہیں سکتا۔
بہت زیادہ جارحانہ ٹریکنگ رکاوٹیں اکثر رکاوٹوں کا سبب بن سکتی ہیں۔
پیرامیٹرز کی غلط ترتیبات سے زیادہ تجارتی تعدد یا یاد آنے والے سگنل پیدا ہوسکتے ہیں۔
متعلقہ خطرات کے حل یہ ہیں:
پیرامیٹرز کو بہتر بنائیں اور کافی جگہ کو یقینی بنانے کے لئے سٹاپ نقصان کی مقدار کو کم کریں.
واضح رجحانات کو نظر انداز نہ کرنے کے لئے بریک آؤٹ کے حالات کو معقول حد تک نرم کریں۔
حکمت عملی استحکام کا اندازہ کرنے کے لئے مختلف اقسام کا تجربہ کریں.
اس حکمت عملی میں رکنے کی اعلی تعدد کو مدنظر رکھتے ہوئے ، مندرجہ ذیل سمتوں کو مزید بہتر بنایا جاسکتا ہے۔
دوسرے ٹریکنگ سٹاپ نقصان کے طریقوں کی کوشش کریں، جیسے چلتی اوسط ٹریکنگ، اے ٹی آر اور اتار چڑھاؤ ٹریکنگ.
مشین لرننگ الگورتھم کو بڑھانا تاکہ تاریخی اعداد و شمار کی بنیاد پر بہتر کارکردگی کا مظاہرہ کرنے والے پیرامیٹر مجموعوں کے فیصلوں کی تربیت کی جاسکے۔
اثر کو یقینی بنانے کے لئے حجم کے وقفے پر مبنی معاون فیصلے کی شرائط شامل کریں۔
بہترین فٹ تلاش کرنے کے لئے مختلف اقسام میں پیرامیٹر کی ترتیبات میں اختلافات کا اندازہ کریں.
مومنٹم برسٹ ٹریکنگ حکمت عملی مجموعی طور پر ایک بہت ہی عملی ٹرینڈ ٹریکنگ حکمت عملی ہے۔ یہ بریک آؤٹ حکمت عملیوں میں نقصانات اور منافع کو مؤثر طریقے سے روکنے میں ناکامی کا مسئلہ حل کرتی ہے ، جبکہ پھر بھی رجحانات کو پکڑنے کے دوران خطرات کو اچھی طرح سے کنٹرول کرتی ہے۔ اصلاحات اور مشین لرننگ متعارف کرانے کے ذریعہ مزید بہتری کی گنجائش کے ساتھ ، یہ گہرائی سے تحقیق اور درخواست کے قابل ہے۔
/*backtest start: 2023-03-01 00:00:00 end: 2023-12-10 05:20:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © doks23 //@version=5 strategy(title = "SD:Momentum Burst", overlay=true, initial_capital=1000,commission_value = 0,slippage = 0,process_orders_on_close=true) //Check Vol checkVol = input.bool(defval=false,title="IncludeAvgVolume?") volSMAlength = input(50, title="VolumeLength") volumeSma = ta.sma(volume, volSMAlength) highvolume = volume >= volumeSma volumeCond=checkVol?highvolume:true // Profit and Loss trailPercent = input.float(title="Trail%", defval=3, step=0.1) //longCondition PercentThreshold=input.float(3.8,'BreakoutPercent', step=0.1) MaxThreshold=input.float(10,'Max Breakout', step=0.1) HighCloseRatio=input.float(70,'Close to High Ratio', step=1) float candleCloseBull = ((close[0] - open[0]) / (high[0] - open[0]) * 100) float isFourPercentBull = (((close[0] - close[1]) / close[1]) * 100) LongCond=volume > volume[1] and isFourPercentBull > PercentThreshold and candleCloseBull > HighCloseRatio and isFourPercentBull<MaxThreshold barcolor(color=(LongCond?color.yellow: na),title='BObar') longCondition= LongCond and volumeCond and close>ta.sma(close,200) and open>ta.sma(close,200) //Input Strategy DateCheck= input.bool(title = 'Custom Date Range?', defval=true,group = 'Strategy') FromDate= input(defval = timestamp("1 Jan 2019 00:00"),group = 'Strategy') ToDate =input(defval = timestamp("31 Dec 2023 00:00"),group = 'Strategy') PostionSize =input.string('Contract','Select Position Size',options = ['Percent of Equity','Contract'],group = 'Strategy') ContractQty =input.int(1,'No of Contract',group = 'Strategy') //Backtesting Date Range TimeWindow=true // Number of Contract var int trade_qty=na if(PostionSize=='Contract') trade_qty:=ContractQty else trade_qty:= (strategy.equity>strategy.initial_capital)?math.floor(strategy.equity/strategy.initial_capital):ContractQty //Position Buy BuyTriggerPrice = ta.valuewhen(longCondition,high,0) //Trailing price var float trailPrice = na float percentMulti = (100 - trailPercent) / 100 longCondition2=longCondition and TimeWindow if longCondition2 strategy.entry("Long", strategy.long,qty=trade_qty,stop = BuyTriggerPrice) trailPrice := close*percentMulti if strategy.position_size>0 trailPrice := math.max(close*percentMulti,trailPrice[1]) if low <= trailPrice strategy.exit('Exit','Long',stop = trailPrice) if strategy.position_size==0 trailPrice:=na // Plot Strategy var float trail_long_SL=na if strategy.position_size>0 trail_long_SL:=trailPrice else trail_long_SL:=na //Strategy Plot PlotMA=input.bool(title="Plot MA?", defval=false) plot(PlotMA?ta.sma(close,10):na,color = color.red,title = '10MA') plot(PlotMA?ta.sma(close,21):na,color = color.white,title = '21MA') plot(PlotMA?ta.sma(close,200):na,color = color.orange,title = '200MA') // plot(trail_long_SL,color = color.gray,style = plot.style_steplinebr,linewidth = 1)