إعلانات الشركات


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

المتاجر الذهبي للمؤشرات والاكسبيرتات يحتوي على كل جديد في عالم المؤشرات والاكسبيرتات والمواضيع التعليمية والبرمجة الخاصة بها

موضوع مغلق
 
LinkBack أدوات الموضوع
قديم 03-02-2010, 01:47 AM   #1
مشرف المؤشرات والاكسبيرتات
 
الصورة الرمزية محمود عامر
 
تاريخ التسجيل: Jan 2010
الدولة: سوريا
المشاركات: 11,968
معدل تقييم المستوى: 19
محمود عامر is on a distinguished road
Icon38 دروس تعلم لغة MQ4

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

الدرس الأول

تعاريف لابد منها


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

و البرامج التي يمكن عملها تنقسم ال ثلاث اقسام و هي
1-الخبير الالي أو الاكسبيرت
2-المؤشرات
3-البرامج المساعدة او السكريبت

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



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

حفاظا على تناسق الموضوع تتم مناقشة الدروس و الرد على الاستفسارات على الرابط التالي
http://goldentraderfx.com/vb/showthread.php?t=349
الصور المرفقة
نوع الملف: jpg 1.jpg‏ (33.3 كيلوبايت, المشاهدات 17)
__________________
و من يتق الله يجعل له مخرجا و يرزقه من حيث لا يحتسب

التعديل الأخير تم بواسطة محمود عامر ; 03-02-2010 الساعة 01:59 AM
محمود عامر غير متواجد حالياً  
إظهار / إخفاء الإعلانات 
قديم 04-02-2010, 04:18 AM   #2
مشرف المؤشرات والاكسبيرتات
 
الصورة الرمزية محمود عامر
 
تاريخ التسجيل: Jan 2010
الدولة: سوريا
المشاركات: 11,968
معدل تقييم المستوى: 19
محمود عامر is on a distinguished road
افتراضي رد: دروس تعلم لغة MQ4

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


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


الان سأشرح بعض هذه الكلمات المحجوزة بشكل بسيط و هي التي نستخدمها بشكل كبير في برامجنا و بل لا يخلو اي برنامج منها
و هي التالية
int - double - bool - string - color

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

كود PHP:
int A=10
معناه
أنني أخبر البرنامج أن يتعرف على المتغير A
على أنه عدد صحيح قيمته 10
(نلاحظ الفاصلة المنقوطة بنهاية السطر البرمجي و هي شيء أساسي و بدونه سيعطيك البرنامج أخطاء كثيرة و يجب أن تكون موجودة بنهاية كل جملة برمجية)

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


double
تستخدم هذه الكلمة لتعريف متغير أختار اسمه كما أشاء على أنه رقم عشري و ليس رقم صحيح
مثال
كود PHP:
double B=10.03
ينطبق عليه الشرح الموجود بالدالة السابقة فقط الاختلاف بينهما أن الاولى لعدد صحيح و الثانية لعدد عشري به فواصل

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

كود PHP:
bool C=true
كود PHP:
bool D=false
معناه
اقول للبرنامج أن يتعرف على C
على انه متغير منطقي يحمل القيمة صح
و على D انه متغير منطقي يحمل القيمة خطأ



string
تستخدم هذه الكلمة لتعريف متغير يحمل سلسلة من الحروف أو الكلمات و تكتب هذه الكلمات بيت قوسين ثنائيين
مثال

كود PHP:
string E="Mahmoud Amer"
عندما أستدعي المتغير E
في أي مكان من البرنامج سيعود الي بالجملة
Mahmoud Amer


color
واضح من اسمها أن تستخدم لتعريف متغير يحمل قيمة لون ما
مثال

كود PHP:
color F=Red
يعني أن هذا المتغير يحمل اللون الاحمر

ملاحظة
المتغيرات A-B-C-D-F
استطيع استبدالها باي حروف أو كلمات أخرى حسب رغبتي


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


أرجو أن أكون قد وفقت بالشرح و كان واضحا للجميع و أي استفسار أو استيضاح أتمنى طرحه على الرابط التالي
http://goldentraderfx.com/vb/showthread.php?t=349

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

__________________
و من يتق الله يجعل له مخرجا و يرزقه من حيث لا يحتسب
محمود عامر غير متواجد حالياً  
قديم 14-03-2010, 01:51 PM   #3
مشرف المؤشرات والاكسبيرتات
 
الصورة الرمزية محمود عامر
 
تاريخ التسجيل: Jan 2010
الدولة: سوريا
المشاركات: 11,968
معدل تقييم المستوى: 19
محمود عامر is on a distinguished road
افتراضي رد: دروس تعلم لغة MQ4

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

بعض العمليات التي نجريها ضمن اللغة

هنا سنقوم بشرح بعض العمليات التي نقوم بها أثناء برمجة أي برنامج بلغة ام كيو فور
سنقوم بشرح الاهم منها و ليس كلها

طبعا كما تعلمنا سابقا قبل استخدام اي متحول يجب تعريف البرنامج عليه اولا
سنقوم بتعريف المتحولات التالية
كود PHP:
int A=10;
int B=2;
int C=20;
int d=0

عملية الجمع بين قيمتين
الان اذا نظرنا الى الكود التالي
كود PHP:
d=A+B

ما الذي عملناه هنا؟؟
طبعا نحن هنا نقول للبرنامج ان يغير قيمة المتحول d من الصفر كما كانت سابقا و يعطيه قيمة مجموع المتغيرين A , B
يعني قيمة المتحول d اصبحت 12
اذن هذه هي عملية الجمع بين قيمتين

عملية الضرب
انظر الكود
كود PHP:
d=A*B

ماذا تعني هذه؟
يعني انني اقول للبرنامج بأن يعطي المتحول d القيمة الناتجة عن ضرب المتحولين A,B
أصبحت قيمة ال d هنا هي 20

عملية الطرح
كود PHP:
d=A-B

هنا أصبحت قيمة d هي 8 لانها ناتج طرح B من ِِA

عملية القسمة
كود PHP:
d=A/B

قيمة d هي قسمة A على B و هي هنا 5

ملاحظة هامة: لابد من الانتباه الىاماكن الاقواس أثناء اجراء العمليات الحسابية
انظر للاختلاف بين هذين الكودين
كود PHP:
d=(A/B)*(A-B); 

هنا تكون قيمة d هي 40
اما هنا
كود PHP:
d=A/B*A-B

هنا تكون قيمة d هي 48

أيضا لدينا عملية الزيادة و النقصان
انظر للكود التالي
كود PHP:
int d;
int A=10;
A++;
d=A*2

هنا انا اقول للبرنامج قم بزيادة عدد واحد للقيمة A و من ثم اضربها ب 2
يصبح ناتج العملية
كود PHP:
d=11*2=22 


نفس الحالة بالنسبة للنقصان
كود PHP:
int d;
int A=10;
A--;
d=A*2

هنا يكون الناتج كالاتي
كود PHP:
d=9*2=18 


نكتفي الان بهذا القدر و ارجو ان يكون كل شيء واضح و اية تساؤلات يمكنكم طرحها في الموضوع المخصص لذلك على الرابط التالي
مناقشة دروس لغة MQL4
و ان شاء الله سيكون الدرس القادم عن طريقة المقارنات بين القيم
بالتوفيق للجميع
__________________
و من يتق الله يجعل له مخرجا و يرزقه من حيث لا يحتسب
محمود عامر غير متواجد حالياً  
قديم 27-03-2010, 01:43 PM   #4
مشرف المؤشرات والاكسبيرتات
 
الصورة الرمزية محمود عامر
 
تاريخ التسجيل: Jan 2010
الدولة: سوريا
المشاركات: 11,968
معدل تقييم المستوى: 19
محمود عامر is on a distinguished road
افتراضي رد: دروس تعلم لغة MQ4

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

الدرس الرابع

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

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

الان لو سألنا ما الفرق بين العمليتين الاتيتين
كود PHP:
A=B;
A==B
في الحالة الاولى أن أخبر البرنامج أن يعطي المتحول A نفس قيمة المتحول B

و لكن في الحالة الثانية أنا أسأل البرنامج هل قيمة المتحول A تساوي قيمة المتحول B

