عرض مشاركة واحدة
قديم 20-10-2016, 10:20 AM   المشاركة رقم: 10
الكاتب
اسلام العوامى
عضو ذهبى
الصورة الرمزية اسلام العوامى

البيانات
تاريخ التسجيل: Apr 2012
رقم العضوية: 9148
الدولة: alexandria - egypt
المشاركات: 6,086
بمعدل : 1.38 يوميا

الإتصالات
الحالة:
اسلام العوامى غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : shivaa المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: النجده جالى الغضروف بسبب الاكسبيرت مطلوب كود برمجى من استاذى اسلام العوامى

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

ده محولتى فى كتابه الداله
لم تعمل للسف


كود:
int  Hedge_Order_BUY(int type) 
  {int cnt2=0; 
   for(int i=0;i<OrdersTotal();i++) 
     { 
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) 
         if(OrderSymbol()==Symbol() && OrderType()==type && OrderStopLoss()<(Step_Hedge*Point*T)-Bid) 
            cnt2=OrderTicket(); 
     } 
     return(cnt2); 
    for(int ii=0;ii<OrdersTotal();ii++) 
     { 
      if(OrderSelect(ii,SELECT_BY_POS,MODE_TRADES)) 
        { 
         if(OrderSymbol()==Symbol() && OrderType()==OP_BUY && OrderComment()==cnt2) 
           { 
            if(cnt2==0) 
              { 
               bool buy=OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,cnt2,Magic,0,CLR_NONE); 

              } 
           } 
        } 

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

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

كود:
int Order_Ticket()

  int Ticket =0;
  int total  = OrdersTotal();
 
  for (int cnt = 0 ; cnt <= total ; cnt++)
  {
    if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
    if (OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderProfit()<0)
    {
    if (MathAbs((OrderOpenPrice()-Bid)/Point>=/*عدد النقاط الخاسرة*/) {Ticket=OrderTicket();}
    }
  }
  return(Ticket);
}
،،،ولكن لا يمكن التحكم في فتح صفقة برقم تيكت معين لان البروكر هو من يقوم باختيار الرقم،،،

،،،الكود الثاني يجب ان يتم برمجة ملف dll وتخزين القيم فيه ثم استدعاء الملف داخل الاكسبيرت وقراءة القيم منه،،،

،،،الكود الثالث يمكن معرفة ذلك عن طريق وضع متغير من النوع datetime وعند تفعيل الصفقة يتم تخزين الوقت الحالي في هذا المتغير ثم عمل وظيفة تقوم بمقارنة وقت افتتاح اخر صفقة بهذا الوقت وعند وجود فرق يتم تحديدة يقوم الاكسبيرت بتفعيل المضاعفات والكود التالي لمعرفة وقت افتتاح اخر صفقة،،،

كود:
 double Last_Order_Open_Time()
{
  datetime xd =0;
  int total  = OrdersTotal();
 
  for (int cnt = 0 ; cnt <= total ; cnt++)
  {
    if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
    if (OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
    {
    if (OrderOpenTime()>xd) {xd=OrderOpenTime();}
    }
  }
  return(xd);
}



التوقيع

عرض البوم صور اسلام العوامى  
رد مع اقتباس
  #10  
قديم 20-10-2016, 10:20 AM
اسلام العوامى اسلام العوامى غير متواجد حالياً
عضو ذهبى
افتراضي رد: النجده جالى الغضروف بسبب الاكسبيرت مطلوب كود برمجى من استاذى اسلام العوامى

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

ده محولتى فى كتابه الداله
لم تعمل للسف


كود:
int  Hedge_Order_BUY(int type) 
  {int cnt2=0; 
   for(int i=0;i<OrdersTotal();i++) 
     { 
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) 
         if(OrderSymbol()==Symbol() && OrderType()==type && OrderStopLoss()<(Step_Hedge*Point*T)-Bid) 
            cnt2=OrderTicket(); 
     } 
     return(cnt2); 
    for(int ii=0;ii<OrdersTotal();ii++) 
     { 
      if(OrderSelect(ii,SELECT_BY_POS,MODE_TRADES)) 
        { 
         if(OrderSymbol()==Symbol() && OrderType()==OP_BUY && OrderComment()==cnt2) 
           { 
            if(cnt2==0) 
              { 
               bool buy=OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,cnt2,Magic,0,CLR_NONE); 

              } 
           } 
        } 

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

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

كود:
int Order_Ticket()

  int Ticket =0;
  int total  = OrdersTotal();
 
  for (int cnt = 0 ; cnt <= total ; cnt++)
  {
    if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
    if (OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderProfit()<0)
    {
    if (MathAbs((OrderOpenPrice()-Bid)/Point>=/*عدد النقاط الخاسرة*/) {Ticket=OrderTicket();}
    }
  }
  return(Ticket);
}
،،،ولكن لا يمكن التحكم في فتح صفقة برقم تيكت معين لان البروكر هو من يقوم باختيار الرقم،،،

،،،الكود الثاني يجب ان يتم برمجة ملف dll وتخزين القيم فيه ثم استدعاء الملف داخل الاكسبيرت وقراءة القيم منه،،،

،،،الكود الثالث يمكن معرفة ذلك عن طريق وضع متغير من النوع datetime وعند تفعيل الصفقة يتم تخزين الوقت الحالي في هذا المتغير ثم عمل وظيفة تقوم بمقارنة وقت افتتاح اخر صفقة بهذا الوقت وعند وجود فرق يتم تحديدة يقوم الاكسبيرت بتفعيل المضاعفات والكود التالي لمعرفة وقت افتتاح اخر صفقة،،،

كود:
 double Last_Order_Open_Time()
{
  datetime xd =0;
  int total  = OrdersTotal();
 
  for (int cnt = 0 ; cnt <= total ; cnt++)
  {
    if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
    if (OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
    {
    if (OrderOpenTime()>xd) {xd=OrderOpenTime();}
    }
  }
  return(xd);
}




رد مع اقتباس