Чт. Ноя 21st, 2024

Как узнать последнее действия с балансом —

списание или зачисление

Особенно актуально этот вопрос стоит при программировании советников для бинарных опционов, где прибыль последнего ордера отображается не так, как в форексе.

В форексе прибыль по закрытому ордеру указывается кв графе Прибыль, а в бинарных опционах, как правило, Прибыль закрытого ордера равна 0, а следующая строка показывает изменение с балансом — зачисление или списание по сработавшему ордеру. На скрине привел пример:

Отображение прибыли в бинарных опционах как изменение балансаТак вот, чтобы узнать, какое было последнее изменение баланса — списание или зачисление и на какую сумму, воспользуемся одной не задокументированной возможностью MetaEditor’а: OrderType()==6, что и показывает изменение баланса.

Функция:

double isLastPosBalance()
  {
   datetime t;
   int      i,j=-1,k=OrdersHistoryTotal();

   for(i=0; i<k; i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {

         if(OrderType()==6)
           {
            if(t<OrderCloseTime())
              {
               t=OrderCloseTime();
               j=i;
              }
           }

        }
     }
   if(OrderSelect(j,SELECT_BY_POS,MODE_HISTORY))
     {
      return(OrderProfit());
     }
   return(0);
  }

Желаю успехов и оставляйте комментарии.

от drivermql

Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.