موضوع مخصص للأسئلة البرمجية - الصفحة 631
صفحة 631 من 631 الأولىالأولى ... 131531581621625626627628629630631
النتائج 9,451 إلى 9,463 من 9463
  1. #9451
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    12,915

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة Arafou87 مشاهدة المشاركة
    شكرًا لحسن ردك مستر دولار الغالي
    هذا هو كود دالة ستارت السابق مع بعض التعديل
    كود PHP:
    /*
       //-----
       //تعديل الهدف في حال ما إذا كان قيمة الهدف أقل من قيمة الاستوب لوز
       //---------------------------------------------  
       double tp;
       double sl;
       double takeprofite;
       double stoploss;
       bool   mmodify;
       double tpMulti = 1.5;
        
        //----------------------------
        //
        //----------------------------
        if(TotalOrders2(OP_BUY)== 1){
         
          tp = LastOrderInfo2("TP")    - LastOrderInfo2("Price"); // عدد نقاط البروفيت
          sl = LastOrderInfo2("Price") - LastOrderInfo2("SL");    // عدد نقاط الاستوبلوز
         
         if (tp < sl)
         {
         takeprofite = LastOrderInfo2("Price") + (sl*tpMulti);
         stoploss    =  LastOrderInfo2("SL"); 
             
         mmodify = OrderModify(ticket,OrderOpenPrice(),stoploss,takeprofite,0);
         
         }
         }
         //----------------------------
         //
         //----------------------------
         else if(TotalOrders2(OP_SELL)==1){
          
         tp = LastOrderInfo2("TP")    - LastOrderInfo2("Price") * (-1); // عدد نقاط البروفيت
         sl = LastOrderInfo2("Price") - LastOrderInfo2("SL")    * (-1); // عدد نقاط الاستوبلوز
         if (tp < sl)
         {
         takeprofite = LastOrderInfo2("Price") - (sl*tpMulti);
         stoploss    = LastOrderInfo2("SL");
         
         mmodify = OrderModify(ticket,OrderOpenPrice(),stoploss,takeprofite,0);
         
         }
         }
         
         else {
         
         takeprofite = LastOrderInfo2("TP");
         stoploss    = LastOrderInfo2("SL");
         
         mmodify = OrderModify(ticket,OrderOpenPrice(),stoploss,takeprofite,0);
         
         
         }
        */ 
    وهذه الدوال خارج دالة ستارت
    أولا: دالة استدعاء بيانات آخر صفقة مفتوحة
    كود PHP:
    double LastOrderInfo2(string info
    {
     for(
    int i OrdersTotal(); >= 0i--)
     {
      
    bool select OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      
      if(
    OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
      {
            if (
    info=="Type")  return(OrderType());
       else if (
    info=="Lots")  return(OrderLots());
       else if (
    info=="Price") return(OrderOpenPrice());
       else if (
    info=="TP")    return(OrderTakeProfit());
       else if (
    info=="SL")    return(OrderStopLoss());
      }
     }
     return(
    0);

    ثانيا: دالة التوتال

    كود PHP:
    int TotalOrders2(int type)
     {
     
     
    int cnt=0;
     
       for(
    int i 0OrdersTotal(); i++)
       {
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         {
           if(
    OrderSymbol() == Symbol() && MagicNumber == OrderMagicNumber() && (OrderType() == type))
           {
             
    cnt++;
           }
         }
       }
        return(
    cnt);
      } 

    حاولت تجربته بهذه الطريقة مع بعض التعديلات، لكن لا أدري أين الخلل، مع ملاحظة أن الصفقة المراد تنفيذ الأمر عليها كانت صفقة معلقة (لكن تم تفعيلها)
    والهدف من هذا الكود (هناك بعض الصفقات المعلقة يحصل عليها جاب فتفتح على سعر غير السعر المحدد لتفتح عنده، وبهذا تكون قيمة نقاط البروفيت أقل من قيمة نقاط الاستوب، فأردت إضافة هذا الشرط عشان لو حصل كده يقوم الإكسبرت بتعديلها)
    أرجو التوجيه، شكرًا لحسن تعاونكم مرة أخرى..
    من أين تأتي بقيمة المتغير ticket أخي الكريم ؟
    هذا مثال لدالة ستقوم بالبحث في كل الصفقات المفتوحه وتعديل الهدف إذا كان أقل من الأستوب
    كود PHP:
      void ModifyOrders()
      {
       for(
    int i=OrdersTotal()-1;i>=0;i--)
       {
        
    bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
        if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
        {
         if(
    OrderType()==OP_BUY)
         {
          
    double sl=OrderOpenPrice()-OrderStopLoss();
          
    double tp=OrderTakeProfit()-OrderOpenPrice();
          if(
    tp<sl)
          {
           
    bool modify=OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()+sl,0);
          }
         }
         else if(
    OrderType()==OP_SELL)
         {
           
    double sl=OrderStopLoss()-OrderOpenPrice();
          
    double tp=OrderOpenPrice()-OrderTakeProfit();
          if(
    tp<sl)
          {
           
    bool modify=OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()+sl,0);
          }
         }
        }
       }
      } 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  2. #9452
    تاريخ التسجيل
    Jan 2019
    الإقامة
    السعودية
    المشاركات
    2

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    لأ أخي الكريم, لغة mql4 و mql5 تستخدم فقط لبرمجة التطبيقات على الميتاتريد
    شكرا جزيلا على الرد

  3. #9453
    تاريخ التسجيل
    Jan 2019
    الإقامة
    فرنسا
    المشاركات
    4

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    من أين تأتي بقيمة المتغير ticket أخي الكريم ؟
    هذا مثال لدالة ستقوم بالبحث في كل الصفقات المفتوحه وتعديل الهدف إذا كان أقل من الأستوب
    كود PHP:
      void ModifyOrders()
      {
       for(
    int i=OrdersTotal()-1;i>=0;i--)
       {
        
    bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
        if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
        {
         if(
    OrderType()==OP_BUY)
         {
          
    double sl=OrderOpenPrice()-OrderStopLoss();
          
    double tp=OrderTakeProfit()-OrderOpenPrice();
          if(
    tp<sl)
          {
           
    bool modify=OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()+sl,0);
          }
         }
         else if(
    OrderType()==OP_SELL)
         {
           
    double sl=OrderStopLoss()-OrderOpenPrice();
          
    double tp=OrderOpenPrice()-OrderTakeProfit();
          if(
    tp<sl)
          {
           
    bool modify=OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()+sl,0);
          }
         }
        }
       }
      } 
    تسلم إيدك أستاذنا الغالي، لك كل الشكر

  4. #9454
    تاريخ التسجيل
    May 2007
    الإقامة
    السعودية
    المشاركات
    809

    افتراضي

    اخي مستر دولار
    انا كتبت كود افتتاح اليوم كما يلي
    كود:
    iOpen(NULL,PERIOD_D1,0)
    وكتبت كود اغلاق الربع الساعه السابقه كمايلي
    كود:
    iClose(NULL,PERIOD_M15,1)
    اولا هل كتابة الكودين صحيحه؟.
    ثانيا اريد ان اكتب مايلي
    تقاطع اغلاق ربع الساعه السابقه اعلى الافتتاح اليومي بشرط الربع ساعه تكون في نفس اليوم وليس في يوم سابق
    طبعا اغلاق اعلى الافتتاح او ادنى الافتتاح
    ==================================

    وشكرا مقدما

  5. #9455
    تاريخ التسجيل
    May 2010
    الإقامة
    القاهره
    المشاركات
    1,753

    افتراضي

    هذه الداله موجوده فى اكسبيرت يعمل فقط على الزوج الموجود عليه
    int l_ticket_108 = OrderSend(Symbol(), OP_BUYLIMIT, l_lots_60, l_price_4, 2, 0, 0, gs_mdm_160, l_datetime_0);
    اريد التعديل عليها بحيث تقوم بوضع الاوردرات على 3 ازواج دفعه واحده فاين اكتب اسم الازوج ؟

  6. #9456
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    12,915

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة النظير مشاهدة المشاركة
    اخي مستر دولار
    انا كتبت كود افتتاح اليوم كما يلي
    كود:
    iOpen(NULL,PERIOD_D1,0)
    وكتبت كود اغلاق الربع الساعه السابقه كمايلي
    كود:
    iClose(NULL,PERIOD_M15,1)
    اولا هل كتابة الكودين صحيحه؟.
    ثانيا اريد ان اكتب مايلي
    تقاطع اغلاق ربع الساعه السابقه اعلى الافتتاح اليومي بشرط الربع ساعه تكون في نفس اليوم وليس في يوم سابق
    طبعا اغلاق اعلى الافتتاح او ادنى الافتتاح
    ==================================

    وشكرا مقدما
    نعم كتابة الكودين صحيح
    بالنسبه للشروط فستكون
    كود PHP:
    if(open_15<day_open&&close_15>day_open)
    {


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

  7. #9457
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    12,915

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة a7med920 مشاهدة المشاركة
    هذه الداله موجوده فى اكسبيرت يعمل فقط على الزوج الموجود عليه
    int l_ticket_108 = OrderSend(Symbol(), OP_BUYLIMIT, l_lots_60, l_price_4, 2, 0, 0, gs_mdm_160, l_datetime_0);
    اريد التعديل عليها بحيث تقوم بوضع الاوردرات على 3 ازواج دفعه واحده فاين اكتب اسم الازوج ؟
    ستكتب إسم الأزواج بدلا من الدالة
    كود PHP:
    Symbol() 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  8. #9458
    تاريخ التسجيل
    May 2007
    الإقامة
    السعودية
    المشاركات
    809

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    نعم كتابة الكودين صحيح
    بالنسبه للشروط فستكون
    كود PHP:
    if(open_15<day_open&&close_15>day_open)
    {
     

    ساجربها وشكرا لك

  9. #9459
    تاريخ التسجيل
    May 2007
    الإقامة
    السعودية
    المشاركات
    809

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    نعم كتابة الكودين صحيح
    بالنسبه للشروط فستكون
    كود PHP:
    if(open_15<day_open&&close_15>day_open)
    {
     

    رغم اني كتبت الاكواد صحيحه لكن لم يضبط معي ساكتب موضوع مستقل اطلب فيه المؤشر واذا تكرمت عمله اذا لم يكن لديك مانع

  10. #9460
    تاريخ التسجيل
    May 2010
    الإقامة
    القاهره
    المشاركات
    1,753

    افتراضي

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

    عاوز اضف كمان سطر يقفل على لوس بالدولار

    يعنى بروقيت 100 مثلا
    او لوس سالب 100

    كود:
    //+------------------------------------------------------------------+
    //|                                       CloseAllOrdersIfProfit.mq4 |
    //|                                    Copyright © 2007, fxtrader625 |
    //|                                  http://www.forexampletrades.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright © 2007, fxtrader625"
    #property link      "http://www.forexampletrades.com"
    
    //---- input parameters
    extern int       TotalProfitLimit = 100;
    
    int start()
    {
       // Close all trades if profit limit exceeded
       if (AccountProfit() >= TotalProfitLimit)
       {
          for (int i = OrdersTotal(); i > 0; i--)
          {
             OrderSelect(i-1,SELECT_BY_POS,MODE_TRADES);
             if (OrderType() == OP_BUY)
             {
                OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3);
             }
             else if (OrderType() == OP_SELL)
             {
                OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3);
             }
             else if (OrderType() >= 2)
             {
                OrderDelete(OrderTicket());
             }
          }
       }
       
       return(0);
    }
    //+------------------------------------------------------------------+

  11. #9461
    تاريخ التسجيل
    May 2018
    الإقامة
    مصر
    المشاركات
    11

    افتراضي

    سلام عليكم يا استاذ اسامة
    انا بعتذر لحضرتك وانا بطلب منك الطلب دة وحضرتك قرات قبل كدة موضوعي وقلتلي ان دة مش مكانة بس اعمل اية ياريت حضرتك تساعدني بعد ربنا سبحانة وتعالي

    اكسبرت Opposite Multiplier EA V4.4
    مظبوط ربنا يبارك فيك
    اطلب من حضرتك تضيفلة حاجة واحدة فقط
    الاوامر المعلقة وانا وضحت بالصورة

    نضع هنا السعر المراد يبدأ عندة الاكسبرت ...........start at price
    هنا نوعية اول امر لكن لو تركت السعر فارغ ودخلت بالامر بيع مباشر يبدا في الحال start with -pending buy
    buy now-
    pending sell-
    sell now-

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

    الاســـم:	ff.jpg
المشاهدات: 10
الحجـــم:	12.3 كيلوبايتالاســـم:	ff.jpg
المشاهدات: 10
الحجـــم:	12.3 كيلوبايت
    آخر تعديل بواسطة mhmd3ezz ، اليوم الساعة 12:28 AM

  12. #9462
    تاريخ التسجيل
    Nov 2017
    الإقامة
    السعودية
    المشاركات
    75

    افتراضي

    السلام عليكم مستر دولار
    ما الخطاء في هذا الكود
    اضغط على الصورة لعرض أكبر

الاســـم:	1.JPG
المشاهدات:	2
الحجـــم:	102.6 كيلوبايت
الرقم:	506929
    كود PHP:
    int SymbolNumber()
    {
          
    string S;
          for (
    int i0<= OrdersTotal(); i++)
      {
          
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
          if(
    OrderSymbol()!= S)
      {
          
    N++; SOrderSymbol();
      }
     }
          return(
    N);

    بارك الله فيك

  13. #9463
    تاريخ التسجيل
    Oct 2015
    الإقامة
    السعودية
    المشاركات
    295

    افتراضي

    السلام عليكم
    استاذنا مستر دولار
    1- لدي موشر في داخله متغير دبل هل استطيع استدعاءه في اكسبيرت موجود على نفس الشارت
    2- هل استطيع استدعاء من نوع string ايضا
    3- لدي موشر يضهر رقم على الشارت ككومنت هل استطيع استدعاءهذا الرقم في اكسبيرت موجود على نفس الشارت

    شاكر لك مقدما
    آخر تعديل بواسطة السمحان ، اليوم الساعة 08:53 PM

صفحة 631 من 631 الأولىالأولى ... 131531581621625626627628629630631

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

  1. موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
    By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 10
    آخر مشاركة: 03-08-2012, 06:54 PM
  2. عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
    By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملات
    مشاركات: 280
    آخر مشاركة: 27-08-2009, 10:30 PM

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