دانلود رایگان اکسپرت NovaBarra
دانلود رایگان اکسپرت NovaBarra

دانلود رایگان اکسپرت NovaBarra

تشخیص شروع کندل جدید در متاتریدر 4 با استفاده از اکسپرت 🕒📈

اگر شما هم در بازار فارکس یا معاملات دیگر فعالیت می‌کنید، احتمالاً می‌دانید که تشخیص لحظه شروع یک کندل جدید یکی از ابزارهای کلیدی برای اکسپرت‌ها (EA) است. در این مقاله، به ساده‌ترین و کاربردی‌ترین روش این کار در متاتریدر 4 و حتی متاتریدر 5 می‌پردازیم.

🔹 چرا نیاز به تشخیص کندل جدید داریم؟

برای یک اکسپرت، هر بار که یک تیک (Tick) جدید وارد شود، ترمینال متاتریدر به‌طور پیش‌فرض تابع OnTick() را فراخوانی می‌کند.

اما نکته مهم اینجاست که هیچ تابع پیش‌فرضی برای شروع یک بار یا کندل جدید وجود ندارد. بنابراین، اگر بخواهیم به محض باز شدن کندل جدید عملیاتی انجام دهیم، باید خودمان این تغییر را شناسایی کنیم.

اندیکاتور اسکالپ طلا سیف ترید

فروش اکانت ChatGPT

 

🔹 روش تشخیص شروع کندل جدید 🕵️‍♂️

بهترین روش، پیگیری زمان باز شدن آخرین کندل فعلی است. زمانی که این مقدار تغییر کند، به معنای شروع یک کندل جدید است و می‌توان برای آن برنامه‌ریزی کرد.

سفارش اکسپرت و ربات تریدر

کد نمونه‌ای که در ادامه آمده، هم در MQL4 و هم در MQL5 قابل استفاده است و این امکان را فراهم می‌کند:

static datetime lastBarTime = 0;  // متغیر static برای ذخیره زمان باز شدن کندل
if (Time[0] != lastBarTime) {
    lastBarTime = Time[0];        // آپدیت زمان کندل
    // اینجا می‌توانید کدهای دلخواه خود را اجرا کنید
}


// Standard tick event handler
   void OnTick()
   {
      // Check for a new bar (compatible with MQL4 and MQL5).
         static datetime dtBarraCorrente   = WRONG_VALUE;
                datetime dtBarraPrecedente = dtBarraCorrente;
                         dtBarraCorrente   = iTime( _Symbol, _Period, 0 );
                bool     bEventoBarraNova  = ( dtBarraCorrente != dtBarraPrecedente );

      // React to the event of a new bar and deal with the situation.
         if( bEventoBarraNova )
         {
            // Detect if this is the first tick received and deal with the situation.
               /* For example, when it is first applied to the graph and
 the bar is somewhere in the middle of its progress and
 is not really the start of a new bar. */
               if( dtBarraPrecedente == WRONG_VALUE )
               {
                  // Do something on the first tick or in the middle of a bar ...
               }
               else
               {
                  // Do something when a normal bar appears ...
               };

            // Do something independent of the previous condition ...
         }
         else
         {
            // Do something else ...
         };

      // Do other things ...
   };

 

🔹 نقش متغیر Static ⚡

متغیر static به ما این امکان را می‌دهد که زمان باز شدن کندل فعلی را حتی پس از خروج از تابع OnTick() حفظ کنیم. بر خلاف متغیرهای محلی معمولی، داده‌های این متغیر پس از خروج از تابع پاک نمی‌شوند و همین نکته کلیدی، تشخیص تغییر کندل را ممکن می‌کند.

🔹 نکته مهم هنگام نصب اکسپرت 🛠️

زمانی که اکسپرت برای اولین بار روی نمودار قرار می‌گیرد، کد به‌صورت پیش‌فرض واکنش نشان می‌دهد انگار که کندل تازه باز شده است. اگر قصد دارید این حالت را متفاوت مدیریت کنید، باید این شرایط را به‌صورت ویژه در برنامه خود لحاظ کنید.

🔹 دسترسی به کدها 💻

تمام کدهای منتشرشده در CodeBase اکنون در تب Public Projects در MetaEditor با نام FMIC در دسترس هستند. می‌توانید به راحتی آن‌ها را دریافت کرده و در اکسپرت خود استفاده کنید.

تشخیص شروع یک کندل جدید، یکی از پایه‌های مهم طراحی اکسپرت‌ها است. با استفاده از پیگیری زمان باز شدن کندل و متغیر static، می‌توان به راحتی این رویداد را شناسایی کرد و برنامه‌های معاملاتی خود را دقیق‌تر و هوشمندتر کرد.

با سپاس از همراهی شما کاربر عزیز، لطفا جهت بهبود مطالب سایت و بالارفتن کیفی مطالب سایت هوش فعال نظر خود را در خصوص مقاله فوق در بخش نظرات همین پست ثبت نمایید
از همکاری صمیمانه شما سپاسگزارم

شیوه کامپایل گرفتن فایل های اکسپرت و ایجاد فایل اجرایی برای اجرای اکسپرت در متاتریدر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دانلود رایگان اکسپرت DVD Level برای متاتریدر 5 🎯 یک ربات معاملاتی هوشمند بر پایه‌ی تحلیل میانگین‌های متحرک (EMA) مقدمه: اکسپرت...
DVD Level
⭐ اکسپرت MTC Combo برای متاتریدر 5 ترکیب هوشمند سیستم معاملاتی پایه + شبکه عصبی برای ساخت یک ربات قدرتمند در دنیای...
MTC Combo
🟦 معرفی کامل اکسپرت Exp_GTakeProfit در متاتریدر 5 اکسپرت Exp_GTakeProfit یکی از کاربردی‌ترین ابزارهایی است که تریدرها برای مدیریت سود کلی...
Exp_GTakeProfit
اندیکاتور WPR with CCI برای متاتریدر 5 ابزاری حرفه‌ای برای بررسی هم‌زمان روند و مومنتوم بازار 📊🔥 اگر به دنبال...
WPR with CCI
🎯 معرفی کامل اندیکاتور USDX_Slope در متاتریدر 5 تحلیل هوشمند روند بر اساس مقایسهٔ USDX و Slope Direction Line اندیکاتور USDX_Slope یکی...
USDX_Slope
📘 معرفی کامل اندیکاتور Dynamic Trend MTF برای متاتریدر 5 اندیکاتور Dynamic Trend MTF یکی از ابزارهای کاربردی در تحلیل تکنیکال فارکس...
Dynamic Trend