Почему робот думает, что сегодня выходной?


Почему робот думает, что сегодня выходной?
Atom Reply
5/2/2013


Почему робот думает, что сегодня выходной?
IsTradeTime отвечает false.

И как это исправить?

Tags:


Thanks:




8 Answers
VassilSanych

Avatar
Date: 5/2/2013
Reply


Thanks:

MenDel

Avatar
Date: 5/2/2013
Reply


VassilSanych Перейти


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

VassilSanych

Avatar
Date: 5/2/2013
Reply


Вставить вместо вызова ExchangeBoard.ApplyDefaultHolidays
PS
Конечно, только 2013.
2012 не надо.
Thanks: MenDel

Mikhail Sukhov

Avatar
Date: 5/2/2013
Reply


VassilSanych Перейти


Тот метод используется только в источинке гидры РТС. И то для РТС стандарта. Думаю, уберу, чтобы его не вызывали.

Сейчас дату захардкожены прямо в ExchangeBoard, потому что мы теперь вроде как мульти биржевая платформа для торговых роботов, а это уже не автоматизировать в плане авто подставления дат (да и проще конкретные даты сразу прописать). Поправил на такие даты (давайте сразу просмотрим на наличие косяков):

Код
var russianSpecialWorkingDays = new[]
			{
				new DateTime(2011, 3, 5),
				
				// ÷ñÒ1136165028êÖ0õæ÷http://rts.micex.ru/a254
÷ñÒ1136165028êÖ1õæ÷
				new DateTime(2012, 3, 11),
				new DateTime(2012, 4, 28),
				new DateTime(2012, 5, 5),
				new DateTime(2012, 5, 12),
				new DateTime(2012, 6, 9),
				new DateTime(2012, 12, 29)
			};

			var russianSpecialHolidays = new[]
			{
				new DateTime(2011, 1, 3),
				new DateTime(2011, 1, 4),
				new DateTime(2011, 1, 5),
				new DateTime(2011, 1, 6),
				new DateTime(2011, 1, 7),
				new DateTime(2011, 1, 10),
				new DateTime(2011, 2, 23),
				new DateTime(2011, 3, 7),
				new DateTime(2011, 3, 8),
				new DateTime(2011, 5, 2),
				new DateTime(2011, 5, 9),
				new DateTime(2011, 6, 13),
				new DateTime(2011, 11, 4),

				// ÷ñÒ1136165028êÖ2õæ÷http://rts.micex.ru/a254
÷ñÒ1136165028êÖ3õæ÷
				new DateTime(2012, 1, 2),
				new DateTime(2012, 2, 23),
				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),

				// ÷ñÒ1136165028êÖ4õæ÷http://rts.micex.ru/s690
÷ñÒ1136165028êÖ5õæ÷
				new DateTime(2013, 1, 1),
				new DateTime(2013, 1, 2),
				new DateTime(2013, 1, 3),
				new DateTime(2013, 1, 4),
				new DateTime(2013, 1, 7),
				new DateTime(2013, 3, 8),
				new DateTime(2013, 5, 1),
				new DateTime(2013, 5, 9),
				new DateTime(2013, 5, 10),
				new DateTime(2013, 6, 12)
			};
Thanks:

MenDel

Avatar
Date: 5/2/2013
Reply


Ну за 2013 год праздничные дни тока
new DateTime(2013, 1, 1),
new DateTime(2013, 1, 2),
new DateTime(2013, 1, 3),
new DateTime(2013, 1, 4),
new DateTime(2013, 1, 7),
new DateTime(2013, 3, 8),
new DateTime(2013, 5, 1),
new DateTime(2013, 5, 9),
new DateTime(2013, 6, 12)

Это я не считаю где праздник на выходной день выпадает

Источник

Я полагаю вам надо в конце каждого года выпускать обновленный календарь,
и сделать его отдельно, чтоб все библиотеки не менять, а только календарь.
Либо дать возможность самому вбивать праздники.

Да, и еще не обращал внимая, но скорее всего на фортсе вечерняя сессия у вас всегда в 19:00 начинается,
а в связи с экспирацией опционов она в некоторые дни в 19:10 начинается.
Опять же, что не было косяков нужно под это дело либо календарь делать и обновлять.
Либо позволить каждому самому вписывать дни экспирации.
Тут все даты по РТС есть
Topic starter
Thanks:

VassilSanych

Avatar
Date: 5/2/2013
Reply


MenDel Перейти

Я полагаю вам надо в конце каждого года выпускать обновленный календарь,
Тут все даты по РТС есть

А тестирование на истории?
Нужно, чтоб был доступ сразу к нескольким календарям (О непрерывном не говорю. Это утопия)

Thanks:

MenDel

Avatar
Date: 5/2/2013
Reply


VassilSanych Перейти
MenDel Перейти

Я полагаю вам надо в конце каждого года выпускать обновленный календарь,
Тут все даты по РТС есть

А тестирование на истории?
Нужно, чтоб был доступ сразу к нескольким календарям (О непрерывном не говорю. Это утопия)



История?
Как вариант тестирования истории не использовать запрос рабочее ли это время или не рабочее. Так как там помимо праздников менялось и время начала и окончания работы биржи.
Как другой вариант:
за 2012 год на сайте еще есть календарь, а вот раньше, если они хотят хороший календарь надо пересматривать историю котировок и смотреть в какие будние дни не было сделок и в какие выходные были. Когда меняли даты начала и окончания торгов. По этим данным делать календарь. Для этих целей можно было бы найти человечка за небольшую плату и он все сделал бы. Сначала Российский рынок, потом глядишь и другие.
И как третий вариант, как вы сделали. Дать людям самим его создавать. Спасибо за этот класс.

P.S. Когда только была введена вечерняя сессия там на вечерке на РТСе черт знает че происходило по данным с финама.
Пришлось самому пересматривать котировки и удалить несколько ненужных вечерок. Там тики с разницей в несколько тыщ пунктов были.
Topic starter
Thanks:

Mikhail Sukhov

Avatar
Date: 5/2/2013
Reply


Актуализировал даты. За 2011 нормально все?

Можно в в конце декабря выпускать обновление. Все равно апдейты идут постоянно, как и разработка новых фич. Главное, не упустить этот момент, и чтобы не было как в анекдоте про жену и елку.
Thanks:


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

loading
clippy