بریکآؤٹ بولنگر بینڈ آسکیلیشن ٹریڈنگ حکمت عملی ایک تجارتی حکمت عملی ہے جب مارکیٹ آسکیلیٹنگ حالت میں ہوتی ہے۔ یہ حکمت عملی مارکیٹ کی آسکیلیٹنگ حالت کا فیصلہ کرنے کے لئے بولنگر بینڈ اشارے کا استعمال کرتی ہے اور جب قیمت بولنگر بینڈ کی اوپری یا نچلی ریلوں کو چھوتی ہے تو تجارتی سگنل بھیجتی ہے۔ روایتی رجحان کی پیروی کرنے والی حکمت عملی کے برعکس ، یہ حکمت عملی رینج سے منسلک سائیڈ ویز مارکیٹوں کے لئے زیادہ موزوں ہے۔
یہ حکمت عملی بنیادی طور پر بولنگر بینڈ اشارے کی بنیاد پر نافذ کی جاتی ہے۔ بولنگر بینڈ میں ایک درمیانی ریل ، اوپری ریل اور نچلی ریل شامل ہیں۔ جب قیمت اوپری یا نچلی ریل کے قریب آتی ہے تو ، اس سے مارکیٹ میں زیادہ سے زیادہ پرامید یا زیادہ بدامنی ظاہر ہوتی ہے ، جس کا مطلب ہے کہ الٹ جانے کا نسبتا high زیادہ امکان ہے۔
خاص طور پر ، یہ حکمت عملی پہلے ڈی ایم آئی اشارے کا استعمال کرتی ہے تاکہ یہ معلوم کیا جاسکے کہ آیا مارکیٹ دوڑتا ہوا حالت میں ہے۔ جب + ڈی ایم آئی اور - ڈی ایم آئی کے درمیان فرق 20 سے کم ہوتا ہے تو ، مارکیٹ کو سائیڈ لائیو سمجھا جاتا ہے۔ اس شرط کے تحت ، جب قیمت نچلی ریل سے اوپر ٹوٹ جاتی ہے تو طویل ہوجائیں ، اور جب قیمت اوپری ریل سے نیچے ٹوٹ جاتی ہے تو مختصر ہوجائیں۔ اسٹاپ نقصان کا نقطہ مخالف ریل کے قریب طے ہوتا ہے۔
رجحان کی پیروی کرنے والی حکمت عملیوں کے مقابلے میں ، یہ حکمت عملی رینج سے منسلک مارکیٹ کے ماحول کے لئے زیادہ موزوں ہے اور رجحانات کا پیچھا کرنے میں پیسہ ضائع نہیں کرے گی۔ روایتی نوساناتی تجارتی حکمت عملیوں کے مقابلے میں ، یہ حکمت عملی بولنگر بینڈز اشارے کا استعمال کرکے مارکیٹ میں زیادہ خرید و فروخت کی صورتحال کا زیادہ درست اندازہ کرسکتی ہے ، اس طرح مارکیٹ میں داخل ہونے کا امکان بہتر ہوتا ہے۔
یہ حکمت عملی بنیادی طور پر مارکیٹ کے اتار چڑھاؤ اور زیادہ خرید / فروخت کی حالتوں کا تعین کرنے کے لئے بولنگر بینڈ پر انحصار کرتی ہے۔ جب بولنگر بینڈ غیر معمولی طور پر مختلف ہوتے ہیں یا معاہدہ کرتے ہیں تو ، اس سے غلط سگنل پیدا ہوسکتے ہیں۔ اس کے علاوہ ، اسٹاپ نقصان کا نقطہ قریب ہوتا ہے ، لہذا ایک اسٹاپ نقصان نسبتا large بڑا ہوسکتا ہے۔ منی مینجمنٹ کے ساتھ اسٹاپ نقصان کی حکمت عملی کو بہتر بنانے کی سفارش کی جاتی ہے۔
ہم اندراج کی درستگی کو بہتر بنانے کے لئے اندراج کے اشاروں کو فلٹر کرنے کے لئے دوسرے اشارے ، جیسے آر ایس آئی اور دیگر آسکیلیٹرز کو جوڑنے پر غور کرسکتے ہیں۔ اس کے علاوہ ، اسٹاپ نقصان کی حکمت عملی کو بہتر بنانا بھی ایک ہی بڑے اسٹاپ نقصان سے بچنے کے لئے بہت ضروری ہے۔ ہم اس حکمت عملی کے لئے زیادہ موزوں تجارتی اقسام کا بھی انتخاب کرسکتے ہیں ، جیسے کم مارکیٹ کیپ سکے۔
عام طور پر ، یہ حکمت عملی مارکیٹس میں اتار چڑھاؤ کے ل suitable موزوں ہے اور جب رجحان کی حکمت عملی ناکام ہوجاتی ہے تو اسے استعمال کیا جاسکتا ہے۔ لیکن اشارے کے ذریعہ مارکیٹ کی حالت کا جائزہ لے کر اس کی تاثیر کو بہتر بنانے کے لئے ابھی بھی گنجائش ہے۔ ہم اس حکمت عملی کو مزید مستحکم اور منافع بخش بنانے کے لئے کثیر اشارے کے امتزاج ، منی مینجمنٹ وغیرہ جیسے طریقوں سے مزید بہتر بنا سکتے ہیں۔
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(shorttitle='Sideways Strategy DMI + Bollinger Bands',title='Sideways Strategy DMI + Bollinger Bands (by Coinrule)', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1) // Works on ETHUSD 3h, 1h, 2h, 4h //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2021, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 12, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 31, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2022, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true [pos_dm, neg_dm, adx] = dmi(14, 14) lengthBB = input(20, minval=1) src = input(close, title="Source") mult = input(2.0, minval=0.001, maxval=50, title="StdDev") basis = sma(src, lengthBB) dev = mult * stdev(src, lengthBB) upper = basis + dev lower = basis - dev offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500) sideways = (abs(pos_dm - neg_dm) < 20) //Stop_loss= ((input (3))/100) //Take_profit= ((input (2))/100) //longStopPrice = strategy.position_avg_price * (1 - Stop_loss) //longTakeProfit = strategy.position_avg_price * (1 + Take_profit) //closeLong = close < longStopPrice or close > longTakeProfit or StopRSI //Entry strategy.entry(id="long", long = true, when = sideways and (crossover(close, lower)) and window()) //Exit strategy.close("long", when = (crossunder(close, upper)))