6 июля, 2020

Легкая версия библиотеки графиков 3.0

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

Несовместимые изменения

Обратите внимание! Это крупное обновление библиотеки, в котором есть несколько несовместимых изменений:

  • Методы subscribeVisibleTimeRangeChange и unsubscribeVisibleTimeRangeChange были перемещены из ChartApi в TimeScaleApi.
  • Размещение серии на невидимой шкале с помощью параметра overlay: true в опциях будет удалено в будущих версиях. Теперь нужно указывать id шкалы, к которой будет привязана серия данных.

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

Две ценовые шкалы

Начиная с первой опубликованной версии, в библиотеке было возможно показывать только одну (или ни одной) ценовую шкалу — слева или справа. Начиная с версии 3.0, мы добавили возможность показывать до двух ценовых шкал. Это значит, что теперь вы можете создать две серии, разместить их на разных шкалах (одну на левой, другую на правой) и видеть цены двух серий одновременно. Дополнительно появилась возможность разместить несколько серий на одной и той же невидимой шкале. Таким образом, вы можете создать индикатор с несколькими выходными значениями, добавить их на одну и ту же невидимую шкалу, и они будут адаптироваться под изменение цены одновременно.

Подсчет количества баров и их отображение

Представим, что вы разрабатываете приложение, в котором вам необходимо реализовать загрузку дополнительных баров, если пользователь сдвигает график влево, в историю (здесь можно посмотреть, как это работает на нашем большом графике). Это базовая функция для любого торгового графика. В версии 3.0 много улучшений, связанных с этой функцией. Например, вы можете получить информацию о том, сколько баров находится слева до первого видимого бара, и сколько справа — после последнего видимого. Это позволит вам создать загрузку “на опережение”, при которой ваши пользователи не увидят моргания баров при сдвигании графика (например, если осталось только 50 баров слева, то начнется загрузка дополнительных исторических баров).

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

Настраиваемый формат дат

В предыдущей версии у нас было 19 встроенных форматов дат, и если ни один формат вам не подходил, вы ничего не могли с этим сделать. В новой версии вы можете использовать любой формат дат, например yyyy-dd или даже yyyy, в зависимости от сезонности графика.

Формат даты определяется строкой, которая может содержать любое количество подстрок из следующего набора:

  • `yyyy` — полный формат года (2020).
  • `yy` — короткий формат года (20).
  • `MMMM` — полный формат месяца (Апрель).
  • `MMM` — короткий формат месяца (Фев.).
  • `MM` — числовой формат месяца (03).
  • `dd` — день месяца (15).

Переопределение ценового диапазона серии 

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

Возможность добавить текст к маркерам серии

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

API для перевода времени в координату и наоборот

Иногда необходимо разместить что-то над графиком (подсказку, текст) рядом с определенным временем на графике. В новой версии мы добавили возможность перевести время в X координату и наоборот. Кроме того, появилась возможность получить ширину видимой ценовой шкалы. Это может быть полезно, если у вас отображается левая ценовая шкала, и вам нужно получить точную координату внутри графика.

Возможность скрыть метки тиков на ценовой шкале

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

Больше улучшений, меньше размер

Слово “легкий” в имени библиотеки относится к ее весу. Самая первая публичная версия библиотеки занимала ~43.7КБ в min.gz. После этого мы добавили множество улучшений, и вы могли подумать, что ее вес вырос. Но это не так! В новой версии мы применили несколько техник для уменьшения веса библиотеки, что позволило нам сделать ее легче, несмотря на количество улучшений. Версия библиотеки 3.0 занимает всего 42.4КБ в min.gz!

Отметим, что техники, которые мы применили, не являются чем-то специально разработанным для нашей библиотеки легких графиков. Это значит, что и вы сможете применить их в своем проекте. Для этого смотрите вот эту и эту задачи, в которых есть дополнительная информация. Наши тесты показали, что эти техники позволят вам уменьшить размер приложения до 30% в несжатом виде, и до 10% в min.gz.

Спасибо нашему сообществу!

TradingView — это сообщество не только трейдеров и инвесторов, но и разработчиков. И мы хотим поблагодарить всех, кто помог нам с этим релизом:

Но это еще не всё!

Мы успели рассказать вам только о нескольких улучшениях. Полный список изменений нашей Легкой версии библиотеки графиков вы можете посмотреть на Github. Узнать больше о наших встраиваемых графиках тут.

Будем рады вашим комментариям и предложениям.

Спасибо, что выбираете TradingView!

Look first / Then leap

Открыть график