Liquid by Quoine APIのPython3でのつまづきそうなポイントを解説します。
基本的な使い方は前回記事で記載していますが、実装していて実際にハマったポイントを記載しています。
Liquid by Quoine APIの使い方(Python3) – Node.jsで暗号資産アービトラージ
意外にPythonの情報ってネット上に少なかったので参考にしてみてくださいね。
Node.jsでのLiquid APIの使い方はこちら
【Node.js】Liquid by quoine APIの使い方(APIで注文する方法) – Node.jsで暗号資産アービトラージ
Liquid by Quoine APIの使い方と注意したいポイント – Node.jsで暗号資産アービトラージ
Contents
Python3でのLiquid by Quoine APIでエラーが発生するポイント
レバレッジ取引の注文が通らない(product disabled)
Create an Order(POST /orders/)でレバレッジ取引で注文を出す際にproduct disabledとなってしまう場合の対処法です。
以下のエラーが返ってきます。
{'errors': {'order': ['product_disabled']}}
この場合はtrading_typeでmarginを設定していないか確認してみてください。
Liquid by Quoineのレバレッジ取引は現物とは市場が異なるインデックス取引(FX取引)となります。
そのため、trading_typeにはmarginではなく、cfd(またはtrading_typeを設定しない)が正しい設定値となります。
POSTで設定するパラメータのサンプルを以下に記載しておきます。
data = { "order":{ "order_type":"limit", "trading_type":"cfd", "margin_type":"cross", "product_id":5, "side":"buy", "quantity":0.1, "price":1050000, "leverage_level":2, "funding_currency":'JPY', "order_direction":"one_direction" } }
JWT(JSON Web Token)で接続できない
Liquid by Quoineの認証方式はJWT(JSON Web Token)が指定されているため、JWTを使ってHS256でエンコードする必要があります。
具体的なソースコードは以下を参照ください。
Liquid by Quoine APIの使い方(Python3) – Node.jsで暗号資産アービトラージ
ポイントはimportでjwtを指定していますが、ライブラリはPyJWTを使っているところです。
pipコマンドでPyJWTをインストールしておかないと認証することができません。
pip install PyJWT
requestsでエラーが発生する
環境によってはAPI接続でSSLエラーが出力されてしまう場合があります。
以下のようなエラーです。
SSLError("bad handshake: SysCallError(-1, 'Unexpected EOF')")
私の場合、「Unexpected EOF?括弧がないって?括弧はあるし、エラーが出てる箇所ってライブラリのコードじゃん!」ってなりました。
この場合、エラーメッセージには意味がなくセキュリティソフトが通信を切断してしまっている場合があります。
一度セキュリティソフトを停止してみると解決策が見えるかもしれません。
まとめ
接続ではまってしまった人は参考にしてみてくださいね。
https://kennejs.com/entry/liquid-api-python
Node.jsでの実装は以下の記事を参照ください。
https://kennejs.com/entry/2019/04/18/001955
https://kennejs.com/entry/2019/01/23/001715
コメントを残す