आरएसआई और चलती औसत ब्रेकआउट रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-24 14:31:01
टैगः

img

अवलोकन

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

रणनीति तर्क

  1. आरएसआई सूचक और सरल चलती औसत रेखाओं की गणना उपयोगकर्ता द्वारा परिभाषित मापदंडों के आधार पर की जाती है।

  2. जब आरएसआई ओवरसोल्ड लाइन (डिफ़ॉल्ट 30) से ऊपर जाता है, तो यदि कीमत एलओएनजी एक्जिट मूविंग एवरेज से नीचे है तो एक लंबा संकेत उत्पन्न होता है।

  3. जब आरएसआई ओवरबॉट लाइन (डिफ़ॉल्ट 70) से नीचे जाता है, तो यदि कीमत शॉर्ट एक्जिट मूविंग एवरेज से ऊपर है तो एक शॉर्ट सिग्नल उत्पन्न होता है।

  4. उपयोगकर्ता ट्रेंड मूविंग एवरेज लाइन के आधार पर सिग्नल फ़िल्टर करने का विकल्प चुन सकते हैं। सिग्नल केवल तब उत्पन्न होते हैं जब कीमत फ़िल्टरिंग मूविंग एवरेज से ऊपर या नीचे होती है।

  5. बाहर निकलने का निर्धारण LONG और SHORT बाहर निकलने वाली Moving Average लाइनों द्वारा किया जाता है।

लाभ विश्लेषण

  1. दोहरे संकेतक डिजाइन दो प्रमुख बाजार कारकों को शामिल करके सटीकता में सुधार करता है।

  2. मोड़ बिंदुओं का पता लगाने के लिए आरएसआई की औसत-वापसी विशेषता का प्रभावी ढंग से उपयोग करता है।

  3. मूविंग एवरेज के साथ अतिरिक्त फ़िल्टर शीर्ष और नीचे का पीछा करने से बचने के लिए तर्क कठोरता को बढ़ाता है।

  4. अनुकूलन योग्य पैरामीटर विभिन्न उत्पादों और समय सीमाओं में अनुकूलन की अनुमति देते हैं।

  5. सरल तर्क इसे समझने और संशोधित करने में आसान बनाता है।

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

  1. Whipsaws आरएसआई के साथ आम हैं, घनत्व संकेतक मदद कर सकता है.

  2. आरएसआई बड़े समय सीमा पर विफल होने की प्रवृत्ति रखता है, मापदंडों को समायोजित किया जा सकता है या अतिरिक्त संकेतक सहायता कर सकते हैं।

  3. मूविंग एवरेज का प्रभाव होता है, लंबाई को छोटा किया जा सकता है या एमएसीडी जैसे संकेतक मदद कर सकते हैं।

  4. बुनियादी तर्क के कारण संकेतों को मान्य करने के लिए अधिक संकेतकों को पेश किया जाना चाहिए।

अनुकूलन दिशाएँ

  1. झूठे संकेतों को कम करने के लिए आरएसआई मापदंडों को अनुकूलित करें या घनत्व संकेतक पेश करें।

  2. रुझान और समर्थन का पता लगाने के लिए डीएमआई और बीओएलएल जैसे रुझान और अस्थिरता संकेतक शामिल करें।

  3. चलती औसत के निर्णयों की जगह या पूरक के लिए एमएसीडी का परिचय दें।

  4. प्रतिकूल ब्रेकआउट से बचने के लिए प्रवेश संकेतों पर अधिक तार्किक शर्तें जोड़ें।

निष्कर्ष

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


/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-23 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Global Market Signals: RSI Strategy.
//@version=4
strategy("GMS: RSI Strategy", overlay=true)

