Как поменять цвет свечей в тинькофф инвестиции
Перейти к содержимому

Как поменять цвет свечей в тинькофф инвестиции

  • автор:

Как научиться понимать движение ценных бумаг с помощью графиков?

Здравствуйте! Очень хотелось научиться понимать и анализировать движение определенных ценных бумаг с помощью графиков.

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

В торговле на бирже графики нужны для того, чтобы отображать основные параметры цен в удобном визуальном формате. Графики часто используют трейдеры, которые заключают много сделок в рамках одного дня: при активной торговле решение о сделке нужно принимать молниеносно, анализировать данные из таблиц попросту неудобно.

Аватар автора

адепт японских свечей

Но и консервативным инвесторам полезно уметь читать графики: с их помощью инвестор может оценить доходность и поведение актива в прошлом.

Разберем графики на примерах. Возьмем данные из таблицы и представим их на графиках разных видов.

С таблицей все понятно: указаны все важные данные о движении цены. Мы видим, как менялась цена за день: на каком значении торговая сессия началась и на каком закрылась, какого минимального и максимального порога достигла цена за весь день.

Таблицы удобно использовать, когда нужно получить информацию по торгам за конкретный день: в понедельник актив закрылся по цене 55, а в среду — по цене 65. Минус: трудно увидеть тренд — как сильно растет или падает цена актива. Воспринимать направление и изменение цены бумаги по таблице можно, но делать это сложнее, чем по графику.

Линейный график

Такой формат отображения изменений воспринимается глазом проще числовых данных и может визуально показать, что происходило с ценой и как быстро она менялась в течение недели.

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

Свечной график

Свечной график — вид графика с дополнительными данными о движении цены за временной период. Если на линейном графике мы изобразили только цену закрытия, то на свечном графике видны все данные из таблицы: цена открытия и закрытия торгов, максимальное и минимальное значение цены за торговую сессию.

В свечах выделяют два основных вида:

  1. Растущие — если за время формирования свечи цена выросла.
  2. Падающие — если за время формирования свечи цена снизилась.

Свечу, в которой цены открытия и закрытия совпадают, иногда выделяют в третий тип — дожи, на нашем графике эта свеча тоже есть — в среду.

Стандартно свечи и бары окрашиваются двумя цветами в зависимости от роста или падения цены за промежуток времени. Зеленое тело означает рост цены, а красное — падение. Но удобный цвет свечей или баров всегда можно настроить индивидуально.

Барный график

Барный график показывает те же параметры, что и японские свечи. Разница только в отображении.

Японские свечи выглядят проще для восприятия, но барный график по-прежнему популярен у трейдеров на Западе.

Определить движение цены внутри бара можно по его «ушам» — горизонтальным линиям на его теле. Левым ухом обозначают цену открытия, а правым — цену закрытия бара. Если левое ухо выше правого — цена упала и бар будет красным. Если левое ниже — цена выросла, бар будет зеленым.

Зачем инвестору нужны графики

Анализ прошлого движения цены по графикам можно использовать, чтобы убедиться, что дела у компании в порядке и рынок подтверждал это ранее. Или как дополнительное подтверждение того, что вы не ошиблись в анализе фундаментальных показателей.

Но вряд ли стоит использовать анализ графиков как единственный фактор для принятия решения об инвестиции своих средств. Для комплексного анализа можно обратить внимание на другие показатели инструмента: риски, доходность, практику и нюансы вложений в конкретный тип актива. Почитайте наши подборки об инвестициях, чтобы разобраться глубже:

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Tinkoff / investAPI Public archive

Свечи. История и стримы. Вопросы к Волкову Александру #388

Свечи. История и стримы. Вопросы к Волкову Александру #388

Comments

Вопросы старые, но крайне актуальные и по сей день.
Итак, вопросы:

