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


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

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

Теги:


Спасибо:




8 Ответов
VassilSanych

Фотография
Дата: 02.05.2013
Ответить


Спасибо:

MenDel

Фотография
Дата: 02.05.2013
Ответить


VassilSanych Перейти


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

VassilSanych

Фотография
Дата: 02.05.2013
Ответить


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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 02.05.2013
Ответить


VassilSanych Перейти


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

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

Код
var russianSpecialWorkingDays = new[]
			{
				new DateTime(2011, 3, 5),
				
				// ÷ñÒ449775955êÖ0õæ÷http://rts.micex.ru/a254÷ñÒ449775955êÖ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),

				// ÷ñÒ449775955êÖ2õæ÷http://rts.micex.ru/a254÷ñÒ449775955êÖ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),

				// ÷ñÒ449775955êÖ4õæ÷http://rts.micex.ru/s690÷ñÒ449775955êÖ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)
			};
Спасибо:

MenDel

Фотография
Дата: 02.05.2013
Ответить


Ну за 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 начинается.
Опять же, что не было косяков нужно под это дело либо календарь делать и обновлять.
Либо позволить каждому самому вписывать дни экспирации.
Тут все даты по РТС есть
Автор топика
Спасибо:

VassilSanych

Фотография
Дата: 02.05.2013
Ответить


MenDel Перейти

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

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

Спасибо:

MenDel

Фотография
Дата: 02.05.2013
Ответить


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

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

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



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

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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 02.05.2013
Ответить


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

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


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy