صفحة 101 من 101 الأولىالأولى ... 519199100101
النتائج 1,001 إلى 1,008 من 1008

الموضوع: الموضوع المخصص للأسئلة البرمجية mql4

  1. #1001

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة fxover مشاهدة المشاركة
    لا اخي حسن اقصد مثلا هناك مؤشرات لا تعمل على الذهب فيقوم المبرمجون باضافه على الكود لتعمل مثل هذه الازواج
    وهي تسمى digits اي يقوم المؤشر اتوماتيكيا بالتكيف مع الارقام قبل الفاصله وبعدها بحيث يعطي نفس النتيجه على كل الازواج والمعادن والنفط
    نعم هذا هو المقصود دراسة الديجيت وعلاقته بقيمة البوينت الافتراضي وقيمة البوينت الحقيقية للزوج
    التعديل الأخير تم بواسطة kira-h ; 18-02-2018 الساعة 08:44 PM

  2. #1002
    عضو
    تاريخ التسجيل
    Apr 2017
    المشاركات
    104

    افتراضي

    سلام عليكم استاذ حسن انا عم استخدم هذا الكود لتعديل الامر المعلق
    كود PHP:
    //-----------------void pandingTringbuy2(int Magic ){for(int iii=0;iii<OrdersTotal();iii++){
    if(OrderSelect(iii,SELECT_BY_POS,MODE_TRADES)) string sy=OrderSymbol();  int    tk=OrderTicket(),         ot=OrderType(),         mn=OrderMagicNumber();  double op=OrderOpenPrice(),         sl=OrderStopLoss(),         tp=OrderTakeProfit();  double ppoint=MarketInfo(OrderSymbol(), MODE_POINT); double pBid=MarketInfo(OrderSymbol(), MODE_BID); double pAsk=MarketInfo(OrderSymbol(), MODE_ASK); {if(OrderType()==OP_BUYSTOP&&OrderMagicNumber() == Magic){        double Spread1=MarketInfo(Symbol(),MODE_SPREAD);      double prb=  Ask+(Limitpip*Point);    double SLB NormalizeDouble(prb-(Stoploss*point),Digits);    double TPB NormalizeDouble(prb+(Takeprofit*point),Digits);if(Ask+(Limitpip*Point)<op){bool buy=OrderModify(tk,prb,SLB,TPB,0,Red);}}}}} 
    في خانة الجورنال يظهر لي هذا الخطاء OrderModify error 1
    شو هوه سبب هاد الخطاء وشكرا يعني في الكود هل يوجد خطاء

  3. #1003
    عضو جديد
    تاريخ التسجيل
    Apr 2017
    الدولة
    Syria
    المشاركات
    66

    افتراضي

    السلام عليكم
    ممكن المساعدة في تنفيذ التالي :

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

  4. #1004
    عضو جديد
    تاريخ التسجيل
    Apr 2017
    الدولة
    Syria
    المشاركات
    66

    افتراضي

    السلام عليكم
    ممكن المساعدة في تنفيذ التالي :

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

  5. #1005

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة sal_moh85 مشاهدة المشاركة
    سلام عليكم استاذ حسن انا عم استخدم هذا الكود لتعديل الامر المعلق
    كود PHP:
    //-----------------void pandingTringbuy2(int Magic ){for(int iii=0;iii<OrdersTotal();iii++){
    if(OrderSelect(iii,SELECT_BY_POS,MODE_TRADES)) string sy=OrderSymbol();  int    tk=OrderTicket(),         ot=OrderType(),         mn=OrderMagicNumber();  double op=OrderOpenPrice(),         sl=OrderStopLoss(),         tp=OrderTakeProfit();  double ppoint=MarketInfo(OrderSymbol(), MODE_POINT); double pBid=MarketInfo(OrderSymbol(), MODE_BID); double pAsk=MarketInfo(OrderSymbol(), MODE_ASK); {if(OrderType()==OP_BUYSTOP&&OrderMagicNumber() == Magic){        double Spread1=MarketInfo(Symbol(),MODE_SPREAD);      double prb=  Ask+(Limitpip*Point);    double SLB NormalizeDouble(prb-(Stoploss*point),Digits);    double TPB NormalizeDouble(prb+(Takeprofit*point),Digits);if(Ask+(Limitpip*Point)<op){bool buy=OrderModify(tk,prb,SLB,TPB,0,Red);}}}}} 
    في خانة الجورنال يظهر لي هذا الخطاء OrderModify error 1
    شو هوه سبب هاد الخطاء وشكرا يعني في الكود هل يوجد خطاء
    وعليكم السلام
    لا يمكن تعديل سعر افتتاح الاوامر سواء ماركت او معلقة

  6. #1006
    عضو
    تاريخ التسجيل
    Apr 2017
    المشاركات
    104

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة kira-h مشاهدة المشاركة
    وعليكم السلام
    لا يمكن تعديل سعر افتتاح الاوامر سواء ماركت او معلقة
    مشكور اخي على اجابتك بس الامر المعلق عم يتعدل سعر فتح صفقه وستوب وتك بروفت صح كلام الماركت خالص فتحت الصفقه
    شو معنها هاد الخطاء
    OrderModify error 1


  7. #1007

    افتراضي

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

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

  8. #1008

    افتراضي

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

    بعد تحقيق ربح معين يتم إغلاق نصف العقد ووضع الستوب على الدخول (تم تحقيقها )...المطلوب بعد أن يصبح الستوب على الدخول تتفعل دالة التريلنغ ستوب وكلما تحرك السعر باالإتجاه الرابح نقطة يرفع الستوب نقطة ......مع جزيل الشكر
    وعليكم السلام
    ستقوم بعمل دالة تحسب عدد الاغلاقات الجزئية للصفقة كالتالي :
    كود:
    int OrderCloseCount(double openprice,datetime opentime)
    {
     int closecount=0;
     int i=0;
     while(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
     {
      i++;
      if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo)
      {
       if(OrderOpenPrice()==openprice&&OrderOpenTime()==opentime)closecount++;
      }
     } 
     return(closecount);   
    }
    ثم الشروط بدالة منفصلة وتستدعيها بالدالة الرئيسية OnTick كالتالي :
    كود:
    void OnTick()
    {
     TrailingAfterClose();
    }
    void TrailingAfterClose()
    {
     for(int cnt=0;cnt<OrdersTotal();cnt++)
     {
      bool select=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
      string   sy=OrderSymbol();
      datetime ot=OrderOpenTime();
      double   op=OrderOpenPrice(),
               ol=OrderLots(),
               sl=OrderStopLoss(),
               tp=OrderTakeProfit();
      int      tk=OrderTicket(),
               ty=OrderType(),
               mn=OrderMagicNumber(),
               closecount=OrderCloseCount(op,ot);
      if(sy==Symbol()&&mn==MagicNo)
      {
       if(ty==OP_BUY)
       {
        if(closecount>0)
        {
         MoveTrailingStop(OP_BUY);
        }
       } 
       if(ty==OP_SELL)
       {
        if(closecount>0)
        {  
         MoveTrailingStop(OP_SELL);
        }
       } 
      }  
     }
    }
    بحيث دالة التريلينغ تصبح بدلالة النوع كالتالي :
    كود:
    void MoveTrailingStop(int type)
    {
     bool s,mod;
     for(int cnt=0;cnt<OrdersTotal();cnt++)
     {
      s=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
      string sy=OrderSymbol();
      int    tk=OrderTicket(),
             ot=OrderType(),
             mn=OrderMagicNumber();
      double op=OrderOpenPrice(),
             sl=OrderStopLoss(),
             tp=OrderTakeProfit();
      if(TrailingStop>0&&sy==Symbol()&&mn==MagicNo&&ot==type)
      {
       if(ot==OP_BUY)
       {
        if(NormalizeDouble(Ask-(TrailingStep*point),Digits)>NormalizeDouble((op+(TrailingStop*point)),Digits)) 
        {                 
         if((NormalizeDouble(sl,Digits)<NormalizeDouble(Bid-(TrailingStop*point),Digits))||(sl==0))
         {
          mod=OrderModify(tk,op,NormalizeDouble(Bid-(TrailingStop*point),Digits),tp,0,Blue);
         }
        }
       }
       else
       {
        if(NormalizeDouble(Bid+(TrailingStep*point),Digits)<NormalizeDouble((op-(TrailingStop*point)),Digits))  
        {                 
         if((NormalizeDouble(sl,Digits)>(NormalizeDouble(Ask+(TrailingStop*point),Digits)))||(sl==0))
         {
          mod=OrderModify(tk,op,NormalizeDouble(Ask+(TrailingStop*point),Digits),tp,0,Red);
         }
        }
       }
      }
     }
    }
    التعديل الأخير تم بواسطة kira-h ; يوم أمس الساعة 08:56 PM

صفحة 101 من 101 الأولىالأولى ... 519199100101

العلامات المرجعية

العلامات المرجعية

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •