TakayukiKoyama Geek Blog

Create, Entertain, Experience

ビットコイン(BTC)等を自動売買するシステムを学ぶ

目的

  • 冬休みになにか作りたい
  • 仮想通貨の自動売買システムを作ろうかな

学ぶ手順

  • Udemyの講座を見る
    • 並行して実装
  • 自分のやりたいようにカスタマイズ

Udemyの講座を見る

Rubyで作る! ビットコイン自動売買システム | Udemy

Rubyの基礎からbitFlyerの売買APIの使い方まで紹介している動画を見てみた。 Rubyはそれなりに慣れているので、「Rubyに入門しよう」をすっ飛ばして「bitFlyerAPIを使ってみよう」から開始。

動画を参考にして、拡張しやすいように作り変えながら自動売買のベースを作った。

自分のやりたいようにカスタマイズ

自分が追加したいと思った機能のは以下の通り。

  • ソースをGithub管理
  • CircleCIと連携させる
    • 追々、テストコードも書く
  • 自動デプロイ
  • デーモン化
  • Slack通知

ソースをGithub管理

これは特に改めて言うこともなく。。。

CircleCIと連携させる

CircleCIでGithubと紐づくように設定するだけ。

参考:GitHubとCircleCIを連携させる - Qiita

自動デプロイ

Rubyで書いているのでCapistranoを使ってみた。

デプロイ先はAWSのEC2にしようかなと思ったけど、最近使ってなくて時間がかかりそうなのでやめた。 ひとまず、さくらVPSをデプロイ先にする。

GithubやさくらVPSSSHに結構つまずいてしまった。

(追記)デーモン化

デプロイしたらそのままプログラムがずっと動くようにデーモン化したい。 下記を参考にシェルを叩いてデーモンが動くようにした。

Ruby - スクリプトをデーモン化! - mk-mode BLOG

Slack通知

GithubとCircleCIのSlack連携はボタンをポチポチするだけ。 Rubyから自動売買結果などを通知する仕組みは以下を参考にこれから作ってみようと思う。

RubyでSlack通知をする - SHOYAN BLOG

まとめ