FXとビットコインのシステムトレードの開発録、オプション取引の履歴を書き連ねています。MT4, Pythonで開発しています。

FX・ビットコイン・オプションのシステムトレード開発と取引録

CakePHP PHP ビットコイン

ビットコインの価格情報を取得するシェルをCakePHP3で作ってみたよ

投稿日:

スポンサードリンク

ビットコインの価格情報を取得するシェルを実装してみた

ビットコインのTicker情報を取得する
プログラムって前に作ってなかったっけ?
というツッコミを頂いた方、
本当にありがとうございます。

実は以前Pythonで同じようなものを実装しました。
↓以前の記事
ビットコインTicker情報を取得するプログラムをPythonで作ったよ

今回はCakePHP3を使って同じようなものを作ってみました。

なぜ今回わざわざCakePHP3を使って
実装したのかといいますと、
取得したTicker情報を表示させる
システムを作りたい
(価格情報をグラフで表示させたい)
ためです。

現在使用しているWEBサーバーは、
レンタルサーバーなのです。

Apache+MySQLという環境なのですが、
通常のよくあるレンタルサーバーなので
SSHでガリガリ環境構築とかができません。

レンタルサーバーでWEBシステム構築というと
やはりPHPがお手軽で便利なので
今回これに合わせて取得する方も
実装し直してみました。

CakePHPですが、以前は非常によく利用していました。
CakePHP 1.2とかの頃です。

CakePHP 2でも二つ、三つほどシステムを
実装したことがあります。

しかしそこからしばらく離れていて
気がつけばバージョン3が
リリースされているではありませんか。

これは試してみるしかない!
という単純な理由でCakePHP3での実装となりました。

早速CakePHP3のソースをダウンロードしてと、
ダウンロードを開いたところから面喰いました。

ダウンロードボタンをクリックしても
ダウンロードされないではありませんか。

で、そのページに記載されている内容を
読んでみるとcomposerを使えと書かれています。

ん?composer?
何それ?
という状態でした。

初めてさわるcomposerでしたが、
手順通りに進めると意外に
あっさりとインストールが完了しました。

データベースを作成して
config/app.php を作成して
tmpやlogsフォルダの権限を変更すれば
設定は完了です。

さすがはCakePHPです。
この辺の手軽さは相変わらずでした。

テーブルを作成する

最初に、取得したTicker情報を
保存するテーブルを作成します。

各ビットコイン取引所ごとに
1テーブルずつ用意します。

各ビットコイン取引所のAPIから
返ってきた値をそのまま
DBに突っ込む形なので
テーブル構成はAPIの返り値に合わせています。

以下のSQLでテーブルを作成します。

Modelを焼く

テーブルを作成できたので
bakeでModelを焼けないか調べてみます。

するとやっぱりありました。

「bin/cake bake」で焼けるようです。

とりあえず「bin/cake bake」と打つと
以下のように表示されます。

今回はモデルを作りたいので、
bin/cake bake model と打ちます。

bin/cake bake model [モデル名]
と打てばよいようです。

など、作成したテーブル分だけ実行します。

シェルの作成

モデルができたので、
次はシェルを作ります。

最初のひな型もbakeで作ります。

シェルを焼くときには、
シェルの名前を指定するようです。

とすれば、シェルファイルが自動で作成されます。

ソースを編集

bakeで焼いたソースは
srcフォルダ以下にあります。

bakeで焼いたシェルファイルを
落としてローカルで開きます。

で、以下のように各ビットコイン
取引所ごとに作成していきます。

bitFlyerの情報取得

coincheckの情報取得

QUOINEの情報取得

Zaifの情報取得

BtcBoxの情報取得

Krakenの情報取得

Bitbankの情報取得

以上で各ビットコイン取引所のTicker情報を
取得するシェルが完成しました。

シェルの実行

シェルを実行するには、以下のコマンドを実行します。

これで各シェルを定期的に実行すれば
各ビットコイン取引所のTicker情報を
DBに保存できます。

スポンサードリンク

-CakePHP, PHP, ビットコイン
-, , ,

Copyright© FX・ビットコイン・オプションのシステムトレード開発と取引録 , 2020 All Rights Reserved Powered by AFFINGER5.