दोहरी चलती औसत प्रवृत्ति रणनीति का पालन करना

लेखक:चाओझांग, दिनांक: 2024-03-22 13:56:44
टैगः

img

अवलोकन

यह रणनीति बाजार के रुझानों में परिवर्तनों को निर्धारित करने के लिए दो चलती औसत के क्रॉसओवर का उपयोग करती है और प्रवृत्ति की दिशा के आधार पर खरीद / बिक्री निर्णय लेती है। यह लंबी जाती है जब अल्पकालिक एमए लंबी अवधि के एमए से ऊपर पार हो जाती है, और लंबी अवधि के एमए से नीचे पार होने पर छोटी होती है, जिसका उद्देश्य प्रवृत्ति का पालन करना है।

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

इस रणनीति के मूल में दो चलती औसत हैंः एक तेज एमए (डिफ़ॉल्ट अवधि 32) और एक धीमी एमए (डिफ़ॉल्ट अवधि 32, पैरामीटर के माध्यम से समायोजित) । जब समापन मूल्य इन दो एमए द्वारा गठित चैनल के ऊपर / नीचे पार करता है, तो यह एक प्रवृत्ति उलट का संकेत देता है और रणनीति तदनुसार खरीद / बिक्री संकेत उत्पन्न करती हैः

  • जब तेजी से एमए धीमी एमए से अधिक पार, लंबे समय तक जाना
  • जब तेजी से एमए धीमी एमए से नीचे पार हो जाता है, शॉर्ट जाएं
  • जब पहले से ही एक लंबी स्थिति हो रही हो, यदि तेज एमए धीमी एमए से नीचे पार हो जाती है, तो लंबी बंद करें और शॉर्ट जाएं
  • पहले से ही एक छोटी स्थिति रखते समय, यदि तेज एमए धीमी एमए से ऊपर पार हो जाती है, तो शॉर्ट बंद करें और लंबी जाएं

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

लाभ विश्लेषण

  1. रुझान का अनुसरण करनाः रुझानों की पहचान करने के लिए एमए क्रॉसओवर का उपयोग करके, रणनीति प्रभावी रूप से मुख्य बाजार रुझानों को पकड़ और अनुसरण कर सकती है।
  2. सरल और प्रयोग करने में आसानः रणनीति तर्क स्पष्ट है, केवल दो एमए का उपयोग करते हुए। पैरामीटर सेटिंग्स सरल और समझने और मास्टर करने में आसान हैं।
  3. व्यापक रूप से लागू करने योग्यः रणनीति विभिन्न साधनों और समय सीमाओं पर व्यापक रूप से लागू होती है और विभिन्न बाजारों में इस्तेमाल की जा सकती है।
  4. समय पर स्टॉप-लॉसः जब रुझान उलट जाता है, तो रणनीति घाटे को नियंत्रित करने के लिए तुरंत पदों को बंद कर सकती है।

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

  1. सीमांत बाजारों में खराब प्रदर्शनः जब बाजार एक पक्षीय पैटर्न में होता है, तो लगातार क्रॉसओवर सिग्नल अत्यधिक व्यापार और नुकसान का कारण बनेंगे।
  2. चरम आंदोलनों के लिए अपर्याप्त प्रतिक्रियाः रणनीति चरम स्थितियों (जैसे तेजी से बढ़ोतरी या डुबकी) के लिए बहुत धीमी प्रतिक्रिया दे सकती है, जिससे बड़े नुकसान हो सकते हैं।
  3. पैरामीटर अनुकूलन में कठिनाईः एमए पैरामीटर का अनुकूलन करने के लिए बड़ी मात्रा में ऐतिहासिक डेटा और बैकटेस्टिंग की आवश्यकता होती है। अनुकूलित मापदंडों में भविष्य के प्रदर्शन के लिए सीमित मार्गदर्शन होता है।

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

अनुकूलन दिशा

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

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

सारांश

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

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

कुल मिलाकर, यह रणनीति एक बुनियादी प्रवृत्ति-अनुसरण रणनीति के रूप में कार्य कर सकती है, लेकिन यह अकेले खड़े होना मुश्किल है और रणनीतियों के एक पोर्टफोलियो के हिस्से के रूप में अधिक उपयुक्त है।


/*backtest
start: 2023-03-16 00:00:00
end: 2024-03-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5

//study(title="Demo - SSL Basic", shorttitle="Demo - SSL Basic", overlay=true)
strategy(title='Demo - SSL Basic', shorttitle='Demo - SSL Basic', overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=100, commission_value=0.15)

// Backtest Date Range
start_date_long = input(title='Backtest Long Start Date', defval=timestamp('01 Jan 2018 00:00 +0530'))
end_date_long = input(title='Backtest Long End Date', defval=timestamp('25 Jan 2030 00:00 +0530'))
backtest_range = true

// Inputs
maType = input.string(title='SSL MA Type', options=['SMA', 'EMA', 'WMA'], defval='SMA')
sslLen = input(title='SSL Length', defval=32)
showCross = input(title='Show Crossover?', defval=true)
showEntry = input(title='Show Entry?', defval=true)
showTrend = input(title='Show Trend Colors?', defval=true)

// Calc MA for SSL Channel
calc_ma(close, len, type) =>
    float result = 0
    if type == 'SMA'  // Simple
        result := ta.sma(close, len)
        result
    if type == 'EMA'  // Exponential
        result := ta.ema(close, len)
        result
    if type == 'WMA'  // Weighted
        result := ta.wma(close, len)
        result    
    result

// Add SSL Channel
maHigh = calc_ma(high, sslLen, maType)
maLow = calc_ma(low, sslLen, maType)
Hlv = int(na)
Hlv := close > maHigh ? 1 : close < maLow ? -1 : Hlv[1]
sslDown = Hlv < 0 ? maHigh : maLow
sslUp = Hlv < 0 ? maLow : maHigh
ss1 = plot(sslDown, title='Down SSL', linewidth=2, color=showTrend ? na : color.red)
ss2 = plot(sslUp, title='Up SSL', linewidth=2, color=showTrend ? na : color.lime)

// Conditions
longCondition = ta.crossover(sslUp, sslDown)
shortCondition = ta.crossover(sslDown, sslUp)

// Strategy
if shortCondition
    strategy.close('Long', comment='Long Exit', alert_message='JSON')

if longCondition
    strategy.close('Short', comment='Short Exit', alert_message='JSON')

if backtest_range and longCondition
    strategy.entry('Long', strategy.long, comment='Long Entry', alert_message='JSON')

if backtest_range and shortCondition
    strategy.entry('Short', strategy.short, comment= 'Short Entry', alert_message='JSON')


// Plots
fill(ss1, ss2, color=showTrend ? sslDown < sslUp ? color.new(color.lime, transp=75) : color.new(color.red, transp=75) : na, title='Trend Colors')


अधिक