LongShort = input(title="Long Only or Short Only or Both?", type=input.string, defval="Both", options=["Both", "Long Only", "Short Only"])
RSILength = input(title="RSI Length", type = input.integer ,defval=14)
RSIUpper = input(title="Upper Threshold", type = input.float ,defval=70)
RSILower = input(title="Lower Threshold", type = input.float ,defval=30)
LongExit = input(title="Long Exit SMA Length", type = input.integer ,defval=5)
ShortExit = input(title="Short Exit SMA Length", type = input.integer ,defval=5)
AboveBelow = input(title="Trend SMA Filter?", type=input.string, defval="Above", options=["Above", "Below", "Don't Include"])
TrendLength = input(title="Trend SMA Length", type = input.integer ,defval=200)


//Long Side

if LongShort =="Long Only" and AboveBelow == "Above"
    strategy.entry("LONG", true, when = rsi(close,RSILength)<RSILower and close< sma(close,LongExit) and close>sma(close,TrendLength))
    strategy.close("LONG", when = close>sma(close,LongExit))
    
if LongShort =="Long Only" and AboveBelow == "Below"
    strategy.entry("LONG", true, when = rsi(close,RSILength)<RSILower and close< sma(close,LongExit) and close<sma(close,TrendLength))
    strategy.close("LONG", when = close>sma(close,LongExit))
    
if LongShort =="Long Only" and AboveBelow == "Don't Include"
    strategy.entry("LONG", true, when = rsi(close,RSILength)<RSILower and close< sma(close,LongExit))
    strategy.close("LONG", when = close>sma(close,LongExit))
    
if LongShort =="Both" and AboveBelow == "Above"
    strategy.entry("LONG", true, when = rsi(close,RSILength)<RSILower and close< sma(close,LongExit) and close>sma(close,TrendLength))
    strategy.close("LONG", when = close>sma(close,LongExit))
    
if LongShort =="Both" and AboveBelow == "Below"
    strategy.entry("LONG", true, when = rsi(close,RSILength)<RSILower and close< sma(close,LongExit) and close<sma(close,TrendLength))
    strategy.close("LONG", when = close>sma(close,LongExit))
    
if LongShort =="Both" and AboveBelow == "Don't Include"
    strategy.entry("LONG", true, when = rsi(close,RSILength)<RSILower and close< sma(close,LongExit))
    strategy.close("LONG", when = close>sma(close,LongExit))
    
    
//SHORT SIDE

if LongShort =="Short Only" and AboveBelow == "Above"
    strategy.entry("SHORT", false, when = rsi(close,RSILength)>RSIUpper and close> sma(close,ShortExit) and close>sma(close,TrendLength))
    strategy.close("SHORT", when = close<sma(close,ShortExit))
    
if LongShort =="Short Only" and AboveBelow == "Below"
    strategy.entry("SHORT", false, when = rsi(close,RSILength)>RSIUpper and close> sma(close,ShortExit) and close<sma(close,TrendLength))
    strategy.close("SHORT", when = close<sma(close,ShortExit))
    
if LongShort =="Short Only" and AboveBelow == "Don't Include"
    strategy.entry("SHORT", false, when = rsi(close,RSILength)>RSIUpper and close> sma(close,ShortExit))
    strategy.close("SHORT", when = close<sma(close,ShortExit))
    
if LongShort =="Both" and AboveBelow == "Above"
    strategy.entry("SHORT", false, when = rsi(close,RSILength)>RSIUpper and close> sma(close,ShortExit) and close>sma(close,TrendLength))
    strategy.close("SHORT", when = close<sma(close,ShortExit))
    
if LongShort =="Both" and AboveBelow == "Below"
    strategy.entry("SHORT", false, when = rsi(close,RSILength)>RSIUpper and close> sma(close,ShortExit) and close<sma(close,TrendLength))
    strategy.close("SHORT", when = close<sma(close,ShortExit))
    
if LongShort =="Both" and AboveBelow == "Don't Include"
    strategy.entry("SHORT", false, when = rsi(close,RSILength)>RSIUpper and close> sma(close,ShortExit))
    strategy.close("SHORT", when = close<sma(close,ShortExit))
    
    
    
    
    
    
   





अधिक