RSI সূচকের উপর ভিত্তি করে দীর্ঘ এবং সংক্ষিপ্ত স্বয়ংক্রিয় ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2024-02-29 14:14:01 অবশেষে সংশোধন করুন: 2024-02-29 14:14:01
অনুলিপি: 25 ক্লিকের সংখ্যা: 686
1
ফোকাস
1617
অনুসারী

RSI সূচকের উপর ভিত্তি করে দীর্ঘ এবং সংক্ষিপ্ত স্বয়ংক্রিয় ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি RSI সূচক ব্যবহার করে বাজারের ওভার-বই ওভার-সেলের ঘটনাটি নির্ধারণ করে। বিশেষত, যখন RSI সূচকটি সেট ওভার-বই লাইনের নীচে থাকে, তখন একটি ওভার-এন্ট্রি করা হয়; যখন RSI সূচকটি সেট ওভার-বই লাইনের উপরে থাকে, তখন একটি ওভার-এন্ট্রি করা হয়।

এছাড়াও, এই কৌশলটি একটি প্রস্থান শর্তও নির্ধারণ করে। যদি আরএসআই সূচকটি আবার ওভার-বই লাইন অতিক্রম করে, তবে এটি একটি মাল্টি-অর্ডার স্টপ-অফ ট্রিগার করবে। একইভাবে, যদি আরএসআই সূচকটি আবার ওভার-সেল লাইন অতিক্রম করে, তবে এটি একটি খালি-অর্ডার স্টপ-অফ ট্রিগার করবে।

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

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

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

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

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

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

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

এই কৌশলটি আরও উন্নত করার সুযোগ রয়েছেঃ

  1. একাধিক সূচক একত্রিত করে প্রবেশের সংকেত নিশ্চিত করে, আরএসআই সূচকটি এককভাবে বিচার করার ফলে ভুল প্রবেশের কারণ এড়ানো যায়। উদাহরণস্বরূপ, একটি চলমান গড় সূচক অন্তর্ভুক্ত করা যেতে পারে ইত্যাদি।

  2. আরএসআই প্যারামিটারগুলিকে অপ্টিমাইজ করুন, আরও উপযুক্ত আরএসআই দৈর্ঘ্যের প্যারামিটারগুলি সন্ধান করুন, যাতে ওভারবই ওভারসোল্ডের বিচার আরও নির্ভুল হয়।

  3. স্টপ লিন সেটিং অপ্টিমাইজ করুন, যাতে ক্ষতির সম্ভাবনা যতটা সম্ভব কম থাকে, কিন্তু স্টপ লিনের সংবেদনশীলতা যেন বেশি না হয়।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-02-22 00:00:00
end: 2024-02-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=4

strategy("Soran Strategy 2 - LONG SIGNALS", pyramiding=1, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=50, overlay=false)


// ----------------- Inputs ----------------- //

reso = input(title="Resolution", type=input.resolution, defval="")
length = input(20, title="RSI Length", type=input.integer)
ovrsld = input(30, "RSI Oversold level", type=input.float)
ovrbgt = input(85, "RSI Overbought level", type=input.float)
lateleave = input(28, "Number of candles", type=input.integer)
// lateleave : numbers of bars in overbought/oversold zones where the position is closed. The position is closed when this number is reached or when the zone is left (the first condition).

// best parameters BTCUSDTPERP M15 : 20 / 30 / 85 / 28


stratbull = input(title="Enter longs ?", type = input.bool, defval=true)
stratbear = input(title="Enter shorts ?", type = input.bool, defval=true)

stratyear = input(2020, title = "Strategy Start Year")
stratmonth = input(1, title = "Strategy Start Month")
stratday = input(1, title = "Strategy Start Day")
stratstart = timestamp(stratyear,stratmonth,stratday,0,0)


// --------------- Laguerre ----------------- //

laguerre = input(title="Use Laguerre on RSI ?", type=input.bool, defval=false)
gamma = input(0.06, title="Laguerre Gamma")

laguerre_cal(s,g) =>
    l0 = 0.0
    l1 = 0.0
    l2 = 0.0
    l3 = 0.0
    l0 := (1 - g)*s+g*nz(l0[1])
    l1 := -g*l0+nz(l0[1])+g*nz(l1[1])
    l2 := -g*l1+nz(l1[1])+g*nz(l2[1])
    l3 := -g*l2+nz(l2[1])+g*nz(l3[1])
    (l0 + 2*l1 + 2*l2 + l3)/6


// ---------------- Rsi VWAP ---------------- //

rsiV = security(syminfo.tickerid, reso, rsi(vwap(close), length))

rsiVWAP = laguerre ? laguerre_cal(rsiV,gamma) : rsiV


// ------------------ Plots ----------------- //

prsi = plot(rsiVWAP, color = rsiVWAP>ovrbgt ? color.red : rsiVWAP<ovrsld ? color.green : color.white, title="RSI on VWAP", linewidth=1, style=plot.style_line)
hline = plot(ovrbgt, color = color.gray, style=plot.style_line)
lline = plot(ovrsld, color = color.gray, style=plot.style_line)
fill(prsi,hline, color = rsiVWAP > ovrbgt ? color.red : na, transp = 30)
fill(prsi,lline, color = rsiVWAP < ovrsld ? color.green : na, transp = 30)


// ---------------- Positions: only shows Buy and close Buy positions --------------- //

timebull = stratbull 
timebear = stratbear 

strategy.entry("Long", true, when = timebull and crossover(rsiVWAP, ovrsld), comment="")
strategy.close("Long", when = timebull and crossover(rsiVWAP, ovrbgt)[lateleave] or crossunder(rsiVWAP, ovrbgt), comment="")