謎のチャート1.0.0リリース!

April 29, 2020

bitFlyerのローソク足では見えてこないデータに特化して可視化した謎のチャートをリリースした。

nazono chart

完成版URL

謎のチャート

https://www.ultra-noob.com/bitflyer/

はじめに

BLOGネタとしてデータを弄って遊んでいたら気がついたら一つのサイトになってしまった。

これが投資に役立つかどうかは相変わらず疑問だが動きを見るだけでも楽しんで欲しい。

bot運用においては基本中の基本とも言える情報群であるので引き続き何か他で利用出来たら良いと考えている。

bitFlyerに限っても秒足の生成、乖離情報、FX以外のデータ等まだやれることはある。他の取引所からの情報もミックスして新たなチャートを生成するのも面白いと考えている。

チャート設置の目的

BLOGの記事目的で制作していたものが形になっただけのものであり収益化等は一切考えていない。

現状はサーバーコストもかかっていないため完全無料で使用できる。

よって当BLOGのアクセス負荷に応じて広告が入る可能性はある。

使用上の注意

これはクライアントサイドで動作するプログラムである。私のサーバーはプログラムの提供のみであり実際のデータ通信や内部処理は各クライアント側(PCやモバイル機器)のブラウザ上で行われている。

想定外の通信量やPCの故障等の不利益があっても一切の責任は負わないのでご了承願いたい。

通信する取引所とデータについて

完全にクライアントサイドのみで動作するプログラムであり、通信はすべてbitFlyerのRealtime APIに接続することで成立している。

クライアント側のAPIキー等は不要でページを読み込んだだけで利用できる。セキュリティ上危険なものを入力する必要もなくユーザーのデータ収集も行っていない。

使い方

まずは左側のパネルから操作する。各番号に対応した解説をする。

① 欲しいチャートを左のリストからチェック

2020 04 29 16h51 46

チェックをいれたチャートが描画される

② チャートの配置を入れ替える

2020 04 29 16h52 27

上下ボタンでチャートの配置を移動できる。

③ 横幅を最大化

2020 04 29 16h54 49

各チャートそれぞれ横幅を大きく出来る。

④ チャートの縦幅を微調整

2020 04 29 16h55 54

すべてのチャートを一括で縦幅を調整する。

チャートが大きく画面が見切れるケースで特に有効。

⑤ (使用しなくて良い) 接続・切断

2020 04 29 16h56 30

内部仕様で「ロード時に接続/切断されたら再接続」が全自動で行われるためこのボタンはクリックしなくてもよい。

画面を表示したまま席を外すなど通信量の削減や描画負荷を一時的に停止したい場合に使用する。

⑥ パネルの表示/非表示

2020 04 29 16h57 02

画面が小さいクライアントは左側の操作パネルが表示されないのでこのボタンで表示非表示を切り替えられる。邪魔な場合もオフにすると良い。

⑦ 個別の詳細設定

個別で設定できる項目は⑦から行う。

2020 04 29 16h06 36

チャートの種類

Depth Chart - 板の厚み

★最も処理が重いチャートのためブラウザが遅くなる場合は設定が必要

2020 04 29 16h11 14

  • 赤:売り板(ASK)
  • 緑: 買い板(BID)

それぞれの板は累積となっており前の板に加算する仕組みでグラフは上昇する。

つまりグラフが急になっているところほど大きな売/買が溜まっていると言える

個別設定

2020 04 29 16h14 47

① ON/OFFボタン

チャート表示を消さずに動作を一時的に停止出来る。利用価値は特に無いが停止中は処理が軽くなる。

スナップショット的な利用を想定。

② 階級の値幅

大きくしたほうが処理が軽くなる。

bitFlyerの指値は1円単位で可能なため表示することは数が多すぎて難しい。そのため値幅を纏めて1本の棒グラフとして表示している(初期設定では10円ごとに厚みを纏める)

③ 描画間隔

大きくしたほうが処理が軽くなる。

板の差分が送られてきた回数がこの数値に達した時に描画が更新される。内部の更新頻度自体には影響がなく描画負荷軽減のためだけの機能。

④ 描画する価格範囲

小さくしたほうが処理が軽くなる。

現在の価格(中央値)からの幅。グラフを拡大/縮小のイメージで使用する。

範囲を狭くするとその範囲しか描画されないため処理が軽減される。

bitFlyerの板の厚みは概ね3000円以下に集中しているためあまり広く見る必要はない。初期値推奨。

Delay Chart - サーバーの遅延

2020 04 29 16h28 02

理論上サーバーからのデータに入るタイムスタンプはクライアントで受信した時間より早くなるはずである。

つまりこの差が「遅延」である。

遅延はサーバー側の負荷やネットワークの経由など様々な理由が考えられる。

グラフだけでは分かりにくいため左上に遅延時間をミリセカンドで表示した。

個別設定

① ON/OFFボタン

Depth Chartの①に同じ

② X軸の表示件数

この件数より古い過去のグラフは消去されていく。減らすことにより処理負荷を軽減。

③ 誤差補正

最も重要な項目。

サーバーとクライアントの遅延計測にはPC(モバイル)内の時計が正確である必要がある。

例としてWindowsは2秒の誤差を許容しているため誤差計測が非実用的な数字になってしまう。

そこで画面下にあるTime.isにアクセスしPCの時計のズレを正確に計測してこちらに入力する。

0.2秒遅れています と表示された場合は 誤差補正を「0.2」にし「」をチェックする。

Ticker Chart - ティッカー

サーバーから1秒未満に1回おくられてくる情報。買い板の最高値(bid)、売り板の最安値(ask)、最後にトレードされた価格(Last Trade price)が含まれている。

チャート上部の凡例をクリックすれば要らないラインを非表示にできる。

2020 04 29 16h39 07

設定項目は他で説明した項目に同じ。

Spread Chart - 買いと売りの価格差

2020 04 29 16h43 25

Best Ask(最も安い売り板) から Best Bid (最も高い買い板) の価格を引いた値。

これをスプレッドと呼び、mmbotはこの差を得ることで収益を上げる。

差分更新ごとにデータを更新するため理論上最速の方法だと考える。

早すぎるため人間の目では参考程度にしかならない。

設定項目は他で説明した項目に同じ。

以上

不具合等あればご連絡いただければと思う。

後日連絡フォームのようなものを設置するか検討中。

この記事をシェア:

author icon

仮想トイレ @CrypticToilet
プログラミングや仮想通貨のシステムトレードに関する情報を更新中!どんな情報を流しても詰まらないトイレ。