वीआरएसआई बनाम मार्सी रणनीति


निर्माण तिथि: 2024-02-02 17:21:09 अंत में संशोधित करें: 2024-02-02 17:21:09
कॉपी: 0 क्लिक्स: 970
1
ध्यान केंद्रित करना
1617
समर्थक

वीआरएसआई बनाम मार्सी रणनीति

अवलोकन

VRSI और MARSI रणनीतियाँ RSI को चिकना करने के लिए चलती औसत का उपयोग करती हैं, एक द्वि-सूचक रणनीति को लागू करती हैं। यह रणनीति एक साथ कीमतों के RSI और लेनदेन के RSI का उपयोग करती है, जो अपने चलती औसत के साथ मिलकर एक ट्रेडिंग सिग्नल उत्पन्न करती है। जब कीमतों के RSI बढ़ते हैं तो अधिक करें, और जब कीमतों के RSI घटते हैं तो खाली करें। बाजार की ताकत और संभावित रुझान परिवर्तनों का आकलन करने के लिए लेनदेन के RSI में परिवर्तनों को देखते हुए।

रणनीति सिद्धांत

यह रणनीति पहले कीमतों के लिए 9 चक्र आरएसआई (आरएसआई) और लेनदेन की मात्रा के लिए 9 चक्र आरएसआई (वीआरएसआई) की गणना करती है। फिर इन दोनों आरएसआई के लिए 5 चक्र सरल चलती औसत (एमएआरएसआई और एमएवीआरएसआई) की गणना करती है।

ट्रेडिंग सिग्नल का निर्माण मार्सी सूचकांक पर आधारित है। मार्सी बढ़ते समय अधिक करें और मार्सी गिरते समय कम करें। इसके अलावा, एमएवीआरएसआई सूचकांक का उपयोग बाजार की ताकत और संभावित रुझान परिवर्तन का आकलन करने के लिए किया जाता है।

उदाहरण के लिए, एक बहुमुखी स्थिति में, यदि कीमतें बढ़ती रहती हैं लेकिन लेनदेन की मात्रा कम हो जाती है, तो यह संकेत देता है कि बहुमुखी शक्ति कमजोर हो सकती है, और एक ब्लीडिंग स्थिति तैयार की जानी चाहिए। इसके विपरीत, एक खाली स्थिति में अगर कीमतें गिरती रहती हैं लेकिन लेनदेन की मात्रा बढ़ जाती है, तो यह संकेत देता है कि खाली सिर बल बढ़ गया है, और हवाई टिकट रखना जारी रखा जा सकता है।

श्रेष्ठता विश्लेषण

यह रणनीति दोहरे आरएसआई संकेतक की चलती औसत के साथ संयुक्त है, जो प्रभावी रूप से रुझानों को पकड़ने में सक्षम है, जबकि लेनदेन की मात्रा में परिवर्तन का उपयोग बाजार की ताकत का आकलन करने के लिए किया जाता है, जो कि एक एकल आरएसआई संकेतक की तुलना में बाजार की गति को अधिक सटीक रूप से पकड़ने में सक्षम है।

चलती औसत का उपयोग भी कुछ शोर को फ़िल्टर करने में सक्षम है, जिससे सिग्नल अधिक विश्वसनीय हो जाता है। इसके अलावा, विभिन्न पैरामीटर सेटिंग्स जैसे कि आरएसआई चक्र और चलती औसत चक्र भी रणनीति के अनुकूलन के लिए संभव प्रदान करते हैं।

जोखिम विश्लेषण

इस रणनीति का मुख्य जोखिम यह है कि दोहरे संकेतकों के बीच विचलन हो सकता है। जब कीमत और लेनदेन की मात्रा के बीच विचलन होता है, तो ट्रेडिंग सिग्नल कम विश्वसनीय हो जाते हैं।

एक अन्य जोखिम यह है कि यह एक संरेखित स्थिति में आसानी से पकड़ा जा सकता है। जब कीमतों को एकतरफा संरेखित किया जाता है, तो आरएसआई संकेतक अनावश्यक व्यापारिक संकेतों को ट्रिगर करने के लिए ऊपर और नीचे झूलने के लिए आसान होता है। इस समय पैरामीटर को समायोजित करने या संकेतक की पूर्ण स्थिति का न्याय करने की आवश्यकता होती है।

अनुकूलन दिशा

इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः

  1. आरएसआई सूचक और चलती औसत के लिए पैरामीटर को समायोजित करें और ऑप्टिमाइज़्ड पैरामीटर का संयोजन खोजें

  2. ट्रेडिंग सिग्नल उत्पन्न करते समय अन्य सशर्त निर्णय जोड़ें, जैसे कि आरएसआई संकेतक ओवरबॉट ओवरसोल्ड क्षेत्र में ट्रिगर किए गए रिवर्स सिग्नल की अधिक विश्वसनीयता

  3. अतिरिक्त स्टॉप रणनीति, चलती स्टॉप या सूचक स्टॉप सेट करें

  4. अन्य संकेतकों के साथ संयोजन में, जैसे कि K-लाइन आकार, अस्थिरता सूचक, आदि को रोकने के लिए

संक्षेप

VRSI और MARSI रणनीतियाँ मूल्य और लेनदेन की मात्रा के RSI संकेतकों को सफलतापूर्वक जोड़ती हैं, और दोहरे संकेतकों के बीच तुलना और निर्णय से संकेतों की सटीकता और लाभप्रदता में सुधार होता है। अनुकूलित पैरामीटर सेटिंग और स्टॉप-लॉस रणनीतियाँ भी इसके स्थिर संचालन के लिए संभव बनाती हैं। कुल मिलाकर, यह रणनीति सूचकांकों के बीच संयोजन का उपयोग करती है और एकल RSI सूचक की तुलना में बेहतर प्रदर्शन करती है।

रणनीति स्रोत कोड
/*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")