দ্বৈত আরএসআই অগ্রগতি কৌশল

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

img

সারসংক্ষেপ

দ্বৈত আরএসআই ব্রেকআউট কৌশল একটি অ্যালগরিদমিক ট্রেডিং কৌশল যা আরএসআই সূচক ব্যবহার করে মূল্য বিপরীত পয়েন্টগুলি সনাক্ত করে। এটি বাজারটি অতিরিক্ত ক্রয় বা অতিরিক্ত বিক্রয় কিনা তা নির্ধারণের জন্য আরএসআই সূচকটিকে পূর্বনির্ধারিত উপরের এবং নিম্ন প্রান্তিক মানগুলির সাথে তুলনা করে ট্রেডিং সংকেত উত্পন্ন করে।

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

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

বিচার বিভাগীয় নিয়ম হল:

  1. যখন RSI উপরের সীমা অতিক্রম করে, তখন শর্ট হয়ে যায়।
  2. যখন RSI নিম্ন স্তরের নিচে চলে যায়, তখন লম্বা হয়ে যায়।
  3. স্টপ লস বা লাভ নেওয়ার সময় পজিশন বন্ধ করুন।

এর ট্রেডিং লজিক সহজ এবং পরিষ্কার, যুক্তিসঙ্গত রেফারেন্স প্যারামিটার সেটিং, বড় কনফিগারেশন স্পেস, এবং বাজারের বৃহত্তর প্রবণতা ক্যাপচার করার জন্য উপযুক্ত।

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

এই কৌশলটির সুবিধাগুলির মধ্যে রয়েছেঃ

  1. সহজ যুক্তি যা বোঝা এবং বাস্তবায়ন করা সহজ;
  2. যুক্তিসঙ্গত রেফারেন্স প্যারামিটার সেটিংস যা ব্যক্তিগতকৃত করা যায়;
  3. কনফিগারযোগ্য বিপরীত ট্রেডিং লজিক যা বাজারের অবস্থার উপর নমনীয়ভাবে প্রতিক্রিয়া জানাতে পারে;
  4. দামের বিপরীতমুখী পয়েন্টগুলি কার্যকরভাবে সনাক্ত করতে পারে এবং প্রধান প্রবণতাগুলি ধরতে পারে।

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

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

যদিও এই কৌশলটি তুলনামূলকভাবে সহজ এবং নির্ভরযোগ্য, আমরা এর সম্ভাব্য ঝুঁকিগুলি উপেক্ষা করতে পারি নাঃ

  1. RSI সূচকগুলি মিথ্যা সংকেত সক্রিয় করার তুলনামূলকভাবে উচ্চ সম্ভাবনা। RSI মূল্য বিপরীত পূর্বাভাস দিতে পারে না, যা ভুল মূল্যায়ন হতে পারে।
  2. ট্রেন্ডিং মার্কেটে ধারাবাহিক স্টপ লস হওয়ার সম্ভাবনা। আরএসআই-এর পক্ষে স্বাভাবিক রেঞ্জ-বদ্ধ সমন্বয়গুলিকে ট্রেন্ড বিপরীত থেকে আলাদা করা কঠিন।
  3. একটি রেঞ্জিং মার্কেটে আরো ক্ষতির সম্ভাবনা রয়েছে। আরএসআই কার্যকরভাবে রেঞ্জিং প্রবণতা নির্ধারণ করতে অক্ষম, যা এই পরিবেশে বৃহত্তর ক্ষতির দিকে পরিচালিত করে।

ঝুঁকি নিয়ন্ত্রণের জন্য, আমাদের নিম্নলিখিত বিষয়গুলিতে মনোযোগ দিতে হবেঃ

  1. অত্যধিক ভুল মূল্যায়ন হার রোধ করার জন্য উপযুক্তভাবে পরামিতিগুলি সামঞ্জস্য করুন।
  2. সঠিকতা বাড়াতে ট্রেডিং সিগন্যাল অন্য সূচকগুলির সাথে নিশ্চিত করুন।
  3. মুনাফা গ্রহণের অনুপাত বাড়ানো এবং একক স্টপ লস আকার হ্রাস করা।
  4. বিভিন্ন বাজারে ট্রেডিং এড়িয়ে চলুন।

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

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

  1. অন্যান্য সূচকগুলির সাথে সংকেত ফিল্টার করুন। KDJ এবং MACD এর মতো সূচকগুলি ভুল বিচার এড়াতে একটি ফিল্টারিং ভূমিকা পালন করতে পারে।
  2. একক স্টপ লস পরিমাণের জন্য থ্রেশহোল্ড বাড়ান। উপযুক্তভাবে একক স্টপ লস স্পেস প্রসারিত করা কৌশলটি বড় প্রবণতা অনুসরণ করতে সহায়তা করতে পারে।
  3. খোলা অবস্থানের ফ্রিকোয়েন্সি সীমা সেট করুন। অতিরিক্ত ঘন ঘন অবস্থানের খোলার নিয়ন্ত্রণের জন্য নির্দিষ্ট সময়ের মধ্যে একবার বা N বার এন্ট্রি সীমাবদ্ধ করার যুক্তি যুক্ত করুন।
  4. বাজারের অবস্থার বিচার নির্ধারণ করুন। কৌশলটি কেবল ট্রেন্ডিং মার্কেটে চালিত হয় তা নিশ্চিত করুন, বাজারের পরিসীমা এড়ানো, যা কৌশলটির ঝুঁকি-প্রতিদানের অনুপাতকে উল্লেখযোগ্যভাবে অনুকূল করতে পারে।

