 |
29-06-2009, 03:26 PM
|
#1 (permalink)
|
|
المدير التنفيذي للموقع الالكتروني
|
دورة تعليم لغة MQL4 (المحاضرة الثانية )
بسم الله الرحمن الرحيم
مرحبا بكم في الدرس الأول ... قواعد لغة الميتا (Syntax)
سنتكلم اليوم عن القواعد النحوية للغة MQL4
* ما معنى كلمة SYNTAX بالنسبة للغة الميتا ؟
** هي القواعد النحوية للغة من مفردات خاصة بها (الكلمات المحجوزة) لأشاراتها لأعدادتها ووضع الأوامر والشروط (الأكواد) بطريقة صحيحة برمجيا .
(قواعد اللغة العربية من مبتدأ وخبر وحروف جر ومفعول به وعلامات ترقيم وأوزان .. الخ هي ما يسمى ب SYNTAX اللغة العربية اي البناء الهيكلي للغة العربية)
وهكذا سندرس ال Syntax للغة MQL4 اي سندرس قواعدها وسنكتب اساسياتها التي تتكون من :
* التنظيم Format
* التعليقات Comments
*المعرفات Identifiers
*الكلمات المحجوزة Reserved words
الأن دعونا نتكلم عنهم بشئ من التفصيل ..
1- التنظيم Format:
متى بدأت كتابة برنامجك فلك حرية تنظيم المسافات والسطور بين اكواد واوامر برنامجك لتجعلها واضحة ومنظمة بطريقتك الخاصة ولراحتك الشخصية .
على سبيل المثال ,
كل هذه السطور البرمجية صحيحة في MQL4 رغم اختلاف تنظيمها ولكنها تؤدي نفس الغرض :
كود PHP:
double MacdCurrent, MacdPrevious, SignalCurrent;
كود PHP:
double MacdCurrent, MacdPrevious, SignalCurrent;
كود PHP:
double MacdCurrent, MacdPrevious, SignalCurrent;
ولكن كما ترى فأول سطر هو اسهلهم قراءة وأكثرهم وضوحا برمجيا.
وككل شئ في هذا العالم هناك استثناءات من هذه القاعدة :
a- غير مسموح بعمل سطر جديد في ما يسمى ب "Controlling Compilation".
سنعرف اكثر عن "Controlling Compilation" في الدرس القادم ان شاء الله , وحتى ذلك الحين تذكر فقط انها استثناء.
على سبيل المثال , السطر التالي من الكود غير مسموح به في لغة MQL4 .. وخلال عملية التجميع compile سيعطي خطأ برمجي
كود PHP:
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
اما هذا السطر فمسموح به "Controlling Compilation" :
كود PHP:
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
(لاحظ ان "Controlling Compilation" اعتبر جملة property copyright كلمة واحدة , وحين تم فصلهم في الكود الأول اخل بتوافق الجملة , وهي من الأستثناءات كما اسلفنا)
b- غير مسموح بأستخدام الفراغات space او سطور جديدة في منتصف قيم ثابتة او معرفات او كلمات محجوزة باللغة.
على سبيل المثال , هذا الكود مسموح به في لغة MQL4 :
كود PHP:
extern int MA_Period=13;
هنا كلمتا extern و int كلمتان محجوزتان في لغة MQL4 , كلمة MA_Period معرف , رقم 13 هنا قيمة ثابتة.
(سنعرف الكثير عنهم في الدروس القادمة)
الأكواد التالية غير مسموح بها في لغة MQl4:
كود PHP:
extern int MA_Period=1 3;
وايضا :
كود PHP:
ex tern int MA_Period=13;
(لاحظ اننا ليس لنا حرية استخدام الفراغات والسطور بين حروف الكلمة الواحدة فهي استثناء كما اسلفنا)
2- التعليقات Comments:
لجعل العالم البرمجي اسهل واقل تعقيدا , اي لغة برمجة لها ستايل التعليقات Comments الخاص بها.
نحن نستخدم التعليقات Comments لنضيف سطورا توضيحية لبعض اكواد البرنامج ويتم تجاهلها من قبل البرنامج خلال عمله. اي انها لا دخل لها بعمل البرنامج وانما يتم اضافتها للتوضيح فقط لأي قارئ للبرنامج.
لنفترض مثلا انك كتبت برنامجك الخاص في فصل الصيف , وجاء الشتاء واردت ان تقرأه , بدون التعليقات Comments , بالرغم من انك كاتب البرنامج الا انك لن تستطيع ان تفهم الألغاز التي كتبتها , ومن هنا نعرف اهمية التعليقات.
لغة MQL4 (وكذلك لغة ال C و ++C) تستحدم نوعين من التعليقات Comments:
a- تعليقات Comments السطر الواحد:
يبدأ تعليق Comment السطر الواحد بالعلامة // وينتهي بسطر جديد.
مثال:
كود PHP:
//This is a comment extern int MA_Period=13;
كود PHP:
extern int MA_Period=13; //This is another comment
b- تعليقات Comments الأسطر المتعددة:
يبدأ تعليق Comment الأسطر المتعددة بالعلامة * / وتنتهي بالعلامة / * .
يمكنك استخدام اكثر من سطر او اكثر بوضع * / في بداية اول سطر , و / * في نهاية أخر سطر.
مثال:
كود PHP:
/ * this is multi line comment* /
يمكنك ايضا وضع تعليق Comment السطر الواحد بداخل تعليق Comment الأسطر المتعددة .. هكذا مثلا:
كود PHP:
/ * this is multi //another comment nested here. line comment* /
هذا ايضا مسموح به في MQL4:
كود PHP:
extern int / *HELLO! I’m a comment* / MA_Period=13;
لكن هذا غير مسموح به في MQL4:
كود PHP:
extern int //test MA_Period=13;
(راجع شرط تعليق Comment السطر الواحد وكيف ينتهي)
3- المعرفات Identifiers:
المعرف Identifier هو اسم تختاره بنفسك (حتى لو كان اسمك شخصيا) لأطلاقه على المتغيرات variables والثوابت constants والوظائف functions.
على سبيل المثال , MA_Period هنا تعتبر معرف Identifier:
كود PHP:
extern int MA_Period=13;
هناك بعض القواعد والقيود لأختيار اسماء المعرفات Identifiers:
a- طول اسم المعرف Identifier لا يجب ان يتجاوز عدد حروفه 31 حرفا.
b- لابد ان يبدأ اسم المعرف Identifier بحرف او علامة _ .
وعليه لا يمكن ان يبدأ برقم او اي علامة أخرى غير _.
c- لا يمكن استخدام الكلمات المحجوزة reserved words كمعرفات Identifiers.
(سنرى قائمة بالكلمات المحجوزة reserved words قريبا)
d- المعرفات Identifiers حساسة جدا لحالة الأحرف.
مثلا MA_PERIOD مختلفة تماما عن ma_period او MA_Period.
سنأخذ بعض الأمثلة للمعرفات Identifiers:
كود PHP:
Name1 مسموح _Name1 مسموح 1Name غير مسموح (لا يمكن ان يبدأ برقم ) ~Name1 غير مسموح (لا يمكن ان يبدأ برقم او اي علامة أخرى غير _.) N~ame1 غير مسموح (لا يمكن ان يبدأ برقم او اي علامة أخرى غير _.) i_love_my_country_and_my_country_loves_all_the_world غير مسموح ( لا يجب ان يتجاوز عدد حروفه 31 حرفا) Color مسموح color غير مسموح (لا يمكن استخدام الكلمات المحجوزة و color كلمة محجوزة)
- الكلمات المحجوزة Reserved words:
هي كلمات خاصة تستخدمها لغة MQL4 في تنفيذ اوامر محددة خاصة باللغة,
ولا يمكن استخدامها كمعرفات او اي اعمال برمجية أخرى (غير المخصصة لها).
وهذه قائمة بالكلمات المحجوزة Reserved words:
وعلى سبيل المثال , هذه الأكواد غير مسموح بها في MQL4:
كود PHP:
extern int datetime =13; int extern =20; double continue = 0;
في الدرس القادم بأذن الله سنتكلم عن انواع البيانات في لغة MQL4
اراكم على خير مجددا
وليد
|
|
|
|
الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
|
|
|
(عرض الكل)
الاعضاء الذين شاهدو هذا الموضوع: 72
|
|
abdullah_oudat, ماهر العمر, ADHAM, ahah, Ahmed M.Bahget, ahmedfarouk, محمد القلعاوى, algerianman, alithepipe, alshreef2005, ana sayed, ashrafsm, مهدى كريم, bellura2001, booksguy, cadecortx, العابد7, ابوخالد, cocowasabanga, DJAT, eg_hawk, ehab khfagy, elhou1981, بن جحلان, falcon_1, genedy, gooogle70, hany_elkoptan, hasan, hluvr, جمال بسيس, حاتم اسماعيل, ياسر, حسين الصائغ, jalatifjalatif, java4man, jimmy1234, king alx, laith_r, lindoeforex, M!Ss.Do3n, mahdi_zahran, Mandour, mazennafee, mhemam2005, mohamed fawzy, mohands_moslim, Monostar, mood1982, MR.S, msa, nader_ph, one77, oudathothefa, زهور احمد, pghdad_1, raid, ralph kabota, rugood, saly, sam_samir3, shalabo76, soma1970, tamergad, tarek7oot, Tato4all, عــيــنــاوي, waheed1961, waleed elzelaky, فيجيتا, هاشمية
|
| أدوات الموضوع |
|
|
| انواع عرض الموضوع |
العرض العادي
|
تعليمات المشاركة
|
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك
كود HTML معطلة
|
|
|
| عزيزي العضو/الزائر.. نحيطك علماً بأن مواضيع المنتدى لاتمثل رأي الإدارة وإنما تمثل رأي كاتبها. |
|