دورة المضاربة بالسوق السعودى بتحليل السلوك السعرى مع احجام التداول

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

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

الموضوع: الدرس الخامس .. الحلقات والقرارات (جزء 2)

  1. #1

    افتراضي الدرس الخامس .. الحلقات والقرارات (جزء 2)

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

    مرحبا بكم في الدرس الخامس ... الحلقات والقرارات (جزء 2)

    تحدثنا في الدرس السابق عن الحلقات

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

    حسنا , الطريقة الأخرى هي القرارات decisions .

    القرارات decision هي جملة برمجية تقوم بعمل انتقال امر برمجي لمرة واحدة لجزء أخر من البرنامج معتمدا على قيمة المتغير.

    (هذا الدرس اسهل من الدرس السابق وستروا بأنفسكم )

    هناك عدة انواع من القرارات في لغة MQL4 :

    1- الجملة الشرطية ( إذا ) .. ( if ) :

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

    الجملة ( if ) هي اسهل انواع الجمل الشرطية ( القرارات ).

    دعونا نأخذ مثالا :

    [PHP]if( x < 100 )

    Print("hi");
    [/PHP]

    هنا الكلمة المحجوزة ( if ) جاء بعدها القوسان ( ) وبداخلهم جاء تعبير الأختبار ( هل تتذكروه ) على هذه الصورة ( X<100 ) , متى جاءت النتيجة بين القوسين صحيحة true سيقوم جسد الجملة بتنفيذ الأمر (Print("hi")الدرس الخامس .. الحلقات والقرارات (جزء 2) نادي خبراء المال ,, وكمتى جاءت خاطئة false فسينتقل التسلسل التنفيذي للأوامر الى جزء أخر من البرنامج .

    * الجمل المتعددة في جسد الجملة ( if ) (الأوامر ) :

    مثل ما رأينا في الحلقات , فالجملة ( if ) يمكن ان تتكون من اكثر من جملة تنفيذية ويحاطون بالقوسين { }.

    ( لاحظ انه لو وجدت جملة واحدة لن نحتاج الى هذه الأقواس { } )

    مثال :

    [PHP]if(current_price==stop_lose)

    {

    Print("you have to close the order");

    PlaySound("warning.wav");

    }

    [/PHP]

    ملاحظة : العلامة == الموجودة في تعبير الأختبار , هي احد عمليات المقارنة وليست = عملية مساواة (راجع درس العمليات والتعبيرات) ... هذه مصدر العديد من أخطاء الكتابة البرمجية نظرا للتشابه بينهم .

    * التداخل Nesting :

    يمكن للحلقات والقرارات ان يتداخلوا في بعضهم البعض , بمعنى انه يمكنك كتابة حلقة ( for ) داخل جملة شرطية ( if ) والعكس بالعكس ... تسمى هذه العملية بالتداخل Nesting .

    مثال :

    [PHP]for(int i=2 ; i<10 ; i++)

    if(i%2==0)

    {

    Print("It's not a prime nomber");

    PlaySound("warning.wav");

    }
    [/PHP]

    في هذا المثال تم وضع الجملة الشرطية (القرار) ( if ) بداخل الحلقة ( for ) .

    2- الجملة الشرطية ( إذا .. وإلا ) .. ( if .. else ) :

    ( اذا أخطأ علي فاضربوه والا فأكرموه ) هنا البرنامج سينفذ ايا من الأمرين , ان أخطأ علي true سيتم ضربه , وان لم يخطئ false سيتم تنفيذ الأمر الثاني وهو الأكرام . الدرس الخامس .. الحلقات والقرارات (جزء 2) نادي خبراء المال .

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

    تتكون هذه الجملة من الكلمة المحجوزة if متبوعة بجملة تنفيذ او اكثر , وكلمة محجوزة أخرى هي else متبوعة بجملة تنفيذ او اكثر .

    مثال :

    [PHP]if(current_price>stop_lose)

    Print("It’s too late to stop, please stop!");

    else

    Print("you playing well today!");
    [/PHP]

    ترجمة هذا المثال على النحو التالي :

    إذا (السعر الحالي > وقف الخسارة )

    اطبع جملة ("انت متأخر جدا , ارجوك اغلق العقد")

    والا

    اطبع جملة ("انت تضارب جيدا اليوم")

    اعتقد الترجمة هذه تشرح الموضوع كاملا الدرس الخامس .. الحلقات والقرارات (جزء 2) نادي خبراء المال

    * التداخل Nesting في جملة ( if .. else ) :

    لايمكن لجملة ( if .. else ) ان تتداخل مع جملة ( if ) , ولكن يمكن ان نجعل جملة ( if .. else ) تتداخل مع جملة ( if .. else ) أخرى ... وهكذا .

    في هذا المثال :

    [PHP]if(current_price>stop_lose)

    Print("It’s too late to stop, please stop!");

    if(current_price==stop_lose)

    Print("It’s time to stop!");

    else

    Print("you playing well today!");
    [/PHP]

    توجد مشكلة برمجية هنا , حيث الجملتين الشرطيتين هنا متعارضتين وسيواجه الكومبيوتر مشكلة ايهما ينفذ ؟

    ان جاء السعر اعلى من وقف الخسارة هناك امران احداهما "انتا متاخر جدا , ارجوك اغلق العقد " في الجملة الأولى ,, والأخرى "انت تضارب جيدا اليوم" ( نتيجة انه false ان لم يحدث == في الجملة الثالثة .

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

    هناك حل لهذا الأمر :

    * ان نحيط الجملة ( if.. else ) بكاملها بالقوسين { }

    مثال :

    [PHP]if(current_price>stop_lose)

    {

    Print("It’s too late to stop, please stop!");

    if(current_price==stop_lose)

    Print("It’s time to stop!");

    else

    Print("you playing well today!");

    }

    [/PHP]

    ومن الأفضل تجنب التداخل مع جملة ( if .. else )

    3- الجملة الشرطية ( التوزيع ) .. ( switch ) :

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

    دعونا نرى مثالا :

    [PHP]switch(x)

    {

    case 'A':

    Print("CASE A");

    break;

    case 'B':

    case 'C':

    Print("CASE B or C");

    break;

    default:

    Print("NOT A, B or C");

    break;

    }

    [/PHP]

    كيف يعمل هذا الكود (الجملة البرمجية في المثال) ؟

    تبدا الجملة بالكلمة المحجوزة switch لتوزع اوامر التنفيذ لقيم النتغير x المختلفة .

    وتاتي الأوامر بين القوسين { } .

    الجملة switch تربط المتغير x بجميع القيم الداخلة للبرنامج وتتعامل معها على هذا النحو :

    في حالة x==A سيخرج الكومبيوتر الناتج ( case A ) والا سينفذ الأمر Break (راجع هذا الأمر في الدرس السابق)

    في حالة x==B او x==C سيخرج الكومبيوتر الناتج ( case B or case C ) وذلك لعدم وجود الأمر Brea.

    في حالة !==x اي ان x لا تتطابق مع اي من القيم السابقة سيخرج الكومبيوتر النتيجة الأفتراضية ( Not caseA,caseB or case C )



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

  2. #2

    افتراضي رد : الدرس الخامس .. الحلقات والقرارات (جزء 2)

    مشكوووووور ويعطيك العافية

  3. #3

    افتراضي رد: الدرس الخامس .. الحلقات والقرارات (جزء 2)

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

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

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

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

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

  1. الدرس الخامس .. مستويات فيبوناتشي وأهداف الموجات
    بواسطة د. وليد سليمان في المنتدى موسوعة التحليل الموجي (موجات إليوت) Elliot Waves Analysis Encyclopedia
    مشاركات: 46
    آخر مشاركة: 10-06-2014, 04:28 AM
  2. الدرس الخامس: قواعد اللغة
    بواسطة م / أحمد سليمان في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 10
    آخر مشاركة: 23-08-2008, 02:50 AM
  3. الدرس الرابع .. الحلقات والقرارات (جزء 1)
    بواسطة د. وليد سليمان في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 3
    آخر مشاركة: 04-08-2008, 04:51 PM
  4. الحلقات الزمنية و تاثيرها على الاسعار -- موضوع لم تقراء مثله من قبله
    بواسطة مقدسي في المنتدى نادي خـبـراء الـبـورصه العالمية
    مشاركات: 20
    آخر مشاركة: 18-04-2008, 07:10 PM
  5. التحليل الموجي الدرس الخامس
    بواسطة WHITE SHARK في المنتدى موسوعة التحليل الموجي (موجات إليوت) Elliot Waves Analysis Encyclopedia
    مشاركات: 4
    آخر مشاركة: 04-02-2008, 10:41 PM

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

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

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

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

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

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

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