للحصول على أفضل توصيات الفوركس عبر التلغرام

انضم معنا

الدرس الخامس

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

أهلا وسهلا بكم أيها الاخوة الاكارم
مع الحلقة الخامسة من سلسلة تعلم البرمجة باسهل طريقة

الآن نريد إضافة متغيرات خارجية لمؤشرنا حتى نستطيع التحكم باعداداته فلو اردنا مثلا تغيير التايم فريم الذي يتم حساب المتوسط الحسابي له بغض النظر عن الفريم الذي قمنا بتركيب المؤشر عليه فربما نكون نعمل على فريم الساعة ونريد المتوسط الحسابي لفريم الاربع ساعات فماذا نعمل؟

لفعل ذلك نقوم بعدة خطوات
اولا نقوم بتعريف متغير من نفس نوع البيانات التي يتقبلها ذلك الامر في مثالنا حاليا نريد وضع متغير للتايم فريم وهذا الاخير تكون بياناته من النوع الصحيح اي
int
وايضا قبل نوع البيانات نضع كلمة جديدة تعرف من خلالها المنصة بان هذا متيغير خارجي اي يمكن تغييره من قبل المستخدم في اي وقت
والآن لنبدء
تعلم البرمجة باسهل طريقة......الحلقة الخامسة 13926_1416670216.png

ثم سنقوم بوضع هذا المتغير داخل الامر المسؤول عن حساب المتوسط الحسابي وطبعا يجب ان يكون ف مكانه المناسب بهذا الشكل:

تعلم البرمجة باسهل طريقة......الحلقة الخامسة 13926_1416670462.png

ولنرى كيف سيكون التنفيذ:

تعلم البرمجة باسهل طريقة......الحلقة الخامسة 13926_1416744811.png

طبعا لم يتغير شيء ولكن للننظر الى متغيرات المؤشر

تعلم البرمجة باسهل طريقة......الحلقة الخامسة 13926_1416745134.png

والآن لنجعل قيمة الفريم 30 اي اننا نريد حسب المتوسط الحسابي لفريم الدقيقة على الرغم من اننا في فريم الساعة

ملاحظة:
هذا المتغير تكون قيمه على الشكل التالي:
0 : يعني انه سيتعامل مع الفريم الذي تم تركيب المؤشر عليه وهو خيارنا الافتراضي
1 : المؤشر سيقوم بالحساب على فريم الدقيقة
5 : المؤشر سيقوم بالحساب على فريم الخمس دقائق
15 : المؤشر سيقوم بالحساب على فريم الربع ساعة
30 : المؤشر سيقوم بالحساب على فريم النصف ساعة
60 : المؤشر سيقوم بالحساب على فريم الساعة
240 : المؤشر سيقوم بالحساب على فريم الاربع ساعات
1440 : المؤشر سيقوم بالحساب على فريم اليومي

والآن هذا هو شكل مؤرنا على النصف ساعة

تعلم البرمجة باسهل طريقة......الحلقة الخامسة 13926_1416745465.png

نلاحظ ان هناك إختلاف واضح وهذا راجع لاختلاف الشموع في فريم النصف ساعة

الآن نريد ان نقوم بتغييرات أكبر
مثلا نريد ان نملك القدرة على تغيير عدد الشموع التي يتم حساب المتوسط الحسابي فبدلا من ان تكون 15 دائما نريد ان تحكم بهذه الفترة كما نريد
اذا نقوم باضافة متغير جديد وساسمية:
ma_period
وهذا سيكون من النوع الصحيح اي
int
وسيصبح البرنامج بهذا الشكل
هذه اول خطوة:

تعلم البرمجة باسهل طريقة......الحلقة الخامسة 13926_1416746051.png

الخطوة الثانية

تعلم البرمجة باسهل طريقة......الحلقة الخامسة 13926_1416746236.png

والآن لننظر لمتغيرات المؤشر

تعلم البرمجة باسهل طريقة......الحلقة الخامسة 13926_1416746563.png

لنجعل الفترة الآن 43 (وطبعا هذا مجرد رقم يدل على عدد الشموع التي سيتم حساب المتوسط الحسابي له لا أكثر) بدلا من 15

تعلم البرمجة باسهل طريقة......الحلقة الخامسة 13926_1416746772.png

لاحظ كيف تغير الشكل تبعا للتغييرات في اعدادات المؤشر

