আরএসআই গতি বিপরীত কৌশলটি বিপরীত ট্রেডিংয়ের জন্য আরএসআই সূচক এবং মোমবাতি দেহের দিকনির্দেশগুলিকে একত্রিত করে ওভারকপ এবং ওভারসোল্ড শর্তগুলি সনাক্ত করে। এই কৌশলটি কার্যকরভাবে বিপরীত সুযোগগুলি সনাক্ত করতে মোমবাতি দেহ ফিল্টারগুলির সাথে প্রচলিত আরএসআই এবং দ্রুত আরএসআই উভয়ই ব্যবহার করে।
কৌশলটি প্রধানত নিম্নলিখিত অংশগুলির মাধ্যমে বাস্তবায়িত হয়ঃ
কনরস আরএসআই সূচক
প্রচলিত আরএসআই, আরএসআই জয় অনুপাত এবং আরএসআই প্যারিস গণনা করে একটি গড় হিসাবে কনরস আরএসআই পেতে।
দ্রুত আরএসআই সূচক
দ্রুত আরএসআই গণনা করার জন্য মূল্য পরিবর্তন ব্যবহার করে, অতি স্বল্পমেয়াদী চক্র প্রতিফলিত করে।
ক্যান্ডেলস্টিক বডি ফিল্টার
মিথ্যা ব্রেকআউট রোধ করতে লম্বা সময় বাউলিশ এবং সংক্ষিপ্ত সময়ের জন্য হ্রাসকারী শারীরিক প্রয়োজন।
দীর্ঘ ও সংক্ষিপ্ত শর্ত
কনরস আরএসআই ২০ এর নিচে গেলে লম্বা এবং দ্রুত আরএসআই ২৫ এর নিচে গেলে উঁচু শরীরের সাথে যান।
কনরস আরএসআই ৮০ এর উপরে থাকলে শর্ট করুন এবং হ্রাসের শরীরে ৭৫ এর উপরে দ্রুত আরএসআই করুন।
স্টপ লস আউট
ক্যান্ডেলস্টাইলের শরীর ঘুরলে স্টপ লস দিয়ে বেরিয়ে আসে।
কনরস আরএসআই দীর্ঘমেয়াদী প্রবণতা বিপরীত পয়েন্ট চিহ্নিত করে, দ্রুত আরএসআই স্বল্পমেয়াদী বিপরীত চিহ্নিত করে এবং ক্যান্ডেলস্টিকের দেহ ব্রেকআউটের বৈধতা নিশ্চিত করে। এটি কার্যকরভাবে বিপরীত সুযোগগুলি সনাক্ত করতে এবং ওভারকুপ এবং ওভারসোল্ড শর্তে প্রতি-প্রবণতা বাণিজ্য করতে দেয়।
এই কৌশলটির সুবিধাগুলির মধ্যে রয়েছেঃ
দীর্ঘ ও স্বল্পমেয়াদী সূচক একত্রিত করা
কনরস আরএসআই দীর্ঘমেয়াদী চক্রকে প্রতিফলিত করে এবং দ্রুত আরএসআই স্বল্পমেয়াদী চক্রকে প্রতিফলিত করে, উভয়কে একত্রিত করে সঠিকভাবে বিপরীত পয়েন্টগুলি সনাক্ত করতে পারে।
ক্যান্ডেলস্টিক বডি ফিল্টার
শুধুমাত্র শারীরিক ব্রেকআউটে ট্রেডিং করা মিথ্যা ব্রেকআউটের ক্ষতি কমাতে পারে।
সামঞ্জস্যযোগ্য পরামিতি
RSI পরামিতি, ট্রেডিং পণ্য, এবং ট্রেডিং সময় ফ্রেম বিভিন্ন বাজারের জন্য উপযুক্ত অবাধে সামঞ্জস্য করা যেতে পারে।
সহজ এবং স্বজ্ঞাত
আরএসআই এবং ক্যান্ডেলস্টিকের শরীর হল মৌলিক সূচক, সহজেই বোঝা যায়।
বাস্তবায়ন করা সহজ
শুধুমাত্র অন্তর্নির্মিত সূচক ব্যবহার করে, কম কোড প্রয়োজন এবং বাস্তবায়ন করা সহজ।
এই কৌশলটির প্রধান ঝুঁকিঃ
ব্যর্থ বিপরীত ঝুঁকি
বিপরীত সিগন্যালের পরও মূল্য মূল প্রবণতা অব্যাহত রেখেছে, যার ফলে ক্ষতির দিকে পরিচালিত হচ্ছে।
বাজারের ঝুঁকি
বিভিন্ন বাজারে ঘন ঘন অকার্যকর সংকেত সক্রিয় হয়।
ভ্রান্ত প্রস্থান ঝুঁকি
মোমবাতি শরীরে ফিল্টার সম্পূর্ণরূপে মিথ্যা breakouts এড়াতে পারবেন না।
প্যারামিটার ঝুঁকি
অনুপযুক্ত RSI পরামিতিগুলি ট্রেড মিস করতে পারে বা একাধিক অকার্যকর ট্রেডকে ট্রিগার করতে পারে।
বিশেষ বাজার পরিস্থিতির ঝুঁকি
বিশেষ বাজারের পরিস্থিতিতে 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()