متغیرها در برنامهنویسی را میتوان مانند ظرفی با یک نام در نظر گرفت که در داخل آن اطلاعاتی ذخیره میشوند. انواع متغیر در اکسپرتنویسی برای برچسب زدن به دادهها و تعریف نامی برای آنها استفاده میشود. بنابراین، استفاده از آنها در برنامهنویسی منجر به وضوح و سادهتر شدن درک کدها و بهبود خوانایی آنها توسط برنامهنویس و سایر افرادی میشود که به هر دلیلی نیاز به خواندن کدها دارند.
متغیر در برنامهنویسی یک قطعه نامگذاری شده در حافظه کامپیوتر است که دادهها در آن قابل ذخیرهسازی هستند. هر متغیر در برنامهنویسی معمولاً دارای یک نوع داده (Data Type) خاص است. برای ساخت اکسپرتهای سودده در بازار فارکس ابتدا باید با متغیرها آشنا شوید. در واقع ما باید دادههایی مثل قیمت، حدضرر، حدسود و… را ذخیرهسازی کنیم تا بتوانیم عملیات مدنظر را روی آنها اعمال کنیم، که متغیرها به این منظور استفاده میشوند.
مقدار متغیر = اسممتغیر نوعمتغیر
ابتدا باید نوع متغیر را مشخص کنید. سپس یک اسم دلخواه انتخاب کنید. (ترجیحا مرتبط با کاری که میخواهید انجام دهید، زیرا که موقع استفاده بدانید برای چه آن متغیر را ساختهاید) پس از نوع و اسمی که انتخاب کردید مساوی قرار داده و مقداری که میخواهید ذخیره شود را مینویسید.
برای انتخاب اسم متغیرها نکات زیر را باید رعایت کنیم:
در ادامه انواع متغیر را توضیح خواهیم داد. ولی ۶ مورد اول بیشترین استفاده را در برنامهنویسی MQL دارد.
int -1
مخفف Integer است. این متغیر ظرفی است که میتوانیم فقط اعداد صحیح در آن قرار دهیم.
1. در همانجا که تعریف کردیم مقدار دهیم.
;int stoploss=20
2. میتوانیم ابتدا تعریف کنیم و سپس در جای دیگر مقداردهی کنیم.
;int stoploss
;stoploss=20
double -2
در این ظرف ما میتوانیم علاوه بر اعداد صحیح، اعداد اعشاری هم بریزیم.
;double price= 15.5
bool -3
مخفف boolean است. این ظرف فقط میتواند دو حالت داشته باشد و زمانی استفاده میشود که میخواهیم بگوییم یک چیزی یا درست یا غلط است. (در زبان برنامهنویسی یا 0 است یا 1) و با true و false مشخص میکنیم.
;bool signal=false
;signal = true
وقتی یک مقدار true است، لزوما نباید آن مقدار برابر با یک باشد بلکه هر مقداری به غیر از صفر برابر با true است. بیشترین استفاده این متغیر در شرطها است و میتوان به چند شکل از آنها استفاده کرد.
برای مثال در ابتدا یک متغیر از نوع int تعریف میکنیم و سپس در شرط استفاده میکنیم.
;int ticket=225650
if(ticket==true)
;Comment(“The position is open”)
else if(ticket==false)
;Comment(“The position is not open”)
همین شرط را میشود به شکل زیر هم نوشت و هر دو صحیح هستند.
;Comment(“The position is open”)
else if (!ticket)
;Comment(“The position is not open”)
نوع داده bool زیرمجموعه integer type است.
اگر ما از توابعی که خروجی integer دارند از شرط if استفاده کنیم و خروجی آن برابر با صفر بود مقدار false را به خروجی میدهد و اگر آن مقدار غیر صفر بود مقدار true را به ما نشان میدهد.
نکته: دادههای اعشاری هم اگر غیر صفر باشند مقدار true خواهد بود.
string -4 یا char
string password = “ahmad@125” ;
ظرفی است که اصطلاحا به آن رشته میگویند و در برنامهنویسی داخل ” ” قرار میگیرد. از 0 تا 255 کاراکتر میتوانیم داخل آن بریزیم و این کاراکترها میتواند شامل حروف و عدد و علامت و … باشد.
تفاوت char با string در این است که char یک حرف و string مجموعه ای از حروف است و جملات است. در نوع char تنها امکان ذخیرهسازی یک کاراکتر واحد وجود دارد.
color -5
یک: اسم رنگ (color name)
راحتترین شکل استفاده از رنگها استفاده از اسم رنگ است؛ فقط در ابتدا clr را مینویسیم و سپس اسم رنگ را مینویسیم.
;color a =clrRed
;color b = clrYellow
;color c = clrGreen
این رنگها را شما میتوانید از کتابخانه خود mql ببینید و کپی کنید.
دو: RGB
کافیه سه رنگ اصلی قرمز، سبز و آبی را داشته باشیم و به شکل زیر رنگ دلخواهمان را استفاده کنیم.
color candle =C’49,33,139′ ;
از برنامهای مثل (paint) رنگ قرمز، سبز و آبی دلخواهتان را بدست بیاورید.
Datetime -6
ما در این متغیر زمان را قرار میدهیم و به شکل زیر میتوانیم استفاده کنیم.
datetime a=D’2021.01.08 13:08:30’ ;
نکته: اگر مثلا ساعت 13 بنویسیم خودش مقدار دقیقه و ثانیه را صفر میگذارد ولی تاریخ را نمیشود خالی گذاشت.
7- null
متغیر «null» به معنی خالی یا همان پوچ است. در اکثر زبانهای برنامه نویسی از null به عنوان ابراز عدم وجود مقدار برای یک متغیر یا موجودیت دیگر استفاده میشود. null به این معنی است که متغیر مربوطه به هیچ مقدار یا شیئی اشاره نمیکند.
Ask : نوع داده از نوع double است و آخرین قیمت فروشندگان را نشان میدهد. اگر شما بخواهید خریدی انجام بدهید باید از آخرین قیمتی که فروشندگان پیشنهاد میدهند استفاده کنید.
Bid : نوع داده از نوع double است و آخرین قیمت خریداران را نشان میدهد. شما میتوانید به قیمتی که خریداران پیشنهاد میدهند فروش انجام بدید.
Bars: نوع داده از نوع int است و تعداد بارها (کندلها) در چارت فعلی را نشان میدهد.
Digits: نوع داده از نوع double است و تعداد اعداد بعد از میز قیمت ارز جاری را نشان میدهد.
Point : مقدار پیپ یا پیپس (بستگی به بروکر دارد) را نشان میدهد.
معمولا دامنه یک متغیر با یک بلوک (Block) مشخص میشود. یک بلوک میتواند در بعضی از زبانهای برنامهنویسی صراحتا با استفاده از مشخص شدن شروع و پایان ( Begin/End) آن مثلا به وسیله { } مشخص شود. این در حالی است که در برخی زبانهای برنامهنویسی دیگر، بلوکها بصورت ضمنی در نظر گرفته میشوند. برای مثال، تابع در برنامه نویسی یک بلوک به حساب میآید.
متغیرها را میتوان به دو نوع محلی ( Local Variable) و سراسری (Global Variable) تقسیم کرد. متغیرهای سراسری در قسمتی از برنامه تعریف میشوند که امکان استفاده از آنها در کل کدهای برنامه وجود داشته باشد. از طرف دیگر متغیر محلی فقط در یک محدوده خاص از برنامه و داخل یک بلوک قابل استفاده است. متغیرهای سراسری در خارج از بلوک تعریف شدهاند، یعنی در محدوده سراسری متغیرها هستند. اما متغیرهای محلی در یک بلوک با داشتن محدوده شروع و پایان تعریف میشوند و فقط در آن بلوک معنی دارند و اگر خارج از بلوک مورد استفاده قرار گیرند خطا ایجاد میکنند.
طول عمر متغیر به این معناست که متغیر تا چه زمانی در برنامه وجود دارد. بطور مثال متغیر سراسری در ابتدای برنامه و خارج از هر بلوکی تعریف شده و تا انتهای برنامه فعال است و میتواند مورد استفاده قرار گیرد. اما متغیر محلی دقیقا پس از شروع بلوک و در داخل بلوک ایجاد میشود و تا زمانی فعال است که بلوک خاتمه یابد.
جمع بندی: متغیرها نقش اصلی در برنامه نویسی MQL و اکسپرتنویسی را دارند. و برای تبدیل استراتژیهای خود به اکسپرتهای فارکس لازم است اکسپرتنویسی را مسلط باشید.
اگر مایل هستید اکسپرتنویسی را صفر تا صد یاد بگیرید ما در دوره مقدماتی اکسپرتنویسی این آموزشها را ساده و رایگان در اختیار شما قرار دادهایم. آموزشها را شروع کنید و استراتژی خود را تبدیل به اکسپرت کنید.
ما در بورس۹۰ آموزشهای تخصصی در زمینهی اکسپرتنویسی و ابزارهای معاملاتی ارائه میدهیم و به کاربران کمک میکنیم تا با استفاده از استراتژیهای خودکار، عملکرد بهتری در معاملاتشان داشته باشند.