اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex

اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex (https://fx-arabia.com/vb/index.php)
-   منتدى المؤشرات و الاكسبيرتات (https://fx-arabia.com/vb/forumdisplay.php?f=6)
-   -   دورة تعلم البرمجة باحتراف (https://fx-arabia.com/vb/showthread.php?t=27491)

MOVING_AVERAGE 23-11-2012 05:16 PM

دورة تعلم البرمجة باحتراف
 
{ومن لجم علماً لجمه الله بلجام من نار يوم القيامة}


من هذا المنطلق ولان الله رزقني بفهم بعض الامور في البرمجة ورايت اخوتي هنا في المنتدي

باشد الحاجة لتعلم بعض الاساسيات لكي تضارب براحتك وتتغلب علي هذا السوق

رجائي الوحيد هو تسديد مستحقات الدورة

وهي الدعاء لي ولوالديا

اولا انا ناقل بعض المفاهيم والعبارات حرفيا من مختلف المنتديات لانني لم ابدء بالطبع

من لاشئ بل قرائت وفهمت الشروحات وسانقلها اليكم ان شاء الله

بتفصيل اكثر ان شاء الله

MOVING_AVERAGE 23-11-2012 05:36 PM

رد: دورة تعلم البرمجة باحتراف
 
في البداية نعرف لغة MQ4 تعريف بسيط

MQ4 هي لغة مخصصة للبرمجة علي منصة الميتاتريدر ويمكنها عمل عدت برامج تساعدنا في التجارة مثل

المؤشرات والاكسبريت

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

الايقونة الصفراء من اعلي الشريط كما في الصورة

http://www.fx-arabia.com/vb/uploaded...1353681368.jpg

او بالضغط علي F4

MOVING_AVERAGE 23-11-2012 05:42 PM

رد: دورة تعلم البرمجة باحتراف
 
ما هو الاكسبريت

هو برنامج يقوم بالمتاجرة الالية بدل عنك بحيث يقوم بفتح وغلق الصفقات وتغير هدفها وتتبع الربح

ومتابعتها ضمن الشروط التي برمج لها


ماهو المؤشر

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

لاكن لا يستطيع فتح او اغلاق اي صفقة اليا


MOVING_AVERAGE 23-11-2012 05:48 PM

رد: دورة تعلم البرمجة باحتراف
 
لكي نستطيع برمجة اكسبريت لابد ان نكون جيدين في برمجة المؤشر

نبدء علي بركت الله في كيفية برمجة المؤشر

في لغة MQ4 لا بد من معرفة امور وكلمات هامة جدا لكي نواصل الطريق الي برمجة المؤشر

من بين هذه الكلمات التي وجب علينا معرفتها

int -double-bool-string -color-datetime

وهي تعتبر المتغيرات الاساسية في لغة MQ4 حيت لا يخلو اي برنامج منها

MOVING_AVERAGE 23-11-2012 06:01 PM

رد: دورة تعلم البرمجة باحتراف
 
الكلمة الاولي int

تستخدم هذه الكلمة لتعريف متغير اختار اسمه كما اشاء علي انه رقم صحيح ( لا توجد فيه فواصل)

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


مثال 1

استخدام الكلمة int

اريد من البرنامج ان يحجز لي مكان في الذاكرة (ذاكرة البرنامج ) وهذا المكان لابد ان اعطيه اسم لكي يتعرف عليه البرنامج لما اناديه

واضع في هذا المكان رقم صحيح

التطبيق العملي

[PHP]int A=50;[/PHP]

ان كان فيه اي اسئلة لا تترددوا

MOVING_AVERAGE 23-11-2012 06:08 PM

رد: دورة تعلم البرمجة باحتراف
 
الكلمة الثانية double

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

التطبيق العملي


[PHP]double n;[/PHP]

نلاحظ هنا ااني في المثال الاول اعطيت المتغير القيمة 10 وهنا لم اعط المتغير اي قيمة و الكتابتين صحيحتين


نلاحظ ان اي تصريح ينتهي بالفاصلة المنقوطة


MOVING_AVERAGE 23-11-2012 06:16 PM

رد: دورة تعلم البرمجة باحتراف
 
الكلمة الثالثة bool

تستخدم هذه الكلمة لتعريف متغير اختار اسمه كما اشار علي انه متغير منطقي يحمل معنين فقط اما صحيح او خاطئ

لما يكون صحيح نرمز له ب TRUE او بالرقم 1

لما يكون خاطئ نرمز له ب false او بالرقم 0


تطبيق عملي

[PHP]bool c;[/PHP]هنا المتغير ياخذ تلقائيا القيمة صحيح

[PHP]bool c=true;[/PHP]هنا ايضا المتغير ياخذ القيمة صحيح

[PHP]bool c=1;[/PHP]هنا المتغير ياخذ ايضا القيمة صحيح

[PHP]bool c=false ;[/PHP][PHP]bool c=0;[/PHP]وهنا المتغير ياخذ القيمة خطئ

لانستطيع التصريح بمتغير بقيمتين مختلفتين

MOVING_AVERAGE 23-11-2012 06:23 PM

رد: دورة تعلم البرمجة باحتراف
 
الكلمة الرابعة string

وتستخدم هذه الكلمة للتعريف متغير علي انه جملة من الحروف

تكتب هذه الجملة بين قوسين ثنائيين

تطبيق عملي

[PHP]string e="MOVING";[/PHP]

maasa 24-11-2012 12:10 AM

رد: دورة تعلم البرمجة باحتراف
 
بارك الله فيك اخي الكريم . موضوع رائع اتمنى ان تستمر فيه

بالتوفيق ان شاء الله و سجلني متابع معك

MOVING_AVERAGE 24-11-2012 12:46 PM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة maasa (المشاركة 429905)
بارك الله فيك اخي الكريم . موضوع رائع اتمنى ان تستمر فيه

بالتوفيق ان شاء الله و سجلني متابع معك

ان شاء الله مكملين اخي لاكن احيانا لا يوجد وقت للكتابة

MOVING_AVERAGE 24-11-2012 12:50 PM

رد: دورة تعلم البرمجة باحتراف
 
الكلمة الخامسة color

وهي تقريبا مخصصة لهذه اللغة

تستخدم لتعريف متغير يحمل قيمة لون ما

مثال تطبيقي

[PHP]color f=Red;[/PHP]

ملاحضة الالوان دائما تبدء بحرف كبير

MOVING_AVERAGE 24-11-2012 12:53 PM

رد: دورة تعلم البرمجة باحتراف
 
الكلمة السادسة والاخيرة في تعريف المتغيرات التي نحتاجها في البرمجة

datetime

تستخدم لتعريف متغير يحمل قيمة زمنية او تاريخ

MOVING_AVERAGE 24-11-2012 01:09 PM

رد: دورة تعلم البرمجة باحتراف
 
اول شئ نفتح المحرر كما اشرت في بداية الموضوع

ونتبع التالي

نفتح موضوع جديد كما في الصورة
http://www.fx-arabia.com/vb/uploaded...1353751414.jpg
او نضغط علي Ctrl +N

نختار indecteur personnel

http://www.fx-arabia.com/vb/uploaded...1353751676.jpg
نكتب اسم برنامجنا كما نريد

http://www.fx-arabia.com/vb/uploaded...1353751714.jpg

واخير نضغط انهاء

http://www.fx-arabia.com/vb/uploaded...1353751750.jpg

MOVING_AVERAGE 24-11-2012 01:11 PM

رد: دورة تعلم البرمجة باحتراف
 
سنجد الكود البرمجي الجاهز التالي وسنشرحه كله ان شاء الله

[PHP]//+------------------------------------------------------------------+
//| 1.mq4 |
//| Copyright 2012, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

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

//----
return(0);
}
//+------------------------------------------------------------------+[/PHP]

MOVING_AVERAGE 24-11-2012 01:19 PM

رد: دورة تعلم البرمجة باحتراف
 
وقبل شرح الكود السابق نشرح كيف نكتب تعليق في محرر النصوص

تعليق لا ينفذه البرنامج لاكن يقرئه المبرمج فقط ممكن يفيده عند مراجعة اي برنامج برمجه من قبل

اذن ما هي التعليقات وكيف اكتبها

التعليقات

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

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

لتوضيح فكرة ما أو شرح طريقة استخدام البرنامج مثلا

داخل الكود البرمجي

الكلمات الملونه باللون الرمادي الباهت تسمى تعليقات وهو لا يؤثر على عمل الإكسبرت او

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

الكود يقوم بإستخدام التعليقا ويتم كتابة التعليقات بطريقتين

1 أن يسبق السطر علامة

[PHP]// [/PHP]

2 إذا كانت التعليقات أكثر من سطر

[PHP]/*[/PHP]

في بداية السطر

[PHP]*/[/PHP]

في نهاية السطر

MOVING_AVERAGE 24-11-2012 01:28 PM

رد: دورة تعلم البرمجة باحتراف
 
تعديل بسيط الي ان نصل الي مكانه

MOVING_AVERAGE 24-11-2012 01:35 PM

رد: دورة تعلم البرمجة باحتراف
 
نلاحظ في الكود البرمجي الجاهز التعلقات التالية

[PHP]//+------------------------------------------------------------------+
//| 1.mq4 |
//| Copyright 2012, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+[/PHP]


[PHP]//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+[/PHP]

[PHP]//---- indicators
//----[/PHP]

[PHP]//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+[/PHP]

وكلها برمجيا لا هدف منها وممكن نحذفها كلها ولا يتاثر البرنامج بها علي الاطلاق

وهي هدفها فقط توضيح المناطق للمبرمج واضهار معلومات تهم المبرمج

MOVING_AVERAGE 24-11-2012 01:37 PM

رد: دورة تعلم البرمجة باحتراف
 
[PHP]#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"[/PHP]

وهذه الكتابة لحقوق الملكية للمبرمج ولن يحولها محرر النصوص للغة الالة اثناء معالجة الكود البرمجي

MOVING_AVERAGE 24-11-2012 01:44 PM

رد: دورة تعلم البرمجة باحتراف
 
[PHP]#property indicator_chart_window[/PHP]

وهذا الكود يفيد ان البرنامج الذي سننشئه او المؤشر الذي نعمل عليه سيكون علي نفس الشارت

التي تكون فيها الشموع مثل مؤشر الاشموكو علي سبيل المثال

ولو وضعنا الكود التالي

[PHP]#property indicator_separate_window[/PHP]

يعني ان المؤشر الذي نعمل عليه سيكون علي نافذة مستقلة مثل مؤشر RSI او مؤشر المومانتيوم

وعلي كل نحن نختار الناقذة التي نعمل عليها عند فتح صفحة جديدة

http://www.fx-arabia.com/vb/uploaded...1353751750.jpg
لو ناشر علي العلامة من فوق ستكون نافذة البرنامج مستقلة عن النافذة الرئسية

لو فيه اي اسئلة لا تترددوا اخواني

Badr 24-11-2012 04:00 PM

رد: دورة تعلم البرمجة باحتراف
 
ممتااااااز ما شاء الله
متابع معك بشغف
و اتمنى اني ان شاء الله اقدر ابرمج اى مؤشر بعد كده

سمير محمد ارمان 24-11-2012 06:54 PM

رد: دورة تعلم البرمجة باحتراف
 
متابع معكم ان شاء الله
ماشاء الله موضوع ممتاز
جزاكم الله خير

MOVING_AVERAGE 24-11-2012 11:33 PM

رد: دورة تعلم البرمجة باحتراف
 
وبعد ان عرفنا النافذة التي سنعمل عليها

نجد 3 دوال

وسندرس الدوال لاحقا :1 (35):

الدالة الاولي

[PHP]int init()
{
//---- indicators
//----
return(0);
}[/PHP]

الدالة الثانية

[PHP]int deinit()
{
//----

//----
return(0);
}[/PHP]

الدالة الثالثة والاخيرة

[PHP]int start()
{
int counted_bars=IndicatorCounted();
//----

//----
return(0);
}[/PHP]

وسنشرح في ما يلي كل دالة منفرده

MOVING_AVERAGE 24-11-2012 11:39 PM

رد: دورة تعلم البرمجة باحتراف
 
الدالة [PHP]int init()[/PHP]هذه الدالة يتم إستدعائها مرة واحدة فقط عند بداية عمل الإكسبرت او المؤشر

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

متحولات تم تعريفها في القسم السابق حيث لا يمكننا في القسم الاول استخدام متحول عرفناه في نفس القسم

مثلا: أنا عرفت المتحول A في القسم الاول على انه متغير من نوع اينيت يحمل القيمة 10

فأنا لا استطيع اعطاءه قيمة جديدة في نفس القسم الا بتغيير القيمة الاصلية و هي 10

اما في القسم الثاني فيمكنني اعطاءه أي قيمة أخرى عند تحقق شروط معينة

وسيتم التفصيل بشكل ممل لاحقا في التطبيقات

المهم الان لابد من معرفة ان الدالة انيت تقرء مرة واحدة فقط عند بداية البرنامج

MOVING_AVERAGE 24-11-2012 11:44 PM

رد: دورة تعلم البرمجة باحتراف
 
الدالة

[PHP]deinit() [/PHP]

وهذه الدالة يتم إستدعائها مرة واحدة فقط عند نهاية عمل الإكسبرت او المؤشر

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

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

ويقراها ايضا عند تغير التايم فريم او تغير العملة

ومن بين المهام التي تقوم بها

حذف الارقام او الخطوط التي حفظتها في ذاكرة الميتاتريدر

وبالتطبيق سنفهم اكثر عمل هذه الدالة

MOVING_AVERAGE 24-11-2012 11:47 PM

رد: دورة تعلم البرمجة باحتراف
 
الدالة

[PHP]start() [/PHP]

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

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

الدالة و تنفيذها

و اغلب العمل سيكون في هذه الدالة

jmeel 25-11-2012 12:14 AM

رد: دورة تعلم البرمجة باحتراف
 
دائما قيمة الأنسان بمايعطي وليس بما ياخذ
عمل رائع ، وجزاك الله خير

MOVING_AVERAGE 25-11-2012 12:25 AM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Badr (المشاركة 430084)
ممتااااااز ما شاء الله
متابع معك بشغف
و اتمنى اني ان شاء الله اقدر ابرمج اى مؤشر بعد كده

ان شاء الله بعد كم صفحة ستكتب البرنامج الذي تريد

المهم اسئل عن اي شئ لم تفهمه

MOVING_AVERAGE 25-11-2012 12:26 AM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة سمير محمد ارمان (المشاركة 430151)
متابع معكم ان شاء الله
ماشاء الله موضوع ممتاز
جزاكم الله خير

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

MOVING_AVERAGE 25-11-2012 12:28 AM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة jmeel (المشاركة 430282)
دائما قيمة الأنسان بمايعطي وليس بما ياخذ
عمل رائع ، وجزاك الله خير

بارك الله فيك اخي جميل

نعمل شئ ربما يفيدنا لما نختفي من هذه الدنيا

Qadri 25-11-2012 03:57 AM

رد: دورة تعلم البرمجة باحتراف
 
استاذ موفينج
السلام عليكم ورحمة الله

شكرا على الموضوع المهم وعلى الله تتفك عقدتى من اللغة دى على ايديك

ممكن تشرح لنا معنى الكود ده
int counted_bars=IndicatorCounted();
وليه دايما موجود فى المؤشرات؟
شكرا لك اخى

MOVING_AVERAGE 25-11-2012 10:22 AM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Qadri (المشاركة 430356)
استاذ موفينج
السلام عليكم ورحمة الله

شكرا على الموضوع المهم وعلى الله تتفك عقدتى من اللغة دى على ايديك

ممكن تشرح لنا معنى الكود ده
int counted_bars=IndicatorCounted();
وليه دايما موجود فى المؤشرات؟
شكرا لك اخى

بارك الله فيك

تابع معنا وستجد ما تحتاج

علي كل هذه الدالة ترجع لنا عدد الشموع الموجودة مسبقا وتضعها في متغير اسمه counted_bars ونوعه int

ولقد شرحت التصريح بالمتغيرات لو فهمته لفهمت علي الاقل نصف الكتابه

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

Qadri 25-11-2012 01:22 PM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة MOVING_AVERAGE (المشاركة 430386)
بارك الله فيك

تابع معنا وستجد ما تحتاج

علي كل هذه الدالة ترجع لنا عدد الشموع الموجودة مسبقا وتضعها في متغير اسمه counted_bars ونوعه int

ولقد شرحت التصريح بالمتغيرات لو فهمته لفهمت علي الاقل نصف الكتابه

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

شكرا علىالرد استاذنا اتمنى فقط الا تتاخر علينا نحن فى انتظار المزيد

tamer_taher22 25-11-2012 01:41 PM

رد: دورة تعلم البرمجة باحتراف
 
معك باذن الله

MOVING_AVERAGE 25-11-2012 04:35 PM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Qadri (المشاركة 430418)
شكرا علىالرد استاذنا اتمنى فقط الا تتاخر علينا نحن فى انتظار المزيد

ان شاء الله اخي كلما يتاح لي الوقت سانزل جزء

وانا لست استاذ انا مبتدء في الفوركس مثل الجميع اخي

MOVING_AVERAGE 25-11-2012 10:40 PM

رد: دورة تعلم البرمجة باحتراف
 
نكمل التعليقات لاكن الان نريد كتابة تعليق يضهر علي الشارت

يمكننا استخدام عدة وسائل منها

[PHP]Comment("");[/PHP]

حيث نكتب بين القوسين اي نص نريد ان يضهر علي الشارت

ويمكننا ايضا ان نكتب قيمة متغير علي الشارت بوضع المتغير من دون اقواس في

[PHP]Comment();[/PHP]

دائما نستخدم

[PHP]Comment("");[/PHP]

داخل الدالة start

MOVING_AVERAGE 25-11-2012 10:44 PM

رد: دورة تعلم البرمجة باحتراف
 
1 مرفق
تطبيق عملي

افتح صفحة برنامج جديد

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

تطبيقي في المرفقات انتضر تطبيقاتكم

Qadri 26-11-2012 12:44 AM

رد: دورة تعلم البرمجة باحتراف
 
اتفضل وان شاء الله عشرة من عشرة

int start(){


comment("احذر التداول بالفوركس");

return (0);}

اعتقد ان return (0) افادت عدم تنفيذ الدالة مع كل تك .. صح ولا غلط؟

Qadri 26-11-2012 12:46 AM

رد: دورة تعلم البرمجة باحتراف
 
الدنيا متلخبطة ليه كده فى المشاركة؟ المشكلة دى تتحل ازاى؟

MOVING_AVERAGE 26-11-2012 12:52 AM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Qadri (المشاركة 430706)
اتفضل وان شاء الله عشرة من عشرة

int start(){


comment("احذر التداول بالفوركس");

return (0);}

اعتقد ان return (0) افادت عدم تنفيذ الدالة مع كل تك .. صح ولا غلط؟

تمام ماشاء الله عليك

لاكن لا تغير شئ في الدالة ستار اتركها كما هي

وضف فقط التعليق

MOVING_AVERAGE 26-11-2012 12:54 AM

رد: دورة تعلم البرمجة باحتراف
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Qadri (المشاركة 430707)
الدنيا متلخبطة ليه كده فى المشاركة؟ المشكلة دى تتحل ازاى؟

انتقل الي الوضع المتطور

ستجد فوق مكان كتابت النصوص ادراك كود php

اضغط عليه

واكتب المشاركت في وسط الكود لل PHP

او طرقة اخري

انتقل الي الوضع المتطور

اكتب الكود عادي

ثم ضلله واضغط علي ادرج كود php


الساعة الآن 03:53 AM

Powered by vBulletin® Copyright ©2000 - 2024

جميع الحقوق محفوظة الى اف اكس ارابيا www.fx-arabia.com