النتائج 1 إلى 3 من 3
  1. #1
    الصورة الرمزية mrmoha
    mrmoha غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2010
    الإقامة
    القاهرة
    العمر
    33
    المشاركات
    92

    افتراضي طلب مساعدة فى تعديل إكسبيرت

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

    لدى إكسبيرت وضع الأوامر المعلقه فى وقت معين , عند تفعيله يضع أمرين sale stop وbuy stop على بعد عدد نقاط يتم تحديده من سعر السوق والمشكله هى إنى عايزو يضع الأوامر فى الوقت المحدد ومش عايزو يعمل اى حاجه تانيه خالص لأنه بيستمر فى وضع الاوامر وكمان بيفتح صفقات لوحده لما سعر السوق يصادف أسعار الأوامر المعلقه السابقه
    وكل اللى أنا طالبه إنه يكون كل وظيفته إنه يضع الأمرين فى الدقيقه المحددة وبعد كده يقفل نفسه كأنه مش موجود .

    الإسكريبت :
    كود:
    //+------------------------------------------------------------------+
    //|                               m-e-c_biz_Pending_Orders_EA_V1.mq4 |
    //|                                       Copyright © 2010 m-e-c.biz |
    //|                                                 http://m-e-c.biz |
    //+------------------------------------------------------------------+
    #property copyright "Copyright © 2010 m-e-c.biz"
    #property link      "http://m-e-c.biz"
    
    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    
    //خصائص الاكسبيرت
    extern int Pips=50;// الفرق بالنقاط بين سعر الاغلاق وسعر وضع الاوامر المعلقة
    extern int hour = 0;// ساعة وضع الاوامر
    extern int minute = 15;// دقيقة وضع الاوامر
    extern int     TakeProfit=20;// الهدف
    extern int     StopLoss=20;// الوقف
    extern double  Lots=0.1;// اللوت
    extern int     MagicNumber = 123456;// الماجيك نمبر
    
    
    int init()
      {
    //----
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
    //----
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
      {
    //----
       
       if (Hour()==hour && Minute()>=minute)
       {
       string Name="m-e-c_biz_Pending_Orders_EA_V1";
       Comment(Name);
    
     double   b= iClose(Symbol(),PERIOD_M15,1)+Pips*Point;
     double   s= iClose(Symbol(),PERIOD_M15,1)-Pips*Point;
    
        if (StopLoss>0)
        { 
     double bsl=b-StopLoss*Point;
     double ssl=s+StopLoss*Point;
        }
        else
        {
        bsl=0;
        ssl=0;
        }
    
        if (TakeProfit>0) 
        {
     double bt=b+TakeProfit*Point;
     double st=s-TakeProfit*Point;
        }
         else 
         {
         bt=0;
         st=0;
         }  
      if (MyBuyPendingOrdersTotal(MagicNumber)==0) OrderSend(Symbol(),OP_BUYSTOP,Lots,b,3,bsl,bt,Name,MagicNumber,0,Green);
      if (MySellPendingOrdersTotal(MagicNumber)==0) OrderSend(Symbol(),OP_SELLSTOP,Lots,s,3,ssl,st,Name,MagicNumber,0,Red);
      
       }  
       
      if (MyBuyRealOrdersTotal(MagicNumber)>0) DeleteSellPendingOrders(MagicNumber);
      if (MySellRealOrdersTotal(MagicNumber)>0) DeleteBuyPendingOrders(MagicNumber);
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    
    // وظيفة لحساب عدد الصفقات الحالية الشراء
    int MyBuyRealOrdersTotal(int Magic)
    {
      int c=0;
      int total  = OrdersTotal();
     
      for (int cnt = 0 ; cnt < total ; cnt++)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY))
        {
          c++;
        }
      }
      return(c);
    }  
    
    // وظيفة لحساب عدد الصفقات الحالية للبيع
    int MySellRealOrdersTotal(int Magic)
    {
      int c=0;
      int total  = OrdersTotal();
     
      for (int cnt = 0 ; cnt < total ; cnt++)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_SELL))
        {
          c++;
        }
      }
      return(c);
    }  
    
    // وظيفة لحساب عدد صفقات الشراء المعلقة فقط
    int MyBuyPendingOrdersTotal(int Magic)
    {
      int c=0;
      int total  = OrdersTotal();
     
      for (int cnt = 0 ; cnt < total ; cnt++)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT ))
        {
          c++;
        }
      }
      return(c);
    }
    
    // وظيفة لحساب عدد صفقات البيع المعلقة فقط
    int MySellPendingOrdersTotal(int Magic)
    {
      int c=0;
      int total  = OrdersTotal();
     
      for (int cnt = 0 ; cnt < total ; cnt++)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT))
        {
          c++;
        }
      }
      return(c);
    }
    
    // وظيفة لحذف صفقات الشراء المعلقة
    void DeleteBuyPendingOrders(int Magic)
    {
    int total  = OrdersTotal();
     
    for (int cnt = total - 1; cnt >= 0; cnt--)
    {
     OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
     if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT))
     {
       OrderDelete(OrderTicket());
     }
    }
    return(0);
    }
    
    // وظيفة لحذف صفقات البيع المعلقة
    void DeleteSellPendingOrders(int Magic)
    {
    int total  = OrdersTotal();
     
    for (int cnt = total - 1; cnt >= 0; cnt--)
    {
     OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
     if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT))
     {
       OrderDelete(OrderTicket());
     }
    }
    return(0);
    }
    لو حد يقدر يضيف أوامر hide TP /ST يبقى خدمنى خدمه كبيرة أوى.

    شكرا مقدما للجميع.

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

    افتراضي رد: طلب مساعدة فى تعديل إكسبيرت

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

  3. #3
    الصورة الرمزية mrmoha
    mrmoha غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2010
    الإقامة
    القاهرة
    العمر
    33
    المشاركات
    92

    افتراضي رد: طلب مساعدة فى تعديل إكسبيرت

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

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

  1. طلب تعديل بسيط على إكسبيرت
    By dawns_mist in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 13
    آخر مشاركة: 24-02-2023, 10:49 PM
  2. مساعدة مع إكسبيرت fx robot
    By wssw2000 in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 2
    آخر مشاركة: 13-06-2010, 09:00 PM
  3. مساعدة: و لا إكسبيرت إشتغل معي
    By ابو عبدالله المسلم in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 5
    آخر مشاركة: 01-02-2008, 12:55 AM

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


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