मूविंग एवरेज अनुसरण रणनीति


निर्माण तिथि: 2023-10-20 17:02:52 अंत में संशोधित करें: 2023-10-20 17:03:32
कॉपी: 2 क्लिक्स: 614
1
ध्यान केंद्रित करना
1617
समर्थक

मूविंग एवरेज अनुसरण रणनीति

अवलोकन

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

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

यह रणनीति मुख्य रूप से निम्नलिखित सिद्धांतों पर आधारित हैः

  1. 200 दिनों की सरल चलती औसत धीमी एमए का उपयोग करके मूल्य प्रवृत्ति की दिशा निर्धारित करें।
  2. जब एक बंद मूल्य एक धीमी एमए को बंद कर देता है, तो यह माना जाता है कि बाजार में वृद्धि शुरू हो रही है, इसलिए अधिक करें।
  3. जब समापन मूल्य धीमी एमए के नीचे बंद हो जाता है, तो यह माना जाता है कि बाजार में गिरावट शुरू हो गई है, इसलिए यह शून्य है।
  4. last_long और last_short चरों के माध्यम से अंतिम ओवरटाइम और ओवरटाइम रिकॉर्ड करें।
  5. last_long और last_short के क्रॉसओवर फ़ंक्शन का उपयोग करके ट्रेडिंग सिग्नल उत्पन्न करने के लिए।
  6. प्रतिक्रिया समय अवधि के दौरान, जब एक दीर्घ_सिग्नल प्राप्त होता है, तो एक दीर्घ_सिग्नल प्राप्त होता है, और जब एक लघु_सिग्नल प्राप्त होता है, तो एक छोटा_सिग्नल प्राप्त होता है।

यह रणनीति मुख्य रूप से चलती औसत के माध्यम से प्रवृत्ति की दिशा का आकलन करती है और प्रवृत्ति पर ट्रैक करने के लिए लाभप्रदता प्राप्त करने के लिए समानांतर में पलटने पर समय पर रिवर्स ऑपरेशन करती है।

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

इस रणनीति के निम्नलिखित फायदे हैं:

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

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

इस रणनीति के कुछ जोखिम भी हैं:

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

जोखिम के लिए, निम्नलिखित पहलुओं में अनुकूलन और सुधार किया जा सकता हैः

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

अनुकूलन दिशा

इस रणनीति को और अधिक अनुकूलित किया जा सकता हैः

  1. चलती औसत के आवर्ती पैरामीटर का अनुकूलन करें, पैरामीटर के इष्टतम संयोजन की तलाश करें। पैरामीटर अनुकूलन विधियों जैसे कि वॉक फॉरवर्ड विश्लेषण का उपयोग किया जा सकता है।

  2. अल्पकालिक चलती औसत को बढ़ाएं, बहु-औसत रणनीति बनाएं और दीर्घकालिक रुझानों को ट्रैक करें।

  3. MACD जैसे ट्रेंडिंग सूचकांकों के साथ संयोजन में, ट्रेंड रिवर्स की पहचान करने की क्षमता में सुधार।

  4. एकल हानि को नियंत्रित करने के लिए, स्टॉप लॉस को ट्रैक करने, स्टॉप लॉस को लटकाने, आदि जैसे स्टॉप लॉस तंत्र को शामिल करें।

  5. प्रतिलिपि परीक्षण, विभिन्न नस्लों और विभिन्न समय अवधि में परीक्षण रणनीति, स्थिरता में सुधार।

  6. मशीन लर्निंग और अन्य तरीकों का उपयोग करके रणनीति के पैरामीटर को अनुकूलित करने और रणनीति को अनुकूलित करने के लिए।

संक्षेप

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

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

//@version=4
strategy("MA X 200 BF", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)

/////////////// Time Frame ///////////////
testStartYear = input(2012, "Backtest Start Year") 
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)

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

testPeriod() => true

///////////// MA 200 /////////////
slowMA = sma(close, input(200))

/////////////// Strategy ///////////////
long = close > slowMA
short = close < slowMA

last_long = 0.0
last_short = 0.0
last_long := long ? time : nz(last_long[1])
last_short := short ? time : nz(last_short[1])

long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)

/////////////// Execution /////////////// 
if testPeriod()
    strategy.entry("Long Entry",  strategy.long, when=long_signal)
    strategy.entry("Short Entry", strategy.short, when=short_signal)
    strategy.exit("Long Ex", "Long Entry")
    strategy.exit("Short Ex", "Short Entry")

/////////////// Plotting /////////////// 
plot(slowMA, color = long ? color.lime : color.red, linewidth=2)
bgcolor(strategy.position_size > 0 ? color.lime : strategy.position_size < 0 ? color.red : color.white, transp=80)
bgcolor(long_signal ? color.lime : short_signal ? color.red : na, transp=30)