दोलन सफलता रणनीति

लेखक:चाओझांग, दिनांक: 2023-10-27 16:32:19
टैगः

img

अवलोकन

यह रणनीति लैरी कॉनर्स के क्लासिक विचार पर आधारित है, जो बाजार के मध्यम अवधि के दोहरे चलती औसत प्रणाली का उपयोग बाजार के मध्यम अवधि के उतार-चढ़ाव को पकड़ने और जब यह ओवरबॉट या ओवरसोल्ड होता है तो लाभ लेने के लिए करता है।

रणनीति तर्क

  1. यह निर्धारित करने के लिए 2 अवधि के आरएसआई का प्रयोग करें कि क्या कीमत ओवरसोल्ड क्षेत्र में है।

  2. मुख्य रुझान दिशा निर्धारित करने के लिए लंबी अवधि के चलती औसत (200 अवधि) का उपयोग करें। केवल तभी शुरुआती स्थिति पर विचार करें जब मूल्य लंबी एमए से ऊपर हो।

  3. जब कीमत लंबी एमए से ऊपर हो और आरएसआई ओवरसोल्ड लाइन से नीचे हो, तो बाजार मूल्य पर लंबी स्थिति खोलें।

  4. जब कीमत कम अवधि के एमए (5 अवधि) को ऊपर की ओर तोड़ती है, तो लाभ लेने के लिए बाजार मूल्य पर लंबी स्थिति को बंद करें।

इसके अतिरिक्त, रणनीति निम्नलिखित विन्यास विकल्प प्रदान करती हैः

  • आरएसआई पैरामीटरः अवधि की लंबाई, ओवरबॉट/ओवरसोल्ड स्तर।

  • एमए पैरामीटरः लंबी और छोटी अवधि।

  • आरएसआई एमए फ़िल्टर: आरएसआई एमए जोड़ें ताकि आरएसआई उतार-चढ़ाव से बचा जा सके।

  • स्टॉप लॉस: स्टॉप लॉस जोड़ने या न जोड़ने के लिए कॉन्फ़िगर करने योग्य।

लाभ विश्लेषण

  1. डबल एमए प्रणाली मध्यम और दीर्घकालिक रुझानों को प्रभावी ढंग से ट्रैक कर सकती है।

  2. आरएसआई हिंसक उतार-चढ़ाव के दौरान सबसे अच्छा प्रवेश समय याद करने से बचता है।

  3. पैरामीटर अनुकूलन के लिए उपयुक्त लचीला विन्यास।

  4. सफलता रणनीति, संकेतों को याद करने की संभावना नहीं है।

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

  1. डबल एमए रणनीति मापदंडों के प्रति संवेदनशील है, सर्वोत्तम प्रदर्शन प्राप्त करने के लिए अनुकूलन की आवश्यकता होती है।

  2. कोई स्टॉप लॉस नहीं होने से घाटे का विस्तार होने का जोखिम होता है।

  3. झूठे ब्रेकआउट से अस्थिर बाजार में घाटे का जोखिम होता है। एमए अवधि का अनुकूलन करने या अन्य फ़िल्टर जोड़ने पर विचार करें।

  4. बैकटेस्ट ओवरफिट जोखिम। बाजारों और समय अवधि में सत्यापन की आवश्यकता होती है।

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

  1. आरएसआई और एमए मापदंडों के संयोजनों का परीक्षण और अनुकूलन करने के लिए इष्टतम खोजने के लिए।

  2. झूठे संकेतों को कम करने के लिए वॉल्यूम स्पाइक जैसे अतिरिक्त प्रवेश फिल्टर का परीक्षण करें।

  3. एकल व्यापार घाटे को नियंत्रित करने के लिए ट्रैलिंग स्टॉप लॉस जोड़ें। समग्र लाभप्रदता पर प्रभाव का आकलन करें।

  4. इष्टतम खोजने के लिए विभिन्न धारण अवधि के प्रभाव का आकलन करें।

  5. दैनिक रूप से अधिक समय के लिए मजबूती का परीक्षण करें।

सारांश

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


/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("RSI Strategy", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

//Starter Parameters

length = input(title="RSI Lenght", defval=2)
overBoughtRSI = input(title="OverBought Level for RSI",  defval=10)
shortLength = input(title="Short MA Length",  defval=5)
longLength = input(title="Long MA Length",  defval=200)

RuleMRSI=input(title="RSI Moving Average Filter", defval= true)
lengthmrsi=input(title="RSI Moving Average Length",  defval=4)
overBoughtMRSI=input(title="OverBought Level for the Moving Average of the RSI",  defval=30)

Rulestop=input(title="Apply Stop Loss", defval=false)
stop_percentual=input(title="% Stop Loss",  defval=10)

//RSI

vrsi = rsi(close, length)

//Moving Averages

longma = sma(close,longLength)
shortma = sma(close,shortLength)
mrsi=sma(vrsi,lengthmrsi)

//Stop Loss

stop_level = strategy.position_avg_price*((100-stop_percentual)/100)

//Backtest Period
testStartYear = input(2009, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true
    
//Strategy

if testPeriod() and (not na(vrsi))
    if  (RuleMRSI==false) and (Rulestop==false)
        if (vrsi<overBoughtRSI) and (close>longma)
            strategy.entry("RsiLE", strategy.long , comment="Open")
        if (close>shortma)
            strategy.close_all()

    if (RuleMRSI==true) and (Rulestop==false)
        if (vrsi<overBoughtRSI) and (close>longma) and (mrsi<overBoughtMRSI)
            strategy.entry("RsiLE", strategy.long , comment="Open")
        if (close>shortma)
            strategy.close_all()

    if (RuleMRSI==false) and (Rulestop==true)
        if (vrsi<overBoughtRSI) and (close>longma)
            strategy.entry("RsiLE", strategy.long , comment="Open")
            strategy.exit("RsiLE", stop = stop_level)
        if (close>shortma)
            strategy.close_all()

    if (RuleMRSI==true) and (Rulestop==true)
        if (vrsi<overBoughtRSI) and (close>longma) and (mrsi<overBoughtMRSI)
            strategy.entry("RsiLE", strategy.long , comment="Open")
            strategy.exit("RsiLE", stop = stop_level)
        if (close>shortma)
            strategy.close_all()

अधिक