সিদ্ধান্ত

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


/*backtest
start: 2023-12-19 00:00:00
end: 2023-12-26 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("RSI Algo", overlay=true)

// Calculate start/end date and time condition
DST = 1 //day light saving for usa
//--- Europe
London = iff(DST==0,"0000-0900","0100-1000")
//--- America
NewYork = iff(DST==0,"0400-1500","0500-1600")
//--- Pacific
Sydney = iff(DST==0,"1300-2200","1400-2300")
//--- Asia
Tokyo = iff(DST==0,"1500-2400","1600-0100")

//-- Time In Range
timeinrange(res, sess) => time(res, sess) != 0

london = timeinrange(timeframe.period, London)
newyork = timeinrange(timeframe.period, NewYork)

time_cond = true


myPeriod = input(defval=14, type=input.integer, title="Period")
myThresholdUp = input(defval=75, type=input.float, title="Upper Threshold")
myThresholdDn = input(defval=25, type=input.float, title="Lower Threshold")
myAlgoFlipToggle = input(defval=false, type=input.bool, title="Imverse Algorthim")
myLineToggle = input(defval=true, type=input.bool, title="Show Lines")
myLabelToggle = input(defval=true, type=input.bool, title="Show Labels")
myRSI=rsi(close, myPeriod)
buy = myAlgoFlipToggle ? falling(myRSI,1) and cross(myRSI, myThresholdDn) : rising(myRSI, 1) and cross(myRSI,myThresholdUp) //and time_cond
sell = myAlgoFlipToggle ? rising(myRSI, 1) and cross(myRSI,myThresholdUp) : falling(myRSI,1) and cross(myRSI, myThresholdDn) //and time_cond
myPosition = 0
myPosition := buy==1 ? 0 : sell==1 or myPosition[1]==1 ? 1 : 0
trendColor = buy ? color.red : sell ? color.green : na
plot(myLineToggle ? buy and myPosition[1]==1 ? low - 0.004: sell and myPosition[1]==0 ? high + 0.004 : na : na, color=trendColor, style=plot.style_line, linewidth=4, editable=false)
plotshape(myLabelToggle ? buy and myPosition[1]==1 ? low - 0.005 : na : na, style=shape.labelup, location=location.absolute, text="Buy", transp=0, textcolor = color.white, color=color.black, editable=false)
plotshape(myLabelToggle ? sell and myPosition[1]==0 ? high + 0.005 : na : na, style=shape.labeldown, location=location.absolute, text="Sell", transp=0, textcolor = color.white, color=color.black, editable=false)

strategy.initial_capital = 50000
    //Calculate the size of the next trade
balance = strategy.netprofit + strategy.initial_capital //current balance
floating = strategy.openprofit          //floating profit/loss
risk = input(2,type=input.float,title="Risk %")/100           //risk % per trade
isTwoDigit = input(false,"Is this a 2 digit pair? (JPY, XAU, XPD...")


stop = input(250, title="stop loss pips")
tp = input(2500, title="take profit pips")
if(isTwoDigit)
    stop := stop/100
    
temp01 = balance * risk     //Risk in USD
temp02 = temp01/stop        //Risk in lots
temp03 = temp02*100000      //Convert to contracts
size = 1
    
strategy.entry("long",1,size,when=buy and myPosition[1]==1 )
strategy.entry("short",0,size,when=sell and myPosition[1]==0)

strategy.exit("exit_long","long",loss=stop, profit=tp)      //Long exit (stop loss)
strategy.exit("exit_short","short",loss=stop, profit=tp)      //Short exit (stop loss)

//strategy.close_all(when= not time_cond)


আরো