*

【MT4MT5】チャート上にWEBサイトの情報を載せる その2

公開日: : FX自動売買開発 , ,

今回はWEBサイトから取得したデータのスクレイピングです。
スクレイピングとは、すごい長い文字列から欲しい文字列だけを抽出することです。

基本的にWEBサイトは、

の構成になっています。

まず第一段階として、ヘッダの情報はいらないので削除します。

StringFindで<bodyまでの文字数をカウントし、最初からそのカウントまでの文字を””に変換します。

<body>としてタグを閉じてしまうと、<body class=””…となっているWEBサイトの場合に対応できないので、<bodyで検索をかけます。

(<スペースbody となっていないことを祈るばかりです。)

これでHTMLのbodyだけを抽出できました。

あとはこれの繰り返しです。

多くのサイトはテンプレートを使っているかワードプレスのようなCMSなので、同じような構成です。

テンプレートを使っていない場合でも、基本となる”暗黙の了解”のようなものがWEBの世界にはあるので、

メインとなる箱はたいてい
<div class=”main”>とか<div id=”wrapper”>とか<div class=”container”>
とかだったりします。

ある程度欲しい情報のまとまりが取れてきたら、今度はHTMLタグを外します。

また、日本語のサイトを表示させようとすると文字化けすることがありますが、
これはもう仕方ないです。

“自サーバーで文字コードを変換する”とかしかありません。

基本的にMQLは文字化けに滅茶苦茶弱いので、というか文字化けに対応させようとする気がメタクオーツ社にあまりないので、

MQL内で文字コードの変換はできないものと思っておいてください。
(今後のアップデートで改良される可能性はわずかながらにあるかもしれません。)

また、WebRequestはティック更新ごとに行うと十中八九Dos攻撃とみなされ、WEBサーバーがアクセスを一定時間拒否します。

1分に一回くらいのアクセスにしておきましょう。

(逆に言えば、EAでDos攻撃ができるわけです。)

Message

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

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

関連記事

【MQL4】外部ソフトなしで稼働するコピートレードツールを作る。その③

まずは、コピー元のプログラムを作ります。トレードを受信する側よりもかなり簡単です。 コピー先

記事を読む

EA化できないインジケーターをむりやりEA化する方法

意外と知られていないようなので、ちょっとした小ネタです。 世の中にはいろいろなインジケーターが

記事を読む

MQLxPHP サーバを経由するコピートレードツールを作る3

今回はトレードを受信する方のEAを作ります。 トレードデータを送信するEAと比較すると、 ト

記事を読む

トレード履歴からEAを復元することは可能か

「優秀なトレード履歴からEAを復元することはできるか」 という問い合わせをたまにいただきます。

記事を読む

第20回:複数のポジションを識別・判別する

口座内の異なる通貨ペア、マジックナンバーのポジションを区別する MT4では同時に異なる種類のポジシ

記事を読む

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

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

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

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

コインチェックAPIで信用取引 仮想通貨の自動売買⑩

公開:2017/9/4 これまではAPIで現物取引を扱ってきまし

POLONIEXのAPIでビットコインのヒストリデータを取得 仮想通貨の自動売買⑨

公開:2017/9/4 国内の取引所でもAPIを発行している取引

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

公開:2017/7/11 今回は業者間アービトラージに向け、PU

CoinCheck,bitFlyerにAPIでオーダーを出す 仮想通貨の自動売買開発⑦

公開:2017/7/10 「Private apiでそれぞれの取

→もっと見る

PAGE TOP ↑