النتائج 1 إلى 8 من 8
  1. #1
    الصورة الرمزية kingthamer1
    kingthamer1 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2020
    الإقامة
    السعودية
    المشاركات
    37

    08 مطلوب داله اغلاق صفقات معلقه بعد وقت محدد

    سلام عليكم ورحمه الله وبركاته


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

    مثلا
    تم وضع 10اوامر معلقه بيع

    لكن تم تنفيذ منها2 وبعد كذا السعر عكس وابتعد عن الاوامر المعلقه

    هنا يتم اقفال الاوامر المعلقه ويعيدها الي قرب السعر الحالي وهكذا كلما ابتعد السعر عن الامر المعلق يتم حذف الامر واعاده مره اخري لقرب السعر

  2. #2
    الصورة الرمزية kingthamer1
    kingthamer1 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2020
    الإقامة
    السعودية
    المشاركات
    37

    افتراضي

    كود PHP:
    void ordertime(){
        
    int OrderTime;
        for(
    int i=0;i<OrdersTotal();i++){
             
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
             if(
    OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber){ 
               
    OrderTime=(TimeCurrent()-OrderOpenTime())*3;
               if(
    OrderTime>TimeMinute){
               if(
    OrderType()==OP_BUYSTOP){
                   
    OrderClose(OrderTicket(),OrderLots(),Bid,3);
                   }
                if(
    OrderType()==OP_SELLSTOP){
                
    OrderClose(OrderTicket(),OrderLots(),Ask,3);
                }
                 }
                }
               }
              } 

  3. #3
    الصورة الرمزية kingthamer1
    kingthamer1 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2020
    الإقامة
    السعودية
    المشاركات
    37

    افتراضي

    اضفت الكود الي اعلاه لكن لا يقفل الاوامر المعلقه

    ماهو الحل

  4. #4
    الصورة الرمزية salamandal
    salamandal غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2016
    الإقامة
    الجزائر
    المشاركات
    191

    افتراضي

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

    ماهو الحل
    يجب وضع متغير خارجي TimeMinute
    يساوي قيمة الوقت المنقضي بالدقائق

  5. #5
    الصورة الرمزية kingthamer1
    kingthamer1 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2020
    الإقامة
    السعودية
    المشاركات
    37

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة salamandal مشاهدة المشاركة
    يجب وضع متغير خارجي TimeMinute
    يساوي قيمة الوقت المنقضي بالدقائق
    تم عمل متغير خارجي بالدقيقه والساعه

    وفعلت الدقيقه واشتغل ولكن يفتح ويقفل الاوامر المعلقه لمده دقيقه ثم يتوقف بعد الدقيقه المحدده


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

    وسوف ابحث عن هذا الطريقه

  6. #6
    الصورة الرمزية salamandal
    salamandal غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2016
    الإقامة
    الجزائر
    المشاركات
    191

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة kingthamer1 مشاهدة المشاركة
    تم عمل متغير خارجي بالدقيقه والساعه

    وفعلت الدقيقه واشتغل ولكن يفتح ويقفل الاوامر المعلقه لمده دقيقه ثم يتوقف بعد الدقيقه المحدده


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

    وسوف ابحث عن هذا الطريقه
    لم افهم ما تقصده في المشاركة الاولى بقولك = بعد مرور وقت يتم تحديده = ...هل معنى هذا مرور مدة زمنية بالدقائق مثلا بعد 180 دقيقة او بعد 11:30 مثلا
    فإذا كان المقصود هو 180 فمعنى هذا ان الاكسبرت يقوم بحذف الاوامر المعلقة كلما مر عليها المدة المحددة
    والشيء الثاني الذي لم افهمه ان الدالة المذكورة مبتورة يعني فيها نوع واحد من الاوامر المعلقة من نوع Sell stop و Buy stop يعني لو كانت لديك اوامر معلقة من نوع limit فلن تقوم بحذفها

  7. #7
    الصورة الرمزية salamandal
    salamandal غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2016
    الإقامة
    الجزائر
    المشاركات
    191

    افتراضي

    هذه دالة تقارن التوقيت الحالي بتوقيت فتح الصفقه وإذا مره عدد دقائق محدده يتم حذف الصفقات المعلقة
    حيث MinutesToClose هو متغير خارجي يحدد عدد الدقائق

    كود PHP:
    bool DeleteAllLimitOrders()
    {
        
    int total  OrdersTotal();
          for (
    int cnt total-cnt >=cnt--)
          {
             if(
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
           
             if(
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)) 
             {
             if(
    OrderSymbol()==Symbol()&&MagicNumber==OrderMagicNumber()){
                if(
    TimeCurrent()-OrderOpenTime()>=MinutesToClose*60){          
                if(
    OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP || OrderType()==OP_BUYLIMIT || OrderType()==OP_SELLLIMIT)
                   if(!
    OrderDelete(OrderTicket()))
                   { 
                      Print(
    "Error deleting " + (string)OrderType() + " order : ",GetLastError());
                      return (
    false);
                      }
                 } 
                }
              }
          }
          return (
    true);

    آخر تعديل بواسطة salamandal ، 05-03-2021 الساعة 04:30 PM

  8. #8
    الصورة الرمزية kingthamer1
    kingthamer1 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2020
    الإقامة
    السعودية
    المشاركات
    37

    افتراضي

    انا اضع الاغلاق عن30دقيقه
    والدقيقه تتكون من60ثانيه في الاكسبرت يغلق الاوامر المعلقه
    ويرجع يضع اوامر جديده معلقه ثم يغلق مره اخري الاوامر المعلقه الي ان تتغير الدقيقه الي31 هنا يتوقف

    والي اريده ان يغلق الامر مره وحده فقط وبعدها يبداء فتح الاوامر المعلق


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