
এই কৌশলটি একটি উন্নত সংস্করণ প্রবণতা ট্র্যাকিং কৌশল যা বুলিন ব্যান্ডের সূচকগুলির উপর ভিত্তি করে তৈরি করা হয়েছে। এটি প্রবণতার নির্ভরযোগ্যতা নিশ্চিত করার জন্য বুলিন ব্যান্ডের সাথে তিনটি ক্রমাগত স্পর্শের উপর নজরদারি করে, যার ফলে উচ্চতর জয়লাভের সাথে ট্রেডিং করা যায়। কৌশলটি 20 টি চক্রের চলমান গড়কে মধ্যম ট্র্যাক হিসাবে ব্যবহার করে এবং 2x স্ট্যান্ডার্ড ডিভেরিয়েন্সকে উপরের এবং নীচের ট্র্যাকের গণনা বেঞ্চমার্ক হিসাবে ব্যবহার করে। দামের সাথে বুলিন ব্যান্ডের সীমানার সম্পর্কের গভীর বিশ্লেষণের মাধ্যমে একটি অনন্য সুবিধাজনক ট্রেডিং সিস্টেম উপলব্ধ করা হয়।
কৌশলটির কেন্দ্রীয় যুক্তিটি হ’ল দামের ক্রমাগত স্পর্শের জন্য অ্যাকাউন্টিং সিস্টেমের মাধ্যমে বুলিন বন্ডের সীমানা সনাক্ত করা। যখন দাম তিনটি ধারাবাহিকভাবে ট্র্যাক থেকে বেরিয়ে আসে, তখন সিস্টেমটি একাধিক সংকেত দেয়; যখন দাম তিনটি ধারাবাহিকভাবে ট্র্যাক থেকে বেরিয়ে আসে, তখন সিস্টেমটি একটি খালি সংকেত দেয়। এই প্রক্রিয়াটি কার্যকরভাবে মিথ্যা বিরতিগুলি ফিল্টার করে এবং লেনদেনের নির্ভরযোগ্যতা বাড়ায়। কৌশলটি বুলিন বন্ডের মধ্যবর্তী লাইন (২০-পর্যায়ের চলমান গড়) ব্যবহার করে। সমতল সংকেত হিসাবে, যখন দাম মধ্যবর্তী পথে ফিরে আসে তখন লেনদেন সম্পন্ন হয়। এই নকশাটি প্রবণতার উপর নিয়ন্ত্রণ নিশ্চিত করে এবং সময়মতো মুনাফা লক করতে পারে।
এই কৌশলটি ঐতিহ্যগত ব্রিন-ব্যান্ড ট্রেডিং সিস্টেমের উন্নতি করে একটি উচ্চ নির্ভরযোগ্যতার ট্রেন্ড ট্র্যাকিং কৌশল অর্জন করে। এর অনন্য ট্রিপল-টাচ কনফার্মেশন মেকানিজম কার্যকরভাবে ব্যবসায়ের বিজয়ীতা বাড়ায়, এবং চলমান গড়ের উপর ভিত্তি করে প্লেইন পজিশন মেকানিজম যুক্তিসঙ্গত লাভজনক সমাপ্তি প্রদান করে। যদিও কৌশলটিতে এখনও কিছু অন্তর্নিহিত ঝুঁকি রয়েছে, তবে অপ্টিমাইজড দিকনির্দেশনা সরবরাহ করে কৌশলটির স্থিতিশীলতা এবং লাভজনকতা আরও বাড়ানো যেতে পারে।
/*backtest
start: 2024-11-10 00:00:00
end: 2024-12-09 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Bollinger Bands Strategy - 3 Crossings", overlay=true)
// Input Parameters
length = input.int(20, title="Bollinger Bands Length", minval=1)
src = input(close, title="Source")
mult = input.float(2.0, title="Multiplier", step=0.1)
// Calculate Bollinger Bands
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Plot Bollinger Bands
plotBasis = plot(basis, color=color.blue, title="Basis")
plotUpper = plot(upper, color=color.red, title="Upper Band")
plotLower = plot(lower, color=color.green, title="Lower Band")
fill(plot1=plotUpper, plot2=plotLower, color=color.new(color.blue, 90), title="Band Fill")
// Counter Variables
var int longCrossCount = 0
var int shortCrossCount = 0
// Detect Crossings
longCondition = close < lower // Price closes below the lower band
shortCondition = close > upper // Price closes above the upper band
if longCondition
longCrossCount += 1 // Increment the counter for long
shortCrossCount := 0 // Reset the short counter
if shortCondition
shortCrossCount += 1 // Increment the counter for short
longCrossCount := 0 // Reset the long counter
if not longCondition and not shortCondition
longCrossCount := 0 // Reset if no crossing
shortCrossCount := 0
// Entry and Exit Rules
if longCrossCount >= 3 and strategy.position_size <= 0
strategy.entry("Long", strategy.long)
longCrossCount := 0 // Reset the counter after entering
if shortCrossCount >= 3 and strategy.position_size >= 0
strategy.entry("Short", strategy.short)
shortCrossCount := 0 // Reset the counter after entering
// Exit Condition (When Price Returns to the Middle Band)
exitCondition = ta.crossover(src, basis) or ta.crossunder(src, basis)
if exitCondition and strategy.position_size > 0
strategy.close("Long")
if exitCondition and strategy.position_size < 0
strategy.close("Short")