ব্রেকআউট বোলিংজার ব্যান্ড অস্থিরতা ট্রেডিং কৌশল হল একটি ট্রেডিং কৌশল যখন বাজার একটি দোলনশীল অবস্থায় থাকে। এই কৌশলটি বাজারের দোলনশীল অবস্থা বিচার করতে বোলিংজার ব্যান্ড সূচক ব্যবহার করে এবং যখন মূল্য বোলিংজার ব্যান্ডের উপরের বা নীচের রেলগুলি স্পর্শ করে তখন ট্রেডিং সংকেত প্রেরণ করে। ঐতিহ্যগত প্রবণতা অনুসরণকারী কৌশলগুলির বিপরীতে, এই কৌশলটি পরিসীমা-বান্ধব পাশের বাজারগুলির জন্য আরও উপযুক্ত।
এই কৌশলটি মূলত বোলিংজার ব্যান্ড সূচকের উপর ভিত্তি করে বাস্তবায়িত হয়। বোলিংজার ব্যান্ডগুলির মধ্যে একটি মধ্য রেল, উপরের রেল এবং নিম্ন রেল রয়েছে। যখন দাম উপরের বা নিম্ন রেলের কাছে আসে, তখন এটি বাজারে অত্যধিক আশাবাদ বা অত্যধিক হতাশার প্রতিনিধিত্ব করে, যার অর্থ বিপরীতের তুলনামূলকভাবে উচ্চ সম্ভাবনা।
বিশেষত, এই কৌশলটি প্রথমে ডিএমআই সূচকটি ব্যবহার করে নির্ধারণ করে যে বাজারটি দোলের অবস্থায় রয়েছে কিনা। যখন + ডিএমআই এবং -ডিএমআই এর মধ্যে পার্থক্য 20 এর চেয়ে কম হয়, তখন বাজারটি পাশের দিকে চলেছে বলে মনে করা হয়। এই শর্তে, দামটি নীচের রেলের উপরে ভেঙে গেলে দীর্ঘ যান এবং দামটি উপরের রেলের নীচে ভেঙে গেলে সংক্ষিপ্ত যান। স্টপ লস পয়েন্টটি বিপরীত রেলের কাছাকাছি সেট করা হয়।
প্রবণতা অনুসরণকারী কৌশলগুলির তুলনায়, এই কৌশলটি পরিসীমা-বান্ধব বাজার পরিবেশের জন্য আরও উপযুক্ত এবং প্রবণতা অনুসরণ করে অর্থ হারাবে না। ঐতিহ্যগত দোলন ট্রেডিং কৌশলগুলির তুলনায়, এই কৌশলটি বোলিংজার ব্যান্ড সূচক ব্যবহার করে বাজারে অতিরিক্ত ক্রয় এবং অতিরিক্ত বিক্রয় পরিস্থিতি আরও সঠিকভাবে বিচার করতে পারে, যার ফলে বাজারে প্রবেশের সম্ভাবনা উন্নত হয়।
এই কৌশলটি মূলত বাজারের দোলন এবং অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় শর্ত নির্ধারণের জন্য বোলিংজার ব্যান্ডের উপর নির্ভর করে। যখন বোলিংজার ব্যান্ডগুলি বিচ্ছিন্ন হয় বা অস্বাভাবিকভাবে সংকুচিত হয়, তখন এটি ভুল সংকেতের দিকে পরিচালিত করতে পারে। এছাড়াও, স্টপ লস পয়েন্টটি কাছাকাছি, তাই একটি একক স্টপ লস তুলনামূলকভাবে বড় হতে পারে। অর্থ পরিচালনার সাথে স্টপ লস কৌশলটি অনুকূল করার পরামর্শ দেওয়া হয়।
এন্ট্রি সঠিকতা উন্নত করতে, আমরা প্রবেশ সংকেতগুলি ফিল্টার করার জন্য অন্যান্য সূচকগুলি যেমন আরএসআই এবং অন্যান্য দোলকগুলির সংমিশ্রণ বিবেচনা করতে পারি। এছাড়াও, একক বড় স্টপ লস এড়াতে স্টপ লস কৌশলটি অনুকূল করাও খুব গুরুত্বপূর্ণ। আমরা এই কৌশলটির জন্য আরও উপযুক্ত ট্রেডিং জাতগুলিও চয়ন করতে পারি, যেমন কম বাজার মূলধন মুদ্রা।
সাধারণভাবে, এই কৌশলটি দোলনশীল বাজারের জন্য উপযুক্ত এবং ট্রেন্ড কৌশলগুলি ব্যর্থ হলে এটি ব্যবহার করা যেতে পারে। তবে সূচকগুলির সাথে বাজারের অবস্থা বিচার করে এর কার্যকারিতা উন্নত করার জন্য এখনও জায়গা রয়েছে। আমরা এটিকে আরও স্থিতিশীল এবং লাভজনক করার জন্য মাল্টি-ইন্ডিক্টর কম্বো, মানি ম্যানেজমেন্ট ইত্যাদির মতো পদ্ধতির মাধ্যমে এই কৌশলটি আরও উন্নত করতে পারি।
/*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)))