Exchange.WorkingTime 2012

Exchange.WorkingTime 2012
Atom
2/12/2012
dvoris


Code
var specialWorkingDays = new[] 
{ 
  new DateTime(2012, 3, 11),
  new DateTime(2012, 4, 28),
  new DateTime(2012, 6, 9),
  new DateTime(2012, 12, 29),
};

var specialHolidays = new[]
{
  new DateTime(2012, 1, 2),
  new DateTime(2012, 3, 8),
  new DateTime(2012, 3, 9),
  new DateTime(2012, 4, 30),
  new DateTime(2012, 5, 1),
  new DateTime(2012, 5, 9),
  new DateTime(2012, 6, 11),
  new DateTime(2012, 6, 12),
  new DateTime(2012, 11, 5),
  new DateTime(2012, 12, 31),
};

Exchange.Rts.WorkingTime.SpecialWorkingDays = specialWorkingDays;
Exchange.Rts.WorkingTime.SpecialHolidays = specialHolidays;

Tags:


Thanks:


< 1 2 
Alexander

Avatar
Date: 2/13/2012
Reply


Так, разобрались с 5го раза какой метод используете.
Уже прогресс.

Давайте попробуем хотя бы с 3го раза получить ответ на заданный вопрос
Quote:
выведите
workingTime.SpecialHolidays.Contains(date)
Thanks:

dvoris

Avatar
Date: 2/13/2012
Reply


Я исправился с именем метода во втором посте.
Насчёт workingTime.SpecialHolidays.Contains(date):
>>P.S. удостоверился, что exchange.WorkingTime.SpecialWorkingDays и exchange.WorkingTime.SpecialHolidays заполнены как надо.
Давайте попробуем быть все внимательнее.

Разобрался.
Предложенный вами вариант будет работать, если обрезать время - IsTradeDate(.., t) && IsTradeDate(.., new DateTime(t.Year,t.Month,t.Day))
Видимо, IsTradeDate просто проверяет SpecialHolidays.Contains(t) и SpecialWorkingDays.Contains(t).
Хотелось бы просто IsTradeDateTime(Trader.MarketTime), что и реализовал.

P.S. Плохо не видеть исходников :(
Thanks:

Alexander

Avatar
Date: 2/13/2012
Reply


Есть метод IsTradeTime, который и проверяет всё что вам нужно:
1) IsTradeDate
2) Time на торгуемое время


Quote:
Давайте попробуем быть все внимательнее.

Действительно считаете, что после того, как задаю вопросы, мне стоит постоянно отслеживать все ваши предыдущие сообщения, на случай а не исправили ли вы там чего?
Thanks:

dvoris

Avatar
Date: 2/13/2012
Reply


[confused]
#4 >>Извиняюсь, речь, конечно же, про TraderHelper.IsTradeDate

Как можно было узнать, что IsTradeTime проверяет и дату? В доке об этом не сказано :)
>> Проверить, является ли текущее время торгуемым (началась ли сессия, не закончилась ли, нет ти клиринга).

P.S. Плохо не видеть исходников.
Thanks:

Alexander

Avatar
Date: 2/13/2012
Reply


Если день не торгуемый (выходной) - то очевидно что переданное время не торгуемое.

Если не очевидно по описанию метода - проверяется за пару минут тестом.
Thanks:

esper

Avatar
Date: 2/13/2012
Reply


dvoris
P.S. Плохо не видеть исходников.

Когда нет исходников - можно воспользоваться рефлектором. Не думаю, что обфускация данных методов будет большой помехой.
Thanks:

Кот Матроскин

Avatar
Date: 5/12/2012
Reply


dvoris
Code
var specialWorkingDays = new[] 
{ 
  new DateTime(2012, 3, 11),
  new DateTime(2012, 4, 28),
  new DateTime(2012, 6, 9),
  new DateTime(2012, 12, 29),
};

var specialHolidays = new[]
{
  new DateTime(2012, 1, 2),
  new DateTime(2012, 3, 8),
  new DateTime(2012, 3, 9),
  new DateTime(2012, 4, 30),
  new DateTime(2012, 5, 1),
  new DateTime(2012, 5, 9),
  new DateTime(2012, 6, 11),
  new DateTime(2012, 6, 12),
  new DateTime(2012, 11, 5),
  new DateTime(2012, 12, 31),
};

Exchange.Rts.WorkingTime.SpecialWorkingDays = specialWorkingDays;
Exchange.Rts.WorkingTime.SpecialHolidays = specialHolidays;

А эти дни разве самому заводить нужно, или они уже есть в библиотеке?
Thanks:
< 1 2 

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy