النتائج 1 إلى 4 من 4
- 15-12-2007, 03:25 PM #1
كل شيء عن الوظائف الخاصة init start deinit
هناك ثلاث وظائف مسبقة التعريف في لغة MQL4 وموجودة في كل برنامج مهما كان نوعه .
الوظيفة الأولى: init
يتم استدعاء هذه الوظيفة عند بداية تهيئة الوحدة النمطية ( المؤشر أو الاكسبيرت أو السكريبت ).
ويتم تنفيذ كل ما تحتوي من تعليمات برمجية واستدعاءات لوظائف أخرى.
بشكل عام يتم وضع كل العمليات المهيئة لعمل البرنامج أو الوحدة النمطية مثل تعريف قيم أولية للمتحولات أو حجز ذاكرة للمصفوفات وملئها بالمعلومات أو معرفة الوضع الحالي أو وضع كلمات وملصقات على الشارت لأول مرة.
ببساطة هذا يعني أن هذه الوظيفة مخصصة لجميع الأعمال البرمجية التي نريد أن يقوم بها البرنامج لمرة واحدة فقط في بداية التنفيذ.
يمكن حذف هذه الوظيفة أو تركها فارغة من التعليمات بدون أن يؤثر هذا الحذف على سير البرنامج.
الوظيفة الثانية: start
هذه هي الوظيفة الرئيسية لبرنامجنا الذي يمكن أن يكون مؤشرا أو اكسبيرتا أو سكريبتا.
ويتم تنفيذ كل التعليمات البرمجية داخله مع كل تغير في السعر على مستوى Tick أي اللحظي.
وفي هذه الوظيفة نقوم بكل العمل الرئيسي للبرنامج من رسم أو معالجة أو فتح صفقات وغيرها من العمليات.
يتم تنفيذ هذه الوظيفة بشكل مختلف قليلا بين أنواع البرامج الثلاثة:
في الاكسبيرت يتم تنفيذ هذه الوظيفة بعد استقرار الاكسبيرت على الشارت ثم حدوث تغير لحظي في السعر.
في المؤشر يتم تنفيذ هذه الوظيفة مباشرة بعد وضع المؤشر على الشارت بدون شرط حدوث تغير في السعر، ثم تنفذ بعد كل تغير في السعر.
في السكريبت يتم تنفيذ هذه الوظيفة مباشرة بعد وضع السكريبت على الشارت دون انتظار لتغير في السعر.
ويجب الانتباه جيدا إلى هذه الفوارق الطفيفة في ظاهرها لكنها على مستوى كبير من الأهمية وخصوصا عند تعاملنا مع الاكسبيرتات.
إن أي برنامج لا يحتوي على هذه الوظيفة لن يعمل أبدا.
الوظيفة الثالثة: deinit
وهي عكس الوظيفة init أي أنها تنفذ مرة واحدة فقط عند إزالة البرنامج من على الشارت.
ويتم وضع كافة التعليمات البرمجية التي تقوم بتنظيف الشارت من مخلفات البرنامج.
مثل إزالة اللصاقات النصية أو حذف الملاحظات المكتوبة على الشارت أو إزالة الخطوط المرسومة وغيرها من الكائنات التي رسمها البرنامج على الشارت.
أي برنامج لا يقوم بعملية التنظيف عند إزالته هو برنامج غير محترم وغير احترافي.
يمكن استدعاء هذه الوظائف الثلاثة من أي وظيفة أخرى ولكن لا ينصح أبدا باستدعاء الوظيفة start مثلا من الوظيفة init لأن هذا الأمر قد يسبب مشاكل في التنفيذ.
- 18-12-2007, 12:34 AM #2
رد: كل شيء عن الوظائف الخاصة init start deinit
جزاك الله كل خير
- 18-12-2007, 12:46 AM #3
رد: كل شيء عن الوظائف الخاصة init start deinit
شيء رائع
- 28-12-2007, 06:20 AM #4
رد: كل شيء عن الوظائف الخاصة init start deinit
يعطيك ألف عافية
والله يجعله في ميزان حسناتك
المواضيع المتشابهه
-
The Start (البدايه)
By محمد سلامة in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 9آخر مشاركة: 04-02-2010, 01:47 AM -
البداية &&&& Start
By سيد العملات in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 123آخر مشاركة: 12-08-2009, 03:56 PM -
start forex
By thaer in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 2آخر مشاركة: 10-06-2009, 01:57 PM -
شركة start forex????
By مبتدئ 1 in forum استفسارات وأسئلة المبتدئينمشاركات: 1آخر مشاركة: 01-08-2008, 11:55 PM -
توصيات اسبوعية START 03 DEC END 07 DEC 2007
By ABHAFXS in forum توقعات وتوصيات سوق العملاتمشاركات: 17آخر مشاركة: 06-12-2007, 12:10 AM