*

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に公開されるので、問い合わせ等はメールでお願いします。

関連記事

Zaifに自動ログインする【UWSC】

Zaifのログインも基本的には一般的なログインと同じです。 ただし、IPアドレスか何か不明です

記事を読む

仮想通貨取引所のチャット音声自動読み上げシステムを作る1 概要

取引所でデイトレードしているとチャットが目につくことがあります。 注視するほど内容は濃くはない

記事を読む

アルトコインのアービトラージ自動売買について

たまに「アルトコインの自動アービトラージシステムを作れませんか」、という質問が来るのですが、国内の取

記事を読む

BCH(ビットコインキャッシュ)のアービトラージの取引結果(Binance vs Poloniex)

今回はビットコインキャッシュのアービトラージの取引結果です。 日本時間 bid(売値)

記事を読む

BinanceとPoloniexの自動アービトラージシステムを作る3

Binanceのオーダーができるようになったので、一応PoloniexのAPIによるオーダーもおさら

記事を読む

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

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽者がいるらしいのでご注意ください。
質問回答コラム

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

【MT5】MACD, ストキャスティクス, モメンタムEA(配布)

GBPUSD 2018/1/1~2018/12/31 H2

【MT5】 3通貨相関アービトラージEA(無料プレゼント)

EUR, GBP, USD の3通貨の相関を利用したさや取りトレード

no image
仮想通貨対応マーチンゲールEA(無料配布)

USDJPY 2018/1/1~2018/12/31 Spread:

最適化なしで勝率98.31%()のトレードシステム【あげます】

GBPUSD D1 Spread:2 2018/1/1~2018/1

→もっと見る

PAGE TOP ↑