النتائج 46 إلى 60 من 237
- 17-12-2007, 02:18 AM #46
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
خطوة رائعة جدا ارجو لها الاكتمال و التوفيق
ولكن لى رجا اااااء (ان يغلق الموضوع على الشرح فقط اما اى استفسارات او اسئلة يفرد لها موضوع خاص)
حتى لا يتشتت احد. ولا اية رايكم
- 17-12-2007, 02:41 AM #47
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
اليكم اخوتى الاحباب الدرس الثانى للاستاذ وضاح عطار على هيئة ملف وورد
- 17-12-2007, 11:51 PM #48
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
جزاكم الله كل خير
- 19-12-2007, 04:42 PM #49
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
بسم الله الرحمن الرحيم
في هذا الدرس سنتطرق إلى أنواع المعلومات التي يمكن للغة MQL4 أن تتعامل معها.
هذه الأنواع هي:
أولا: المعلومات أو البيانات الرقمية:
والتي بدورها تنقسم إلى قسمين:
-- أرقام صحيحة integer ليس فيها فاصلة عشرية مثل 245 و 900 و -98 و الصفر.
يتم تعريف هذا النوع من المعلومات ( والتي تكون إما متحولا Variable أو وظيفة Function ) عبر الأمر int وهو طبعا اختصار لـ integer.
حدود هذه الأرقام الصحيحة هي من -2147483648 إلى 2147483647 .
أي رقم أكبر من المجال المسموح لن يخزن بشكل صحيح ولن تعرف النتيجة الحاصلة.
أمثلة عن تعريف متحولات أو وظائف يكون نوع البيانات فيها من النوع الصحيح:
كود PHP:int a;
int b=5;
int a,b=5;
int a,b;
int GetTop(int a,intb)
{
return(99);
}
يمكن تعريف عدة متحولات مع إعطائهم قيمة أولية.
يمكن تعريف أكثر من متحول لنفس الأمر مع الفصل بينهما بالفاصلة العادية.
أو يمكن تعريف كل متحول لوحده.
إن تعامل الكمبيوتر مع الأرقام الصحيحة أسرع من تعامله مع الأرقام ذات الفاصلة العشرية.
كما أنه يستهلك موارد ذاكرية أقل.
لذلك يجب على المبرمج أن يحدد نوع البيانات بدقة وإذا كان الأمر يحتاج لمتحولات صحيحة فلا ينبغي أن يستخدم متحولات بفاصلة عشرية كي يخزن بها قيم صحيحة.
مثلا عدد الشموع هو عدد صحيح دائما وأيضا عدد الصفقات المفتوحة مثلا.
بينما الأسعار هي أرقام ذات فاصلة ولا يمكن تخزينها في متحولات صحيحة.
لذلك يجب الانتباه جيدا عند التعامل مع المتحولات وإن عدم إدارة هذا الموضوع بشكل جيد قد يعرض برنامج للإخفاقات أو لا يعمل من أصله.
ولا تعرف ما هي المشكلة من عدم عمله بينما يكون السبب تعريف متحول بشكل خاطيء.
والمصيبة أن اللغة لا تعطيك دائما رسائل خطأ تعلم من خلالها أن هناك مشكلة مع المتحولات.
لنفرض أنك عرفت متحولا صحيحا ووضعت فيه القيمة 0.5
عند محاولتك استخدام أو طباعة هذا المتحول ستجد أن القيمة المخزنة فيه هي صفر وليس 0.5 كما فعلت أنت.
ويحدث هذا الأمر دون أن يحدث خطأ ينبهك. بينما لن يعمل برنامج بشكل صحيح.
-- أرقام مضاعفة double والتي تستخدم لتخزين أرقام صحيحة أو التي تحتوي على فاصلة عشرية مثل ( 0.2589 - 1.2589 - 582 - 0 - (-98.25)).
تستخدم غالبا المتحولات العشرية لتخزين الأسعار أو النسب المئوية وهكذا.
مجال هذا النوع هو من -1.7 × e قوة -308 إلى 1.7 × e قوة 308 .
e هي النسبة الرياضية المعروفة ( يمكن 2.8 ). وهذا يعني مجال واسع جدا جدا.
ثانيا: المعلومات النصية:
والتي تعرف من خلال الأمر string وهي تعني ان المتحول سنخزن فيه أحرفا أو أرقاما.
والأرقام التي نخزنها في المتحول النصي لا يتعام معها الكمبيوتر على أنها أرقام بل يتعامل معها على أساس أنها أحرف.
وهذا يؤدي إلى أن الكمبيوتر لن يستطيع إجراء عمليات حسابية أو مقارنة رقمية بين المتحولات النصية المخزن فيها أرقام.
تستخدم المتحولات النصية غالبا كرسائل للمستخدم أو عرض معلومات على الشارت.
أمثلة:
كود PHP:string MyName;
string MyName,MyAddress;
string MyName="Ahmad";
string GetName(string address)
{
return("Ahmad");
}
ثالثا: المعلومات المنطقية Boolean:
والتي تعرف من خلال الأمر bool . وهذه المتحولات تخزن فقط قيمتين هما صح true أو خطأ false.
يستفاد من هذه المتحولات المنطقية للإشارة إلى نعم أو لا لأي احتمال ممكن.
فأي احتمال مثل هل تريد أن يعمل التنبيه مثلا هو نعم أو لا .
أو هل السعر قريب من المتوسط له بمقدار 10 نقاط هو نعم أو لا .
ولا يوجد إجابة أخرى يعني إما أبيض وإما أسود.
أمثلة:
كود PHP:bool a=true,b=false;
bool a;
bool GetStatus()
{
return(true);
}
رابعا: المعلومات أو البيانات الزمنية datetime:
يتم تعريف المتحولات الزمنية بالأمر datetime ويمكنه تخزين تاريخ فقط أو تاريخ وزمن أو زمن فقط في هذا المتحول.
المجال المتاح تخزينه في المتحولات الزمنية هو من Jan 1, 1970 إلى Dec 31, 2037.
يعني في العام 2037 سوف تتوقف كل المؤشرات والاكسبيرتات.
طبعا هذا المجال على مستوى الثواني.
يتم إضافة الحرف D قبل القيمة الزمنيةالتي نريد وضعها في المتحول.
أمثلة:
كود PHP:datetime expiredate=D'2007.05.01 06:55:23';
datetime dd=D'06:30';
إذا لم تكتب التاريخ فسوف يكون التاريخ الافتراضي هو تاريخ عمل النسخة التنفيذية للمؤشر أو تاريخ التنفيذ.
- 19-12-2007, 04:44 PM #50
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
بعد أن تعرفنا على أنواع المتحولات والوظائف هناك موضوع غاية في الأهمية ألا وهو مجالات المتحولات Variable Scope .
ما هو المعنى الفني لمصطلح مجالات المتحولات ؟
ببساطة يمكن القول أن المجال يعني منطقة عمل هذه المتحولات.
ولتبسيط هذا المفهوم نقول:
افترض أن الكتلة البرمجية للبرنامج كلها هي مجال عمل للبرنامج كله.
وافترض أن الكتلة البرمجية لأي وظيفة هي مجال فرعي من المجال الكلي للبرنامج.
وكل كتلة برمجية وظيفية هي مجال فرعي من مجال البرنامج الكلي.
ولاحظ أنه لا يوجد تداخل بين المجالات الفرعية للكتل الوظيفية. وكل هذه المجالات الفرعية هي حتما ضمن المجال الأكبر وهو مجال البرنامج.
الآن لتخيل الموضوع أكثر افترض أن لدينا دائرة كبيرة هي دائرة البرنامج.
وفي داخلها دوائر أصغر منها وموجودة كلها بداخل الكرة الكبيرة ولكن دون تقاطع فيما بين الدوائر الصغيرة.
هذه الدوائر الصغيرة هي الوظائف الموجودة ضمن برنامجنا.
والآن نعود لمفهوم مجالات المتحولات ونقول:
إذا عرفنا المتحول ضمن دائرة مجال البرنامج كله فهذا يعني أننا نستطيع التعامل مع هذا المتحول من كل برنامجنا بما فيه المجالات الفرعية الأصغر للكتل الوظيفية.
ويقصد بالتعامل مع المتحول قراءة قيمته وتغييرها.
أما إذا عرفنا المتحول ضمن دائرة مجال الوظيفة الفرعية فإننا نستطيع التعامل معه فقط من داخل هذا المجال. وهذ المتحول لن يكون معرفا ولن نستطيع التعامل معه من خارج هذه الدائرة.
الآن إذا أردنا لمتحول أن يكون عاما Global لكل برنامجنا فيجب تعريفه Declare في بداية برنامجنا وخارج أي كتلة وظيفية وفعليا يتم كتابته قبل الوظيفة init.
أما إذا كان المتحول خاصا بوظيفة معينة ولا تهمنا قيمته خارج هذه الوظيفة فيجب علينا أن نعرفه داخل الوظيفة نفسها.
وفي هذه الحالة لن يكون له قيمة أو يمكن التعامل معه من خارج هذه الوظيفة.
إذا عرفنا متحول باسم a في المنطقة العامة للبرنامج فنحن لن نستطيع تعريفه بنفس الاسم داخل أي من وظائفنا الأخرى.
أما إذا عرفنا المتحول a في الوظيفة F1 مثلا فنحن نستطيع أيضا أن نعرف متحول آخر بنفس الاسم a في الوظيفة F2 بدون مشاكل.
ويكون المتحول الأول مختلفا عن الآخر.
بمجرد خروج التنفيذ من الكتلة البرمجية للوظيفة فإن أي متحول معرف داخلها لن يكون له أي قيمة وغير معرف خارجها.
ولن يعود له قيمة إلا إذا عدنا مرة أخرى لتنفيذ الوظيفة مرة أخرى.
وهنا يجب التفريق بين حالتين:
إذا أردنا أن نحافظ على قيمة المتحول داخل الوظيفة حتى ولو خرج التنفيذ وعاد لها مرة أخرى فإننا نستخدم التعبير static عند تعريف المتحولات.
أما إذا كنا لا نريد الاحتفاظ بقيمة المتحول عند الخروج ولا يهمنا المحافظة عليها فإننا نعرفه داخل الوظيفة بالطريقة المعتادة.
- 19-12-2007, 04:54 PM #51
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
أمثلة توضح المقصود من مجالات المتحولات:
المثال الأول:
كود PHP:
#property indicator_chart_window
// المتحولات التي تعرف هنا عامة في جميع البرنامج
int gNum=5;
double gPrice=1.2587;
int init()
{
// المتحولات التي تعرف من داخل الوظيفة تكون خاصة بها فقط
string Name="Waddah Attar";
Print(Name,gNum);
return(0);
}
int deinit()
{
datetime ExpirDate=D'2007.05.01';
Print(ExpireDate,gPrice);
return(0);
}
int start()
{
// لا يمكن تعريف متحول هنا بنفس اسم متحول عام لذلك السطر التالي خطأ
int gNum;
// يمكن تعريف متحول هنا بنفس اسم متحول معرف داخل وظيفة أخرى مثل
string Name="Mohammed";
int A,B;
return(0);
}
هذين المتحولين نستطيع التعامل معهما من أي جزء من برنامجنا ومن داخل أي وظيفة.
عرفنا متحولات خاصة بالوظيفة init وهذه المتحولات لا يمكن التعامل معها إلا من داخل الوظيفة init نفسها.
وأي محاولة للتعامل معها من خارج هذه الوظيفة سوف يقابل برسالة خطأ قاتلة Fatal Error.
يمكن تعريف متحول في وظيفة بنفس الاسم المعرف بها في وظيفة أخرى.
بهذا المثال نكون قد وضحنا تماما كيفية تعريف المتحولات داخل البرنامج.
بقيت نقطة هامة أخرى وهي المتحولات الستاتيكية static variable
انظروا لهذا المثال أولا:
كود PHP:int start()
{
int a=5;
Print(a);
a=a+1;
return(0);
}
المثال السابق يعرف متحولا باسم a ويعطيه قيمة افتراضية هي 5 .
ثم يقوم بطباعته وبعد ذلك يزيد لقيمته واحد .
الآن بمجرد خروج التنفيذ من الوظيفة start ثم العودة لها مرة أخرى فإن قيمة a ستعود لتصبح 5 من جديد.
ولكن لأننا في بعض الحالات نحتاج أن نحافظ على قيمة المتحول المعرف داخل الوظيفة بقيمته حتى ولو خرجنا من الوظيفة فإننا نعرفه على أساس أنه ستاتيك أي نطلب من البرنامج حفظ قيمته عند الخروج من الوظيفة.
وعند الدخول مرة أخرى للوظيفة فإن قيمة المتحول a لن تعود للقيمة الإفتراضية له بل ستأخذ آخر قيمة لها من آخر تنفيذ للوظيفة start
ولكي يصبح مثالنا السابق صحيحا فإن المثال يصبح على الشكل التالي:
كود PHP:int start()
{
static int a=5;
Print(a);
a=a+1;
return(0);
}
ثم تصبح 6 بعد زيادة الواحد إليها.
ثم ينتهي تنفيذ الوظيفة ويخرج التنفيذ منها.
عند العودة مرة أخرى إلى تنفيذ الوظيفة start فإن القيمة الأخيرة 6 ستكون في المتحول a ولن يأخذ القيمة الافتراضية 5 .
ثم يزداد واحد ليصبح 7 وهكذا مع كل تنفيذ.
هذه هي فائدة المتحولات الستاتيكية في أنها تحافظ على قيمها عند خروج التنفيذ من الوظيفة التي عرفوا بها.
هذه المفاهيم البرمجية ضرورية جدا للبرمجة فيما بعد وتعطيك آفاقا وأدواتا تساعدك على البرمجة الاحترافية وتحويل أفكارك إلى برامج دون صعوبات تذكر.
أيضا يجب التنويه إلى أن المتحولات العامة تستهلك ذاكرة وموارد أكثر من المتحولات الستاتيكية
بينما المتحولات المحلية Local Variable تستهلك أقل الموارد.
- 20-12-2007, 12:10 AM #52
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
أخ وضاح
جزاك الله عنا كل خير
- 22-12-2007, 02:40 AM #53
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
شكرا لكل المتابعين والمهتمين
ولكن هل من المعقول أنه لا توجد أسئلة على الدروس الماضية حتى الآن ..
- 22-12-2007, 12:41 PM #54
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
جزاك الله كل خير أستاذنا الكريم وضاح
الموضوع هو خوض في بحر بالنسبة لنا فلذلك لا نريد تشتيتك في أسئلة كثيرة هي أساسية وصعبة بالنسبة لنا ولكنها بديهية ولاتحتاج إلى سؤال بالنسبة لك
ولذلك نحاول أن نتابع أكثر وأكثر حتى تكتمل الصورة بالنسبة لنا ثم نستطيع أن نوجه أسئلتنا بدقة ووعي أكثر .
أرجو منك متابعة الشرح والصبر علينا للنهاية ولك منا جزيل الشكروالإمتنان ...أخوك أبو فاضل
- 22-12-2007, 05:12 PM #55
- 23-12-2007, 10:37 PM #56
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
بسم الله الرحمن الرحيم
سنبدأ مع هذا الدرس البدء في بناء مؤشرنا الذي تحدثنا عنه في الدروس السابقة:
الخطوات الفعلية لبناء مؤشر بشكل عام:
- تجهيز خصائص المؤشر من حيث عدد الخطوط المطلوب رسمها ولونه.
- تجهيز المصفوفات التي سنضع فيها القيم الرقمية لقيمة كل خط من المؤشر ولكل شمعة.
لأنه يمكن أن يكون المؤشر عبارة عن خط أو أكثر.
وكل مؤشر يستطيع إظهار حتى ثمانية خطوط في نفس الوقت.
والخط يقصد به طبعا الشيء الذي نريد رسمه على الشارت ولكل شمعة.
فمثلا مؤشر المتوسط المتحرك عبارة عن خط واحد بينما مؤشر البولينغر عبارة عن ثلاثة خطوط.
كل خط من خطوط المؤشر يجب أن يرتبط بمصفوفة نقوم نحن بإنشائها داخل برنامجنا.
- ربط مصفوفة كل خط مع الذاكرة الرسومية الوسيطة Buffer. وهي التي تحول مصفوفتنا وتربطها بمعالج داخلي للغة MQL4 والذي يقوم برسم قيم المصفوفة على الشارت نفسه.
وأي تغيير في قيم هذه المصفوفة سينعكس مباشرة على الشارت.
- إعطاء هذه الذاكرة الرسومية الوسيطة الخصائص الرسومية المناسبة لطريقة رسم الخط.
هذه الخصائص الرسومية هي شكل الخط ولونه وطريقة رسمه.
- آخر خطوة هي ملء المصفوفة بالقيم المناسبة في كل مرة يتغير فيها السعر.
والآن سنبدأ في كتابة الكود البرمجي للمؤشر:
تذكير فقط بمهمة مؤشرنا:
المؤشر سيرسم في نافذة منفصلة خطين عمودين لكل شمعة.
الخط العمودي الأول هو عبارة عن طول الشمعة الحالية.
الخط العمودي الثاني هو عبارة عن طول جسم الشمعة.
الخطوة الأولى:
لنعد إلى الكود الفارغ الذي أنشئناه في الدرس الثاني وهو كالتالي:
كود PHP://+------------------------------------------------------------------+
//| Candle Length.mq4 |
//| Copyright © 2006, eng waddah attar |
//|
كود PHP:http://www.****quotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, eng waddah attar"
#property link "http://www.****quotes.net"
#property indicator_separate_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);
}
//+------------------------------------------------------------------+
ويتم ذلك بواسطة الأمر property والذي مهمته تحديد خصائص المؤشر.
والأمر الكامل هو:
كود PHP:#property indicator_buffers 2
بواسطة الأمر السابق حددنا للمترجم ( Compiler ) أن عدد الخطوط هو اثنان.
وأي أمر في البرنامج تجد أوله هو # فهذا يعني أن هذا الأمر هو موجه للمترجم مباشرة.
- نحدد الآن لون كل خط وذلك بواسطة الأمر property نفسه ولكن مع تغيير اسم الخاصية طبعا.
والأمر الكامل هو:
كود PHP:#property indicator_color1 Green
#property indicator_color2 Red
لاحظوا أن أوامر المترجم لا تنتهي بالقاصلة المنقوطة.
من الخطوات السابقة نتعلم أن أمر المعالج property هو لإعلام المترجم بالخصائص البرمجية المطلوبة لمؤشرنا ( وهي غير الخصائص للمؤشر نفسه والتي يستطيع المستخدم تغييرها ).
لمعرفة الألوان المتاحة في المؤشر ضع الكورسر على الكلمة Green ثم اضغط F1 سيظهر لك جدول الألوان مع تسمياتها.
- نبدأ الآن في كتابة أسطر تعريف المصفوفتين الضروريتين لعمل مؤشرنا.
سنحجز مصفوفتين من النوع double أي أرقام بفاصلة عشرية لتخزين قيم طول كل شمعة.
سنسمي الأولى BufLength1 والثانية BufLength2
التسميات طبعا اختيارية ولكن يفضل أن تكون مفهومة ومعبرة عن الهدف منها.
ويجب حجز هذه المصفوفات في مجال البرنامج كله ولذلك سنكتب أوامر التعريف قبل الوظيفة init
ويصبح الكود النهائي على الشكل التالي:
كود PHP://+------------------------------------------------------------------+
//| Candle Length.mq4 |
//| Copyright © 2006, eng waddah attar |
//|
كود PHP:http://www.****quotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, eng waddah attar"
#property link "http://www.****quotes.net"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
double BufLength1[];
double BufLength2[];
//+------------------------------------------------------------------+
//| 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);
}
//+------------------------------------------------------------------+
- 23-12-2007, 10:40 PM #57
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
سنعمل الآن على ربط المصفوفات بالذاكرة الرسومية الوسيطة من خلال الوظيفة SetIndexBuffer
هذه الوظيفة تقوم بربط الذاكرة الوسيطة ( وهي لها أرقام من 0 إلى 7 ) بالمصفوفة المطلوبة ويكون تنفيذ الأمر بالنسبة لمؤشرنا على الشكل التالي:
كود PHP:SetIndexBuffer(0,BufLength1);
SetIndexBuffer(1,BufLength2);
والمدخل الثاني هو اسم المصفوفة المعرفة مسبقا ( دون الأقواس المربعة [ ] ).
بهذه الخطوة نكون قد ربطنا مصفوفاتنا بالذاكرة الرسومية الوسيطة.
والآن أي قيم رقمية سنضعها داخل هذه المصفوفة سينعكس مباشرة على الشارت.
الآن يجب تحديد بعض الخصائص الرسومية لكل ذاكرة رسومية وسيطة مثل نوع الخط وسماكته ولونه.
يتم تحديد نوع الخط المرسوم بواسطة الوظيفة SetIndexStyle
لهذه الوظيفة عدة مدخلات الأول والثاني إجباري تحديد القيم لهما
المدخلات الثلاثة الباقية تحديد قيمهم اختياري وهم سيأخذون قيما افتراضيا في حال عدم تحديد قيم لهم.
المدخلتان ( البارامتران ) الأوليان هما رقم الذاكرة الوسيطة ( 0 - 7 ) ثم نوع رسم الخط على التوالي.
كل خط نستطيع أن نحدد له عدة أنواع من طرق الرسم
وما يهمنا هنا هو نوعان فقط حاليا:
النوع الأول : DRAW_LINE ( وهو عبارة عن قيمة ثابتة لها الرقم صفر ).
النوع الثاني : DRAW_HISTOGRAM ( وهو عبارة عن قيمة ثابتة لها الرقم اثنان ).
نحن سنحدد أن نوع رسم الخط هو خطوط عمودية HISTOGRAM وستكون الأوامر على الشكل التالي:
كود PHP:SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_HISTOGRAM);
بهذا قد نكون قد انتهينا من تحديد ما يلزمنا حاليا من خصائص رسومية ونستطيع إكمال مؤشرنا.
ولكن سنعود حتما لهذا القسم لنضيف بعض الخصائص الرسومية الأخرى.
هذا الربط بين المصفوفات والذاكرة الوسيطة وتحديد الخصائص الرسومية يتم تنفيذها مرة واحد فقط.
لذلك نضع كل هذه التعليمات البرمجية داخل الوظيفة init والتي تنفذ مرة واحدة عند وضع المؤشر على الشارت.
ويصبح الكود النهائي للمؤشر الحالي على الشكل التالي:
كود PHP://+------------------------------------------------------------------+
//| Candle Length.mq4 |
//| Copyright © 2006, eng waddah attar |
//| www.****quotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, eng waddah attar"
#property link "http://www.****quotes.net"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
double BufLength1[];
double BufLength2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexBuffer(0,BufLength1);
SetIndexBuffer(1,BufLength2);
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_HISTOGRAM);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
//----
return(0);
}
//+------------------------------------------------------------------+
- 24-12-2007, 12:31 AM #58
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
السلام عليكم جميعا
شكرا جزيلا استاذ واضح على المجهود الواضح والشرح السلس
وجزاكم الله كل خير
و تكون عون لنا جميعا فى المنتدى باذن الله
كان لى طلب شخصى عند حضرتك وقد يستفيد منه زملاء اخرون هنا فى المنتدى
كنت اريد كتاب جيد من اختيارك لشرح الميتاكوت لانجويش حيث ان لى خبرة كبيرة فى مجال البرمجيات فى السى والجافا لذا حكون شاكر جدا لو اعطيتنى شئ اقرأه بالاضافة الى شرحك استاذى
واتمنى من الله ان يوفقنا جميعا للخير بأذن الله
شكرا جزيلا استاذ وضاح و انا متابع جيد لشرحك بالرغم ان جديد فى المنتدى لكن قرأت كل الموضوع بمشاركاته وانا ارى ان هذا هو اهم موضوع فى الميتاتريدر و هى نقطة القوة اللتى تميزها عن ايى برنامج اخر للشارتات
اتمنى لك التوفيق
اخوك احمد
- 24-12-2007, 11:28 PM #59
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
جزاك الله كل خير يا اخ وضاح
- 25-12-2007, 10:04 PM #60
رد: تعال وتعلم معنا لغة MQL4 حتى الاحتراف
وعليكم السلام ورحمة الله وبركاته
بالنسبة للشرح العربي لن تجده إلا في المنتديات العربية وخصوصا المتداول العربي
بالنسبة للشرح الأجنبي فيمكنك البحث في جوجل وستجد الكثير من الملفات والكتب باللغة الأجنبية.
أنصحك بمتابعة الدورة هنا ففيها خبرات عالية جدا إن شاء الله .
وشكرا لك
المواضيع المتشابهه
-
للمبتدأين (حلل وتعلم) ضع تحليلاتك وتعلم من اخطائك
By BahraiN in forum استفسارات وأسئلة المبتدئينمشاركات: 248آخر مشاركة: 14-05-2012, 10:27 PM -
اريد كتاب به مفاتيح طرق الاحتراف
By عزيز in forum استفسارات وأسئلة المبتدئينمشاركات: 13آخر مشاركة: 29-08-2006, 03:48 AM