ডিএমআই সূচকটিকে গতি সূচক বা প্রবণতা সূচকও বলা হয়, এর সম্পূর্ণ নাম
ডিএমআই সূচক হল দামের বৃদ্ধি এবং পতনের প্রক্রিয়াতে ক্রেতা এবং বিক্রেতাদের ভারসাম্য পয়েন্টের পরিবর্তন, অর্থাৎ, লং এবং শর্ট উভয় পক্ষের শক্তির পরিবর্তন মূল্যের ওঠানামা দ্বারা প্রভাবিত হয় এবং ভারসাম্য থেকে ভারসাম্যহীনতা পর্যন্ত চক্রীয় প্রক্রিয়া ঘটে, এইভাবে প্রবণতা বিচার করার জন্য একটি প্রযুক্তিগত সূচক সরবরাহ করে।
সম্প্রতি, পরিমাণগত ট্রেডিং ব্যবসায়ের বেশ কয়েকটি বন্ধু আমাকে FMZ Quant পরিমাণগত ট্রেডিং প্ল্যাটফর্মে DMI সূচকটি কীভাবে ব্যবহার করবেন সে সম্পর্কে পরামর্শ করেছে। আমি ভেবেছিলাম এটি একটি খুব সহজ সমস্যা, এবং আমি এই সূচক ফাংশনটি খুঁজে পেতে API ডকুমেন্টেশনটি খুললাম। খুঁজে পেয়েছি যে এই সূচকটি
এটি পাওয়া যায় যে এই সূচকটি চারটি সূচক নিয়ে গঠিত। অ্যালগরিদমটি খুব জটিল নয়। কেবল অ্যালগরিদমটি অনুসরণ করুন এবং ঠিক থাকবে।
অ্যালগরিদমের ঠিকানাঃhttps://www.fmz.com/strategy/154050
// indicator function
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 of the day before the AdX+ AX)÷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]
}
FMZ Quant এর ডেটা লাইব্রেরি ব্যবহার করে, একটি চার্ট আঁকতে এবং অন্যান্য চার্টের সাথে DMI তুলনা করা সহজ।
একাধিক কে-লাইন বারগুলিতে সূচক মানগুলির তুলনা করে, মানগুলি মূলত একই (সামান্য ঘূর্ণিত বিচ্যুতি) ।
সরাসরি ডিএমআই ফাংশন ব্যবহার করুন (যেমন উদাহরণে প্রধান ফাংশনে বলা উপায়), কে লাইন ডেটা পাস করুন, সূচক পরামিতিগুলি সেট করুন, যা সাধারণত 14 হয়।
ফাংশন দ্বারা ফেরত দেওয়া তথ্য হল চারটি লাইন প্রতিনিধিত্বকারী একটি দ্বি-মাত্রিক অ্যারে।
ডিআই-: এম_ডি ডিআই+: পি_ডি অ্যাডএক্স: অ্যাডএক্স adXR: adxr
DMI সূচকের এই চারটি লাইনের মধ্যে DI- এবং DI+ হল লং এবং শর্ট সূচক, যা লং এবং শর্ট পজিশনের শক্তিকে প্রতিফলিত করে।
AdX এবং adXR হল একসাথে ব্যবহৃত সূচক লাইনগুলির একটি জোড়া, যা প্রবণতা সূচক, যা বাজারের বর্তমান প্রবণতা এবং দিক প্রতিফলিত করে।
ডিআই +, সূচকটির মান যত বেশি, বর্তমান ষাঁড়ের বাজার তত শক্তিশালী, অন্যথায় ষাঁড়ের বাজার ততই দুর্বল। ডিআই, উপরের বিপরীত। ডিআই+, ডিআই- প্রায়ই পরস্পরের সাথে যুক্ত হয়, এবং মূল্যের মধ্যে যত কাছাকাছি হয়, বাজারটি একটি ঘাটতিতে থাকে। বিপরীতভাবে, প্রবণতা জোরদার হয়।
দীর্ঘমেয়াদী মূল্য হ্রাসের পরে, যদি নিম্নলিখিত শর্তগুলি স্বল্পমেয়াদে পূরণ করা হয় তবে এটি নির্দেশ করে যে স্বল্পমেয়াদী মূল্যের নীচে পৌঁছেছে এবং একটি রিবাউন্ড বা বিপরীত হতে পারে।
লং ক্রয়ের শক্তির প্রতিনিধিত্বকারী ডিআই+ লাইনটি ১০ এর নিচে এবং লাইনটি ওভারসোল্ড পজিশনে উপরে ফিরে আসে এবং ডিআই-লাইনটি উচ্চ পজিশনে থাকে।
প্রবণতা প্রতিনিধিত্বকারী AdX রেখাটি 65 এর উপরে উচ্চতর অবস্থানে রয়েছে, যা নেমে যায় এবং adXR রেখার সাথে একটি নিচে ক্রস গঠন করে।
দীর্ঘমেয়াদী বৃদ্ধির পর, যদি নিম্নলিখিত শর্তগুলি স্বল্পমেয়াদে পূরণ করা হয়, তবে স্বল্পমেয়াদী উচ্চমূল্য পৌঁছেছে এবং স্বল্পমেয়াদী সমন্বয় বা বিপরীতমুখী হতে পারে।
শর্ট-সেলিং শক্তির প্রতিনিধিত্বকারী ডিআই-লাইন ১০ এর নিচে, এবং লাইনটি নিম্ন অবস্থানে উপরের দিকে ঘুরিয়ে দেওয়া হয়, এবং ডিআই + লাইনটি উচ্চ অবস্থানে রয়েছে।
প্রবণতা প্রতিনিধিত্বকারী AdX রেখাটি 65 এর উপরে উচ্চতর অবস্থানে রয়েছে, যা নেমে যায় এবং adXR রেখার সাথে একটি নিচে ক্রস গঠন করে।
মূল্য আন্দোলনের একটি সময়ের পরে, ডিএমআই