এই ট্রেডিং কৌশলটি ট্রেডিং সিগন্যাল তৈরির জন্য আপেক্ষিক শক্তি সূচক (আরএসআই) এবং স্টোকাস্টিক আপেক্ষিক শক্তি সূচক (স্টোকাস্টিক আরএসআই) প্রযুক্তিগত সূচকগুলিকে একত্রিত করে। অতিরিক্তভাবে, এটি প্রবণতা নিশ্চিত করতে এবং সংকেতের নির্ভরযোগ্যতা বাড়ানোর জন্য উচ্চতর সময়সীমার মধ্যে ক্রিপ্টোকারেন্সির মূল্য প্রবণতা ব্যবহার করে।
মাল্টি টাইমফ্রেম RSI-SRSI ট্রেডিং কৌশল
স্ট্র্যাটেজিটি আরএসআই মানের উপর ভিত্তি করে ওভারকোপড এবং ওভারসোল্ড শর্তগুলি বিচার করে। 30 এর নীচে আরএসআইকে ওভারসোল্ড সংকেত হিসাবে বিবেচনা করা হয় এবং 70 এর উপরে আরএসআইকে ওভারসোল্ড সংকেত হিসাবে বিবেচনা করা হয়। স্টোকাস্টিক আরএসআই সূচকটি আরএসআই মানের ওঠানামা পর্যবেক্ষণ করে। 5 এর নীচে স্টোকাস্টিক আরএসআই ওভারসোল্ড এবং 50 এর উপরে স্টোকাস্টিক আরএসআই ওভারসোল্ড।
এই কৌশলটি উচ্চতর সময়সীমার (যেমন সাপ্তাহিক) ক্রিপ্টোকারেন্সির মূল্য প্রবণতাকেও অন্তর্ভুক্ত করে। কেবলমাত্র যখন উচ্চতর সময়সীমার আরএসআই একটি প্রান্তিকের (যেমন ৪৫) উপরে থাকে তখনই লং সংকেতগুলি ট্রিগার হয়। এটি সামগ্রিক প্রবণতা নেমে যাওয়ার সময় অ-স্থায়ী ওভারসোল্ড সংকেতগুলি ফিল্টার করে।
ভুয়া সিগন্যাল এড়াতে প্রকৃত ট্রেডিং সিগন্যাল তৈরি হওয়ার আগে কেনা-বেচা সিগন্যালগুলিকে বেশ কিছু সময়ের জন্য (যেমন ৮টি বার) নিশ্চিত করতে হবে।
কৌশলটি মূলত দুটি ক্লাসিকাল প্রযুক্তিগত সূচক, আরএসআই এবং স্টোকাস্টিক আরএসআই-এর উপর নির্ভর করে, ট্রেডিং সিগন্যাল তৈরি করতে। উপরন্তু, উচ্চতর সময়সীমার থেকে প্রবণতা নিশ্চিতকরণের প্রবর্তন ভুয়া সংকেতগুলি কার্যকরভাবে ফিল্টার করতে এবং সংকেতের গুণমান উন্নত করতে সহায়তা করে। পরামিতিগুলি অনুকূলিতকরণ, স্টপ লস এবং অন্যান্য উপায় যুক্ত করে আরও পারফরম্যান্স উন্নতি অর্জন করা যেতে পারে। যুক্তিটি সহজ এবং সহজেই বোঝা যায়। এটি কোয়ান্টাম ট্রেডিংয়ের জন্য একটি ভাল সূচনা পয়েন্ট হিসাবে কাজ করে।
/*backtest start: 2023-02-11 00:00:00 end: 2024-02-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI and Stochatic Strategy", overlay=true, use_bar_magnifier = false) /////// Inputs /////////////// // RSI and SRSI rsiLength = input(14, title="RSI Length") stochLength = input(14, title="Stochastic Length") kSmooth = input(3, title="K Smooth") dSmooth = input(3, title="D Smooth") //////// thresholds /////////////// st_low = input(5, title="Low SRSI") // stochastic RSI low -- prepare to sell st_hi = input(50, title="High SRSI") // stochastic RSI high -- prepare to buy diff = input(5, title="difference") // minimum change in RSI // inval_diff = input(12, title="difference") // invalidation difference: change in the oposite direction that invalidates rsi falling/rising rsi_low = input(30, title="Low RSI") // RSI considered low rsi_hi = input(60, title="High RSI") // RSI considered high rsi_ht_hi = input(45, title="High higher time frame RSI") // RSI in higher time frame considered high /// buy trigger duration tr_dur = input(8, title="Trigger duration") low_dur = input(20, title="Monitoring last low") ///////////////// Higher time frame trend /////////////////// // higher time frame resolution res2 = input.timeframe("W", title="Higher time-frame") // Input for the ticker symbol, default is an empty string // For instance we could monitor BTC higher time frame trend symbol = input("BTC_USDT:swap", "Input Ticker (leave empty for current)") // Determine the symbol to use inputSymbol = symbol == "" ? syminfo.tickerid : symbol ////////////////////////////////////////////////////////// // Calculate RSI // rsi = ta.rsi(close, rsiLength) // Calculate Stochastic RSI // rsiLowest = ta.lowest(rsi, stochLength) rsiHighest = ta.highest(rsi, stochLength) stochRsi = 100 * (rsi - rsiLowest) / (rsiHighest - rsiLowest) // Apply smoothing K = ta.sma(stochRsi, kSmooth) D = ta.sma(K, dSmooth) // Higher time Frame RSI cl2 = request.security(inputSymbol, res2, close) rsi2 = ta.rsi(cl2, 14) // SRSI BUY/SELL signals sell_stoch = (ta.lowest(K, tr_dur) < st_low) or (ta.highest(rsi, tr_dur) < rsi_low) buy_stoch = ((ta.lowest(K, tr_dur) > st_hi) or (ta.lowest(rsi, tr_dur) > rsi_hi)) and (rsi2 > rsi_ht_hi) // valitation / invalidation sell signal ll = ta.barssince(not sell_stoch)+1 sell_validation = (ta.highest(rsi, ll)>rsi[ll]+diff and rsi < rsi[ll]) or (rsi < rsi[ll]-diff) // valitation / invalidation buy signal llb = ta.barssince(not buy_stoch)+1 buy_validation = (ta.lowest(rsi, llb)<rsi[llb]-diff and rsi > rsi[llb]) or (rsi > rsi_hi and rsi - rsi[tr_dur] > 0) sell_signal = sell_stoch and sell_validation buy_signal = buy_stoch and buy_validation // Define the start date for the strategy startYear = input(2019, "Start Year") startMonth = input(1, "Start Month") startDay = input(1, "Start Day") // Convert the start date to Unix time startTime = timestamp(startYear, startMonth, startDay, 00, 00) // Define the end date for the strategy endYear = input(2030, "End Year") endMonth = input(1, "End Month") endDay = input(1, "End Day") // Convert the end date to Unix time endTime = timestamp(endYear, endMonth, endDay, 00, 00) if true if buy_signal strategy.entry("buy", strategy.long, comment = "Buy") if sell_signal strategy.close("buy", "Sell")