4
ध्यान केंद्रित करना
1271
समर्थक

डीएमआई सूचक की गणना और अनुप्रयोग

में बनाया: 2019-07-03 14:03:53, को अपडेट: 2023-10-25 20:00:58
comments   9
hits   4768

डीएमआई सूचक की गणना और अनुप्रयोग

डीएमआई सूचक की गणना और अनुप्रयोग

संकेतक परिचय

DMI指标又叫动向指标或趋向指标,其全称叫“Directional Movement Index,简称DMI”,
也是由美国技术分析大师威尔斯·威尔德(Wells Wilder)所创造的,是一种中长期股市技术分析(Technical Analysis)方法。
DMI指标是通过分析股票价格在涨跌过程中买卖双方力量均衡点的变化情况,
即多空双方的力量的变化受价格波动的影响而发生由均衡到失衡的循环过程,从而提供对趋势判断依据的一种技术指标。
  • ### संकेतक गणना

हाल ही में, क्वांटिटेटिव सर्कल के कई मित्रों ने मुझसे इन्वेंटर क्वांटिटेटिव ट्रेडिंग प्लेटफॉर्म पर डीएमआई संकेतक का उपयोग करने के तरीके के बारे में सलाह ली है। पहले तो मुझे लगा कि यह एक सरल प्रश्न है, इसलिए मैंने इस सूचक फ़ंक्शन को देखने के लिए API दस्तावेज़ खोला। मैंने पाया कि यह सूचक सार्वभौमिक तालिब सूचक पुस्तकालय में शामिल नहीं है। मैंने जल्दी से बायडू और झिहु पर खोज की… और कड़ी मेहनत के बाद, मुझे संकेतकों पर कुछ जानकारी मिली। मैंने पाया कि यह संकेतक चार संकेतकों से बना है। एल्गोरिथ्म बहुत जटिल नहीं है, इसलिए मैंने इसे सामग्री में एल्गोरिथ्म के अनुसार ही लिखा है।

उदाहरण पता: https://www.fmz.com/strategy/154050

  • कृपया संकेतक स्रोत कोड पोस्ट करें
  // 指标函数
  function ADX(MDI, PDI, adx_period) {
      if(typeof(MDI) == "undefined" || typeof(PDI) == "undefined"){
          return false 
      }  

      if(MDI.length < 10 || PDI.length < 10){
          return false 
      }  

      /*
      DX = abs(DIPlus-DIMinus) / (DIPlus+DIMinus)*100
      ADX = sma(DX, len)
      */  

      var dx = []
      for(var i = 0; i < MDI.length; i++){
          if(!MDI[i] || !PDI[i]){
              continue
          }
          var dxValue = Math.abs((PDI[i] - MDI[i])) / (PDI[i] + MDI[i]) * 100
          var obj = {
              Close : dxValue,
          }
          dx.push(obj)
      }  

      if(dx.length < adx_period){
          return false
      }  

      var adx = talib.SMA(dx, adx_period)  

      return adx
  }  

  function DMI(records, pdi_period, mdi_period, adxr_period, adx_period) {    
      var recordsHLC = []
      for(var i = 0; i < records.length ; i++){
          var bar = {
              High : records[i].High,
              Low : records[i].Low, 
              Close : records[i].Close,
          }
          recordsHLC.push(bar)
      }

      var m_di = talib.MINUS_DI(recordsHLC, mdi_period) 
      var p_di = talib.PLUS_DI(recordsHLC, pdi_period)  

      var adx = ADX(m_di, p_di, adx_period)

      // ADXR=(当日的ADX+前n日的ADX)÷2
      var n = 0
      var adxr = []
      for (var j = 0 ; j < adx.length; j++) {
          if (typeof(adx[j]) == "number") {
              n++
          }

          if (n >= adxr_period) {
              var currAdxr = (adx[j] + adx[j - adxr_period]) / 2
              adxr.push(currAdxr)
          } else {
              adxr.push(NaN)
          }
      }

      return [m_di, p_di, adx, adxr]
  }
  • अंतर

इन्वेंटर क्वांटिटेटिव लाइन ड्रॉइंग लाइब्रेरी का उपयोग करके, चार्ट बनाना और अन्य चार्ट पर डीएमआई के साथ इसकी तुलना करना बहुत आसान है