Нелепость аргументов разработчиков, в обоснование отказа от реализации, просто зашкаливает: «Архитектура брокера на данный момент позволяет быстро получать свечи с минимальной задержкой только за указанные интервалы времени», «запросов на добавлении новых таймфреймов для стримов очень мало, поэтому реализовывать это в данный момент они не намерены».
Для людей, не обладающих аналитическим складом ума, отмечу, что два вышеупомянутых вопроса должны быть фундаментальным функционалом API Тинькофф Инвестиций, реализованным на бэкенде и только на нем. Не покидает ощущение, что команда, осуществляющая разработку и поддержку API v2, просто немного слаба.
Закреплю все вышесказанное всего лишь одним аргументом: десктопный терминал для TradingView графика использует API, где запросы к истории делаются с указанием количества возвращаемых свечей, а подписки на свечные стримы работают со всеми имеющимися таймфреймами. Вот так.

Ваше слово, Александр!

The text was updated successfully, but these errors were encountered:

Однако отмечу, что коллеги уже разрабатывают новый сервис работы со свечами, который будет позволять в т.ч. получать N последних штук.
Так что этот функционал будет реализован.

Здорово конечно, но уже сам реализовал. Но кто пойдет по моим стопам, однозначно скажут вам огромное спасибо.

Непонятен сценарий использования подписок на дневные/недельные/месячные свечи:
Зачем подписываться на недельные свечи и неделю ждать приход свечи?
Какую задачу вы решите таким функционалом и почему не запросить ее через GetCandles()?

Точно такую же, какую решили разработчики терминала при создании TV графика — может есть смысл Вам с ними пообщаться поплотнее?
Естественно, я не собираюсь ждать неделю прихода свечи — новая недельная свеча из стрима должна появляться с каждым трейдом (ну, либо с какой-то небольшой дискретностью), как это и реализовано в терминале. Это справедливо для дневных, месячных, годовых и вообще каких-либо других свеч. И проще всего это сделать именно на бэкенде — ровно по тому же самому алгоритму, что использован для стриминга минутных свечей.

Позвольте уточнить, Александр: то, что Вы в своем ответе не упомянули свечи с интервалами менее дня, означает ли это, что есть планы для реализации стримов с этими интервалами?

Присоединюсь к мнению @nonamegithub. Если что резко скажу, просьба не обижаться. Как частный трейдер, хочу получить API, с которым можно реально работать.

Если кратко, то я в хорошую библиотеку BackTrader, написанную на Python, интегрирую российских брокеров. Уже сделана интеграция с API Алор, почти завершена интеграция с API Финама. Т.к. эти задачи успешно завершены/завершаются, то это значит, что для BackTrader не нужно никаких дополнительных специфических функций. Они такие:

  1. Получение информации о тикере
  2. Получение свободных средств, позиций, заявок
  3. Постановка рыночных, лимитных, стоп заявок

К этим пунктам вопросов к вам нет. Все сделано грамотно, работает.

  1. Отслеживание изменения статусов заявок

Первая заноза. Стоп заявки у вас живут понятной только им жизнью. Как и когда они перейдут в рыночные/лимитные заявки мы должны определять по косвенным признакам. В Финаме для решения этой задачи ввели сквозную нумерацию заявок. Запомнил этот номер, никуда заявка от тебя не уйдет. Очень странно, ведь аналогичное решение вы сделали по коду инструмента (figi).

Также у вас в документации есть идея, чтобы мы организовывали стопы на клиенте. Если идти по такой логике, то тогда вы вообще можете сократить API до отправки заявки. Остальное мы на клиенте посчитаем без проблем.

  1. Получение времени сервера

Нужно для синхронизации. У вас при подписке в канале раз в 4 минуты приходит пинг со временем. Очень классное решение!

  1. Получение исторических данных

У вас очень странные ограничения, которые я ни в Квике, ни в API Алора, Финама не встречал. Запросил часовки за всю историю. Получил. Вот почему ограничение год? Если жалко драгоценные ресурсы, то выдавайте только последний бар. История для тестов и стабилизации индикаторов нужна большая.

  1. Подписка на бары

Здесь совсем плохо. Кто вам сказал, что надо выдавать только 1 и 5 минут? Алготрейдинг не ограничивается этими интервалами. Кому-то нужны нестандартные 2 минуты, кто-то на часовках сидит. Дополнительная проблема заключается в том, что нам нужны бары не когда вы выдадите, а когда на основании данных нового бара можно здесь и сейчас выставить заявку. Например, последняя часовка сессии должна прийти на первом тике новой сессии. Аналогично и для клирингов фьючерсов.

Неплохое решение есть у Алора. Они из тиков собирают ЛЮБЫЕ временнЫе интервалы баров, и выдают их сразу после первого тика следующего бара.

Что вижу. Первую версию API без стоп заявок даже не рассматривал для интеграции с серьезными системами. Во второй версии возникает такое ощущение, что разработчики очень далеки от реального трейдинга, и разрабатывают API не для трейдеров, а для себя. Очень хочу в этом ошибаться.

[График] Цвет свечей

Сделать цвета свечей более насыщенными. Изменить прозрачность объемов свечи до 50%.

Увеличение контрастности не решает ситуацию.

Ответы ( 2 )

Приняли во внимание вашу идею, спасибо ��
Если другие пользователи также будут заинтересованы в этом изменении, обязательно подумаем над реализацией.

Приняли во внимание вашу идею, спасибо ��
Если другие пользователи также будут заинтересованы в этом изменении, обязательно подумаем над реализацией.

Вы можете отрегулировать прозрачность свечей и объема в терминале. Для этого нажмите два раза на столбик свечи или объема, после чего откроется панель настроек. Там можно выбрать его цвет, прозрачность и многое другое.

Вы можете отрегулировать прозрачность свечей и объема в терминале. Для этого нажмите два раза на столбик свечи или объема, после чего откроется панель настроек. Там можно выбрать его цвет, прозрачность и многое другое.

Сервис котировок

Все методы сервиса котировок принимают на вход instrumentId — параметр, в который можно передать значение instrument_uid или FIGI. Получить более подробную информацию можно на странице об идентификаторах инструментов.

Данный сервис предназначен для получения различной (в т.ч. исторической) биржевой информации. Существует два варианта взаимодействия с сервисом котировок:

  1. Unary-методы — данный вариант следует использовать в случаях, когда не требуется оперативность получения информации или для загрузки исторических данных. Существует ограничение на количество запросов в минуту, подробнее: Лимитная политика.
  2. Bidirectional-stream — используется для получения биржевой информации в реальном времени с минимально возможными задержками. Для работы со стрим-соединениями также существуют ограничения, согласно лимитной политике.
  3. Server-side-stream — используется для получения биржевой информации в реальном времени с минимально возможными задержками. В отличие от MarketDataStream в данном стриме передаётся объект, содержащий все типы подписок. ServerSideStream необходим для корректной трансляции маркетдаты в браузерные клиенты по gRPC-web, который не поддерживает bidirection стримы. Для работы со стрим-соединениями также существуют ограничения, согласно лимитной политике.

Важно! В сервисе TINKOFF INVEST API для отображения цен облигаций и фьючерсов используются пункты. Для облигаций один пункт равен одному проценту номинала облигации. Для расчёта реальной стоимости фьючерса можно воспользоваться формулой:

price / min_price_increment * min_price_increment_amount

Формулы расчета реальной стоимости инструментов в валюте

  • price — текущая котировка ценной бумаги;
  • nominal — номинал облигации;
  • min_price_increment — шаг цены;
  • min_price_increment_amount — стоимость шага цены;
  • lot — лотность инструмента.

Акции

price * lot

Облигации

Пункты цены для котировок облигаций представляют собой проценты номинала облигации. Для пересчёта пунктов в валюту можно воспользоваться формулой:

price / 100 * nominal

price / 100 * nominal + current_nkd Используется для подсчета с учетом НКД

НКД — накопленный купонный доход. Может возвращаться в параметрах current_nkd или aci_value .

Валюта

price * lot / nominal

Важно! При торговле валютой необходимо учитывать, что такие валюты как Иена, Армянский драм и Тенге имеют nominal = 100

Фьючерсы

Стоимость фьючерсов также предоставляется в пунктах, для пересчёта можно воспользоваться формулой:

price / min_price_increment * min_price_increment_amount

Получение исторических свечей

В процессе разработки торгового робота требуется анализировать различную историческую информацию. Например, свечи. Для получения исторических свечей по инструменту можно использовать метод getCandles.

Обратите внимание, что максимально допустимый период получения свечей за один запрос — 1 календарный год. Получение данных за более длинный период возможно поочередным вызовом метода.

Получение цен последних сделок

