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

लेखक:छोटे सपने, बनाया गयाः 2019-07-03 14:03:53, अद्यतनः 2023-10-25 20:00:58

img

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

सूचकांक विवरण

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

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

    उदाहरण के लिएः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]
    }
    
  • तुलना

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

    img

    img

    कई Kbar पर संकेतकों के मानों की तुलना की गई है, और संख्याएँ लगभग समान हैं (थोड़ा सा चौथाई से पांचवां विचलन) ।

  • उपयोग

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

    • डीआई-: एम_डीआई,
    • DI+: p_di,
    • ADX: adx,
    • ADXR: adxr,

    डीएमआई सूचकांक में ये चार पंक्तियाँ, जिनमें डीआई-, डीआई+ बहु-स्थानिक सूचकांक हैं, बहु-स्थानिक दोनों पक्षों की ताकत को दर्शाती हैं। ADX और ADXR एक साथ इस्तेमाल की जाने वाली संकेतक रेखा है, जो एक प्रवृत्ति संकेतक है जो वर्तमान बाजार की प्रवृत्ति और दिशा को दर्शाता है।

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

    • संकेत

      1। नीचे की ओर देखो

      लंबे समय तक गिरावट के बाद, यदि निम्न शर्तें अल्पकालिक में पूरी हो जाती हैं, तो यह संकेत देता है कि अल्पकालिक तल का पता लगाया गया है, और एक ओवरडॉपिंग पलटाव या रिवर्स हो सकता है।

      • 1, बहुमुखी शक्ति का प्रतिनिधित्व करने वाली DI+ रेखा 10 से कम है, ओवरड्रॉप स्थिति में ऊपर की ओर मुड़ती है, और DI कंक्रीट रेखा उच्च है।

      • 2। प्रवृत्ति का प्रतिनिधित्व करने वाली ADX रेखा 65 से अधिक ऊंची स्थिति में है, नीचे की ओर मुड़ती है और ADXR रेखा के साथ एक मृतवर्ग बनाती है।

      2. गुफा

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

      • १, डीआई की क्षैतिज रेखा, जो खाली सिर शक्ति का प्रतिनिधित्व करती है, १० से कम है, कम स्थिति में है और ऊपर की ओर मुड़ती है, और डीआई + रेखा उच्च स्थिति में है।

      • 2। प्रवृत्ति का प्रतिनिधित्व करने वाली ADX रेखा 65 से अधिक ऊंची स्थिति में है, नीचे की ओर मुड़ती है और ADXR रेखा के साथ एक मृतवर्ग बनाती है।

      3। उदय

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


संबंधित

अधिक

अकेला आदमीपहले से मिलना

वूज़ेनयुवक्या आप DMI के आधार पर एक ट्रेंड डिटेक्शन रणनीति लिख सकते हैं?

छोटे सपनेअच्छा, समय आ गया है एक उदाहरण लिखने का।