ফাস্ট আরএসআই রিভার্সাল ট্রেডিং স্ট্র্যাটেজি ফাস্ট আরএসআই সূচক, ক্যান্ডেলস্টিক বডি ফিল্টার, মিনি / ম্যাক্স মূল্য ফিল্টার এবং এসএমএ ফিল্টারকে একত্রিত করে ট্রেডিং সংকেত তৈরি করে। এই কৌশলটি স্বল্প-ঝুঁকিপূর্ণ বিপরীত ট্রেডিংয়ের জন্য প্রবণতা বিপরীত পয়েন্টগুলি নির্ধারণ করে। এই কৌশলটির লক্ষ্য স্বল্পমেয়াদী বিপরীত সুযোগগুলি ক্যাপচার করা।
কৌশলটি মূলত নিম্নলিখিত মূল্যায়ন সূচকগুলির উপর ভিত্তি করেঃ
দ্রুত আরএসআই সূচক: RMA ফাংশন ব্যবহার করে RSI গণনা করে যাতে এটি আরও সংবেদনশীল হয় যাতে অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় সংকেতগুলি দ্রুত ধরা যায়।
ক্যান্ডেলস্টিক বডি ফিল্টার: কম অস্থিরতার পরিস্থিতি ফিল্টার করার জন্য মোমবাতি শরীরের আকার EMA শরীরের গড় 1/5 অতিক্রম করতে হবে।
ন্যূনতম/সর্বোচ্চ মূল্য ফিল্টার: ট্রেন্ড বিপরীত হওয়ার বিষয়টি নিশ্চিত করার জন্য যদি দাম নতুন উচ্চতা বা নতুন নিম্নতা পায় তবে বিচার করে।
এসএমএ ফিল্টার: অতিরিক্ত নিশ্চিতকরণের জন্য এসএমএ লাইন ভাঙ্গার জন্য মূল্য প্রয়োজন।
ট্রেডিং সিগন্যাল তৈরি হয় যখন উপরের একাধিক শর্ত একযোগে ট্রিগার হয়। নির্দিষ্ট যুক্তি হলঃ
লং এন্ট্রিঃ দ্রুত আরএসআই ওভারসোল্ড স্তরের নিচে এবং মোমবাতি শরীর > ইএমএ শরীরের 1/5 এবং মিনি দামের ব্রেকআউট এবং দাম এসএমএর উপরে ক্রস করে
শর্ট এন্ট্রিঃ দ্রুত আরএসআই ওভারকোপড স্তরের উপরে এবং মোমবাতি শরীর > ইএমএ শরীরের 1/5 এবং সর্বোচ্চ মূল্য ব্রেকআউট এবং দাম এসএমএর নীচে ক্রস করে
প্রস্থানঃ দ্রুত আরএসআই স্বাভাবিক পরিসরে ফিরে আসে
এই কৌশলটির নিম্নলিখিত সুবিধা রয়েছে:
এই কৌশলের কিছু ঝুঁকিও রয়েছে:
নিম্নলিখিতগুলি দ্বারা আরও অপ্টিমাইজ করতে পারেঃ
সামগ্রিকভাবে এটি একটি স্বল্প-ঝুঁকিযুক্ত স্বল্প-মেয়াদী গড় বিপরীত ট্রেডিং কৌশল। এটি ফাস্ট আরএসআই সহ ট্রেডিং সংকেতগুলি সনাক্ত করে এবং মিথ্যা সংকেতগুলি হ্রাস করতে একাধিক ফিল্টার ব্যবহার করে, নিয়ন্ত্রিত ঝুঁকি বিপরীত ট্রেডিং অর্জন করে। কৌশলটি আরও অনুকূলিত করা যেতে পারে এবং এর দুর্দান্ত সম্ভাবনা রয়েছে।
/*backtest start: 2024-02-01 00:00:00 end: 2024-02-26 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=3 strategy(title = "Noro's Fast RSI Strategy v1.4", shorttitle = "Fast RSI str 1.4", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") usersi = input(true, defval = true, title = "Use Fast RSI Strategy") usemm = input(true, defval = true, title = "Use Min/Max Strategy") usesma = input(true, defval = true, title = "Use SMA Filter") smaperiod = input(20, defval = 20, minval = 2, maxval = 1000, title = "SMA Filter Period") rsiperiod = input(7, defval = 7, minval = 2, maxval = 50, title = "RSI Period") limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit") rsisrc = input(close, defval = close, title = "RSI Price") rsibars = input(1, defval = 1, minval = 1, maxval = 20, title = "RSI Bars") mmbars = input(1, defval = 1, minval = 1, maxval = 5, title = "Min/Max Bars") showsma = input(false, defval = false, title = "Show SMA Filter") showarr = input(false, defval = false, title = "Show Arrows") fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //Fast RSI fastup = rma(max(change(rsisrc), 0), rsiperiod) fastdown = rma(-min(change(rsisrc), 0), rsiperiod) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //Limits bar = close > open ? 1 : close < open ? -1 : 0 uplimit = 100 - limit dnlimit = limit //RSI Bars upsignal = fastrsi > uplimit ? 1 : 0 dnsignal = fastrsi < dnlimit ? 1 : 0 uprsi = sma(upsignal, rsibars) == 1 dnrsi = sma(dnsignal, rsibars) == 1 //Body body = abs(close - open) emabody = ema(body, 30) //MinMax Bars min = min(close, open) max = max(close, open) minsignal = min < min[1] and bar == -1 and bar[1] == -1 ? 1 : 0 maxsignal = max > max[1] and bar == 1 and bar[1] == 1 ? 1 : 0 mins = sma(minsignal, mmbars) == 1 maxs = sma(maxsignal, mmbars) == 1 //SMA Filter sma = sma(close, smaperiod) colorsma = showsma ? blue : na plot(sma, color = colorsma, linewidth = 3) //Signals up1 = bar == -1 and (strategy.position_size == 0 or close < strategy.position_avg_price) and dnrsi and body > emabody / 5 and usersi dn1 = bar == 1 and (strategy.position_size == 0 or close > strategy.position_avg_price) and uprsi and body > emabody / 5 and usersi up2 = mins and (close > sma or usesma == false) and usemm dn2 = maxs and (close < sma or usesma == false) and usemm exit = ((strategy.position_size > 0 and fastrsi > dnlimit and bar == 1) or (strategy.position_size < 0 and fastrsi < uplimit and bar == -1)) and body > emabody / 2 //Arrows col = exit ? black : up1 or dn1 ? blue : up2 or dn2 ? red : na needup = up1 or up2 needdn = dn1 or dn2 needexitup = exit and strategy.position_size < 0 needexitdn = exit and strategy.position_size > 0 plotarrow(showarr and needup ? 1 : na, colorup = blue, colordown = blue, transp = 0) plotarrow(showarr and needdn ? -1 : na, colorup = blue, colordown = blue, transp = 0) plotarrow(showarr and needexitup ? 1 : na, colorup = black, colordown = black, transp = 0) plotarrow(showarr and needexitdn ? -1 : na, colorup = black, colordown = black, transp = 0) //Trading if up1 or up2 strategy.entry("Long", strategy.long, needlong == false ? 0 : na) if dn1 or dn2 strategy.entry("Short", strategy.short, needshort == false ? 0 : na) if time > timestamp(toyear, tomonth, today, 00, 00) or exit strategy.close_all()