شهادة المحلل الفنى المعتمد CFTe1 - مستوى أول

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

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

الموضوع: الدرس الثامن .. بيانات ما قبل المعالجة

  1. #1

    افتراضي الدرس الثامن .. بيانات ما قبل المعالجة

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

    مرحبا بكم في الدرس الثامن ... بيانات ما قبل المعالجة في لغة MQL4

    ماذا نعني بهذه البيانات ؟

    هذه البيانات هي تعليمات يقوم المبرمج بتزويدها للمجمع compiler ليقوم بحفظها كما هي قبل معالجة الكود .

    بمعنى اخر , خلال عملية التجميع compile (راجع مقدمة الدروس) يقوم المجمع compiler بتحويل برنامجك (بعد انتهائك منه) من لغتنا البشرية الى لغة الألة (الواحد والصفر) ليقوم بعمله .

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

    هذه البيانات وتسمى preprossesors ( اي قبل المعالجة ) تقوم بهذه الوظيفة .

    مثال :

    [PHP]#include <win32.h>[/PHP]

    هذا الأمر( كما سنعرف لاحقا) يقوم بأخذ محتويات الملف win32.h (ملف به عنوانك مثلا) ووضعه داخل البرنامج دون تغيير فيه , فقط يقوم بفتح محتوياته داخل البرنامج ايا كانت .

    هناك 4 انواع من هذه البيانات في لغة MQL4 :

    1- بيان التعريف define directive :

    وهو الأمر الذي ينتج ثابت ما ..

    لا حظ الفرق بين المتغير والثابت فالأول يأخذ قيم متغيرة طوال الوقت سواء من المبرمج او المستخدم او الشارت , اما الثابت فهو ذو قيمة محددة لا تتغير ابدا .

    مثال :

    [PHP]#define my_constant 100

    [/PHP]

    كما تلاحظ في المثال اعلاه لا توجد علامة المساواة ( = ) فقط فراغ space بين اسم الثابت (my_constant ) وبين قيمته ( 100 )

    كما يمكنك ان تلاحظ ايضا عدم انتهاء الجملة بأي من علامات الترقيم مثل الفاصلة المنقوطة مثلا ; . وانما انتهت بمجرد انتقالنا الى سطر جديد في البرنامج .

    اسم الثابت يخضع لجميع القواعد الخاصة التي تعلمتها الخاصة بتسمية المعرفات ( راجع درس ال SYNTAX ) , مثلا لا يمكنك ان تبدأ برقم او تزيد عدد الأحرف اكثر من 31 حرف مثلا .

    يمكنك ان تضع اي قيمة تريدها من اي نوع لهذا الثابت في البداية .

    ان استخدمته في كود ما سيتامل معه البرنامج كقيمة ثابتة كما تمت كتاتها .

    وهكذا يمكن كتابته على النحو التالي :

    [PHP]sum = constant1 * 10;

    [/PHP]

    2- بيان الملكية property directive :

    هل تتذكرون عبارة “Controlling Compilation” السابق ذكرها في الدرس الأول وأخبرتكم وقتها ان شرحها سيأتي لاحقا .

    حسنا , هي احد خواص لغة MQL4 التي تسمح لك بوضع البيان ( prperty ) وامامه اي جملة ( او قيمة ) وسيخرجها المجمع compiler كما هي في ملف البرنامج المستخدم من قبل الألة ( ex4. ) .

    امثلة :

    [PHP]#property link "http://www.forex-tsd.com"

    #property copyright "Anyone wants to use"

    [/PHP]

    وهذه قائمة بمعرفات هذا البيان :

    الدرس الثامن .. بيانات ما قبل المعالجة نادي خبراء المال

    3- بيان الإحتواء include directive :

    عندما تخبر البرنامج بالأمر (include) لملف خارجي ما , فكأنك تماما تقوم بنسخ محتويات هذا الملف داخل سطر ( include ) داخل البرنامج .

    مثال :

    [PHP]#include <win32.h>

    [/PHP]

    في المثال اعلاه انت اخبرت الكومبيوتر بفتح الملف (win32.h) وقراءته ونسخ محتوياته داخل جملة ( include ).

    حسنا , ما معنى القوسين < > في المثال اعلاه ؟

    هما لتحديد مكان الملف المراد قراءته ( win32.h ) , وهنا القوسين < > يحددان المكان (المجلد) الإفتراضي لأي ملف داخل الميتاتريدر على هذا الأمتداد : (metatrader 4\experts\include) .

    طيب ماذا لو كان الملف المراد قراءته في مكان أخر ؟

    لو كان في نفس مجلد البرنامج , نضع اسمه مباشرة بين العلامتين " " .

    مثال :

    [PHP]#include “mylib.h”

    [/PHP]

    ولو كان في مجلد أخر ( مثلا داخل مجلد D:\books ) نضع اسمه هكذا :

    [PHP]#include “D:\books\mylib.h”

    [/PHP]

    وفي جميع الحالات ان لم يجد البرنامج الملف في مكانه سيقوم بإصدار رسالة ( error ) اي خطأ في البرنامج .

    يمكننا استخدام الأمر ( include ) في اي سطر من البرنامج ولكن جرت العادة ان يكون في رأس البرنامج .

    4- بيان الإستيراد import directive : (هذا الأمر للقراءة وهو للمتخصصين فقط )

    هو يشبه تماما الأمر السابق ( include ) من حيث جلبه لملف خارجي .

    ولكنه يختلف عنه في نوع الملف , فهو يقوم بقراءة الملفات ذات الأمتدادات ( dll. ) و ( ex4. ) لوضعها داخل اكواد البرنامج .

    مثال :

    [PHP]#import "user32.dll"

    int MessageBoxA(int hWnd,string lpText,string lpCaption,

    int uType);

    int MessageBoxExA(int hWnd,string lpText,string lpCaption,

    int uType,int wLanguageId);

    #import "melib.ex4"

    #import "gdi32.dll"

    int GetDC(int hWnd);

    int ReleaseDC(int hWnd,int hDC);

    #import

    [/PHP]

    متى ادخلت دوال خاصة بملف ( ex4 ) فلن تحتاج ان تقوم بإعداداها declaration داخل البرنامج الأصلي.

    لكن متى ادخلت دوال من ملف ( dll ) فيجب عليك اعداداها اولا داخل البرنامج الأصلي ( وذلك لأختلاف اللغة فقد يكون الملف مصدره لغة ال C مثلا فيجب وقتها ان توافق بين اللغتين )

    مثال :

    [PHP]int MessageBoxA(int hWnd,string lpText,string lpCaption,

    int uType);

    [/PHP]

    وستعمل الدوال التي اعددتها فقط في البرنامج .

    يجب ان تنهي امر ( import ) بسطر ( import ) مجرد و خالي من اي اقواس او اسماء

    [PHP]#import[/PHP]



    في الدرس القادم بأذن الله ستبدأ ببرمجة مؤشرك الأول (جزء 1)
    اراكم على خير مجددا
    وليد

  2. #2

    افتراضي رد : الدرس الثامن .. بيانات ما قبل المعالجة

    السلام عليكم
    شكرا من الاعماق للدكتور وليد على اثرائه هذا القسم بالدروس التعليميه الممتازه
    والتي نتمنى من الجميع الاستفاده من هذا المنبع الطيب ..
    وان شاءالله قريبا نقوم بحمله أعلاميه نوضح بها هذا المجهود ..
    كما امل اذا بالامكان تطبيق هذه الدورس على الميتاستوك للاسهم ام لا ..
    --

    شكرا وتقبل احترامي


    ..

  3. #3

    افتراضي رد : الدرس الثامن .. بيانات ما قبل المعالجة

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

    شكرا وتقبل احترامي


    ..
    شرفت موضوعي بردك يا ابو فيصل

    وارجو من الله ان يستفيد منها الأعضاء وخاصة انها تشرح القواعد الأساسية لأغلب لغات البرمجة

    وشكرا جزيلا على دعمكم ودعم النادي لي بهذا الخصوص , بارك الله فيكم ولكم

    موضوع الميتا ستوك كثير الشبه للميتاتردير مع بعض الإختلافات البسيطة , سأدرس الموضوع ان شاء الله. وارى ما يمكنني عمله , والله المستعان .

    بالتوفيق ان شاء الله

  4. #4

    افتراضي رد: الدرس الثامن .. بيانات ما قبل المعالجة

    بارك الله فيك وفي كل عزيز لديك

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

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

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

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

  1. لاتفيا العضو الثامن عشر من منطقة اليورو
    بواسطة شادي قديح في المنتدى نادي خـبـراء الـبـورصه العالمية
    مشاركات: 0
    آخر مشاركة: 01-01-2014, 03:56 PM
  2. أسئله المسابقه الدينيه(اليوم الثامن عشر)
    بواسطة لجنة المسابقات في المنتدى نادي خـبـراء الـبـورصه العالمية
    مشاركات: 8
    آخر مشاركة: 18-08-2011, 07:49 PM
  3. أسئله المسابقه الدينيه(اليوم الثامن عشر)
    بواسطة لجنة المسابقات في المنتدى نادي خـبـراء سـوق الـمـال السـعودي Saudi Stock Experts Club
    مشاركات: 0
    آخر مشاركة: 17-08-2011, 08:18 PM
  4. أسئله المسابقه الدينيه(اليوم الثامن عشر)
    بواسطة لجنة المسابقات في المنتدى نادي خبراء البورصة المصرية Egypt Stock Club
    مشاركات: 0
    آخر مشاركة: 17-08-2011, 08:18 PM
  5. التحليل الموجي الدرس الثامن
    بواسطة WHITE SHARK في المنتدى موسوعة التحليل الموجي (موجات إليوت) Elliot Waves Analysis Encyclopedia
    مشاركات: 3
    آخر مشاركة: 30-05-2008, 09:55 PM

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

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

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

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

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

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

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