функция OrderOpenTime


например, forex

С помощью функции OrderOpenTime() мыможем получить дату ивремя открытия ордера или позиции, выделенного предварительно спомощью функции OrderSelect().

   datetime OrderOpenTime()
  • В случае отложенного ордера функция OrderOpenTime() возвращает дату ивремя выставления ордера.
  • В случае открытой или закрытой позиции функция возвращает дату ивремя открытия позиции.

Для того, чтобы определить, что позиция открыта сегодня, нам нужно знать значение типа datetime для сегодняшней даты в00:00:00часов.

В этом нам помогут четыре новых функции:

  • datetime CurTime()— время прихода последней котировки ввиде количества секунд, прошедших после 00:001января 1970года;
  • int TimeHour(datetime time)— возвращает порядковый номер часа для времени time;
  • int TimeMinute(datetime time)— возвращает порядковый номер минуты для времени time;
  • int TimeSeconds(datetime time)— возвращает количество секунд сначала минуты для времени time.

Например, для 02:16:05функции TimeHour, TimeMinute иTimeSeconds вернут соответственно 2,16и5.

Мы помним, что значение типа datetime представляет собой количество секунд, прошедшее с00:001января 1970года. Также мыпомним, что вчасе 6060секунд, авминуте 60секунд. Поэтому, зная текущее время (мыможем получить его спомощью CutTime), мыможем получить время текущего дня на00:00:00часов:

   int c_time = CurTime();   
   datetime day_start;
   day_start=c_time-TimeHour(c_time)*60*60-TimeMinute(c_time)*60-TimeSeconds(c_time);

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

   //---- вычислим начало дня - переменная day_start
   int c_time = CurTime();   
   datetime day_start;
   day_start=c_time-TimeHour(c_time)*60*60-TimeMinute(c_time)*60-TimeSeconds(c_time);
   //---- подсчитаем прибыль
   int profit = 0;
   int pos;
   for ( pos = 0; pos=day_start) profit += OrderProfit();
             }
         }
       else
           Print("Ошибка ", GetLastError(), " при выделении ордера ", OrderTicket());
     }
   Print("Суммарный профит по закрытым позициям = ", profit);


Перейти к главе «функция OrderMagicNumber».
 
+7 (495) 710-76-76
8 (800) 200-01-31
по России бесплатно

закрыть

Вход в личный кабинет

Для счета alpari.classic введите номер счета (буква и 4 цифры) и пароль в ЛК.

Для счетов alpari.micro и alpari.partner введите логин и пароль в МТ.

Зарегистрироваться!Забыли пароль?

 
Rambler's Top100