← Zurück

проверка на время биржи при загрузке истории

Робот крутится на виртуальной машинке, у которой часы идут медленно, часто начинают запаздывать. Вы в SmartTrader.RegisterHistoryData сравниваете MarketTime (которое на самом деле не время биржи, а время на машине) с датой конца истории. Можно ее убрать? Если нет, то в чем ее смысл? Она реально мешает.

03.03.2011 11:57:44 [OpenWealth.HeadRealTrade.OnNewCandle] Свечка сформирована: 03.03.2011 11:59:00 03.03.2011 11:58:00 [OpenWealth.DataProviders.History.Bars] Надо подгрузить дополнительные бары со стороны окончания. 03.03.2011 11:58:00 [OpenWealth.StockSharp.TraderLoadHistory.Load] Затребовано получение истории: RTS-3.11 1min 03.03.2011 11:56:01 - 03.03.2011 11:59:01 03.03.2011 11:58:00 [OpenWealth.HeadRealTrade.OnLog] ERROR: ЛОГ стратегии SA errorStates: Error str: System.ArgumentOutOfRangeException: Параметр from не может быть больше текущего времени биржи. Имя параметра: from Фактическое значение было 03.03.2011 11:58:01. в Ecng.Trading.Smart.SmartTrader.RegisterHistoryData(Security security, SmartTimeFrames timeFrame, DateTime from, Int32 count, SmartHistoryDirections direction) в OpenWealth.StockSharp.TraderLoadHistory.Load(String symbolName, BarDataScale scale, DateTime startDate, DateTime endDate)

War dieses Thema hilfreich?

Thema teilen

Kommentare (3)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

Greene-nsk: Робот крутится на виртуальной машинке, у которой часы идут медленно, часто начинают запаздывать. Вы в SmartTrader.RegisterHistoryData сравниваете MarketTime (которое на самом деле не время биржи, а время на машине) с датой конца истории.

Биржевое время

Greene-nsk: Можно ее убрать? Если нет, то в чем ее смысл? Она реально мешает.

Уже не помню, видимо чтобы очередную дыру в Смарте закрыть. А как так получается, что from больше биржевого времени у вас?

Greene-nsk
Greene-nsk Autor

Mikhail Sukhov:

Greene-nsk: Робот крутится на виртуальной машинке, у которой часы идут медленно, часто начинают запаздывать. Вы в SmartTrader.RegisterHistoryData сравниваете MarketTime (которое на самом деле не время биржи, а время на машине) с датой конца истории.

Биржевое время

Greene-nsk: Можно ее убрать? Если нет, то в чем ее смысл? Она реально мешает.

Уже не помню, видимо чтобы очередную дыру в Смарте закрыть. А как так получается, что from больше биржевого времени у вас?

Из лога... реальное биржевое время примерно 11:59:15 во время выполнения метода. Время from 11:59:01. Т.е. все было бы в порядке, если бы не проверка машинного времени, которое 11:58:00. В некоторых технологиях виртуализации (в вмваре, например и в некоторых других) время на машине не всегда идет как реальное время. Например, сейчас у меня на машинке за 1 минуту реального времени проходит только 45 секунд (т.е. время идет медленнее на 25%). Оно, конечно, синхронизуется периодически, но это не спасает. Приходится переводить каждые 2-3 часа вперед. Только из-за вот этой проверки. Хотя реально привязка к машинному времени не нужна. Смарту можно время from посылать хоть год вперед - он нормально отдает свечки, начиная с текущего момента.

Mikhail Sukhov
Mikhail Sukhov

Greene-nsk: Из лога... реальное биржевое время примерно 11:59:15 во время выполнения метода. Время from 11:59:01. Т.е. все было бы в порядке, если бы не проверка машинного времени, которое 11:58:00. В некоторых технологиях виртуализации (в вмваре, например и в некоторых других) время на машине не всегда идет как реальное время. Например, сейчас у меня на машинке за 1 минуту реального времени проходит только 45 секунд (т.е. время идет медленнее на 25%). Оно, конечно, синхронизуется периодически, но это не спасает. Приходится переводить каждые 2-3 часа вперед. Только из-за вот этой проверки. Хотя реально привязка к машинному времени не нужна. Смарту можно время from посылать хоть год вперед - он нормально отдает свечки, начиная с текущего момента.

Ок, убираю. Посмотрим, что из этого получиться =)