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