Exchange working time
Atom
22.09.2010
dart


У меня неправильно время окончания первой свечки считает вот этим методом: _nextTime = base.TimeFrame.GetCandleBounds(base.Trader).Max; Как можно узнать время начала работы биржи узнать? В блоге находил такое: var dateTime = DateTime.Today + exchange.WorkingTime.First().Min; Не работает. По-разному пробовал. А нельзя самому задавать время работы биржи, как это делается в прогах теханализа?


Теги:


Спасибо:


1 2  >
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. Не нулю ли он равен?

Спасибо:
1 2  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy