Header

 


تبرع لدعم المنتدى

ممنوع منعاً باتاً وضع صور النساء في المواضيع و التواقيع , أو نشر فيديوهات او صور فضائح

 سيتم حذف أي موضوع أو توقيع يشمل ذلك .

العودة   منتــدى الأعمـــال > منتدى تداول العملات ( الفوركس ) و المعادن > قسم المؤشرات والاكسبرتات Indicators & Experts Advisors

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
قديم 01-07-2010, 03:15 AM   #1
nermine
مشرفة منتدى الأعمال
الصورة الرمزية nermine

المعلومات





آحدث المواضيع


الاتصال

nermine غير متصل

nermine is on a distinguished road
Post تعال وتعلم معنا لغة mql4 حتى الاحتراف




هذا الموضوع سيكون سلسلة دروس لتعلم لغة المال 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 وهو يمثل أدنى سعر وصل إليه في الشمعة المحددة.

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

- سعر الإغلاق 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 تعطينا سعر الإغلاق للشمعة التي تسبقها وهكذا.
وكذلك فإن لأسعار الفتح والأعلى والأدنى مصفوفات خاصة بها كما سنرى في الدروس القادمة بإذن الله.


يتبع






تستطيع أن تنشر الموضوع قي حسابك على  الفيس بوك وتويتر

رد مع اقتباس
قديم 01-07-2010, 03:16 AM   #2
nermine
مشرفة منتدى الأعمال
الصورة الرمزية nermine

المعلومات





آحدث المواضيع


الاتصال

nermine غير متصل

nermine is on a distinguished road
افتراضي رد: تعال وتعلم معنا لغة mql4 حتى الاحتراف

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


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


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


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


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


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


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


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


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


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


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


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


كل الوظائف تستطيع أن تعود بقيمة معينة يتم حسابها وفق المعلومات الداخلة إليها.


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


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


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


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


كما أنه يعرض لك كودك البرمجي بالألوان التي تميز الأوامر من الوظائف من المتحولات من الثوابت من التعليقات وهكذا.

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


في حالتنا فإن برنامج الميتا إيديتور هو بيئة التطوير للغلتنا MQL4.


== نظام العمل System: نظام العمل هو عبارة عن النظام المستهدف من برنامجنا فنحن نكتب برنامج بلغة السي أو الفيجول بيسك ليعمل تحت النظام ويندوز.


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


ولن يعمل أي برنامج إلا تحت بيئته المصمم لها.


فبرنامج الفيجول بيسك أو السي لن يعمل تحت نظام الميتاتريدر وبرنامجنا المؤشر أو الاكسبيرت لن يعمل تحت نظام الويندوز.



لا تخف من الكلام السابق لأنه سيصبح من البديهيات بالنسبة إليك فيما بعد إن شاء الله.




وكل ما أريده منك أن تستعد للدروس القادمة ذات الوزن الثقيل.

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


ولا تسألني عن تفاصيل برمجية إضافية الآن لأن كل الكلام السابق سوف نشبع منه ومن تفاصيله في الدروس القادمة إن شاء الله.


والآن أترك لأسئلتكم واستفساراتكم إثراء الموضوع أكثر وأكثر.

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

يتبع






رد مع اقتباس
قديم 01-07-2010, 03:17 AM   #3
nermine
مشرفة منتدى الأعمال
الصورة الرمزية nermine

المعلومات





آحدث المواضيع


الاتصال

nermine غير متصل

nermine is on a distinguished road
افتراضي رد: تعال وتعلم معنا لغة mql4 حتى الاحتراف

تحليلات فنية لحظية ومستويات العملات حصريا ولأول مرة باللغة العربية


تم تصغير هذه الصورة تلقائياً. أبعاد الصورة الحقيقي 567*565 و بحجم 143KB.






رد مع اقتباس
قديم 04-07-2010, 04:30 PM   #4
mtkhreb
الصورة الرمزية mtkhreb

المعلومات





آحدث المواضيع


الاتصال

mtkhreb غير متصل

mtkhreb is on a distinguished road
افتراضي رد: تعال وتعلم معنا لغة mql4 حتى الاحتراف

الله يعطيك العافية ..

في انتظار درسك القادم






رد مع اقتباس
قديم 10-07-2010, 04:43 AM   #5
nermine
مشرفة منتدى الأعمال
الصورة الرمزية nermine

المعلومات





آحدث المواضيع


الاتصال

nermine غير متصل

nermine is on a distinguished road
افتراضي رد: تعال وتعلم معنا لغة mql4 حتى الاحتراف

متكهرب
اسعدت بتواجدك هنا
تقديري لك


تحياتي
نرمين من المغرب






رد مع اقتباس
إضافة رد

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


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

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

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

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


 
   ابحث في المنتدى برعاية Google
واحصل على نتائج افضل    
Search with Google
أدخل العبارة التي تبحث عنها
 
 

ط³ظٹط§ط³ط© ط§ظ„ط®طµظˆطµظٹط© / Privacy-Policy

سياسة الخصوصية / Privacy-Policy جميع الحقوق محفوظة لمنتدى الأعمال

الساعة الآن 07:32 PM
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd
Protected by Mt.AtSh

أنواع التأمين insurance management services http://www.insurance-2.com/
روائع تستحق المشاهدة misc wonders , news http://misc-wonders.blogspot.com/
الربح من الانترنت how to make money online http://moneyrood.blogspot.com/
أغاني للأطفال kids and songs http://kidsandsongs.blogspot.com/
كتاب كيف تصبح مليونير من الانترنت graphic design http://gfxnew.net/go/
بال ديزاين للتصميم والاستصافة hosting and web design http://paldesign.net/