← Назад

Получить свечи после SubscribeCandles(CandleSeries)

Здравствуйте! Как получить если они уже получены? То есть после регистрации SubscribeCandles и после того как событие CandleSeriesProcessing отдало все исторические свечи?

Комментарии (13)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

Support
Support

Добрый день

Вы можете вызвать подписку повторно, или сохранять свечи в память, чтобы не делать несколько подписок.

Константин
Константин Автор

То есть этот (https://doc.stocksharp.ru/html/M_StockSharp_Algo_Candles_CandleHelper_GetCandle__1.htm) метод больше не работает?

Константин
Константин Автор

Еще вопрос. Есть ли какой то нормальный способ или уже готовый метод в s# для определения какая свеча пришла? Свеча истории или реалтайм? Другими словами нужно поднять флаг для возможности совершать сделки в реалтайме, а не на истории.

Replikant
Replikant

Константин: Еще вопрос. Есть ли какой то нормальный способ или уже готовый метод в s# для определения какая свеча пришла? Свеча истории или реалтайм? Другими словами нужно поднять флаг для возможности совершать сделки в реалтайме, а не на истории.

В стратегиях в Shell встроили какие-то методы для этого, но они собрали их на основе других сущностей, я, честно говоря, их реализации не сильно понял, или она мне не понравилась - не помню. Самое простое, по-моему, на момент появления свечи замерять разницу во времени между приходами соседних свечей (DateTime.Now) и сравнивать с шагом тайм-фрейма.

Support
Support

Добрый день

Можно использовать класс CandleManagerContainer. Например, как здесь https://stocksharp.ru/forum/10213/kak-polzovatsya-svechnym-konteinerom/#m45966

Константин
Константин Автор

В стратегиях в Shell встроили какие-то методы для этого, но они собрали их на основе других сущностей, я, честно говоря, их реализации не сильно понял, или она мне не понравилась - не помню. Самое простое, по-моему, на момент появления свечи замерять разницу во времени между приходами соседних свечей (DateTime.Now) и сравнивать с шагом тайм-фрейма. Я могу ошибаться, но время свечей может быть серверным и сравнивать его с локальным не правильно. Поддержка, ответьте пожалуйста: какое время в свойствах свечей?

Replikant
Replikant

В стратегиях в Shell встроили какие-то методы для этого, но они собрали их на основе других сущностей, я, честно говоря, их реализации не сильно понял, или она мне не понравилась - не помню. Самое простое, по-моему, на момент появления свечи замерять разницу во времени между приходами соседних свечей (DateTime.Now) и сравнивать с шагом тайм-фрейма. Я могу ошибаться, но время свечей может быть серверным и сравнивать его с локальным не правильно. Поддержка, ответьте пожалуйста: какое время в свойствах свечей?

Да нет, это и не требуется. Пришла свеча - замерили текущее время, в которое она пришла, посмотрели свойство ВремяОткрытия свечи. Пришла вторая свеча, замерили текущее время, замерили ВремяОткрытия свечи. Дальше сравниваем два "текущих времени" и два времени открытия свечей. Если идет бэктестинг, то разница текущих временей будет ну там секунды и т.д., а разница времен открытие будет равно шагу тайм-фрейма.

Replikant
Replikant

В примере стратегий они, кажется, сравнивают текущее время с временем открытия свечи (или закрытия), если рядом, то это "свежая" свеча, а значит идет реальное время, а не бэктестинг - в принципе можно и так).

Константин
Константин Автор

Support, ответьте пожалуйста. > Есть ли какой то нормальный способ или уже готовый метод в s# для определения какая свеча пришла? Свеча истории или реалтайм? Другими словами нужно поднять флаг для возможности совершать сделки в реалтайме, а не на истории.

Support
Support

Добрый день

Ответ вам был предоставлен ранее https://stocksharp.ru/posts/m/46504/

eSKon
eSKon

вот я честно говоря тоже не понял ответа, который "был предоставлен". Там код создания CandleManagerContainer, но как его использовать для решения проблемы о которой спрашивал автор - непонятно. Я вообще не понимаю смысла саппорта, где все ответы односложные и ничего не объясняют. Я в своих топиках раз 10 задал одни и те же элементарные вопросы - за неделю так и не получил ответа, хотя ответ, подозреваю, в три строки бы уложился.

Константин
Константин Автор

Время которое приходит со свечками локальное или с сервера?

Support
Support

Это серверное время, так как в некоторых случаях свеча обновляется по метке времени из тиковой сделки.