عرض مشاركة واحدة
قديم 05-01-2014, 03:31 PM   المشاركة رقم: 199
الكاتب
sunegypt
عضو جديد

البيانات
تاريخ التسجيل: May 2010
رقم العضوية: 112
العمر: 41
المشاركات: 141
بمعدل : 0.03 يوميا

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

كاتب الموضوع : اسلام العوامى المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة 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);    
            
                  
          }
       
  }

جزاك الله تعالى خيرا استاذى اسلام

الكود اللى كتبته حضرتك هذا فى حاله اغلاق اكبر صفقه رابحه ..

وأريد ايضا كود لاغلاق اقل صفقه رابحه فى الحجم ..؟



عرض البوم صور sunegypt  
رد مع اقتباس
  #199  
قديم 05-01-2014, 03:31 PM
sunegypt sunegypt غير متواجد حالياً
عضو جديد
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة 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);    
            
                  
          }
       
  }

جزاك الله تعالى خيرا استاذى اسلام

الكود اللى كتبته حضرتك هذا فى حاله اغلاق اكبر صفقه رابحه ..

وأريد ايضا كود لاغلاق اقل صفقه رابحه فى الحجم ..؟




رد مع اقتباس