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

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


Робот крутится на виртуальной машинке, у которой часы идут медленно, часто начинают запаздывать. Вы в 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)

Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 3/3/2011
Reply


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


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

Greene-nsk Go to

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


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

Greene-nsk

Avatar
Date: 3/3/2011
Reply


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


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

Greene-nsk Go to

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


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


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

Mikhail Sukhov

Avatar
Date: 3/3/2011
Reply


Greene-nsk Go to

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


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


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy