← 返回

работа с IsTradeTime()

Подскажите как правильно работать с IsTradeTime. в стратегии (OnProcess) сделал так:

if ( !Sec1.Exchange.IsTradeTime(Trader) || ! Sec2.Exchange.IsTradeTime(Trader) ) { AddLog(StrategyErrorStates.Warning, "Неторговое время", this); return true;

где Sec2 - акция ртс стандарт во время клиринга вся эта конструкция не сработала. присутствует разница во времени между квиком и локальным. возникло подозрение что Sec2.Exchange.IsTradeTime(Trader) определяется относительно локального времени

本主题对您有帮助吗?

分享主题

评论 (7)

登录创建账户, 登录或注册以发表评论

Mikhail Sukhov
Mikhail Sukhov

Это легко проверить. Что возвращает ITrader.MarketTime

Serg
Serg 作者

Да )) это было легко. Локальное время). А как правильно брать время биржи?

Mikhail Sukhov
Mikhail Sukhov

Странно что локальное... QuikTrader время читает из Квика. Квик сейчас правильное время биржи показывает (внизу слева)? Какая, кстати, версия S#?

Serg
Serg 作者

да так и есть. странно почему тогда на сработала моя конструкция. но есть еще одно но. Запустил стратегию ... она работает. время определяется правильно. далее изменяю локальное время в сторону уменьшения. в выводе VS2010 появляется сообщение "Поток '<Без имени>' (0x33c) завершился с кодом 0 (0x0)." Стратегия перестает работать. После следующего старта стратегии она выводит уже неправильное время.

Mikhail Sukhov
Mikhail Sukhov

Не совсем понял, что так и есть? Изменяете локальное время в Виндовс или за счет MarketTimeOffset?

Serg
Serg 作者

так и есть - QuikTrader время читает из Квика. А время меняю в виндовс

Mikhail Sukhov
Mikhail Sukhov

Значит в Квике время неправильное?