النتائج 31 إلى 45 من 237
- 11-12-2007, 01:19 PM #31
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
اليكم اخوتى الاحباب الدرس الاول للاستاذ وضاح عطار على هيئة ملف وورد
- 11-12-2007, 07:52 PM #32
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
اشكرك على هذا الدرس الممتاز
وسوف اكون معك في الدروس القادمة
- 12-12-2007, 10:50 PM #33
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
جزاك الله كل خير
وبإنتظار الدرس الثاني
- 13-12-2007, 10:23 AM #34
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
اخوي وضاح الله يعطيك الف عافيه عندس سؤال
ما الفرق بين الاكسبرت واللاندكيتر والسكربت وايهما افضل بالاستراتيجيات بارك الله فيك
وانا قد لاحظت بان الكلمات المحجوزه في هذه اللغه اقل من لغة السي هل هذه هي فقط الكلمات المحجوزه الموجوده في هذه اللغه وهل من عنده خلفيه على قد حاله بلغة السي ++ ممكن تسهل عليه المهمه باذن اللهآخر تعديل بواسطة nart ، 13-12-2007 الساعة 10:41 AM
- 13-12-2007, 01:34 PM #35
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
احنا متابعين و منتظرين الدرس الجديد!!! انت اتأخرت علينا اوي
- 13-12-2007, 01:46 PM #36
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
بسم الله الرحمن الرحيم
في هذا الدرس سنتطرق إلى الخطوات الواجب اتباعها قبل أن نبدأ عمليا في برمجة المؤشر ( وليس الاكسبيرت فهو له موضوع آخر في درس آخر ).
ثم نبدأ في كتابة مؤشر بسيط يكون أول مؤشر لنا في هذه الدورة المباركة إن شاء الله.
وهذه الخطوات النظرية هي كالتالي:
- أن تكون الفكرة النظرية للمؤشر والهدف منه واضحة تماما لنا وكذلك طريقة حسابه رياضيا.
- أن نحدد هل سيتم رسم المؤشر في نافذة الشارت نفسه أم في نافذة منفصلة عنه.
- يتم معرفة هذا الأمر من خلال فكرة المؤشر نفسه بحيث إذا كانت خطوط المؤشر ستكون قيمها قريبة من الأسعار على الشارت فهذا يعني أنه لا بد من رسم المؤشر على نافذة الشارت الأساسية.
وذلك مثل مؤشر الموفينج أفريج حيث يتم رسمه على النافذة الأصلية للشارت ويدور حول السعر.
أما إذا كان المؤشر يرسم لنا قيما مختلفة تماما عن السعر ولا يمكن وضعه على النافذة الأساسية لأنه لن يظهر أساسا لو فعلنا ذلك. فعندها يجب أن نرسمه على نافذة منفصلة فرعية.
وذلك مثل معظم المؤشرات التذبذبية التي تأخذ قيما من 0 - 100 أو من -1 - +1 وهكذا.
- إذن من خلال معرفتنا للقيم الناتجة عن مؤشرنا الجديد يجب أن نقرر هل سيكون في نافذة الشارت نفسه ( رقمها البرمجي صفر ) أو في نافذة منفصلة عن الشارت ( تأخذ رقم برمجي يبدأ من الواحد لأول نافذة منفصلة ثم اثنين وهكذا ).
- يجب تحديد شكل المؤشر الذي نريده على الشارت هل هو خط متصل ( مثل مؤشر الموفينج أفريج ) أو خطوط عمودية ( مثل الماكد ويسمى تسمى هيستوغرام ) أو خطوط مقطعة مثل مؤشر الزيج زاك ).
يتم تحديد الطريقة المناسبة لإظهار خطوط المؤشر بناء على رؤية المبرمج نفسها لمؤشره بحيث يعرض المؤشر بأسهل طريقة بالنسبة لمستخدمي مؤشره.
- يجب تحديد الألوان المناسبة لخطوط المؤشر بحيث يراعي المبرمج فيها الوضوح والتباين الجيد لها وقدرة الألوان على الظهور بوضوح على الخلفية السوداء أو البيضاء للشارت.
- هناك أمور شكلية أخرى مثل سماكة الخطوط وهل هي متصلة أم منقطة وهكذا.
- يجب أيضا أن يسمح المبرمج لمستخدمي مؤشره أن يتحكموا في هذه الأمور الشكلية من خلال خصائص المؤشر نفسها.
- يجب تحديد خصائص المؤشر الرئيسية التي يستطيع المستخدم تغييرها بناء على طريقته في استخدام المؤشر.
وغالبا تكون خاصية الفترة من أهم هذه الخصائص.
- أي يجب أن يكون المؤشر مرنا جدا في التعامل وذلك بأن يحاول المبرمج إخراج القيم الداخلية للمؤشر لتصبح خصائص يستطيع المستخدم التحكم فيها بنفسه.
- يجب أيضا أن تكون هذه الخصائص واضحة للمستخدم أي يجب على المبرمج اختيار اسم واضح للخاصية يكون مفهوما منه عمل وتأثير هذه الخاصية على عمل المؤشر.
ويجب أن لا يستخدم المبرمج اسم خاصية مثلا تكون عبارة عن حرف واحد ليس له مدلول.
- يجب أن تكون المعادلات الرياضية أو طريقة حساب قيم المؤشر واضحة للمبرمج.
أمور أخرى يجب على المبرمج أن يحددها لمؤشره وهي:
- اسم المؤشر التجاري ويفضل أن يكون له مدلولا واضحا وإذا أراد أن يربطه باسمه فلا بأس كما أفعل أنا مع مؤشراتي مثل Waddah Attar Explosion.
- نص الحقوق المحفوظة وموقع أو إيميل المبرمج وهذا يسهل على المستخدمين أن يصلوا للمبرمج في حال انتشر هذا المؤشر على الشبكة العنكبوتية.
- أي معلومات إضافية يريد المبرمج أن تظهر على الشارت كنصوص مساعدة أو خطوط أو غير ذلك من العناصر الإيضاحية.
- أمور أخرى مثل تاريخ الصلاحية لمؤشره وهل يريده أن يعمل على حساب حقيقي فقط أو ديمو فقط أو الاثنان معا وهكذا.
- 13-12-2007, 02:12 PM #37
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
والآن سنتكلم عن الخطوات الفعلية لعمل مؤشر ومن ثم تشغيله على الشارت فعليا.
وبذلك أنت ستكون قد وضعت رجلك على أولى خطوات أن تصبح مبرمجا إن شاء الله
الخطوات الفعلية لعمل مؤشر حقيقي:
1- توضيح الفكرة من هذا المؤشر الجديد والهدف منه:
فكرة المؤشر هي عبارة عن رسم خطين عمودين لكل شمعة.
الخط الأول باللون الأحمر يمثل طول الشمعة بالنقاط أي الفرق بين الهاي واللو لكل شمعة.
الخط الثاني باللون الأخضر يمثل طول جسم الشمعة وأيضا بالنقاط أي الفرق بين الإغلاق والفتح.
الهدف من هذا المؤشر معرفة مقدار التزايد في أطوال وأجسام الشموع الموجودة على الشارت.
2- مؤشرنا سنقوم برسمه على نافذة منفصلة لأنه لا يمكن عمليا أن يرسم على الشارت نفسه لاختلاف النسب بين قيم المؤشر وبين قيم الأسعار.
3- لا يوجد لهذا المؤشر أي خصائص خارجية حاليا.
4- تم تحديد الألوان وطريقة إظهار الخطوط على النافذة المنفصلة.
5- نص الحقوق المحفوظة سيكون "Copyright 2007 Waddah Attar".
6- نص الرابط لموقع أو ايميل سيكون [email protected].
7- اسم المؤشر سيكون Candle Length.
بالخطوات السابقة نكون قد حددنا كل المعلومات الضرورية للبدء في برمجة هذا المؤشر الجديد.
والآن لنبدأ في الخطوات المباشرة لكتابة النص البرمجي للمؤشر:
1- شغل برنامج التداول ميتا تريدر.
2- اضغط F4 أو انقر الأيقونة الصفراء أعلى وسط برنامج التداول.
3- سوف يظهر برنامج الميتا إيديتور. اضغط Ctrl+N لإنشاء برنامج جديد.
4- سوف يظهر نافذة نحدد من خلالها نوع البرنامج الذي نريد إنشائه وهو عبارة عن مؤشر ولذلك نختار Custom Indicator. ثم نضغط زر التالي.
5- سوف يظهر نافذة أخرى نكتب فيها اسم المؤشر Candle Length في حقل Name.
6- نكتب أيضا معلومات الحقوق المحفوظة في حقل Author.
7- نكتب اسم الموقع أو الإيميل في الحقل Link.
8- الاسم ضروري كتابته أما الحقوق المحفوظة والرابط فهما اختياريان ولكن يفضل ليكون العمل احترافيا أن نكتبهما.
9- نضغط زر التالي لتظهر نافذة أخرى جديدة.
10- ما يهمنا فيها أن نختار أن المؤشر الجديد سيظهر في نافذة منفصلة لذلك نضع علامة اختيار على الخيار Indicator in separate window.
11- نضغط إنهاء وعندها ستظهر نافذة المؤشر مع قليل من الكود البرمجي وتبقى علينا مهمة إكماله بالفكرة التي نريد من مؤشرنا أن يقوم بها.
شرح أولي للكود الذي ظهر لنا:
- أي شيء يظهر باللون الفضي هو عبارة عن تعليقات لا يتم تنفيذها وإنما تساعدنا على تنسيق الكود وإضافة شرح داخل النص البرمجي نفسه.
- أول سطرين نراهما باللون الأزرق هما الأمرين الذين وضعنا فيهما نص الحقوق المحفوظة ونص الرابط وهما على الشكل التالي:
كود PHP:#property copyright "Copyright 2007 "
#property link "[email protected]"
كود PHP:#property indicator_separate_window
كود PHP:#property indicator_chart_window
كود PHP:#property copyright "Copyright © 2007"
#property link "[email protected]"
#property indicator_chart_window
int init()
{
return(0);
}
int deinit()
{
return(0);
}
int start()
{
int counted_bars=IndicatorCounted();
return(0);
}
الوظيفة init نضع فيها كل الأوامر البرمجية التي نريد تنفيذها مرة واحدة عند بدء تشغيل البرنامج ( المؤشر ).
الوظيفة start نضع فيها كل الأوامر البرمجية التي نريد تنفيذها مع كل تغير في السعر.
الوظيفة deinit نضع فيها كل الأوامر البرمجية التي نريد تنفيذها مرة واحدة عند إزالة المؤشر من على الشارت.
شرح أكثر للوظيفة Function وطريقة كتابتها بشكل عام:
كما قلنا في الدرس الأول أن الوظيفة عبارة عن كتلة من الأوامر البرمجية تنفذ بكتابة اسم الوظيفة.
وهذه الوظيفة تعود لنا بقيمة نختارها عن طريق الأمر return وغالبا يكون موجودا آخر الوظيفة.
لكل وظيفة اسم يجب أن يكون ملائما لشروط التسمية في لغة MQL4 وهي:
- أن يبدأ اسم الوظيفة بحرف وليس رقم.
- أن لا يزيد عن أربعين حرف.
- أن لا يحتوي على رموز ممنوعة مثل + - \ / * % ^ # % @ ! الخ.
- أن لا يكون أحد الأسماء المحجوزة للغة MQL4 نفسها مثل print و int وغيرها من الكلمات المحجوزة التي لا يمكننا تسمية وظائفنا بها.
كما يجب أن نحدد للوظيفة نوع القيمة التي ستعود بها هل هي رقمية أو نصية أو غيرها من أنواع البيانات المعروفة.
تكون الصيغة النصية لكتابة وظيفة ما على الشكل التالي:
نكتب أولا نوع القيمة العائدة مثل int أو double حيث int تعني أن القيمة العائدة رقم صحيح مثل 859 و double تعني أن القيمة المعادة رقم بفاصلة عائمة مثل 1.2358.
بعد ذلك نكتب اسم الوظيفة وفق شروط التسمية التي شرحناها أعلاه.
بعد ذلك نكتب قوسين هلاليين يغلق الثاني الأول على الشكل ().
بعد ذلك نفتح قوسين استهلاليين {} نكتب داخلهما الكود الذي نريد.
وتكون صيغة الوظيفة النهائية على الشكل التالي:
كود PHP:int FunctionName()
{
return(0);
}
كود PHP:int FunctionName() { return(0); }
- 13-12-2007, 03:56 PM #38
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
يعطيك العافيه والله يبارك فيك على هذا المجهود
- 13-12-2007, 05:02 PM #39
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
جزاك الله كل خير
- 13-12-2007, 07:09 PM #40
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
أهلا بك
لكل نوع مهمة خاصة
المؤشر يقوم برسم خطوط وفق معادلات خاصة
الاكسبيرت يقوم بالبيع والشراء وفق استراتيجية معينة
الاسكريبت يقوم بمهمة برمجية مرة واحدة مثل اغلاق العقود أو فتح صفقة وهكذا.
لغة MQL4 هي نسخة مصغرة جدا من لغة C ولكن لها نفس التركيب اللغوي وجزء من الكلمات المحجوزة فقط .
- 15-12-2007, 10:09 PM #41
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
أخي وضاح جزاك الله خير وشكرا لك على الشرح الرائع والمفيد , ارجو منك توضيح هذه النقطه في الاقتباس حيث انني فهمت من كلامك ان سبب عدم وضع المؤشر على الشارت هوا ان الارقام(اسعار اي زوج عمله ) عدد عشري(كسر) وليس صحيح فلايمكن وضع المؤشر هذا على الشارت لان الناتج سوف يكون عدد صحيح للمؤشر وليس رقم عشري ...فهل فهمي صحيح لهذه النقطه ؟ وشكرا لك مره أخرى
آخر تعديل بواسطة أحمد سليمان ، 15-12-2007 الساعة 10:16 PM
- 16-12-2007, 05:02 AM #42
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
يعطيك العافيه الاستاذ وضاح جعل ماتقوم به في ميزان حسناتك
اخوي وضاح
لي استفسارين
الاول : كيف يتم الرجوع للمؤشر بعد عمل الخطوات الاوليه له لتكملة العمل عليه؟
الثاني : هل استطيع ان اضع بعض الاستفسارات عن برمجة مؤشر آخر غي اللي نعمل عليه سوياً؟
شاكر لك
- 16-12-2007, 03:28 PM #43
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
أهلا بك أخي
سبب وضع المؤشر في نافذة منفصلة ليس بسبب الخانات العشرية .
بل بسبب أن المجال يكون متغير بين قيم الأسعار التي تظهر على الشارت الرئيسي وبين قيم المجال للمؤشر نفسه.
فمثلا مؤشر الستوكاستك يتحرك في مجال من 0 - 100 دائما على جميع الأزواج وجميع الفريمات .
ولا يمكن رسمه مع نافذة الشارت الأصلية التي تحوي السعر نفسه .
لذلك عند اختلاف مجالات القيم يتم فصل نافذة المؤشر عن نافذة السعر .
- 16-12-2007, 03:33 PM #44
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
أهلا بك أخي أبو فهد
بمجرد عمل المؤشر وحفظه فإنك ستراه في نافذة المؤشرات المخصصة مثله مثل باقي المؤشرات الأخرى .
وبمجرد رغبتك في تعديله اختره ثم اضغط Enter وسوف يفتحه لك في نافذة التعديل في برنامج ميتاإيديتور .
يمكنك وضع كافة استفساراتك في موضوع الأسئلة البرمجية المثبت أعلى القسم .
أو فتح موضوع خاص به .
أما هنا فيفضل أن لا نشتت تسلسل أفكار الدورة .
شكرا لك ولتوصياتك الهامة جدا التي أتابعها باهتمام بالغ وأتمنى أن تعلمنا مما علمك الله .
- 16-12-2007, 06:05 PM #45
المواضيع المتشابهه
-
للمبتدأين (حلل وتعلم) ضع تحليلاتك وتعلم من اخطائك
By BahraiN in forum استفسارات وأسئلة المبتدئينمشاركات: 248آخر مشاركة: 14-05-2012, 10:27 PM -
اريد كتاب به مفاتيح طرق الاحتراف
By عزيز in forum استفسارات وأسئلة المبتدئينمشاركات: 13آخر مشاركة: 29-08-2006, 03:48 AM