موقع بورصات
  بورصات
تسجيل عضوية جديدة في المنتديات لوحة تحكم العضو البحث في المنتديات تسجيل الخروج الرئيسية الاتصال بنا

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

العودة   بورصات > بورصة العملات الاجنبية > منتدى المؤشرات و الاكسبرتات

الجديد فى برمجة الميتاتريدر MQL4=MQL5 (تعليم- القوائم Enumerations )

منتدى المؤشرات و الاكسبرتات

إضافة رد
 
أدوات الموضوع
قديم 16 - 04 - 2015, 02:38 AM   #1
IAEBusiness
عضو جديد
 

Lightbulb الجديد فى برمجة الميتاتريدر MQL4=MQL5 (تعليم- القوائم Enumerations )

الجديد فى برمجة الميتاتريدر MQL4=MQL5 (تعليم- القوائم Enumerations )
بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

اخوانى الكرام هذا موضوع تعليمى ، حيث ان بعد ان اصبح بامكان المبرمجين على منصة الميتاتريدر4 ان يبرمجوا بلغة MQL4 او لغة MQL5 وهى تتيح اشياء واضافات كثير كلغة برمجة متقدمة حديثة و كانت من قبل مقتصرة على منصة الميتاتريدر5 فقط.

وكنت اتكلم عن جزء فيها كـ لفت نظر اليها فطلب منى اخى سمير توضيحها ، فلك اخى و لكل اخوانى اهدى هذا الشرح ، فاللهم تقبل.
اقتباس:
المشاركة الأصلية كتبت بواسطة سمير محمد ارمان مشاهدة المشاركة
السلام عليكم
بجد الشكر قليل لك
جزاك الله كل خير على هذه المساعده
بس لو ممكن كيف يتم الاستفاده منهم فى داخل الكود
وهل العمل عليهم فى المؤشرات فقط او الاكسبيرت
ولك الشكر والتقدير
تحياتى لك
لا يا اخوان يمكن ان تستخدموها فى اي شئ ، مؤشرات او اكسيبرتات او اسكريبتات

يعنى تابعنى يا سيدى ، انت مثلا حتعمل اكسيبرت يعتمد على موشر موفينج افريج مثلا
و عاوز تعطى المستخدم خيارات الموفينج كمتغيرات خارجية

مثلا : الـ MA method و خيارتها


فكنا بنشرح له الكلام هذا فى استرينج نسميه اى اسم حيث سيكون كنوع من الشرح
مثلا نقوله

[PHP]
extern string SP3 ="0 = Simple averaging, 1 = Exponential averaging , 2=Smoothed averaging , 3 =Linear-weighted averaging";
extern int MA_Method = 0;
[/PHP]و رغم كل ده ممكن يجى المستخدم و يحط 7 مثلا و هو مش واخد باله !!

او كمثال اخر الاطار الزمنى ،
كنا نطلب من المستخدم ادخال الاطار الزمنى بعدد القائق ، ويجلس المستخدم يحفظ او يحسب ال 4 ساعات = 60 دقيقة * 4 = 240

وايضا ممكن و هو بيدخلهم يتلخبط او يغط رقم بجانب رقم و يؤدى ذلك الى خطأ البرنامج و الحسابات كلها

مما جعل الشركة تضيف ما يعرف بـ Enumerations ( او على حسب ترجمة جوجل : التعددات ، لكنى ارى ان اسم القوائم او المتسلسلات يكون افضل - و للعلم هى موجودة فى لغات البرمجة الاخرى)

وكل شئ له قيم متعددة محددة ادخلت له Enumerations

و هذا الانيوميراشن بالظبط عبارة عن قائمة List مرتبة من الصفر و حتى اخر رقم للخيارات-1 و لكن يظهر فى المقابل ليس الرقم 0و1و2و3 .. ولكن يظهر ما يقابل هذا الرقم كما فى هذه الصورة



فاصبح المستخدم لا يحتاج الشرح ، واصبح امكانية ان يدخل مثلا قيمة اطار زمنى خطأ مثل 3 او 4 ! هى نسبة ضيلة جدا او تكاد تكون منعدمة

لمعرفة جميع بهذه القوائمة الجاهزة ، افتح المساعدة Help الخاص بال MetaEditor و اذهب الى MQL4 Referanec حيفتح لك مرجع الاكواد ، اذهب فيه الى صفحة الفهرس Index و كتب فقط enum

حيث ان شركة الميتاكوت سجلت كل هذه القوائم فى متغيرات اسمها يبدأ بـ enum

فالاطار الزمنى اصبح له قائمة باسم ENUM_TIMEFRAMES
حجم الخط الترند ENUM_LINE_STYLE
وغيره كثير . .

وازيدك واخوانى من الشعر بيت و هما مالم اكن اعرفه قبل كتابة هذا المقال و كنت قد تواصلت مع شركتهم لاضافة هذا الامر كاقتراح من قبل. -

