Как заработать деньги. Проект сам себе финансист.
май 2011
пн вт ср чт пт сб вс
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Главная » » »

OrderOpenTime() - время открытия ордера или позиции, выделенного функцией OrderSelect()

В предыдущей статье мы посчитали прибыль по закрытым позициям. Теперь усложним задачу: сосчитаем прибыль только по закрытым позициям, которые были открыты сегодня.

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

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

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

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

  • Datetime CurTime() - время прихода последней котировки в виде количества секунд, прошедших после 00:00 1 января 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:00 1 января 1970 года. Также мы помним, что в часе 60*60 секунд, а в минуте 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);

 

В следующей статье мы продолжим рассмотрение торговых функций и расскажу о функции OrderLots().



Автор статьи: Андрей Ведихин

Хомячковый рай. Уйти и потеряться:

Комментарии к этой заметке больше не принимаются.




Есть что сказать? Не стесняйтесь!






Последние статьи:

Выгодные «исламские счета» для трейдеров Форекс Выгодные «исламские счета» для трейдеров Форекс Таким образом, вне зависимости от стиля работы стоит использовать «исламские счета» и сотрудничать с компаниями, которые не берут с трейдеров swap-комиссии. ..
2014-09-29
Стоит ли покупать чужие торговые сигналы и прогнозы? Стоит ли покупать чужие торговые сигналы и прогнозы? И все же основным нашим советом станет отказ от покупки торговых сигналов и прогнозов. Куда лучше научиться анализировать валютный рынок и думать всегда только своей головой. ..
2015-02-12

Видео по теме:




В мире больших денег

  • Самые богатые люди
    планеты. Ежегодные рейтинги FORBS. Истории успеха признаных финансовых гуру
  • Самые дорогие вещи:
    Часы, автомобили, ноутбуки стоимотью в десятки и сотни тысяч долларов. Рубрика "Чтоб я так жил"
  • Денежные прогнозы
    Что покупать и что продавать? Периодические прогнозы цен на иностранные валюты, акции крупнейших компаний и драгоценные металлы

ВКонтакте с деньгами

УГОЛОК АДМИНИСТРАТОРА