*

APIでコインチェック、ZAIF、bitFlyerのレートの比較&トレード 仮想通貨の自動売買開発⑧

公開:2017/7/11

今回は業者間アービトラージに向け、PUBLIC APIで取得したデータからbidとaskを抽出し、それぞれを比較します。
Private APIに比べると超簡単です。

WEB APIで取得したデータはJSON形式で返ってくるので、(いらない情報てんこ盛りで)、必要な情報だけを連想配列に格納します。

あとはこれをPHP上で比較するだけです。

ひとつ注意しなければならないのは、PUBLIC APIの取得に失敗すると、それぞれの値が0になってしまう可能性があるということです。

比較する場合は、その前に0ではないこと(取得に成功していること)を条件に入れましょう。

また、例ではメッセージを表示するだけですが、PHPなのでメール送信が可能です。

PHPだからメールで取引状況を確認できる!

これ、結構メリットだと思います。JavascriptやC#でもできないことはないでしょうが、やっぱりサーバーサイド専用の言語であるPHPにはかなわないと思います。

コーディングしているとき、「Javascriptで書いて、HTA化すれば良かったんじゃね?」と頭をよぎりましたが、このメール機能の実装によりPHPの方が良いような気がしてきました。

これで、「取引が発生したらメール送信する」といったことができるので、外出先でも確認できます。

単位時間当たりの大量取引を防ぐ

お察しの通り、これだけの条件文では、ある一定時間に大量にトレードする可能性が発生します。

EA(為替の自動売買プログラム)の場合、public変数やグローバル変数で、「前にトレードした時刻」を記録することが可能ですが、PHPの場合、基本的にアクセスする度にデータは消えてしまいます。

ではどうするかというと、会員制サイトでよく使う”セッション”を使います。

アクセスする元のIPが常に一緒であるからこそ、できる方法です。もしPHPの起動方法がDDosチックなやり方の場合、この手法は使えません。(そんな人いないか)

つまり、
ローカルPCのブラウザ → PHPサーバー → 各取引所APIサーバー
という図式です。

PHPをXAMPPなどでローカルで稼働させ、UWSCか何かで連打する方法もありだと思います。

私は海外VPS(仮想デスクトップ)が一つ余っているので、上の方法をとりますが、将来的に自動売買させて放置するのであればVPS上でやるのが一番いいと思います。

(VPSは余力がある場合にレンタルすればOKです。)

このコメントはWEBに公開されるので、問い合わせ等はメールでお願いします。

関連記事

ビットコイントレードができるMT4/MT5ブローカー

公開:2017/11/24 前に調べたときは1社くらいしかヒットしなかったのですが、 知らぬ

記事を読む

仮想通貨取引所のチャット音声自動読み上げシステムを作る4 音声読み上げAPIに投げる

最近は便利なものでWEB上でAPIを使って音声読み上げができるんですよね。 一昔前はソフトークとい

記事を読む

独自のビットコイン決済システムを作って手数料を0%にするやり方

オンラインショッピングなんかをやっているとビットコインで決済できた方が便利なことがあります。 pa

記事を読む

ビットコイン自動売買システムの作り方 一覧

今ならAPIの仕様の改良により、 CoinCheck、ZAIF、bitFlyer、POLONIEX

記事を読む

APIで取引所のレートを取得する 仮想通貨の自動売買開発②

公開:2017/6/21 PHPプログラマと言っても、いろいろな分野の人がいるわけで、WEB系

記事を読む

 
  • ブログ管理人の横瀬兼元(ペンネーム)です。

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽者がいるらしいのでご注意ください。
他通貨対応H4,D1用EA(ex4)

H4 EURUSD 2018/1/1~2018/12/31 H

Q&A iCustomのEAのエラーについて

Q. 第24回:iCustomでインジケータをEA化するというサイ

【MT4】SP500,日経225,FX用EA(無料配布)

SP500 2018/1/1~2018/12/31 D1 PF:1.

【MT4】H4, D1用EA(プレゼント企画)

EURUSD 2018/1/1~2018/12/31 D1

質問回答コラム

Q. 管理人さん自身はEAで運用しているのですか A.  して

→もっと見る

PAGE TOP ↑