الخلاصة من الموضوع : اللى بيعلم الناس ربنا بيزيده علم ، فزكاة العلم تعليمه ، تجد يفتح ورشة عمل و موضوع تعليمى للمناقشة يضع فيه ما لديه من علم فيخرج منه وقد اتاه الله زيادة فى العلم اضعاف مضاعفة.
{ وما آتيتم من زكاة تريدون وجه الله فأولئك هم المضعفون }
صدق الله العظيم

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

نشوف مع بعض ،

مثلا حنعمل متغير باسماء الشهور ، يختار منها المستخدم

[PHP]

enum months
{
January,
February,
March,
April,
May,
June,
July,
August,
September,
October,
November,
December
};


[/PHP]و ليس شرط ان تضع القائمة هذه تحت بعض ، لا ، فهذا للنظام فقط ولكن اهم شئ هو ان تفصل بين كل قيمة بفاصلة فقط

[PHP]
enum months {January,February,March,April,May,June,July,August ,September,October, November, December };
[/PHP]ثم يلى التعريف بقائمة المتغيرات التى صنعتها هذه ، تنشئ متغير و تضعه كمتغير خارجى للمستخدم - يمكن ان تجعله بنفس اسم القائمة او اسم مختلف

[PHP]
extern months months = 0;
او
extern months monthOfYear = January;
[/PHP]


والان الى الاجزاء المتقدمة :


ليس شرط او لازم ان تتلزم بالترقيم التلقائى لهذه القيم ، اقصد ان يبدأ بـ 0 مثلا و بعد ذلك سيكون اجبارى 1 ثم 2 ثم 3 و هكذا

و لكن يمكنك ان تختار بما يبدأ و هو بشكل الى سيضيف 1 لكل عضو فى هذه القائمة
وهذا عبر وضع "=" ثم رقمه.

و ليس هذا فقط ، بل يمكنك ان تتوقف فى منتصف القائمة مثلا و تختار عضو تعطى له قيمة اخرى مختلفه ( لكن مع العلم ان البرنامج سيضيف ايضا 1 على قيمته لكل عضو من بعده)

مثال :

كود:
enum intervals  
   {
    month=1,     
    two_months,  
    quarter,     
    halfyear=6,  
    year=12,     
   };
فانت فى المثال هذا ، حددت ان تبدأ بـ 1 لانك ستستخدم هذا المدخل فى برنامج داخليا و هى يعنى شهر ولو تركته اليا سيصبح 0 و انت مثلا تريد ان تاخذ قيمته و تضربها فى شئ مباشرتا مثلا ، فكان فى الماضى لا ينفع او كنا نتحايل باضافة +1 على الاختيار

quarter اى ربع سنوي

و نجد فى هذا المثال انك لم تدخل شي للعضو الثانى و الثالث فى القائمة - يمكنك ان تضعها بنفسك- ولكن البرنامج بشكل الى كما تكلمنا سيضيفها ، فالعضو الاول اخذ قيمة تساوى واحد ، اذن الثانى قيمة العضو الذى قبله +1 فيصير 2 و هكذا للثالث ايضا

ثم اردت ان تتوقف حيث ان النصف سنوي HalfYear يساوى 6 شهور ولو تركته بلا تحديد سيجعلها البرنامج = 4 و هو مالا تريده و اخيرا ايضا السنة year وهى تساوى 12 و لو تركتها لاخذت 7

و الان الى اجمل ما فى الموضوع و هو ختامه معنا

وهو انك لو اضفت تعليق نصى بجانب اسم العضو فى السلسلة سيظهر هذا التعليق ، بدل من الاسم
فناخذ نفس هذا المثال بالاعلى لكن مع اضافة تعليق بجاب القيم - يمكن ان يحتوى على مسافات بين الكلمات ايضا-
[PHP]
enum intervals
{
month=1, // Interval of one month
two_months, // Two months
quarter, // Three months - quarter
halfyear=6, // Half a year
year=12, // Year - 12 months
};
extern intervals =1 ;
[/PHP]الصورة




و الجديد و الجميل ، بما اننا نتكلم عن تعليق Comment و هى كلام ، فيمكننا كتابتها باللغة العربية ، مثل هذا

[PHP]
enum intervals
{
month=1, // كل شهر
two_months, // كل شهرين
quarter, // ربع سنوى
halfyear=6, // نصف سنوى
year=12, // سنوى
};

extern intervals month=1 ;
[/PHP]



مزيد من المراجع:

http://docs.mql4.com/basis/variables/inputvariables
http://docs.mql4.com/basis/types/integer/enumeration

بالتوفيق اخوانى الكرام

و ما بكم من نعمة فمن الله ، اللهم علمنا ما ينفعنا وانفعنا بما علمتنا وزدنا علما

جزاك الله خيرا

