*

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

関連記事

BinanceとPoloniexのBTCアービトラージシステム 取引結果

システムはできたので実際に稼働させてみました。 レート差(bid-ask)10USD以上でアービト

記事を読む

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

公開:2017/7/11 今回は業者間アービトラージに向け、PUBLIC APIで取得したデー

記事を読む

使用言語と方向性 仮想通貨の自動売買開発①

公開:2017/6/21 仮想通貨の自動売買プログラムを書く前に、そもそもどうやってプログラム

記事を読む

How’s the CryptoCurrency brokers in Japan?

There are several types of Crypto-currency brokers

記事を読む

ビットコインアービトラージ取引履歴

2017年8月13日の取引履歴です。 コインチェックとZaifでアービトラージしています。

記事を読む

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

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽物がいるらしいので偽物にご注意ください。
no image
[bitwallet]paypal, Netteler, Skrillの次のオンラインマネーウォレット

近頃FX業界ではbitwallet(旧:mybitwallet)という

no image
ストップレベル=0はストップレベルがないことではない

MT4/MT5では予約注文を行う際にストップレベルというものがあります

no image
私の偽者、偽ブログにご注意ください

読者の方からご連絡いただいたのですが、私のブログの内容をそのままコピー

no image
サービス展開向けの仮想通貨自動売買システムを作るには

前置き ビットコイン、仮想通貨の自動売買を作る目的として、通常は個人

一回の演算で複数のリクエストを送る 仮想通貨の自動売買⑪

公開:2017/9/4 基本的にjson形式でAPIをたたく場合

→もっと見る

PAGE TOP ↑