डबल मूविंग एवरेज पर आधारित ट्रेडिंग रणनीति


निर्माण तिथि: 2024-01-19 14:10:38 अंत में संशोधित करें: 2024-01-19 14:10:38
कॉपी: 0 क्लिक्स: 574
1
ध्यान केंद्रित करना
1617
समर्थक

डबल मूविंग एवरेज पर आधारित ट्रेडिंग रणनीति

अवलोकन

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

सिद्धांत

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

विशेष रूप से, इस रणनीति में दो चलती औसत परिभाषित किए गए हैंः एक 5 दिन की अल्पकालिक चलती औसत है, जो अल्पकालिक मूल्य प्रवृत्तियों को पकड़ने के लिए उपयोग किया जाता है; दूसरा 15 दिन की दीर्घकालिक चलती औसत है, जो दीर्घकालिक मूल्य प्रवृत्तियों को निर्धारित करने के लिए उपयोग किया जाता है। जब 5 दिन की रेखा नीचे से 15 दिन की रेखा को पार करती है, तो यह संकेत देती है कि अल्पकालिक मूल्य बढ़ना शुरू हो गया है, जो एक खरीद संकेत है; और जब 5 दिन की रेखा ऊपर से नीचे से 15 दिन की रेखा को पार करती है, तो यह संकेत देती है कि अल्पकालिक मूल्य गिरना शुरू हो गया है, जो एक बिक्री संकेत है।

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

अन्य रणनीतियों की तुलना में, दोहरी चलती औसत रणनीतियों के निम्नलिखित फायदे हैंः

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

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

दोहरी चलती औसत रणनीतियों में कुछ जोखिम भी होते हैं, जिनमें शामिल हैंः

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

समाधान के लिएः

  1. फ़िल्टर सिग्नल के साथ अन्य संकेतक
  2. चलती औसत मापदंडों का अनुकूलन करें और परिणाम की जांच करें
  3. उचित रोक सीमा निर्धारित करें
  4. ट्रेडिंग आवृत्ति को अनुकूलित करने के लिए चलती औसत मापदंडों को समायोजित करें
  5. विभिन्न बाजार स्थितियों के लिए समायोजन पैरामीटर

अनुकूलन दिशा

इस रणनीति को निम्नलिखित दिशाओं में अनुकूलित किया जा सकता हैः

  1. अन्य संकेतकों जैसे MACD, KDJ आदि के साथ मिलकर फ़िल्टर सिग्नल, झूठे सिग्नल से बचें

  2. अनुकूलनशील चलती औसत की शुरूआत, बाजार में उतार-चढ़ाव के आधार पर गतिशील रूप से चलती औसत पैरामीटर को समायोजित करना, स्थिरता में सुधार करना

  3. चलती औसत पैरामीटर का अनुकूलन करें, सबसे अच्छा पैरामीटर संयोजन ढूंढें और रणनीति को बेहतर बनाएं

  4. नुकसान को रोकने के लिए, नुकसान को रोकने के लिए और जोखिम को नियंत्रित करने की क्षमता को बढ़ाने के लिए

  5. बहु-समय-फ्रेम संयोजन, एक ही समय में सूर्य रेखा, परिधि रेखा संकेतों का उपयोग करके स्थिरता में सुधार

  6. मार्कोव स्टेट स्विचिंग, विभिन्न बाजार स्थितियों के लिए अलग-अलग पैरामीटर, अनुकूलनशीलता में सुधार

संक्षेप

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

रणनीति स्रोत कोड
//@version=3
strategy("CS: 2 Moving Averages Script - Strategy (Testing)", overlay=true)

// === GENERAL INPUTS ===
// short ma
ma1Source   = input(defval = close, title = "MA 1 Source")
ma1Length   = input(defval = 5, title = "MA 1 Period", minval = 1)
// long ma
ma2Source   = input(defval = close, title = "MA 2 Source")
ma2Length   = input(defval = 15, title = "MA 2 Period", minval = 1)

// === SERIES SETUP ===
/// a couple of ma's..
ma1 = ema(ma1Source, ma1Length)
ma2 = ema(ma2Source, ma2Length)

// === PLOTTING ===
fast = plot(ma1, title = "MA 1", color = red, linewidth = 2, style = line, transp = 30)
slow = plot(ma2, title = "MA 2", color = green, linewidth = 2, style = line, transp = 30)

// === LOGIC ===
enterLong = crossover(ma1, ma2)
exitLong = crossover(ma2, ma1)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2012)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2012)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

// Entry //
strategy.entry(id="Long Entry", long=true, when=enterLong and window())
strategy.entry(id="Short Entry", long=false, when=exitLong and window())