こんにちは(。・ω・)ノ゙ コンチャ♪
なおきです!

先日の記事で書いたアビトラ(アービトラージ)プログラムですが…やっとテストできる段階になりました!
何で10日間ほどの長い時間が掛かったかと言いますと…
…
…
完全にAPI仕様の理解不足です( ̄▽ ̄;)
何を理解できてなかったの?
どういうことかと言いますとbitbankから他の取引所に送金する際のAPI(request_withdrawal)へ渡すパラメータにuuidという項目があり、送金先のアドレスだと思ってそれをパラメータにしていたらずっとエラーが返ってきてひたすら悩んでました…
最初はPHPというプログラミング言語で作っていたのでライブラリを使っておらず、自分のAPIの呼び出し方が悪いのかな~と思い、bitbank公式のライブラリがあるPythonというプログラミング言語に変えてやってみることに。(ライブラリを使えばパラメータを設定してコールするだけなのでもっと簡単)
Pythonは使ったことなかったので環境設定や文法、実行方法まで戸惑いながらなんとかライブラリをインポートし、実行してみると…やっぱりエラーに。(エラー内容はuuidは不正ですとなっている)
確かにパラメータ仕様に送金先アドレスとは書いてませんでしたが、他のパラメータに送金先アドレス入れれるようなところはなかったので絶対そうだと思い込んでいました。
訳が分からず途方に暮れながら、API仕様をよくよく見てみるとrequest_withdrawalのすぐ上に何やらuuidを取得できそうなAPI(withdrawal_account)が…(。´・ω・)ん?
これかーーーー!!
これでuuidを取得し、request_withdrawalで送金かけてみると…普通に成功しました!
これまでの苦労は何だったのか( °_° )←おっちょこちょい。
自分のミスだった~これに何日費やしたのか・・・でもとりあえず解決できたからピッチあげなきゃ・・・でもとりあえず今日は寝ようか。
こんなミスする人はいないと思いますが、良かったら参考にしてください!笑
まあPythonならライブラリもあるし、自PCで開発できるし、実行も簡単だし、Pythonの勉強にもなったし良しとしよう!と自分に言い聞かせています。笑
とりあえずテストできる段階になりましたが、またまだテスト段階で動かしてみたら全然うまくいかないかもしれないので(最初から上手くいくわけない)まだまだどっかでつまづきそうですが、進めていきます!!
前回からの変更点
- レンタルサーバを借りるのはやめて自PC上で開発&実行。上手くいって24時間動かし続ける必要が出てきたらまたサーバ借りるかも。但し、xserverはpipでパッケージを入れることができないようなので別のとこにします。
- 言語はPython+Anaconda。
- 根本的なロジックは前回と同じでBTC建てでBTCを増やすことを目的としていく。通貨ペアは、BCH-BTC、ETH-BTC、mona-BTC。余談ですがbitbankだとBCHじゃなくてBCCと言うんですね、どこでも統一してほしい。笑
- 使用する取引所はとりあえずZaifとbitbank。CoincheckはAPIでの送金がBTCしかできない?bitFlyerはAPIがいっぱい?あってよく分からず。Zaifのプラットフォームを使ってる?フィスコも追加するかも?
- 懸念点としてはBTC建てにすることで完全自動化を狙っていたが、bitbankから送金申請をすると登録しているメールアドレスにメールが来て承認しないといけないようなので半自動プログラムになってしまいそう( ̄▽ ̄;)bitbankさん…これなんとかならないですかね?