В процессе работы алгоритма торговли может потребоваться получение цены последней сделки по инструменту или инструментам. Для реализации данной потребности следует использовать метод getLastPrices. Используя данный метод, вы можете получить цены последних сделок всех доступных для торговли инструментов — для этого требуется передать пустой массив instruments.

Если для реализации алгоритма требуется оперативно получать информацию о цене последней сделки, то команда TINKOFF INVEST API рекомендует использовать подписку на поток обезличенных сделок в рамках stream-соединения сервиса.

Получение текущего стакана

Биржевой стакан — один из ключевых показателей торгового инструмента. Стакан содержит заявки пользователей на покупку или продажу определённого инструмента (подробнее: Биржевой стакан).

Для получения стакана можно использовать метод getOrderbook. Данный метод также позволяет получать время формирования стакана на бирже, а также время получения цены закрытия и цены последней сделки.

Для высоколиквидных инструментов на бирже стакан может изменяться несколько раз за секунду, поэтому использование unary-метода не всегда будет удобным. Поэтому рекомендуется использовать подписку на стаканы в рамках stream-соединения сервиса.

Bidirectional-stream получения биржевой информации

В рамках stream-соединения можно получать поток интересующих данных. В рамках одного соединения пользователь может подписаться на получение:

стаканов (с глубиной 1, 10, 20, 30, 40 или 50);

потока обезличенных сделок;

статуса торговли инструментов;

цен последних сделок;

информации о своих подписках.

Важно. В рамках одного запроса можно управлять подпиской только одного типа данных. Т.е. чтобы подписаться на свечи и стаканы требуется отправить два запроса marketdataRequest, содержащие информацию об изменении статуса подписки на свечи и стаканы соответственно.

Для сохранения стабильного подключения при отсутствии данных в stream-соединении сервером периодически отправляется ping-пакет. Клиенту реагировать на него нет необходимости.

Обратите внимание, что максимальное количество подписок на одно соединение ограничено лимитной политикой TINKOFF INVEST API. Однако, это ограничение не распространяется на подписку info (получение торгового статуса инструмента).

Особенности трансляции свечей

Свечи в рамках bidirectional-stream собираются «на лету» из ленты обезличенных сделок. Свечи отправляются не чаще одного раза в 300мс + свеча закрытия периода сбора. Однако, бывают ситуации, что сделки с биржи фактически доходят уже после окончания периода сбора свечи, в таком случае в стрим отправляется ещё одна (или более) «корректирующая» свеча.

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

Получения исторических рыночных данных по инструментам в виде годового архива

Используя метод GetHistory можно получить zip-архив исторических минутных свечей за год.

Обратите внимание, что максимально допустимый период получения свечей за один запрос — 1 календарный год. Получение данных за более длинный период возможно поочередным вызовом метода.

Также в методе GetHistory для удобства представлен скрипт получения zip-архивов по списку инструментов за все доступные года. Скрипт выполняет поочередный вызов метода по всем доступным годам.

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

Лимиты на количество запросов на подписку

Для всех типов подписок в Bidirectional-stream установлены ограничения максимального количества запросов на подписку. Если количество запросов за минуту превысит 100, то для всех элементов будет установлен статус SUBSCRIPTION_STATUS_TOO_MANY_REQUESTS.

Получение информации о своих подписках

Для получения информации о своих подписках в методе marketDataStream предусмотрен специальный запрос на получение информации о своих подписках — get_my_subscriptions .

Получение своих подписок

Для получения списка своих подписок можно запросить в методе marketDataStream GetMySubscriptions.

Получение цены закрытия

В процессе работы алгоритма торговли может потребоваться получение цены закрытия по инструменту или инструментам. Для реализации данной потребности следует использовать метод GetClosePrices. Используя данный метод, вы можете получить цены закрытия всех доступных для торговли инструментов — для этого требуется передать пустой массив instruments.

Данный метод для всех бумаг возвращает цену закрытия за предыдущий торговый день. Принимает на вход instrumentId — параметр, в который можно передать значение instrument_uid или FIGI.

Торговые статусы инструментов и расписание торгов

Информацию о статусах инструментов и расписаниях торгов вы можете получить на странице Торговые статусы инструментов и расписание торгов.

Также рекомендуем смотреть актуальную информацию по режимам и статусам торгов на сайтах Московской биржи и СПБ биржи.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *