せっかく仮想通貨自動売買ツールを作っても24時間稼働しないともったいないです。
ここでは仮想通貨自動売買ツールの基礎となる知識から、安定稼働に向けてのヒント、
カスタマイズポイント、今後の改善余地なども併せて書いていきます。
最終目的
- 24時間安定稼働
- 予期せぬエラーが発生した場合は原因を特定しやすい作りにする
- 死活監視をする
- 保守しやすいコードにする
- カスタマイズ可能な作りにする
24時間動き続けるために
24時間動き続けるためには、安定した稼働が必要です。
そのためには不具合が発生したらすぐに検知する仕組みを用意し、不具合を検知したら直す、という工程をある程度繰り返す必要があります。
今回は、不具合を検知する仕組み、異常終了を検知する仕組み、うまく稼働しているか確認する仕組みを導入し、
修正しやすいプログラムを作っていきます。
最終的には24時間稼働し、勝手に稼ぎ続けてくれるプログラムを目指していきます。
仮想通貨自動売買ツール自体の仕様
- ボリンジャーバンドを使用し、値下がりしたら買う⇒カスタマイズポイント 購入タイミングのアルゴリズムは自分好みに置き換える
- 一定の収益が見込める額になったら売る
- 一定の額に下がったら売る(損切り)
- 購入をしたら売却モード(価格の監視)、売却したら購入モード(ボリンジャーバンドの監視)に切り替える
- ボリンジャーバンドのために一定間隔で価格情報を取得する(別スレッド)
- サーバーによる死活監視、状況を定期的に監視し、LINEに通知する
使用環境
- 稼働OSは Windows、LinuxのどちらでもOK。dockerや仮想サーバーでもOK。AWSやAzureなどのクラウドでもOK。
- 言語はPython
- 外部ツールとしてLine Notifyを使用
- 暗号資産(仮想通貨)取引所はCoincheckを使用。APIが提供されているか、ccxtが対応していれば他でも可能
- 暗号資産(仮想通貨)はBitcoinを使用。もちろん他のでも可能
- 開発環境はWindows上でVisual Stucio Code(VSCode)を使用。慣れた環境でOK。
取引履歴サンプル

画像の履歴は古い方が下。ある一回分の取引。
17,093円で、0.00599825BTCを購入し、値上がりしたタイミングで売却(17,285円で売却)した。
買う量、売るタイミングは設定で変更可能。
ちなみに私はCORESERVERで24時間運用しています。
