*

PHPで仮想通貨APIを処理するときの注意

Web APIは基本的にJavascriptで処理させることを想定していますが、これまでのようにPHPで処理することもできます。

一般的なツイッターAPIやGoogleAPIの場合、サーバー上で処理ができるPHPの方が有利そうですが、仮想通貨のトレード系APIの場合、ちょっとした問題が発生します。

サーバーが連続アクセスに対して拒絶反応をする

一般的なサーバーはDos対策がされているので、同一IPからのアクセスは一定時間の間に上限があります。それ以上アクセスしようとすると503エラーかアクセス拒否になります。

自動売買の場合、しょっちゅう計算フラグを立てる必要があるため、ここら辺がネックになります。

MT4のティックのように更新しようとするとここらへんで引っかかります。

MT4からDosした場合、セッション、クッキーの挙動がおかしくなる

MT4から自サーバーにウェブリクエスト -> 自サーバーから取引所に送信 

という方法を試しにとったのですが、この方法をとるとPHPのスーパーグローバル変数の挙動がおかしくなることがあることがわかりました。

今までMT4とセッション処理を組み合わせたことがなかったので気づきませんでしたが、MT4からウェブリクエストするとサーバー側はブラウザではないと認識して(当たり前ですが)セッションの挙動がおかしくなるようです。

セッションは別として、クッキーはブラウザに保存されるので、
当たり前と言えば当たり前ですよね。

これが何が問題なのかというと、セッション、クッキーが使えないことによって
「前にトレードした時間から何秒以内はトレードしない」
という条件文が使えなくなります。

サーバー側に値を保存したまま、ページを更新するには、セッションかクッキーかデータベースが必要です。

しかし、たったこれだけのためにデータベースを使うというのも汎用性が失われるだけだと思います。

解決策

せっかくここまで作ったので、メール送信が簡単にできるPHPを捨てるというのは結構もったいないと感じたりします。(配布するときにはやっぱりJavascriptの方が楽なんですけどね)

そこでDosのようになってしまう解決策をかるーく考察しました。

ローカルPCでPHPを動かす

これで99割解決です。(99割はネタですよ、もちろん)

自ローカルPCでPHPを動かす環境(XAMPPとか)を整えて、そこから直接取引所にアクセスすればいいのです。

長期的な自動売買をする場合はVPS上にPHP動作環境を入れるという、ホスティング会社に誤解されかねないような
方法もありだと思います。(最近はVPSでWEBサーバーとかもあるからね、多少はね。)

まぁ、しかし、開発者=利用者のときは良いですが、ソフトを配布する際にはハードルが高くなりそうですね。

MT4によるフラグをやめてブラウザでF5を自動化する

MT4によるアクセスでPHPを連続稼働させるというのが、普通じゃないといえば普通じゃないので、
ローカルPCからブラウザ経由で処理します。

これならセッションもクッキーも使えますし、自動化もUWSCを使えばそんなに難しくありません。

欠点は、自動売買している間はそのブラウザが使えなくなるということくらいでしょうか。
(UWSC使いはIEを使うことしか頭にないですが、ChromeやFirefoxの拡張機能にはF5アタックに近いツールがあるので、それを使う方が早いですね。)

Dosツールをお持ちの方はそちらを使ってどうぞ。(なんで持ってるんですかね~)

Message

メールアドレスが公開されることはありません。

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

関連記事

POLONIEXの残高参照Androidアプリを作る

POLONIEXというアルトコインの取扱数ではコインチェックの比ではない取引所があるのですが、 P

記事を読む

ビットコインでアービトラージ 現物/信用どっちがいいか

一口にアービトラージといっても取引の方法には2通りあります。 1回(交換)の取引で終了する現物

記事を読む

ローカルPCから取引所にアクセスして、仮想通貨APIの安定性と速度を上げる

これまで開発したビットコインの自動売買では、  ローカルPC -> PHPサーバー -> 取引所サ

記事を読む

APIでZAIFとbitFlyerのアカウント情報を取得する 仮想通貨の自動売買開発⑤

ビットフライヤーとZAIFのPRIVATE API ビットフライヤーのPRIVATE APIを使う

記事を読む

仮想通貨取引所APIにプロキシを使うとき

以前、取引所APIのアクセス回数上限を突破するためにプロキシをご紹介したのですが、 それに関して「

記事を読む

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

    "FX"の自動売買システムに興味がある方はinfo@aiforex.infoにご連絡ください。
    担当の方が対応します

    トレード成績はこのブログに掲載しています。


    株、仮想通貨、それ以外の私に対するご連絡は
    infoあっとfxantenna.com
    まで

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

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

ライトコインLTCのアービトラージ取引結果 binance vs poloniex

今回はライトコインのアービトラージ結果です。 最初はレート差1USD

仮想通貨アービトラージに取引所間の送金は必ずしも必要ではない

ここまで話を進めてきていまさら~な感じもするのですが、そもそものところ

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

今回はビットコインキャッシュのアービトラージの取引結果です。

ETH(イーサリアム)のアービトラージの取引結果(Binance vs Poloniex)

前回まででアルトコインのアービトラージの作り方や背景について説明しまし

→もっと見る

PAGE TOP ↑