متغیرها
درس اول – بخش تئوری
در ابتدا به تعریف متغیرها می پردازیم. به عنوان تشبیه متغیرها مانند ظرف می باشند که متناسب با نیاز از آن ها استفاده می کنیم. همانگونه که ظرف ها دارای انواعی از قبیل: بشقاب، کاسه، لیوان، قاشق و غیره هستند. متغیرها هم انواع مختلفی دارند. یعنی ابتدا باید نوع متغیر مورد نیاز و سپس نام و مقدار آن را انتخاب نماییم.
تعریف متغیرها در برنامه نویسی عبارت است از: مکانی در حافظه که دارای ۳ شاخصه می باشد:
- مشخصه اول: نوع
- مشخصه دوم: نام
- مشخصه سوم: مقدار
به طور خلاصه فرمول زیر تشکیل می شود.
; مقدار متغیر = نام متغیر
; int name = 56
حال با کد بالا توانستید متغیری را بسازید.
انواع متغیرها (data Type )
متغیرها در mql انواعی دارند در این بحث تنها به آموزش ۶ مورد می پردازیم. سایر موارد را در بخش تکمیلی خواهیم پرداخت.
-
متغیرInteger (int) :
عدد صحیح می باشد. (عدد صحیح، عدد بدون اعشار می باشد.
-
متغیر Floating-point number (double):
در این متغیر می توان اعداد اعشاری را قرار داد. (اعداد اعشاری اعدادی هستند که برای نمایش مقادیری به کار میروند که اعشار را با نقطه نمایش میدهیم. اعداد بعد از نقطه را اعداد اعشاری می گویند.) مانند دستور زیر:
; double a = 12.111
; double b = -956.1007
; double c = 0.0001
; double d = 16
-
متغیرBoolean (bool) :
- مقداری است که می تواند صفر و یک را بگیرد. بولین چیزی شبیه بود و نبود، خاموش و روشن و درست و غلط می باشد.
- اگر 0 باشد نادرست و اگر 1 باشد درست.
- اگر false باشد نادرست و اگر true باشد درست
-
متغیر String (string) رشته ها:
رشته یک سری حروفی است که بین ” ” (دابل کوتیشن) می باشد. چنانچه بخواهید متغیری از نوع string بسازید به دستورهای زیر دقت نمایید.
; “string a=”This is a character string
; “string b = “this line with LF symbol \n
“string c= “1234567890
; “string d= “&/(gf)+35
; ” ” =string e
-
متغیر Color (color) رنگ:
برای نحوه مقدار دهی رنگ، سه روش وجود دارد:
روش RGB : روش وارد کردن دقیق مقادیر رنگ می باشد ابتدا کارکتر c بزرگ انگلیسی را تایپ کرده و سپس علامت سینگل کوتیشن ‘ ‘ و سه مقدار رنگ مشخص می شود که بین آنها (،) قرار می گیرد. روش RGB تشکیل شده از: مقدار اول قرمز، مقدار دوم رنگ سبز و مقدار آخر رنگ آبی می باشد. که از ترکیب آنها رنگ مورد نظر ساخته خواهد شد. به عنوان مثال:
خاکستری ; color a= C’128,128,128
برای به دست آوردن عدد رنگ ها می توان وارد برنامه piant بشوید از گزینه edit colors رنگ دلخواه را انتخاب و در قسمت پایین مقدار رنگ ها را یادداشت کنید.
نوع دیگری که می توان بر اساس آن رنگ تعیین کنید بر اساس مقادیر hexadecimal هستند در این روش قبل از هر یک از مقادیر RGB باید ‘0x’ را اضافه کنیم. در بخش های تکمیلی به تفصیل آن می پردازیم. به عنوان مثال:
آبی ; ‘ color b= C’0x00,0x00,0xFF
روش color names : روش ساده تری نیز وجود دارد که نام رنگ مورد نظر را وارد کنید. همانگونه که در مثال مشاهده می کنید نام متغیر با clr شروع می شود و بعد از آن کارکتر اول هر کدام از کلمات با حرف بزرگ نوشته می شود :
قرمز ; color a= clrRed
زرد ; color b= clrYellow
سیاه ; color c= clrBlack
در زبان MQL تعدادی از رنگ ها به صورت از پیش تعریف شده هستند که با عنوان Web-colors شناخته می شوند. می توانید نام هر رنگ را کپی و در متغیر وارد نمایید.
چنانچه وارد سایت https://adobe.com بشوید می توانید رنگ دلخواه را انتخاب کنید که همزمان هم RGB و هم HXE به شما نمایش می شود.
روش hexadecimal : به صورت کامل کد رنگهای RGB را بر مبنای decimal و یا hexadecimal استفاده می کنیم. به عنوان مثال :
سفید ; color a= 0xFFFFFF
سبز ; color b= 0x008000
-
متغیر Datetime (datetime) :
برای ذخیره کردن زمان و تاریخ می باشد. مانند مثال های زیر دستور را وارد می کنیم. باید دقت کنید در اینجا مانندمتغیر color از تک کوتیشن استفاده می شود.
; ‘ datetime a=D’2018.01.01 00:00
; ‘ datetime b=D’1980.07.19 12:30:27
در تاریخ ابتدا سال، ماه و روز را وارد می کنید سپس فاصله و زمان را قرار می دهید. چنانچه ثانیه را وارد نکنید معادل صفر خواهد و بود و تنها دقیقه لحاظ می شود. همانگونه که دقت می کنید در مثال زیر تاریخ به صورت برعکس وارد شده است.
; ‘ datetime c=D’19.07.1980 12:30:27
می توانید فقط ساعت را بدون دقیقه و ثانیه وارد کنید. که دقیقه و ثانیه معادل صفر خواهد بود.
; ‘ datetime d=D’19.07.1980 12
درس اول – بخش عملی
جهت کد نویسی ابتدا گزینه new را انتخاب و از پنجره MQL Wizard گزینه script را کلیک کنید.
با انتخاب گزینه next نام دلخواه را وارد نمایید با انتخاب گزینه finish وارد فضای برنامه خواهید شد.
همانگونه که مشاهده می کنید فضای نمایشی برنامه بسیار بزرگ می باشد برای تنظیم محیط نمایشی می توانید از نوار سربرگ گزینه tools گزینه option را انتخاب کنید.
در پنجره نمایشی می توانید سایز و نوع فونت را به دلخواه تنظیم کنید.
دستورات در بلوک اشاره شده قرار می گیرند. به عنوان نمونه دستور int num1=50; را وارد می کنیم. دقت نمایید بعد از int حداقل یک فاصله قرار بگیرد.
اینک دستور ;() Comment راورد می کنیم. دقت داشته باشید که هر آنچه داخل پرانتز قرار بگیرد در قسمت بالا نمایش می شود.
دستور nam1 را داخل پرانتز قرار دهید و اینتر را کلیک می کنید دستور پذیرفته می شود زیرا در قسمت بالا تعریف شده است. در نهایت compile را انتخاب نمایید.
در قسمت پایین برنامه عبارات 0 error(s), 0warning(s), complie time: 523 msec نمایش می شود که همواره باید چنین عباراتی به معنای عدم خطا در دستور نویسی نمایش شود.
اگر داخل فضای برنامه بروید و عبارت class1 (نام تعریف شده توسط کاربر) را درگ کنیم به داخل برنامه عدد 50 نمایش می شود.
اینک می توانیم دستورات آموخته شده در قسمت تئوری را یکی یکی وارد نماییم.
همانگونه که مشاهده می کنید بعد از کلیک دکمه compile گزارش، صفر خطا را نمایش می دهد که به معنای درستی کدنویسی می باشد.
جهت زیبایی کدنویسی می توان با فاصله دادن تمام کدها در یک ردیف تراز کرد.
شایان ذکر است که شما می توانید با وارد کردن int در ابتدای کدنویسی، سایر کدها را با کاما جدا کرده و در یک راستا پشت سر هم قرار بگیرند.
با وارد کردن کد int num5; سیستم در description اخطاری را نمایش می دهد که به معنای اشغال حافظه، بدون ورود اطلاعات.
در قسمت line مخاطب را راهنمایی می کند که خطای ایجاد شده در کدام قسمت می باشد.
کامنت نویسی از جمله موارد بسیار مهم در کدنویسی است چرا که بعد از گذر زمان ممکن است کدهای نوشته شده فراموش شوند یا در کارگروهی کامنت گذاری جهت سهولت در ادامه کار کمک شایانی می کند.
دو روش در کامنت گذاری وجود دارد. با قرار دادن // جلوی کد سبب می شود برنامه عبارات بعد از // را نخواند و شما به راحتی مطلبی را به زبان انگلیسی یا فارسی قرار دهید.
روش دوم چنانچه بخواهید مجموعه ای از کدها را به حالت ناخوانا در بیاورید بالای سطر موردنظر علامت */ را قرار دهید و در سطر پایین آن نیز /* اما به حالت برعکس بگذارید کل مجموعه وسط دو علامت، به حالت کم رنگ و ناخوانا می شوند.
منبع : کتاب آموزش زبان MQL (دوره مقدماتی)
مدرس : استاد حسین احمدی
پاسخها
درود بر شما عالی بود.کامل ساده و راوان.
عالی بود. کارتون عالیه
ممنون از لطف و نظرتون