「軽量チャート3.0」をリリースしました事をお知らせ致します。同時に2つの価格スケールを表示する機能、可視データの左または右からバーの数を数える機能、カスタム日付フォーマットを使用する機能、自動スケール範囲を上書きする機能などを追加しました。この記事では、これらの各アップデートについてのご説明と最新バージョンの軽量チャートのご利用開始方法をご紹介します。
重要な変更点
まず今回のリリースは軽量チャートライブラリのメジャーアップデートであり、重大な変更が含まれています。
- subscribeVisibleTimeRangeChange と unsubscribeVisibleTimeRangeChange のメソッドは相当共 ChartApi から TimeScaleApi に移動されました。
- 3.0のリリースでは、系列を配置する価格軸を指定できます。系列を価格スケール間で移動する場合も同様です。
スムーズな移行を行う為の包括的なガイドとして最新の重要な変更のドキュメントをご覧ください。
2つの価格スケール
最初の公開バージョン以来、軽量チャートライブラリでは、同時に(左または右の)1つの価格スケールの表示のみ可能でした。バージョン3.0では一度に最大2つの価格スケールを表示する事ができます。つまりチャートに2つの異なる系列を追加して、それらを異なる価格スケール(1つは左側、もう1つは右側)に配置する事で両方共に表示されます。さらに、オーバーレイの場合でも、同じ価格スケールに複数の系列を配置することも可能です。従ってすべての出力を個別の系列として複数のアウトプットを持つ独自の分析を作成して、それらをすべて同じ価格スケールに配置する事で一緒にスケーリングする事ができます。
バーのカウントとバーの可視性
アプリを開発していて、ユーザーが過去データを左にスクロールした時の継続的なデータ読み込みを実装する必要があるとします(こちらで確認できる様な)。これはチャートソリューションのかなり基本的な機能です。
軽量チャートライブラリのバージョン3.0には、この機能に関連する多くの改良があります。例えば、表示されているバーの左側または右側から系列のバーの数に関する情報を取得できるようになりました。また予測して新しいバーを先に読み込む事で、フリーズや読み込みの遅延をユーザーに表示しない様にすることもできます。例えばユーザーが左にスクロールした時に追加のバーの読み込みを開始する事で、過去バーを50〜100本だけにするなどです。
さらにAPIは複数のチャート間でスムーズに同期する可視範囲(例.TradingViewのマルチチャートなど)にも適用できます。1つのチャートを移動すると、他も一緒に移動します。
日付フォーマット
以前は、ご利用可能な日付形式のリスト(合計19形式)はハードコーディングされており、より必要な要件に適する独自のフォーマットにカスタマイズして使用することができませんでした。
3.0ではこれを変更し、カスタム文字列を日付形式として使用できるようになりました。例えば、季節性のチャートに適した `yyyy-dd` や `yyyy` を使用することもできます。
カスタムフォーマットは、日付プレースホルダーを利用した任意の文字列として設定することができ、対応する日付の値に置き換えられます:
- `yyyy` – 長い年の形式(例.2020)
- `yy` – 短い年の形式(例.20)
- `MMMM` – 長い月の形式(例. July)
- `MMM` – 短い月の形式(例.Feb)
- `MM` – 数値の月形式(例.03)(必要に応じて頭の0付き)
- `dd` – 月の日(例.15)(必要に応じて頭の0付き)
系列の価格範囲のオーバーライド
デフォルトでは、軽量チャートライブラリは、チャートに表示されているすべてのデータを使用して自動スケールモードでの価格範囲を計算します。ただし、系列を負の値にさせない場合など何らかの方法でそれらを変更したい場合には、正の値として反映できるように価格帯を変更でき、軽量チャートライブラリはそれに応じて価格範囲を調整します。
系列マーカーにテキストを追加する機能
系列マーカーは、チャートのUXを改善するのに役立ちます。系列のバーの脇にマーカー(矢印、円、四角など)を表示できます。新しいバージョンの軽量チャートライブラリでは、各マーカーに署名やテキストを指定して、キャプションやメモを追加することができます。
時間を座標に、またはその逆に変換するAPI
場合によっては、チャート上の特定の日時に上部へのヒントやテキストを配置する必要があるかもしれません。バージョン3.0では時間を X 座標(またはその逆)に変換して、基本的にAPIがスクリーンの座標を設定する機能を追加しました。さらに表示される価格スケールの幅(左または右)を取得できるようになりました。これは例えば左の価格スケールを表示している時に、チャート内の正確な座標を取得する必要がある場合に役立ちます。
価格スケールの目盛りを非表示にする機能
価格スケールの目盛りはマイナス記号の様に見える事から混乱を招く場合があります。このシンボルを無効にして表示を停止する事ができる様になりました。これはよりスペースを確保したい場合に、チャートの目盛りを非表示にして混乱を招く表示が無くなる事を意味します。
さらなる機能、より小さなバンドル
「軽量」の意味のひとつはサイズです。軽量チャートライブラリの最初のバージョンでは、min.gzで約43.7KBでした。それ以降数多くの新機能を追加しているのでサイズもそれに連れて大きくなっていると思われるかもしれません。しかしこれは異なります。
このリリースでは様々な技術を適用してサイズを縮小し、より小さなバンドルサイズでご提供が可能となりました。従ってこの軽量チャートライブラリのバージョン3.0では、min.gzで42.4KBとなり、以前より小さいサイズですが、機能やツールが追加され満載されています。
私たちが使用した縮小の技術は軽量チャートに固有のものではありません。ご自身のプロジェクトでもそれらを使用する事ができます。この私たちのプロセスの詳細にご興味がある場合には、GH #436 と GH #432 をご確認ください。これらは特にライブラリのサイズ縮小に関するものです。私たちのテストでは、これらの技術によりバンドルサイズを非圧縮の形式の場合、最大で30%、圧縮のmin.gzの形式で最大10%削減できる事が確認されています。
コミュニティに感謝致します
TradingViewは、投資家やトレーダー、プログラマーの方のコミュニティです。このリリースに協力して頂いたすべての貢献者に感謝を申し上げます:
もっとお見せしたいものがあります
この投稿では、軽量チャートライブラリ3.0の新機能について表面をなぞっただけです。すべての変更については、Githubのノートで詳細と情報をご確認下さい。軽量チャートライブラリがどの様に活用できるかは、チャートライブラリのページをご覧ください。
このアップデートがお役に立てば幸いです。いつものようにコメントやご提案、フィードバックを引き続きお寄せください。あなたの為に構築する事が私たちの喜びです。