هذه الرسالة تفيد بأنك غير مشترك في منتديات فوركساوي. لتسجيل الرجاء اضغط هنـا
بحث
 

العودة   منتديات فوركساوي - forex -تقرير يومى - تحليل فنى - تحليل اساسى - تحليل موجى - تحليل يومى > منتدي المؤشرات والاكسبيرتات

منتدي المؤشرات والاكسبيرتات احدث المؤشرات والاكسبيرتات مع الشرح تجدها فقط علي صفحات فوركساوي

آخر 10 مشاركات التقرير الاخبارى اليومى Fr 13 Nov (الكاتـب : التحليلات والاخبار - آخر مشاركة : paymnGomjoync - )           »          قبيل الجلسة الأوروبية: بانتظار بيانات قطاع العمالة البريطاني (الكاتـب : التحليلات والاخبار - آخر مشاركة : Unlanyenlaf - )           »          العملات الرئيسية تفقد العزم أمام الدولار (الكاتـب : التحليلات والاخبار - آخر مشاركة : Engammapoob - )           »          التقرير الاخبارى اليومى Mon 16 Nov (الكاتـب : التحليلات والاخبار - آخر مشاركة : Jekalelsspers - )           »          التقرير الاخبارى اليومى We 11 Nov (الكاتـب : التحليلات والاخبار - آخر مشاركة : undulpglype - )           »          صعود الذهب من ادنى مستوى له في 4 أشهر مع صعود اليورو (الكاتـب : ecostatusat - )           »          مؤشر اسعار المنتجين لابد ان يؤكد نظرة البنك الفدرالي لمعدلات تضخم متدنية (الكاتـب : التحليلات والاخبار - آخر مشاركة : owenpaywoke - )           »          التقرير الاخبارى اليومى Thu 19 Nov (الكاتـب : التحليلات والاخبار - آخر مشاركة : gellaRemlix - )           »          البنك المركزي الأوروبي يخفض توقعاته بشأن انكماش منطقة اليورو خلال العام الحالي (الكاتـب : التحليلات والاخبار - آخر مشاركة : TampAidemia - )           »          ارتفاع مفاجئ للعجز التجاري الأمريكي في شهر مارس الماضي (الكاتـب : ecostatusat - )

إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
قديم 29-06-2009, 05:17 PM   #1 (permalink)
المدير التنفيذي للموقع الالكتروني
 
الصورة الرمزية متداول-متميز
 

افتراضي دورة تعليم لغة MQL4 (المحاضرة الثامنة )

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

مرحبا بكم في الدرس السابع ... المتغيرات في لغة MQL4 :
المتغيرات Variables ؟

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

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

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

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

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

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

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

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

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

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

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

على سبيل المثال , ماذا لو أخبرنا الكومبيوتر بهذا الكود :
كود PHP:
int  MyVaraible=0
معناه اننا نطلب من الكومبيوتر ان يوفر لنا حجم ذاكرة تبلغ 4 بايت(int تعني ذلك كما سيتضح في هذا الدرس) لمتغيرنا الذي اسميناه ب MyVaraibles.

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

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

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

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

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

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

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

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

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

لقد قمت بنسخ السطور السابقة من درس رموز البيانات في لغة MQL4 لكم , لتتذكروا فقط ما هي المتغيرات , والأن كيف نقوم بعملية اعداد للمتغير ؟

* الإعداد declaration :

عملية اعداد المتغير تعني تقديم وتعريف هذا المتغير للبرنامج والمبرمج والمستخدمين وتحديد نوعه ومساحة التخزين الخاصة به , وذلك باستخدام الكلمات المحجوزة التي ذكرناها في درس رموز البيانات (int, double, char, bool, string, color and datetime) مع معرفات نختارها لها .

مثال :
كود PHP:
int  MyVaraible
هنا قمنا بعملية اعداد declaration للمتغير ( الذي عرفناه بالأسم MyVaraible ) وحددنا نوعه كعدد صحيح integer بالكلمة المحجوزة ( int ) .

لا يمكننا ان نستخدم المتغير في البرنامج دون عملية الإعداد تلك ( الكود في المثال اعلاه ) , فلو قمنا مثلا باستخدام المتغير في اكواد اللغة دون عملية اعداده ( الكود اعلاه هو مثال لعملية الإعداد ) ستعطي عملية التجميع compile خطأ برمجي : ( 'MyVaraible' - variable not defined. 1 error(s), 0 warning(s). )

* الإبتداء Initialization :

هذه العملية للمتغير تعني ربط قيمة ما لهذا المتغير

مثال :
كود PHP:
MyVaraible=0
يمكنك وضع القيمة مع الإعداد في نفس السطر , مثال :
كود PHP:
int MyVaraible=0
كما يمكنك ان تضع إعداد declaration المتغير في سطر وعملية الأبتداء ( وضع القيمة ) Initialization في سطر أخر , مثال :
كود PHP:
int  MyVaraible
 
… 
 
… 
 
MyVaraible
=5
لكن تذكر دائما ان عملية الإعداد declaration يجب ان تسبق عملية الأبتداء Initialization دائما .

* مجالات المتغيرات في البرنامج Scopes :

المتغيرات يتم وضعها بطريقتين : موضعي Local وعام Global .

ماهو مجال المتغير ؟

هو مكان الكود الذي سيتعرف على المتغير ويستطيع ان يتعامل معه .

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

سنشرح بتفصيل اكثر :

a- متغيرات المجال الموضعي local scope :

