होम सिस्टम ट्रेडिंग पोस्ट

MetaTrader 5 के लिए नया बार या कैंडल पहचानने का आसान कोड

संलग्नक
49018.zip (977 bytes, डाउनलोड 0 बार)

नमस्कार दोस्तों! आज हम बात करेंगे एक सरल कोड की जो नया बार या नया कैंडल पहचानने में मदद करता है।

इस कोड का मूल सिद्धांत बहुत सरल है। सबसे पहले, कोड पिछले बार या कैंडल का समय स्टोर करता है। उसके बाद, इसमें 60 सेकंड (जो 1 मिनट के बराबर है) जोड़कर वर्तमान बार या कैंडल के समापन समय का मान प्राप्त करता है।

जब:

वर्तमान समय = वर्तमान बार या कैंडल का समापन समय। इसका मतलब है कि एक नया कैंडल आ चुका है या वर्तमान बार बंद हो चुका है।

इस कोड में एक फ्लैग (बूल प्रकार का वेरिएबल 'NewBarRecived') है, जो इस कोड ब्लॉक को कई बार कॉल करने से रोकता है। इसका मतलब है कि यह कोड ब्लॉक प्रति बार/कैंडल केवल एक बार ही चलेगा। Comment(); और playsound("ok.wav"); का उपयोग कोड ब्लॉक की सटीकता की जांच के लिए किया जाता है। आप चाहें तो इसे हटा सकते हैं।

फ्लैग को वर्तमान समय के वर्तमान कैंडल के समापन समय से ऊपर होने पर फ़ॉल्स पर रीसेट किया जाता है ताकि अगले बार के आगमन की जांच की जा सके। (टिप्पणियों को देखना न भूलें)।

//+------------------------------------------------------------------+
//|                                               नया बार पहचानें.mq5 |
//|                                                  द्वारा एच ए टी लक्ष्मल |
//|                                                   https://t.me/Lakmal846 |
//+------------------------------------------------------------------+

bool NewBarRecived = false; // नियंत्रण के लिए फ्लैग।

//+------------------------------------------------------------------+
//| विशेषज्ञ प्रारंभिककरण कार्य                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- टाइमर बनाएं
   EventSetTimer(60);

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| विशेषज्ञ डिएक्टिवेशन कार्य                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- टाइमर नष्ट करें
   EventKillTimer();

  }


//+------------------------------------------------------------------+
//| विशेषज्ञ टिक कार्य                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   datetime TimePreviousBar = iTime(_Symbol,PERIOD_M1,1);
   datetime TimeCurrentClose = TimePreviousBar + 60; // वर्तमान बार का समापन समय।
   datetime Time_Current = TimeCurrent();

   if(Time_Current == TimeCurrentClose && NewBarRecived == false)
     {
      PlaySound("ok.wav");   // सटीकता की जांच के लिए।
      NewBarRecived = true; // कई कॉल से बचने के लिए फ्लैग को अपडेट करें।

      // यहां आपका कोड ----- (कुछ करें)

     }
   else
      if(Time_Current > TimeCurrentClose)
        {
         NewBarRecived = false; // अगले बार के लिए फ्लैग को रीसेट करें।

         // यहां आपका कोड ----- (कुछ करें)

        }

   Comment("\n" +  "\n" +  "वर्तमान बार का समय -: " + TimeToString(TimePreviousBar,TIME_DATE|TIME_MINUTES|TIME_SECONDS) +
           "\n" + "वर्तमान समापन का समय -: " +TimeToString(TimeCurrentClose,TIME_DATE|TIME_MINUTES|TIME_SECONDS) +
           "\n" + "वर्तमान समय -: " + TimeToString(Time_Current,TIME_DATE|TIME_MINUTES|TIME_SECONDS) + 
           "\n" +"\n" + "एक नया बार मिला -: " + NewBarRecived); 
           // गणनाओं की जांच के लिए

  }
//+------------------------------------------------------------------+
//| टाइमर कार्य                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//---

  }
//+------------------------------------------------------------------+
//| ट्रेड कार्य                                                   |
//+------------------------------------------------------------------+
void OnTrade()
  {
//---

  }
//+------------------------------------------------------------------+
//| चार्ट इवेंट कार्य                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//---

  }
//+------------------------------------------------------------------+

 

संबंधित पोस्ट

टिप्पणी (0)