صفحة 458 من 689 الأولىالأولى ... 358408448452453454455456457458459460461462463464468508558 ... الأخيرةالأخيرة
النتائج 6,856 إلى 6,870 من 10335
  1. #6856
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,864

    افتراضي

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

  2. #6857
    الصورة الرمزية reki carrillo
    reki carrillo غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2015
    الإقامة
    الجزائر
    المشاركات
    33

    افتراضي

    السلام عليكم حمة الله
    أرجو من المشرف الاستاذ الفاضل MR.dollar ان يشرح لي هذا كود .
    void OpenBUYOrder(double Lots,int Magic)
    {
    double sl,tp;

    sl=Ask-StopLoss*Point;
    tp=Ask+TakeProfit*Point;

    if(Lots==FirstLots && hour>=StartTime && hour<=EndTime)
    {
    Ticket1=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,sl,tp ,"",Magic,0,Green);
    if(Ticket1>0)
    {
    gT1=OrderSend(Symbol(),OP_SELLSTOP,Lots,sl,3,sl+St opLoss*Point,sl-TakeProfit*Point,"",Magic,0,Green);
    gT2=OrderSend(Symbol(),OP_SELLSTOP,Lots,sl,3,sl+St opLoss*Point,sl-(TakeProfit*Point),"",Magic,0,Green);
    }
    else
    {
    Alert("&#206;&#216;&#195; &#212;&#209;&#199;&#193; "," Err = ",GetLastError()," Price = ",Ask," Lots = ",Lots);
    }
    }
    }

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة reki carrillo مشاهدة المشاركة
    السلام عليكم حمة الله
    أرجو من المشرف الاستاذ الفاضل MR.dollar ان يشرح لي هذا كود .
    void OpenBUYOrder(double Lots,int Magic)
    {
    double sl,tp;

    sl=Ask-StopLoss*Point;
    tp=Ask+TakeProfit*Point;

    if(Lots==FirstLots && hour>=StartTime && hour<=EndTime)
    {
    Ticket1=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,sl,tp ,"",Magic,0,Green);
    if(Ticket1>0)
    {
    gT1=OrderSend(Symbol(),OP_SELLSTOP,Lots,sl,3,sl+St opLoss*Point,sl-TakeProfit*Point,"",Magic,0,Green);
    gT2=OrderSend(Symbol(),OP_SELLSTOP,Lots,sl,3,sl+St opLoss*Point,sl-(TakeProfit*Point),"",Magic,0,Green);
    }
    else
    {
    Alert("&#206;&#216;&#195; &#212;&#209;&#199;&#193; "," Err = ",GetLastError()," Price = ",Ask," Lots = ",Lots);
    }
    }
    }
    وعليكم السلام ورحمة الله وبركاته
    تقوم بفتح أمر شراء ووضع أمرين بيع معلقين
    من إعدادات الداله تضع حجم اللوت ورقم الماجيك نمبر للأوامر
    كود PHP:
    OpenBUYOrder(double Lots,int Magic
    ثم من شروط الدالة
    إذا كان حجم اللوت المحدد يساوي قيمه FirstLot وكان التوقيت الحالي ضمن بداية ونهاية توقيت عمل الإكسبرت يتم فتح أمر الشراء
    كود PHP:
    if(Lots==FirstLots && hour>=StartTime && hour<=EndTime
    ثم وضع أمرين البيع المعلقين إذا فتح أمر الشراء بشكل صحيح
    كود PHP:
    if(Ticket1>0)
    {
    gT1=OrderSend(Symbol(),OP_SELLSTOP,Lots,sl,3,sl+St opLoss*Point,sl-TakeProfit*Point,"",Magic,0,Green);
    gT2=OrderSend(Symbol(),OP_SELLSTOP,Lots,sl,3,sl+St opLoss*Point,sl-(TakeProfit*Point),"",Magic,0,Green);

    إذا لم يحدث تظهر تنبيه برسالة الخطأ

  4. #6859
    الصورة الرمزية reki carrillo
    reki carrillo غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2015
    الإقامة
    الجزائر
    المشاركات
    33

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    تقوم بفتح أمر شراء ووضع أمرين بيع معلقين
    من إعدادات الداله تضع حجم اللوت ورقم الماجيك نمبر للأوامر
    كود PHP:
    OpenBUYOrder(double Lots,int Magic
    ثم من شروط الدالة
    إذا كان حجم اللوت المحدد يساوي قيمه FirstLot وكان التوقيت الحالي ضمن بداية ونهاية توقيت عمل الإكسبرت يتم فتح أمر الشراء
    كود PHP:
    if(Lots==FirstLots && hour>=StartTime && hour<=EndTime
    ثم وضع أمرين البيع المعلقين إذا فتح أمر الشراء بشكل صحيح
    كود PHP:
    if(Ticket1>0)
    {
    gT1=OrderSend(Symbol(),OP_SELLSTOP,Lots,sl,3,sl+St opLoss*Point,sl-TakeProfit*Point,"",Magic,0,Green);
    gT2=OrderSend(Symbol(),OP_SELLSTOP,Lots,sl,3,sl+St opLoss*Point,sl-(TakeProfit*Point),"",Magic,0,Green);

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

  5. #6860
    الصورة الرمزية hre007
    hre007 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2007
    العمر
    54
    المشاركات
    726

    افتراضي

    السلام عليكم اخوتي الاعزاء
    هناك عدة صفقات مفتوحة شراء مثلا فأريد دالة تعود برقم العملية التي ربحها موجب للشراء
    فكيف اكتب تلك الدالة .. وماذا لو اردت ان تكون الدالة لمعرفة ربح كل صفقات الشراء المفتوحة هل هي موجب ام سالب ؟؟
    وجزاكم الله كل خير
    آخر تعديل بواسطة hre007 ، 02-11-2015 الساعة 06:33 PM

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة hre007 مشاهدة المشاركة
    السلام عليكم اخوتي الاعزاء
    هناك عدة صفقات مفتوحة شراء مثلا فأريد دالة تعود برقم العملية التي ربحها موجب للشراء
    فكيف اكتب تلك الدالة .. وماذا لو اردت ان تكون الدالة لمعرفة ربح كل صفقات الشراء المفتوحة هل هي موجب ام سالب ؟؟
    وجزاكم الله كل خير
    وعليكم السلام ورحمة الله وبركاته
    مثال دالة لمعرفة رقم العمليه المفتوحه الرابحه
    كود PHP:
    int OrderInProfitNum()
    {
     for(
    int i=OrdersTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==OP_BUY)
      {
       if(
    OrderProfit()>0)return(i);
      }
     }
     return(
    0);

    بنفس الفكره سوف تستخدم الدالة لمعرفة هل جميع الصفقات الشراء رابحه أو لأ
    مثال
    كود PHP:
    bool IsOrderInProfit()
    {
     for(
    int i=OrdersTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==OP_BUY)
      {
       if(
    OrderProfit()<0)return(false);
      }
     }
     return(
    true);

    الداله ستعود بالقيمه true إذا كانت جميع الصفقات رابحه أو false إذا كان أحد الصفقات خاسره

  7. #6862
    الصورة الرمزية صلاح الدين الفوركساوى
    صلاح الدين الفوركساوى غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2012
    الإقامة
    مصر
    المشاركات
    740

    افتراضي

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

    وان كان يمكن فكيف .؟؟

    وهل يمكن عمل باك تست له على شارت الرينكو ؟
    الملفات المرفقة الملفات المرفقة

  8. #6863
    الصورة الرمزية reki carrillo
    reki carrillo غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2015
    الإقامة
    الجزائر
    المشاركات
    33

    افتراضي

    السلام عليكم ورحمة الله وبركاته
    ارجو ان تكرمون بشرح لهذه كواد.....

    int LastClosedWiner()

    {
    int c=0;
    for(int i=OrdersHistoryTotal()-1;i>=0;i--)
    {
    bool select=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
    if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber && (OrderProfit()>0))
    {
    if(OrderType()==OP_BUY)
    c=1;
    else
    c=-1;
    }
    }
    return(c);
    }
    /////////////////////////////



    // &#199;&#225;&#230;&#217;&#237;&#221;&#201; &#199;&#225;&#209;&#198;&#237;&#211;&#237;&#201 ;
    int Procces_1()
    {
    double slot,ssl,stp,bw;
    // &#221;&#237; &#205;&#199;&#225; &#225;&#199; &#237;&#230;&#204;&#207; &#213;&#221;&#222;&#199;&#202; &#205;&#199;&#225;&#237;&#201; &#230;&#223;&#199;&#228; &#229;&#228;&#199;&#223; &#213;&#221;&#222;&#199;&#202; &#227;&#218;&#225;&#222;&#201; &#221;&#199;&#205;&#208;&#221;&#229;&#199; &#225;&#195;&#228;&#229; &#225;&#199; &#207;&#199;&#218;&#237; &#225;&#229;&#199;
    if(MyRealOrdersTotal(MagicNumber)==0 && MyPendingOrdersTotal(MagicNumber)==2)
    {
    DeletePendingOrders(MagicNumber);
    return(0);
    }
    // &#221;&#237; &#205;&#199;&#225; &#225;&#199; &#237;&#230;&#204;&#207; &#213;&#221;&#222;&#199;&#202; &#205;&#199;&#225;&#237;&#201; &#195;&#230; &#213;&#221;&#222;&#199;&#202; &#227;&#218;&#225;&#222;&#201; &#221;&#222;&#227; &#200;&#221;&#202;&#205; &#213;&#221;&#222;&#201; &#200;&#237;&#218; &#195;&#230; &#213;&#221;&#222;&#201; &#212;&#209;&#199;&#193; &#205;&#211;&#200; &#209;&#219;&#200;&#201; &#199;&#225;&#227;&#211;&#202;&#206;&#207;&#227 ;
    if(MyRealOrdersTotal(MagicNumber)==0 && MyPendingOrdersTotal(MagicNumber)==0 && hour>=StartTime && hour<=EndTime && winAndStop==false)
    {
    if(OpenWinerAgain==false)
    {
    if(OpenBuy)
    {
    OpenBUYOrder(FirstLots,MagicNumber);
    }
    else
    {
    OpenSELLOrder(FirstLots,MagicNumber);
    }
    return(0);
    }

    else
    {

    if(LastClosedWiner()==1)
    {
    OpenBUYOrder(FirstLots,MagicNumber);
    }
    else
    {
    OpenSELLOrder(FirstLots,MagicNumber);
    }
    return(0);
    }

    }
    // &#221;&#237; &#205;&#199;&#225; &#202;&#227; &#221;&#202;&#205; &#213;&#221;&#222;&#201; &#200;&#237;&#218; &#195;&#230; &#212;&#209;&#199;&#193; &#237;&#204;&#200; &#230;&#214;&#218; &#213;&#221;&#222;&#199;&#202; &#227;&#218;&#225;&#222;&#201; &#227;&#218;&#199;&#223;&#211;&#201; &#225;&#229;&#199; &#228;&#230;&#218;&#199; &#230;&#199;&#202;&#204;&#199;&#229;&#199;
    if(MyRealOrdersTotal(MagicNumber)==2 && MyPendingOrdersTotal(MagicNumber)==0)
    {
    OrderSelect(t1,SELECT_BY_TICKET,MODE_TRADES);
    slot=OrderLots()*LotsDouble;
    ssl=OrderStopLoss();
    stp=OrderTakeProfit();

    if(OrderType()==OP_BUY && slot<Maxlot)
    {
    gT1=OrderSend(Symbol(),OP_SELLSTOP,slot,ssl,3,ssl+ StopLoss*Point,ssl-TakeProfit*Point,"",MagicNumber,0,Green);
    gT2=OrderSend(Symbol(),OP_SELLSTOP,slot,ssl,3,ssl+ StopLoss*Point,ssl-(TakeProfit*Point),"",MagicNumber,0,Green);
    }
    if(OrderType()==OP_SELL && slot<Maxlot)
    {
    gT1=OrderSend(Symbol(),OP_BUYSTOP,slot,ssl,3,ssl-StopLoss*Point,ssl+TakeProfit*Point,"",MagicNumber ,0,Green);
    gT2=OrderSend(Symbol(),OP_BUYSTOP,slot,ssl,3,ssl-StopLoss*Point,ssl+(TakeProfit*Point),"",MagicNumb er,0,Green);
    }

    }
    return(0);
    }





    // &#230;&#217;&#237;&#221;&#201; &#225;&#205;&#211;&#199;&#200; &#218;&#207;&#207; &#199;&#225;&#213;&#221;&#222;&#199;&#202; &#199;&#225;&#205;&#199;&#225;&#237;&#201;
    int MyRealOrdersTotal(int Magic)
    {
    int c=0;
    int total=OrdersTotal();
    t1=-1;
    t2=-1;

    for(int cnt=0; cnt<total; cnt++)
    //+------------------------------------------------------------------+
    //| |
    //+------------------------------------------------------------------+
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if(OrderMagicNumber()==Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL))
    {
    if(t1==-1)
    {
    t1=OrderTicket();
    }
    else
    {
    if(t2==-1)
    {
    t2=OrderTicket();
    }
    }
    c++;
    }
    }
    return(c);
    }
    // &#230;&#217;&#237;&#221;&#201; &#225;&#205;&#211;&#199;&#200; &#218;&#207;&#207; &#199;&#225;&#213;&#221;&#222;&#199;&#202; &#199;&#225;&#227;&#218;&#225;&#222;&#201; &#221;&#222;&#216;
    int MyPendingOrdersTotal(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_SELLSTOP))
    {
    c++;
    }
    }
    return(c);
    }
    // &#230;&#217;&#237;&#221;&#201; &#225;&#205;&#208;&#221; &#199;&#225;&#213;&#221;&#222;&#199;&#202; &#199;&#225;&#227;&#218;&#225;&#222;&#201;
    int DeletePendingOrders(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_SELLSTOP))
    {
    OrderDelete(OrderTicket());
    }
    }
    return(0);
    }
    //+------------------------------------------------------------------+

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

    افتراضي

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

    وان كان يمكن فكيف .؟؟

    وهل يمكن عمل باك تست له على شارت الرينكو ؟
    نعم سيعمل بدون مشاكل
    يجب أن يكون لديك شارت الرينكو ويكون لايف على الميتاتريدر حتى يعمل, يمكنك إستخدام الإكسبرت المرفق لعمل شارت الرينكو
    بالنسبه للباك تست قرأت بعض المواضيع التي تتكلم عن إمكانية عمل باك تست لشارت الرينكو لكن لم أجرب أحد هذه الطرق سابقا وأعتقد أنها لن تعطي نتائج دقيقه حتى إذا أمكن عملها
    الملفات المرفقة الملفات المرفقة

  10. #6865
    الصورة الرمزية hre007
    hre007 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2007
    العمر
    54
    المشاركات
    726

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    مثال دالة لمعرفة رقم العمليه المفتوحه الرابحه
    كود PHP:
    int OrderInProfitNum()
    {
     for(
    int i=OrdersTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==OP_BUY)
      {
       if(
    OrderProfit()>0)return(i);
      }
     }
     return(
    0);

    بنفس الفكره سوف تستخدم الدالة لمعرفة هل جميع الصفقات الشراء رابحه أو لأ
    مثال
    كود PHP:
    bool IsOrderInProfit()
    {
     for(
    int i=OrdersTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==OP_BUY)
      {
       if(
    OrderProfit()<0)return(false);
      }
     }
     return(
    true);

    الداله ستعود بالقيمه true إذا كانت جميع الصفقات رابحه أو false إذا كان أحد الصفقات خاسره
    شكرا على ردك الكريم اخي العزيز مستر دولار
    طبقت الدالة وهي تعمل رغم وجود التحذير الاتي
    return value of 'OrderSelect' should be checked -------.mq4 193 3
    والذي لا اعرف معناه تحديدا
    .. ولكن وجدت ان هناك خطأ بطريقة تفكيري من الاساس
    ولنفرض مثلا اني افتح شراء مع كل تقاطع ايجابي على الموفتج .. وعند وجود عدة صفقات مفتوحة خاسرة ثم التقاطع الاخير اعطي ربح ولنفترض للصفقة الاخيرة والقبل الاخيرة فانا اريد ان مع التقاطع العكسي ينظر للصفقات الرابحة فقط ويغلقها دون الصفقات الخاسرة
    وانا اعطيت الامر كالتالي
    كود PHP:
    if ( ma2>ma4 && ma1ma3 && OrderInProfitNum(OP_BUY)>Close_Type(OP_BUY); 
    وبالتالي مع التقاطع العكسي ووجود صفقة رابحة فهو يغلق جميع الصفقات المفتوحة بصرف النظر عن كونها رابحة ام خاسرة !!!
    فما هو الحل يا استاذي الكريم بارك الله فيك

  11. #6866
    الصورة الرمزية صلاح الدين الفوركساوى
    صلاح الدين الفوركساوى غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2012
    الإقامة
    مصر
    المشاركات
    740

    افتراضي

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

    فعلت الاكسبيرت ولكن الاكسبيرت الاخر لم يفتح ولا صفقة وظهرت ايضا ظهرت لى هذه الرسالة فى رسايل Experts

    2015.11.06 17:05:27.015 renkolivecharts_pimped_v4_13 EURUSD,M5: Error: Dll calls must be allowed!


    لا اعرف ماهو السبب مع انى مفعل خيار ال DLL ؟
    آخر تعديل بواسطة صلاح الدين الفوركساوى ، 06-11-2015 الساعة 06:35 PM

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة reki carrillo مشاهدة المشاركة
    السلام عليكم ورحمة الله وبركاته
    ارجو ان تكرمون بشرح لهذه كواد.....

    int LastClosedWiner()

    {
    int c=0;
    for(int i=OrdersHistoryTotal()-1;i>=0;i--)
    {
    bool select=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
    if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber && (OrderProfit()>0))
    {
    if(OrderType()==OP_BUY)
    c=1;
    else
    c=-1;
    }
    }
    return(c);
    }
    /////////////////////////////



    // &#199;&#225;&#230;&#217;&#237;&#221;&#201; &#199;&#225;&#209;&#198;&#237;&#211;&#237;&#201 ;
    int Procces_1()
    {
    double slot,ssl,stp,bw;
    // &#221;&#237; &#205;&#199;&#225; &#225;&#199; &#237;&#230;&#204;&#207; &#213;&#221;&#222;&#199;&#202; &#205;&#199;&#225;&#237;&#201; &#230;&#223;&#199;&#228; &#229;&#228;&#199;&#223; &#213;&#221;&#222;&#199;&#202; &#227;&#218;&#225;&#222;&#201; &#221;&#199;&#205;&#208;&#221;&#229;&#199; &#225;&#195;&#228;&#229; &#225;&#199; &#207;&#199;&#218;&#237; &#225;&#229;&#199;
    if(MyRealOrdersTotal(MagicNumber)==0 && MyPendingOrdersTotal(MagicNumber)==2)
    {
    DeletePendingOrders(MagicNumber);
    return(0);
    }
    // &#221;&#237; &#205;&#199;&#225; &#225;&#199; &#237;&#230;&#204;&#207; &#213;&#221;&#222;&#199;&#202; &#205;&#199;&#225;&#237;&#201; &#195;&#230; &#213;&#221;&#222;&#199;&#202; &#227;&#218;&#225;&#222;&#201; &#221;&#222;&#227; &#200;&#221;&#202;&#205; &#213;&#221;&#222;&#201; &#200;&#237;&#218; &#195;&#230; &#213;&#221;&#222;&#201; &#212;&#209;&#199;&#193; &#205;&#211;&#200; &#209;&#219;&#200;&#201; &#199;&#225;&#227;&#211;&#202;&#206;&#207;&#227 ;
    if(MyRealOrdersTotal(MagicNumber)==0 && MyPendingOrdersTotal(MagicNumber)==0 && hour>=StartTime && hour<=EndTime && winAndStop==false)
    {
    if(OpenWinerAgain==false)
    {
    if(OpenBuy)
    {
    OpenBUYOrder(FirstLots,MagicNumber);
    }
    else
    {
    OpenSELLOrder(FirstLots,MagicNumber);
    }
    return(0);
    }

    else
    {

    if(LastClosedWiner()==1)
    {
    OpenBUYOrder(FirstLots,MagicNumber);
    }
    else
    {
    OpenSELLOrder(FirstLots,MagicNumber);
    }
    return(0);
    }

    }
    // &#221;&#237; &#205;&#199;&#225; &#202;&#227; &#221;&#202;&#205; &#213;&#221;&#222;&#201; &#200;&#237;&#218; &#195;&#230; &#212;&#209;&#199;&#193; &#237;&#204;&#200; &#230;&#214;&#218; &#213;&#221;&#222;&#199;&#202; &#227;&#218;&#225;&#222;&#201; &#227;&#218;&#199;&#223;&#211;&#201; &#225;&#229;&#199; &#228;&#230;&#218;&#199; &#230;&#199;&#202;&#204;&#199;&#229;&#199;
    if(MyRealOrdersTotal(MagicNumber)==2 && MyPendingOrdersTotal(MagicNumber)==0)
    {
    OrderSelect(t1,SELECT_BY_TICKET,MODE_TRADES);
    slot=OrderLots()*LotsDouble;
    ssl=OrderStopLoss();
    stp=OrderTakeProfit();

    if(OrderType()==OP_BUY && slot<Maxlot)
    {
    gT1=OrderSend(Symbol(),OP_SELLSTOP,slot,ssl,3,ssl+ StopLoss*Point,ssl-TakeProfit*Point,"",MagicNumber,0,Green);
    gT2=OrderSend(Symbol(),OP_SELLSTOP,slot,ssl,3,ssl+ StopLoss*Point,ssl-(TakeProfit*Point),"",MagicNumber,0,Green);
    }
    if(OrderType()==OP_SELL && slot<Maxlot)
    {
    gT1=OrderSend(Symbol(),OP_BUYSTOP,slot,ssl,3,ssl-StopLoss*Point,ssl+TakeProfit*Point,"",MagicNumber ,0,Green);
    gT2=OrderSend(Symbol(),OP_BUYSTOP,slot,ssl,3,ssl-StopLoss*Point,ssl+(TakeProfit*Point),"",MagicNumb er,0,Green);
    }

    }
    return(0);
    }





    // &#230;&#217;&#237;&#221;&#201; &#225;&#205;&#211;&#199;&#200; &#218;&#207;&#207; &#199;&#225;&#213;&#221;&#222;&#199;&#202; &#199;&#225;&#205;&#199;&#225;&#237;&#201;
    int MyRealOrdersTotal(int Magic)
    {
    int c=0;
    int total=OrdersTotal();
    t1=-1;
    t2=-1;

    for(int cnt=0; cnt<total; cnt++)
    //+------------------------------------------------------------------+
    //| |
    //+------------------------------------------------------------------+
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if(OrderMagicNumber()==Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL))
    {
    if(t1==-1)
    {
    t1=OrderTicket();
    }
    else
    {
    if(t2==-1)
    {
    t2=OrderTicket();
    }
    }
    c++;
    }
    }
    return(c);
    }
    // &#230;&#217;&#237;&#221;&#201; &#225;&#205;&#211;&#199;&#200; &#218;&#207;&#207; &#199;&#225;&#213;&#221;&#222;&#199;&#202; &#199;&#225;&#227;&#218;&#225;&#222;&#201; &#221;&#222;&#216;
    int MyPendingOrdersTotal(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_SELLSTOP))
    {
    c++;
    }
    }
    return(c);
    }
    // &#230;&#217;&#237;&#221;&#201; &#225;&#205;&#208;&#221; &#199;&#225;&#213;&#221;&#222;&#199;&#202; &#199;&#225;&#227;&#218;&#225;&#222;&#201;
    int DeletePendingOrders(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_SELLSTOP))
    {
    OrderDelete(OrderTicket());
    }
    }
    return(0);
    }
    //+------------------------------------------------------------------+
    وعليكم السلام ورحمة الله وبركاته
    الداله الأول LastClosedWiner تقوم بمعرفة نوع آخر صفقه أغلقت هل هي بيع أو شراء
    فإذا كانت شراء تعود بالقيمه رقم 1 وإذا كانت بيع تعود بالقيمه رقم -1
    الداله DeletePendingOrders تقوم بحذف الأوامر المعلقه
    الداله MyPendingOrdersTotal تحسب مجموع الأوامر المعلقه المفتوحه
    الداله MyRealOrdersTotal تحسب مجموع الأوامر المفعله

    الداله Procces_1
    كود PHP:
    if(MyRealOrdersTotal(MagicNumber)==&& MyPendingOrdersTotal(MagicNumber)==2)
    {
    DeletePendingOrders(MagicNumber);
    return(
    0);

    في البداية يقارن إذا كان مجموع الأوامر المعلقه 2 والأوامر المفعله 0 يقوم بحذف جميع الأوامر المعلقه
    كود PHP:
    if(MyRealOrdersTotal(MagicNumber)==&& MyPendingOrdersTotal(MagicNumber)==&& hour>=StartTime && hour<=EndTime && winAndStop==false
    بعد حذف الأوامر المعلقه إذا كان مجموع الأوامر المعلقه والمفعله 0 وتوقيت عمل الإكسبرت بين التوقيت المحدد يتحقق الشرط ويبدأ في تنفيذ الصفقات
    كود PHP:
    if(OpenBuy)
    {
    OpenBUYOrder(FirstLots,MagicNumber);
    }
    else
    {
    OpenSELLOrder(FirstLots,MagicNumber);

    إذا تم تحديد الإعدادات بفتح أمر شراء فيتم فتح الأمروإلا يتم فتح البيع
    كود PHP:
    if(LastClosedWiner()==1)
    {
    OpenBUYOrder(FirstLots,MagicNumber);
    }
    else
    {
    OpenSELLOrder(FirstLots,MagicNumber);

    إذا كان آخر صفقة رابحه أغلقت شراء فيتم فتح أمر شراء وإذا كانت بيع فيتم فتح أمر بيع
    كود PHP:
    if(MyRealOrdersTotal(MagicNumber)==&& MyPendingOrdersTotal(MagicNumber)==0)
    {
    OrderSelect(t1,SELECT_BY_TICKET,MODE_TRADES);
    slot=OrderLots()*LotsDouble;
    ssl=OrderStopLoss();
    stp=OrderTakeProfit();

    if(
    OrderType()==OP_BUY && slot<Maxlot)
    {
    gT1=OrderSend(Symbol(),OP_SELLSTOP,slot,ssl,3,sslStopLoss*Point,ssl-TakeProfit*Point,"",MagicNumber,0,Green);
    gT2=OrderSend(Symbol(),OP_SELLSTOP,slot,ssl,3,sslStopLoss*Point,ssl-(TakeProfit*Point),"",MagicNumber,0,Green);
    }
    if(
    OrderType()==OP_SELL && slot<Maxlot)
    {
    gT1=OrderSend(Symbol(),OP_BUYSTOP,slot,ssl,3,ssl-StopLoss*Point,ssl+TakeProfit*Point,"",MagicNumber ,0,Green);
    gT2=OrderSend(Symbol(),OP_BUYSTOP,slot,ssl,3,ssl-StopLoss*Point,ssl+(TakeProfit*Point),"",MagicNumb er,0,Green);
    }

    }
    return(
    0);

    إذا كان عدد الأوامر المفتوحه 2 وعدد الأوامر المعلقه 0 فيتم وضع الأوامر المعلقه العكسيه

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة hre007 مشاهدة المشاركة
    شكرا على ردك الكريم اخي العزيز مستر دولار
    طبقت الدالة وهي تعمل رغم وجود التحذير الاتي
    return value of 'OrderSelect' should be checked -------.mq4 193 3
    والذي لا اعرف معناه تحديدا
    .. ولكن وجدت ان هناك خطأ بطريقة تفكيري من الاساس
    ولنفرض مثلا اني افتح شراء مع كل تقاطع ايجابي على الموفتج .. وعند وجود عدة صفقات مفتوحة خاسرة ثم التقاطع الاخير اعطي ربح ولنفترض للصفقة الاخيرة والقبل الاخيرة فانا اريد ان مع التقاطع العكسي ينظر للصفقات الرابحة فقط ويغلقها دون الصفقات الخاسرة
    وانا اعطيت الامر كالتالي
    كود PHP:
    if ( ma2>ma4 && ma1ma3 && OrderInProfitNum(OP_BUY)>Close_Type(OP_BUY); 
    وبالتالي مع التقاطع العكسي ووجود صفقة رابحة فهو يغلق جميع الصفقات المفتوحة بصرف النظر عن كونها رابحة ام خاسرة !!!
    فما هو الحل يا استاذي الكريم بارك الله فيك
    ضع شرط إغلاق الصفقه الرابحه فقط في شروط دالة الإغلاق
    مثال
    كود PHP:
    void Close_Type_Profit(int type)
    {
      for (
    int cnt=OrdersTotal()-1;cnt>=0;cnt--)
      {
        
    bool select=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        
    int ticket=OrderTicket();
        
    double lots=OrderLots();
        
    int Otype=OrderType();
        
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()&&OrderType()==type&&OrderProfit()>0)
        {
           if (
    Otype==OP_BUY)
          {
           
    bool actionOrderClose(ticket,lots,NormalizeDouble(Bid,Digits),3*P);
            
          }
          if (
    Otype==OP_SELL)
          {
           
    actionOrderClose(ticket,lots,NormalizeDouble(Ask,Digits),3*P);
          }
        }
      }

    كود PHP:
     if ( ma2>ma4 && ma1ma3Close_Type_Profit(OP_BUY); 

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

    افتراضي

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

    فعلت الاكسبيرت ولكن الاكسبيرت الاخر لم يفتح ولا صفقة وظهرت ايضا ظهرت لى هذه الرسالة فى رسايل Experts

    2015.11.06 17:05:27.015 renkolivecharts_pimped_v4_13 EURUSD,M5: Error: Dll calls must be allowed!


    لا اعرف ماهو السبب مع انى مفعل خيار ال DLL ؟
    الإكسبرت لا يفتح صفقات لكن يقوم بعمل شارت الرينكو وتأكد أن شموع شارت الرينكو بعد فتح الشارت أنها تتحرك فإذا كانت تتحرك سوف يعمل الإكسبرت بدون مشاكل
    تأكد عند تفعيل الإكسبرت على الشارت أنك فعلت الخيار Allow DLL Imports من إعدادات الإكسبرت نفسه

  15. #6870
    الصورة الرمزية hre007
    hre007 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2007
    العمر
    54
    المشاركات
    726

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    ضع شرط إغلاق الصفقه الرابحه فقط في شروط دالة الإغلاق
    مثال
    كود PHP:
    void Close_Type_Profit(int type)
    {
      for (
    int cnt=OrdersTotal()-1;cnt>=0;cnt--)
      {
        
    bool select=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        
    int ticket=OrderTicket();
        
    double lots=OrderLots();
        
    int Otype=OrderType();
        
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()&&OrderType()==type&&OrderProfit()>0)
        {
           if (
    Otype==OP_BUY)
          {
           
    bool actionOrderClose(ticket,lots,NormalizeDouble(Bid,Digits),3*P);
            
          }
          if (
    Otype==OP_SELL)
          {
           
    actionOrderClose(ticket,lots,NormalizeDouble(Ask,Digits),3*P);
          }
        }
      }

    كود PHP:
     if ( ma2>ma4 && ma1ma3Close_Type_Profit(OP_BUY); 
    جزاك الله كل خير يا استاي
    بس هل التحذيرات الموجودة لن تؤثر على عمل الاكسبيرت ؟؟؟

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

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

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


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