احترافية التحليل الفني في السوق السعودي

إعلانات تجارية اعلن معنا

النتائج 1 إلى 7 من 7

الموضوع: الدرس الثاني .. رموز البيانات في لغة MQL4

  1. #1

    افتراضي الدرس الثاني .. رموز البيانات في لغة MQL4

    بسم الله الرحمن الرحيم

    مرحبا بكم في الدرس الثاني ... رموز البيانات في لغة MQL4.

    ماذا نقصد برموز البيانات ؟
    اي لغة برمجية في العالم تطلق اسماء محددة (تصنف ككلمات محجوزة)على شكل الذاكرة المناسب لرمز البيانات Data المستخدمة.

    ما معنى هذا الكلام؟

    لنعطي مثالا على ذلك:

    لو ان الذاكرة تخزن الأرقام من -2147483648 الى 2147483648 , فمعظم لغات البرمجة العالمية ستطلق على رمز البيانات هذا اسم "Integer" اي عدد صحيح.

    المتغيرات Variables ؟

    هي اسماء تطلق على قطاع الذاكرة المخزن لنوع معين من البيانات.

    لنفهم أكثر سنرسم صورة عامة للموضوع كمثال:

    تخيل معي ان ذاكرة الكومبيوتر هي عبارة عن سلسلة من الصناديق مختلفة الأحجام , وحجم الصندوق هو مساحة التخزين بالبايت (وحدة البناء في الكومبيوتر)

    * لكي نستخدم صندوقا ما لنخزن به احد البيانات يجب ان نطلق عليه اسم ما , هذه العملية تسمى اعداد declaration.

    * خلال عملية الأعداد declaration نستخدم كلمة نخبر بها الكومبيوتر بنوع وحجم الصندوق المطلوب استخدامه , هذه الكلمة نطلق عليها keyword اي كلمة محجوزة تشير الى فئة معينة من البيانات .

    * بعد تحديد رمز البيان بكلمة محجوزة , عليك الأن بأختيار اسم معرف خاص للصندوق (والأفضل ان تختار اسما يدل على رمز البيان ايضا لتسهيل البرنامج) ,, مثلا حددت Integer (كلمة محجوزة معتاها عدد صحيح) لتصنيف رمز البيان , وتطلق اسما من مخيلتك وليكن مثلا files (معناها ملفات وهي كلمة اخترعتها انت) وتطلقها على الصندوق , هكذا يعرف الكومبيوتر ان يخزن ارقام صحيحة(نوع البيانات) في صندوق الذاكرة المدعو files .. وهكذا ... هذه المعرفات يطلق عليها اسم ثابت المتغيرات Variables constant.

    * الأن حددنا رمز البيانات واسم الصندوق , علينا الأن ان نضع هذه البيانات داخل الصندوق وذلك عن طريق ان ننسب assigning هذه البيانات الى هذا الصندوق (بكتابته برمجيا)

    * الأن حددنا رمز البيان في صندوقه المناسب واطلقنا معرفا ثابتا لهذا الصندوق له قيمة افتراضية هي الصفر (هنا نقول ان عملية الأعداد declaration قد تمت) .

    * عملية بدء عمل البرنامج بأدخال القيم (ادخال القيم في لغة MQL4 يكون عن طريق بيانات الأسعار القادمة من السيرفر) وتسمى هذه المرحلة ب عملية البدء initialization.

    يمكن اختصار الخطوات السابقة بمعنى أخر ايضا لوضوح الفكرة هكذا:

    متى انشأنا متغيرا (سمي متغير لتغير قيمه المستمر نتيجة تغير الأسعار المستمر مما يغير في النتائج ايضا) فنحن نخبر الكومبيوتر اننا نريده ان ينسب assigning حجم ذاكرة مخصصة (بوحدة البايت) لمتغيرنا هذه , ونظرا لأن الأرقام الصغيرة والحروف والأرقام الكبيرة لن تشغل نفس المساحة من الذاكرة , فسيسألنا الكومبيوتر عن رمز البيانات وحجم المساحة المطلوبة لتخزينها , ولهذا نشأ علم انواع البيانات في اللغات البرمجية.
    (سنحاول ان نفهم اكثر مع كثرة الأمثلة والدروس القادمة)

    على سبيل المثال , ماذا لو أخبرنا الكومبيوتر بهذا الكود :

    [PHP]int MyVaraible=0;
    [/PHP]

    معناه اننا نطلب من الكومبيوتر ان يوفر لنا حجم ذاكرة تبلغ 4 بايت(int تعني ذلك كما سيتضح في هذا الدرس) لمتغيرنا الذي اسميناه ب MyVaraibles.

    في المثال السابق استخدمنا:

    int ---------- Keyword

    int ---------- Integer data type.

    int ---------- Declaration

    MyVaraible ---------- Variable’s constant.

    =0 القيمة الأفتراضية

    (راجع الكلمات السابقة بما سبق شرحه)

    هناك انواع مختلفة من رموز البيانات :

    *اعداد صحيحة int
    *اعداد حقيقية(عشرية) double
    *حروف char
    *الوان color
    *السلسلة النصية string
    *قيم منطقية(صح وخطأ) bool
    *التاريخ datetime

    1- الأعداد الصحيحة (int) :

    الأعداد الصحيحة هي اعداد يمكن ان تبدأ بأشارتي - او + وتأخذ صور الأرقام من صفر الى 9 , ويتم حجز 4 بايت للقيمة الواحدة , وتتراوح قيمها بين -2147483648 الى +2147483648

    مثال:

    [PHP]12, 3, 2134, 0, -230[/PHP]

    ونستخدم int لننشئ متغير قيمه تكون اعداد صحيحة كما اسلفنا

    مثال:

    [PHP]int intInteger = 0;

    int intAnotherIntger = -100;

    [/PHP]

    2- الأعداد العشرية (double) :

    وهي اعداد تحتوي على كسور عشرية مثل 1.0002 عكس الأعداد الصحيحة التي لا تحتوي على فواصل.

    وهي تشبه الأعداد الصحيحة بالنسبة للأشارات ولكن اكبر في المساحة المحددة من الذاكرة لها اذ تأخذ قرابة 8 بايت.

    ونستخدم double لننشئ متغيرا عشريا

    3- الحروف (char) :

    هذه الكلمة تحتوي على 256حرف ابجدي معروف والأشارات المختلفة ولوحة الأرقام (اي انه كل ما يمثل لوحة المفاتيح لجهازك)

    القيم لهذا الرمز يجب ان توضع بين قوسين مفردين ' ' .

    مثال :

    [PHP]'a' , '$' , 'Z'

    [/PHP]

    هذا الرمز لا يأتي منفردا وانما نستخدم الرمز int السابق ذكره لننشئه .

    مثال:

    [PHP]int chrA = 'A';

    int chrB = '$';

    [/PHP]

    (لاحظ انها حروف اي انها لن تدخل في عمليات حسابية وانما فقط تخرج اسماء او ما شابه)

    لاحظ ان الكلمات المحجوزة في لغة MQL4 لا يمكن وضعها كقيمة لهذا الرمز فسيقرئها الكومبيوتر ككلمات محجوزة وليس كقيمة يتم التعامل معها , ولهذا يوجد هناك ما يسمى بالحروف الخاصة Special Characters وظيفتها اننا لو اردنا ان نطبع كلمة ما وصادف انها تشبه احدى الكلمات المحجوزة فيمكن استخدام هذه الحروف الخاصة للتمييز بينهم واخبار الكومبيوتر انها قيم وليست كلمات محجوزة.

    مثال :

    [PHP]int chrB = '\n'; //new line
    [/PHP]

    هنا طبعنا سطر جديد في نتائج البرنامج

    وهذه قائمة بالحروف الخاصة:

    [PHP]carriage return \r

    new line \n

    horizontal tab \t

    reverse slash \\

    single quote \'

    double quote \"

    hexadecimal ASCII-code \xhh

    [/PHP]

    (سيتم التعمق فيها مع الدروس القادمة لمن لم يستوعبها جيدا والكلام على كل الرموز وليس هذا فقط)

    4- الألوان (color) :

    رمز الألوان هو رمز خاص بلغة MQL4 فقط ووظيفته انه الرمز الذي يقوم بتخزين الألوان التي تظهر على الشارت من مؤشرات او شموع او حتى اكسبرتات ويتم تغييرها من الخصائص الخارجية لأي مؤشر او اكسبيرت.

    يمكننا وضع الألوان كقيم في المتغيرات الخاصة بها بثلاثة طرق يمكنك اختيار ايا منها:

    a- وضعها كأسماء الوان عادية مثل ازرق blue , احمر red ... الخ. ( وهي الطريقة الأسهل)

    b- وضعها كأرقام صحيحة ( ويمكنك ان تاتي بأرقام الأوان من اي برنامج رسم على جهازك وخاصة الفوتوشوب)

    c- بشفرتها الخاصة بلغة الميتا ( كل لون له شفرة خاصة به ويمكن ان تستمدها ايضا من الفوتوشوب)

    أمثلة لشفرات الألوان:

    [PHP]C'128,128,128' // gray

    C'0x00,0x00,0xFF' // blue

    // named color

    Red

    Yellow

    Black

    // integer-valued representation

    0xFFFFFF // white

    16777215 // white

    0x008000 // green

    32768 // green
    [/PHP]

    ونستخدم الرمز color لننشئ متغيرا لونيا

    مثال:

    [PHP]color clr1= Red;

    color clr1= C'128,128,128' ;

    color clr1=32768;

    [/PHP]

    5- التاريخ (datetime) :

    هذا الرمز خاص ايضا بلغة MQL4 ويتميز بها , وهو يخزن بيانات التاريخ والوقت .

    تخزن قيم هذا الرمز باستخدام الكلمة المحجوزة D ووضع التاريخ بعدها بين قوسين مفردين ' ' , وبين القوسين نكتب سطرا مكون من 6 اجزاء : السنة , الشهر , اليوم , الساعة , الدقيقة , الثانية .

    مثال:

    [PHP]D'2004.01.01 00:00' // New Year

    D'1980.07.19 12:30:27'

    D'19.07.1980 12:30:27'

    D'19.07.1980 12' //equal to D'1980.07.19 12:00:00'

    D'01.01.2004' //equal to D'01.01.2004 00:00:00'
    [/PHP]

    نستخدم الرمز datetime لننشئ متغيرات التاريخ والوقت.

    مثال:

    [PHP]datetime dtMyBirthDay= D'1972.10.19 12:00:00';

    datetime dt1= D'2005.10.22 04:30:00';

    [/PHP]

    6- القيم المنطقية (bool) :

    رمز المنطقية يأخذ قيمتين فقط هما صح (true) او خطأ (fulse). او نظرائهم الرقميين الصفر والواحد.

    نستخدم bool لننشئ المتغيرات المنطقية ( مثلا لو اني اعطيت لخاصية في الكسبيرت مثل ادارة راس المال القيمة true سيقوم بتشغيلها والعكس)

    مثال:

    [PHP]bool I = true;

    bool bFlag = 1;

    bool bBool=FALSE;
    [/PHP]

    7- السلسلة النصية (str) :

    هذا الرمز عبارة عن سلسلة من الحروف او النصوص تكتب بين الأقواس الثنائية " " .

    هذه السلسلة من الحروف تنفذ واحدة بعد الأخرى وبعد أخر حرف من السلسلة تأتي بعدها القيمة NULL ليتم تجاهل اي قيم تأتي بعد ذلك .

    *ما هي NULL ؟
    ** هي قيمة خاصة يتم وضعها لتحدد نهاية هذه السلسلة النصية .

    في الصورة تمثيل بسيط لسلسلة نصية " hello "

    الدرس الثاني .. رموز البيانات في لغة MQL4 نادي خبراء المال

    هذا الرمز محدد له 255 حرف وان زاد عن ذلك يطلق تحذير بوجود خطأ برمجي بزيادة عدد الحروف المسموح بها.

    نستخدم الرمز string لننشئ متغير سلسلة نصية .

    مثال:

    [PHP]string str1 = "Hello world1, with you coders guru”;

    string str2 = "Copyright © 2005, \"Forex-tsd forum\"."; //Notice the use of (") character.

    string str3 = "1234567890";

    [/PHP]


    كل مالم يتم استيعابه هنا سيتم مناقشته ثانية في دروس صناعة المؤشرات والكسبرتات
    وهناك خطة بعد هذه الدروس ان شاء الله لصنع الكسبرتات بدون ان يكون لك اي خلفية برمجية
    ولكن حتى هذا الحين فنحن ملتزمون بالجدول الزمني لعملية تطوير القسم
    في الدرس القادم بأذن الله سنتكلم عن العمليات والتعابير في لغة الميتا
    اراكم على خير مجددا
    وليد

  2. #2

    افتراضي رد : الدرس الثاني .. رموز البيانات في لغة MQL4

    السلام عليكم و رحمة الله و بركاته

    دكتور وليد ...... جزاك الله خيرا كل شىء مفهوم حتى الان و الحمد لله عدا نقطة بسيطة اريد فهمها و هى:

    1-عند ذكرك لاستخدام الرمز char قلت
    هذا الرمز لا يأتي منفردا وانما نستخدم الرمز int السابق ذكره لننشئه
    وأوردت المثال
    int chrA = 'A';

    int chrB = '$';


    ولكنى لم ار الرمز نفسه char مكتوبا بل استخدمنا int فقط

    2-هل علامة slash لها معنى معين فى المثال int chrB = '\n'; ??

    ارجوا الا اكون قد اثقلت عليك

    شريف
    لا اله الا الله وحده لا شريك له له الملك وله الحمد يحي و يميت و هو حى لا يموت بيده الخير و هو على كل شىء قدير

  3. #3

    افتراضي رد : الدرس الثاني .. رموز البيانات في لغة MQL4

    اقتباس المشاركة الأصلية كتبت بواسطة الشريف
    السلام عليكم و رحمة الله و بركاته

    دكتور وليد ...... جزاك الله خيرا كل شىء مفهوم حتى الان و الحمد لله عدا نقطة بسيطة اريد فهمها و هى:

    1-عند ذكرك لاستخدام الرمز char قلت
    وأوردت المثال



    ولكنى لم ار الرمز نفسه char مكتوبا بل استخدمنا int فقط

    2-هل علامة slash لها معنى معين فى المثال int chrB = '\n'; ??

    ارجوا الا اكون قد اثقلت عليك

    شريف
    سؤال ممتاز ياشريف

    ركز في المثال ده:

    [PHP]int chrA = '5';[/PHP]

    [PHP]int A = 5;[/PHP]

    السطرين البرمجيين حجزوا مساحة 4 بايت وخزنوا القيمة 5 في المتغير A طيب ايه الفرق؟

    السطر الأول وضع المبرمج الرمز char مع المتغير A على هده الصورة ( charA) ليطلب من الكومبيوتر ان يخرج القيمة 5 على شكله ويعتبره مجرد حرف من كلمة ولا يدخل اي عمليات حسابية (اي لا يعامله كرقم)

    اما السطر الثاني فالقيمة 5 للمتغير A تعتبر رقما ويدخل عمليات حسابية ليخرج نتائج محددة.

    .....

    بالنسبة للسؤال الثاني :

    تخيل معي الجملة دي كتنفيد لبرنامج محدد:

    Hello
    My Expert is working now

    لو لا حظت ان جملة My Expert is working now جائت في سطر جديد

    هدا الكود لأنشاء هدا السطر

    [PHP]int chrB = '\n';[/PHP]

    بالتوفيق

  4. #4

    افتراضي رد: الدرس الثاني .. رموز البيانات في لغة MQL4

    السلام عليكم ورحمة الله وبركاته
    بارك الله فبك وفي كل عزيز لديك وجعل الجنة مثواك

  5. #5

    افتراضي رد: الدرس الثاني .. رموز البيانات في لغة MQL4

    الله __ مازال فى أمتنا المخلصون . شاكرون أفضالكم

  6. #6

    افتراضي رد: الدرس الثاني .. رموز البيانات في لغة MQL4

    thanxx ya D.Waleed

  7. #7

    افتراضي رد: الدرس الثاني .. رموز البيانات في لغة MQL4

    الصراحة شرح ولا اروع. يعطيك العافية على المجهود الممتاز و الشرح الواضح

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