هي المتغيرات التي يتم إعدادها داخل الدالة و لا يتم التعامل معها الا داخل الدالة او الحلقة او الجملة الشرطية الخاصة بها فقط ( من اسمها "موضعي")

مثال :
كود PHP:
double my_func (double adouble bdouble c)  
 
  {   
 
   
int d ;                                
 
   return (
a*c); 
 
  } 
في هذا المثال a ,b ,c and d هم متغيرات موضعية ( داخلية ) اي انهم يستخدمون داخل قالب الدالة فقط ولا يمكن لأي دالة أخرى استخدامهم , حسنا كيف تعرف الدالة والبرنامج انهم خاصين بها وحدها فقط ؟ . الأجابة هي انهم وضعوا داخل القوسين ( ) بعد اسم الدالة ( مما يعني بالضرورة انهم لها وحدها) .

b- متغيرات المجال العام global scope :

وهي المتغيرات التي يتم إعدادها خارج الدوال والحلقات والقرارات ويكن استخدامها من اي مكان داخل البرنامج .

مثال :
كود PHP:
int Global_Variable
 
double my_func (double adouble bdouble c)  
 
  {   
 
      return (
a*Global_Variable); 
 
  } 
هنا في هذا المثال تم إعداد المتغير Global_Variable خارج الدالة ( خارج القوسين ( ) ) وهكذا يمكن استخدامه من اي دالة في البرنامج ككل .

تأخذ متغيرات المجال العام دائما القيمة الأفتراضية صفر , هذا اذا لم تستلم اي قيم أخرى .


* المتغيرات الخارجية Extern variables :

الكلمة المحجوزة ( extern ) تستخدم لإعداد انواع خاصة من المتغيرات , هذه الأنواع هي التي تعرف الإعدادات الرئيسية للبرنامج ( بمعنى اخر هي خصائص المؤشر او الكسبرت التي تظهر للمستخدمين عند فتحها )

مثال :
كود PHP:
extern color Indicator_color C'0x00,0x00,0xFF'// blue 
 
int init() 
 
  { 
 
   ... 
 
  } 
هنا في هذا المثال , المتغير Indicator_color تم تعريفه على انه متغير خارجي .

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

انظر الصورة :



في الصورة تظهر المتغيرات الخارجية على نافذة المؤشر .

اي متغير تريد ان يتم تغييره من قبل المستخدمين العاديين عرفه على انه متغير خارجي extern variable .


في الدرس القادم بأذن الله سنتكلم عن بيانات ما قبل المعالجة في لغة MQL4

التوقيع:
(الْلَّهُم انّي اسْتَوْدَعْتُك قَلْبِي فَلَا تَجْعَل فِيْه أَحَد غَيْرُك،،،وَأَسْتَوَدَّعَتك لَا إِلَه إِلَّا الْلَّه فْلَقِنِيُّهَا عِنْد مَوْتِي)



متداول-متميز غير متواجد حالياً   رد مع اقتباس
قديم 14-07-2009, 03:39 PM   #2 (permalink)
فوركساوي جديد
 

افتراضي رد: دورة تعليم لغة MQL4 (المحاضرة الثامنة )

سبحان الله والحمد لله ولااله الا الله والله أكبر ولاحول ولاقوة الا بالله العلى العظيم

khalidaalmasry غير متواجد حالياً   رد مع اقتباس
قديم 24-12-2009, 12:16 AM   #3 (permalink)
فوركساوي جديد
 

افتراضي رد: دورة تعليم لغة MQL4 (المحاضرة الثامنة )

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

زهور احمد غير متواجد حالياً   رد مع اقتباس
إضافة رد


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

(عرض الكل الاعضاء الذين شاهدو هذا الموضوع: 24
ماهر العمر, ADHAM, محمد القلعاوى, cadecortx, العابد7, hany_elkoptan, hasan, hluvr, ياسرابوعمر, حسين الصائغ, khalidaalmasry, king alx, laith_r, M!Ss.Do3n, Monostar, MR.S, msa, زهور احمد, pghdad_1, raid, ralph kabota, sam_samir3, soma1970
أدوات الموضوع
انواع عرض الموضوع

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

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
دورة تعليم لغة MQL4 (المحاضرة العاشرة ) متداول-متميز منتدي المؤشرات والاكسبيرتات 4 21-02-2010 07:30 PM
دورة تعليم لغة MQL4 (المحاضرة السابعة ) متداول-متميز منتدي المؤشرات والاكسبيرتات 3 19-02-2010 10:33 AM
دورة تعليم لغة MQL4 (المحاضرة التاسعة ) متداول-متميز منتدي المؤشرات والاكسبيرتات 2 24-12-2009 12:17 AM
دورة تعليم لغة MQL4 (المحاضرة السادسة ) متداول-متميز منتدي المؤشرات والاكسبيرتات 3 24-12-2009 12:08 AM
دورة تعليم لغة MQL4 (المحاضرة الاولي ) متداول-متميز منتدي المؤشرات والاكسبيرتات 11 23-12-2009 11:45 PM


عزيزي العضو/الزائر.. نحيطك علماً بأن مواضيع المنتدى لاتمثل رأي الإدارة وإنما تمثل رأي كاتبها.


الساعة الآن 04:25 PM.


Powered by vBulletin Version 3.8.2
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd

تنسيق المواضيع بواسطة برامج
جميع الحقوق الملكيه محفوظه لــ فوركساوي

- AJ-TEAM : SEO by vBSEO 3.3.0