এই কৌশলটির নাম হল Bollinger Bands Volume Confirmation কৌশল। এর মূল ধারণা হল বোলিংব্যান্ডের সূচক এবং লেনদেনের পরিমাণের সূচককে একত্রিত করা, মূল্যের গতি এবং লেনদেনের পরিমাণের দ্বিগুণ নিশ্চিতকরণ, যার ফলে আরও নির্ভরযোগ্য ক্রয় এবং বিক্রয় সংকেত তৈরি হয়।
এই কৌশলটি মূলত দুটি অংশে গঠিতঃ
ব্রাইন ব্যান্ডের সূচক অংশ। এই অংশটি নির্দিষ্ট সময়ের (যেমন 20 দিন) জন্য বন্ধের দামের সরল চলমান গড় গণনা করে এবং এই বন্ধের দামগুলিকে তাদের চলমান গড়ের তুলনায় স্ট্যান্ডার্ড ডিফারেনশিয়াল গণনা করে। তারপরে স্ট্যান্ডার্ড ডিফারেনশিয়ালের মান অনুসারে, প্রতিটি স্ট্যান্ডার্ড ডিফারেনশিয়ালের নীচে প্রাসঙ্গিক চলমান গড়ের নীচে একটি ব্যান্ডের অঞ্চল গণনা করা হয়, যা ব্রাইন ব্যান্ড হিসাবে পরিচিত। ব্রাইন ব্যান্ডের ব্যান্ডের অঞ্চলটি স্পষ্টভাবে দেখায় যে বর্তমান দামটি অস্বাভাবিক অবস্থায় রয়েছে কিনা।
ট্রেডিং ভলিউম বিভাগ। এই বিভাগটি একই সময়ের মধ্যে (যেমন 20 দিন) ট্রেডিং ভলিউমের চলমান গড় গণনা করে এবং তারপরে একটি গুণক (যেমন ২.০) ব্যবহার করে ট্রেডিং ভলিউম থ্রেশহোল্ড সেট করে। ট্রেডিং ভলিউম যখন এই থ্রেশহোল্ডের চেয়ে বেশি হয় তখনই কার্যকর প্রচুর পরিমাণে ট্রেডিং ভলিউম দেখা যায়।
যখন দাম উপরে ট্র্যাকিং ব্রেন্ডে প্রবেশ করে এবং লেনদেনের পরিমাণ লেনদেনের পরিমাণের চেয়ে বেশি হয়, তখন একটি ক্রয় সংকেত উত্পন্ন হয়; যখন দাম নীচে ট্র্যাকিং ব্রেন্ডে প্রবেশ করে এবং লেনদেনের পরিমাণ লেনদেনের পরিমাণের চেয়ে বেশি হয়, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।
দাম এবং লেনদেনের পরিমাণের দ্বৈত নিশ্চিতকরণের মাধ্যমে, কিছু ভুয়া সংকেতগুলি ফিল্টার করা যায় এবং লেনদেনের কৌশলগুলিকে আরও নির্ভরযোগ্য করে তোলে।
দ্বৈত নিশ্চিতকরণ প্রক্রিয়া, মিথ্যা ব্রেকডাউন এড়ানো, শব্দ ফিল্টার করা। মূল্য এবং লেনদেনের পরিমাণের সূচকগুলি একত্রিত করা, কেবলমাত্র যখন উভয়ই নিশ্চিত হয় তখনই সংকেত উত্পন্ন করা হয়, খালি শূন্যতার কারণে মূল্যের ব্রেকডাউনের কারণে কিছু ভুল সংকেত কার্যকরভাবে এড়ানো যায়।
প্যারামিটারগুলি সামঞ্জস্যপূর্ণ। ব্যবহারকারীরা বিভিন্ন বাজারের পরিবেশের সাথে খাপ খাইয়ে নিতে ব্রিনব্যান্ডের চক্রের প্যারামিটার এবং লেনদেনের পরিমাণের হ্রাসের গুণিতক প্যারামিটারগুলি সেট করতে পারেন।
একটি স্বজ্ঞাত ডায়াগ্রাম
বুলিন ব্যান্ড নিজেই ট্রেন্ড রিভার্স পয়েন্টকে পুরোপুরি সনাক্ত করতে পারে না। বুলিন ব্যান্ডগুলি কেবলমাত্র দামের অস্বাভাবিক অবস্থাকে স্পষ্টভাবে প্রদর্শন করতে পারে, তবে দামের বিপর্যয়ের পূর্বাভাস দিতে পারে না। অতএব, অন্যান্য সূচকগুলির সাথে বিচার করা দরকার।
ট্রেডিং ভলিউম সংকেত বিলম্বিত হতে পারে। যখন দ্রুত উর্ধ্বগামী এবং নিম্নগামী ব্রিন ব্যান্ডটি ভেঙে যায়, তখন ট্রেডিং ভলিউমের প্রতিক্রিয়া কিছুটা বিলম্বিত হতে পারে, যার ফলে সংকেত উত্পাদনও বিলম্বিত হতে পারে, যা টার্নিং পয়েন্টটি পুরোপুরি ধরতে পারে না।
অন্যান্য সূচক যেমন কেডিজে, এমএসিডি ইত্যাদির সাথে একত্রিত করার চেষ্টা করা যেতে পারে, আরও ভেরিয়েবল প্রবর্তন করে এবং আরও জটিল মাল্টিপ্লেক্স ট্রেডিং কৌশল তৈরি করে, যার ফলে কৌশলটির কার্যকারিতা বৃদ্ধি পায়।
ডাবল কনফার্মেশন এবং প্যারামিটার রেগুলেশন পদ্ধতির মাধ্যমে এই কৌশলটি কিছুটা পরিমাণে অতিরিক্ত গোলমালকে ফিল্টার করে, ট্রেডিং সিদ্ধান্তকে আরও নির্ভরযোগ্য করে তোলে। তবে ব্রিনব্যান্ডের নিজস্ব সীমাবদ্ধতার বিষয়ে সতর্ক হওয়া দরকার। পরবর্তী সময়ে অন্যান্য সূচকগুলি অপ্টিমাইজেশনের জন্য প্রয়োগ করার চেষ্টা করা যেতে পারে।
/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Volume + Bollinger Bands Strategy", overlay = true, shorttitle="Vol BB Strategy")
// Bollinger Bands Parameters
length = input(20, title="BB Length")
src = close
mult = input(2.0, title="Multiplier")
basis = ta.sma(src, length)
upper = basis + mult * ta.stdev(src, length)
lower = basis - mult * ta.stdev(src, length)
// Volume Parameters
volMultiplier = input(2.0, title="Volume Multiplier")
avgVolume = ta.sma(volume, length)
// Strategy Logic
buyCondition = close > upper and volume > volMultiplier * avgVolume
sellCondition = close < lower and volume > volMultiplier * avgVolume
// Plotting
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")
plot(volume, color=color.blue, style=plot.style_columns, title="Volume", transp=85)
plot(avgVolume * volMultiplier, color=color.orange, title="Avg Volume x Multiplier")
// Strategy Execution
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=sellCondition)
bgcolor(buyCondition ? color.new(color.green, 90) : sellCondition ? color.new(color.red, 90) : na)