Подскажите как правильно работать с 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 время читает из Квика. А время меняю в виндовс
Значит в Квике время неправильное?