+ Reply to Thread
Page 1 of 18 1 2 3 11 ...
Results 1 to 10 of 179

 

Thread: تعال وتعلم معنا لغة mql4 حتى الاحتراف مثبت

  • Thread Tools
  1. #1 Collapse post
    ahmedelssaidy is offline
    عضو ذهبى Array
    Join Date
    Nov 2012
    Location
    ỄĞỷ ĿłVỂ ķşǻ
    Posts
    1,243
    Accrued Payments
    88 USD
    Thanks
    0
    Thanked 58 Times in 48 Posts
    SubscribeSubscribe
    subscribed 0

    explaination2 تعال وتعلم معنا لغة mql4 حتى الاحتراف مثبت


    ====================================

    هذا الدرس سألخص فيه كل المعلومات الأساسية عن اللغة MQL4 بحيث يجب على الجميع فهم هذه المعلومات واستيعابها بشكل جيد.

    ستكون هذه المعلومات على شكل نقاط لسهولة الطرح والفهم وطرح الأسئلة.

    1- هذه اللغة خاصة لبرامج التداول ميتاتريدر الإصدار الرابع وهو الإصدار الأحدث ( لأن لغة الإصدارات السابقة مختلفة وملغية ).

    2- هيكلية هذه اللغة مشابهة ومطابقة للغة السي ( C ) بحيث سيجد مبرمج السي سهولة أكبر في تعلمها ولكن يجب أن لا يخاف
    من لا يعرف السي أو البرمجة بشكل عام. لأنه يستطيع بسهولة مجاراة مبرمج السي مع قليل من الجهد.

    3- اللغة MQL4 حساسة لحالة الأحرف يعني مثلا الوظيفة OrderSend لن تتعرف عليها اللغة إذا ما كتبتها
    ordersend. وسيعطيك رسالة خطأ. لذلك يجب الانتباه جيدا عند كتابة الكود.

    4- الكود والسورس والنص البرمجي ونص البرنامج كلها مرادفات لنفس المعنى.

    5- لهذه اللغة MQL4 محرر برامج يسمى ميتا إيديتور ****Editor ومن خلاله نستطيع كتابة برامجنا وعمل نسخة تنفيذية لها ينفذها برنامج التداول.

    6- برنامج التداول ميتاتريدر ****Trader لا يتعرف على النص البرمجي مباشرة mq4 بل يتعرف فقط على النسخة التنفيذية ex4.

    7- هناك ثلاثة أنواع من البرامج التي يمكن كتابتها مع هذه اللغة: برنامج مؤشر - برنامج اكسبيرت - برنامج سكريبت.

    8- هناك أنواع إضافية مساعدة من أنواع الكود الذي يمكن كتابته أيضا مثل قوالب البرامج ومكتبات الأكواد الجاهزة.

    9- يحتوي برنامج الميتاإيديتور على نظام مساعدة قوي. فقط ضع الكورسر على أي كلمة في النص البرمجي واضغط F1 ليظهر لك مباشرة طريقة
    استخدام الوظيفة مع الشرح والبارامترات وأي وظائف أخرى مشابهة.


    شرح برنامج التداول من وجهة نظر لغة البرمجة MQL4:

    سأقوم هنا بشرح المفاهيم والمصطلحات التي سبق وأن تعرفت عليها في برنامج التداول والتي لها أهمية خاصة في لغة البرمجة MQL4 والتي سوف
    تراها كثيرا كوظائف أو متحولات في نص اللغة نفسها.

    بكلام آخر كل هذه المصطلحات ستراها في اللغة MQL4 لذلك ركز معها قليلا وحاول أن تنظر لها على أساس أنها مفاهيم برمجية.

    - رمز العملة Symbol وهو يمثل اسم العملة أو السلعة مثل GBPUSD أو EURUSD.

    - سعر الطلب Ask وهو يمثل السعر الذي تشتري به.

    - سعر العرض Bid وهو يمثل السعر الذي تبيع به.

    - أعلى سعر High وهو يمثل أعلى سعر وصل إليه في الشمعة المحددة.

    - أدنى سعر Low وهو يمثل أدنى سعر وصل إليه في الشمعة المحددة.

    - سعر الإفتتاح **** وهو يمثل سعر الافتتاح في الشمعة المحددة.

    - سعر الإغلاق Close وهو يمثل سعر الإغلاق في الشمعة المحددة.

    - حجم التداول Volume وهو يمثل حجم التداول الحاصل في الشمعة المحددة.

    - الزمن Time وهو يمثل وقت وتاريخ الشمعة الحالية.

    - الفترة Period وهو يمثل الفترة التي نعمل عليها هل هي يوم أو أربع ساعات وهكذا.

    - عدد الشموع Bars وهو يمثل عدد الشموع الموجودة على الشارت الحالي.

    - الخانات العشرية Digits وهو يمثل عدد الخانات العشرية لكل نوع من زوج العملات. فمثلا الباوند دولار له أربع خانات بعد الفاصلة بينما الذهب له خانتان فقط.

    - قيمة النقطة Point وهي تمثل قيمة النقطة العشرية. فهي مثلا في الباوند دولار تساوي 0.0001 وفي الذهب تساوي 0.01.

    - معلومات كاملة عن الصفقات المفتوحة تجدها أسفل البرنامج في صفحة Trades حيث نجد رقم الصفقة وتاريخ فتحها وسعر الفتح والهدف
    والستوب وغيرها من المعلومات الأخرى.
    كل هذه المعلومات نستطيع الوصول لها برمجيا من خلال وظائف خاصة بالصفقات.

    - في الصفحة المجاورة Account History سوف نجد كل المعلومات عن صفقاتنا المغلقة والمحذوفة وأيضا نستطيع الوصول لهذه المعلومات
    برمجيا بواسطة نفس الوظائف الخاصة بالصفقات.

    - كل المؤشرات القياسية والمؤشرات الخاصة والأدوات الرسومية الموجودة داخل برنامج الميتا تريدر نستطيع الوصول لها برمجيا واستخدامها داخل برامجنا.

    - كل المعلومات عن الحساب الحالي كرقمه واسمه واسم الشركة واسم السيرفر والربح أو الخسارة وغيرها من معلومات الحساب يمكن الوصول لهذه المعلومات برمجيا من خلال وظائف خاصة.


    وفيما يلي شرح نظري بحت عن لغة البرمجة MQL4

    وهو أيضا ينطبق على أي لغة برمجية أخرى.


    والغرض من هذا الشرح هو بناء أساس قوي لتعلم لغة البرمجة MQL4 وجعل أي معلومات مستقبلية مبنية على أساس متين من الفهم العميق لما تعنيه لغة البرمجة أصلا.


    - هذه اللغة مثل أي لغة برمجية أخرى كالفيجول بيسك أو الدلفي أو السي لها قواعد يجب أن تتعلمها وتمشي عليها.


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


    - كل حرف أو فاصلة أو قوس له معنى وإن أي إخلال بهذه القواعد يعني عدم القدرة على تنفيذ البرنامج أصلا.


    - لغة البرمجة تستطيع أن تنظر لها على أنها لغة محكية مثل أي لغة موجودة عالميا كاللغة العربية أو الانجليزية.


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


    - لن تستطيع البدء في كتابة برنامج قبل الإلمام التام بالعناصر الأساسية ونسبة كبيرة من العناصر الفرعية.


    - يعني يمكن البدء بالبرمجة بعد تمكنك من جميع العناصر الرئيسية للغة ومن ثم تثري خبرتك ومهاراتك بمزيد من الفهم للعناصر الإضافية المتنوعة.


    - وقد تصبح مبرمجا بارعا ولكنك مثلا لا تعرف طريقة إرسال بريد الكتروني أو كيفية نشر معلومات صفقاتك على النت مباشرة.


    - ولكن يجب عليك أن تعرف أن هناك هذه الإمكانية على الأقل في حال احتجت إليها.


    - نعود للغة البرمجة من جديد... كذلك فإن للغة البرمجة عناصر هي عبارة عن كلمات محجوزة وهيكلية معينة لكتابتها.


    - إن عناصر اللغة البرمجية تقريبا واحدة في كل لغات البرمجة ولكن تختلف كل لغة عن الأخرى بطريقة الكتابة وهيكلية اللغة.
    - كل اللغات البرمجية تتعامل مع الأرقام وحصرا مع الأرقام ولا تفهم إلا لغة الأرقام.


    - أي معلومة تتعامل معها اللغة البرمجية هي في النهاية رقم حتى ولو رأيتها أنت على أنها نص أو صورة أو رقم.


    - فمثلا لعرض نص معين على الشاشة نستخدم الأمر Print على الشكل التالي:
    - Print "Welcom World" فأنت هنا ترى نصا ولكنه في الحقيقة كله أرقام حيث أن الحرف W يمثله الرقم كذا والحرف e يمثله رقم آخر وهكذا.


    - وعند تنفيذ الأمر حقيقة يقوم الأمر Print بإعادة رقم الحرف W إلى حرف W على الشاشة وهلم جرا.


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


    - لذلك يجب أن تفكر أنت أيضا بنفس طريقة لغة البرمجة بحيث ترى الأشياء أمامك على أنها أرقام.


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


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



    - هذه المعلومات قد تبدو للوهلة الأولى بديهية لكنها على قدر كبير من الأهمية. ويجب التنبه لها جيدا.




    إن أي لغة برمجية تتكون من العناصر التالية:


    == الثوابت أو القيم الثابتة Constant: فكما قلنا سابقا بما أن اللغة البرمجية تتعامل مع الأرقام فقط ولأن العقل البشري لن يستطيع حفظ مدلولات كل الأرقام التي يحتاجها. فقد تطور مفهوم برمجي هام هو الثوابت.


    بمعنى بدل أن نستخدم الرقم 255 للدلالة على اللون الأحمر فإننا نكتب بدلا عن الرقم 255 الكلمة Red والتي هي عبارة عن متحول ثابت قيمته 255.


    وهكذا تم حل مشكلة التعامل مع مدلولات الأرقام بتحويل الأرقام إلى ثوابت ليتعامل معها المبرمج ثم يقوم البرنامج بتحويل هذه الثوابت إلى أرقام مرة أخرى عندما يتعامل هو معها.


    وسوف نجد الكثير من الثوابت في لغة البرمجة MQL4 والتي تسهل العملية البرمجية بشكل كبير.


    يمكننا طبعا إذا كانت ذاكرتنا قوية جدا أن نستخدم الأرقام مباشرة بدلا من استخدام الثوابت ولكن هذا الأمر شاق جدا عند كتابة الكود أو عند تعديله أيضا.


    == المتحولات Variables: وهي عبارة عن متحولات نستطيع تخزين قيم رقمية صحيحة دون فاصلة أو قيم رقمية بفاصلة أو قيم نصية أو قيم منطقية.


    والمتحولات هي عبارة أسماء نختارها نحن لحفظ المعلومات التي نريد فيها ويمكننا تغيير محتوياتها في أي لحظة نريد وذلك بعكس الثوابت التي لا يمكن تغيير محتواها.


    وهذه المتحولات ضرورية جدا لعمل البرنامج ولا يمكن أن يخلو أي برنامج منها.


    == المصفوفات Arrays: هي عبارة عن متحولات من نوع خاص مثل المصفوفات التي درسناها أيام الثانوي. بحيث تكون عبارة عن متحول له بعد واحد أو أكثر.


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


    مثال عن مصفوفات سوف نتعامل معها كثيرا في دروسنا القادمة هي مصفوفة سعر الإغلاق Close. حيث أن [Close[0 تعطينا سعر الإغلاق للشمعة الحالية.

    و [Close[1 تعطينا سعر الإغلاق للشمعة التي تسبقها وهكذا.
    وكذلك فإن لأسعار الفتح والأعلى والأدنى مصفوفات خاصة بها كما سنرى في الدروس القادمة بإذن الله.


    الشروط Conditions: تمكننا تعليمة الشروط من تنفيذ أمر برمجي أو كتلة من الأوامر البرمجية عند تحقق شرط أو شروط معينة.


    وعند عدم تحقق الشروط فإن الأوامر البرمجية الخاصة بهذه الشروط لن تنفذ. وهذه الخاصية الموجودة في كل اللغات هي ما تعطي لبرنامجنا نوع من الذكاء البشري.


    لأن معظم حياتنا تنطلق من تنفيذ شيء معين عند تحقق شروطه. فنحن نصلي العصر مثلا إذا أذن العصر أي أن الشرط قد تحقق. ولا نأكل حتى نجوع أي تحقق شرط الأكل ( نظريا ).
    فنحن دائما نتحقق من الشرط الخاص بالفعل لنقوم بهذا العمل في حال تحقق شرطه.


    وهكذا هي لغات البرمجة تبحث دائما عن تحقق شروط معينة لتنفيذ الأوامر المرتبطة بهذه الشروط. وإن قوة أي برنامج هي إحاطته الشاملة بكل الشروط والاحتمالات الممكنة والتي يعرف البرنامج عندها ماذا يفعل عند تحقق كل شرط منها.


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


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


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


    == الحلقات Loops: تعتبر الحلقات من الأمور الضرورية في أي لغة برمجية ولا يمكن الاستغناء عنها أبدا. وهي عبارة عن طريقة نستطيع من خلالها تكرار عمل روتيني موحد عدد محدد من المرات.


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


    == الوظائف Functions: الوظائف هي عبارة عن كتل برمجية يتم تجميعها في وظيفة واحدة يمكننا عندها استدعاء وتنفيذ كل هذه الكتلة البرمجية بكتابة اسم الوظيفة فقط.


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


    MQL4.

    Though trading on financial markets involves high risk, it can still generate extra income in case you apply the right approach. By choosing a reliable broker such as InstaForex you get access to the international financial markets and open your way towards financial independence. You can sign up here.


  2. الاعضاء التاليين يشكرون ahmedelssaidy علي هذه المشاركة المفيدة

    ???????(12-18-2015)

  3. #2 Collapse post
    mohamed sabry is offline
    عضو جديد Array
    Join Date
    Nov 2012
    Location
    مصر
    Posts
    44
    Accrued Payments
    3 USD
    Thanks
    0
    Thanked 0 Times in 0 Posts
    SubscribeSubscribe
    subscribed 0
    جزاك الله كل يخر على هذه المعلومات الرائعه
    تسلم ايدك

    Though trading on financial markets involves high risk, it can still generate extra income in case you apply the right approach. By choosing a reliable broker such as InstaForex you get access to the international financial markets and open your way towards financial independence. You can sign up here.


  4. #3 Collapse post
    ayman.shosha is offline
    البروفيسير Array
    Join Date
    Aug 2012
    Location
    جمهورية مصر العربية
    Posts
    10,635
    Accrued Payments
    1029 USD
    Thanks
    0
    Thanked 857 Times in 282 Posts
    SubscribeSubscribe
    subscribed 0
    مجهود رائع اخى العزيز
    ومدخل جيد لمحبى تعلم هذه اللغة المربحة
    الا اننى ولا اصادر على غيرى
    احب المتاجرة نفسها

    فإلى الامام ان شاء الله


    لو كان الرزق بيد العباد
    لما بقى على الارض سوى الجبابرة والعصاة ولن يرضوا


  5. #4 Collapse post
    MAGDY is offline
    خبير فوركس مصر Array
    Join Date
    Aug 2012
    Location
    صـعيد مصــر
    Posts
    6,289
    Accrued Payments
    1816 USD
    Thanks
    0
    Thanked 332 Times in 215 Posts
    SubscribeSubscribe
    subscribed 0
    مشكور يا أستاذنا الفاضل
    لتوضيح هذا الشرح المستفيض والرائع
    وإن شاء الله ، يستفيدوا منه المهتمين بالبرمجة
    تحياااااااااااااتى
    صــاحب خــــبرة والإحـســـاس نعـمـــة

  6. #5 Collapse post
    azifek is offline
    خبير فوركس مصر Array
    Join Date
    Sep 2012
    Posts
    7,078
    Accrued Payments
    710 USD
    Thanks
    3
    Thanked 165 Times in 147 Posts
    SubscribeSubscribe
    subscribed 0
    شكرا لك أخي الكريم على هذه المعلومات القيمة
    و هذه اللغة جد مهمة لكي نحول أي إستراتجية إلى اكسبرت و نعمل باك تست
    لنرى مدى نجاح تلك الإستراتجية
    بسم الله الرحمن الرحيم
    قُلْ هُوَ اللَّهُ أَحَدٌ * اللَّهُ الصَّمَدُ * لَمْ يَلِدْ وَلَمْ يُولَدْ * وَلَمْ يَكُن لَّهُ كُفُوًا أَحَدٌ


  7. #6 Collapse post
    sifoukechid is offline
    عضو محترف Array
    Join Date
    Nov 2012
    Location
    ALG
    Posts
    744
    Accrued Payments
    192 USD
    Thanks
    577
    Thanked 986 Times in 295 Posts
    SubscribeSubscribe
    subscribed 0

    السلام عليكم
    الف شكر لك اخي الكريم على المجهود الرائع
    جزاك الله خيرا
    بالتوفيق للجميع

    Though trading on financial markets involves high risk, it can still generate extra income in case you apply the right approach. By choosing a reliable broker such as InstaForex you get access to the international financial markets and open your way towards financial independence. You can sign up here.


  8. #7 Collapse post
    hamido656565 is offline
    عضو جديد Array
    Join Date
    Jan 2013
    Posts
    20
    Accrued Payments
    3 USD
    Thanks
    0
    Thanked 0 Times in 0 Posts
    SubscribeSubscribe
    subscribed 0
    شكرا لك يا اخي

    Though trading on financial markets involves high risk, it can still generate extra income in case you apply the right approach. By choosing a reliable broker such as InstaForex you get access to the international financial markets and open your way towards financial independence. You can sign up here.


  9. #8 Collapse post
    ahmedibrahem is offline
    Banned Array
    Join Date
    Feb 2013
    Posts
    777
    Accrued Payments
    0 USD
    Thanks
    0
    Thanked 2 Times in 2 Posts
    شكرا لك وسيتم متابعه الموضوع للاستفاده وعلشان نقدر
    بعد كده نشوف حل لموضوع الاكسبيرتات اللي بتحتاج هذا النوع من البرمجه

    Though trading on financial markets involves high risk, it can still generate extra income in case you apply the right approach. By choosing a reliable broker such as InstaForex you get access to the international financial markets and open your way towards financial independence. You can sign up here.


  10. #9 Collapse post
    chaieb83 is offline
    Banned Array
    Join Date
    Feb 2013
    Posts
    305
    Accrued Payments
    0 USD
    Thanks
    0
    Thanked 0 Times in 0 Posts
    مشكور يا أستاذنا الفاضل
    لتوضيح هذا الشرح المستفيض والرائع
    وإن شاء الله ، يستفيدوا منه المهتمين بالبرمجة
    تحياااااااااااااتى

    Though trading on financial markets involves high risk, it can still generate extra income in case you apply the right approach. By choosing a reliable broker such as InstaForex you get access to the international financial markets and open your way towards financial independence. You can sign up here.


  11. #10 Collapse post
    nh4 is offline
    عضو محترف Array
    Join Date
    Feb 2013
    Posts
    593
    Accrued Payments
    123 USD
    Thanks
    0
    Thanked 2 Times in 2 Posts
    SubscribeSubscribe
    subscribed 0
    هو صحيح الموضوع مش مكانه ولاكن
    لفته تشكر عليها لمن يتابع البرمجه
    وكمان فى فديوهات تم اصدارها لمن يهتم بالموضوع

    Though trading on financial markets involves high risk, it can still generate extra income in case you apply the right approach. By choosing a reliable broker such as InstaForex you get access to the international financial markets and open your way towards financial independence. You can sign up here.


+ Reply to Thread
Page 1 of 18 1 2 3 11 ...

Subscribe to this Thread (2)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Threads

Posts

Members