عرض مشاركة واحدة
قديم 09-01-2014, 02:52 PM   المشاركة رقم: 217
الكاتب
اسلام العوامى
عضو ذهبى
الصورة الرمزية اسلام العوامى

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

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

كاتب الموضوع : اسلام العوامى المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

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

انا كنت اعمل بهذه الداله لاغلاق كل الصفقات الرابحه عندما يرتد السعر
كود:
void }CloseProfitOnly(int type)
{
 for(int i=OrdersTotal()-1;i>=0;i--)
 {
  OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
  if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
  {
   if(OrderType()==OP_BUY&&OrderProfit()>0)
   {
    OrderClose(OrderTicket(),OrderLots(),Bid,3*Q);
   }
   if(OrderType()==OP_SELL&&OrderProfit()>0)
   {
    OrderClose(OrderTicket(),OrderLots(),Ask,3*Q);
    
    
    
    
   }
  }
 }
}
فأذا وضعت امر الشراء

كود:
OrderSend(Symbol(),OP_Buy,Lot,Ask,3,0,0,"Sunegypt",MagicNumber,0);
كنت اضع تحتها مباشرة

كود:
CloseProfitOnly(OP_Sell);
واذا وضعت امر بيع

كود:
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Sunegypt",MagicNumber,0);
كنت اضع تحتها مباشرة

كود:
CloseProfitOnly(OP_Buy);
وكان بمجرد ان يفتح صفقه الشراء يغلق صفقات البيع الرابحه مباشرة

واذا فتح صفقه بيع يقوم بأغلاق صفقات الشراء الرابحه فقط مباشرة ايضا

ولكن هذا يسبب بعض الفجوات بين الايكوتى والرصيد الفعلى

فحاولت ان اغلق الصفقه الرابحه الاكبر حجما فقط لعلها تقلل من تلك الفجوة

أرجوا ان تكون فهمت ما أريد استاذى الحبيب اسلام

يعنى لو تم عمل الداله التى تغلق اكبر لوت رابح فقط

فسوف اضع اسم الداله فقط تحت امر الشراء والبيع وفقط


وبجد اسف انى بتقل على حضرتك استاذى الكريم
،،،فضلا قم بارفاق الاكسبيرت الذى تريد وضع الكود الجديد به،،،



التوقيع

عرض البوم صور اسلام العوامى  
رد مع اقتباس
  #217  
قديم 09-01-2014, 02:52 PM
اسلام العوامى اسلام العوامى غير متواجد حالياً
عضو ذهبى
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

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

انا كنت اعمل بهذه الداله لاغلاق كل الصفقات الرابحه عندما يرتد السعر
كود:
void }CloseProfitOnly(int type)
{
 for(int i=OrdersTotal()-1;i>=0;i--)
 {
  OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
  if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
  {
   if(OrderType()==OP_BUY&&OrderProfit()>0)
   {
    OrderClose(OrderTicket(),OrderLots(),Bid,3*Q);
   }
   if(OrderType()==OP_SELL&&OrderProfit()>0)
   {
    OrderClose(OrderTicket(),OrderLots(),Ask,3*Q);
    
    
    
    
   }
  }
 }
}
فأذا وضعت امر الشراء

كود:
OrderSend(Symbol(),OP_Buy,Lot,Ask,3,0,0,"Sunegypt",MagicNumber,0);
كنت اضع تحتها مباشرة

كود:
CloseProfitOnly(OP_Sell);
واذا وضعت امر بيع

كود:
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Sunegypt",MagicNumber,0);
كنت اضع تحتها مباشرة

كود:
CloseProfitOnly(OP_Buy);
وكان بمجرد ان يفتح صفقه الشراء يغلق صفقات البيع الرابحه مباشرة

واذا فتح صفقه بيع يقوم بأغلاق صفقات الشراء الرابحه فقط مباشرة ايضا

ولكن هذا يسبب بعض الفجوات بين الايكوتى والرصيد الفعلى

فحاولت ان اغلق الصفقه الرابحه الاكبر حجما فقط لعلها تقلل من تلك الفجوة

أرجوا ان تكون فهمت ما أريد استاذى الحبيب اسلام

يعنى لو تم عمل الداله التى تغلق اكبر لوت رابح فقط

فسوف اضع اسم الداله فقط تحت امر الشراء والبيع وفقط


وبجد اسف انى بتقل على حضرتك استاذى الكريم
،،،فضلا قم بارفاق الاكسبيرت الذى تريد وضع الكود الجديد به،،،




رد مع اقتباس