← Back

работа с IsTradeTime()

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

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

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

Comments (7)

Login or Create account, Log in or register to leave a comment

Mikhail Sukhov
Mikhail Sukhov

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

Serg
Serg Author

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

Mikhail Sukhov
Mikhail Sukhov

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

Serg
Serg Author

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

Mikhail Sukhov
Mikhail Sukhov

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

Serg
Serg Author

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

Mikhail Sukhov
Mikhail Sukhov

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