Type/to search
8
Follow
1370
Followers
DMI সূচকের গণনা এবং প্রয়োগ
Discussions
Created 2019-07-03 14:03:53  Updated 2023-10-25 20:00:58
 9
 5459

img

DMI সূচকের গণনা এবং প্রয়োগ

সূচকের ভূমিকা

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

    সম্প্রতি, পরিমাণগত বৃত্তের অনেক বন্ধু আমাকে জিজ্ঞাসা করেছে কিভাবে উদ্ভাবক পরিমাণগত ট্রেডিং প্ল্যাটফর্মে DMI সূচক ব্যবহার করতে হয়। প্রথমে আমি ভেবেছিলাম এটি একটি খুব সাধারণ সমস্যা, তাই আমি এই সূচক ফাংশনটি সন্ধান করতে API ডকুমেন্টেশন খুললাম। আমি দেখেছি যে এই সূচকটি সর্বজনীন তালিব নির্দেশক লাইব্রেরিতে অন্তর্ভুক্ত নয়। আমি তাড়াহুড়ো করে Baidu, Zhihu... একটি ভয়ানক অপারেশনের পর, আমি কিছু সূচক তথ্য পেয়েছি।
    আমি দেখেছি যে এই সূচকটি চারটি সূচকের সমন্বয়ে গঠিত। অ্যালগরিদমটি খুব জটিল নয়, তাই আমি কেবল উপাদানটিতে থাকা অ্যালগরিদম অনুসারে এটি লিখেছি।

    নমুনা ঠিকানা: 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] }
  • বিপরীত

    উদ্ভাবকের পরিমাণগত লাইন অঙ্কন লাইব্রেরি ব্যবহার করে, আপনি সহজেই চার্ট আঁকতে পারেন এবং অন্যান্য চার্টে DMI তুলনা করতে পারেন।

    img

    img

    বেশ কয়েকটি Kbar-এ সূচক মান তুলনা করলে, মানগুলি মূলত সামঞ্জস্যপূর্ণ (সামান্য গোলাকার বিচ্যুতি সহ)।

  • ব্যবহার

    সরাসরি DMI ফাংশন ব্যবহার করুন (যেমন পদ্ধতিটি উদাহরণে প্রধান ফাংশনে বলা হয়েছে), কে-লাইন ডেটা পাস করুন এবং সূচক প্যারামিটার সেট করুন, সাধারণত 14।
    ফাংশন দ্বারা প্রত্যাবর্তিত ডেটা একটি দ্বি-মাত্রিক অ্যারে, যথাক্রমে চারটি লাইন প্রতিনিধিত্ব করে।

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

    DMI সূচকের চারটি লাইনের মধ্যে, DI- এবং DI+ হল দীর্ঘ এবং সংক্ষিপ্ত সূচক, যা দীর্ঘ এবং ছোট উভয় দিকের শক্তিকে প্রতিফলিত করে।
    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. শুরু গতি

      প্রবণতা কিছু সময়ের জন্য ওঠানামা করার পরে, চারটি DMI সূচক লাইন একে অপরকে একটি নিম্ন স্তরে আটকে রাখে এবং তারপরে হঠাৎ করে 5% এর বেশি বৃদ্ধি সহ একটি ভারী-ভলিউম চাংইয়াং কে-লাইন উপস্থিত হয়।
      DI+ লাইনটি ক্রমাগত দুই দিন ধরে DI- লাইন, ADX লাইন এবং ADXR লাইন অতিক্রম করেছে, যার মানে একটি নতুন ঊর্ধ্বমুখী প্রবণতা তৈরি হবে। আপনি কিনতে পারেন যখন DI+ লাইন শেষ নির্দেশক লাইন অতিক্রম করে।

Related Recommendations
Comment
All comments (5)

    for (var j = 0 ; j < adx.length; j++)语法检查会报错,因为adx也可能返回bool值,bool不能使用.length,可以添加条件过滤检查ADX函数返回值
    if (typeof adx === 'boolean' && adx === false) {
    Log("ADX计算失败,数据不足或参数错误");
    return null;
    }

    if (!adx || !Array.isArray(adx)) {
    Log("ADX返回值类型异常:", typeof adx);
    return null;
    }

    if (adx.length === 0) {
    Log("ADX返回空数组");
    return null;
    }

    9 months ago

    您好,编辑器的错误检测可以忽略,只是一种提醒。

    9 months ago

    似曾相识

    7 years ago

    梦总,能否写个基于DMI的趋势判断策略?

    7 years ago

    好的 有时间了 写个范例。

    7 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)