এই কৌশলটি মূলত ট্রেডিং সিগন্যাল বিচারের জন্য রিলেটিভ স্ট্রেনথ ইনডেক্স (আরএসআই) বোলিংজার ব্যান্ডের সাথে মিলিত ব্যবহার করে। বিশেষত, যখন আরএসআই ওভারসোল্ড স্তরের উপরে এবং নিম্ন বোলিংজার ব্যান্ডের নীচে অতিক্রম করে তখন এটি দীর্ঘ হয় এবং যখন আরএসআই ওভারক্রয় স্তরের নীচে এবং উপরের বোলিংজার ব্যান্ডের উপরে অতিক্রম করে তখন এটি শর্ট হয়।
কৌশলটি প্রথমে আরএসআই সূচক এবং বোলিংজার ব্যান্ড গণনা করে। আরএসআই সূচকটি ট্রেডিং যন্ত্রের আপেক্ষিক শক্তি প্রতিফলিত করে। যখন আরএসআই ওভারসোল্ড জোনের (ডিফল্ট 30) এর নীচে থাকে, তখন এর অর্থ এই যে যন্ত্রটি ওভারসোল্ড হয়েছে এবং কিনতে হবে। বোলিংজার ব্যান্ডগুলির মধ্যে উপরের ব্যান্ড, মাঝের ব্যান্ড এবং নীচের ব্যান্ড অন্তর্ভুক্ত রয়েছে, যা দামের ওঠানামা পরিসীমাকে ভালভাবে প্রতিফলিত করে। নিম্ন ব্যান্ডের কাছাকাছি কেনা এবং উপরের ব্যান্ডের কাছাকাছি বিক্রয় তুলনামূলকভাবে নির্ভরযোগ্য সংকেত সরবরাহ করতে পারে। এই কৌশলটি ট্রেডিং সিগন্যাল বিচারের জন্য আরএসআই সূচক এবং বোলিংজার ব্যান্ডগুলিকে একত্রিত করে। এটি যখন আরএসআই ওভারসোল্ড জোন থেকে এর উপরে (ডিফল্ট 30) উঠে যায় এবং নিম্ন ব্যান্ড থেকে দাম এর উপরে উঠে যায়; এটি বিক্রি সংকেত তৈরি করে যখন আরএসআই এর নীচে ব্যান্ড থেকে পড়ে এবং এর নীচে পড়ে (ডিফল্ট মূল্য
সমাধান:
সামগ্রিক কৌশলটি শক্তিশালী, স্টপ লস জন্য কার্যকরভাবে আরএসআই এবং বলিংজার ব্যান্ডগুলিকে একত্রিত করে। পরামিতিগুলি পরীক্ষা এবং অনুকূলিতকরণের মাধ্যমে আরও উন্নতি অর্জন করা যেতে পারে। কঠোর নিয়মের কারণে সম্ভাব্য সংকেত অনুপস্থিত ঝুঁকির বিষয়েও সচেতন হওয়া দরকার। সাধারণভাবে, এটি একটি নির্ভরযোগ্য পরিমাণগত ট্রেডিং কৌশল।
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("BB + RSI 20MIN,", shorttitle="BBRSI 20MIN", overlay=true ) // Strategy Tester Start Time sYear = input(2019, title = "Start Year") sMonth = input(04, title = "Start Month", minval = 01, maxval = 12) sDay = input(01, title = "Start Day", minval = 01, maxval = 31) sHour = input(00, title = "Start Hour", minval = 00, maxval = 23) sMinute = input(00, title = "Start Minute", minval = 00, maxval = 59) startTime = true ///////////// RSI RSIlength = input(9,title="RSI Period Length") RSIoverSold = input(30, minval=1,title="RSIL") RSIoverBought = input(69, minval=1,title="RSIh") price = open vrsi = rsi(price, RSIlength) ///////////// Bollinger Bands BBlength = input(60, minval=1,title="Bollinger Period Length") BBmult = input(2.0, minval=0.001, maxval=50,title="Bb") BBbasis = sma(price, BBlength) BBdev = BBmult * stdev(price, BBlength) BBupper = BBbasis + BBdev BBlower = BBbasis - BBdev source = close buyEntry = crossover(source, BBlower) sellEntry = crossunder(source, BBupper) plot(BBbasis, color=aqua,title="Bollinger Bands SMA Basis Line") p1 = plot(BBupper, color=silver,title="Bollinger Bands Upper Line") p2 = plot(BBlower, color=silver,title="Bollinger Bands Lower Line") fill(p1, p2) ///////////// Colors switch1=input(true, title="Enable Bar Color?") switch2=input(true, title="Enable Background Color?") TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) and BBbasis < BBbasis[1] ? red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? green : na barcolor(switch1?TrendColor:na) bgcolor(switch2?TrendColor:na,transp=50) ///////////// RSI + Bollinger Bands Strategy if (not na(vrsi)) if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower)) strategy.entry("RSI_BB_L", strategy.long and startTime, stop=BBlower, comment="RSI_BB_L") else strategy.cancel(id="RSI_BB_L") if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper)) strategy.entry("RSI_BB_S", strategy.short and startTime, stop=BBupper,comment="RSI_BB_S") else strategy.cancel(id="RSI_BB_S") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)