یہ حکمت عملی بولنگر بینڈ اور چلتی اوسط کو یکجا کرتی ہے تاکہ ٹریڈنگ سسٹم کے بعد رجحان تیار کیا جاسکے۔ جب قیمت بولنگر بینڈ کے اوپری بینڈ سے ٹوٹ جاتی ہے اور نچلی بینڈ ایس ایم اے 200 سے اوپر ہوتا ہے تو یہ طویل ہوجاتا ہے ، جب قیمت نچلی بینڈ سے ٹوٹ جاتی ہے تو جزوی پوزیشن بند ہوجاتی ہے ، اور جب قیمت ایس ایم اے 200 سے نیچے ہوتی ہے تو تمام باہر نکل جاتی ہے۔ یہ حکمت عملی رجحان کی پیروی کرتی ہے اور جب رجحان بدلتا ہے تو وقت میں نقصان کو کم کرتی ہے۔
رجحان کی نشاندہی کرنے کے لئے اس حکمت عملی کا مفہوم یہ ہے کہ بولنگر بینڈ کو مکمل طور پر ایس ایم اے 200 سے اوپر ہونا چاہئے ، صرف اس وقت طویل عرصے تک جانا چاہئے جب واضح اپ ٹرینڈ موجود ہو۔ جب ڈاؤن ٹرینڈ آتا ہے تو ، خطرہ جزوی اسٹاپ نقصان اور مکمل اسٹاپ نقصان کے ذریعہ کنٹرول کیا جاتا ہے۔
یہ خطرات بولنگر بینڈ پیرامیٹرز کی احتیاط سے جانچ ، جزوی اسٹاپ نقصان کی حکمت عملی کو بہتر بنانا ، ایس ایم اے مدت کو ایڈجسٹ کرنا ، اور زیادہ سائنسی رسک مینجمنٹ کے طریقوں کو متعارف کرانے سے کم کیے جاسکتے ہیں۔
یہ حکمت عملی بولنگر بینڈ اور ایس ایم اے کو مربوط کرتی ہے تاکہ نسبتا complete مکمل رجحان کے بعد کا نظام تیار کیا جاسکے۔ یہ رجحان کی موجودگی کی نشاندہی کرنے میں قابل اعتماد ہے اور اس میں رجحان کی مضبوط ٹریکنگ کی صلاحیت ہے۔ اسٹاپ نقصان کی حکمت عملی کو مستقل طور پر بہتر بنانا ، سگنل کی غلطیوں کو کم کرنا ، اور سائنسی رسک مینجمنٹ تکنیک متعارف کرانا ، یہ حکمت عملی براہ راست تجارت میں ٹریک کرنے کے لئے ایک قابل قدر نظام بن سکتی ہے۔ یہ مقداری تجارتی حکمت عملی کے ڈیزائن کے لئے متعدد اشارے کو یکجا کرنے کا ایک طریقہ فراہم کرتی ہے۔
/*backtest start: 2022-11-09 00:00:00 end: 2023-11-15 00:00: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/ // © mohanee //@version=4 strategy(title="BB9_MA200_Strategy", overlay=true, pyramiding=1, default_qty_type=strategy.cash, initial_capital=10000, currency=currency.USD) //default_qty_value=10, default_qty_type=strategy.fixed, var stopLossVal=0.00 //variables BEGIN smaLength=input(200,title="MA Length") bbLength=input(21,title="BB Length") bbsrc = input(close, title="BB Source") mult = input(2.0, minval=0.001, maxval=50, title="StdDev") stopLoss = input(title="Stop Loss%", defval=5, minval=1) riskCapital = input(title="Risk % of capital == Based on this trade size is claculated numberOfShares = (AvailableCapital*risk/100) / stopLossPoints", defval=10, minval=1) sma200=ema(close,smaLength) plot(sma200, title="SMA 200", color=color.orange) //bollinger calculation basis = sma(bbsrc, bbLength) dev = mult * stdev(bbsrc, bbLength) upperBand = basis + dev lowerBand = basis - dev offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500) //plot bb plot(basis, "Basis", color=color.teal, style=plot.style_circles , offset = offset) p1 = plot(upperBand, "Upper", color=color.teal, offset = offset) p2 = plot(lowerBand, "Lower", color=color.teal, offset = offset) fill(p1, p2, title = "Background", color=color.teal, transp=95) strategy.initial_capital = 50000 //Entry--- strategy.entry(id="LE", comment="LE capital="+tostring(strategy.initial_capital + strategy.netprofit ,"######.##"), qty=( (strategy.initial_capital + strategy.netprofit ) * riskCapital / 100)/(close*stopLoss/100) , long=true, when=strategy.position_size<1 and upperBand>sma200 and lowerBand > sma200 and crossover(close, basis) ) // // aroonOsc<0 //(strategy.initial_capital * 0.10)/close barcolor(color=strategy.position_size>=1? color.blue: na) //partial Exit tpVal=strategy.position_size>1 ? strategy.position_avg_price * (1+(stopLoss/100) ) : 0.00 strategy.close(id="LE", comment="Partial points="+tostring(close - strategy.position_avg_price, "####.##"), qty_percent=30 , when=abs(strategy.position_size)>=1 and close>tpVal and crossunder(lowerBand, sma200) ) //close<ema55 and rsi5Val<20 //ema34<ema55 //close All on stop loss //stoploss stopLossVal:= strategy.position_size>1 ? strategy.position_avg_price * (1-(stopLoss/100) ) : 0.00 strategy.close_all( comment="SL Exit points="+tostring(close - strategy.position_avg_price, "####.##"), when=abs(strategy.position_size)>=1 and close < stopLossVal ) //close<ema55 and rsi5Val<20 //ema34<ema55 //close<ema89// strategy.close_all( comment="BB9 X SMA200 points="+tostring(close - strategy.position_avg_price, "####.##"), when=abs(strategy.position_size)>=1 and crossunder(basis, sma200) ) //close<ema55 and rsi5Val<20 //ema34<ema55 //close<ema89