و السلام عليكم ورحمة الله وبركاته

اذا اعجبك الموضوع و اردت نشره في المنتديات الاخرى فاستخدم هذا الرابط:
الجديد فى برمجة الميتاتريدر MQL4=MQL5 (تعليم- القوائم Enumerations )
http://www.borsaat.com/vb/t820654.html




التعديل الأخير تم بواسطة سمير محمد ارمان ; 16 - 04 - 2015 الساعة 11:59 AM
IAEBusiness غير متواجد حالياً   رد مع اقتباس
قديم 16 - 04 - 2015, 11:32 AM   #2
محمد سلمان
عضو برونزي
 

افتراضي رد: الجديد فى برمجة الميتاتريدر MQL4=MQL5 (تعليم- القوائم Enumerations )

ماشاء الله اخوي جهد جبار تشكر عليه



محمد سلمان متواجد حالياً   رد مع اقتباس
قديم 16 - 04 - 2015, 12:20 PM   #3
سمير محمد ارمان
مشرف المؤشرات والاكسبرتات
 
الصورة الرمزية سمير محمد ارمان
 

افتراضي رد: الجديد فى برمجة الميتاتريدر MQL4=MQL5 (تعليم- القوائم Enumerations )

السلام عليكم اخى الكريم IAEBusiness
جزاك الله كل خير على هذا الموضوع الاكثر من رائع
لك كل شكر وتقدير مع رجاء منك
الاستمرار فى عرض الاكواد الحديثه مع الاستفاده منه
وزادك الله من علمه
تحياتى لك



سمير محمد ارمان غير متواجد حالياً   رد مع اقتباس
قديم 17 - 04 - 2015, 12:37 AM   #4
IAEBusiness
عضو جديد
 

افتراضي رد: الجديد فى برمجة الميتاتريدر MQL4=MQL5 (تعليم- القوائم Enumerations )

العفو يا اخوان ، لكن اين الصور التى كانت فى الشرح !!

لقد رفعتها مرتين ؟



IAEBusiness غير متواجد حالياً   رد مع اقتباس
قديم 19 - 04 - 2015, 10:34 AM   #5
IAEBusiness
عضو جديد
 

افتراضي رد: الجديد فى برمجة الميتاتريدر MQL4=MQL5 (تعليم- القوائم Enumerations )

اقتباس:
المشاركة الأصلية كتبت بواسطة محمد سلمان مشاهدة المشاركة
ماشاء الله اخوي جهد جبار تشكر عليه
الحمد لله و شكرا على مرورك اخى الكريم

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

وان شاء الله ان جاءت فرصة لشرح ما ساحاول ان اقدمها

اقتباس:
المشاركة الأصلية كتبت بواسطة IAEBusiness مشاهدة المشاركة
العفو يا اخوان ، لكن اين الصور التى كانت فى الشرح !!

لقد رفعتها مرتين ؟
وها هى الصورة مرة ثالثة لاهميتها و ان كان المفروض ان تكون متضمنة داخل الشرح



الصور المرفقة
نوع الملف: png MA.png‏ (10.3 كيلوبايت, المشاهدات 1)
نوع الملف: png inputs.png‏ (13.4 كيلوبايت, المشاهدات 32)
نوع الملف: png enumasinput.png‏ (50.2 كيلوبايت, المشاهدات 1)
نوع الملف: png EnumWithComment.png‏ (47.3 كيلوبايت, المشاهدات 0)
نوع الملف: png EnumWithComment_Ar.png‏ (45.3 كيلوبايت, المشاهدات 0)
IAEBusiness غير متواجد حالياً   رد مع اقتباس
إضافة رد

جديد مواضيع منتدى المؤشرات و الاكسبرتات


الكلمات الدلالية (Tags)
برمجة, enumeration, enumerations, تعلم, قوائم

مواضيع سابقة :

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

مواضيع تالية :

طلب تعديل التنبيه
أرجو تعديل المؤشر المرفق
هل ممكن الكود البرمجي

الجديد فى برمجة الميتاتريدر MQL4=MQL5 (تعليم- القوائم Enumerations )

أدوات الموضوع

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

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

الانتقال السريع

المواضيع المتشابهه
الموضوع المنتدى
كتاب تعليم لغة Mql4 لبرمجة المؤشرات والاكسبيرتات منتدى المؤشرات و الاكسبرتات
قريبا: ميتاقوتس تضيف ميزات MQL5 الى MQL4 منتدى برامج التداول و الشارتات و الشركات
أعصار : الكتاب الشامل فى تعليم برمجة وتصميم المواقع بإسلوب المحترفين web2.0 برامج كمبيوتر و انترنت


روابط الموقع الداخلية


08:59 PM
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Privacy Policy
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc. (Unregistered)

الاتصال بنا - بورصات - الأرشيف - تنشيط العضوية - اعلن معنا - الأعلى    تحذير المخاطرة