النتائج 1 إلى 8 من 8

الموضوع: طلب كود بسيط

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

    افتراضي طلب كود بسيط

    ممكن كود للاوامر المعلقة كالتالى

    نفرض وصعنا امرين معلقين buystop and sellstop
    على بعد عدد من النقاط

    الكود المطلوب هو ادا تفعل الامر اى من الامرين المعلقين و وصل الى الهدف يحذف الامر المعلق الاخر
    شكرا

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

    افتراضي

    هو الكود صعب الى هده الدرجة!!!!!!!!

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

    افتراضي

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

    نفرض وصعنا امرين معلقين buystop and sellstop
    على بعد عدد من النقاط

    الكود المطلوب هو ادا تفعل الامر اى من الامرين المعلقين و وصل الى الهدف يحذف الامر المعلق الاخر
    شكرا
    الطريقة الأول عمل دالة لمعرفة عدد الصفقات المفتوحه
    كود PHP:
     int orderscnt(int type){
     
    int cnt=0;
       for(
    int i =0;i<OrdersTotal();i++){
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(
    OrderSymbol()==Symbol()&&OrderType()==type && MagicNumber==OrderMagicNumber()){
             
    cnt++;
           }
         }
       }
        return(
    cnt);
      } 
    ثم تضع شرط مثلا
    كود PHP:
    if(orderscnt(OP_BUY)==0&&orderscnt(OP_BUYSTOP)==1)//Delete Order 
    أما إذا كنت تريد التأكد من وصول الصفقه إلى الهدف وليس الأستوب لوز فيمكنك عمل داله للبحث عن آخر صفقة هل أغلقت على الهدف أو الأستوب لوز
    كود PHP:
      bool LastOrderProfit(){
      for(
    int i=OrdersHistoryTotal();i>=0;i--){
      
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
      if(
    OrderClosePrice()==OrderTakeProfit())return(true);
      else return(
    false);
       }
      }
      return(
    true);
      } 
    وتضيف شرط آخر
    كود PHP:
    if(orderscnt(OP_BUY)==0&&orderscnt(OP_BUYSTOP)==1&&LastOrderProfit())//Delete Order 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  4. #4
    الصورة الرمزية uae forex
    uae forex غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    الإقامة
    ALAIN
    المشاركات
    1,101

    افتراضي رد:طلب كود بسيط

    تفضل
    كود PHP:
    void deinit() {
        
    Comment("");
      }

     
    int orderscnt(int type){
     
    int cnt=0;
       for(
    int i =0;i<OrdersTotal();i++){
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&&OrderType()==type||type==-1){
             
    cnt++;
           }
         }
       }
        return(
    cnt);
      } 
    ستار
    كود PHP:
    if(orderscnt(OP_BUY)+orderscnt(OP_SELL)==0&&orderscnt(OP_BUYSTOP)+orderscnt(OP_SELLSTOP)<2)DeletePendingOrders(); 
    دالة الحذف
    كود PHP:
    void DeletePendingOrders(){
    for(
    int i=OrdersTotal();i>=0;i--){
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()>OP_SELL)
    OrderDelete(OrderTicket());
     }


  5. #5
    الصورة الرمزية uae forex
    uae forex غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    الإقامة
    ALAIN
    المشاركات
    1,101

    افتراضي

    سوري مستر دولار ما انتبهت على ردك الا بعد الرد

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

    افتراضي

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

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة المبرمج مشاهدة المشاركة
    شكرا اخى على سرعة الرد
    الكود الاول جربته من قبل لكنه لا يتوافق مع المطلوب لانه ممكن يكون اكثر من اورد مفتوح في الاتجاهين
    الكود الثاني سيتم تجريبه
    شكرا
    في هذه الحاله إجعل كل أمرين معلقين لهم مثلا كومنت متشابه ومختلف عن باقي الأوامر ثم قم بعمل داله للبحث عن الصفقات برقم الكومنت
    وإذا كان هناك صفقة واحده فقط بنفس رقم الكومنت يتم حذفها لأن الصفقة الأخرى تفعلت
    كود PHP:
     for(int i =0;i<OrdersTotal();i++){
         
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
         if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
         
    string comment=OrderComment();int ticket=OrderTicket();
         }
         
    bool ordernotclosed;
         for(
    int j=0;j<OrdersTotal();j++){
         if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&&OrderComment()==comment&&OrderTicket()!=ticket){
        
    ordernotclosed=true;break;
        }
       }
        if(!
    ordernotclose)OrderDelete(ticket);
       } 
    أو بدلا من تحديد الصفقات برقم التيكيت يمكنك عملها برقم الماجيك نمبر
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

    بارك الله فيك اخى
    فكرة الكومونت اظن راح تفي بالغرض
    شكرا جزيلا

    المشكل ليس في الاوامر المعلقة بل في المجال الضيق للتحكم فيها
    راح نجرب الكومنت مختلف او مجك لكل صفقة
    آخر تعديل بواسطة المبرمج ، 24-05-2012 الساعة 01:28 AM


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