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