Mikhail Sukhov
|
Дата: 22.09.2010
А что значит не работает? Можете описать подробнее?
|
|
|
|
dart
|
Дата: 22.09.2010
Просто VS не даёт прописать First к WorkingTime. Пишет - не содержит определения для First: var dateTime = DateTime.Today + Exchange.Rts.WorkingTime.First().Min;
Метод GetCandleBounds начинает считать для РТС с 10:00 если я правильно понимаю. То есть к примеру: свеча с ТФ 57 мин, должна заканчиваться в 10:57 по идее.
|
Автор топика
|
|
|
Mikhail Sukhov
|
Дата: 22.09.2010
Потому что используется LINQ Надо прописать using System.Linq
|
|
|
|
dart
|
Дата: 23.09.2010
По этой команде: _nextTime = base.TimeFrame.GetCandleBounds(base.Trader).Max у меня свечки отсчитываются со времени 0:00:00. То есть например, первая свечка с ТФ 4 часа начнётся (имеется ввиду candle.Time) в 8:00, следующие в 12:00, затем в 16:00 и т.д. А начало торгов в РТС 10:00, здесь всё верно.
|
Автор топика
|
|
|
Mikhail Sukhov
|
Дата: 23.09.2010
А чему равен ITrader.MarketTime?
|
|
|
|
dart
|
Дата: 23.09.2010
Сейчас проверил для ТФ 3 часа. Время окончания текущей свечи _nextTime = 15:00. Соответственно предыдущие свечки начинались в 12:00. И candle.Time первой свечки этого дня = 9:00.
|
Автор топика
|
|
|
dart
|
Дата: 23.09.2010
base.Trader.MarketTime даёт текущее квиковское время, т.е. Москвы. Здесь всё время Московское указано. Сейчас для 3 часового ТФ я замерял _nexttime было равно 15:00. При этом MarketTime было равно 13:58:41. Всё в файле записано
|
Автор топика
|
|
|
Mikhail Sukhov
|
Дата: 23.09.2010
Так а где проблема то?
|
|
|
|
dart
|
Дата: 23.09.2010
Так свечки рисуются неправильно. Сейчас пытаюсь перенести стратегию из Омеги в S#. Там свечки строятся с начала работы биржи, как и в любой другой проге теханализа. То есть к примеру первая 4-часовая свеча заканчивается в 14:00 А в S# по- другому - в 12:00. Соответственно не получается перенести. Свечки должны строиться с момента начала работы биржи. Это будет правильно.
|
Автор топика
|
|
|
Mikhail Sukhov
|
Дата: 23.09.2010
Переносите с поправками. Свечки в S# строяться не с какого то момента. Они имеют свое собственно время. CandleManager строит свечки по тикам. Выражение же base.TimeFrame.GetCandleBounds(base.Trader).Max к свечкам относиться постольку, поскольку. Они лишь говорит, что текущая свечка (понятие текущая берется из ITrader.MarketTime) с длинной base.TimeFrame имеет такое то начало и окончание. Если Вы пишите, что ITrader.MarketTime возвращает все ок, то значит проблема в base.TimeFrame. Не нулю ли он равен?
|
|
|
|
dart
|
Дата: 23.09.2010
То есть для ТФ 4ч так писать? _nextTime = base.TimeFrame.GetCandleBounds(base.Trader).Max.AddHours(2)
base.Trader.MarketTime даёт текущее квиковское время. base.TimeFrame в данном примере и равен 4 часам.
|
Автор топика
|
|
|
dart
|
Дата: 23.09.2010
Так у меня и var candle = _candleManager.GetTimeFrameCandle(base.Security, base.TimeFrame, base.TimeFrame.GetCandleBounds(base.Trader).Min); candle.Time (время текущей свечи) = 8:00, затем 12:00 и т.д.
|
Автор топика
|
|
|
dart
|
Дата: 23.09.2010
А, понял. И вот тут так сделать: var candle = _candleManager.GetTimeFrameCandle(base.Security, base.TimeFrame, base.TimeFrame.GetCandleBounds(base.Trader).Min.AddHours(2));
|
Автор топика
|
|
|
Mikhail Sukhov
|
Дата: 23.09.2010
Я бы не использовать GetCandleBounds напрямую. Данный метод вычисляет границы свечки не учитывая время работы биржи. Сделайте свой аналог, чтобы время было кратно началу работы биржи.
|
|
|
|
dart
|
Дата: 24.09.2010
Интересное явление. Как ввожу временную поправку, чтобы время свечи правильно считалось, текущая свеча получается всё время null. Как только поправку убираю, всё строится правильно, но при этом время свечи, естественно, считается не с начала работы биржи. Может всё-таки RegisterTimeFrameCandles имеет какую-то временную привязку?
|
Автор топика
|
|
|
Mikhail Sukhov
|
Дата: 27.09.2010
В Вашем случае самый дешевый вариант - стоить свечки часовые. А их уже собирал в 4-ех часовые с нужного временного отсчета.
|
|
|
|
dart
|
Дата: 27.09.2010
Понятно, но у меня время свечи даже не кратно часу. Придётся выбирать самый малый ТФ, который кратен моему
|
Автор топика
|
|