صفحة 11 من 14 الأولىالأولى ... 567891011121314 الأخيرةالأخيرة
النتائج 151 إلى 165 من 205
  1. #151
    الصورة الرمزية ahmed hanafy
    ahmed hanafy غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2006
    الإقامة
    Cairo-Egypt
    العمر
    72
    المشاركات
    6,986

    افتراضي مشاركة: هيا نصنع مؤشر بأيدينا

    على بركة الله



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

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

    ثم ماذا


    يوجد مشكلة فى كتابة الكود . هل من مساعد ؟؟؟؟؟؟؟؟؟؟؟

  2. #152
    الصورة الرمزية ahmed hanafy
    ahmed hanafy غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2006
    الإقامة
    Cairo-Egypt
    العمر
    72
    المشاركات
    6,986

    افتراضي مشاركة: هيا نصنع مؤشر بأيدينا

    على بركة الله



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

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

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

    اما باقى الاسطر البرتقالى كتبت اليا بمعرفة البرنامج


    كود:
    //---- buffers
    double ExtMapBuffer1[]; //+------------------------------------------------------------------+
    قمنا فى هذا السطر بتعريف مصفوفة باسم ExtMapBuffer1 يوضع فيها قيم المؤشر و هى من النوع ارقام غير صحيحة ( بفاصلة عشرية) و الدليل انها مسبوقة بكلمة double
    و لكن كيف عرفت انها مصفوفة و لم تقل متغير ؟
    لانها متبوعة بالاقواس []

  3. #153
    الصورة الرمزية ahmed hanafy
    ahmed hanafy غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2006
    الإقامة
    Cairo-Egypt
    العمر
    72
    المشاركات
    6,986

    افتراضي مشاركة: هيا نصنع مؤشر بأيدينا

    ثم ماذا؟؟؟؟؟

  4. #154
    الصورة الرمزية ahmed hanafy
    ahmed hanafy غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2006
    الإقامة
    Cairo-Egypt
    العمر
    72
    المشاركات
    6,986

    افتراضي مشاركة: هيا نصنع مؤشر بأيدينا

    ثم ماذا

    هذا الكود ماذا يعنى


    كود:
     
    //| 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); 
     
     
     
    } 
     
     
     
    //+------------------------------------------------------------------+ 
    









  5. #155
    الصورة الرمزية ahmed hanafy
    ahmed hanafy غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2006
    الإقامة
    Cairo-Egypt
    العمر
    72
    المشاركات
    6,986

    افتراضي مشاركة: هيا نصنع مؤشر بأيدينا

    اقتباس المشاركة الأصلية كتبت بواسطة ahmed hanafy
    نحن نتحدث عن لغة MQL4



    ادواتها :
    الدوال
    دوال أساسية ( موجودة جاهزة داخل اللغة )

    ( ()init() , deinit() , start ):
    " كل برنامج في لغة MQL4 سواء كان مؤشر , اكسبرت او اسكربت فهو يبدأ دائما بالدالة " ()init " اختصار كلمة بدأ (initialize) وهي تعمل بمجرد وضع البرنامج ( اكسبرت او مؤشر او اسكربت) على شارت الميتاتريدر , ووظيفتها بدء عمل المتغيرات الرئيسية بالبرنامج . و متى انتهى عمل البرنامج تقوم باغلاق الشارت او مسح المؤشر او الاكسبرت اواغلاق الميتا تريدر. تقوم الدالة " ()deinit " بعملها لأنهاء البرنامج .
    الدالة الثالثة " ()start " ( اهم الدوال على الإطلاق ) تعمل بصفة دائمة كلما استقبلت معطيات وقيم جديدة في متغيراتها ( تحرك السعر يعطي قيم جديدة للهاي واللو والكلوز وقيم المؤشرات المختلفة هي قيم تتغير طوال الوقت ) , احب ان اخبركهنا انك ستقضي 90% من حياتك البرمجية داخل هذه الدالة .
    سنعرف الكثير عن هذه الدوال الأساسية في حياتنا العملية عندما نبرمج ونكتب المؤشرات والإكسبرتات الخاصة بنا ان شاء الله ."


    و الان جاء دورها

  6. #156
    الصورة الرمزية ahmed hanafy
    ahmed hanafy غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2006
    الإقامة
    Cairo-Egypt
    العمر
    72
    المشاركات
    6,986

    افتراضي مشاركة: هيا نصنع مؤشر بأيدينا

    و الان جاء دورها
    اولا الدلة init() 1
    اول دالة تعمل في البرنامج( المؤشر ) قبل اي دالة أخرى .


    كود:
    int init()



    و تكون مسبوقة بالرمزINT و يليها ()

    يجب هنا وضع قيم المتغيرات الأبتدائية للمؤشر بين قوسين {} .




    كود:
     
     
    {
     
    SetIndexStyle(0,DRAW_LINE); 
     
     
     
    SetIndexBuffer(0,ExtMapBuffer1); 
     
     
     
    string short_name = "Your first indicator is running!"; 
     
     
     
    IndicatorShortName(short_name); 
     
     
     
    //---- 
     
     
     
    return(1); 
     
     
     
    } 
     
    






  7. #157
    الصورة الرمزية ahmed hanafy
    ahmed hanafy غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2006
    الإقامة
    Cairo-Egypt
    العمر
    72
    المشاركات
    6,986

    افتراضي مشاركة: هيا نصنع مؤشر بأيدينا

    طيب و المعنى

    اولا : SetIndexStyle(0,DRAW_LINE)

    و معناها اننا سنقوم برسم خط واحد فقط ؟
    ازاى ؟
    الرقم صفر يمثل عدد الخطوط المرسومة
    جميل قوى و هو صفر يعنى واحد ؟
    نعم . فالارقام المسموح بها فى هذا المكان ثمانية اى اننا يمكن ان نرسم ثمانية خطوط تبدأ من الصفر حتى 7 . يبقى لو خط واحد نكتب صفر و لو خطين زى الاستوكستيك نكتب 1 و لو 3 خطوط زى ADX نكتب 2 و هكذا و هكذا

    اما جملة DRAW_LINE ( لرسم خط ) طيب و ايه كمان ممكن نكتبه
    DRAW_SECTION ( لرسم قطع او نقط )
    DRAW_HISTOGRAM ( لرسم الهيستوجرام )
    DRAW_ARROW ( لرسم سهم )
    DRAW_NONE (بدون رسم اي شئ )








  8. #158
    الصورة الرمزية ahmed hanafy
    ahmed hanafy غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2006
    الإقامة
    Cairo-Egypt
    العمر
    72
    المشاركات
    6,986

    افتراضي مشاركة: هيا نصنع مؤشر بأيدينا

    ثانيا : SetIndexBuffer(0,ExtMapBuffer1)
    و معناها لدينا مؤشر واحد سنأخذ القيم التى سترسم من المصفوفة ExtMapBuffer1

    بمعنى ادق :

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

  9. #159
    الصورة الرمزية ahmed hanafy
    ahmed hanafy غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2006
    الإقامة
    Cairo-Egypt
    العمر
    72
    المشاركات
    6,986

    افتراضي مشاركة: هيا نصنع مؤشر بأيدينا

    ثالثا

    string short_name = "Your first indicator is running!";

    تقوم بتحديد اسم المؤشر الذى سيكتب على الشاشه اثناء تشغيله. اخترنا العبارة Your first indicator is runningو يمكنك اختيار اى عبارة اخرى

    رابعا
    IndicatorShortName(short_name)

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

    وبقيت RETURN وهي الجملة المسئولة عن انهاء الدالة ()init وتمرير البرنامج الى الدالة ()start لتبدأ عملها .


  10. #160
    الصورة الرمزية ahmed hanafy
    ahmed hanafy غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2006
    الإقامة
    Cairo-Egypt
    العمر
    72
    المشاركات
    6,986

    افتراضي مشاركة: هيا نصنع مؤشر بأيدينا

    و الان جاء دورها
    ثانيا

    دالة انتهاء المؤشر () deinit :

    هذه اخر دالة يستدعيها المؤشر , هنا يمكنك وضع اوامر نهاية البرنامج
    كود:
    int deinit()
    { //---- //---- return(0); }
    لا جديد يمكن قوله على هذه الدالة .


  11. #161
    الصورة الرمزية ahmed hanafy
    ahmed hanafy غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2006
    الإقامة
    Cairo-Egypt
    العمر
    72
    المشاركات
    6,986

    افتراضي مشاركة: هيا نصنع مؤشر بأيدينا

    و الان وصلنا النهاية
    ثالثا


    دالة start() 1
    كما عرفنا سنقضي تقريبا %90 من حياتنا البرمجية داخل اقواس الدالة ()start . وذلك لأنها أهم دالة من الدوال الرئيسية في لغة MQL4 .

    وعلى عكس الدالتين السابقتين ()init و ()deinit . فهي لا تنتهي مرة واحدة من طرف المستخدم , وانما كل مرة يتحرك فيها السعر على الشارت الموضوع فيه المؤشر , تعمل هذه الدالة .

    دالة ()start مثل جميع دوال MQL4 تعود بنتيجة محددة returtn . حيث ان (0)return معناها انه لا يوجد اخطاء , واي قيمة أخرى غير 0 فهي خاطئة ويتم الأنتقال الى جزء أخر .



  12. #162
    الصورة الرمزية ahmed hanafy
    ahmed hanafy غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2006
    الإقامة
    Cairo-Egypt
    العمر
    72
    المشاركات
    6,986

    افتراضي مشاركة: هيا نصنع مؤشر بأيدينا

    و الان وصلنا النهاية
    انظر لهذا الكود و تأمل معناه :
    كود:
    //| 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); } //+------------------------------------------------------------------+

  13. #163
    الصورة الرمزية ahmed hanafy
    ahmed hanafy غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2006
    الإقامة
    Cairo-Egypt
    العمر
    72
    المشاركات
    6,986

    افتراضي مشاركة: هيا نصنع مؤشر بأيدينا

    و سيتم شرحه فى المشاركة القادمة

  14. #164
    الصورة الرمزية ahmed hanafy
    ahmed hanafy غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2006
    الإقامة
    Cairo-Egypt
    العمر
    72
    المشاركات
    6,986

    افتراضي مشاركة: هيا نصنع مؤشر بأيدينا

    الدالة الهامة جدا
    start()1
    و تكون مسبوقة بالرمزINT و يليها ()

    يجب هنا وضع قيم المتغيرات الأبتدائية للمؤشر بين قوسين {} .

    كما فى السطر الاول من الكود
    int start() 1




  15. #165
    الصورة الرمزية ahmed hanafy
    ahmed hanafy غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2006
    الإقامة
    Cairo-Egypt
    العمر
    72
    المشاركات
    6,986

    افتراضي مشاركة: هيا نصنع مؤشر بأيدينا

    الدالة الهامة جدا
    start()1
    اما السطر الثانى

    كود:
    int counted_bars=IndicatorCounted();


    هنا نحن عرفنا متغير ما على انه عدد صحيح int وسميناه ( counted_bars ) واسندنا له قيمة محددة وهي الدالة ( int IndicatorCounted() ) ... ( اي ان القيمة الناتجة من هذه الدالة ستعود الى هذا المتغير .)
    وهي الدالة التي ستعود بقيمة ما (عدد صحيح) وهذه القيمة هي عدد الشموع المحسوبة عن طريق مؤشرنا هذا ( مثلا المتوسط المتحرك 5 , عدد الشموع هنا 5 ) لكن في حالة مؤشرنا هنا واحد فقط .


    مع بداية تشغيل المؤشر على الشارت سيحسب القيمة 0 وذلك لأنه لم يقم بحساب اي عدد من الشموع بعد .

    بعد ذلك يقوم بحساب الشموع (البارات) الموجودة على الشارت .
    اما الكود




    كود:
    if (counted_bars<0) return(-1);




    فعمله هو
    هذه الجملة ( counted_bars ) تحمل القيمة الناتجة من الدالة ()int IndicatorCounted ومن ثم تقوم الجملة الشرطية بعملها .

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

    وهذا ما يعنيه السطر اعلاه

    و كذلك



    ;--if (counted_bars>0) counted_bars




    هنا إذا جائت النتيجة صحيحة . وعدد البارات اكبر من الصفر ( اي ان عدد البارات على الشارت اكبر من المطلوب في المؤشر ).

    سيتم انقاص قيمة واحد من الناتج ( -- هي للإنقاص , راجع درس العمليات ) وبإنقاصها ستعود الدالة للحساب والمقارنة من جديد ( وهكذا يتم اصدار قيمة بعد قيمة لرسم المؤشر متصلا على الشارت مع كل شمعة ).





    آخر تعديل بواسطة ahmed hanafy ، 06-09-2006 الساعة 11:56 PM

صفحة 11 من 14 الأولىالأولى ... 567891011121314 الأخيرةالأخيرة

المواضيع المتشابهه

  1. لماذا نزرع الطمع بأيدينا في انفسنا
    By الجاويش in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادن
    مشاركات: 28
    آخر مشاركة: 26-04-2008, 06:56 PM
  2. نبينا يهان .. والحل بأيدينا
    By HERO_0 in forum استراحة اعضاء المتداول العربي
    مشاركات: 9
    آخر مشاركة: 29-01-2008, 04:22 PM
  3. كيف نصنع التمبلت ارجوا المساعده
    By hatem1 in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 2
    آخر مشاركة: 11-12-2007, 08:17 AM
  4. كيف نصنع اكسبيرت ارجوا من الخبراء الرد ؟
    By المرجوووج in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 2
    آخر مشاركة: 03-09-2006, 03:02 AM
  5. كيف نبرمج اشراء والبيع آلي وصنع اكسبريت؟
    By DO_LAR in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 49
    آخر مشاركة: 09-12-2005, 06:06 AM

الاوسمة لهذا الموضوع


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17