النتائج 1 إلى 3 من 3
  1. #1
    الصورة الرمزية Golden_Machine
    Golden_Machine غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2011
    المشاركات
    30

    افتراضي اغلاق امر بعد وقت محدد

    السلام عليكم


    احاول عمل اكسبرت يقفل الامر بعد وقت محدد
    المشكله ان الوقت محسوب بـ 24 ساعه و60 دقيقه وبعدها يرجع للصفر
    العمليه الحسابيه ما تركب

    المساعده لتطوير الكود لاغلاق الامر بعد ثلاث ساعات ونص مثلا
    ويعمل طوال الوقت

    هذا الكود
    كود PHP:
    extern double Time_Cls_B=2;  
    bool Flag_Time_B=false;
    extern double Order_Time_B;

    int Order_Time_B()                        
    {
    int Order_Hour_B Hour();             
    double Order_Min_B Minute();           
    Order_Time_B Order_Hour_B Order_Min_B
    Alert(Order_Time_B);
    return;                             
    }

    int Executor_B()                        
    {
    Flag_Time_B=true;                 
    return;                             
    }

    int Close_Time_B()
    {
    int    Cur_Hour_B Hour();             
    double Cur_Min_B Minute();           
    double Cur_Time_B Cur_Hour_B Cur_Min_B
    double Close_Time_B Cur_Time_B Order_Time_B;
    Alert(Order_Time_B);
    Alert(Close_Time_B);
    if (
    Close_Time_B Time_Cls_B)
    {
    Executor_B();                      
    }
    return;


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

    افتراضي

    وعليكم السلام ورحمة الله وبركاته
    أنت تريد إغلاق الصفقه بعد وقت محدد لذلك سوف تحتاج إلى معرفة توقيت فتح الصفقه لتحسب الفرق لكل صفقه على حده حسب توقيت فتحها فسيكون الكود
    كود PHP:
    bool CloseOrderTime()
    {
    for(
    int i=0;i<OrdersTotal();i++){
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    datetime opentime=OrderOpenTime();
    if((
    TimeCurrent()-opentime)/60/60>HoursToCloseOrder){
    OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3);
      }
     }

    والمتغير الخارجي
    كود PHP:
    extern double HoursToCloseOrder=3.5
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  3. #3
    الصورة الرمزية Golden_Machine
    Golden_Machine غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2011
    المشاركات
    30

    افتراضي

    رااااائع

    اشكرك من اعماق قلبي
    كنت متأكد اني بجد الاجابه عندك

    وجدت بطريقتك ما كان ينقصني
    استخدمت مزيج من طريقتك وطريقتي والنتيجه الاوليه مشجعه، احتاج فقط لفحصها لمده اطول كـ 24 ساعه .
    استخدام TimeCurrent بدل Hour و Minute خفف كثير من التعقيد

    الكود بعد التعديل للفائده العامه
    extern double Time_Cls_B=1;
    bool Flag_Time_B=false;
    extern double Order_Time_B;


    int Order_Time_B()
    {

    Order_Time_B = TimeCurrent();
    Alert(Order_Time_B);
    return;
    }

    int Close_Time_B()
    {

    Alert(TimeCurrent());
    Alert(Order_Time_B);

    if((TimeCurrent()-Order_Time_B)/60/60 > Time_Cls_B )
    {
    Executor_B();
    }

    return;
    }

    int Executor_B()
    {
    Flag_Time_B=true;
    return;
    }


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