والآن ساضيف ثلاثة متغيرات جديدة دفعة واحدة وبنفس الطريقة السابقة ولكن كل متغير له عمل مختلف:
ma_shift
هذا المتغير سيكون مسؤولا عن إزاحة المؤشر لليمين او اليسار بعدد معين من الشموع وهو من النوع الصحيح
ma_method
هذا المتغير سيكون مسؤولا عن تحديد طريقة حساب المتوسط الحسابي هل سيكون متوسط بسيط ام اكسبو أم……
(راجع الدروس السابقة فقد وضعت عدة جداول تبين جميع خيارات المتوسطات الحسابية)
وهذا المتغير من النوع الصحيح
applied_price
هذا المتغير سيكون مسؤولا عن عملية حساب المتوسط الحسابي على اي سعر هل سيتم الحساب عبى سعر الاغلاقات ام الافتتاحات ام…..
وايضا هو من النوع الصحيح
وسصبح شكل مؤشرنا بهذا الشكل:
هنا مرحلة اضافة المتغيرات الخارجية
تعلم البرمجة باسهل طريقة......الحلقة الخامسة 13926_1416747472.png

هنا مرحلة دمج المتغيرات الجديدة مع كود البرنامج

تعلم البرمجة باسهل طريقة......الحلقة الخامسة 13926_1416747676.png

والآن لننظر للخيارات التي اصبحت في متناولنا ضمن خيارات المؤشر

تعلم البرمجة باسهل طريقة......الحلقة الخامسة 13926_1416747813.png
وللتعامل مع هذه الخيارات الجديدة وقيمها الخاصة ارجو مراجعة الدروس السابقة فقد وضعت عدة جداول تشرح كل شي بالتفصيل

ملاحظة هامة جدا:
قد يظن البعض ان المتغير وسر عمله يكمن في اسمه وهذا اعتقاد خاطئ تماما بل الواقع ان سر عمل المتغير يكمن في الموقع الذي تجعله يعمل به ولا اعني الموقع الذي قمت بتعريف المتغير به بل المكان الذي دمجت به متغيرك مع الكود

فمثلا اول متغير لدينا كان
period
وهو يعبر عن التايم فريم
وثاني متغير هو
ma_period
وهو يعبر عن عدد الشموع التي سيتم حساب المتوسط الحسابي لها

والآن دعونا نقوم بهذا التلاعب الصغير (لا تقلقوا أوكد لكم ان المطبخ لن يتفجر)
في هذا الموقع من الكود

تعلم البرمجة باسهل طريقة......الحلقة الخامسة 13926_1416748344.png

لنقم بالتبديل بين موقع المتغيرين ليصبح الكود بهذا الشكل:

تعلم البرمجة باسهل طريقة......الحلقة الخامسة 13926_1416748539.png

اولا بعد عمل تصريف للبرنامج ستلاحظ اختفاء المؤشر
وثانيا عند ذهابك للتأكد من خيارات المؤشر لن تلاحظ اي إختلاف فانت لم تغير في ترتيبك لتعريف المتغيرات
فما الذي حدث:
انت تذكر اننا افتراضا حدنا قيمة للمتغير
period
تساوي الصفر
والمتغير
ma_period

قيمته الافتراضية تساوي 15

فمالذي حدث بالضبط؟؟؟؟؟؟؟
ببساطة شديدة:
متغير
period
والذي يعبر عن الفريم وهو يساوي الصفر افتراضيا
اصبح يعبر عن عدد الشموع الواجب حساب المتوسط الحسابي لها وبهذا الشكل انت تريد حساب المتوسط الحسابي لـ 0 شمعة
والمتغير
ma_period
والذي يعبر عن عدد الشموع الواجب حساب المتوسط الحسابي لها وقيمته الافتراضية تساوي 15
اصبح يعبر عن التايم فريم الذي يجب حساب المتوسط الحسابي لشموعه

لاحظ ان كل هذا حدث فقط لاننا قمنا بتغيير مواقع هذه المتغيرات ضمن الكود ولم نقم ابدا بتغيير قيمها او تغيير اسمائها

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

تعلم البرمجة باسهل طريقة......الحلقة الخامسة 13926_1416749585.png

وهذا هو شكل التنفيذ:

تعلم البرمجة باسهل طريقة......الحلقة الخامسة 13926_1416749654.png

والآن رجع مؤشرنا الى حالته الاصلية
وساٌقوم بارجاع اسماء المتغيرات الى مواقعها السابقة حتى نستطيع البناء على هذا المؤشر في المستقبل لان اسماء هذه المتغيرات تعبر عن دلالات معينة يستطيع اي مبرمج من خلال قراءة اسم المتغير ان يتصور ما هو استخدام هذا المتغير
فهذا الاسم
period
أكيد انه سيعبر عن فترة ما
والمتغير
ma_period
أكيد انه سيعبر عن فترة خاصة بالموفينج افريج لان بدايته مع الحرفين
ma
اختصارا لـ
Moving Average

طبعا هناك الكثير والكثير من الامور التي تسأل نفسك (مثلا : كيف عرف ان نوع هذا المتغير سيكون من النوع الصحيح وكيف عرف كذا و كيف……)
هناك أمور ساشرحها في حينها باذن الله وهناك أمور ستأتيك فقط مع الخبرة

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