डीएमआई सूचक की गणना और अनुप्रयोग

डीएमआई सूचक की गणना और अनुप्रयोग

कई Kbars पर सूचक मूल्यों की तुलना करने पर, मूल्य मूल रूप से सुसंगत हैं (मामूली गोलाई विचलन के साथ)।

  • उपयोग

डीएमआई फ़ंक्शन का सीधे उपयोग करें (जैसे कि उदाहरण में मुख्य फ़ंक्शन में कॉल की गई विधि), के-लाइन डेटा पास करें, और संकेतक पैरामीटर सेट करें, जो सामान्यतः 14 होते हैं। फ़ंक्शन द्वारा लौटाया गया डेटा एक द्वि-आयामी सरणी है, जो चार पंक्तियों का प्रतिनिधित्व करता है।

  • DI- : m_di,
  • DI+ : p_di,
  • ADX : adx,
  • ADXR: adxr,

डीएमआई संकेतक में चार रेखाओं में से, डीआई- और डीआई+ लंबी और छोटी संकेतक हैं, जो लंबी और छोटी दोनों पक्षों की ताकत को दर्शाती हैं। ADX और ADXR एक साथ उपयोग की जाने वाली संकेतक रेखाओं की जोड़ी हैं। वे प्रवृत्ति संकेतक हैं जो वर्तमान बाजार की प्रवृत्ति और दिशा को दर्शाते हैं।

DI+, सूचक मूल्य जितना अधिक होगा, वर्तमान बाजार में तेजी उतनी ही मजबूत होगी, और इसके विपरीत। DI-, सूचक विपरीत है. DI+ और DI- अक्सर एक दूसरे से जुड़े होते हैं, और ये मान जितने करीब होते हैं, बाजार में समेकन गतिरोध की संभावना उतनी ही अधिक होती है। इसके विपरीत, यह संकेत देता है कि प्रवृत्ति मजबूत हो रही है।

  • संकेत

    1. तल खोजें

    गिरावट की एक लंबी अवधि के बाद, यदि अल्पावधि में निम्नलिखित स्थितियाँ पूरी होती हैं, तो इसका मतलब है कि अल्पावधि का निचला स्तर मिल गया है और ओवरसोल्ड रिबाउंड या रिवर्सल हो सकता है।

      1. DI+ रेखा, जो तेजी की शक्ति का प्रतिनिधित्व करती है, 10 से नीचे है, जो ओवरसोल्ड स्थिति में ऊपर की ओर मुड़ रही है, और DI- रेखा उच्च स्तर पर है।
      1. प्रवृत्ति को दर्शाने वाली ADX रेखा 65 से ऊपर उच्च स्थिति पर है, नीचे की ओर मुड़ती है और ADXR रेखा के साथ डेथ क्रॉस बनाती है।
    1. शिखर अन्वेषण

    दीर्घकालिक वृद्धि के बाद, यदि अल्पावधि में निम्नलिखित स्थितियाँ पूरी होती हैं, तो इसका अर्थ है कि अल्पावधि शीर्ष मिल गया है और अल्पावधि समायोजन या उलटफेर हो सकता है।

      1. DI- लाइन, जो शॉर्ट-सेलिंग बल का प्रतिनिधित्व करती है, 10 से नीचे, निम्न स्तर पर है और ऊपर की ओर मुड़ रही है, जबकि DI+ लाइन उच्च स्तर पर है।
      1. प्रवृत्ति को दर्शाने वाली ADX रेखा 65 से ऊपर उच्च स्थिति पर है, नीचे की ओर मुड़ती है और ADXR रेखा के साथ डेथ क्रॉस बनाती है।
    1. प्रारंभ

    उतार-चढ़ाव की अवधि के बाद, चार डीएमआई सूचक रेखाएं निम्न स्तर पर आपस में जुड़ गईं, और फिर अचानक 5% से अधिक की मात्रा वृद्धि के साथ एक लंबी सकारात्मक कैंडलस्टिक दिखाई दी। DI+ रेखा लगातार दो दिनों के भीतर DI- रेखा, ADX रेखा और ADXR रेखा को पार करती है, जो यह दर्शाता है कि एक नई ऊपर की ओर प्रवृत्ति बनने वाली है। जब DI+ लाइन अंतिम संकेतक रेखा को पार कर जाती है तो आप खरीद सकते हैं।