
এই কৌশলটি বোলিংগার ব্যান্ডের উপর ভিত্তি করে তৈরি করা হয়, যার মাধ্যমে দামগুলি বোলিংগার ব্যান্ডগুলি ভেঙে নেমে যাওয়ার পথে ট্রেডিং সিগন্যাল তৈরি করে। যখন দামগুলি উঁচুতে উঠে যায় তখন আরও বেশি করে এবং নীচে নেমে যায় তখন খালি হয়ে যায়। একই সাথে, যখন অনেকগুলি স্ট্রিং থাকে, তখন দামগুলি নীচে নেমে যায় এবং খালি থাকে, যখন দামগুলি উঁচুতে উঠে যায় তখন খালি থাকে। এই কৌশলটি বাজারের অস্থিরতাকে ক্যাপচার করার জন্য তৈরি করা হয়েছে, যখন দামের ওঠানামা বেড়ে যায় তখন সময়মতো ট্রেডিং করা এবং যখন দামগুলি বিপরীত হয় তখন সময়মতো স্টপ লস করা।
বিবি সমান্তরাল ব্রেকিং কৌশল হল একটি বুলিন ব্যান্ডের সূচক ভিত্তিক ট্রেডিং কৌশল, যা বুলিন ব্যান্ডের নীচে নেমে যাওয়ার সুযোগকে ক্যাপচার করে ট্রেড করে। এই কৌশলটির সুবিধাগুলি হ’ল সংকেতটি স্পষ্ট, সহজেই বাস্তবায়ন করা যায় এবং কিছু ঝুঁকি নিয়ন্ত্রণের ব্যবস্থা রয়েছে। তবে এই কৌশলটির কিছু সীমাবদ্ধতা রয়েছে, যেমন ট্রেডিং ফ্রিকোয়েন্সিটি খুব বেশি হতে পারে, সংকেত বিলম্বিত ইত্যাদি। সুতরাং বাস্তব প্রয়োগে, কৌশলটির স্থায়িত্ব এবং লাভজনকতা বাড়ানোর জন্য সংকেত স্বীকৃতি, স্টপ লস অপ্টিমাইজেশন, প্যারামিটার অপ্টিমাইজেশন ইত্যাদির দিক থেকে কৌশলটির উন্নতি বিবেচনা করা যেতে পারে।
/*backtest
start: 2023-06-08 00:00:00
end: 2024-06-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("BB Strategy", overlay=true)
// Input parameters
length = input.int(20, minval=1, title="Length")
maType = input.string("SMA", "Basis MA Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
offset = input.int(0, "Offset", minval=-500, maxval=500, title="Offset")
// Moving average function
ma(source, length, _type) =>
switch _type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
// Calculate Bollinger Bands
basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Plot Bollinger Bands
plot(basis, "Basis", color=color.blue, offset=offset)
p1 = plot(upper, "Upper", color=color.red, offset=offset)
p2 = plot(lower, "Lower", color=color.green, offset=offset)
fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95))
// Strategy logic
longCondition = ta.crossover(close, upper)
shortCondition = ta.crossunder(close, lower)
// Strategy entries and exits
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
if (shortCondition and strategy.position_size > 0)
strategy.close("Long")
if (longCondition and strategy.position_size < 0)
strategy.close("Short")