صفحة 265 من 687 الأولىالأولى ... 165215255259260261262263264265266267268269270271275315365 ... الأخيرةالأخيرة
النتائج 3,961 إلى 3,975 من 10293
  1. #3961
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,851

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة waleedgadelmola مشاهدة المشاركة
    السلام عليكم ورحة الله وبركاته
    الأخوة الأفاضل
    بعد مزيد من التحية
    أقوم بعملي البرمجي الأن من خلال عمل مكتبة دوال من خلال تجميع دوال كثيرة للاستاذ أسامه الله يجزاه عني كل خير من اكسبرتات متعددة لحضرته وكل ما أحتاج دالة أقوم بنسخها من هذا الملف ووضعها بالمكان المناسب في الاكسبرت اللي أقوم ببرمجتة
    ولكن أليس آن الأوان لكي أفهم فكرة تصميم الدوال حتى نكون فاهمين وليس حافظين
    أرجو التكرم بشرح ولو بسيط عن الدوال ( مشكلتي الكبيرة ) في البرمجة
    يعني مثلا
    1- فكرة انشاء الدوال والغرض منها
    2- كيف يتم صياغة دالة متكاملة بشكل صحيح
    3- كما أرجو التكرم بأن يكون الشرح على الدالتين المرفقين طبعا برمجة الاستاذ العبقري أسامة
    ( ما شاء الله ولا حول ولا قوة الا بالله )
    لأني أحتاج لتصميم أكسبرت تقريبا بنفس فكرة هذه الدوال
    ولكم الشكر
    دالة الشراء
    كود PHP:
    void AddBuy(){
       if(
    Q>ordersS(MagicNumberB)&&ordersS(MagicNumberB)>0){
       for(
    int i=0;i<OrdersHistoryTotal();i++)
        {
       
    OrderSelect(iSELECT_BY_POSMODE_HISTORY);
       if(
    OrderType()==OP_BUY){
       
    int type=OrderType();double open=OrderOpenPrice();double lott=OrderLots();double stop=OrderStopLoss();
       
    double profit=OrderTakeProfit();
         }
         }{  
         if(
    Ask>open+3*point){
        
    OrderSend(Symbol(),OP_BUYLIMIT,lott,open,3,stop,profit,"MR.dollar EA",MagicNumberB,0,Green);}
        
        if(
    Ask<open-3*point){
       
    OrderSend(Symbol(),OP_BUYSTOP,lott,open,3,stop,profit,"MR.dollar EA",MagicNumberB,0,Green);}
          }
           }
            } 
    دالة البيع
    كود PHP:
    void AddSell(){
     if(
    Qq>ordersS(MagicNumberS)&&ordersS(MagicNumberS)>0){
       for(
    int i=0;i<OrdersHistoryTotal();i++)
        {
       
    OrderSelect(iSELECT_BY_POSMODE_HISTORY);
       if(
    OrderType()==OP_SELL){
       
    int type=OrderType();double open=OrderOpenPrice();double lott=OrderLots();double stop=OrderStopLoss();
       
    double profit=OrderTakeProfit();
         }
         }{  
         if(
    Bid<open-3*point){
        
    OrderSend(Symbol(),OP_SELLLIMIT,lott,open,3,stop,profit,"MR.dollar EA",MagicNumberS,0,Red);}
        
        if(
    Bid>open+3*point){
       
    OrderSend(Symbol(),OP_SELLSTOP,lott,open,3,stop,profit,"MR.dollar EA",MagicNumberS,0,Red);}
          }
           }
            } 
    وشكرا
    وعليكم السلام ورحمة الله وبركاته
    لو مثلا أنت لديك بعض الأوامر تريد تنفيذها في شروط معينه مثل كود إغلاق الصفقة فإذا لم يكن هناك ما يسمى الدوال
    فكان يجب أن تكرر كود إغلاق الصفقات مع كل شرط هذه هي فكرة إستخدام الدوال

    طريقة تعريف الدالة
    سنأخذ كمثال داله بسيطه
    كود PHP:
     double Function(double a,double b)
       {
        
    double c=a+b
        return(
    c);
       } 
    في البداية تعريف الداله يكون حسب نوع المخرجات أو القيم التي ستعود بها الداله فمثلا الداله Function وهذا إسم الداله ( يمكنك إختيار أي إسم للداله كما تريد )
    جعلت الداله من نوع double فهذا يعني أنها ستأخذ قيم أرقام عشرية ويمكنك تعريفها كأي نوع آخر
    int أو string أو bool أو datetime أو color جميع المتغيرات المعروفه
    أو إذا كانت الداله لا تحفظ قيمه معينه وتنفذ شروط فقط تستخدم void لتعريفها أي أنها لا تعود بأي قيمه

    بعد تعريف الداله بداخل القوسين ( ) هذا الجزء يسمى متغيرات الداله في المثال السابق جعلت
    متغيرات الداله هو a و b وجعلتهم من نوع double أي ستأخذ أرقام عشرية
    ثم بداخل أقواس الداله { } أقوم بكتابة الكود الذي أريد تنفيذه عند إستدعاء الداله

    وفي نهاية الدالة أستخدم الأمر return وهو يستخدم لحفظ القيمه أو المخرجات النهائية للداله بحيث عندما أستدعي الداله سوف تعود بقيمة هذه المخرجات
    مثلا لو كتبت
    كود PHP:
    int Number = Function(5,10); 
    فهذا يعني أني عرفت متغير إسمه Number وسوف يأخذ قيم ناتج مجموع 5 + 10

    نأتي الآن للداله التي أرفقت الكود لها
    كود PHP:
     void AddBuy(){
       if(
    Q>ordersS(MagicNumberB)&&ordersS(MagicNumberB)>0){
       for(
    int i=0;i<OrdersHistoryTotal();i++)
        {
       
    OrderSelect(iSELECT_BY_POSMODE_HISTORY);
       if(
    OrderType()==OP_BUY){
       
    int type=OrderType();double open=OrderOpenPrice();double lott=OrderLots();double stop=OrderStopLoss();
       
    double profit=OrderTakeProfit();
         }
         }{  
         if(
    Ask>open+3*point){
        
    OrderSend(Symbol(),OP_BUYLIMIT,lott,open,3,stop,profit,"MR.dollar EA",MagicNumberB,0,Green);}
        
        if(
    Ask<open-3*point){
       
    OrderSend(Symbol(),OP_BUYSTOP,lott,open,3,stop,profit,"MR.dollar EA",MagicNumberB,0,Green);}
          }
           }
            } 
    أول ما ستلاحظه أن هذه الداله من نوع void أي أنها لا تحفظ أي قيمها لكنها تنفذ فقط مجموعة من الشروط بداخلها
    إسم الداله هو AddBuy وسوف تجد بين القوسين ( ) لا توجد أي قيمة فهذا يعني أن الداله لا تأخذ أي قيم متغيرات

    الكود بداخل الداله وهو الذي سيتم تنفيذه عند إستدعاء الداله
    كود PHP:
      for(int i=0;i<OrdersHistoryTotal();i++)
        {
       
    OrderSelect(iSELECT_BY_POSMODE_HISTORY);
       if(
    OrderType()==OP_BUY){ 
    في البدايه يبحث في الصفقات المغلقه بإستخدام الحلقه for ( يجب أن تراجع شرح الحلقات )
    ثم يحدد إذا كانت الصفقة نوعها شراء يحفظ بيانات الصفقه ( سعر فتح الصفقه , حجم الوت , الهدف , الأستوب نوع الصفقه )

    ثم إذا كانت السعر أكبر من سعر فتح الصفقه يضع أمر ليميت
    كود PHP:
      if(Ask>open+3*point){
        
    OrderSend(Symbol(),OP_BUYLIMIT,lott,open,3,stop,profit,"MR.dollar EA",MagicNumberB,0,Green);} 
    وإذا كان السعر أقل من سعر فتح الصفقه يضع أمر ستوب
    كود PHP:
    if(Ask<open-3*point){
       
    OrderSend(Symbol(),OP_BUYSTOP,lott,open,3,stop,profit,"MR.dollar EA",MagicNumberB,0,Green);}
          } 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

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

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

    السؤال يعني هذا المتغير Distance_AddBuyS نفس المتغير DistanceBetweenBuyS هل هذا صحيح؟
    مثلا لو جعلت خيار DistanceBetweenBuyS =30 و جعلت Distance_AddBuyS =5
    فسوف يضع أول أمر على بعد 30 نقطه ثم ثاني أمر على بعد 35 نقطه ثم ثالث أمر على بعد 40 نقطه وهكذا في كل مره يزود على عدد نقاط الإستيب DistanceBetweenBuyS بمقادر قيمة Distance_AddBuyS
    هذا هو الشرح بإختصار
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  3. #3963
    الصورة الرمزية 300
    300
    300 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2009
    المشاركات
    873

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    السلام عليكم ورحمة الله وبركاته
    افضل مابفتح موضوع جديد ارجوا قبول سؤالي هنا
    قرات دروس الاستاذ مستر دولار واستفدت منها كثيرا ودروس الاستاذ حكيم
    فجزاهم الله كل خير
    اليوم قمت بعمل اول اكسبيرت يفتح صفقه ويغلقها
    شعور جميل الكمبيوتر يتاجر عنك
    المهم ....
    موضوع اداره الصفقات والمضاعفات
    مازلت في بدايه تعلم لغه Mql4 ولكن ياريت شرح لي هذه الفكره بشكل كود
    على سبيل المثال قمت بعمل ميثود شراء وميثود بيع
    عندما تتحق شروط شراء يدخل وعندما يتحقق شروط الببيع يدخل باستدعاء الميثود
    يوجد متغير خارجي الاستوب :__
    متغير خارجي الهدف :___
    متغير خارجي عدد المضاعفات: 5
    على فرض دخل صفقه شراء بهدف 25 واستوب 25
    عكس السوق ضرب الاستوب تماام .؟
    الصفقه الثانيه يدخل بحجم عقد يعوض الخساره السابقه في الصفقه الاولى + تحقيق هدف الثانيه
    اذا تحقق الهدف في الصفقه الثانيه يكون هنا عوض الخساره في الصفقه الاولى فرضا 50 دولار
    وفي الصفقه الثانيه حقق ربح 50 دولار اجمالي ماحققه في الصفقه 2 هو 100 $

    على اي اساس يتم تحديد حجم اللوت .؟
    يتم تحديده بناء على عدد المضاعفات كما هو موضح هنا 5
    فهو يدخل في العقد الاول بناء على اذا ضرب استوب في 4 صفقات وحقق الهدف في صفقه 5
    يعوض كل ماسبق + هدف الصفقه الخامسه
    بمعنى صفقه 1 خسرانه صفقه 2 خسرانه صفقه 3 خسرانه 4 خسرانه لكن في 5 حقق هدفه
    يقوم هنا بتعويض خساره 1 و2 و3 و4 + هدف 5 وكل هذا بناء على حجم العقد
    في حال تحقق هدف صفقه الخامسه يتم تعويض كل ماسبق وتحقيق هدفه واذا خسرت صفقه الخامسه ينضرب المارجن كووووول
    صارلي ساعات بحاول افكر كيف يتم عملها بشكل كود ماعرفت وكيف اساسا يتم حساب حجم اللوت لم اعرف المعادله لهذه طريقه
    بعرف انها طريقه خـــطـــره ولكن ياريت مستر دولار او احد الاخوان يشرحها لنا ياريت مستر دولار هو من يشرح
    لاني تعودت على دروسه
    ايضا : في حال طفئ الجهاز او فصل النت ودخل الاكسبيرت ثاني مره يعرف نفسه هو حاليا في اي مضاعفه
    اسف على الاطاله ولكني متحمس لغه MQL4
    شــــكــــراً مستر دولار وشكرا لكل من يقدم مساعده لوجه الله
    جزاكم الله خير

  4. #3964
    الصورة الرمزية waleedgadelmola
    waleedgadelmola غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2012
    الإقامة
    مصر
    المشاركات
    346

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

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

    طريقة تعريف الدالة
    سنأخذ كمثال داله بسيطه
    كود PHP:
     double Function(double a,double b)
       {
        
    double c=a+b
        return(
    c);
       } 
    في البداية تعريف الداله يكون حسب نوع المخرجات أو القيم التي ستعود بها الداله فمثلا الداله Function وهذا إسم الداله ( يمكنك إختيار أي إسم للداله كما تريد )
    جعلت الداله من نوع double فهذا يعني أنها ستأخذ قيم أرقام عشرية ويمكنك تعريفها كأي نوع آخر
    int أو string أو bool أو datetime أو color جميع المتغيرات المعروفه
    أو إذا كانت الداله لا تحفظ قيمه معينه وتنفذ شروط فقط تستخدم void لتعريفها أي أنها لا تعود بأي قيمه

    بعد تعريف الداله بداخل القوسين ( ) هذا الجزء يسمى متغيرات الداله في المثال السابق جعلت
    متغيرات الداله هو a و b وجعلتهم من نوع double أي ستأخذ أرقام عشرية
    ثم بداخل أقواس الداله { } أقوم بكتابة الكود الذي أريد تنفيذه عند إستدعاء الداله

    وفي نهاية الدالة أستخدم الأمر return وهو يستخدم لحفظ القيمه أو المخرجات النهائية للداله بحيث عندما أستدعي الداله سوف تعود بقيمة هذه المخرجات
    مثلا لو كتبت
    كود PHP:
    int Number = Function(5,10); 
    فهذا يعني أني عرفت متغير إسمه Number وسوف يأخذ قيم ناتج مجموع 5 + 10

    نأتي الآن للداله التي أرفقت الكود لها
    كود PHP:
     void AddBuy(){
       if(
    Q>ordersS(MagicNumberB)&&ordersS(MagicNumberB)>0){
       for(
    int i=0;i<OrdersHistoryTotal();i++)
        {
       
    OrderSelect(iSELECT_BY_POSMODE_HISTORY);
       if(
    OrderType()==OP_BUY){
       
    int type=OrderType();double open=OrderOpenPrice();double lott=OrderLots();double stop=OrderStopLoss();
       
    double profit=OrderTakeProfit();
         }
         }{  
         if(
    Ask>open+3*point){
        
    OrderSend(Symbol(),OP_BUYLIMIT,lott,open,3,stop,profit,"MR.dollar EA",MagicNumberB,0,Green);}
        
        if(
    Ask<open-3*point){
       
    OrderSend(Symbol(),OP_BUYSTOP,lott,open,3,stop,profit,"MR.dollar EA",MagicNumberB,0,Green);}
          }
           }
            } 
    أول ما ستلاحظه أن هذه الداله من نوع void أي أنها لا تحفظ أي قيمها لكنها تنفذ فقط مجموعة من الشروط بداخلها
    إسم الداله هو AddBuy وسوف تجد بين القوسين ( ) لا توجد أي قيمة فهذا يعني أن الداله لا تأخذ أي قيم متغيرات

    الكود بداخل الداله وهو الذي سيتم تنفيذه عند إستدعاء الداله
    كود PHP:
      for(int i=0;i<OrdersHistoryTotal();i++)
        {
       
    OrderSelect(iSELECT_BY_POSMODE_HISTORY);
       if(
    OrderType()==OP_BUY){ 
    في البدايه يبحث في الصفقات المغلقه بإستخدام الحلقه for ( يجب أن تراجع شرح الحلقات )
    ثم يحدد إذا كانت الصفقة نوعها شراء يحفظ بيانات الصفقه ( سعر فتح الصفقه , حجم الوت , الهدف , الأستوب نوع الصفقه )

    ثم إذا كانت السعر أكبر من سعر فتح الصفقه يضع أمر ليميت
    كود PHP:
      if(Ask>open+3*point){
        
    OrderSend(Symbol(),OP_BUYLIMIT,lott,open,3,stop,profit,"MR.dollar EA",MagicNumberB,0,Green);} 
    وإذا كان السعر أقل من سعر فتح الصفقه يضع أمر ستوب
    كود PHP:
    if(Ask<open-3*point){
       
    OrderSend(Symbol(),OP_BUYSTOP,lott,open,3,stop,profit,"MR.dollar EA",MagicNumberB,0,Green);}
          } 
    تسلم استاذ أسامة شرح ولا أروع
    وفي انتظار دورة البرمجة القادمة بفارغ الصبر جزاك الله خير
    ويا ريت أعرف هي تحديدا بتكون أمتى ؟؟؟ وأين يتم الاعلان عنها ؟؟؟
    تقبل ودي وأحترامي

  5. #3965
    الصورة الرمزية wadi2012
    wadi2012 غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Aug 2012
    الإقامة
    جرين لاند
    المشاركات
    1,089

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة 300 مشاهدة المشاركة
    السلام عليكم ورحمة الله وبركاته
    افضل مابفتح موضوع جديد ارجوا قبول سؤالي هنا
    قرات دروس الاستاذ مستر دولار واستفدت منها كثيرا ودروس الاستاذ حكيم
    فجزاهم الله كل خير
    اليوم قمت بعمل اول اكسبيرت يفتح صفقه ويغلقها
    شعور جميل الكمبيوتر يتاجر عنك
    المهم ....
    موضوع اداره الصفقات والمضاعفات
    مازلت في بدايه تعلم لغه Mql4 ولكن ياريت شرح لي هذه الفكره بشكل كود
    على سبيل المثال قمت بعمل ميثود شراء وميثود بيع
    عندما تتحق شروط شراء يدخل وعندما يتحقق شروط الببيع يدخل باستدعاء الميثود
    يوجد متغير خارجي الاستوب :__
    متغير خارجي الهدف :___
    متغير خارجي عدد المضاعفات: 5
    على فرض دخل صفقه شراء بهدف 25 واستوب 25
    عكس السوق ضرب الاستوب تماام .؟
    الصفقه الثانيه يدخل بحجم عقد يعوض الخساره السابقه في الصفقه الاولى + تحقيق هدف الثانيه
    اذا تحقق الهدف في الصفقه الثانيه يكون هنا عوض الخساره في الصفقه الاولى فرضا 50 دولار
    وفي الصفقه الثانيه حقق ربح 50 دولار اجمالي ماحققه في الصفقه 2 هو 100 $

    على اي اساس يتم تحديد حجم اللوت .؟
    يتم تحديده بناء على عدد المضاعفات كما هو موضح هنا 5
    فهو يدخل في العقد الاول بناء على اذا ضرب استوب في 4 صفقات وحقق الهدف في صفقه 5
    يعوض كل ماسبق + هدف الصفقه الخامسه
    بمعنى صفقه 1 خسرانه صفقه 2 خسرانه صفقه 3 خسرانه 4 خسرانه لكن في 5 حقق هدفه
    يقوم هنا بتعويض خساره 1 و2 و3 و4 + هدف 5 وكل هذا بناء على حجم العقد
    في حال تحقق هدف صفقه الخامسه يتم تعويض كل ماسبق وتحقيق هدفه واذا خسرت صفقه الخامسه ينضرب المارجن كووووول
    صارلي ساعات بحاول افكر كيف يتم عملها بشكل كود ماعرفت وكيف اساسا يتم حساب حجم اللوت لم اعرف المعادله لهذه طريقه
    بعرف انها طريقه خـــطـــره ولكن ياريت مستر دولار او احد الاخوان يشرحها لنا ياريت مستر دولار هو من يشرح
    لاني تعودت على دروسه
    ايضا : في حال طفئ الجهاز او فصل النت ودخل الاكسبيرت ثاني مره يعرف نفسه هو حاليا في اي مضاعفه
    اسف على الاطاله ولكني متحمس لغه MQL4
    شــــكــــراً مستر دولار وشكرا لكل من يقدم مساعده لوجه الله
    جزاكم الله خير
    تحديدك للمضاعفات يعتمد على فكرة الاستراتيجية
    يعني في الاكسبيرت الذي عرضته في موضوع مستقل انا فتح عقد من نوع واحد بيع او شراء وملاحقة الهدف بنفس نوع الصفقة
    هنا مضاعفاتي ستكون مضروب في 2 وبالتالي اعمل معادلة بحيث اذا تراجع السعر الى نقطة مرجعية ولتكن -50 سيكون لزام علي ضرب زيادة الصفقة القادمة بمعدل معين

    لكن لنفترض انك تريد الوقف بالنسبة للخسارة = 3:1
    يعني هدفك 3 اضعاف الوقف
    هنا العملية تراكمية سيكون عليك عمل متغير للمجموع التراكمي
    لنفرض متغير SLT يعطي خسارة اخر لوت وليست جميع اللوتات
    وعندك خسارة تراكمية ل 5 لوتات SLT هي خسارة اللوت رقم 5
    وتريد حساب اللوت رقم 6 مثلا
    تضيف متغير آخر وتسميه GrossLoss يعني اجمالي الخسارة التراكمية من اول لوت الى اللوت الاخير وهو 5
    المتغير الاخير يصبح كمعادلة
    GrossLoss=GrossLoss+SLT فاذا كان اول لوت فيكون المتغير الاخير قيمته صفر كقيمة بدائية
    ثم تعمل معادلة اخرى لحساب اللوت القادم
    لنفرض M تعني لوت
    TP هو الهدف
    M=(TP+GrossLoss
    /TP
    يعني مجموع الخسارة التراكمية زائد الهدف ثم تقسم الناتج على الهدف ليعطيك قيمة اللوت ولكن قربه الى رقمين بعد الفاصلة
    انا حاليا اعد اسكريبت مضاعفات وهذه فكرتي ولكن في طور التجربة
    بالنسبة اذا اغلق الجهاز فانك تريد قيمة أخر لوت هنا عند حل وهو تحسب مجموع ordertotal في الهستوري - 1 وتاخذ قيمة اللوت وهي آخر صفقة تم قفلها ان اغلقت اما اذا كانت الصفقة موجودة تستطيع الحصول علي قيمة اللوت منها لكن المهم الخسارة التراكمية كيف تحصل عليها ؟
    اذا كانت الصفقت قد اغلق فتبحث في الهستوري من خلال دالة البحث وعن طريق الماجك نمبر تعمل عملية مقارنة من اخر صفقة اغلقت فان كانت اخر صفقة رقمها سالب تأخذه وتجمعها مع الصفقة قبل الاخيرة المغلق بششرط ان تكون سالبة ولكن ان كانت الصفقة موجبة فهذا دليل على ان انه عند صفقتان اغلق بخسارة والتي قبلهما كانت رابحة وتاخذ المجموع التراكمي للخسارة وتضيفه على المفتوحة الحالية او ان لم يكن هناك صفقة مفتوحة فيكون اجمالي الخسارة عندك ومن المعادلة السابقة تحسب اللوت الجديد للصفقة الجديدة حتى تخرج بصافي ربح للصفقة الجديدة
    الموضوع يتحاج الى تفكير رياضي بعض الشي
    وانا اعد سكريبت لذلك وهذه فكرتي ولكن ان كانت هناك افكار اسهل من هذا فالنقاش مطروح
    آخر تعديل بواسطة wadi2012 ، 06-06-2013 الساعة 12:19 AM

  6. #3966
    الصورة الرمزية 300
    300
    300 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2009
    المشاركات
    873

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

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

    لكن لنفترض انك تريد الوقف بالنسبة للخسارة = 3:1
    يعني هدفك 3 اضعاف الوقف
    هنا العملية تراكمية سيكون عليك عمل متغير للمجموع التراكمي
    لنفرض متغير SLT يعطي خسارة اخر لوت وليست جميع اللوتات
    وعندك خسارة تراكمية ل 5 لوتات SLT هي خسارة اللوت رقم 5
    وتريد حساب اللوت رقم 6 مثلا
    تضيف متغير آخر وتسميه GrossLoss يعني اجمالي الخسارة التراكمية من اول لوت الى اللوت الاخير وهو 5
    المتغير الاخير يصبح كمعادلة
    GrossLoss=GrossLoss+SLT فاذا كان اول لوت فيكون المتغير الاخير قيمته صفر كقيمة بدائية
    ثم تعمل معادلة اخرى لحساب اللوت القادم
    لنفرض M تعني لوت
    TP هو الهدف
    M=(TP+GrossLoss
    /TP
    يعني مجموع الخسارة التراكمية زائد الهدف ثم تقسم الناتج على الهدف ليعطيك قيمة اللوت ولكن قربه الى رقمين بعد الفاصلة
    انا حاليا اعد اسكريبت مضاعفات وهذه فكرتي ولكن في طور التجربة
    بالنسبة اذا اغلق الجهاز فانك تريد قيمة أخر لوت هنا عند حل وهو تحسب مجموع ordertotal في الهستوري - 1 وتاخذ قيمة اللوت وهي آخر صفقة تم قفلها ان اغلقت اما اذا كانت الصفقة موجودة تستطيع الحصول علي قيمة اللوت منها لكن المهم الخسارة التراكمية كيف تحصل عليها ؟
    اذا كانت الصفقت قد اغلق فتبحث في الهستوري من خلال دالة البحث وعن طريق الماجك نمبر تعمل عملية مقارنة من اخر صفقة اغلقت فان كانت اخر صفقة رقمها سالب تأخذه وتجمعها مع الصفقة قبل الاخيرة المغلق بششرط ان تكون سالبة ولكن ان كانت الصفقة موجبة فهذا دليل على ان انه عند صفقتان اغلق بخسارة والتي قبلهما كانت رابحة وتاخذ المجموع التراكمي للخسارة وتضيفه على المفتوحة الحالية او ان لم يكن هناك صفقة مفتوحة فيكون اجمالي الخسارة عندك ومن المعادلة السابقة تحسب اللوت الجديد للصفقة الجديدة حتى تخرج بصافي ربح للصفقة الجديدة
    الموضوع يتحاج الى تفكير رياضي بعض الشي
    وانا اعد سكريبت لذلك وهذه فكرتي ولكن ان كانت هناك افكار اسهل من هذا فالنقاش مطروح
    صراحه لم افهم عليك هذه عيب مني وليس منك لانه مازلت في بدايه هذه لغه ,,,
    على كل حال رغبت بمعرفه كيف بتحكم بحجم العقد برمجيا وبشكل تومتيك
    موضوع انني ابرمج اكسبرت مضاعفات او اكسبرت يفتح صفقات حقيقه فهذا شيئ بعيييييييد حالياً
    يبدو انني لم اوضح طلبي بشكل مطلوب
    سوف ابحث بالموضوع
    جزاكم الله خير

  7. #3967
    الصورة الرمزية wadi2012
    wadi2012 غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Aug 2012
    الإقامة
    جرين لاند
    المشاركات
    1,089

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة 300 مشاهدة المشاركة
    صراحه لم افهم عليك هذه عيب مني وليس منك لانه مازلت في بدايه هذه لغه ,,,
    على كل حال رغبت بمعرفه كيف بتحكم بحجم العقد برمجيا وبشكل تومتيك
    موضوع انني ابرمج اكسبرت مضاعفات او اكسبرت يفتح صفقات حقيقه فهذا شيئ بعيييييييد حالياً
    يبدو انني لم اوضح طلبي بشكل مطلوب
    سوف ابحث بالموضوع
    جزاكم الله خير
    انا وضعت اكسبيرت وهو اول اكسبيرت لي بعد اقل من شهر تعلم وفكرته مضاعفات ووضعت ملف السورس اطلع عليه ولاحظ طريقتي في فتح صفقات بمضاعفات ولكن الكود بسيط لم اطوره لانه يحتاج بعض التطوير في حالة فتحت صفقات من عملات اخرى في نفس الوقت والفصل بينهم في حالة الاغلاق لكن اخذت في الاعتبار في حالة ان السيرفير او الكمبيوتر فصل فيمكن الاستمرار من اخر نقطة لانني استعيد اخر لوت ونوع الصفقة ودليل عدم فتح صفقات طالما هناك صفقة مفتوحة
    آخر تعديل بواسطة wadi2012 ، 06-06-2013 الساعة 02:32 AM

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

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة 300 مشاهدة المشاركة
    السلام عليكم ورحمة الله وبركاته
    افضل مابفتح موضوع جديد ارجوا قبول سؤالي هنا
    قرات دروس الاستاذ مستر دولار واستفدت منها كثيرا ودروس الاستاذ حكيم
    فجزاهم الله كل خير
    اليوم قمت بعمل اول اكسبيرت يفتح صفقه ويغلقها
    شعور جميل الكمبيوتر يتاجر عنك
    المهم ....
    موضوع اداره الصفقات والمضاعفات
    مازلت في بدايه تعلم لغه Mql4 ولكن ياريت شرح لي هذه الفكره بشكل كود
    على سبيل المثال قمت بعمل ميثود شراء وميثود بيع
    عندما تتحق شروط شراء يدخل وعندما يتحقق شروط الببيع يدخل باستدعاء الميثود
    يوجد متغير خارجي الاستوب :__
    متغير خارجي الهدف :___
    متغير خارجي عدد المضاعفات: 5
    على فرض دخل صفقه شراء بهدف 25 واستوب 25
    عكس السوق ضرب الاستوب تماام .؟
    الصفقه الثانيه يدخل بحجم عقد يعوض الخساره السابقه في الصفقه الاولى + تحقيق هدف الثانيه
    اذا تحقق الهدف في الصفقه الثانيه يكون هنا عوض الخساره في الصفقه الاولى فرضا 50 دولار
    وفي الصفقه الثانيه حقق ربح 50 دولار اجمالي ماحققه في الصفقه 2 هو 100 $

    على اي اساس يتم تحديد حجم اللوت .؟
    يتم تحديده بناء على عدد المضاعفات كما هو موضح هنا 5
    فهو يدخل في العقد الاول بناء على اذا ضرب استوب في 4 صفقات وحقق الهدف في صفقه 5
    يعوض كل ماسبق + هدف الصفقه الخامسه
    بمعنى صفقه 1 خسرانه صفقه 2 خسرانه صفقه 3 خسرانه 4 خسرانه لكن في 5 حقق هدفه
    يقوم هنا بتعويض خساره 1 و2 و3 و4 + هدف 5 وكل هذا بناء على حجم العقد
    في حال تحقق هدف صفقه الخامسه يتم تعويض كل ماسبق وتحقيق هدفه واذا خسرت صفقه الخامسه ينضرب المارجن كووووول
    صارلي ساعات بحاول افكر كيف يتم عملها بشكل كود ماعرفت وكيف اساسا يتم حساب حجم اللوت لم اعرف المعادله لهذه طريقه
    بعرف انها طريقه خـــطـــره ولكن ياريت مستر دولار او احد الاخوان يشرحها لنا ياريت مستر دولار هو من يشرح
    لاني تعودت على دروسه
    ايضا : في حال طفئ الجهاز او فصل النت ودخل الاكسبيرت ثاني مره يعرف نفسه هو حاليا في اي مضاعفه
    اسف على الاطاله ولكني متحمس لغه MQL4
    شــــكــــراً مستر دولار وشكرا لكل من يقدم مساعده لوجه الله
    جزاكم الله خير
    وعليكم السلام ورحمة الله وبركاته
    يوجد أكثر من طريقة لتحديد عقود المضاعفات
    الطريقة الأولى مثلا إذا كان الأستوب عدد نقاط ثابته بالتالي يجب أن تضاعف حجم اللوت كل مره مضروب في 2
    فمثلا لو كان حجم ألوت لوت 0.1 لوت ولنفرض الخساره 50 نقطه بالتالي الخساره ستصبح 50 دولار

    فحتى تعوض الخساره السابقه يجب أن يكون حجم اللوت التالي 0.2 حتى يكون الربح 50 نقطه أي الربح بالدولار سيكون = 50*0.2 = 100 دولار
    وهكذا الصفقه الثالثه ستصبح 0.4 والصفقه الرابعه 0.8 والصفقه الخامسه 1.6

    أي في كل مره ستضرب حجم آخر لوت * 2
    مثال للكود
    كود PHP:
    double LastOrderLot()
    {
     for(
    int i=OrdersHistoryTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       return(
    OrderLots());
      }
     }
      return(
    0);

    ثم سيكون الشرط عند الخساره
    كود PHP:
    newLot=LastOrderlot()*2
    راجع الإكسبرت المرفق
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة waleedgadelmola مشاهدة المشاركة


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

  10. #3970
    الصورة الرمزية توفيق
    توفيق غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Dec 2007
    الإقامة
    اجادير جوهرة المغرب
    العمر
    38
    المشاركات
    1,402

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    استادي ماستر دولار هل يمكن ان اجعل لللاكسبيرت 2 ماجيك نمبر لاني اريد جمع طريقتين في اكسبيرت واحد واريد ان اجعل لكل طريقة ماجيك نمبر حتى يسهل التعامل مع الصفقات
    السؤال الثاني
    الاكسبيرت سيكون لديه عدد كبير جدا من الشروط و المتغيرات واخشى ان وضعته داخل الدالة ستارت ا ان يؤثر هدا على سرعة الجهاز او السيرفر لانه على كل تك سيكون ضغط على المعالج
    و اريد تشغيله على الساعة وان يقوم بالشروط مرة واحدة فقط خلال افتتاح ساعة جديدة ثم يتوقف حتى الافتتاح الجديد
    لدلك افكر في جعل الاكسبيرت يعمل فقط ادا كان المتغير Minute() يساوي 1 حتى يخفف الضغط على المعالج
    هل هناك حل اخر من غير هدا الحل؟
    بارك الله فيك

  11. #3971
    الصورة الرمزية kira-h
    kira-h غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2011
    الإقامة
    المغرب
    المشاركات
    1,334

    افتراضي

    مستر دولار أستاذي الكريم أرجو أن تكون في أفضل صحة وحال

    في محاولة لبرمجة اكسبيرت لصديق واجهتني مشكلة رياضية بسيطة
    لدينا مؤشر عبارة عن مستويات خطوط كل خط له اسم من H2 ; H1.... إلى H20
    والمستويات عبارة عن كائن على الشارت وليس اندكس
    وأريد فتح صفقة عند كل مستوى
    إذن
    عوض أن نضع شرط لكل مستوى كيف نختصر كثرة الأكواد إلى كود واحد يتحكم في جميع المستويات
    يعني يكون عندنا شرط يتوفر على اسم من نوع Hi و i تحتسب من 1 إلى 20
    ماهي معادلة i ؟
    كود PHP:
    void TechnicalAnalysis()
    {
    double lineH=ObjectGet("Hi",OBJPROP_PRICE1);
        if (
    Close[1] > lineH)
        {
            
    BuyOrder();
            
        }

    بانتظارك أستاذي وأتمنى لكم أجازة سعيدة
    آخر تعديل بواسطة kira-h ، 07-06-2013 الساعة 07:53 PM
    توقيع العضو
    متداول فوركس، ومبرمج mql

  12. #3972
    الصورة الرمزية xcv114
    xcv114 غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2010
    الإقامة
    مصر
    المشاركات
    1,022

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة kira-h مشاهدة المشاركة
    مستر دولار أستاذي الكريم أرجو أن تكون في أفضل صحة وحال

    في محاولة لبرمجة اكسبيرت لصديق واجهتني مشكلة رياضية بسيطة
    لدينا مؤشر عبارة عن مستويات خطوط كل خط له اسم من H2 ; H1.... إلى H20
    والمستويات عبارة عن كائن على الشارت وليس اندكس
    وأريد فتح صفقة عند كل مستوى
    إذن
    عوض أن نضع شرط لكل مستوى كيف نختصر كثرة الأكواد إلى كود واحد يتحكم في جميع المستويات
    يعني يكون عندنا شرط يتوفر على اسم من نوع Hi و i تحتسب من 1 إلى 20
    ماهي معادلة i ؟
    كود PHP:
    void TechnicalAnalysis()
    {
    double lineH=ObjectGet("Hi",OBJPROP_PRICE1);
        if (
    Close[1] > lineH)
        {
            
    BuyOrder();
            
        }

    بانتظارك أستاذي وأتمنى لكم أجازة سعيدة
    بعد إذن أستاذ أسامة

    تضع حلقة تبحث في الأرقام من 1 إلى 20 وتقوم بإضافة المتغير على إسم الكائن
    كود PHP:

    void TechnicalAnalysis
    ()
    {
     for(
    int i=1;i<=20;i++){
     
    double lineH=ObjectGet("Hi"+i,OBJPROP_PRICE1);
        if (
    Open[1] < lineH && Close[1] > lineH)
        {
            
    BuyOrder();
            
        }
      }

    ملحوظة
    خد بالك لازم تخلي الشرط بالشكل ده
    كود PHP:
     if (Open[1] < lineH && Close[1] > lineH
    عشان يفتح العملية عندما يكون إفتتاح الشمعة أقل من الكائن وإغلاقها أكبر من الكائن فقط
    وإلا مثلا عند الكائن Hi3 سيعتبر أنه أعلى من Hi1 و Hi2 وبالتالي سيستمر في فتح عمليات

  13. #3973
    الصورة الرمزية 300
    300
    300 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2009
    المشاركات
    873

    افتراضي

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

  14. #3974
    الصورة الرمزية 300
    300
    300 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2009
    المشاركات
    873

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    يوجد أكثر من طريقة لتحديد عقود المضاعفات
    الطريقة الأولى مثلا إذا كان الأستوب عدد نقاط ثابته بالتالي يجب أن تضاعف حجم اللوت كل مره مضروب في 2
    فمثلا لو كان حجم ألوت لوت 0.1 لوت ولنفرض الخساره 50 نقطه بالتالي الخساره ستصبح 50 دولار

    فحتى تعوض الخساره السابقه يجب أن يكون حجم اللوت التالي 0.2 حتى يكون الربح 50 نقطه أي الربح بالدولار سيكون = 50*0.2 = 100 دولار
    وهكذا الصفقه الثالثه ستصبح 0.4 والصفقه الرابعه 0.8 والصفقه الخامسه 1.6

    أي في كل مره ستضرب حجم آخر لوت * 2
    مثال للكود
    كود PHP:
    double LastOrderLot()
    {
     for(
    int i=OrdersHistoryTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       return(
    OrderLots());
      }
     }
      return(
    0);

    ثم سيكون الشرط عند الخساره
    كود PHP:
    newLot=LastOrderlot()*2
    راجع الإكسبرت المرفق
    اهلا استاذنا شكرا لك
    لك الفضل بعد الله انت والاستاذ حكيم بدخولنا الى لغه MQL4 فجزاكم الله خير ونفع بكم
    اذا سمحت لي بقوم باعاده طلبي السابق بتوضيح اكثر
    وهنالك نقطه كانت غيبه عني وهي السبريد ...
    هنا نعرف انه يتم ضرب بــ 2 حجم العقد ولكن المشكله هو كيف الاكسبيرت يحسب اول عقد له .؟
    وليس بشكل يدوي يعني تجعل الاكسبيرت يقوم بحساب "أول عقد بشكل تومتيك " دون تدخل منك لتضع له اول عقد
    ويقوم هو بحساب حجم العقد بناء على الهدف الذي تم وضعه والاستوب وعدد المحاولات + اقصى سبريد
    في اكسبيرت بسيط جدا في حال كان فوق مستوى 50 RSI يقوم بالشراء اذا اسفل يبيع
    ليس هذا المهم ولكن المهم هو تعديل حجم اللوت بشكل تومتيك في الاكسبيرت انا قمت بوضعها بشكل تعديل يدوي
    الان يلزمنا متغير خارجي هو عدد المضاعفات
    وحذف متغير لوت حتى الاكسبيرت يتحكم فيه بناء على
    كم هو رأس المال حالياً
    ماهو الهدف
    ماهو الاستوب
    اقصى سبريد ممكن يوصل له زوج ( وهنا نضيف للاكسبيرت اذا سبريد اكبر من maxspread يتجاهل الصفقه )
    ماهو عدد المضاعفات فرضا قمت بوضع 5
    الاكسبيرت يدخل الصفقه الاولى بحجم اللوت بناء على تعويض الصفقات + سبريدهم بمعدل 5 صفقات
    مثلا ضرب استوب الصفقه 1 مثلا 20 نقطه وخسر 50 دولار + سبريد 4 هنا 54 دولار
    الصفقه التاليه يدخل بحيث انه يعوض الصفقه 1 + سبريده الذي قمنا نحن بوضعه اساسا هو 4 يعني فقط يجمع زياده 4
    وهكذا في حال وصل للصفقه 5 الاخيره يعوض كل ماسبق + سبريدهم + هدف الصفقه الحاليه وهو 20 نقطه
    اذا خسرت الصفقه الخامسه يزورك المارجن كول
    وهنا يجب ان ناخذ بعين الاعتبار يتعرف الاكسبيرت على نوع الحساب ميكرو ميني ستاندر وياخذ بعين الاعتبار رافعه الماليه بحيث اذا وصل المضاعفه 5 يقوم تنفيذها ولايخبرك انه راس المال لايكفي .!
    واذا فصلت الكمبيوتر ورجعت تشغل الاكسبيرت يكمل عمله ولا كأن شيئ حدث ويكمل المضاعفات ,,,
    هنالك مشكله ايضا اذا ستطعت تعديلها " جننتني " هي هنا
    https://forum.arabictrader.com/t171452.html
    جاوبوني الاخوه مشكورين اخبروني استعمل ميثود OrderModify وقمت بوضعها بالاكسبيرت الحالي
    شغلت الاكسبيرت المرفق يوم الجمعه وايضا الهدف والاستوب يتغير .! احيانا يربح 7.76 واحيانا 8 واحيانا 9 دولار مع العلم الستوب ثابت والهدف ثابت والمسافه تظهر على الشارت متغيره مابين نقط الدخول والهدف والاستوب صحيت وجدته داخل صفقه مفتوحه بدون استوب وبدون هدف
    ياريت لو لديك ترغم ميتاتريدر يلتزم بالاستوب والهدف 100 % بدون تغير تقوم اضافاتها للاكسبيرت
    اتمنى منك تقوم بتعديل الاكسبيرت المرفق واضافه ماسبق وشرح الاضافات قمت بها لانه اكسبيرت سهل جدا
    وراح بفهم الاضافات التي قمت بها بسرعه ولا ننسى انه لوت الاول الاكسبيرت هو من يحدده
    بعتذر على الاطاااله
    جزاكم الله خير ونفع بكم
    الملفات المرفقة الملفات المرفقة

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

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة توفيق مشاهدة المشاركة
    استادي ماستر دولار هل يمكن ان اجعل لللاكسبيرت 2 ماجيك نمبر لاني اريد جمع طريقتين في اكسبيرت واحد واريد ان اجعل لكل طريقة ماجيك نمبر حتى يسهل التعامل مع الصفقات
    السؤال الثاني
    الاكسبيرت سيكون لديه عدد كبير جدا من الشروط و المتغيرات واخشى ان وضعته داخل الدالة ستارت ا ان يؤثر هدا على سرعة الجهاز او السيرفر لانه على كل تك سيكون ضغط على المعالج
    و اريد تشغيله على الساعة وان يقوم بالشروط مرة واحدة فقط خلال افتتاح ساعة جديدة ثم يتوقف حتى الافتتاح الجديد
    لدلك افكر في جعل الاكسبيرت يعمل فقط ادا كان المتغير Minute() يساوي 1 حتى يخفف الضغط على المعالج
    هل هناك حل اخر من غير هدا الحل؟
    بارك الله فيك
    نعم يمكنك وضع أي عدد ماجيك نمبر كما تريد

    يمكنك جعل الإكسبرت يقوم بالبحث عن تحقق الشروط مره واحده فقط مع بداية كل شمعه . وهذه الطريقة مفيده جدا في حال كان الإكسبرت يعتمد في الدخول على تحقق الشروط في الشمعه التي أغلقت بالتالي لن تؤثر على نتائج الإكسبرت
    مثال
    كود PHP:
    static int NewBar;
    if(
    NewBar=Time[0])return;
    NewBar=Time[0]; 
    هذا الكود سوف تقوم بوضعه في أول الداله start لكن ضع قبله فقط الداله الخاصة بالتريلينج ستوب إذا كان يوجد أو البريك إيفن ( الدوال التي يجب أن تعمل مع كل حركه للسعر )
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

  1. موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
    By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 11
    آخر مشاركة: 15-12-2023, 02:03 PM
  2. عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
    By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملات
    مشاركات: 280
    آخر مشاركة: 27-08-2009, 10:30 PM

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


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