মোমেন্টাম কো-রেলেটেড আরএসআই কৌশল


সৃষ্টির তারিখ: 2023-10-07 15:47:42 অবশেষে সংশোধন করুন: 2023-10-07 15:47:42
অনুলিপি: 0 ক্লিকের সংখ্যা: 751
1
ফোকাস
1617
অনুসারী

ওভারভিউ

এই কৌশলটির মূল ধারণা হল RSI সূচকটির সমতলীকরণ চক্রকে গতিশীল করে তোলা, দাম এবং গতিশীলতার মধ্যে সম্পর্ক অনুযায়ী স্বয়ংক্রিয়ভাবে সামঞ্জস্য করা, যার ফলে RSI সূচকের ব্যবহারিকতা উন্নত করা যায়।

কৌশল নীতি

এই কৌশলটি প্রথমে দামের গতিশীলতা গণনা করে এবং তারপরে দাম এবং গতিশীলতার মধ্যে সম্পর্কিত সহগ গণনা করে। 1 এর কাছাকাছি সম্পর্কিত সহগটি দাম এবং গতিশীলতার সাথে অত্যন্ত ইতিবাচক সম্পর্কযুক্ত; যখন সম্পর্কিত সহগটি -1 এর কাছাকাছি থাকে, তখন দাম এবং গতিশীলতার সাথে অত্যন্ত নেতিবাচক সম্পর্কযুক্ত।

দাম এবং গতিশীলতার সাথে সম্পর্কিত, আরএসআই সূচকের মসৃণতার সময়কালের দৈর্ঘ্য সামঞ্জস্য করা যেতে পারে। যখন সম্পর্ক বেশি থাকে, তখন সংক্ষিপ্ত আরএসআই সময়কাল ব্যবহার করুন; যখন সম্পর্ক কম থাকে, তখন দীর্ঘ আরএসআই সময়কাল ব্যবহার করুন।

বিশেষ করে, এই কৌশলটি RSI চক্রের দৈর্ঘ্যকে একটি পরিসীমা হিসাবে সেট করে, ডিফল্টরূপে 20-50। মূল্য এবং গতিশীলতার সম্পর্কিত সহগগুলি গণনা করার পরে, সম্পর্কিত সহগগুলি 20-50 এর পরিসরে রেখাযুক্ত ম্যাপিং পদ্ধতির মাধ্যমে ম্যাপ করা হয়, যা RSI এর চূড়ান্ত মসৃণ চক্রের দৈর্ঘ্য।

এইভাবে, RSI সূচকের প্যারামিটারগুলি বাজারের অবস্থার সাথে স্বয়ংক্রিয়ভাবে সামঞ্জস্য করা যায়, যখন দামের পরিবর্তন এবং গতিশীলতার পরিবর্তনগুলি দৃ strongly়ভাবে সম্পর্কিত থাকে, তখন আরও সংক্ষিপ্ত আরএসআই ব্যবহার করা হয়, এটি আরও সংবেদনশীল করে তোলে; যখন সম্পর্কটি দুর্বল হয়, তখন আরও দীর্ঘ আরএসআই ব্যবহার করা হয়, যাতে সংকেতের উপর গোলমালের প্রভাব হ্রাস করা যায়।

সামর্থ্য বিশ্লেষণ

  • বাজারের পরিবর্তনের সাথে সামঞ্জস্যপূর্ণ প্যারামিটারগুলির গতিশীল সমন্বয়
  • স্থির-চক্রের সূচক ব্যবহারের সীমাবদ্ধতা এড়ানো
  • ম্যানুয়ালি সর্বোত্তম প্যারামিটার নির্বাচন না করে স্বয়ংক্রিয়ভাবে মসৃণকরণ চক্র অপ্টিমাইজেশন
  • বিভিন্ন জাতের জন্য কনফিগারযোগ্য RSI চক্রের পরিসীমা

ঝুঁকি বিশ্লেষণ

  • প্রাসঙ্গিকতা হিসাব নিজেই একটি পিছিয়ে পড়া, মূল্য টার্নিং পয়েন্ট মিস করতে পারে
  • মূল্য এবং গতিশীলতার মধ্যে সম্পর্ককে খুব বেশি গুরুত্ব দেওয়া এবং অন্যান্য বিষয়গুলিকে উপেক্ষা করা
  • ডিফল্ট আরএসআই চক্রের পরিসীমা সমস্ত জাতের জন্য উপযুক্ত নাও হতে পারে এবং অপ্টিমাইজেশন প্রয়োজন
  • আরএসআই চক্রের সাথে অন্যান্য কারণ যেমন ওঠানামার সাথে সামঞ্জস্য করার জন্য বিবেচনা করা যেতে পারে

