仮想通貨トレードを自動で行うBotの作り方

お楽しみ様です。
坂本です。

仮想通貨取引ではおなじみの言葉「bot」(ボット)。

「bot」は仮想通貨の自動売買取引を行うプログラム
一定のストラテジーに沿って反復取引を行うことで利益を得る手法です。

FXでいうところの「EA(Expert Advisor)」ですな。

仮想通貨であろうがFXであろうが
「人がやるべきところは人がやり
 機械(bot)に任せられるところは機械(bot)に任せる」

この自動売買化がシステムトレーダーにとってのメリットですから
「自分でbotを作って稼ぎたい!!」
と思ったことのある人は少なくないでしょう。

しかし、何から始めたらいいのかわからない。

これがシステムトレードです。

予めお伝えしておきます。

残念ながらこの記事を読んだだけで、
「bot」を作れるようにはなりません。

しかし。

まだ、botを使ったことがない人がお読みになることで
「botを作るって思っていたよりも簡単ヤン!!」
とシステムトレードのハードルを下げることができる内容になっています。

botに興味がある方はどうぞ最後までお読みになってくださいませ。

目次

仮想通貨の自動売買「bot」のプログラム言語

仮想通貨の自動売買「bot」はプログラムですから、
あたり前ですがプログラム言語で書かれています。

一口にプログラム言語といっても、
世の中には多くのプログラミング言語が存在しています。

仮想通貨の自動売買取引をするのに、
「このプログラミング言語じゃなきゃダメ。」
というものはありませんが、プログラミング言語にも
向き不向きががあるので自ずと限られてきます。

例えば、グラフィック処理に優れたプログラミング言語は
仮想通貨取引においては全く関係ありません。

そりゃあそうです。

我々の目的は「稼ぐこと」ですから
「見た目が良い」「見た目が悪い」などどうでもいいのです。

この思考が大事です。

さて。

botを作るのに適したプログラミング言語をあげるとざっとこんなところですが
汎用性が高くて使い道の多い言語が向いています。

Ruby
Physon
JavaScript
C#

仮想通貨の自動売買を行いたいのであれば
いづれかのプログラミング言語を知っておくことは大事です。

とはいっても。

記述するプログラム(ひな形のようなもの)は取引所が共有してくれるので
決して難しいものではないのでご安心なすってください。

仮想通貨取引所が自動売買「bot」のためにAPIを開放している

多くの仮想通貨取引所ではシステムトレーダーがbotを利用しやすいように
情報取得・発注・キャンセルといった機能をプログラムから利用できるようにした
API(Application Programing Interface)を開放しています。

FXの取引所の多くが自動売買を禁止しているなかで、仮想通貨取引所は自動売買の禁止を見かけません。

仮想通貨の自動売買「bot」を始めてみようと思うのでしたら、
「API Playground」という「遊び場」を提供してくれるbitFlyerがオススメです。

bitFlyerで提供されているAPIをご覧ください。

bitFlyer Lightning API Documentation

いろんな機能があって内容は理解できないかも知れませんが、
「へえ。左側のメニューにあるようなことがbotでできるんだ!!」
と思えればOKです。

仮想通貨の自動売買「bot作り」の準備をしよう

「botを作ってみたい」という高揚感が出始めてきたかも知れません。

しかし、お待ちなすってください。

「bot」を作るには当然のことながら準備が必要です。

ここでは
「bitFlyerで使えるプログラミング言語「Ruby」と使ったbotを作る」
という前提で次の3つを準備します。

  1. bitFlyerのアカウント(APIキーの発行)
  2. プログラムを実行する環境
  3. テキストエディタ

それでは順を追って解説します。

1. bitFlyerのアカウント(APIキーの発行)

「botを使って行う内容」によってはbitFlyerのアカウントが必要になります。

  • 板情報の取得
    bitflyerにアカウントがなくてもbotを使った情報取得ができます。
  • 残高情報の確認や実際の取引注文
    botにAPIキーを組み込んでおくことで、botが自分のアカウントに対して操作できる権限を持てるようになるので、bitflyerにログインして「APIキー」を発行する必要があります。

ここからはAPIキーの発行手順をご紹介します。

①bitFlyer Lightningにログインする。



②メニューの「API」をクリックする。


③「新しいAPIキーを追加」をクリックする。


④ラベル欄に適当な名前を入力し、このAPIキーに与える権限だけにチェックして、「OK」をクリックします。


⑤作ったAPIが一覧で表示されます。
 「API Key」と「API Secret」のセットで利用します。
 API Secretは、「表示」をクリックすると画面に表示されます。


⑥API KeyとAPI Secretは専用のファイルを作ってコピペで保存しておくと便利です。
 坂本の場合は2行だけのファイルを「key.rb」というファイル名で保存しています。

API_KEY = “{API Key}”
API_SECRET = “{API Secret}”

2.プログラムを実行できる環境

「bitFlyerで使えるプログラミング言語「Ruby」と使ったbotを作る」
という前提で話を進めていますが、
ほぼ間違いなく初期状態のパソコンではRubyのプログラムを実行できません。

