Подскажите как правильно работать с IsTradeTime. в стратегии (OnProcess) сделал так:
if ( !Sec1.Exchange.IsTradeTime(Trader) || ! Sec2.Exchange.IsTradeTime(Trader) ) { AddLog(StrategyErrorStates.Warning, "Неторговое время", this); return true;
где Sec2 - акция ртс стандарт во время клиринга вся эта конструкция не сработала. присутствует разница во времени между квиком и локальным. возникло подозрение что Sec2.Exchange.IsTradeTime(Trader) определяется относительно локального времени
Комментарии (7)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Это легко проверить. Что возвращает ITrader.MarketTime
Да )) это было легко. Локальное время). А как правильно брать время биржи?
Странно что локальное... QuikTrader время читает из Квика. Квик сейчас правильное время биржи показывает (внизу слева)? Какая, кстати, версия S#?
да так и есть. странно почему тогда на сработала моя конструкция. но есть еще одно но. Запустил стратегию ... она работает. время определяется правильно. далее изменяю локальное время в сторону уменьшения. в выводе VS2010 появляется сообщение "Поток '<Без имени>' (0x33c) завершился с кодом 0 (0x0)." Стратегия перестает работать. После следующего старта стратегии она выводит уже неправильное время.
Не совсем понял, что так и есть? Изменяете локальное время в Виндовс или за счет MarketTimeOffset?
так и есть - QuikTrader время читает из Квика. А время меняю в виндовс
Значит в Квике время неправильное?