عرض مشاركة واحدة
قديم 11-06-2012, 04:22 PM   المشاركة رقم: 43
الكاتب
مازن المشهداني
عضو فعال
الصورة الرمزية مازن المشهداني

البيانات
تاريخ التسجيل: Apr 2011
رقم العضوية: 3568
المشاركات: 641
بمعدل : 0.13 يوميا

الإتصالات
الحالة:
مازن المشهداني غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : مازن المشهداني المنتدى : منتدى تعليم الفوركس
افتراضي الدرس التاسع .. برمجة مؤشرك الأول (جزء 1)

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

مرحبا بكم في الدرس التاسع ... برمجة مؤشرك الأول (جزء 1)

سنبدأ من الأن الدروس العملية وصناعة البرامج .

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

اليوم سنبدأ بصنع مؤشر بسيط , وهو ما سيقدم لنا الكثير في فهمنا لهذه اللغة .

وهو سيقوم على عملية طرح اعلى سعر ( High ) من اقل سعر ( Low ) ويخرج النتائج , لا تستعجل .. ستعرف كل شئ عما قريب .

دعونا نبدأ على بركة الله

محرر الميتا MetaEditor :

وهو برنامج صمم بواسطة الميتاتريدر لتستطيع من خلاله كتابة برامجك وتسهيل عملية الكتابة لك بالأضافة الى وجود مجمع compiler خاص به .. واكثر .

لفتح برنامج محرر الميتا ,قم بتشغيل الميتاتريدر ومن ثم اضغط على F4 .. او اذهب الى قائمة Tools واختر MetaEditor .. او اضغط على الأيقونة الخاصة بها على القائمة العلوية في البرنامج
وبعدها سيقوم بفتح المحرر سنلاحظ 3 نوافذ في محرر الميتا :

1- نافذة محرر النصوص Editor window : والتي تقوكم بكتابة برنامجك فيها .

2- نافذة صندوق الأدوات Toolbox window : وهي تحتوي على 3 اقسام :

a- قسم الأخطاء Errors : وهنا يمكنك ان ترى أخطاء اكواد برنامجك بعد عملية التجميع compile .

b- قسم البحث في الملفات Find in files : وهنا يمكنك البحث عن اي كلمة محجوزة داخل الميتا بكتابتها هنا لو الضغط على CTRL +SHIFT+ F .

c- قسم المساعدة Help : يمكنك معرفة كل شئ عن اي دالة او كلمة محجوزة بتظليلها ومن ثم الضغط على F1 وستجد كل المعلومات عنها في هذه النافذة .

3- نافذة مستكشف محرر الميتا Navigtor window : وتحتوي على 3 اقسام :

a- قسم الملفات Files : يسهل عملية فتح وادارة الملفات الموجودة بمجلد الميتاتريدر .

b- الموسوعة Dictionary : ويحتوي على نظام المساعدة Help الكامل لمحرر الميتا .

c- قسم البحث Search : لتسهيل البحث في الموسوعة .

انصحكم بالأبحار في برنامج محرر الميتا وقوائمة ليصبح مألوفا أكثر لكم .

الأن دعونا نستمتع ببرمجة مؤشرنا الأول :

* اول ثلاثة خطوات :

الأن نقوم بتشغيل برنامج محرر الميتا , ومن ثم علينا القيام ب 3 خطوات لبدء عملية برمجة المؤشر :

1- الخطوة الأولى : نضغط على قائمة الملفات file ونختار New ( او نضغط CTRL+N ) ليفتح لنا محرر الميتا برنامج التوجيه والذي سينقلنا للخطوة الثانية .

علينا ان نختار خيار المؤشر او Custom Indicator Program ومن ثم نضغط التالي Next

2- الخطوة الثانية : متى ضغطت على Next , سينقلك برنامج التوجيه الى الصفحة الثانية والتي يمكنك من خلالها ان تكتب خصائص المؤشر الرئيسية , وهذه الخصائص التي يمكنك كتابتها في هذه الخطوة :

a- اسم برنامجك ( المؤشر ) Name : وهو الأسم الذي سيظهر لمستخدمي المؤشر وسيعرف به .

b- اسم المبرمج Auther : صانع المؤشر ( اسم المبرمج ) .

