
এই কৌশলটি সম্ভাব্য বাজার বিপর্যয় চিহ্নিত করার জন্য বুলিন ব্যান্ড এবং আরএসআই সূচককে ডাবল কনফার্মেশন পদ্ধতির মাধ্যমে একত্রিত করে। যখন দাম বুলিন ব্যান্ডের নিচে অতিক্রম করে এবং আরএসআই ওভারসোল শর্তটি নিশ্চিত করে, তখন একটি মাল্টিপয়েন্ট পজিশনে প্রবেশ করা হয়; যখন দাম বুলিন ব্যান্ডের উপরে অতিক্রম করে এবং আরএসআই ওভারসোল শর্তটি নিশ্চিত করে, তখন একটি খালি অবস্থানে প্রবেশ করা হয়। এই কৌশলটি একই সাথে ফিক্সড স্টপ লস এবং ট্র্যাকিং স্টপ লস ম্যানেজমেন্ট পরিচালনা করে, যার লক্ষ্য উচ্চ সম্ভাব্যতার বিপর্যয় ট্রেডিং সুযোগগুলি ক্যাপচার করা এবং তহবিলের সুরক্ষা রক্ষা করা।
এই কৌশলটি গড় মূল্যের রিটার্নের নীতি এবং গতিশীলতা নিশ্চিতকরণ ব্যবস্থার উপর ভিত্তি করে কাজ করে। ব্রিনের ব্যান্ডগুলি সাম্প্রতিক অস্থিরতার তুলনায় মূল্যের চূড়ান্ত মান সনাক্ত করতে সহায়তা করে এবং আরএসআই নিশ্চিত করে যে বাজারটি আসলে ওভারবয় বা ওভারসোল অবস্থায় রয়েছে কিনা। এর মূল নীতিগুলি হলঃ
কোড বাস্তবায়নের ক্ষেত্রে, কৌশলটি 30 দিনের পিরিয়ডের এসএমএ ব্যবহার করে ব্রিনলেডের মধ্যম অক্ষটি গণনা করে, স্ট্যান্ডার্ড ডিফারেনশিয়ালটি 2.0 হয় এবং 14 দিনের পিরিয়ডের আরএসআইকে গতিশীলতা হিসাবে ব্যবহার করে। যখন দামটি ট্র্যাকের উপরে চলে যায় এবং আরএসআই 70 এর উপরে থাকে তখন একটি বাম মাথা সংকেত ট্রিগার করে; যখন দামটি ট্র্যাকের নিচে চলে যায় এবং আরএসআই 30 এর নীচে থাকে তখন একটি মাল্টিহেড সংকেত ট্রিগার করে। একই সাথে, প্রতিটি লেনদেনের জন্য একটি নির্দিষ্ট 40 পয়েন্ট স্টপ লস এবং 40 পয়েন্ট ট্র্যাকিং স্টপ লস প্রয়োগ করা হয়, যাতে ঝুঁকি নিয়ন্ত্রণযোগ্য হয়।
বুলিনব্যান্ড-আরএসআই ডাবল নিশ্চিতকরণ গড় রিটার্ন কৌশল এবং ট্র্যাকিং স্টপ সুরক্ষা একটি সুচিন্তিত বাজার বিপরীত ট্রেডিং পদ্ধতির প্রতিনিধিত্ব করে। বুলিনব্যান্ডের উদ্বায়ী সংকেত এবং আরএসআইয়ের গতিশীলতা নিশ্চিতকরণের সাথে মিলিত এই কৌশলটি উচ্চ-সম্ভাব্যতা বিপর্যয়কে ক্যাপচার করার জন্য এবং মিথ্যা সংকেতগুলিকে ফিল্টার করার জন্য তৈরি করা হয়েছে। অন্তর্নির্মিত ঝুঁকি ব্যবস্থাপনা ব্যবস্থাটি স্থির এবং ট্র্যাকিং স্টপ দ্বারা গুরুত্বপূর্ণ সুরক্ষা স্তর সরবরাহ করে। যদিও এই কৌশলটি অন্যান্য সম্ভাব্য বিপর্যয়কে দ্বিগুণভাবে সনাক্ত করার ক্ষেত্রে সুস্পষ্ট সুবিধা রয়েছে, তবে এটি আরও অপ্টিমাইজেশন থেকে উপকৃত হতে পারে, বিশেষত বিভিন্ন বাজারের অবস্থার সাথে খাপ খাইয়ে নেওয়ার এবং আরও জটিল পজিশন ম্যানেজমেন্ট এবং এক্সট্রুশন প্রক্রিয়া বাস্তবায়নের ক্ষেত্রে। সামগ্রিকভাবে, এটি একটি সুষম সংকেত মানের এবং ঝুঁকি পরিচালনার জন্য একটি শক্তিশালী ভিত্তি।
/*backtest
start: 2024-08-11 00:00:00
end: 2025-08-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("BB & RSI Trailing Stop Strategy", overlay=true, initial_capital=10000)
// --- Inputs for Bollinger Bands, RSI, and Trade Management ---
bb_length = input.int(30, title="BB Length", minval=1)
bb_mult = input.float(2.0, title="BB StdDev", minval=0.001, maxval=50)
rsi_length = input.int(14, title="RSI Length", minval=1)
rsi_overbought = input.int(70, title="RSI Overbought Level", minval=1)
rsi_oversold = input.int(30, title="RSI Oversold Level", minval=1)
// We only need an input for the fixed stop loss now.
fixed_stop_points = input.int(40, title="Fixed Stop Loss Points", minval=1)
// --- Define Trailing Stop Value ---
// The trailing stop is hardcoded to 40 points as requested.
trailing_stop_points = 40
// --- Calculate Indicators ---
// Bollinger Bands
basis = ta.sma(close, bb_length)
dev = bb_mult * ta.stdev(close, bb_length)
upper = basis + dev
lower = basis - dev
// RSI
rsi_value = ta.rsi(close, rsi_length)
// --- Plot the Indicators on the chart ---
plot(basis, "Basis", color=color.new(color.gray, 0))
plot(upper, "Upper", color=color.new(color.red, 0))
plot(lower, "Lower", color=color.new(color.green, 0))
// --- Define Entry Conditions ---
// Short entry when price crosses upper band AND RSI is overbought
short_condition = ta.crossover(close, upper) and (rsi_value > rsi_overbought)
// Long entry when price crosses under lower band AND RSI is oversold
long_condition = ta.crossunder(close, lower) and (rsi_value < rsi_oversold)
// --- Execute Trades and Manage Exits ---
if (strategy.position_size == 0)
// Logic for SHORT trades
if (short_condition)
strategy.entry("BB/RSI Short", strategy.short)
// Logic for LONG trades
if (long_condition)
strategy.entry("BB/RSI Long", strategy.long)
// Apply the fixed stop loss and trailing stop to any open position
strategy.exit(id="Exit Order",
loss=fixed_stop_points,
trail_points=trailing_stop_points,
trail_offset=0)