অপ্টিমাইজেশান দিক

  • বিভিন্ন Related Calculation পদ্ধতি ব্যবহার করে পিছিয়ে পড়া কমিয়ে আনুন
  • আরএসআই চক্র নির্ধারণের জন্য আরও কিছু বিষয় বিবেচনা করুন, কেবলমাত্র সম্পর্কের উপর নির্ভর করবেন না
  • ডিফল্ট RSI চক্রের সর্বোত্তম পরিসীমা খুঁজে বের করতে বিভিন্ন জাতের উপর পুনরাবৃত্তি করা
  • সম্পূর্ণরূপে রৈখিক ম্যাপিং উপর নির্ভর না করে, প্রাসঙ্গিকতা ফ্যাক্টর ওজন সেট করতে পারেন
  • নির্দিষ্ট বাজারের পরিস্থিতিতে অনুপযুক্ত আরএসআই চক্র ব্যবহার এড়াতে ফিল্টার শর্ত যুক্ত করা হয়েছে

সারসংক্ষেপ

এই কৌশলটি আরএসআই সমতলীকরণ চক্রকে গতিশীলভাবে সামঞ্জস্য করার জন্য শেখার জন্য মূল্যবান, তবে বাস্তবায়নের ক্ষেত্রে এখনও অনেক উন্নতির জায়গা রয়েছে। মূল বিষয়টি হ’ল আরএসআই প্যারামিটার নির্বাচনের উপর প্রভাব ফেলতে পারে এমন সিদ্ধান্তমূলক কারণগুলি খুঁজে বের করা এবং এটিকে একটি পরিমাপযোগ্য সূচকে রূপান্তর করা। একই সাথে, মডেলের উপর সম্পূর্ণ নির্ভর না করে, অভিজ্ঞতা এবং প্রতিক্রিয়া অনুসারে প্যারামিটার ব্যাপ্তিটি অপ্টিমাইজ করা দরকার। সামগ্রিকভাবে, এটি একটি অত্যন্ত উদ্ভাবনী ধারণা যা আরও অপ্টিমাইজেশন এবং উন্নতি করার পরে ব্যবহারিক ব্যবহারের সম্ভাবনা রয়েছে।

কৌশল সোর্স কোড
/*backtest
start: 2023-09-06 00:00:00
end: 2023-10-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=5
strategy("Dynamic RSI Momentum", "DRM Strategy", process_orders_on_close = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 50 )

// +++++++++++++++++++++
// ++      INPUT      ++ 
// +++++++++++++++++++++

// Momentum
len = input.int(10, "Momentum Length", 1,      group = "Dynamic RSI Momentum")
src = input.source(close, "Source",   group = "Dynamic RSI Momentum")

min_rsi = input.int(20, "Min RSI", group = "Dynamic RSI Momentum")
max_rsi = input.int(50, "Max RSI", group = "Dynamic RSI Momentum")

upLvl = input.float(70, "OverBought", 0, 100, group = "Dynamic RSI Momentum")
dnLvl = input.float(30, "OverSold",   0, 100, group = "Dynamic RSI Momentum")

// +++++++++++++++++++++
// ++   CALCULATION   ++ 
// +++++++++++++++++++++

// RMA Function
rmaFun(src, len) =>
    sma   = ta.sma(src, len) 
	alpha = 1/len
	sum   = 0.0
	sum  := na(sum[1]) ? sma : alpha * src + (1 - alpha) * nz(sum[1])

// RSI Function 
rsiFun(src, len) =>     
    100 - 100 / (1 + rmaFun(src - src[1] > 0 ? src - src[1] : 0, len) / 
                     rmaFun(src[1] - src > 0 ? src[1] - src : 0, len))

// Momentum
momVal = src - src[len]

// Calculation Price vs Momentum
corr  = ta.correlation(src, momVal, len)
corr := corr > 1 or corr < -1 ? float(na) : corr

rsiLen = 0
rsiLen := int(min_rsi + nz(math.round((1 - corr) * (max_rsi-min_rsi) / 2, 0), 0))

rsiMom = rsiFun(src, rsiLen)


// +++++++++++++++++++++
// ++    STRATEGY     ++ 
// +++++++++++++++++++++

long  = ta.crossover(rsiMom, dnLvl)
short = ta.crossunder(rsiMom, upLvl) 


// +++> Long <+++++
if long and not na(rsiMom)
    strategy.entry("Long", strategy.long)

// +++> Short <+++++
if short and not na(rsiMom)
    strategy.entry("Short", strategy.short)

// +++++++++++++++++++++
// ++      PLOT       ++ 
// +++++++++++++++++++++

plot(rsiMom, "Dynamic RSI Momentum", rsiMom < dnLvl ? color.green : rsiMom > upLvl ? color.red : color.yellow)

hline(50, "Mid Line", color.gray)

upperLine = hline(upLvl, "Upper Line", color.gray)
lowerLine = hline(dnLvl, "Lower Line", color.gray)
fill(upperLine, lowerLine, color.new(color.purple, 90), "Background Fill")