c- رابط لموقعك الخاص Link .

d- قائمة المتغيرات الخارجية External variables list : سأتوقف هنا لأذكرك بالمتغيرات الخارجية :

المتغيرات الخارجية هي المتغيرات الموجودة في البرنامج ( المؤشر ) وتخزن في اكواده مع الكلمة المحجوزة extern وتظهر كإعدادات للمؤشر للمستخدم العادي عند تشغيل المؤشر ( راجع درس المتغيرات ).

وهذا الجزء من برنامج التوجيه هو من يسهل لك كتابة هذا النوع من المتغيرات

في مثالنا هنا لن نضع اي متغيرات حاليا , فقط سنضع القيم كما في الصورة ومن ثم نضغط التالي Next لننتقل الى الخطوة الثالثة .

3- الخطوة الثالثة : بعد الضغط على Next سينقلك برنامج التوجيه الى الخطوة الثالثة وهي الخطوة الخاصة بخصائص المؤشر الشكلية ( شكل ومكان المؤشر على الشارت ) .

كمثال , هنا في هذه الخطوة يمكنك وضع شكل المؤشر ( خط او هيستوجرام او نقط ) , كما يمكنك ايضا اختيار الألوان الأفتراضية له , عدد خطوط المؤشر , وايضا مكان ظهوره على الشارت ( سواء على النافذة الرئيسية للشارت او في نافذة مستقلة ) .

يحتوي برنامج التوجيه في هذه الخطوة على الخيارات التالية :

a- خيار مؤشر النافذة المستقلة Indicator in separate window : ان وضعت علامة على هذا الخيار سيتم رسم المؤشر في نافذة مستقلة ( مثل مؤشرات RSI والستوكاستيك والمومنتيم ) وليس في الصفحة الرئيسية للشارت , ومن ناحية أخرى ان لم تقم بوضع علامة على هذا الخيار , فسيظهر المؤشر على نافذة الشارت الرئيسية ( مثل مؤشرات الموفنج افرج وباربوليك سار والبولينجر باندز )

b- خيار الحد الأدنى Minimum : وهي متاحة فقط في حالة ما وضعت المؤشر في نافذة مستقلة , ووظيفتها وضع حد ادنى للمؤشر ( ارض المؤشر ) .

c- خيار الحد الأقصى Maximum : وهي متاحة فقط في حالة ما وضعت المؤشر في نافذة مستقلة , ووظيفتها وضع حد أقصى للمؤشر ( سقف المؤشر ) .

d- قائمة التصنيفات Indexes : هنا يمكنك وضع شكل المؤشر ( خط او نقط .. الخ ) ووضع الوانه اللأفتراضية ( احمر , اخضر .. الخ ).

سنعرف اكثر عن هذه الخيارات بالتفصيل في الدروس القادمة ان شاء الله .

الأن بعد ضغط زر انتهى Finish , سيختفي برنامج التوجيه وسيرجع بك المحرر الى نافذة تحرير النصوص , وخمن ماذا ايضا ؟

سترى المسودة الأولى لأكواد مؤشرك الأول .

وهذا هو الكود كما ستراه :

كود PHP:

//+------------------------------------------------------------------+
//| My_First_Indicator.mq4 |
//| dr_waleed |
//| http://www.moneyexpertsclub.com |
//+------------------------------------------------------------------+
#property copyright "dr_waleed"
#property link "http://www.moneyexpertsclub.com"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red

//---- buffers
double ExtMapBuffer1[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
string short_name = "Your first indicator is running!";
IndicatorShortName(short_name);
//----
return(1);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();

//---- check for possible errors
if (counted_bars<0) return(-1);
//---- last counted bar will be recounted
if (counted_bars>0) counted_bars--;

int pos=Bars-counted_bars;

double dHigh , dLow , dResult;
Comment("Hi! I'm here on the main chart windows!");

//---- main calculation loop
while(pos>=0)
{
dHigh = High[pos];
dLow = Low[pos];
dResult = dHigh - dLow;
ExtMapBuffer1[pos]= dResult ;
pos--;
}
//----
return(0);
}
//+------------------------------------------------------------------+



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

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



