برای درک بهتر متغیر و انواع آن در ربات نویسی mql5 به این مثال توجه کنید .اگر بخواهیم شخصی را به جمعی معرفی کنیم .لازم است کسی آن شخص را به دیگران معرفی کند تا همه او را بشناسند و برای آن جمع غریبه محسوب نشود. در برنامه نویسی هم ضروریست متغیرهایی را معرفی کنیم تا کلیه ی اجزای برنامه و نرم افزار آن را بشناسند.
متغیرها در برنامه نویسی را میتوان مانند جعبهای با یک نام در نظر گرفت که در داخل آن اطلاعاتی ذخیره میشوند. به هر اندازهای که در برنامه نیاز باشد، میتوان متغیرها را ایجاد، ویرایش و حذف کرد. که نمایش منطقی و اندازه (Size) آنها را مشخص میکند.
متغیر در ربات نویسی راهی برای مشخص کردن دادهها و تعریف نامی برای آنها به حساب میآید. استفاده از متغیرها در برنامه نویسی به سادهتر شدن درک کدها و بهبود خوانایی آنها توسط برنامه نویس میشود.

انواع داده رایج متغیرها
- integer: متغیر «Integer» و یا همان «Int» برای تعریف نوع دادههای عدد صحیح مورد استفاده قرار میگیرد. در این نوع از دادهها، تنها اعداد صحیح مثبت و منفی قابل ذخیرهسازی هستند .
- null: عبارت «null» به معنی خالی یا همان پوچ است. در اکثر زبانهای برنامه نویسی از null به عنوان ابراز عدم وجود مقدار برای یک متغیر یا موجودیت دیگر استفاده میشود. null به این معنی است که متغیر مربوطه به هیچ مقدار یا شیئی اشاره نمیکند.
- char یا string: در نوع دادهای کاراکترهای یونیکد (Unicode)، حروف و کلمات قرار میگیرند. نوع دادههایی که به صورت کلمه و جمله هستند، «string» . همچنین دادههای متشکل از حروف را «char» میگوییم. char یک حرف و String مجموعهای از حروف یا کلمات است. در نوع char تنها امکان ذخیرهسازی یک کاراکتر واحد وجود دارد.
- bool:متغیر «bool» یا «Boolean»، یک نوع داده منطقی به حساب میآید که تنها دو مقدار صفر و یک را در برمیگیرد که به معنی صحیح (True) یا ناصحیح (False) بودن آن متغیر است.
- color:این متغیر برای ذخیره اطلاعات مربوط به رنگ در نظر گرفته میشود.
- datetime: برای ذخیره اطلاعات مربوط به تاریخ و زمان.