এই কৌশলটি প্রবণতা সনাক্ত করতে এবং যখন সমষ্টিগত আরএসআই মান মূল প্রান্তিক স্তরগুলি অতিক্রম করে তখন কেনা এবং বিক্রয় সিদ্ধান্ত গ্রহণের জন্য ক্রমবর্ধমান আরএসআই সূচক ব্যবহার করে। এটি কার্যকরভাবে বাজারের গোলমাল ফিল্টার করতে পারে এবং দীর্ঘমেয়াদী প্রবণতা ট্রেডিং সুযোগগুলি ক্যাপচার করতে পারে।
কৌশলটি মূলত ট্রেডিং সিদ্ধান্তের জন্য সমষ্টিগত আরএসআই সূচকের উপর ভিত্তি করে। সমষ্টিগত আরএসআই সূচক হল আরএসআই মানের জমে থাকা। সমষ্টিগত পরামিতি সেট করে, গত সমষ্টিগত দিনগুলির আরএসআই মানগুলি সমষ্টিগত আরএসআই সূচক প্রাপ্ত করার জন্য যোগ করা হয়। এই সূচকটি স্বল্পমেয়াদী বাজার গোলমাল ফিল্টার করতে পারে।
যখন সমষ্টিগত আরএসআই সূচক বোলিংজার ব্যান্ডের উপরের রেলের উপরে অতিক্রম করে, তখন একটি দীর্ঘ অবস্থান খোলা হবে। যখন সমষ্টিগত আরএসআই বোলিংজার ব্যান্ডের নিম্ন রেলের নীচে অতিক্রম করে, তখন খোলা অবস্থানটি বন্ধ হয়ে যাবে। বোলিংজার ব্যান্ড রেলগুলি বহু বছরের ঐতিহাসিক তথ্যের উপর ভিত্তি করে গতিশীলভাবে গণনা করা হয়।
এছাড়াও, একটি ট্রেন্ড ফিল্টার বিকল্প যুক্ত করা হয়। লং ট্রেডগুলি কেবল তখনই খোলা হবে যখন দাম 100 দিনের চলমান গড়ের উপরে থাকে, যার অর্থ এটি একটি আপসোর্সিং ট্রেন্ড চ্যানেলে থাকে। এই ফিল্টারটি বাজারের ওঠানামা চলাকালীন ভুল ট্রেডগুলি এড়ায়।
কুমিলেটিভ আরএসআই ব্রেকআউট কৌশলটি মসৃণ লজিক প্রবাহ রয়েছে এবং কুমিলেটিভ আরএসআই দিয়ে ফিল্টারিং করে এবং প্রবণতা রায় যোগ করে মধ্য থেকে দীর্ঘমেয়াদী প্রবণতা সঠিকভাবে সনাক্ত করে। গত দশকে ব্যাকটেস্টের ফলাফল ব্যতিক্রমী। প্যারামিটার টিউনিং, সূচক যুক্ত করা, কৌশলটিকে আরও শক্তিশালী করার জন্য প্রস্থান শর্ত সমৃদ্ধ করার মতো ক্ষেত্রে এখনও উন্নতির সুযোগ রয়েছে। নতুন ধারণাটি আরও অন্বেষণ এবং প্রয়োগের যোগ্য।
/*backtest start: 2023-09-26 00:00:00 end: 2023-10-26 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // @version=5 // Author = TradeAutomation strategy(title="Cumulative RSI Strategy", shorttitle="CRSI Strategy", process_orders_on_close=true, overlay=true, commission_type=strategy.commission.cash_per_contract, commission_value=.0035, slippage = 1, margin_long = 75, initial_capital = 25000, default_qty_type=strategy.percent_of_equity, default_qty_value=110) // Cumulative RSI Indicator Calculations // rlen = input.int(title="RSI Length", defval=3, minval=1) cumlen = input(3, "RSI Cumulation Length") rsi = ta.rsi(close, rlen) cumRSI = math.sum(rsi, cumlen) ob = (100*cumlen*input(94, "Oversold Level")*.01) os = (100*cumlen*input(20, "Overbought Level")*.01) // Operational Function // TrendFilterInput = input(false, "Only Trade When Price is Above EMA?") ema = ta.ema(close, input(100, "EMA Length")) TrendisLong = (close>ema) plot(ema) // Backtest Timeframe Inputs // startDate = input.int(title="Start Date", defval=1, minval=1, maxval=31) startMonth = input.int(title="Start Month", defval=1, minval=1, maxval=12) startYear = input.int(title="Start Year", defval=2010, minval=1950, maxval=2100) endDate = input.int(title="End Date", defval=1, minval=1, maxval=31) endMonth = input.int(title="End Month", defval=1, minval=1, maxval=12) endYear = input.int(title="End Year", defval=2099, minval=1950, maxval=2100) InDateRange = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) and (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0)) // Buy and Sell Functions // if (InDateRange and TrendFilterInput==true) strategy.entry("Long", strategy.long, when = ta.crossover(cumRSI, os) and TrendisLong, comment="Buy", alert_message="buy") strategy.close("Long", when = ta.crossover(cumRSI, ob) , comment="Sell", alert_message="Sell") if (InDateRange and TrendFilterInput==false) strategy.entry("Long", strategy.long, when = ta.crossover(cumRSI, os), comment="Buy", alert_message="buy") strategy.close("Long", when = ta.crossover(cumRSI, ob), comment="Sell", alert_message="sell") if (not InDateRange) strategy.close_all()