এই কৌশলটি স্টকআরএসআই সূচকের উপর ভিত্তি করে তৈরি করা হয়। কৌশলটি মূলত ওভারকপড এবং ওভারসোল্ড পরিস্থিতি বিচার করতে স্টকআরএসআই সূচক ব্যবহার করে। কিছু মিথ্যা সংকেত ফিল্টার করার জন্য আরএসআই সূচকের সাথে মিলিত, স্টকআরএসআই সূচকটি ওভারকপড অঞ্চল দেখলে শর্ট যান এবং মুনাফা অর্জনের জন্য ওভারসোল্ড অঞ্চল দেখলে দীর্ঘ যান।
এই কৌশলটি মূলত বাজারে অতিরিক্ত ক্রয় এবং অতিরিক্ত বিক্রয় অঞ্চলগুলি বিচার করার জন্য স্টকআরএসআই সূচক প্রয়োগ করে। স্টকআরএসআই সূচকটি কে লাইন এবং ডি লাইনের সমন্বয়ে গঠিত। কে লাইনটি সাম্প্রতিক সময়ের মধ্যে আরএসআই মূল্য পরিসরে বর্তমান আরএসআই মানের অবস্থানকে প্রতিফলিত করে। ডি লাইনটি কে লাইনের চলমান গড়। যখন কে লাইনটি ডি লাইনের উপরে অতিক্রম করে, এটি একটি অতিরিক্ত ক্রয় অঞ্চল এবং দীর্ঘ অবস্থান গ্রহণ করা যেতে পারে। যখন কে লাইনটি ডি লাইনের নীচে পড়ে, এটি একটি অতিরিক্ত বিক্রয় অঞ্চল এবং শর্ট অবস্থান গ্রহণ করা যেতে পারে।
বিশেষত, কৌশলটি প্রথমে 14 পিরিয়ডের আরএসআই সূচকের মান গণনা করে এবং তারপরে আরএসআই সূচকের উপর স্টকআরএসআই সূচক প্রয়োগ করে। স্টকআরএসআই সূচক পরামিতিগুলি 14 এর দৈর্ঘ্যের সাথে সেট করা হয়, 3 এর মসৃণ কে লাইন সময়কাল এবং 3 এর মসৃণ ডি লাইন সময়কাল। যখন কে লাইন ব্যবহারকারীর দ্বারা সংজ্ঞায়িত ওভারসোল্ড এলাকার উপরে অতিক্রম করে (ডিফল্ট হল 1), তখন লং পজিশন নেওয়া হবে। যখন কে লাইন ব্যবহারকারীর দ্বারা সংজ্ঞায়িত ওভারসোল্ড এলাকার নীচে পড়ে (ডিফল্ট হল 99), তখন শর্ট পজিশন নেওয়া হবে।
এছাড়াও, স্টপ লস এবং টেক প্রফিট প্যারামিটারগুলি কৌশলটিতে সেট করা হয়। স্টপ লসটি ডিফল্টরূপে 10000। টেক প্রফিট 300 এর ডিফল্ট ট্রেলিং পয়েন্ট এবং 0 এর অফসেটের সাথে ট্রেলিং স্টপ ব্যবহার করে।
উপরের ঝুঁকিগুলির জন্য, সংকেতগুলি ফিল্টার করতে, বিভিন্ন বাজারে অভিযোজিত হওয়ার জন্য অতিরিক্ত ক্রয় এবং অতিরিক্ত বিক্রয় পরামিতিগুলি সামঞ্জস্য করতে এবং বিভিন্ন স্টপ লস এবং লাভের পরামিতিগুলি পরীক্ষা করার জন্য দীর্ঘ চক্রের পরামিতিগুলি সেট করা যেতে পারে বা অন্যান্য সূচকগুলির সাথে একত্রে ব্যবহার করার বিষয়টি বিবেচনা করা যেতে পারে।
এই কৌশলটি স্টকআরএসআই সূচক দ্বারা বিচার করা ওভারকোপড এবং ওভারসোল্ড অঞ্চলগুলির উপর ভিত্তি করে ট্রেড করে। একক আরএসআই সূচকের তুলনায়, স্টকআরএসআই কেডিজে ধারণাটি একত্রিত করে এবং আরও নির্ভুলভাবে বাঁক পয়েন্টগুলি বিচার করতে পারে। একই সাথে, মিথ্যা সংকেতগুলি আরএসআই দ্বারা ফিল্টার করা হয় এবং ঝুঁকিগুলি স্টপ লস এবং লাভ গ্রহণের মাধ্যমে নিয়ন্ত্রিত হয়। অপ্টিমাইজেশনের জন্য এখনও প্রচুর জায়গা রয়েছে, এটি অন্যান্য সূচক বা অনুকূলিত পরামিতি সেটিংসের সাথে একত্রিত করা যেতে পারে।
/*backtest start: 2023-11-06 00:00:00 end: 2023-12-06 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version= 2 strategy("STOCHRSI JURE", overlay=false) lengthrsi = input(10) overSold = input( 1 ) overBought = input(99) call_trail_stop = input(300) call_trail_offset = input(0) call_sl = input(10000) price = ohlc4 vrsi = rsi(price, lengthrsi) smoothK = input(3, minval=1) smoothD = input(3, minval=1) lengthRSI = input(14, minval=1) lengthStoch = input(14, minval=1) src = input(close, title="RSI Source") rsi1 = rsi(src, lengthRSI) k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = sma(k, smoothD) plot( k, color=blue, linewidth=1, title="K") plot( d, color=red, linewidth=1, title="D") if (crossover(k, overSold) ) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") strategy.exit("BUY EXIT", "BUY", trail_points=call_trail_stop, trail_offset=call_trail_offset, loss = call_sl) if (crossunder(k, overBought) ) strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL") strategy.exit("SELL EXIT", "SELL", trail_points=call_trail_stop, trail_offset=call_trail_offset, loss = call_sl) //if ( ( crossover(k,d)) and ( (vrsi<overSold) or crossover(vrsi,overSold) ) and year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) // strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", oca_type=strategy.oca.cancel, comment="BUY") //else // strategy.cancel(id="BUY") //if ( ( crossunder(k,d) ) and ( (vrsi >overBought) or crossunder(vrsi,overBought) ) and year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) // strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", oca_type=strategy.oca.cancel, comment="SELL") //else // strategy.cancel(id="SELL")