یہ حکمت عملی دو قسم کی ٹریلنگ اسٹاپ حکمت عملیوں کو ڈیزائن کرنے اور ان کو وقت کے فریموں میں منظم طریقے سے بیک ٹسٹ کرنے کے لئے موافقت پذیر بولنگر بینڈ کا استعمال کرتی ہے۔ یہ رجحان کی پیروی کرنے والی حکمت عملیوں سے تعلق رکھتی ہے۔
اپڈیٹیو بولنگر بینڈ کے اوپری اور نچلے بینڈ کا حساب لگائیں، جس میں چینل کی چوڑائی ایڈجسٹ کی جاسکتی ہے۔
بریک آؤٹ ٹریکنگ کی حکمت عملی بینڈ بریک آؤٹ پر پوزیشن کھولنے اور بینڈ کے اندر قیمت میں واپسی پر روکنے کے لئے.
ریورس ریورسنگ حکمت عملی جب قیمت بینڈ تک پہنچ جاتی ہے تو پوزیشن کھولنے اور جب قیمت بینڈ کے اندر واپس آجاتی ہے تو روکنے کے لئے.
طویل / مختصر طرف کا تعین کرنے میں مدد کے لئے CCI اشارے کا استعمال کریں.
دونوں حکمت عملیوں کے قابل عمل ہونے کی تصدیق کے لیے متعدد ٹائم فریموں میں بیک ٹیسٹ۔
بولنگر بینڈ قیمت کے رجحانات کو پکڑنے میں بدیہی ہیں.
دونوں حکمت عملیوں کو مضبوطی کے لئے مختلف مارکیٹ کے حالات کے مطابق.
سی سی آئی طویل / مختصر سمت کا تعین کرنے میں مدد کرتا ہے.
ملٹی ٹائم فریم بیک ٹسٹنگ نتائج کو زیادہ قائل کرتی ہے۔
سادہ اور واضح حکمت عملی کے قواعد کو لاگو کرنا آسان ہے.
بولنگر بینڈ بعض حالات میں ناکام ہو سکتے ہیں۔
دونوں حکمت عملیوں میں قبل از وقت یا تاخیر سے روکنے کے خطرات.
سی سی آئی غلط سگنل پیدا کر سکتا ہے۔
احتیاط سے بیک ٹسٹ تعصب کو ہینڈل کریں.
اصلاح سے زیادہ فٹ ہونے کا خطرہ ہوتا ہے۔
بہترین مجموعے تلاش کرنے کے لئے ٹیسٹ پیرامیٹرز.
دوسرے اشارے کے ساتھ فلٹرز کا اضافہ کرنے کا جائزہ لیں.
خطرات کو کم کرنے کے لئے اسٹاپ کو بہتر بنائیں.
چینل کی چوڑائی کے لئے موافقت پذیر طریقوں کی تحقیق.
مزید علامتوں اور ٹائم فریم کے ساتھ تصدیق کریں.
پیرامیٹرز کو متحرک طور پر بہتر بنانے کے لیے مشین لرننگ کا استعمال کریں۔
یہ حکمت عملی بولنگر بینڈ کی بنیاد پر دو ٹریلنگ اسٹاپ حکمت عملیوں کو ڈیزائن کرتی ہے اور متعدد ٹائم فریموں میں ان کا بیک ٹیسٹ کرتی ہے۔ پیرامیٹر کی اصلاح ، اسٹاپ میں بہتری وغیرہ کے ذریعے بہتر بنانا پختہ رجحان کے بعد نظام میں استحکام کو بڑھا سکتا ہے۔
/*backtest start: 2022-09-13 00:00:00 end: 2023-09-19 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title = "Underworld Hunter", overlay=true) len = input(75, minval=1, title="Length") src = input(close, title="Source") basis = 0.0 basis := na(basis[1]) ? sma(src, len) : ema(ema(ema(src,len),len),len) mult = input(1.9, minval=0.001, maxval=50, title="Deviation") dev = mult * stdev(src, len) upper = basis + dev lower = basis - dev //CCI calculation and inputs lengthcci = input(20, minval=1, title="Period for CCI") ma = sma(close, lengthcci) ccivalue = (src - ma) / (0.015 * dev(src, lengthcci)) //CCI plotting cciover0 = ccivalue >= 100 and ccivalue <= 120 cciover1 = ccivalue > 120 and ccivalue <= 140 cciover2 = ccivalue > 140 and ccivalue <= 160 cciover3 = ccivalue > 160 and ccivalue <= 180 cciover4 = ccivalue > 180 cciunder0 = ccivalue <= -100 and ccivalue >= -120 cciunder1 = ccivalue <= -120 and ccivalue > -140 cciunder2 = ccivalue <= -140 and ccivalue > -160 cciunder3 = ccivalue <= -160 and ccivalue > -180 cciunder4 = ccivalue <= -180 plotshape(cciover0, title="CCIO0", location=location.abovebar, color=#c6ff1a, transp=0, style=shape.circle, size=size.tiny) plotshape(cciunder0, title="CCIU0", location=location.belowbar, color=#c6ff1a, transp=0, style=shape.circle, size=size.tiny) plotshape(cciover1, title="CCIO1", location=location.abovebar, color=#ffff00, transp=0,style=shape.circle, size=size.tiny) plotshape(cciunder1, title="CCIU1", location=location.belowbar, color=#ffff00, transp=0, style=shape.circle, size=size.tiny) plotshape(cciover2, title="CCIO2", location=location.abovebar, color=#ff9900, transp=0, style=shape.circle, size=size.tiny) plotshape(cciunder2, title="CCIU2", location=location.belowbar, color=#ff9900, transp=0, style=shape.circle, size=size.tiny) plotshape(cciover3, title="CCIO3", location=location.abovebar, color=#ff0000, transp=0, style=shape.circle, size=size.tiny) plotshape(cciunder3, title="CCIU3", location=location.belowbar, color=#ff0000, transp=0, style=shape.circle, size=size.tiny) plotshape(cciover4, title="CCIO4", location=location.abovebar, color=#cc00cc, transp=0,style=shape.circle, size=size.tiny) plotshape(cciunder4, title="CCIU4", location=location.belowbar, color=#cc00cc, transp=0,style=shape.circle, size=size.tiny) //plotting plot(upper, title="Upper shadow", color=color.black, transp = 30, linewidth = 4) plot(upper, title="Upper line", color=#FF2E00, transp = 0, linewidth = 2) plot(lower, title="Lower shadow", color=color.black, transp = 30, linewidth = 4) plot(lower, title="Lower line", color=#FF2E00, transp = 0, linewidth = 2) plot(basis, title="Basic line", color=color.red, transp = 50, linewidth = 2) mean = input(title="Test Reverse to the Mean instead", type=input.bool, defval=false) test = input(title="Enable testing", type=input.bool, defval=true) ordersize=floor(50000/close) if(close>upper and strategy.opentrades==0 and not mean and test) strategy.entry("Hunt Up", strategy.long, ordersize) if (close<upper and close[1]<upper and close[2]<upper) strategy.close("Hunt Up", qty_percent = 100, comment = "Hunt End") if(close<lower and strategy.opentrades==0 and not mean and test) strategy.entry("Hunt Down", strategy.short, ordersize) if (close>lower and close[1]>lower and close[2]>lower) strategy.close("Hunt Down", qty_percent = 100, comment = "Hunt End") //bounce of bands if(close>upper and strategy.opentrades==0 and mean and test) strategy.entry("Sneak Down", strategy.short, ordersize) if (close<upper and close[1]<upper and close[2]<upper and close>high[1]) strategy.close("Sneak Down", qty_percent = 100, comment = "SneakEnd") if(close<lower and strategy.opentrades==0 and mean and test) strategy.entry("Sneak Up", strategy.long, ordersize) if (close>lower and close[1]>lower and close[2]>lower and close<low[1]) strategy.close("Sneak Up", qty_percent = 100, comment = "Sneak End")