MACD और RSI पर आधारित ट्रेंड-फॉलोइंग रिवर्सल रणनीति


निर्माण तिथि: 2023-12-18 17:53:38 अंत में संशोधित करें: 2023-12-18 17:53:38
कॉपी: 0 क्लिक्स: 660
1
ध्यान केंद्रित करना
1621
समर्थक

MACD और RSI पर आधारित ट्रेंड-फॉलोइंग रिवर्सल रणनीति

अवलोकन

इस रणनीति में MACD, EMA और RSI के तीन सूचकांकों का उपयोग किया जाता है, जिससे ट्रेंड ट्रैकिंग और रिवर्स ट्रेडिंग संभव हो जाती है। जब MACD सिग्नल लाइन के ऊपर से गुजरता है और ईएमए औसत से ऊपर बंद होता है, तो एक खरीद संकेत उत्पन्न होता है; जब MACD सिग्नल लाइन के नीचे से टूट जाता है और ईएमए औसत से नीचे बंद होता है, तो एक बेचने का संकेत उत्पन्न होता है, जिससे ट्रेंड को पकड़ लिया जाता है; और जब RSI ओवरबॉय ओवरसोल्ड क्षेत्र तक पहुंचता है, तो एक रिवर्स ट्रेडिंग होती है।

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

  1. MACDdiffs और ईएमए की गणना करें।
   fastMA = ema(close, fast)  
   slowMA = ema(close, slow)
   macd = fastMA - slowMA
   signal = sma(macd, 9)
   ema = ema(close, input(200))
  1. खरीद संकेत उत्पन्न करेंः MACD अंतर ((macd-signal) पर 0 अक्ष के माध्यम से और ईएमए औसत रेखा से ऊपर बंद मूल्य।
   delta = macd - signal 
   buy_entry= close>ema and delta > 0
  1. विक्रय सिग्नल उत्पन्न करेंः MACD अंतर के नीचे 0 अक्ष को तोड़ें और ईएमए औसत से नीचे बंद करें।
   sell_entry = close<ema and delta<0 
  1. जब आरएसआई ओवरबॉय और ओवरसोल्ड क्षेत्र में प्रवेश करता है, तो रिवर्स ट्रेड करें।
   if (rsi > 70 or rsi < 30)
       reversal := true

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

  1. ट्रेंड फॉलोइंग और रिवर्स ट्रेडिंग के संयोजन के साथ, आप प्रमुख रुझानों को ट्रैक कर सकते हैं और रिवर्स पॉइंट्स पर लाभ कमा सकते हैं।
  2. MACD का उपयोग प्रमुख रुझानों की दिशा निर्धारित करने के लिए किया जाता है ताकि झूठे ब्रेक से बचा जा सके।
  3. ईएमए के माध्यम से कुछ शोर को फ़िल्टर करें।
  4. आरएसआई सूचक रिवर्स पॉइंट्स का आकलन करता है, रणनीति को लाभ के लिए बढ़ाता है।

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

  1. बड़े ट्रेंडिंग बाजारों में, रिवर्स ट्रेडिंग से नुकसान हो सकता है।
  2. गलत पैरामीटर से ट्रेडिंग की आवृत्ति और स्लाइड पॉइंट की लागत बढ़ जाती है।
  3. रिवर्स सिग्नल में देरी हो सकती है, जिससे प्रवेश का सबसे अच्छा समय छूट सकता है।

समाधान:

  1. ऑप्टिमाइज़ेशन पैरामीटर, सबसे अच्छा पैरामीटर संयोजन ढूंढें
  2. RSI थ्रेड को ठीक से समायोजित करें।
  3. नुकसान को नियंत्रित करने के लिए स्टॉप लॉस को शामिल करने पर विचार करें।

अनुकूलन दिशा

  1. विभिन्न लंबाई के ईएमए औसत रेखा मापदंडों का परीक्षण करना
  2. MACD मापदंडों को अनुकूलित करें और सबसे अच्छा संयोजन खोजें।
  3. विभिन्न उलटा आरएसआई थ्रेशोल्डों का परीक्षण करना।
  4. अन्य संकेतकों के संयोजन पर विचार करें।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-11-17 00:00:00
end: 2023-12-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mbuthiacharles4

//Good with trending markets
//@version=4
strategy("CHARL MACD EMA RSI")

fast = 12, slow = 26
fastMA = ema(close, fast)
slowMA = ema(close, slow)
macd = fastMA - slowMA
signal = sma(macd, 9)

ema = ema(close, input(200))

rsi = rsi(close, input(14))
//when delta > 0  and close above ema buy

delta = macd - signal

buy_entry= close>ema and delta > 0
sell_entry = close<ema and delta<0 
var bought = false
var sold = false
var reversal = false
if (buy_entry and bought == false and rsi <= 70) 
    strategy.entry("Buy",true , when=buy_entry)
    bought := true
    
strategy.close("Buy",when= delta<0 or rsi > 70)
if (delta<0 and bought==true)
    bought := false

//handle sells

if (sell_entry and sold == false and rsi >= 30)
    strategy.entry("Sell",false , when=sell_entry)
    sold := true

strategy.close("Sell",when= delta>0 or rsi < 30)
if (delta>0 and sold==true)
    sold := false
    
if (rsi > 70 or rsi < 30)
    reversal := true
    placing = rsi > 70 ? high :low
    label.new(bar_index, placing, style=label.style_flag, color=color.blue, size=size.tiny)
if (reversal == true)
    if (rsi < 70 and sold == false and delta < 0)
        strategy.entry("Sell",false , when= delta < 0)
        sold := true
        reversal := false
    else if (rsi > 30 and bought == false and delta > 0)
        strategy.entry("Buy",true , when= delta > 0)
        bought := true
        reversal := false