في الدرس القادم بأذن الله ستبدأ ببرمجة مؤشرك الأول (جزء 2)
اراكم على خير مجددا



التوقيع

عرض البوم صور مازن المشهداني  
رد مع اقتباس
  #43  
قديم 11-06-2012, 04:22 PM
مازن المشهداني مازن المشهداني غير متواجد حالياً
عضو فعال
افتراضي الدرس التاسع .. برمجة مؤشرك الأول (جزء 1)

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

مرحبا بكم في الدرس التاسع ... برمجة مؤشرك الأول (جزء 1)

سنبدأ من الأن الدروس العملية وصناعة البرامج .

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

اليوم سنبدأ بصنع مؤشر بسيط , وهو ما سيقدم لنا الكثير في فهمنا لهذه اللغة .

وهو سيقوم على عملية طرح اعلى سعر ( High ) من اقل سعر ( Low ) ويخرج النتائج , لا تستعجل .. ستعرف كل شئ عما قريب .

دعونا نبدأ على بركة الله

محرر الميتا MetaEditor :

وهو برنامج صمم بواسطة الميتاتريدر لتستطيع من خلاله كتابة برامجك وتسهيل عملية الكتابة لك بالأضافة الى وجود مجمع compiler خاص به .. واكثر .

لفتح برنامج محرر الميتا ,قم بتشغيل الميتاتريدر ومن ثم اضغط على F4 .. او اذهب الى قائمة Tools واختر MetaEditor .. او اضغط على الأيقونة الخاصة بها على القائمة العلوية في البرنامج
وبعدها سيقوم بفتح المحرر سنلاحظ 3 نوافذ في محرر الميتا :

1- نافذة محرر النصوص Editor window : والتي تقوكم بكتابة برنامجك فيها .

2- نافذة صندوق الأدوات Toolbox window : وهي تحتوي على 3 اقسام :

a- قسم الأخطاء Errors : وهنا يمكنك ان ترى أخطاء اكواد برنامجك بعد عملية التجميع compile .

b- قسم البحث في الملفات Find in files : وهنا يمكنك البحث عن اي كلمة محجوزة داخل الميتا بكتابتها هنا لو الضغط على CTRL +SHIFT+ F .

c- قسم المساعدة Help : يمكنك معرفة كل شئ عن اي دالة او كلمة محجوزة بتظليلها ومن ثم الضغط على F1 وستجد كل المعلومات عنها في هذه النافذة .

3- نافذة مستكشف محرر الميتا Navigtor window : وتحتوي على 3 اقسام :

a- قسم الملفات Files : يسهل عملية فتح وادارة الملفات الموجودة بمجلد الميتاتريدر .

b- الموسوعة Dictionary : ويحتوي على نظام المساعدة Help الكامل لمحرر الميتا .

c- قسم البحث Search : لتسهيل البحث في الموسوعة .

انصحكم بالأبحار في برنامج محرر الميتا وقوائمة ليصبح مألوفا أكثر لكم .

الأن دعونا نستمتع ببرمجة مؤشرنا الأول :

* اول ثلاثة خطوات :

الأن نقوم بتشغيل برنامج محرر الميتا , ومن ثم علينا القيام ب 3 خطوات لبدء عملية برمجة المؤشر :

1- الخطوة الأولى : نضغط على قائمة الملفات file ونختار New ( او نضغط CTRL+N ) ليفتح لنا محرر الميتا برنامج التوجيه والذي سينقلنا للخطوة الثانية .

علينا ان نختار خيار المؤشر او Custom Indicator Program ومن ثم نضغط التالي Next

2- الخطوة الثانية : متى ضغطت على Next , سينقلك برنامج التوجيه الى الصفحة الثانية والتي يمكنك من خلالها ان تكتب خصائص المؤشر الرئيسية , وهذه الخصائص التي يمكنك كتابتها في هذه الخطوة :

a- اسم برنامجك ( المؤشر ) Name : وهو الأسم الذي سيظهر لمستخدمي المؤشر وسيعرف به .

b- اسم المبرمج Auther : صانع المؤشر ( اسم المبرمج ) .

c- رابط لموقعك الخاص Link .

