এই কৌশলটি বোলিংজার ব্যান্ড সূচকের উপর ভিত্তি করে। এটি একটি দীর্ঘ অবস্থানে প্রবেশ করে যখন বন্ধের দাম উপরের ব্যান্ডের উপরে ভাঙ্গবে এবং বন্ধের মূল্য নীচের ব্যান্ডের নীচে ভাঙ্গলে একটি শর্ট অবস্থানে প্রবেশ করবে। দীর্ঘ অবস্থানের প্রস্থান শর্ত হ'ল যখন দাম মাঝারি ব্যান্ডের নীচে পড়ে এবং শর্ট অবস্থানের প্রস্থান শর্ত হ'ল যখন দাম মাঝারি ব্যান্ডের উপরে ভাঙ্গবে। কৌশলটি প্রবণতা এবং প্রবেশ এবং প্রস্থানগুলির সময় নির্ধারণের জন্য বোলিংজার ব্যান্ডের উপরের এবং নীচের ব্যান্ডের তুলনায় দামের অবস্থান ব্যবহার করে।
এই কৌশলটি একটি ক্লাসিক প্রবণতা অনুসরণকারী কৌশল যা বোলিংজার ব্যান্ডগুলি ব্যবহার করে ট্রেন্ডিং বাজারগুলি ক্যাপচার করে। কৌশল যুক্তি পরিষ্কার, এবং সুবিধাগুলি সুস্পষ্ট, তবে এর কিছু ঝুঁকিও রয়েছে। স্টপ-লস, মুনাফা গ্রহণ, অবস্থান পরিচালনা এবং এন্ট্রি ফিল্টারগুলি অনুকূল করে, কৌশলটির কার্যকারিতা উন্নত করা যেতে পারে এবং অভিযোজনযোগ্যতা বাড়ানো যেতে পারে। তবে, প্রতিটি কৌশলটির সীমাবদ্ধতা রয়েছে এবং প্রকৃত বাজারের অবস্থার সাথে সংযুক্ত হয়ে নমনীয়ভাবে প্রয়োগ করা দরকার।
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0 // This displays the traditional Bollinger Bands, the difference is // that the 1st and 2nd StdDev are outlined with two colors and two // different levels, one for each Standard Deviation strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true) src = input(close) length = input.int(20, minval=1, title = "Length") mult = input.float(2.0, minval=0.001, maxval=50, title = "Multiplier") basis = ta.sma(src, length) dev = ta.stdev(src, length) dev2 = mult * dev upper1 = basis + dev lower1 = basis - dev upper2 = basis + dev2 lower2 = basis - dev2 // Strategy long_condition = ta.crossover(close, upper1) short_condition = ta.crossunder(close, lower1) if (long_condition) strategy.entry("Long", strategy.long) if (short_condition) strategy.entry("Short", strategy.short) // Exit conditions exit_long_condition = ta.crossunder(close, basis) exit_short_condition = ta.crossover(close, basis) if (exit_long_condition) strategy.close("Long") if (exit_short_condition) strategy.close("Short") colorBasis = src >= basis ? color.blue : color.orange pBasis = plot(basis, linewidth=2, color=colorBasis) pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles) pUpper2 = plot(upper2, color=color.new(color.blue, 0)) pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles) pLower2 = plot(lower2, color=color.new(color.orange, 0)) fill(pBasis, pUpper2, color=color.new(color.blue, 80)) fill(pUpper1, pUpper2, color=color.new(color.blue, 80)) fill(pBasis, pLower2, color=color.new(color.orange, 80)) fill(pLower1, pLower2, color=color.new(color.orange, 80))