اذا مع تكرار اشارة المساواة أصبح الامر أمر مقارنة بين العمليتين
ان عملية المقارنة تكون نتيجتها احدى امرين
اما صح و اما غلط
يعني عندما اسأل سؤال
هل حمزة أكبر من علي
فالاحابة يجب أن تكون اما نعم و اما لا
اما فلس و اما ترو
false or true

الان ما هي الاجابة على هذا الكود
كود PHP:
10==9
طبعا الاجابة هي false
لأن 10 لا تساوي 9
أما
كود PHP:
10==10
الاجابة ستكون true

أمثلة على عمليات المقارنة التي نستخدمها
كود PHP:
A==B;// تساوي
A!=B;// لا تساوي
A<B;// أصغر
A>B;// أكبر
A<=B;// أصغر أو تساوي
A>=B;// أكبر أو تساوي 
لكن أحيانا نحتاج لتحقق أكثر من شرط معا أو شرط واحد من مجموعة شروط أو عدم تحقق شرط معين

هنا يجب أن نتعرف على أدوات العطف المستخدمة
و هي
كود PHP:
&& // لتحقيق اكثر من عملية بنفس الوقت استخدم حرف العطف الواو

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

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

اي استفسار أرجو وضعه في موضوع المناقشة على الرابط التالي
http://www.goldentraderfx.com/vb/thread349.html
__________________
و من يتق الله يجعل له مخرجا و يرزقه من حيث لا يحتسب
محمود عامر غير متواجد حالياً  
قديم 28-03-2010, 04:13 PM   #5
مشرف المؤشرات والاكسبيرتات
 
الصورة الرمزية محمود عامر
 
تاريخ التسجيل: Jan 2010
الدولة: سوريا
المشاركات: 11,968
معدل تقييم المستوى: 19
محمود عامر is on a distinguished road
افتراضي رد: دروس تعلم لغة MQ4

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

الدرس الخامس


الحلقات

في هذا الدرس سوف نتكلم عن الحلقات في لغة MQ4
لكن قبل ان نبدأ فهناك شيء هام يجب عليك معرفته
و هو كيف يقرأ برنامج الميتاتريدر الكود الموجود ضمن مؤشر او اكسبيرت

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

القسم الثاني من البرنامج هو قسم الدالة
init
هذا القسم أيضا يقرأه الميتا تريدر لمرة واحدة عند بدء العمل على المؤشر أو الاكسبيرت
اذن ما الفرق بين هذا القسم و القسم الاول؟
الفرق هو أننا في هذا القسم لا نستطيع وضع متغيرات خارجية ليتحكم بها المستخدم و أيضا في هذا القسم يمكننا استخدام متحولات تم تعريفها في القسم السابق حيث لا يمكننا في القسم الاول استخدام متحول عرفناه في نفس القسم
مثلا: أنا عرفت المتحول A في القسم الاول على انه متغير من نوع اينيت يحمل القيمة 10
فأنا لا استطيع اعطاءه قيمة جديدة في نفس القسم الا بتغيير القيمة الاصلية و هي 10
اما في القسم الثاني فيمكنني اعطاءه أي قيمة أخرى عند تحقق شروط معينة مثلا
مثال عملي

كود PHP:
extern int A=10;
 
int init()
  {
   if(
AccountNumber()==12345)A=5;
  } 
القسم الثالث
و هو الدالة
deinit
هذه الدالة يقرأها الميتاتريدر لمرة واحدة أيضا و لكن فقط عند الخروج من البرنامج أي عندما تحذف المؤشر أو الاكسبيرت عن الشارت قبل أن يخرج يقرأ هذه الدالة و ينفذ ما بداخلها من أكواد
كأن تقوم بحذف الارقام التي حفظتها في ذاكرة الميتاتريدر مثلا

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

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

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


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

الحلقات كما علمنا سابقا هي عملية تكرار لجزء معين من الكود و يستمر هذا التكرار ما دامت شروط الحلقة صحيحة و ينتهي بانتهاء احد اشروط او كلها
عادة ما يكون لدينا قرار او أمر معين يجب ان يكون متغير حسب الظروف المحيطة به و لن يكون ثابت بهذه الحالة فنحن مضطرون لعمل حلقة تدور على هذه الظروف لتأتي بالقيمة الصحيحة لهذا القرار أو الامر
و الحلقات عندنا على نوعين
نوع for
و نوع whil
سنضرب مثال على كل منهما
أولا الحلقة for
كود PHP:
for (int i=0;i<=10;i++)
     {
      Print(
i);
     } 
لنتمعن في المثال السابق
اولا قمنا بتعريف متحول من نوع اينيت و اعطيناه القيمة صفر أي سيكون الحد الاول للحلقة هو صفر
ثانيا قمنا بتحديد الحد الاخر للحلقة بالرقم 10
ثالثا قمنا بتحديد قيمة الزيادة للحلقة في كل مرة تكرار و هو رقم واحد(++) كما علمنا سابقا
و لدينا مخرج الحلقة وهو الامر
Print أي طباعة قيمة المتحول i في الجورنال لبرنامج الميتاتريدر
الان ستبدأ الحلقة
مالذي سيجري
سوف تعطي المتحول i القيمة صفر و تطبع الرقم صفر في الجورنال
ثم تعود لبداية الحلقة و تقوم بزيادة رقم على الصفر و تطبع الرقم واحد في الجورنال
ثم تطبع الرقم اثنان في الجورنال
و هكذا حتى تطبع الرقم عشرة
ثم لتعود و تزيد واحد فتجد أن شرط الحلقة الثاني قد اختل لأن الرقم 11 أصبح أكبر من الرقم عشرة و هو الحد الثاني للحلقة بهذه الحالة سوف تخرج من الحلقة لتتابع قراءة ما بعدها
أيضا أنا يمكنني الخروج من الحلقة و عدم متابعتها بأي وقت أريد عن طريق الكلمة break
و أيضا يمكنني جعل الحلقة تترك قيم معينة من الحلقة دون قراءتها عن طريق الكلمة continue
و سوف نشرح هذه الكلمات في أثناء التطبيقات العملية .
يجب الانتباه الى الفواصل المنقوطة أثناء عمل الحلقة

لكن أنا هنا أعرف حدود الحلقة أي متى تبدأ و متى تنتهي و لكن ماذا لو لم أكن أعرف هذا كيف يمكنني عمل الحلقة؟
بهذه الحالة سألجأ الى النوع الثاني من الحلقات و هو
while
و سنضرب لها مثالا
كود PHP:
int i=0;
while(
i<10)
   {
    Print(
i);
    
i++;
   } 
انظر في المثال السابق
اولا قمنا بتعريف المتغير i خارج الحلقة و ليس كما فعلنا في الحلقة السابقة
أيضا لم نحدد له بداية و نهاية كما فعلنا بالحلقة for انما كان شرطها هو فقط ان المتحول اصغر من 10
و سوف تسير كما في الحلقة هنا و لكن تعبير ++ هو ليس للزيادة بقدر ما هو للتغيير
لانه في هذه الحلقة يجب ان يتم تغيير ما و الا ستذهب الى الحلقة الى مالانهاية بنتيجة صفر
ارجو ان يكون هذا الدرس مفهوما و اتمنى ممن يريد المتابعة معنا قراءة هذا الدرس بشكل جيد لاننا سنستخدم هذه الامور في كل برامجنا و يجب ان تكون عندنا من البديهيات

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

أي استفسار أرجو وضعه في الموضوع المحدد لذلك
http://www.goldentraderfx.com/vb/thread349.html
بالتوفيق
__________________
و من يتق الله يجعل له مخرجا و يرزقه من حيث لا يحتسب
محمود عامر غير متواجد حالياً  
قديم 11-04-2010, 01:04 PM   #6
مشرف المؤشرات والاكسبيرتات
 
الصورة الرمزية محمود عامر
 
تاريخ التسجيل: Jan 2010
الدولة: سوريا
المشاركات: 11,968
معدل تقييم المستوى: 19
محمود عامر is on a distinguished road
افتراضي رد: دروس تعلم لغة MQ4

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

الدرس السادس

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

