Скачать MetaTrader 5

Расчет текущей просадки по отдельной паре

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Они уже зарабатывают на своих сигналах. Опубликуй и ты свой!
Roman Meskhidze
448
Roman Meskhidze 2016.08.31 06:52 

Коллеги, глаз замылился не вижу где ошибка, прошу помощи

 

double CurentDD()
{
   double profit = 0;
   double dd = 0;
   
   for (int i=OrdersTotal()-1; i >= 0; i--)
   {
      if (OrderSelect(i,SELECT_BY_POS)) 
      {
         if (OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
         {
            profit += OrderTakeProfit();
         }
      }
   }
   
   dd = profit / (AccountBalance()/100);
   
   return(dd);
}
Alexander Bereznyak
21476
Alexander Bereznyak 2016.08.31 08:41  
вместо OrderTakeProfit() поставить OrderProfit()+OrderCommission()+OrderSwap()
Aleksey Lebedev
6057
Aleksey Lebedev 2016.08.31 09:39  

Наверно умножить на 100.

AccountBalance() желательно проверить перед делением, как-то так:

   double Balance=AccountBalance();
   if(Balance!=0.0) dd=100.0*profit/Balance;
   else return(EMPTY_VALUE);
Roman Meskhidze
448
Roman Meskhidze 2016.08.31 11:54  
Alexander Bereznyak:
вместо OrderTakeProfit() поставить OrderProfit()+OrderCommission()+OrderSwap()

Александр, вот оно! Вы поймали проблему!

Спасибо большое! 

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий