
আরএসআই ডায়নামিক রিভার্স কৌশলটি আরএসআই সূচক এবং কে-লাইন সত্তার দিকনির্দেশের সাথে মিলিত হয়ে ওভার-বই ওভার-সোল্ডের ঘটনাগুলি সনাক্ত করে বিপরীত ট্রেডিং করে। এই কৌশলটি একই সাথে নিয়মিত আরএসআই এবং দ্রুত আরএসআই ব্যবহার করে এবং কে-লাইন সত্তার ফিল্টার সহ কাজ করে, যা বিপরীত সুযোগগুলিকে কার্যকরভাবে সনাক্ত করতে পারে।
এই কৌশলটি মূলত নিম্নলিখিত অংশগুলির মাধ্যমে বাস্তবায়িত হয়ঃ
কমন আরএসআই, আরএসআই উইন রেট ইন্ডিকেটর এবং আরএসআই প্যারিস-শার ইন্ডিকেটর গণনা করুন।
দামের পরিবর্তন ব্যবহার করে দ্রুত আরএসআই গণনা করা হয়, যা অতি সংক্ষিপ্ত লাইন চক্রকে প্রতিফলিত করে।
ভৌত সূর্যের তারের প্রয়োজন বেশি, শূন্যতার জন্য শূন্যতা, ভুয়া ব্রেকথ্রু প্রতিরোধ করুন।
Connors RSI 20 এর নিচে, দ্রুত RSI 25 এর নিচে, বাস্তব সূর্যের রেখা দেখা দেয়, আরও কিছু করুন।
কনর্স আরএসআই ৮০ এর উপরে এবং দ্রুত আরএসআই ৭৫ এর উপরে, শারীরিক শূন্যতা দেখা দেয়।
যখন এন্ট্রি চালু হয়, তখন স্টপ লস বের হয়ে যায়।
কনর্স আরএসআই দ্বারা লম্বা লাইনের ট্রেন্ড রিভার্স পয়েন্ট নির্ধারণ করা হয়, দ্রুত আরএসআই দ্বারা সংক্ষিপ্ত লাইনের রিভার্স পয়েন্ট নির্ধারণ করা হয়, কে লাইনের সত্তা বিপর্যয় কার্যকারিতা নিশ্চিত করে, যাতে ওভারবোল ওভারসোলের সময় ওভারবোলের সময় ওভারবোলের সুযোগটি কার্যকরভাবে সনাক্ত করা যায়।
এই কৌশলটির সুবিধাগুলো হলঃ
কনর্স আরএসআই দীর্ঘ লাইন চক্রের প্রতিফলন করে এবং দ্রুত আরএসআই সংক্ষিপ্ত লাইন চক্রের প্রতিফলন করে, যা বিপরীত দিকটি আরও সঠিকভাবে নির্ধারণ করতে পারে।
কেবলমাত্র প্রকৃত ব্রেকিংয়ের সময় অপারেশন করলে ভুয়া ব্রেকিংয়ের ক্ষতি হ্রাস করা যায়।
আরএসআই প্যারামিটার, লেনদেনের ধরন এবং লেনদেনের সময়সীমা বিভিন্ন বাজারের সাথে সামঞ্জস্যপূর্ণ।
আরএসআই এবং কে-লাইন এন্ট্রিগুলি মৌলিক সূচক এবং কৌশলগত যুক্তিগুলি সহজেই বোঝা যায়।
শুধুমাত্র অন্তর্নির্মিত সূচক ব্যবহার করে, কম কোড, কম বাস্তবায়ন অসুবিধা।
এই কৌশলটির প্রধান ঝুঁকিগুলো হলঃ
বিপরীত সিগন্যালের পরে, দামগুলি মূল প্রবণতা চালিয়ে যায়, যার ফলে ক্ষতি হয়।
এর ফলে অনেকগুলো লেনদেন বাতিল হয়ে যায়।
ভৌতিক ফিল্টারিং ভুয়া ব্রেকিং এড়াতে পারে না।
RSI প্যারামিটারটি ভুলভাবে সেট করা হয়েছে, যার ফলে ট্রেডিংয়ের সুযোগ মিস করা বা একাধিক অবৈধ লেনদেনের সম্ভাবনা রয়েছে।
বিশেষ পরিস্থিতিতে আরএসআই সূচকটি ব্যর্থ হয় এবং ভুল সংকেত দেয়।
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে উন্নত করা যেতে পারেঃ
স্টপ লস কৌশলকে অপ্টিমাইজ করুন যাতে স্টপ লস আরও যুক্তিসঙ্গত হয় এবং একক ক্ষতি হ্রাস পায়।
MACD, KD ইত্যাদি সূচকগুলি ফিল্টার করা হয়েছে, যা সংকেতকে আরও নির্ভরযোগ্য করে তোলে।
ট্রেন্ডিং, সাপোর্টিং রেসিস্ট্যান্স ইত্যাদির সম্ভাব্যতা নিয়ে সিদ্ধান্ত নিন এবং কম সম্ভাব্যতার লেনদেন এড়িয়ে চলুন।
বিভিন্ন ধরণের লেনদেনের জন্য প্যারামিটার টেস্ট করুন, এবং সর্বোত্তম প্যারামিটার খুঁজুন।
“অসাধারণ পরিস্থিতিতে ট্রেডিং বন্ধ করুন, বিপুল ক্ষতি এড়ান”
আরএসআই গতিশীল বিপরীতমুখী কৌশল কননার্স আরএসআই এবং দ্রুত আরএসআই দ্বারা দীর্ঘ সংক্ষিপ্ত লাইন বিপরীতের বিচার করে, কে-লাইন সত্তা ফিল্টারিংয়ের সাথে সংকেত কার্যকারিতা বাড়ায়। এই কৌশলটির সূচক প্যাকেজ, প্যারামিটার সামঞ্জস্যের নমনীয়তা এবং অন্যান্য সুবিধা রয়েছে, এটি বিপরীতমুখী সুযোগগুলি ধরতে পারে, ওভারবয় ওভারসোলের সময় ব্যবসায়ের সময়মত হস্তক্ষেপ করতে পারে। তবে এই কৌশলটি একটি নির্দিষ্ট বিপরীতমুখী ব্যর্থতা, ভুয়া ব্রেকিং, ভুয়া ব্রেকিং ইত্যাদির ঝুঁকিও রয়েছে, ঝুঁকি হ্রাস এবং লাভজনকতা বাড়ানোর জন্য স্টপ লস প্যাকেজ ইত্যাদির আরও অপ্টিমাইজেশন প্রয়োজন।
/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy(title = "Noro's Connors RSI Strategy v1.0", shorttitle = "CRSI str 1.0", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 10)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usemar = input(false, defval = false, title = "Use Martingale")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
usecrsi = input(true, defval = true, title = "Use CRSI Strategy")
usefrsi = input(true, defval = true, title = "Use FRSI Strategy")
usemod = input(true, defval = true, title = "CRSI+FRSI Mode")
limit = input(25, defval = 25, minval = 1, maxval = 100, title = "RSI limit")
usebod = input(true, defval = true, title = "Use Body-filter")
usecol = input(true, defval = true, title = "Use Color-filter")
fromyear = input(1900, defval = 1900, 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")
//CRSI
rsilen = 3
streaklen = 2
lookback = 100
rsi = rsi(close,rsilen)
upday = close > close[1] ? 1 : 0
downday = close < close[1] ? -1 : 0
upstreak = upday!=0 ? upstreak[1] + upday : 0
downstreak = downday!=0 ? downstreak[1] + downday : 0
streak = upstreak + downstreak
streakrsi = rsi(streak,streaklen)
roc = close/close[1] - 1
roccount = 0
for i=1 to lookback-1
roccount := roc[i]<roc ? roccount + 1 : roccount
crsi = (rsi + streakrsi + roccount) / 3
//Oscilator
// rsiplot = plot(crsi, title="RSI", style=line, linewidth=1, color=blue)
// band1 = hline(80, title="Upper Line", linestyle=dashed, linewidth=1, color=red)
// band0 = hline(20, title="Lower Line", linestyle=dashed, linewidth=1, color=green)
// fill(band1, band0, color=purple, transp=90)
//Fast RSI
fastup = rma(max(change(close), 0), 7)
fastdown = rma(-min(change(close), 0), 7)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
//Body Filter
nbody = abs(close - open)
abody = sma(nbody, 10)
body = nbody > abody / 3 or usebod == false
//Color Filter
bar = close > open ? 1 : close < open ? -1 : 0
gbar = bar == 1 or usecol == false
rbar = bar == -1 or usecol == false
//Signals
up1 = rbar and (strategy.position_size == 0 or close < strategy.position_avg_price) and crsi < limit and body and usecrsi
dn1 = gbar and (strategy.position_size == 0 or close > strategy.position_avg_price) and crsi > 100 - limit and body and usecrsi
up2 = rbar and (strategy.position_size == 0 or close < strategy.position_avg_price) and fastrsi < limit and body and usefrsi
dn2 = gbar and (strategy.position_size == 0 or close > strategy.position_avg_price) and fastrsi > 100 - limit and body and usefrsi
exit = ((strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1)) and body
//Trading
profit = exit ? ((strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price)) ? 1 : -1 : profit[1]
mult = usemar ? exit ? profit == -1 ? mult[1] * 2 : 1 : mult[1] : 1
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 * mult : lot[1]
if ((up1 or up2) and usemod == false) or (up1 and up2 and usemod)
if strategy.position_size < 0
strategy.close_all()
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
if ((dn1 or dn2) and usemod == false) or (dn1 and dn2 and usemod)
if strategy.position_size > 0
strategy.close_all()
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
if exit
strategy.close_all()