الجمل الشرطية
الجملة الشرطية (اذا , if)
اذا قلت المثال التالي
اذا اغلقت شمعة فوق المستوى 100 اشتري
هذه جملة شرطية اشترط فيها اغلاق الشمعة فوق 100 لكي ادخل عقد شراء
لكن لو لم تغلق هذه الشمعة فوق المستوى المطلوب ماذا يحدث
ما سيحدث هو انني لن اشتري لان الشرط لم يتحقق
مثال

كود PHP:
int w;
if(
w>100)
   {
    Print(
"w is above 100");
   } 

في هذا المثال نلاحظ أنه بعد أداة الشرط (اذا) و هي (if)

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

و ما يلي القوسين هو جواب الشرط

أي بحال تحقق الموجود بين القوسين و كانت نتيجته ترو فانه سوف ينفذ ما يليه في الجملة الشرطية
و في المثال السابق
كلما كانت قيمة المتغير w أكبر من 100 فانه سيقوم بطباعة الجملة (w is above 100)







و لو كانت قيمة w أقل من 100 فانه سيقفز عن هذه الجملة الشرطية و لن ينفذ أمر الطباعة



ملاحظة هامة:

يجب ان يكون جواب الشرط محاط بالقوسين {}

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







اذن جواب الشرط هو الموجود بين القوسين {}

أحيانا يكون هذا الجواب أكثر من جملة

مثال:
كود PHP:
if(w>100)
   {
    Print(
"w is above 100");
    
PlaySound("alert.wav");
  } 
هنا نرى أن جواب الشرط هو جملتين و هما طباعة الجملة

w is above 100

و أيضا اظهار صوت تنبيهي

و يمكن اضافة أي عدد من الجمل الى جواب الشرط







اذن في حالاتنا السابقة اذا لم يتحقق الشرط و هو كون المتغير w أكبر من 100 فان البرنامج لن ينفذ أي شيء

و لكن ماذا لو أردت منه تنفيذ أمر معين عندما لا تكون قيمة w أكبر من 100

هنا يمكنني عمل هذا بعدة طرق
اما ان اعمل جملة شرطية جديدة و اشترط فيها ان لا يكون w اكبر من 100
كود PHP:
if(w<=100)
   {
   Print(
"w is under 100");
   
PlaySound("alert.wav");
   } 
هنا أنا أشترط أن يكون w أصغر أو يساوي 100

اذن بحال عدم تحقق الشرط الاول و هو w أكبر من 100 فمن المؤكد انه سيتحقق الشرط الثاني و هو w أصغر أو يساوي 100



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

كود PHP:
if(w>100)
   {
    Print(
"w is above 100");
    
PlaySound("alert.wav");
   }
  else
   {
    Print(
"w is under 100");
   
PlaySound("alert.wav");
  } 

نلاحظ هنا أنني أضفت جملة أخرى تلي الجملة الاولى و الشرط الاول و هي الجملة else

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

سيبدأ من البداية و ينظر هل قيمة w اكبر من 100 ان تحققت فانه سينفذ الموجود ضمن القوسين و يكمل مساره الى اخر الكود و لن ينفذ ما بداخل الجملة else

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







عملية التداخل

أحيانا ندمج الحلقة مع القرار و نسميها عملية التداخل

أنظر المثال
كود PHP:
for(int w=0;w<=100;w++)
    {
    if(
w==100)
        {
        Print(
"w is 100");
        
PlaySound("alert.wav");
      }
    } 
هنا أنا قمت بتكوين حلقة تبدأ من الصفر و تقوم بالزيادة واحد في كل مرة حتى تصل للرقم 100

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

ماذا سيجري الان

ستبدا الحلقة من الصفر ستنظر هل تحقق الشرط , تجد ان الصفر لا يساوي 100 فلا تنفذ شيء و ترجع للوراء لكي تزيد واحد على الحلقة تصبح 1 هل تحقق الشرط؟ لا ليس بعد
تكمل بنفس المنوال حتى تصل قيمتها للعدد 100 هل تحقق الشرط ؟ نعم 100=100
اذن ستنفذ ما بداخل الاقواس و لن تعود الى بداية الحلقة لان الحلقة قد انتهت كما علمنا بالدرس السابق







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

switch

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