d- قائمة المتغيرات الخارجية External variables list : سأتوقف هنا لأذكرك بالمتغيرات الخارجية :

المتغيرات الخارجية هي المتغيرات الموجودة في البرنامج ( المؤشر ) وتخزن في اكواده مع الكلمة المحجوزة extern وتظهر كإعدادات للمؤشر للمستخدم العادي عند تشغيل المؤشر ( راجع درس المتغيرات ).

وهذا الجزء من برنامج التوجيه هو من يسهل لك كتابة هذا النوع من المتغيرات

في مثالنا هنا لن نضع اي متغيرات حاليا , فقط سنضع القيم كما في الصورة ومن ثم نضغط التالي Next لننتقل الى الخطوة الثالثة .

3- الخطوة الثالثة : بعد الضغط على Next سينقلك برنامج التوجيه الى الخطوة الثالثة وهي الخطوة الخاصة بخصائص المؤشر الشكلية ( شكل ومكان المؤشر على الشارت ) .

كمثال , هنا في هذه الخطوة يمكنك وضع شكل المؤشر ( خط او هيستوجرام او نقط ) , كما يمكنك ايضا اختيار الألوان الأفتراضية له , عدد خطوط المؤشر , وايضا مكان ظهوره على الشارت ( سواء على النافذة الرئيسية للشارت او في نافذة مستقلة ) .

يحتوي برنامج التوجيه في هذه الخطوة على الخيارات التالية :

a- خيار مؤشر النافذة المستقلة Indicator in separate window : ان وضعت علامة على هذا الخيار سيتم رسم المؤشر في نافذة مستقلة ( مثل مؤشرات RSI والستوكاستيك والمومنتيم ) وليس في الصفحة الرئيسية للشارت , ومن ناحية أخرى ان لم تقم بوضع علامة على هذا الخيار , فسيظهر المؤشر على نافذة الشارت الرئيسية ( مثل مؤشرات الموفنج افرج وباربوليك سار والبولينجر باندز )

b- خيار الحد الأدنى Minimum : وهي متاحة فقط في حالة ما وضعت المؤشر في نافذة مستقلة , ووظيفتها وضع حد ادنى للمؤشر ( ارض المؤشر ) .

c- خيار الحد الأقصى Maximum : وهي متاحة فقط في حالة ما وضعت المؤشر في نافذة مستقلة , ووظيفتها وضع حد أقصى للمؤشر ( سقف المؤشر ) .

d- قائمة التصنيفات Indexes : هنا يمكنك وضع شكل المؤشر ( خط او نقط .. الخ ) ووضع الوانه اللأفتراضية ( احمر , اخضر .. الخ ).

سنعرف اكثر عن هذه الخيارات بالتفصيل في الدروس القادمة ان شاء الله .

الأن بعد ضغط زر انتهى Finish , سيختفي برنامج التوجيه وسيرجع بك المحرر الى نافذة تحرير النصوص , وخمن ماذا ايضا ؟

سترى المسودة الأولى لأكواد مؤشرك الأول .

وهذا هو الكود كما ستراه :

كود PHP:
//+------------------------------------------------------------------+
//| My_First_Indicator.mq4 |
//| dr_waleed |
//| http://www.moneyexpertsclub.com |
//+------------------------------------------------------------------+
#property copyright "dr_waleed"
#property link "http://www.moneyexpertsclub.com"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red

//---- buffers
double ExtMapBuffer1[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
string short_name = "Your first indicator is running!";
IndicatorShortName(short_name);
//----
return(1);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();

//---- check for possible errors
if (counted_bars<0) return(-1);
//---- last counted bar will be recounted
if (counted_bars>0) counted_bars--;

int pos=Bars-counted_bars;

double dHigh , dLow , dResult;
Comment("Hi! I'm here on the main chart windows!");

//---- main calculation loop
while(pos>=0)
{
dHigh = High[pos];
dLow = Low[pos];
dResult = dHigh - dLow;
ExtMapBuffer1[pos]= dResult ;
pos--;
}
//----
return(0);
}
//+------------------------------------------------------------------+



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

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



في الدرس القادم بأذن الله ستبدأ ببرمجة مؤشرك الأول (جزء 2)
اراكم على خير مجددا




رد مع اقتباس