概要
Bitflyerではリアルタイムにポジションを確認するAPIが用意されたいるわけではないので、
いちいちRESTAPIを叩いて確認しないといけません。
API制限があるためできるだけAPI呼び出しの回数は減らしたいし、リアルタイムでポジションが分かると、次の行動が早くできるので、高頻度Botを動かすにあたってリアルタイムポジション管理
は必須と言ってもいいのではないでしょうか。
そこで今回はポジション管理システムを作ったときのことを書こうと思います。
言語: Scala
仕組み
BitflyerのWebsocker配信を見ることで約定した注文のID
を取得することができます。
そこでBotが出した注文のIDを保持しておき、Websocketのデータと比較することで、約定したかどうかが、比較的すぐに分かります。
ただWebsocketの接続が切れたりすることもあるので、一定時間ごとに
ポジションをRESTAPIで取得することで、ズレを最小限にできます。
サンプルはこちらですが
もう少しだけ詳しく説明しようと思います
使い方
編集中...
完成品
終わりに
まだ開発途中なので、利用は自己責任でお願いします?
使い方で質問があったり、バグなどありましたらTwitter(@take_btc)までどうぞ!
コメント
Does your site have a contact page? I’m having trouble locating it but,
I’d like to shoot you an e-mail. I’ve got some creative ideas for your blog you might be interested
in hearing. Either way, great website and I look forward to seeing it improve over time.