MetaTrader5
हुल मूविंग एवरेज: मेटाट्रेडर 5 का एक बेहतरीन इंडिकेटर
क्या आप हुल मूविंग एवरेज (HMA) इंडिकेटर के बारे में जानना चाहते हैं? मैंने खुद से इसे बनाने का फैसला किया क्योंकि मैं अन्य HMA के कार्यान्वयन को समझ नहीं पाया। इस इंडिकेटर में चार इनपुट पैरामीटर होते हैं: InpHmaPeriod = 20 InpColorKind = single_color InpColorIndex = color_index_3 InpMaxHistoryBars = 240 ये पैरामीटर अपने आप में स्पष्ट हैं। ENUM_COLOR_KIND एकल और बहु रंग के बीच स्विच करता है, डिफ़ॉल्ट एकल रंग होता है। बहु रंग के मोड में, HMA के उभरते मूल्यों के लिए एक रंग और गिरते मूल्यों के लिए अलग रंग होता है। एकल रंग मोड में, ENUM_COLOR_INDEX HMA के एकल रंग को सेट करता है। बहु रंग मोड में, डिफ़ॉल्ट रंग ग्रे होता है। अगर ग्राफ ऊपर जा रहा है तो रंग हरा होता है और नीचे जा रहा है तो लाल। आप इसे नीचे दिए गए चित्रों में देख सकते हैं। यहां पर कोड है: //+------------------------------------------------------------------+
//| MelzHull.mq5 |
//| Copyright 2022, wm1@gmx.de |
//| https://melz.one |
//+------------------------------------------------------------------+
enum ENUM_COLOR_KIND { single_color, multi_color};
enum ENUM_COLOR_INDEX { color_index_0, color_index_1, color_index_2, color_index_3, color_index_4, color_index_5, color_index_6};
//--- input parameters
input int InpHmaPeriod = 20; // indicator period, default 20
input ENUM_COLOR_KIND InpColorKind = single_color; // kind of indicator color, single- or multi-color
input ENUM_COLOR_INDEX InpColorIndex = color_index_3; // set color of single-color indicator
input int InpMaxHistoryBars = 240; // calculate historycally bars, default 240, not more
//--- indicator buffers
double valueBuffer[]; // store Hull indicator values
double colorBuffer[]; // store Hull indicator color at bar
double fullWMABuffer[]; // store calculation of WMA full period
double halfWMABuffer[]; // store calculation the WMA half period
//--- indicator settings
property indicator_chart_window; // draw in chart window
property indicator_buffers 4; // buffers for: fullWMA, halfWMA, vHull, cHull
property indicator_plots 1; // plot only one line
property indicator_type1 DRAW_COLOR_LINE; // draw as color line
//--- input parameters
input int InpHmaPeriod = 20; // indicator period, default 20
input ENUM_COLOR_KIND InpColorKind = single_color; // kind of indicator color, single- or multi-color
input ENUM_COLOR_INDEX InpColorIndex = color_index_3; // set color of single-color indicator
input int InpMaxHistoryBars = 240; // calculate historycally bars, default 240, not more
void OnInit() {
// Initialization code here
}
void OnDeinit(const int reason) {
// Deinitialization code here
}
int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) {
// Calculation code here
}
//+------------------------------------------------------------------+ उम्मीद है, आप इसका उपयोग करने में आनंद लेंगे।
2023.09.21