
経済指標発表の内容を自動で取得して、MetaTraderのチャート上に表示させる方法について研究します。
「みんかぶFX 経済指標カレンダー 予想&速報」の内容の表示にチャレンジします。
可能であれば、指標発表前にスマホアプリにLINEでプッシュ通知を送ることも視野にいれていきます。
みんかぶFXのデータを取得するには?
数ある経済指標サイトの中から、「みんかぶFXの 経済指標カレンダー 予想&速報」を選んだ理由は、
前回変動幅があるから
です。
運営会社がしっかりしている、日本語であることなどもありますが、他サイトでは提供していない、前回の同じ指標発表時にどれくらい値が動いたか?がわかるのは、ここだけのようです。
各指標の予想値がどうか?よりも、それがどのように相場にはねるか?の方が、直感的に判断しやすい気がします。
前回の発表でこんなに動いたんだから、発表前に手仕舞いしよう・・・とかいう判断ができればよいですよね。
そんな魅力的な「みんかぶFX 経済指標カレンダー 予想&速報」ですが、プログラムからアクセスするためのAPIや、CSV・JSONでダウンロードするような機能は提供されていません。
しかし、経済指標カレンダーのHTMLをよくよく見てみると、JSONで取得できそうな要素をもっていることがわかります。
MetaTraderのEAやスクリプトでは、WebRequest関数を使って指定したURLにアクセスしHTML形式のデータを取り扱うことは可能です。
しかし、非力なMQL言語でHTMLの文法をパース(<tr><td>といったHTMLタグを構文解析)することは現実的ではありません。
今回私がチャレンジした方法は、Google Apps Script(GAS)で「みんかぶFX」のページの上記JSON形式データを取得して、MetaTraderに引き渡す方法です。
GASもJavaScriptも基本的に初めてなので、うまくいくかどうかわかりませんが試みとしては面白そうです。
注意:もし、ご自身でお試しされる場合は、過度なトラフィックを発生させないようご注意ください。
本記事のプログラム・ノウハウを使って発生させた損害、被った損害など当方は一切関知いたしません。あくまで自己責任でご利用ください。
JSONの中身
まずは、HTMLの中に隠されているJSONの中に、どのような要素が含まれているのかチェックをします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[ { "@context": "http://schema.org", "@type": "Event", "name": "ドイツ・小売売上高", "startDate": "2017-11-27T00:00:00+09:00", "description": "ドイツ連邦銀行が発表。個人消費を見る上で基本的な指標。翌々月の初旬発表。", "url": "https://fx.minkabu.jp/indicators/DE-RS" }, { "@context": "http://schema.org", "@type": "Event", "name": "香港・貿易収支", "startDate": "2017-11-27T17:30:00+09:00", "description": "", "url": "https://fx.minkabu.jp/indicators/HK-TB" } ] |
指標の名称(name)、発表時刻(startDate)、指標の説明(description)、指標詳細のURL(url)の4つが含まれています。
しかし、JSONデータには、「重要度」「前回変動幅」は含まれていません。
「前回変動幅」が提供されていることが、みんかぶFXを選んだ理由なので、これが取得できなければ本末転倒です。
Google Apps Scriptでスクレイピングする
JSONデータにはないですが、ブラウザに表示されているのでHTML上には必ず存在しています。
取得するには、自力でスクレイピングするしかありません。スクレイピングとは、HTMLの文法を自分で解析してデータを読み取ることです。
次回、JSONデータの取得とスクレイピングでのデータ取得にチャレンジしてみます。
コメント