النتائج 1 إلى 7 من 7
  1. #1
    الصورة الرمزية هاشمية
    هاشمية غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2010
    المشاركات
    19

    افتراضي أحتاج مساعدة بليز في فهم هذا الكود

    كود:
    int MyOrdersTotal(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())
        {
          c++;
        }
      }
      return(c);
    }
    السلام عليكم يا اخوان
    في كود حساب عدد الصفقات سواء كانت منفذة أو معلقة اش وظيفة المتغيرmagic
    ونحن في بداية الكود عرفنا متغير magicnumber لكي يميز صفقات هذا الاكسبرت

    كود:
    extern int     MagicNumber = 123456;// الماجيك نمبر
    سؤال أيضا المتغير cnt يمثل عداد للوب أم يمثل index رقم الصفقة

    الآن المتغير c يمثل الصفقات المختارة ( هل المقصود هنا الصفقات المنفذة )
    المتغير total يمثل مجموع جميع الصفقات سواء كانت منفذة أو معلقة

    أتمنى الحصول على إجابة وافية لكي تتضح لي ملابسات الكود
    شكر كبير لجهودكم جميعا
    في حفظ الرحمن / هاشمية

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

    افتراضي رد: أحتاج مساعدة بليز في فهم هذا الكود

    اقتباس المشاركة الأصلية كتبت بواسطة هاشمية مشاهدة المشاركة
    كود:
    int MyOrdersTotal(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())
        {
          c++;
        }
      }
      return(c);
    }
    السلام عليكم يا اخوان
    في كود حساب عدد الصفقات سواء كانت منفذة أو معلقة اش وظيفة المتغيرmagic
    ونحن في بداية الكود عرفنا متغير magicnumber لكي يميز صفقات هذا الاكسبرت

    كود:
    extern int     MagicNumber = 123456;// الماجيك نمبر
    سؤال أيضا المتغير cnt يمثل عداد للوب أم يمثل index رقم الصفقة

    الآن المتغير c يمثل الصفقات المختارة ( هل المقصود هنا الصفقات المنفذة )
    المتغير total يمثل مجموع جميع الصفقات سواء كانت منفذة أو معلقة

    أتمنى الحصول على إجابة وافية لكي تتضح لي ملابسات الكود
    شكر كبير لجهودكم جميعا
    في حفظ الرحمن / هاشمية
    بالنسبة للسؤال الأول يمكنك الإستغناء عن المتغير Magic وإزالته وستعطي نفس النتيجة
    وسيكون الكود كالآتي
    كود PHP:
     int MyOrdersTotal()
    {
      
    int c=0;
      
    int total  OrdersTotal();
      
      for (
    int cnt cnt total cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
          
    c++;
        }
      }
      return(
    c);

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

  3. #3
    الصورة الرمزية هاشمية
    هاشمية غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2010
    المشاركات
    19

    افتراضي رد: أحتاج مساعدة بليز في فهم هذا الكود

    كود:
    //+------------------------------------------------------------------+
    //|                                                 Byu_Sell_Day.mq4 |
    //|                              Copyright © 2007, www.****forex.net |
    //|                                         http://www.****forex.net |
    //+------------------------------------------------------------------+
    #property copyright "Copyright © 2007, www.****forex.net"
    #property link      "http://www.****forex.net"
    
    extern int Step=20;
    extern int Takeprofit=50;
    extern int Stoploss=50;
    extern double Lots=1;
    int Magicnumber=234561;
    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    int init()
      {
    //----
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
    //----
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
    {
      if(Hour()==0 && Minute()<5 && MyOrdersTotal(Magicnumber)>0)
      {
        DeletePendingOrders(Magicnumber);
        CloseOrders(Magicnumber);
      }
      if(Hour()==0 && Minute()>5 && MyOrdersTotal(Magicnumber)==0)
      {
        double DayClose=iClose(Symbol(),PERIOD_D1,1);
        double BuyPrice=DayClose+Step*Point;
        double BuyTP=BuyPrice+Takeprofit*Point;
        double BuySL=BuyPrice-Stoploss*Point;
        
        double SellPrice=DayClose-Step*Point;
        double SellTP=SellPrice-Takeprofit*Point;
        double SellSL=SellPrice+Stoploss*Point;
        
        OrderSend(Symbol(),OP_BUYSTOP,Lots,BuyPrice,3,BuySL,BuyTP,"",Magicnumber,0,Green);
        OrderSend(Symbol(),OP_SELLSTOP,Lots,SellPrice,3,SellSL,SellTP,"",Magicnumber,0,Green);
      }
      return(0);
    }
    int MyOrdersTotal(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())
        {
          c++;
        }
      }
      return(c);
    }
    int DeletePendingOrders(int Magic)
    {
      int total  = OrdersTotal()-1;
      
      for (int cnt = total ; cnt > 0 ; cnt--)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL))
        {
          OrderDelete(OrderTicket());
        }
      }
      return(0);
    }
    int CloseOrders(int Magic)
    {
      int total  = OrdersTotal()-1;
      
      for (int cnt = total ; cnt > 0 ; cnt--)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
        {
          if (OrderType()==OP_BUY)
          {
            OrderClose(OrderTicket(),OrderLots(),Bid,3);
          }
          
          if (OrderType()==OP_SELL)
          {
            OrderClose(OrderTicket(),OrderLots(),Ask,3);
          }
        }
      }
      return(0);
    }

    جزاك الله ألف خير يا اخي الكريم
    من خلال هذا الكود الذي يسير ضمن الاستيراتجية التالية

    1) الساعة 12:15 بتوقيت جرينتش نأخذ سعر اغلاق اخر شمعة (15 دقيقة) للكيبل وهو GBPUSD ولنفرض ان سعر الاغلاق هو 1.5260


    2 ، 3) يتم وضع امر معلق BUYSTOP فوق سعر الاغلاق السابق بـ 50 نقطة
    يعني عند السعر 1.5310 والهدف 20 نقطة يعني عند 1.5330 والوقف 20 نقطة يعني عند 1.5290

    و يتم وضع امر معلق آخر SELLSTOP تحت سعر الاغلاق السابق بـ 50 نقطة
    يعني عند السعر 1.5210 والهدف 20 نقطة يعني عند 1.5190 والوقف 20 نقطة يعني عند 1.5230

    4) عند تفعل أي أمر يُلغى الآخر
    يعني يجب وضع أمرين ولكن يتم تنفيذ أمر واحد فقط
    متى يتم تنفيذ الأمر : حينما يصل السعر فوق أو تحت السعر ب 50 نقطة تبعا للسوق فيتحول من كونه معلق إلى منفذ
    وإذا كان هذا الكلام صحيح هنا إذا يبدأ عمل المتغير c
    سؤال آخر يعطيك العافية :
    بالنسبة لسير الكود بعد الدالة mytotalsorder التي قمنا نحن بصنعها
    ما هي الدالة التي ستعمل هل هي ordersend وإن كانت كذلك لماذا ؟
    أثابك ربي ورزقك من أسوع أبوابه أينما كنت

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

    افتراضي رد: أحتاج مساعدة بليز في فهم هذا الكود

    اقتباس المشاركة الأصلية كتبت بواسطة هاشمية مشاهدة المشاركة
    كود:
    //+------------------------------------------------------------------+
    //|                                                 Byu_Sell_Day.mq4 |
    //|                              Copyright © 2007, www.****forex.net |
    //|                                         http://www.****forex.net |
    //+------------------------------------------------------------------+
    #property copyright "Copyright © 2007, www.****forex.net"
    #property link      "http://www.****forex.net"
    
    extern int Step=20;
    extern int Takeprofit=50;
    extern int Stoploss=50;
    extern double Lots=1;
    int Magicnumber=234561;
    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    int init()
      {
    //----
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
    //----
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
    {
      if(Hour()==0 && Minute()<5 && MyOrdersTotal(Magicnumber)>0)
      {
        DeletePendingOrders(Magicnumber);
        CloseOrders(Magicnumber);
      }
      if(Hour()==0 && Minute()>5 && MyOrdersTotal(Magicnumber)==0)
      {
        double DayClose=iClose(Symbol(),PERIOD_D1,1);
        double BuyPrice=DayClose+Step*Point;
        double BuyTP=BuyPrice+Takeprofit*Point;
        double BuySL=BuyPrice-Stoploss*Point;
        
        double SellPrice=DayClose-Step*Point;
        double SellTP=SellPrice-Takeprofit*Point;
        double SellSL=SellPrice+Stoploss*Point;
        
        OrderSend(Symbol(),OP_BUYSTOP,Lots,BuyPrice,3,BuySL,BuyTP,"",Magicnumber,0,Green);
        OrderSend(Symbol(),OP_SELLSTOP,Lots,SellPrice,3,SellSL,SellTP,"",Magicnumber,0,Green);
      }
      return(0);
    }
    int MyOrdersTotal(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())
        {
          c++;
        }
      }
      return(c);
    }
    int DeletePendingOrders(int Magic)
    {
      int total  = OrdersTotal()-1;
      
      for (int cnt = total ; cnt > 0 ; cnt--)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL))
        {
          OrderDelete(OrderTicket());
        }
      }
      return(0);
    }
    int CloseOrders(int Magic)
    {
      int total  = OrdersTotal()-1;
      
      for (int cnt = total ; cnt > 0 ; cnt--)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
        {
          if (OrderType()==OP_BUY)
          {
            OrderClose(OrderTicket(),OrderLots(),Bid,3);
          }
          
          if (OrderType()==OP_SELL)
          {
            OrderClose(OrderTicket(),OrderLots(),Ask,3);
          }
        }
      }
      return(0);
    }
    جزاك الله ألف خير يا اخي الكريم
    من خلال هذا الكود الذي يسير ضمن الاستيراتجية التالية



    متى يتم تنفيذ الأمر : حينما يصل السعر فوق أو تحت السعر ب 50 نقطة تبعا للسوق فيتحول من كونه معلق إلى منفذ
    وإذا كان هذا الكلام صحيح هنا إذا يبدأ عمل المتغير c
    سؤال آخر يعطيك العافية :
    بالنسبة لسير الكود بعد الدالة mytotalsorder التي قمنا نحن بصنعها
    ما هي الدالة التي ستعمل هل هي ordersend وإن كانت كذلك لماذا ؟
    أثابك ربي ورزقك من أسوع أبوابه أينما كنت
    سيبدأ عمل المتغير c ويأخذ قيمة عدد الصفقات بمجرد وضع الأوامر المعلقة لأني كما أخبرت في المشاركة السابقه أن OrdersTotal تعود بجميع الصفقات المفعله وكذلك الصفقات المعلقه
    لكن إذا أردت حساب فقط الصفقات المفعله ماركت وليست الصفقات المعلقه ضعي شرط آخر هو
    كود PHP:
    OrderType()<=
    أو هكذا
    كود PHP:
    OrderType()==OP_SELL||OrderType()==OP_BUY 
    نفس المعنى
    بالنسبة للداله
    كود PHP:
    MyOrdersTotal() 
    فهي تحتفظ بقيمه معينه ثم بعد ذلك يتم استدعائها بداخل الدالة start
    ثم تأتي الدالة التي تليها في الكود سواء كانت OrderSend أو غيرها وهكذا تأتي الأوامر تباعا
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  5. #5
    الصورة الرمزية هاشمية
    هاشمية غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2010
    المشاركات
    19

    افتراضي رد: أحتاج مساعدة بليز في فهم هذا الكود

    السلام عليكم
    شكرا كثيرا اخي الكريم
    أثابك الله وجعل ما قدمته في ميزان حسناتك
    وضعت الاكسبرت على الشارت وعند الساعة 12
    لم يحدث شي لم يفتح اي صفقة
    ظل ساكنا ما المشكلة برأيك

  6. #6
    الصورة الرمزية هاشمية
    هاشمية غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2010
    المشاركات
    19

    افتراضي رد: أحتاج مساعدة بليز في فهم هذا الكود

    UP

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

    افتراضي رد: أحتاج مساعدة بليز في فهم هذا الكود

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

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

  1. مطلوب مساعدة في هذا الكود
    By t4fast in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 3
    آخر مشاركة: 20-03-2010, 04:36 PM
  2. محتاج تصحيح لهدا الكود
    By atalj in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 7
    آخر مشاركة: 28-07-2008, 06:03 PM
  3. كيف أتعامل مع التوصيات متعددة الأهداف ..
    By شذى in forum استفسارات وأسئلة المبتدئين
    مشاركات: 5
    آخر مشاركة: 09-04-2008, 09:05 AM
  4. عاااجل / مساعدة بليز
    By شمريه وافتخر in forum استراحة اعضاء المتداول العربي
    مشاركات: 2
    آخر مشاركة: 21-11-2007, 07:45 AM
  5. انا محتاج مساعدة
    By Atto in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادن
    مشاركات: 7
    آخر مشاركة: 16-01-2007, 03:04 PM

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


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