VRSI বনাম MARSI কৌশল


সৃষ্টির তারিখ: 2024-02-02 17:21:09 অবশেষে সংশোধন করুন: 2024-02-02 17:21:09
অনুলিপি: 0 ক্লিকের সংখ্যা: 970
1
ফোকাস
1617
অনুসারী

VRSI বনাম MARSI কৌশল

ওভারভিউ

VRSI এবং MARSI কৌশলটি RSI সূচককে মসৃণ করার জন্য চলমান গড় ব্যবহার করে, একটি দ্বি-সূচক কৌশল বাস্তবায়ন করে। এই কৌশলটি একই সাথে দামের RSI সূচক এবং লেনদেনের RSI সূচক ব্যবহার করে, তার চলমান গড়ের সাথে মিলিত হয়ে একটি লেনদেনের সংকেত উত্পন্ন করে। দামের RSI সূচকটি যখন বাড়বে তখন আরও বেশি করুন এবং দামের RSI সূচকটি যখন কমবে তখন শূন্য করুন। একই সাথে লেনদেনের RSI সূচকের পরিবর্তনগুলি পর্যবেক্ষণ করুন বাজারের শক্তি এবং সম্ভাব্য প্রবণতা পরিবর্তনগুলি বিচার করতে।

কৌশল নীতি

এই কৌশলটি প্রথমে দামের জন্য 9 টি চক্রের আরএসআই সূচক ((আরএসআই) এবং লেনদেনের পরিমাণের জন্য 9 টি চক্রের আরএসআই সূচক ((ভিআরএসআই)) গণনা করে। তারপরে এই দুটি আরএসআই সূচকের জন্য 5 টি চক্রের সরল চলমান গড় ((মার্সি এবং এমএভিআরএসআই)) গণনা করা হয়।

ট্রেডিং সিগন্যালগুলি মার্সি সূচকের উপর ভিত্তি করে তৈরি করা হয়। মার্সি যখন বাড়বে তখন বেশি, যখন মার্সি নেমে যাবে তখন কম। উপরন্তু, মার্কেটের শক্তি এবং সম্ভাব্য প্রবণতা পরিবর্তনগুলি নির্ধারণের জন্য এমএভিআরএসআই সূচকটি ব্যবহৃত হয়।

উদাহরণস্বরূপ, যদি দাম বাড়তে থাকে তবে লেনদেনের পরিমাণ হ্রাস পায়, তবে এটি ইঙ্গিত দেয় যে লেনদেনের পরিমাণ হ্রাস পাচ্ছে। বিপরীতভাবে, যদি দাম কমতে থাকে তবে লেনদেনের পরিমাণ বৃদ্ধি পায়, তবে এটি ইঙ্গিত দেয় যে লেনদেনের পরিমাণ বৃদ্ধি পেয়েছে, তবে আপনি উড়োজাহাজটি ধরে রাখতে পারেন।

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

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

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

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

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

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

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

এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে উন্নত করা যেতে পারেঃ

  1. RSI এবং Moving Average এর প্যারামিটারগুলিকে সমন্বয় করে সর্বোত্তম প্যারামিটার সমন্বয় খুঁজুন

  2. লেনদেনের সংকেত তৈরি করার সময় অন্যান্য শর্তাদি যুক্ত করা হয়, যেমন RSI সূচকটি ওভার-বই ওভার-বিক্রয় অঞ্চলে ট্রিগার করা বিপরীত সিগন্যালের উচ্চতর নির্ভরযোগ্যতা

  3. একটি স্টপ-আপ কৌশল যোগ করুন, একটি চলমান স্টপ বা একটি সূচক স্টপ সেট করুন

  4. অন্যান্য সূচক যেমন K-লাইন আকৃতি, ওঠানামা সূচক ইত্যাদির সাথে একত্রিত করা

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("VRSI-MARSI Strategy", shorttitle="(V/MA)RSI Str.", overlay=false, default_qty_type=strategy.percent_of_equity, calc_on_order_fills=true, calc_on_every_tick=true, pyramiding=0, default_qty_value=5, initial_capital=100)

// RSI(close, ="RSI") and RSI(Volume, ="VRSI")
src = close, len = input(9, minval=1, title="Length RSI")
src2 = volume, len2 = input(9, minval=1, title="Length VRSI)")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
up2 = rma(max(change(src2), 0), len2)
down2 = rma(-min(change(src2), 0), len2)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsi2 = down2 == 0 ? 100 : up2 == 0 ? 0 : 100 - (100 / (1 + up2 / down2))

// MA(=Moving Average) of RSI(close, ="MARSI") and RSI(Volume, ="MAVRSI")
len3 = input(5, minval=1, title="Length MARSI")
marsi = sma(rsi, len3)
len4 = input(5, minval=1, title="Length MAVRSI")
marsi2 = sma(rsi2, len4)

// Plot: 
// Default plot of RSI and VRSI: not visible but can be made visible
// Default plot MARSI and MAVRSI: visible
p1 = plot(rsi, linewidth=2, transp=100, color=color.yellow, title="RSI")
p2 = plot(rsi2, linewidth=2, transp=100, color=color.orange, title="VRSI")
m1 = plot(marsi, color=(marsi>=0 ? (marsi[1] < marsi ? color.yellow : color.blue) : (marsi[1] < marsi ? color.yellow : color.blue) ), linewidth = 2, transp = 0, title="MARSI")
m2 = plot(marsi2, color=color.orange, linewidth = 2, transp = 0, title="MAVRSI")

// Color fill:
// Default color fill "RSI - VRSI": not visible but can be made visible
// Default color fill "MARSI - MAVRSI": visible
fill(p1,p2, color = rsi>rsi2 ? color.green : color.red, transp=100, title="BG RSI-VRSI")
fill(m1,m2, color = marsi>marsi2 ? color.green : color.red, transp=75, title="BG MARSI-MAVRSI")

// Lines:
h2=hline(20, color=color.green, linestyle=hline.style_dotted, title="Extreme Oversold Rsi")
h3=hline(30, color=color.black, linestyle=hline.style_dotted, title="Oversold Rsi")
h5=hline(50, color=color.yellow, linestyle=hline.style_dashed, title="Middle line")
h7=hline(70, color=color.black, linestyle=hline.style_dotted, title="Overbought Rsi")
h8=hline(80, color=color.red, linestyle=hline.style_dotted, title="Extreme Overbought Rsi")

// Color fill between Lines "20-30" and "70-80" represents the crossing of "MARSI" and "MAVRSI":
fill(h2, h3, color=(marsi2 > marsi ? color.red : color.green), transp=80, title="20-30 BG color X MARSI/MAVRSI")
fill(h7, h8, color=(marsi2 > marsi ? color.red : color.green), transp=80, title="70-80 BG color X MARSI/MAVRSI")

///Long Entry///
longCondition = marsi > marsi[1] 
if (longCondition)
    strategy.entry("Long", strategy.long)

///Long exit///
Xlong =input(true)
closeConditionLong = marsi < marsi[1] and Xlong
if (closeConditionLong)
    strategy.close("Long")

///Short Entry///
shortCondition = marsi < marsi[1] 
if (shortCondition)
    strategy.entry("Short", strategy.short)
    
///Short exit///
Xshort =input(true)
closeConditionShort = marsi > marsi[1] and Xshort
if (closeConditionShort)
    strategy.close("Short")