النتائج 1 إلى 3 من 3
  1. #1
    الصورة الرمزية naderko2002
    naderko2002 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2015
    الإقامة
    الإمارات العربية المتحدة
    المشاركات
    66

    افتراضي أريد Trailing Stop يعمل على كل الصفقات المفتوحه عدا صفقات ب Lot معين يتم تحديدها

    أخوانى اريد برنامج Trailing Stop يعمل على كل الصفقات المفتوحه ماعدا الصفقتان التى تحتوى على2 Lot أو 1 Lot يتم كتابها فى الأعدادات

    مثال:اذا وجد صفقات مفتوحه على Lot :2 او Lot :2.2 لا يقوم البرنامج بعمل Trailing لها ولكن يعمل على كل الصفقات الأخرى

    هل يمكن اضافه هذا التعديل على برنامج ٍSwing Army EA
    الملفات المرفقة الملفات المرفقة

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة naderko2002 مشاهدة المشاركة
    أخوانى اريد برنامج Trailing Stop يعمل على كل الصفقات المفتوحه ماعدا الصفقتان التى تحتوى على2 Lot أو 1 Lot يتم كتابها فى الأعدادات

    مثال:اذا وجد صفقات مفتوحه على Lot :2 او Lot :2.2 لا يقوم البرنامج بعمل Trailing لها ولكن يعمل على كل الصفقات الأخرى

    هل يمكن اضافه هذا التعديل على برنامج ٍSwing Army EA
    الإكسبرت مغلق لا يمكن التعديل عليه
    لكن كشرح للفكره نعم يمكن يكفي أن تضع شرط المقارنه
    مثال
    كود PHP:
    void MoveTrailingStop()
    {

       for(
    int cnt=0;cnt<OrdersTotal();cnt++)
       {
          
    bool select=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
          if(
    OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderLots()!=Lot1&&OrderLots()!=Lot2)
          {
             if(
    OrderType()==OP_BUY)
             {
                if(
    TrailingStop>0&&NormalizeDouble(Ask,Digits)>NormalizeDouble(OrderOpenPrice()+TrailingStop*point,Digits))  
                {                 
                   if((
    NormalizeDouble(OrderStopLoss(),Digits)<NormalizeDouble(Bid-TrailingStop*point,Digits))||(OrderStopLoss()==0))
                   {
                      
    bool modify=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-TrailingStop*point,Digits),OrderTakeProfit(),0,Blue);
                   }
                }
             }
             else 
             {
                if(
    TrailingStop>0&&NormalizeDouble(Bid,Digits)<NormalizeDouble(OrderOpenPrice()-TrailingStop*point,Digits))  
                {                 
                   if((
    NormalizeDouble(OrderStopLoss(),Digits)>(NormalizeDouble(Ask+TrailingStop*point,Digits)))||(OrderStopLoss()==0))
                   {
                       
    bool modify=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+TrailingStop*point,Digits),OrderTakeProfit(),0,Red);
                   }
                }
             }
          }
       }


  3. #3
    الصورة الرمزية naderko2002
    naderko2002 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2015
    الإقامة
    الإمارات العربية المتحدة
    المشاركات
    66

    افتراضي

    جزاك الله خير مستر دولار ولكن يمكنك عمل هذا البرنامج البسيط و يحتوى على
    1. ٍStop Trailing Act
    2.Stop Trailing Step
    3. Lot1 which not need to act
    4. Lot2 which not need to act
    ليس عندى خبره فى البرمجه


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