
05-01-2014, 03:31 PM
|
|
رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 |
 |
|
 |
|
،،،وعليكم السلام ورحمة الله وبركاتة،،،
،،،اولا سوف تحتاج الى دالة لمعرفة اكبر ربح موجود،،،
كود:
double MaxProfit()
{
for(int i = OrdersTotal() - 1; i >= 0; i--)
{
if( OrderSelect(i, SELECT_BY_POS) && OrderMagicNumber()== MagicNumber && OrderSymbol()== Symbol() )
{
if( iBarShift(NULL,0,OrderOpenTime(),false) > 1 )
{
double Max_Profit = MathMax(Max_Profit,OrderProfit() );
}
else
{
Max_Profit = OrderProfit();
}
}
}
return(Max_Profit);
}
،،،بعد ذلك تحتاج الى دالة تقوم بالمرور على الصفقات واختيار صفقة واحدة ربحها اكبر من او يساوى اعلى ربح وتقوم باغلاقها،،،
كود:
void CloseMaxProfit()
{
int ticket;
double profit = MaxProfit();
for (int i =1 ;i>0;i--)
{
for (int x = OrdersTotal()-1;x>0;x--)
{
OrderSelect(x,SELECT_BY_POS);
if (OrderProfit() >= profit) ticket = OrderTicket();
}
OrderSelect(ticket,SELECT_BY_TICKET);
if (OrderType() == OP_BUY)
OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),NULL);
if (OrderType() == OP_SELL)
OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),NULL);
}
}
|
|
 |
|
 |
جزاك الله تعالى خيرا استاذى اسلام
الكود اللى كتبته حضرتك هذا فى حاله اغلاق اكبر صفقه رابحه ..
وأريد ايضا كود لاغلاق اقل صفقه رابحه فى الحجم ..؟
|