Exchange working time
Atom
22.09.2010


У меня неправильно время окончания первой свечки считает вот этим
методом:
_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