كود PHP:
switch(Period())
   {
    case 
15:
     Print(
"Frame is M15");
     break;
    case 
30:
     Print(
"Frame is M30");
     break;
    default:
     Print(
"Frame is not M15 or M30");



هنا أنا أريد من البرنامج أن ينظر للفريم الحالي مثلا و يرى ما يكون

فان كان الربع ساعة سيطبع جملة (الفريم هو الربع ساعة)

و اذا كان النصف ساعة سيطبع جملة (الفريم هو النصف ساعة)

و ان كان غير ذلك سيطبع جملة (الفريم ليس الربع ساعة و لا التصف ساعة)








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


أي استفسار أرجو وضعه في الموضوع المخصص لذلك

http://www.goldentraderfx.com/vb/thread349-5.html
بالتوفيق





__________________
و من يتق الله يجعل له مخرجا و يرزقه من حيث لا يحتسب

التعديل الأخير تم بواسطة محمود عامر ; 12-04-2010 الساعة 12:30 AM
محمود عامر غير متواجد حالياً  
قديم 17-04-2010, 02:01 AM   #7
مشرف المؤشرات والاكسبيرتات
 
الصورة الرمزية محمود عامر
 
تاريخ التسجيل: Jan 2010
الدولة: سوريا
المشاركات: 11,968
معدل تقييم المستوى: 19
محمود عامر is on a distinguished road
افتراضي رد: دروس تعلم لغة MQ4

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

الدرس السابع

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

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

الدوال هي عبارة عن مجموعة من الاكواد تنظم بحيث تعود عليك بقيم معينة عند استدعاءها
و سوف يتضح الكلام اكثر من خلال الأمثلة
الدوال الاساسية في لغة MQ4 هي

كود PHP:
init()    deinit()    start() 
كما علمنا سابقا بأن الدالة اينيت تنفذ لمرة واحدة عند بدء عمل البرنامج
و الدالة دينيت تنفذ مرة واحدة أيضا و لكن عند توقف البرنامج عن العمل
و الدالة ستارت تنفذ مع كل تغير بالسعر

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

كود PHP:
double my_number(double a,double b)
   {
    return(
a*b);
   } 
هنا أنا قمت بتعريف دالة جديدة و هي الدالة
my_number
ملاحظة: كل دالة يجب أن يتبعها قوسين كما تلاحظون توضع داخلهما المتغيرات التي اريد استخدامها و ارسالها الى داخل الدالة الجديدة لمعالجتها او تترك فارغة ان لم يكن هناك متغيرات احتاجها
اذن نلاحظ أني قمت بتعريف متغيرين بين اقواس الدالة الجديدة
ما هي مهمة هذه الدالة؟؟
كما قلنا سابقا الدوال يجب ان تعود لنا بقيمة معينة عند استدعاءها
و كيف ستعود بهذه القيمة؟؟
طبعا عن طريق الكلمة المعرفة ضمن اللغة و هي
return
اذن هذه الكلمة هي التي ستعود بالقيمة الموجودة بين قوسيها
و في مثالنا سوف تقوم الدالة بضرب المتغير الاول بالمتغير الثاني و تعطي النتيجة ل return
لكي تحملها الينا

الان أنا أريد أن أستدعي هذه الدالة فكيف يتم ذلك
لنفرض أني الان ضمن الدالة ستارت و احتجت معرفة قيمة ضرب رقمين
فسوف استدعي دالتي الجديدة لتعلمني بهذا
كود PHP:
double x=my_number(10,5); 
في هذا المثال كم ستكون قيمة المتغير x
حسنا لنترجم ماحدث الى لغتنا
انا اقول للبرنامج تعرف على متغير جديد اسمه x
قم باعطاء هذا المتغير نفس القيمة التي ستعود بها دالتي للرقمين 10 و 5
اذن سوف يذهب البرنامج الان الى الدالة ليرى كم ستكون قيمتها
فيجد ان الدالة تقوم بضرب العدد الاول بالثاني أي
10x5
و يكون الناتج 50 و تعطي الناتج ل return لكي تقوم بمهمة ايصاله الينا
اذن أصبحت قيمة x هي 50
*************************
من المهم ان تعرف ان الدوال تعرف كما تكلمنا عن تعريف المتغيرات العادية بالدروس السابقة
يعني
لو كنت اريد دالة تعود بقيمة رقم عشري فيجب ان اقوم بتعريفها عن طريق
double
مثال

كود PHP:
double my_number(double a,double b)
   {
    
double c=(a*b)/100;
    return(
c);
   } 
لاحظ أني عرفت الدالة على انها double و ايضا المتغير الذي ستحمله return ايضا من نوع دبل لأن الرقم الناتج سيكون ذو فاصلة عشرية


و لو كانت ستعود بقيمة رقم بدون فاصلة عشرية يمكنني تعريفها عن طريق
int

كود PHP:
int my_number(int a,int b)
   {
    
int c=(a*b)*100;
    return(
c);
   } 
هنا ستكون النتيجة من نوع integer
أي رقم بلا فواصل

و لو كانت يجب ان تعود لي بقيمة عبارة عن جملة
فيجب تعريفها على انها
string

كود PHP:
string my_name(string a)
   {
    
string c=a;
    return(
c);
   } 
هنا النتيجة هي جملة
ماذا لوكانت النتيجة لون معين
كود PHP:
color my_color(color a)
   {
    
color c=a;
    return(
c);
   } 
*******************************

كما قلنا فان الدالة تعود الينا بنتيجة معينة عن طريق ساعي البريد return
لكن هذا ليس مطلقا و ليس دائما
أي
هناك بعض الدوال لا تعود علينا بأي نتيجة
ربما تسأل ما الفائدة من هذه الدوال؟؟
مثل هذه الدوال يكون المطلوب منها فقط تنفيذ ما بداخلها عن استدعاءنا لها فقط
و تعرف هذه الدوال بالكلمة المحجوزة void
مثال
كود PHP:
void my_txt(string a)
   {
    Print(
a);
   } 
ماذا نلاحظ في هذه الدالة؟
تم تعريفها على أنها void أي لن تعود علينا بأي نتيجة انما ستنفذ ما بداخلها و هو الامر
Print(a)
أي أنها ستقوم بطباعة المتغير a الذي ارسلناه اليها فقط
و نلاحظ أن الدالة هنا لم تنتهي ب ساعي البريد return لانه لا عمل له معها
************************

كما قلنا سابقا لا يمكننا تعريف دالة ضمن دالة أخرى و لكن يمكن أن أستدعي أي دالة من داخل أي دالة أخرى و هو ما نسميه تداخل الدوال
انظر المثال
كود PHP:
double my_number(double a,int b)
   {
    
double c=a+b;
    
double d=my_sum(c,10);
    return(
d);
   }
int my_sum(int a,int b)
   {
    
double c=a+b;
    return(
c);
   } 
هنا استدعيت الدالة my_sum من داخل الدالة الأخرى
my_number
الان لو سألتك ماذا ستكون نتيجة هذا الكود بناء على المثال السابق
كود PHP:
my_number(10,5
؟؟؟؟
احسبها
_______
هل وجدتها 25 أم لا ؟؟؟؟
***************
نلاحظ أن ترتيب الدوال ليس ذو اهمية فأنا وضعت الدالة my_number
قبل الدالة my_sum مع أني استخدمت الدالة الثانية في الاولى
لذا فالترتيب بالنسبة للدوال ليس ذو اهمية

بهذا نكون قد انهينا الدرس السابع و أتمنى ان اكون قد وفقت في الشرح
و أي استفسار نرجو وضعه في الموضوع المخصص لذلك
http://www.goldentraderfx.com/vb/thread349-7.html

بالتوفيق للجميع
__________________
و من يتق الله يجعل له مخرجا و يرزقه من حيث لا يحتسب
محمود عامر غير متواجد حالياً  
قديم 22-04-2010, 09:56 AM   #8
مشرف المؤشرات والاكسبيرتات
 
الصورة الرمزية محمود عامر
 
تاريخ التسجيل: Jan 2010
الدولة: سوريا
المشاركات: 11,968
معدل تقييم المستوى: 19
محمود عامر is on a distinguished road
افتراضي رد: دروس تعلم لغة MQ4

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

الدرس الثامن

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

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



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

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

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

ماذا تلاحظ؟
أولا لابد من الاشارة الى ان الكتابة باللغة العربية لها مشاكلها لذا لابد من الانتباه عند التعامل معها و يفضل الكتابة دائما بالانكليزية للاشياء التي نريد التوضيح لها

نلاحظ أولا أن هناك كلمات تكون بالوانها الطبيعية و كلمات تكون باهتة لماذا؟
أحيانا يريد المبرمج كتابة بعض التوضيحات لكي تبقى ضمن برنامج و بحال اراد الرجوع الى هذا البرنامج بعد وقت طويل يستطيع من خلالها معرفة ما قد عمله سابقا و تكون بمثابة تذكير له
و لكن هذه الاشياء هي ليست اكواد خاصة باللغة و انما هي جمل عادية يكتبها بلغته هو ليعود اليها
و عليه فاننا نجد أن لغة MQ4 فيها رموز خاصة لذلك و هي
الرمز //
و الرمز /* */
بحيث يقوم الرمز // بجعل برنامج الميتا يتجاهل كل ما يكتب بعده في نفس السطر
يعني كل شيء يكتب بعد هذا الرمز فان برنامج الميتا لن يقرأه و بالتالي يظهره لك بلون باهت لتعرف انه لن يقرأه
أما الرمز الثاني و هو
/* */
فانه يقوم بجعل الميتا يتجاهل كل ما يكتب بينهما سواء بسطر واحد او اكثر

لذلك سوف نستخدم هذه الرموز كثيرا لكتابة الشروحات و التوضيحات لكم ضمن الكود

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

يمكنم وضع استفساراتكم و اسئلتكم في الموضوع المخصص لذلك
http://www.goldentraderfx.com/vb/thread349-7.html
الملفات المرفقة
نوع الملف: mq4 Template.mq4‏ (1.7 كيلوبايت, المشاهدات 75)
__________________
و من يتق الله يجعل له مخرجا و يرزقه من حيث لا يحتسب
محمود عامر غير متواجد حالياً  
قديم 27-04-2010, 04:01 AM   #9
مشرف المؤشرات والاكسبيرتات
 
الصورة الرمزية محمود عامر
 
تاريخ التسجيل: Jan 2010
الدولة: سوريا
المشاركات: 11,968
معدل تقييم المستوى: 19
محمود عامر is on a distinguished road
افتراضي رد: دروس تعلم لغة MQ4

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

الدرس التاسع

أهلا بكم في الدرس التاسع من دروس MQ4
*************

نعلم جميعا ان المؤشرات و الاكسبيرتات التي نستخدمها على برنامج الميتاتريدر هي على نوعين
اما تكون بامتداد MQ4
أو تكون بامتداد EX4

لكن مالفرق بينهما و هل يستطيع الجهاز قراءة الملفين؟؟

نحن نعلم اننا نقوم بكتابة المؤشر او الاكسبيرت بلغة MQ4 و لكن ما تقول لو اخبرتك أن برنامج الميتاتريدر او الكمبيوتر بشكل عام لا يستطيع قراءة ما كتبناه بلغة ام كيو فور!!
اذن كيف ينفذ لنا الميتاتريدر الاوامر الموجودة في الاكسبيرت او المؤشر؟؟

الميتاتريدر يقوم بتنفيذ هذه الاوامر بعد تحويلها من لغتنا التي كتبناها بها الى لغة الالة و لغة الالة هي الملف EX4

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



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

لكن ماذا لو لم اعمل كومبايل للملف ووضعته في مجلد المؤشرات ضمن الميتا؟
بهذه الحالة يتوجب عليك اعادة تشغيل الميتا لكي يظهر المؤشر بمجلد المؤشرات لانه أثناء اعادة التشغيل يقوم الميتاتريدر بعمل كومبايل لكل المؤشرات و الاكسبيرتات الموجودة عنده و ينشأ ملفات EX4 لكي يستطيع قراءتها
***********
لكن ما فائدة الكومبايل ايضا؟
يجب أن نتعود دائما و بعد كتابة اي كود جديد ضمن البرنامج ان نقوم بعمل كومبايل لان هذه العملية ستخبرنا ان كان هناك اية اخطاء برمجية ضمن البرنامج.
و تظهر الاخطاء على شكل رسائل بأسفل محرر الميتا
و عند الضغط دبل كليك على هذه الاخطاء يقوم بأخذك الى مكانها لكي تقوم بتصحيحها
كما هو مبين بالصورة



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

[PHP]#property copyright "Mahmoud Amer, Copyright © 2010"
#property link "http://www.goldentraderfx.com/vb/"[/PHP]

ما الغريب به
نحن قلنا ان الجمل البرمجية يجب ان تنتهي بفاصلة منقوطة و هنا لم تنتهي بها
نعم
مع هذا النوع لا يجب وضع الفاصلة المنقوطة
نلاحظ وجود الكلمة
#property
و معناها بيان الملكية و الخصائص
نحن نقوم بارسال هذه الكود الى الكومبايلر ليكتبه ضمن ملف EX4 و لكن دون ان يعالجه برمجيا و من هنا عندما تحاول فتح ملف EX4 بواسطة برنامج تكست عادي فانك تجد كله عبارة عن طلاسم ماعدا ايميل المبرمج و موقعه لاننا ارسلناها للكومبايلر بواسطة بيان الملكية فتبقى كما هي بدون ان يحولها الى طلاسم لغة الالة

و ايضا الكلمات
كود PHP:
copyright    link 
هي كلمات لحفظ الحقوق من موقع المبرمج و ايميله و غيره
و هي تأخد اسماء من نوع
string
كما تلاحظون ان اسم المبرمج و عنوان الموقع بعدها جاءت على شكل معرف سترينج لانها بين القوسين المضاعفين كما تحدثنا سابقا

***************
ربما يكون هذا اخر ما سنأخذ بالنظري
و الان المطلوب منك ان تقوم بحذف كل الكلمات العربية الموجودة ضمن الملف الذي ارفقناه بالدرس السابق و تقوم بعمل ملف EX4 له لتتأكد من انك لم تخطأ أثناء هذه العملية و لكي نقوم بتهيأته للعمل عليه في الدرس القادم كأول درس عملي فعلي
***
أرجو أن يكون الشرح واضح
و أي استفسار ارجو وضعه في الموضوع المخصص
http://www.goldentraderfx.com/vb/thread349-8.html
بالتوفيق للجميع
__________________
و من يتق الله يجعل له مخرجا و يرزقه من حيث لا يحتسب
محمود عامر غير متواجد حالياً  
قديم 17-05-2010, 11:36 PM   #10
مشرف المؤشرات والاكسبيرتات
 
الصورة الرمزية محمود عامر
 
تاريخ التسجيل: Jan 2010
الدولة: سوريا
المشاركات: 11,968
معدل تقييم المستوى: 19
محمود عامر is on a distinguished road
افتراضي رد: دروس تعلم لغة MQ4

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

الدرس العاشر

هذا الدرس سيكون عملي
و سوف نقوم بتطبيق مؤشر بسيط
***
ما رأيكم أن نقوم بعمل مؤشر يرسم خط على الهاي و اللو لليوم السابق

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

الان نفتح الملف بواسطة برنامج محرر الميتا

يجب أن نضع كود نخبر به الميتا بأن هذا الملف هو مؤشر و هو سيعمل بنفس نافذة الشارت الذي يوضع عليه و ليس بنافذة مستقلة
نقوم باضافة الكود التالي بعد سطري التعريف بالمبرمج الذين تحدثنا عنهما
كود PHP:
#property indicator_chart_window 
الان سيكون عملنا في الدالة ستارت
لابد من أن نأتي بقيمة الهاي و قيمة اللو ليوم البارحة
يجب تعريف المتغيرات التي سنستخدمها
في بداية الدالة ستارت نضع التعريفات
كود PHP:
double hi,low
حسنا الان جهزنا المتغيرات لنضع فيها قيمة الهاي و اللو
و لكن كيف سنعرف هذه القيم
لدينا الدالة
iHigh
و
iLow
و تكون كتابتها بالشكل التلي
كود PHP:
iHigh(string Symbol(),int timefram,int shift
حيث أن الخانة الاولى فيها و هي اسم العملة المرادة
يمكنني أن أضع مثلا
EURUSD
أو أي عملة أخرى
لكن أنا لدي طريقة أسهل و هي أن أجعل المؤشر يتعرف لوحده على العملة التي ادرجته عليها و هي الدالة
كود PHP:
Symbol() 
حيث أن هذه الدالة تعني اسم العملة التي عليها المؤشر فان كان المؤشر على اليورو دولار فتكون EURUSD
و ان كان على الباوند تكون GBPUSD
و هكذا
نأتي الى الخانة الثانية فيها و هي
int timefram
و هي متغير من نوع اينيت اي رقم بلا فواصل و يجب ان اضع به الفريم الذي اريد العمل عليه
و الفريمات برمجيا من الدقيقة الى الشهري هي بالترتيب
كود PHP:
PERIOD_M1
PERIOD_M5
PERIOD_M15
PERIOD_M30
PERIOD_H1
PERIOD_H4
PERIOD_D1
PERIOD_W1
PERIOD_MN1 
ايضا يمكنني ان استعيض عنها بارقام
ففريم الدقيقة يمثل الرقم واحد
و النصف ساعة 30 و اليومي 1440 و هكذا

و الخانة الثالثة في الدالة هي
int shift
هذه ايضا رقم من نوع اينيت و هي تمثل رقم الشمعة التي اريد معلومات الهاي لها
حيث ان الشمعة الحالية و التي لم تغلق بعد يكون رقمها صفر
و الشمعة التي قبلها أي التي اغلقت يكون رقمها واحد
و التي قبلها اثنان
و هكذا
اذن انا اريد هاي اليوم السابق
اي اريد الهاي للشمعة رقم واحد على فريم اليومي للعملة التي عليها المؤشر
هل تستطيع تركيب الكود لهذا الان ؟؟؟
نعم لابد انك تعرف
هذا هو
كود PHP:
iHigh(Symbol(),PERIOD_D1,1
و كذلك الامر بالنسبة للو نفس الكود بالضبط مع تغيير اني اريد اللو و ليس الهاي هكذا
كود PHP:
iLow(Symbol(),PERIOD_D1,1
الان اصبح الكود الذي عندي في الدالة ستارت بهذا الشكل
كود PHP:
double hi,low;
    
hi=iHigh(Symbol(),PERIOD_D1,1);     
    
low=iLow(Symbol(),PERIOD_D1,1); 

اتيت بقيمة الهاي و اللو و بقي ان اقوم برسم خط على الهاي و خط على اللو

سوف أقوم بعمل دالة خارجية لرسم الخط و استطيع استخدامها اينما شئت من الكود و لكي لا اقوم بوضع اكواد الرسم في كل مرة انما اكتفي باستخدام الدالة المخصصة لذلك
سأضع لكم الدالة و من ثم اشرحها
طبعا يكون مكان هذه الدالة خارج الدالة ستارت لانها دالة قائمة بحد ذاتها
كود PHP:
void line(string namedouble pr1,color clrint style)
    {
     if(******
Find(name) != 0)
        {
         ******
Create(nameOBJ_HLINE00,pr1);
         ******
Set(nameOBJPROP_COLORclr);
         ******
Set(nameOBJPROP_STYLEstyle);
       } 
       else{if(******
Get(name,OBJPROP_PRICE1)!=pr1)
         {******
Delete(name);}}
   } 
هذه دالة رسم الخط و سأشرحها بالصورة التالية



الان بعد ان أنشأت الدالة بقي أن أستدعيها لرسم الخط الذي اريده
انا لدي القيم التي اريد الرسم عندها و هي
hi
و
low
استدعاء الدالة يتم كالاتي
اعود الى داخل الدالة ستارت و تحت قيم هاي و لوو
اضع الكود التالي
كود PHP:
line("HIGH"hi,Red0);
    
line("LOW"low,Blue0); 
بهذا اكون قد رسمت خط لونه احمر على الهاي و خط لونه ازرق على اللو
انتهى الدرس
ستجدون في المرفقات ملف المؤشر بعد اكتماله
*************
ارجو ان تكون واضحة و بسيطة بالنسبة لكم و اي استفسار ارجو وضعه في الموضوع المخصص لذلك
مناقشة دروس لغة MQL4
بالتوفيق للجميع
الملفات المرفقة
نوع الملف: mq4 Hi.Low Line1.mq4‏ (1.6 كيلوبايت, المشاهدات 84)
__________________
و من يتق الله يجعل له مخرجا و يرزقه من حيث لا يحتسب

التعديل الأخير تم بواسطة محمود عامر ; 18-05-2010 الساعة 12:01 AM
محمود عامر غير متواجد حالياً  
قديم 02-06-2010, 10:10 AM   #11
مشرف المؤشرات والاكسبيرتات
 
الصورة الرمزية محمود عامر
 
تاريخ التسجيل: Jan 2010
الدولة: سوريا
المشاركات: 11,968
معدل تقييم المستوى: 19
محمود عامر is on a distinguished road
افتراضي رد: دروس تعلم لغة MQ4

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


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

سوف نقوم باضافة هذه المتغيرات كمتغيرات خارجية لكي يستطيع المستخدم التحكم بها و تغيير قيمها
كيف اجعل متغير ما خارجي؟؟
لدي كلمة
extern
و هي توضع قبل تعريف المتغير لتبين انه يجب ان يكون خارجي و يظهر بالاعدادات
و طبعا المتغيرات الخارجية توضع في القسم الاول من البرنامج و خارج كل الدوال الاخرى
كود PHP:
extern double Lots 0.1;
extern int TakeProfit=100;
extern int StopLoss=100;
extern  int            Magic        765
الان هناك دوال ايضا تكون ثابتة في كل اكسبيرت و هي مثلا
دالة عدد الاوردرات
كود PHP:
int total(int op)
   {
    
int c;
    for (
int cnt=0cnt<OrdersTotal(); cnt++)
      {
          
OrderSelect(cnt,SELECT__POS) ;  
       if(
OrderSymbol()==Symbol() && OrderMagicNumber()== Magic && OrderType()==op
          {                                        
             
c++;
            } 
     }
     return(
c);
  } 
طبعا كما تعلمنا سابقا هذه الدوال مستقلة بذاتها استطيع استدعاءها من اي جزء في البرنامج و يجب ان تكون خارج الدالة ستارت
و ايضا دالة فتح الاوردر
كود PHP:
int open(int ty,double lot,double prc,int pof,int sll
   {
     
double sl=0,tp=0;
     
color clr;
     if(
ty==OP_BUY  ty==OP_BUYSTOP  ty==OP_BUYLIMIT)
        {
         if(
sll>0){sl=prc-(sll*Point);}else{sl=0;}
         if(
pof>0){tp=prc+(pof*Point);}else{tp=0;}
         
clr=Green;
        }
     if(
ty==OP_SELL  ty==OP_SELLSTOP  ty==OP_SELLLIMIT)
       { 
         if(
sll>0){sl=prc+(sll*Point);}else{sl=0;}
         if(
pof>0){tp=prc-(pof*Point);}else{tp=0;}
         
clr=Red;
       }     
         
int tik=OrderSend(Symbol()
                ,
ty
                
,lot
                
,prc
                
,4
                
,sl
                
,tp
                
,"M_A:EA"
                
,Magic
                
,0
                
,clr);
          
string t;
            if(
ty==OP_BUY)t="BUY";if(ty==OP_SELL)t="SELL";if(ty==OP_BUYSTOP)t="BUY STOP";if(ty==OP_SELLSTOP)t="SELL STOP";if(ty==OP_BUYLIMIT)t="BUY LIMIT";if(ty==OP_SELLLIMIT)t="SELL LIMIT";
      if(
tik>0)
         {
          
           Print(
"Order Opened successfully   " ,"Type   ",t,"  LotSize   ",lot);
         }
         else
           {
            Print(
"OrderSend failed with error #",GetLastError(), " Type ",t,"  LotSize ",lot);
           }
                
//////
         
return(tik);
   

كما اخبرتكم سابقا
انا اعتمد على طريقة الدوال الخارجية في معظم البرامج التي اعملها لاني اراها الاسهل فمثلا بدلا من ان اقوم بكتابة كود ارسال الاوردر في كل مرة اريد ارسال اوردر بها فقط اقوم باستدعاء هذه الدالة و هي تتكفل بذلك
أيضا احتاج دالة اغلاق الاوردر
كود PHP:
int close(int op)
    {
      
double price;
      if(
op==OP_BUY){price=Bid;}
      if(
op==OP_SELL){price=Ask;}
      
int total  OrdersTotal();
       for (
int cnt cnt total cnt++)
            {
             
OrderSelect(cnt,SELECT__POS,MODE_TRADES);
             if (
OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
                 {
                  if (
OrderType()==op)
                      {
                       if(
OrderClose(OrderTicket(),OrderLots(),price,7)==false)
                          {
                           *******
Rates();
                          }
                          else
                            {
                             
cnt=0;
                             
total=OrdersTotal();
                             }
                        }
                   }
             }      
  return(
0);

حسنا سنكتفي بهذه الدوال الثلاثة لعمل اكسبيرت اليوم
الان نحن سنعمل اكسبيرت يفتح صفقة عند تقاطع الموفنج
اذا سوف أقوم بعمل دالة للموفنج
طبعا سيكون عندي مؤشرين موفنج واحد سريع و هو الموفنج الصغير و الاخر بطيء و هو الموفنج الكبير
سوف اضيف تحديد الموفنج للاعدادات الخارجية ليتحكم بها المستخدم
كود PHP:
extern int Fast_Moving=10;
extern int Slow_Moving=20

الان سأعمل دالة للموفنج لاعرف قيمته عند أي شمعة اريد
دالة الموفنج السريع
كود PHP:
double fast(int i)
   {
    
double c=iMA(Symbol(),0,Fast_Moving,0,MODE_EMA,PRICE_CLOSE,i);
    return(
c);
   }
//////////////////////
double slow(int i)
   {
    
double c=iMA(Symbol(),0,Slow_Moving,0,MODE_EMA,PRICE_CLOSE,i);
    return(
c);
   } 
هذه الصورة شرح لدالة الموفنج


الان أصبح عملنا داخل الدالة ستارت لنقوم بتحديد الشروط للدخول و الخروج
سوف احدد شروط البيع و الشراء
سأعرف متغيرين لذلك
كود PHP:
bool buy,sell
شروط الشراء
كود PHP:
buy=(fast(1)>slow(1) && fast(2)<=slow(2)); 
ماذا يعني هذا
انا اريد الدخول على شمعة التقاطع فقط و بعد أن تثبت الاشارة
هذه ترجمة شرط الشراء
الشراء يساوي
الموفنج السريع اكبر من البطيء على الشمعة التي اغلقت و الموفنج السريع اصغر او يساوي البطيء على الشمعة التي قبلها
لو دققت بهذه الجملة ستجد ان هذا الشرط لا يتحقق الا بشمعة واحدة عند التقاطع
شروط البيع تكون بعكس الشراء
كود PHP:
sell=(fast(1)>slow(1) && fast(2)>=slow(2)); 
الان حددت شروط الموفنج و بقي ان احدد شروط الدخول
للدخول شراء
يجب اولا ان يعطيني الموفنج اشارة شراء و ايضا سأشترط عدم وجود صفقات شراء مفتوحة لكي يدخل مرة واحدة و لا يكرر الدخول
كود PHP:
if(buy==true && total(OP_BUY)==0)
      {
       
open(OP_BUY,Lots,Ask,TakeProfit,StopLoss);
       
close(OP_SELL);
      } 
هنا بعد تحقق الشروط استدعيت دالة فتح الاوردر و دالة اغلاق الاوردر المعاكس
و للبيع
كود PHP:
if(sell==true && total(OP_SELL)==0)
      {
       
open(OP_SELL,Lots,Bid,TakeProfit,StopLoss);
       
close(OP_BUY);
      } 
بهذا يكون اكسبيرتنا جاهز للعمل
مرفق الملف كامل
ارجو ان يكون كل شيء واضح
و أي استفسار يوضع بالموضوع الخاص لذلك
مناقشة دروس لغة MQL4
بهذا نكون قد أنهينا المرحلة الاولى من لغة
MQ4
و سوف نتوقف في الوقت الحالي عند هذا الحد الى ان نجد متابعين اكثر معنا لنكمل في مراحل متقدمة ان شاء الله


بالتوفيق للجميع
الملفات المرفقة
نوع الملف: mq4 TEMP EA.mq4‏ (4.5 كيلوبايت, المشاهدات 69)
__________________
و من يتق الله يجعل له مخرجا و يرزقه من حيث لا يحتسب
محمود عامر غير متواجد حالياً  
قديم 13-06-2010, 12:57 AM   #12
مشرف المؤشرات والاكسبيرتات
 
الصورة الرمزية محمود عامر
 
تاريخ التسجيل: Jan 2010
الدولة: سوريا
المشاركات: 11,968
معدل تقييم المستوى: 19
محمود عامر is on a distinguished road
افتراضي رد: دروس تعلم لغة MQ4

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

الدرس الثاني عشر


سوف نقوم بهذ الدرس بصناعة مؤشر يعطينا سهم بيع او سهم شراء ضمن شروط معينة
و من ثم سنقوم في الدرس القادم بعمل اكسبيرت يعتمد بالدخول على اسهم هذا المؤشر
*****
تعلمنا من الدروس السابقة أننا يجب أن نحدد للميتا بأن برنامجنا هذا هو مؤشر و سيعمل اما بالنافذة الرئيسية او بنافذة مستقلة
و هنا في حالتنا هذه نريده أن يظهر الاسهم في النافذة الرئيسية لذا يجب أن نضيف الكود الاتي لبداية المؤشر
كود PHP:
#property indicator_chart_window 
الان سوف احدد له عدد المخرجات التي اريدها من المؤشر و هي هنا ستكون مخرجين
مخرج لسهم الشراء و مخرج لسهم البيع
اذن سأضيف له هذا الكود
كود PHP:
#property indicator_buffers 2 
سوف أحدد له لون كل مخرج من الاثنين عن طريق الكود التالي
كود PHP:
#property indicator_color1  Red
#property indicator_color2  Blue 
الان سوف أقوم بتسمية هذه المخرجات
كود PHP:
double down[];
double up[]; 
سميت سهم الشراء up
و سهم البيع down

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


الان سأدخل الى داخل الدالة اينيت
كود PHP:
init() 
و التي قلنا ان الميتا سيقرأها لمرة واحدة عند وضع المؤشر على الشارت

أنا الان حددت للميتا انني اريد مخرجين من هذا المؤشر أحدهما أحمر و الاخر أزرق
و سوف أعطي كل منهما رقم يعرف به حسب التسلسل
كود PHP:
SetIndexBuffer(0,down);
   
SetIndexBuffer(1,up); 
نلاحظ هنا أنني بدأ بالعد من الرقم صفر و اعتبرت أن المخرج الاول هو صفر و الثاني هو واحد
و بما أننا قلنا أن الحد الاعلى للمخرجات هي ثمانية مخرجات فعليه سيكون ترقيمها من الصفر الى سبعة

و لكن لم أحدد له شكل هذين المخرجين هل هما سهمين ام خطين ام غير ذلك
نحن هنا نريد سهمين لذا سوف اضيف الكود التالي في داخل اينيت ليعرف الميتا ان المطلوب هو رسم سهم لكل مخرج
كود PHP:
SetIndexStyle(0,DRAW_ARROW);
   
SetIndexStyle(1,DRAW_ARROW); 
اذن علم الميتا أنني أريد رسم سهم لكل مخرج
و عليه نجد أن لون السهم الذي سيخرج من المخرج صفر و الذي هو down كما حددت له سيكون لونه أحمر لان اللون الاول وضعته أحمر و الثاني أزرق

و بقي أن أحدد له شكل السهم هل هو سهم لاعلى أم لاسفل ام له شكل معين
و لكل سهم رمز يرمز له برقم و سأكتفي برمز السهم العادي لاعلى بحالة الشراء و لاسفل بحالة البيع عن طريق الكود التالي
كود PHP:
SetIndexArrow(0,234);
   
SetIndexArrow(1,233); 
الان سأخرج من الدالة اينيت و أدخل الى الدالة ستارت
كود PHP:
start() 
يجب أن أضع شرط لرسم الاسهم
لنفرض أنا أريد من المؤشر أن يقوم برسم سهم للاعلى ان اغلقت الشمعة صاعدة و سهم للاسفل ان اغلقت الشمعة هابطة

اذن شرط الشمعة الصاعدة هو ان يكون اغلاقها اكبر من افتتاحها
كود PHP:
if(Close[1]>Open[1]) 
فعند تحقق هذا الشرط سأرسم سهم على تحت لوو هذه الشمعة بعشرة نقاط متجه للاعلى
كود PHP:
{up[1]=Low[1]-10*Point;} 
و عند تحقق شرط الشمعة الهابطة و التي اغلاقها اصغر من افتتاحها
كود PHP:
if(Close[1]<Open[1]) 
سأرسم سهم لاسفل فوق هاي هذه الشمعة بعشرة نقاط
كود PHP:
{down[1]=High[1]+10*Point;} 
الان أصبح المؤشر كامل عندنا و سيرسم لنا سهم صاعد على الشمعة الصاعدة و سهم هابط على الشمعة الهابطة
****
و كما قلنا سوف نعمل اكسبيرت يعتمد على مخرجات هذا المؤشر في الدرس القادم لنتعلم كيف نتعامل مع المؤشرات من داخل اكسبيرت
***
أرجو أن يكون الدرس واضح و أي استفسار يوضع في الموضوع المخصص لذلك
http://www.goldentraderfx.com/vb/thread349-12.html
مرفق ملف المؤشر للاطلاع
بالتوفيق للجميع
الملفات المرفقة
نوع الملف: mq4 ind1.mq4‏ (1.9 كيلوبايت, المشاهدات 49)
__________________
و من يتق الله يجعل له مخرجا و يرزقه من حيث لا يحتسب
محمود عامر غير متواجد حالياً  
قديم 26-06-2010, 12:07 AM   #13
مشرف المؤشرات والاكسبيرتات
 
الصورة الرمزية محمود عامر
 
تاريخ التسجيل: Jan 2010
الدولة: سوريا
المشاركات: 11,968
معدل تقييم المستوى: 19
محمود عامر is on a distinguished road
افتراضي رد: دروس تعلم لغة MQ4

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

الدرس الثالث عشر

كما اخبرتكم سابقا فاننا سوف نقوم بعمل اكسبيرت يدخل بيع و شراء بناء على اشارات المؤشر الذي عملناه في الدرس السابق

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

يمكنني أن أستدعي من داخل الاكسبيرت أي مؤشر للعمل بواسطة الدالة
iCustom
و تكون مدخلاتها بالشكل التالي
كود PHP:
iCustom(string Symbol(),int timeframe,string name,,,int mode,int shift); 
حيث المتغير الاول هو اسم العملة المرادة و استطيع وضعه Symbol() و هي تعني العملة الافتراضية الموجود عليها المؤشر او الاكسبيرت

المتغير الثاني هو timefram أي الفريم المراد العمل عليه و تركه صفر يعني الفريم الافتراضي الموجود عليه الاكسبيرت او المؤشر

المتغير الثالث هو اسم المؤشر المراد استدعاؤه و طبعا يجب ان يكون من نوع سترينج اي جملة نصية و يوضع اسم المؤشر بين قوسين ثنائيين " "

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

المتغير ما قبل الاخير هو mode و هو رقم المخرج من المؤشر و الذي تحدثنا عنه في الدرس السابق

المتغير الاخير shift وهو رقم الشمعة المراد قيمة المؤشر عندها

*****
الان سوف اقوم باستدعاء المؤشر الذي عملته بالدرس السابق من داخل الاكسبيرت
سوف اقوم بعمل دالة تعود لي بقيمة المؤشر عند اي شمعة اريدها على الشكل التالي

كود PHP:
double arrow_sell(int i)
   {
    
double c=iCustom(Symbol(),0,"ind1",0,i);
    return(
c);
   } 
الان ماذا تعني هذه الدالة
تمعن بها قليلا
تعني قيمة سهم البيع الصادر من المؤشر عند الشمعة التي احددها

و هذه لسهم الشراء
كود PHP:
double arrow_buy(int i)
   {
    
double c=iCustom(Symbol(),0,"ind1",1,i);
    return(
c);
   } 
الان اخبرني مالفرق بينهما؟؟
طبعا ستلاحظ أن سهم البيع هو قيمة المخرج رقم صفر التي صدرت من المؤشر و سهم الشراء هو قيمة المخرج رقم واحد (كما شرحنا بدرس المؤشر)

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

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

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

الان ستتغير شروط البيع و الشراء لتصبح على الشكل التالي
كود PHP:
buy=(arrow_buy(1)<=Low[1] && arrow_buy(1)!=EMPTY_VALUE);
   
sell=(arrow_sell(1)>=High[1] && arrow_sell(1)!=EMPTY_VALUE); 
ماذا يعني هذا
شرط الشراء أن يكون قيمة سهم الشراء الصادرة عن المؤشر اصغر او تساوي لوو لشمعة قم واحد أي التي اغلقت لتوها ( و هو مكان سهم الشراء من المؤشر)

و شرط البيع ان يون قيمة سهم البيع اكبر او تساوي هاي الشمعة رقم واد (و هو مكان سه البيع الصادر من المؤشر)

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

الان باستبدال الشروط اصبح لدينا الاكسبيرت جاهز
أرجو أن يكون الشرح واضح
بالمرفقات ستجد كلف الاكسبيرت الجديد كامل
أي استفسار يوضع بالموضوع المخصص لذلك
http://www.goldentraderfx.com/vb/thread349-15.html
بالتوفيق للجميع
الملفات المرفقة
نوع الملف: mq4 ind1_EA.mq4‏ (4.4 كيلوبايت, المشاهدات 50)
__________________
و من يتق الله يجعل له مخرجا و يرزقه من حيث لا يحتسب
محمود عامر غير متواجد حالياً  
موضوع مغلق

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


LinkBacks (?)
LinkBack to this Thread: http://www.goldentraderfx.com/vb/thread356.html
أرسلت بواسطة For Type التاريخ
ظƒظ†طھ ظ‚ط¯ ط·ظ„ط¨طھ ط³ط§ط¨ظ‚ط§ ط±ط¨ط· ط¨ظٹط§ظ†ط§طھ ط§ظ„طھط´ط§ط±طھ ظپظٹ طµظپط­ط© ط§ظƒط³ظ„ ...ط§ظ„ط§ظ† ظ‡ط°ظ‡ ط§ظ„ظ„ط؛ط© ظ‡ظٹ ط§ظ„ط­ظ„ ط§ظ„ظ…ظ†ط§ط³ط¨ ظ„ظ„ظ…ظˆط¶ظˆط¹ MQ4 - Excel ظ…ظ†طھط¯ظ‰ ط§ظ„ط§ظƒط³ظٹظ„ - ط£ظˆظپظٹط³ظ†ط§ This thread Refback 05-10-2013 01:30 AM
ط§ظ„ط³ظ„ط§ظ… ط¹ظ„ظٹظƒظ… ....ظƒظ†طھ ظ‚ط¯ ط·ظ„ط¨طھ ط³ط§ط¨ظ‚ط§ ط±ط¨ط· ط¨ظٹط§ظ†ط§طھ ط§ظ„طھط´ط§ط±طھ ظپظٹ طµظپط­ط© ط§ظƒط³ظ„ ...ط§ظ„ط§ظ† ظ‡ط°ظ‡ ط§ظ„ظ„ط؛ط© ظ‡ظٹ ط§ظ„ط­ظ„ ط§ظ„ظ…ظ†ط§ط³ط¨ ظ„ظ„ظ…ظˆط¶ظˆط¹ MQ4 - Excel ظ…ظ†طھط¯ظ‰ ط§ظ„ط§ظƒط³ظٹظ„ - ط£ظˆظپظٹط³ظ†ط§ This thread Refback 04-10-2013 06:25 AM
صفحة 3 من موضوع حتشرب لغة MQL4 بالمعلقه.............صدقنى | منتدي المتداول العربي This thread Refback 31-12-2012 10:04 PM
كتب قيمة لتعليم الجافا سكربت This thread Refback 15-06-2012 12:20 AM
كتب قيمة لتعليم الجافا سكربت This thread Refback 23-06-2011 04:00 PM

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

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

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


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
دروس خاصة وظائف خالية وظائف خالية 0 09-05-2011 03:30 PM
دروس خصوصيه وظائف خالية وظائف خالية 0 08-05-2011 12:00 PM
دروس خاصة سمير صيام وظائف خالية 0 07-03-2011 07:51 AM
دروس فى الأوتوكاد ناصر محمد منتدى برامج الكمبيوتر والانترنت الكاملة 9 04-12-2010 02:56 PM
دروس فى المحاسبة هشام غنيم محمد منتدى المواضيع الاخرى 32 21-05-2010 10:34 PM


الساعة الآن 02:56 AM.

أقسام المنتدى

منتديات المتاجر الذهبى للعملات @ المتاجر الذهبي العام @ المتاجر الذهبي التعليمي @ المتاجر الذهبي للمؤشرات والاكسبيرتات @ منتديات المتاجر الذهبي العامة @ المنتدى الاسلامي @ منتدى الرياضة المحلية والعالمية @ منتدى برامج الكمبيوتر والانترنت الكاملة @ منتدى الالعاب الإليكترونية الكاملة @ المنتدى الوثائقي @ منتدى المواضيع الاخرى @ منتدى الشكاوي والاقتراحات @ المتاجر الذهبي الاداري @ طلبات خاصة غير مرئية بمقابل مادي @ المتاجر الذهبي لشركات الوساطة @ منتدى العرض والطلب (اعلانات مبوبة) @ سيارات وموتوسيكلات @ أراضي وعقارات @ التليفونات المحمولة والخطوط @ اجهزة الكمبيوتر واللاب توب @ الأجهزة الكهربائية @ اعمال ومشروعات @ مقتنيات شخصية @ خدمات عامة @ وظائف خالية @ المتاجر الذهبي للاسهم والبورصات العربية @ خدمة عملاء المتاجر الذهبي @ استراحة المتاجر الذهبي @ مسابقات المتاجر الذهبي @ قسم الاخبار @ بروفيت كوليكتور Profit Collector @ الادارة العليا @



Powered by vBulletin® Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.6.1 TranZ By Almuhajir
Ads Management Version 3.0.1 by Saeed Al-Atwi


تحذير المخاطره تجارة العملات الأجنبية بإستخدام الهـامش تعتبر ذات مخاطرة عالية جدا , وقد لا تتوافق هذه التجارة مـع جميع المستثمريـن والمضـاربين. كمــا أن درجة المخاطرة العالية بالروافع المالية فى سوق العملات الأجنبية قـد تسير عكس توقعات المستثمـر كما تسير فى صالحه. ينصــح موقع المتاجر الذهبى قبل دخولك واستثمارك في عالم تجـارة العملات بتوخـي الحذر في أهداف استثمـاراتك، ودرجة خبرتك، وتقبلك للمخاطرة في هذا السوق. المشاركات والتعليقات جميع المشاركات المكتوبة تعبّر عن وجهة نظر كاتبها ولا تعبّر عن وجهة نظر إدارة المنتدى وادارة المتاجر الذهبي تخلي مسؤوليتها عما تحتويه المشاركات من انتهاك لحقوق الملكية الفكرية أو النشر أو الطبع إذا كنت تعتقد أن واحدا من مستخدمينا تنتهك حقوق التأليف والنشر الخاصة بك أو يستخدم المتاجر الذهبي لنشر محتويات غير قانونية، يرجى ارسال رسالة على البريد الإلكتروني التالي
info@goldentraderfx.com
!Disclaimer All posts express the views of the author ... Does not reflect the views of the management forum And management of goldentraderfx disclaims what they contain posts from violation of intellectual
property rights or publishing or printing
If you believe that one of our users is violating your copyrights or is using goldentraderfx.com to publish illegal contents, please send an e-mail to info@goldentraderfx.com
جميع الحقوق محفوظه للمتاجر الذهبي 2015