【初心者向け】仮想通貨ボット解説③Cloud9でBOTが稼働する仕組み
※この記事は最後まで無料で読めます
前回のリンクはこちらです▼
【初心者向け】仮想通貨ボット用語解説②API・ライブラリ
こんにちは。めんです。
今回は、Cloud9のBOT環境構築について、どのような仕組みで実際動いているのかという点について、詳しく解説していきたいと思います。環境構築の手順については、以下のnoteを参考にしてください。
手順1:AWSアカウント登録手順
私の作成したFCOINマーケットメイカーBOTを例にして、システム全体の概要図をもとに説明します。
参考にしたBOTについてはこちら▼
AWS Cloud9でFCOIN用マーケットメイカーBOT
◆システム概要図◆
Cloud9にてBOTで仮想通貨取引所の自動売買ができるシステム概要は上の図の通りです。
まず、必要となる外部ライブラリをCloud9のインスタンス環境にインストール必要があります。 ※①の矢印
BOT設定のnoteでも説明しましたが、ターミナルで以下のコマンドを実行することで、Githubなどの外部プラットフォームよりライブラリをCloud9の環境にインストールすることができます。
sudo pip-3.6 install ccxt
ターミナルでコマンドを入力しENTERで実行
ファイルがダウンロードされ・・
インストールが完了
所定のディレクトリ(フォルダ)にccxtライブラリがインストールされました。
ccxtディレクトリの中に「fcoin.py」をはじめ、各取引所毎に作成された、ccxtライブラリ標準の規格で注文・残高取得・注文キャンセルなどのAPIリクエストが行えるpythonプログラムがインストールされていることが確認できます。
参考リンク:Python3とCCXTを使用して仮想通貨の自動売買botを作る
他に仮想通貨で使う有名な外部ライブラリとしては、
テクニカル指標の数値を簡単に計算できる「Ta-lib」
チャートなどの画像描写ができる「Matplotlib」
などがあります。
これで、①のCloud9環境へのインストールができました。次はインストールされたccxtライブラリに含まれる「fcoin.py」を使って自動取引を行うために、pythonプログラム内でインポート(プログラム内で使えるようにする)を行います。 ※②の矢印
まず、テストプログラムで、ccxtライブラリをインポートし、「success」とテキストを出力するテストを行います。
実行すると、「ccxtというモジュールがない(ImportError: No module named ccxt)」というエラーが発生してしまいました。
上でしっかり所定のディレクトリにインストールされていることは確認しましたよね。これは、import命令時にファイル検索が行われるディレクトリに、ccxtがインストールされている「/usr/local/lib/python3.6/dist-packages」というディレクトリが含まれていないためです。
ちゃんと検索されるようにするには、設定の「Python Support」> 「PYTHON PATH」に上記ディレクトリを追加する必要があります
※これを「PATHを通す」といいます。
設定を開く
ここが「PYTHON PATH」
/usr/local/lib/python3.6/dist-packages
上のPATHを追加します。(間に「:」が必要)
PATHを追加した後に実行すると、エラーが出ず「success」と出力されました。
これで、ccxtライブラリが使えるようになったので、
fcoin = ccxt.fcoin()
このコードで、ccxtライブラリ内のfcoin.pyから「fcoin」という名称のインスタンスを作成します。
ざっくり言うと、「〇〇.py」のファイルは設計書なので、そのままでは使えないため、実現化(インスタンス化)をしないといけません。車でいうと、車の設計書が「〇〇.py」などのファイルにあたり、実現化(インスタンス化)されたものが「車」の現物となります。実際に車を運転するには、「車」の現物のハンドルを回さないとできないように、プログラムも命令を実行するためにインスタンス化は必ず必要なことになります。
最後に、インスタンス化された「fcoin」を利用して、設計書「fcoin.py」の中に書かれている処理も実行することが可能となるので、「新規注文」や「注文キャンセル」等、仮想通貨取引所に関する様々なAPIリクエストを行うことができます。 ※③の矢印
次回以降は、pythonプログラムの内容について、詳しく解説していきたいと思います。今回のnoteではざっくりでいいので全体のイメージを理解してももらえたら幸いです。
以上です。お疲れさまでした!!
次回のリンクはこちらです▼
【初心者向け】仮想通貨ボット解説④python基礎 その1
この記事が気に入ったらサポートをしてみませんか?