صفحة 2 من 35 الأولىالأولى 1234567812 ... الأخيرةالأخيرة
النتائج 16 إلى 30 من 524
  1. #16
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

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

    حتى الآن: مر علينا دالة OnInit ودالة OnTimer -- وكلها ضرورية جدا, ومثلها في اضلرورة دالة OnChartEvent
    انظر للصورة:

    هذه الدالة نصنعها منذ البدء عند انشاء خبير جديد,
    آخر تعديل بواسطة فيلسوف البادية ، 02-07-2017 الساعة 03:50 PM

  2. #17
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    وكما ترى يوجد فيها 4 متغيرات وهي:

    id من نوع int يعني عدد صحيح
    lparam من نوع long يعني قيمتها عدد صحيح طويل
    dparam من نوع double يعني قيمتها عدد عشري
    sparam من نوع string يعني قيمتها "نص"

  3. #18
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    أول متغير هو id

    OnChartEvent دالة تتألف من 4 متغيرات كما ذكرنا,
    أول متغير هو id وقلنا أنه من نوع int وهي اختصار integer وتعني عدد صحيح,
    فأنت لديك 12 ولدا, لهم اسماء وهي: محمد و وليد وخالد الخ, او بالإمكان تقول رقم 1 وتعني محمد ورقم 2 وتعني وليد, ورقم وتعني خالد الخ,

    كم ابناء هذه الدالة في لغة mql4 ؟؟
    ج: لها 12 من الابناء, مرقمين من 0 الى 11 ---- 0 و1 و 2 و 3 و 4 و 5 و 6 و 7 و 8 و 9 و 10 و 11

    فبإمكانك استخدام اسم الابن او استخدام رقم الابن برمجيا, فالأمر سيان.
    في الصورة أسفل ابناء او توابع هذه الدالة OnChartEvent الـ 12:

    وكل تابع له وظيفة محددة, وقد تفهم انت شيئا من الوظيفة الخاصة بكل دالة بمجرد قراءة الاسم

    مثلا التابع الثاني CHARTEVENT_MOUSE_MOVE ربما من كلمة ماوس تفهم ان لها علاقة بحركة الماوس على التشارت

    وربما بشوية ذكاء منك وقبل أي شرح تميز بين
    CHARTEVENT_CLICK
    و
    CHARTEVENT_OBJECT_CLICK

    قد تفهم ان الاولى الضغط على اي مكان في التشارت
    بينما الثانية خاصة بالضغط على شيء يوجد على التشارت.
    object = شيء


    إذن المتغير id يقبل 12 قيمة مختلفة, انظر للصورة في الرد السابق وكل قيمة لها غاية محددة,

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

    إذن استخدم الابن CHARTEVENT_OBJECT_CLICK

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


    لغة انجليزية:
    click ; يعني "اضغط على"
    آخر تعديل بواسطة فيلسوف البادية ، 02-07-2017 الساعة 03:59 PM

  4. #19
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    ثاني متغير هو lparam وهو خاص بقيمة س على محور السينات--يعني قيمة الزمن
    وثالث متغير هو: dparam وهو خاص بقيمة ص على محور الصادات, يعني قيمة السعر

    فكل ابن من الابناء 12 اعلاه اذا لزم الأمر معه قيمتين lparam و dparam

    وبعض التوابع ال 12 لايلزم, حيث لاتحتاج هذه القيم

    فأنت اذا ضغطت بالماوس على التشارت او على شيء محدد على التشارت, فإنه سيعطيك قيمتين قيمة السعر وقيمة الزمن في تلك النقطة,
    يعني قيمة x و قيمة y --- الاحادثيات للزوج المرتب (س,ص)

  5. #20
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    sparam

    ورابع متغير هو: sparam وهو خاص باسم الشيء الذي ضغطت عليه اذا كان الابن يتعامل مع الاشياء او قد يكون الماسك لحركة الماوس, حسب التابع يكون معناه.

    هذا المتغير sparam تحديدا هو المتغير الأهم الذي سنستخدمه كثير في الباكتستر الفوري, مع المتغير الأول بقيمة ObjectClick
    فنحن فقط سنستخدم واحدا فقط من هذه ل 12 تابع, وهو CHARTEVENT_OBJECT_CLICK


    وقيمة هذا المتغير دائما هي اسم الشيء
    اذا تذكر A_EURUSD --- اذا ضغطت عليه على التشارت فإن قيمة SPARAM ستكون اسم الشيء وليس قيمة الشيء.

    على التشارت يوجد زوج اسمه EURUSD--يعني قيمته EURUSD ولكن اسمه الذي يميزه هو B_EURUSD
    فقيمة SPARAM ليست قيمة الشيء بل هي اسم الشيء. نرجو التركيز.

    قيمة sparam ليست قيمة الشيء
    قيمة sparam هي اسم الشيء


    بناء عليه
    sparam = B_EURUSD

    قلنا: كل "شيء" له اسم وله قيمة.
    آخر تعديل بواسطة فيلسوف البادية ، 02-07-2017 الساعة 04:09 PM

  6. #21
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    إذن طالما اكثر كلامنا السابق عن اشياء والضغط عليها نستخدم احد توابع OnChartEvent
    وهو التابع CHARTEVENT_OBJECT_CLICK

    التوابع الـ 11 الأخرى لا أعتقد اننا سنحتاجها

    نضيفها داخل الدالة الأم OnChartEvent ---نلحق الابن بامه -- انظر للصورة:


  7. #22
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    وحتى الآن هذا هو الكود البرمجي الذي شرحناه
    كود PHP:
    string   str;
    string   S[] = {"EUR" ,"GBP" ,"AUD" ,"NZD" ,"USD" ,"CAD" ,"CHF" ,"JPY"};
    string   pairs[28];
    int OnInit()
    {
       
    EventSetTimer(1);
       
    str =StringSubstr(Symbol(),6,10);
    ///////////////////////////
       
    int j=-1;
       for(
    int i=0;i<=6;i++)
       {
          for(
    int k=i+1;k<=7;k++)
          {
             
    j++;
             
    pairs[j]=S[i]+S[k]+str;
          }
       }
       return(
    INIT_SUCCEEDED);
    }
    ////////////////////////
    void OnTimer()
    {
       for(
    int i=0;i<28;i++)
       {
          
    ObjectCreate(  "B_"+StringSubstr(pairs[i],0,6), OBJ_LABEL,0,0,0);
          
    ObjectSet(     "B_"+StringSubstr(pairs[i],0,6), OBJPROP_CORNER,0);
          
    ObjectSet(     "B_"+StringSubstr(pairs[i],0,6), OBJPROP_XDISTANCE,20);
          
    ObjectSet(     "B_"+StringSubstr(pairs[i],0,6), OBJPROP_YDISTANCE,50+i*13);
          
    ObjectSetText"B_"+StringSubstr(pairs[i],0,6), StringSubstr(pairs[i],0,6),9,"Tahoma",clrWhite);
    //      
          
    ObjectCreate(  "A_"+StringSubstr(pairs[i],0,6), OBJ_LABEL,0,0,0);
          
    ObjectSet(     "A_"+StringSubstr(pairs[i],0,6), OBJPROP_CORNER,0);
          
    ObjectSet(     "A_"+StringSubstr(pairs[i],0,6), OBJPROP_XDISTANCE,5);
          
    ObjectSet(     "A_"+StringSubstr(pairs[i],0,6), OBJPROP_YDISTANCE,50+i*13);
          
    ObjectSetText"A_"+StringSubstr(pairs[i],0,6), CharToStr(110),9,"wingdings",clrWhite);
          
       }
    }

    void OnChartEvent(const int id, const long &lparam, const double &dparam,  const string &sparam)
    {
       if(
    id==CHARTEVENT_OBJECT_CLICK)
       {
       
       }


  8. #23
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    ملخص ماسبق:
    وضعنا 58 شيئا على التشارت:
    1) اسماء الادوات المالية ال 28
    2) 28 مربع صغير, كل زوج على يساره مربع
    --
    وحددنا الأهداف حتى الآن بوضوح:
    1) اسماء الأزواج لكي نضغط عليها فيتفعل الزوج ويكون مشمولا بالباكتستر الفوري
    2) المربعات, عند الضغط على اي مربع فإنه يلغي الزوج بجانبه وبالتالي لانختبر استراتيجيتنا عليه.

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

  9. #24
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,851

    افتراضي

    جزاك الله خير على الموضوع التعليمي المميز سوف أضعه في أهم المواضيع التعليميه ليكون مرجع دائم



    متابعين معك

    https://forum.arabictrader.com/t141872.html
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  10. #25
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    جزاك الله خير على الموضوع التعليمي المميز سوف أضعه في أهم المواضيع التعليميه ليكون مرجع دائم



    متابعين معك

    https://forum.arabictrader.com/t141872.html
    حياكم الله اخي
    الموضوع تحديدا لم أطرحه لتعليم غيري, بل موجه لعتاة البرمجة ليكو بناءه جهد مشترك, وعلى وجه الخصوص موجه لك و لوضاح عطار وأي مبرمج آخر لديه الرغبة للمشاركة او التعلم والبناء على ماسبق.
    مثلا انا لدي عشرات البكتسترات الفوية الجاهزة, لافكار مختلفة وطرحت بعضها في المنتدى في القسم العام,
    اعتقد مع مراجعتها من الأول قد ترون هناك طرق برمجية أفضل, لتكون أسرع مثلا--أكثر دقة--سليمة من الاخطاء المحتملة.
    فقط امهلوني حتى انفض كل مالدي واثناء ذلك لو هناك ملاحظات-برمجية-ارجو عدم التردد.

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

    لأنه لابد من التطبيق على فكرة بسيطة من أجل تمام الشرح, دعنا نتفق أن تكون هذه الفكرة مؤشر AO--تقاطع متوسط 5 مع 34

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

    فيما بعد الاسطر البسيطة في البرنامج للفكرة نعدلها لأي فكرة اخرى ولكن يبقى عظم البرنامج كما هو.
    آخر تعديل بواسطة فيلسوف البادية ، 04-07-2017 الساعة 04:19 PM

  11. #26
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    ((1)) اولا لابد نعرف الادوات المالية ونعني الازواج التي نريد اختبارها دفعة واحدة
    ((2)) ثانيا) خاصية تحديد الازواج التي تريد تطبيق الباكتستر الفوري عليها برمجياً

    ((3)) ثالثا) منقطة العرض على التشارت,

    الجزء الثاني, تبقى الاشياء الصعبة وسنعود لإكمالها لاحقاً, حيث لازلنا بصدد برمجة الاساسيات قبل التطرق الأفكار الرئيسية.

    نريد الان عند تطبيق خبير الباكتستر الفوري.
    1) ان يصبح التشارت بخلفية سوداء لايوجد عليه الشموع, ولايوجد عليه خطوط الشبكة ولايوجد عليه ال OHCL صفحة سوداء صمة -- فقط تظهر الزمن ومحور السعر واسم رمز التشارت والفريم الزمني.
    2) خاصية خيار اظهار التشارت كـ 1) شموع او كـ 2) خطي او 3) اخفاؤه

    يتم ذلك على النحو التالي: ويكون هذا لأامر داخل دالة OnInit لتحدث هذه التغييرات لحظة التطبيق على التشارت.
    عند إزالة الخبير من على التشارت لابد ان يعود وضع التشارت كما كان, نمط الشموع وخطوط الشبكة grid

    كان التشارت هكذا,

    فأصبح هكذا:

    بعد إضافة الاسطر التالية الى دالة OnInit


  12. #27
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    2) خاصية خيار اظهار التشارت كـ 1) شموع او كـ 2) خطي او 3) اخفاؤه
    والآن نضيف برمجيا 3 أشياء للتشارت:
    1) الشيء الأول اذا ضغطنا عليه يظهر الشموع
    2) الشيء الثاني اذا ضغطنا عليه يظهر المود الخطي--تشارت خطي
    3) الشيء الثالث اذا ضغطنا عليه يخفي الشموع وتعود الصفحة كما كانت في الرد الاخيرر--تشارت نظيف.

    هذه الاشياء الثلاثة نريدها 3 دوائر صغيرة متجاورة أفقيا فوق اسماء الازواج
    اذن القيمة=دائرة صغيرة
    ملحوظة: القيمة هي ماتراه على التشارت سواء رقم أو شكل أو اي شيء آخر.
    واسماءها يجب أن تكون معبرة عن وظيفتها:

    اذن الشيء الاول سيتم تسميته CANDLES_MODE وتعني اظهر الشموع--نمط الشموع
    الشيء الثاني سيتم تسميته LINE_MODE -- يعني النمط الخطي
    الشيء الثالث سيتم تسميته CANDLES_HIDE وتعني اخف الشموع بحيث لاتظهر على التشارت.

    لغة انجليزية:
    HIDE = يخفي

    ملخص:
    الشيء الاول: قيمته دائرة صغيرة واسمه CANDLES_MODE
    الشيء الثاني: قيمته دائرة صغيرة واسمه LINE_MODE
    الشيء الثالث: قيمته دائرة صغيرة واسمه CANDLES_HIDE

    لاتنسى مانردده ببغائيا على الدوام: لكل شيء اسم و قيمة.
    آخر تعديل بواسطة فيلسوف البادية ، 05-07-2017 الساعة 02:05 PM

  13. #28
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة فيلسوف البادية مشاهدة المشاركة
    والآن نضيف برمجيا 3 أشياء للتشارت:
    1) الشيء الأول اذا ضغطنا عليه يظهر الشموع
    2) الشيء الثاني اذا ضغطنا عليه يظهر المود الخطي--تشارت خطي
    3) الشيء الثالث اذا ضغطنا عليه يخفي الشموع وتعود الصفحة كما كانت في الرد الاخيرر--تشارت نظيف.

    هذه الاشياء الثلاثة نريدها 3 دوائر صغيرة متجاورة أفقيا فوق اسماء الازواج
    اذن القيمة=دائرة صغيرة
    ملحوظة: القيمة هي ماتراه على التشارت سواء رقم أو شكل أو اي شيء آخر.
    واسماءها يجب أن تكون معبرة عن وظيفتها:

    اذن الشيء الاول سيتم تسميته CANDLES_MODE وتعني اظهر الشموع--نمط الشموع
    الشيء الثاني سيتم تسميته LINE_MODE -- يعني النمط الخطي
    الشيء الثالث سيتم تسميته CANDLES_HIDE وتعني اخف الشموع بحيث لاتظهر على التشارت.

    لغة انجليزية:
    HIDE = يخفي

    ملخص:
    الشيء الاول: قيمته دائرة صغيرة واسمه CANDLES_MODE
    الشيء الثاني: قيمته دائرة صغيرة واسمه LINE_MODE
    الشيء الثالث: قيمته دائرة صغيرة واسمه CANDLES_HIDE

    لاتنسى مانردده ببغائيا على الدوام: لكل شيء اسم و قيمة.

    نضيف الأسطر التالية على البرنامج - على دالة OnTimer -- يظهر يمين النتيجة على الشتارت--3 دوائر أفقية فوق اسماء الازواج.




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

    الشيء الاول: قيمته دائرة صغيرة واسمه CHART_HIDE
    هدفه: اخفاء الشموع
    الشيء الثاني: قيمته دائرة صغيرة واسمه CHART_CANDLES
    هدفه: اظهار الشموع
    الشيء الثالث: قيمته دائرة صغيرة واسمه CHART_LINE
    هدفه: اظهار المود الخطي

    الدوائر يعبر عنها في الوِندنقز بالرقم 108 كما يظهر في البرنامج
    آخر تعديل بواسطة فيلسوف البادية ، 06-07-2017 الساعة 11:29 PM

  14. #29
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    ===== شكل 108 == عبارة عن دائرة صغيرة ممتلئة ===
    آخر تعديل بواسطة فيلسوف البادية ، 06-07-2017 الساعة 11:33 PM

  15. #30
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    عناوين ماسيأتي: هو كل شيء نتصوره من اجل باكتستر فوري نموذجي وهي:
    1) اظهار الازاوج على التشارت وطريقة تفعيلها او الغائها
    2) بعض خواص التشارت نفسه,
    3) طريقة عرض الصفقات على التشارت مرتبة زمنيا حسب وقت دخول الصفقة للازواج المختارة
    4) عند الضغط على رقم صفقة معينة نريد ان نرسم خط من وقت سعر الدخول عند وقت الدخول الى سعر الخروج عند وقت الخروج. بحيث تكون منطقة مضللة. ونظهر اعلى انعكا وافضل ربح والربح او الخسارة المغلقة.
    5) اضافة خصائص الرقم الدمية للتحكم في فترة الاختبار او تحديد الاهداف الخ
    8) صفحة عرض الهستوري للدروداون على اسؤا الاحتمالات بحيث تحوي قراف يشمل الاكويتي كل يوم, البلنس كل يوم, وخط اسؤا دروداون
    7) اظهار السعر الحالي لكل زوج,

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

صفحة 2 من 35 الأولىالأولى 1234567812 ... الأخيرةالأخيرة

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