কৌশল অনুসরণ করে RSI ট্রেন্ড

লেখক:চাওঝাং, তারিখ: ২০২৩-১০-২৬ 15:44:15
ট্যাগঃ

img

সারসংক্ষেপ

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

কৌশলগত যুক্তি

এই কৌশলটি বাজারের প্রবণতা নির্ধারণের জন্য আরএসআই সূচক ব্যবহার করে এবং ওভারকপিং এবং ওভারসোল্ড জোন নিশ্চিত করার জন্য বোলিংজার ব্যান্ড ব্যবহার করে।

প্রথমত, আরএসআই মান গণনা করা হয়। বলিংজার ব্যান্ডের উপরের এবং নীচের ব্যান্ডগুলি চলমান গড় এবং আরএসআই এর স্ট্যান্ডার্ড বিচ্যুতির উপর ভিত্তি করে গণনা করা হয়। আরএসআই 0-1 এর মধ্যে ওঠানামা করে এবং বলিংজার ব্যান্ডগুলি স্ট্যান্ডার্ড বিচ্যুতির মাধ্যমে ওভারকোপড এবং ওভারসোল্ড অঞ্চলগুলি সনাক্ত করে। যখন আরএসআই উপরের ব্যান্ডের চেয়ে বেশি হয়, তখন এটি ওভারকোপড অঞ্চল, এবং যখন নীচের ব্যান্ডের চেয়ে কম হয়, তখন এটি ওভারসোল্ড অঞ্চল।

যখন আরএসআই নিম্ন থেকে উপরের ব্যান্ডে ভেঙে যায়, তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন আরএসআই উপরের থেকে নিম্ন ব্যান্ডে ভেঙে যায়, তখন প্রবণতা অনুসরণ করার জন্য একটি বিক্রয় সংকেত উত্পন্ন হয়। বাজারে প্রবেশের পরে, নির্দিষ্ট তারিখের পরিসরের শেষে অবস্থানগুলি বন্ধ না হওয়া পর্যন্ত কোনও স্টপ লস বা লাভ গ্রহণ সেট করা হয় না।

কৌশলটি প্রবণতার দিকনির্দেশ নির্ধারণের জন্য আরএসআই এবং নির্দিষ্ট ট্রেডিং সুযোগগুলি সনাক্ত করার জন্য বোলিংজার ব্যান্ডগুলিকে সহজ এবং কার্যকরভাবে ব্যবহার করে। তারিখের পরিসীমা নির্ধারণ করে অপ্রয়োজনীয় ঝুঁকি এড়ানো যায়।

সুবিধা বিশ্লেষণ

  • ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য আরএসআই ব্যবহার করা সহজ এবং কার্যকর
  • ট্রেডিং সিগন্যাল নিশ্চিত করার জন্য বোলিংজার ব্যান্ডের সংমিশ্রণ মিথ্যা ব্রেকআউট এড়ায়
  • ট্রেডিং তারিখের পরিসীমা নির্ধারণ করা বাজার ঝুঁকি এড়াতে সাহায্য করে
  • কোন স্টপ লস বা লাভ নিতে, প্রবণতা অনুসরণ সর্বাধিক
  • নমনীয় প্যারামিটার সমন্বয়, বিভিন্ন বাজারের পরিবেশের সাথে মানিয়ে নেয়

ঝুঁকি এবং অপ্টিমাইজেশন

  • বাজারে হিংস্র ওঠানামা হতে পারে, যার ফলে ক্ষতি হতে পারে
  • কোন স্টপ লস বা লাভ নেয়া কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করতে ব্যর্থ
  • অনুপযুক্ত প্যারামিটার সেটিংগুলি ওভারট্রেডিং বা মিসড সুযোগের কারণ হতে পারে

অপ্টিমাইজেশান নির্দেশাবলীঃ

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

সংক্ষিপ্তসার

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


/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Gidra
//2018

//@version=2
strategy(title = "Gidra's RSI or MFI Strategy v0.1", shorttitle = "Gidra's RSI or MFI v0.1", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 1)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
src = input(close, title="source")
lengthRSI = input(14, title="RSI or MFI length")
// RSI %B
useRSI = input(true, title="use RSI or MFI")
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")

//MFI
upper = sum(volume * (change(src) <= 0 ? 0 : src), lengthRSI)
lower = sum(volume * (change(src) >= 0 ? 0 : src), lengthRSI)
mf = rsi(upper, lower)

//RSI
rsi = useRSI?rsi(src, lengthRSI): mf

// %B
length = input(50, minval=1, title="BB length")
mult = input(1.618, minval=0.001, maxval=50)
basis = sma(rsi, length)
dev = mult * stdev(rsi, length)
upperr = basis + dev
lowerr = basis - dev
bbr = (rsi - lowerr)/(upperr - lowerr)

plot(bbr, color=black, transp=0, linewidth=2)
// band1 = hline(1, color=white, linestyle=dashed)
// band0 = hline(0, color=white, linestyle=dashed)
// fill(band1, band0, color=teal)
hline(0.5, color=white)

//Signals
up = bbr >= 0 and bbr[1] < 0
dn = bbr <= 1 and bbr[1] > 1
//exit = ((bbr[1] < 0.5 and bbr >= 0.5) or (bbr[1] > 0.5 and bbr <= 0.5))

lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59)// or exit
    strategy.close_all()

আরো