المواضيع المتشابهه

  1. الدرس الثاني - الميتا إديتور
    بواسطة م / أحمد سليمان في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 21
    آخر مشاركة: 07-02-2019, 09:39 PM
  2. الدرس الثاني .. النماذج الإحدى عشر (جزء 1)
    بواسطة د. وليد سليمان في المنتدى موسوعة التحليل الموجي (موجات إليوت) Elliot Waves Analysis Encyclopedia
    مشاركات: 41
    آخر مشاركة: 11-04-2014, 04:53 PM
  3. الدرس الأول .. قواعد لغة MQL4
    بواسطة د. وليد سليمان في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 24
    آخر مشاركة: 12-04-2013, 05:49 PM
  4. الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1)
    بواسطة د. وليد سليمان في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 24
    آخر مشاركة: 11-04-2013, 03:04 PM
  5. التحليل الموجي الدرس الثاني
    بواسطة WHITE SHARK في المنتدى موسوعة التحليل الموجي (موجات إليوت) Elliot Waves Analysis Encyclopedia
    مشاركات: 6
    آخر مشاركة: 30-04-2010, 11:30 AM

الكلمات الدلالية لهذا الموضوع

مواقع النشر (المفضلة)

مواقع النشر (المفضلة)

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

يعد " نادى خبراء المال" واحدا من أكبر وأفضل المواقع العربية والعالمية التى تقدم خدمات التدريب الرائدة فى مجال الإستثمار فى الأسواق المالية ابتداء من عملية التعريف بأسواق المال والتدريب على آلية العمل بها ومرورا بالتعريف بمزايا ومخاطر التداول فى كل قطاع من هذه الأسواق إلى تعليم مهارات التداول وإكساب المستثمرين الخبرات وتسليحهم بالأدوات والمعارف اللازمة للحد من المخاطر وتوضيح طرق بناء المحفظة الاستثمارية وفقا لأسس علمية وباستخدام الطرق التعليمية الحديثة في تدريب وتأهيل العاملين في قطاع المال والأعمال .

الدعم الفني المباشر
دورات تدريبية
اتصل بنا