そのため、お使いのパソコンにRubyプログラムを実行できる
アプリケーションをインストールする必要があります。

ご興味のある方は
「Ruby 開発環境」「Ruby 環境設定」
などでググってインストールなすってください。

3.テキストエディタ

プログラムを書いたり保存したりするのにテキストエディタを使います。

最初からインストールされている「メモ帳」などを使うこともできますが、
プログラミングに適したテキストエディタも無料で提供されています。

「プログラミング エディタ」でググるとオススメがいくつか見つかると思います。

坂本の場合は、シンプルさがウリの「TeraPad」というエディタを使っています。
(参考)TeraPad:https://tera-net.com/library/tpad.html

bitFlyerで動くbotを作るぞ

お待たせしました。

bitFlyerで使えるプログラミング言語「Ruby」を使ったbotをご紹介します。

bitFlyerが提供しているAPI Playgroundを利用するだけで、
Rubyでのプログラミングがサクっとできるので安心して読み進めてください。

APIキーが不要な命令

誰でも見ることができる情報の取得はAPIキーが不要ですので
ここでは「APIキー不要の命令」を作ってみます。

例として、現在のBTC/JPYの板情報を取得してみます。


①API Documentation左のメニューから「板情報」をクリックすると、
 板情報を取得するための命令は「GET /v1/getboard」
 または「GET /v1/board」だということがわかります。


②API Playgroundの画面に移って、左側のメニューから
 「GET /v1/getboard」または「GET /v1/board」をクリックすると
 product_codeを入力できるようになります。

 今回はBTC/JPYの板情報なので、最初に表示されているままでOKです。

 その下に表示されている「Submit」をクリックします。


③右の画面を下までスクロールさせるとプログラムらしきものが表示されています。
 「Ruby」タブを選択すると表示されるのが、Rubyのプログラムです


④テキストエディタを開き、これをそのまま保存します。
 一度テキストファイルとして保存してから、ファイル名を「sample.rb」に変更してください。

 拡張子を「.txt」から「.rb」に変更するのは、
 「このファイルはRubyのプログラムですよ」という意味です。

require ‘net/http’
require ‘uri’

uri = URI.parse(“https://api.bitflyer.com”)
uri.path = ‘/v1/getboard’

https = Net::HTTP.new(uri.host, uri.port)
https.use_ssl = true
response = https.get uri.request_uri
puts response.body

⑤Rubyの実行画面で「ruby sample.rb」と入力してプログラムを実行させます。

全ての板情報を取得しているので、ドエライことになっていますが
bitFlyerで使える初歩的なbotが完成です。

これであなたも自作システムトレーダーの仲間入りです。

(厳重注意)APIキーの取扱い

APIキーをプログラム内に組み込んでおけば
そのAPIキーにあらかじめ与えた権限の範囲内で
様々な命令を実行できます。

例えば、APIキーに送金の権限を持たせておくと
botによって外部に送金することもできてしまいます。

だからこそ。

APIキーを利用する場合はくれぐれも次の点に注意しましょう。

  • 必要な権限しか与えない
  • しばらく使う予定がないAPIキーは、無効にしておく
  • 外部に漏らさない
  • 漏れたかもしれないと思ったら、速やかに削除する

まとめ

いかがでしたでしょうか。

botを作るって思っていたよりも簡単だと思っていただけたでしょうか。

であれば坂本はこの上なく嬉しいですワ。

すでにお気づきかも知れません。

botを作るときに最も大切なことはプログラミングの知識でもなければ、
それ相応の堅牢なロジックでもありません。

もちろんそれ自体が大切なことには変わりないのですが、
それより大事なことがあります。

それは「諦めない」こと。

プログラムは「命令通りに実行します」が、
見方を変えれば「命令された通りにしか実行できない」のです。

プログラム自体にミスがあったとしても、
我々人間のように「融通を利かせて正しく解釈する」なんてことはありゃしません。

最初は思い通りにいかない。

これが当たり前です。

そんな時も諦めずに
「ココをこうしてみよう。」
「それともこっちをこうしてみよう。」
と仮説検証を立ててイライラせずに粘り強く
PDCAを回していくことでなんとかなるもんです。

どうぞこれを機にbotにチャレンジなさってくださいませ!!

「3つの手法」をメルマガ登録者様限定で完全無料公開しています

3つの手法の具体的手順をメルマガ登録者様限定で完全公開しています。

3つの手法
  1. 【年利100%】流動性マイニングとイールドファーミングで稼ぐ方法
  2. 【年利24%】2つの取引所を使って限りなくローリスクで高配当を得る手法
  3. ビットコインの買い時と売り時がわかる2つのチャートを使ったトレード術

「勝ち負けの投資」ではなく
「勝ち勝ちの投資」でありながら
基本的には「放ったらかし」という都合の良い手法をメールマガジンでご紹介します。

本日もお読みくださりありがとうございました。

次回もあなたのトレードに役立つ情報をお伝えしますので
どうぞ楽しみになさっていてください。

ブログランキング応援ぽち

ブログランキング1位獲得を目指してます。 応援ポチをお願いいたします!!