2025年2月に岩ライザーFXのアプデで実装した経済指標スキップ機能をEAにも織り込めるようにMQLを作成したので使い方の説明をします。
その前に、必ず見てほしい注意事項なので記事トップに記載します。
※日本のGDPなど一部データは日付が1日前になっていたりずれていることがありますので注意が必要です。
使用前に必ずこの記事をすべて読んでAPIの確認をお願いします。
あとは毎ティック動くような動作は絶対にやめてください。APIを連打する行為はDOS攻撃に値するので今後このAPIが使えなくなってしまいます。
このコードを利用したことによって被ったいかなる不利益または損害について,理由を問わず一切の責任を負いません。
ダウンロードはこちらから↓
データの中身は
の4種類が入っています。
FREDは主になるコード
all_economic_indicatorsは取得する経済指標のIDが記載されたファイル
JAsonはFREDから取得したjsonデータをMQLで使えるようにパースするmqhファイルです。
今回、経済指標データの取得はFREDというサイトから取得します。
FREDとはアメリカの連邦準備制度(FRB)が提供する経済指標のデータを取得することができるサイトです。
多くの経済データを無料で取得可能です。
今回は経済指標の発表日のみを取得していますが、経済指標の結果などのデータも取得できるので経済指標の結果から今後の相場を予測するみたいなEAも作れるようになるかもしれませんね!
APIキーの発行は下記URLより行います。
https://fredaccount.stlouisfed.org/apikeys
リンクをタップすると画像のようなページに移動します。
赤枠をタップしてAPIキーをリクエストします。
画像のように説明を求められますが、「FX自動取引分析に経済指標データを利用する。」みたいな簡単な説明でも問題ありませんでした。
その後同意してAPIキーをリクエストするとAPIキーが作成されます。
すると先ほどのAPIキー作成のトップページにAPIキーが追加されています。
今回必要なのは赤枠の文字列が必要になるのでコピーしておいてください。
まずはコンパイルが通るようにIncludeファイルにJAsonファイルを設置しましょう。
MetaEditorの「ファイル」→「データフォルダを開く」→「MQL4」→「Include」にJAsonファイルを置きます。
MQL5でも使えるファイルなので普段使うMT5にも設置しておいてもいいですね。
この作業をしないとのちのFREDファイルを触った時にコンパイルできないので必ず行ってください。
コードに関する詳しい説明は省きますがやってることとしては
FREDのAPIをたたいて取得したJSONファイルをパースして、自分の設定したFREDのIDがJSONファイル内にあるかチェックしています。
皆さんが触る個所としては
APIキーとFREDIDの2つです。
まず先ほど取得したAPIキーをAPI_KEYの””(ダブルクォーツ)の間に貼り付けてください。
その後、FREDIDの{}の間にカンマで区切りながら数字を入力します。
このIDはall_economic_indicatorsファイルにて確認できます。
初期値は岩ライザーFXにあるアメリカの主要経済指標のデータを入力してあります。
{}の間に10種類入れたりした場合はFREDID[6]となっている6の部分を10に変更してください。
これでFREDファイルの準備は完了です。
日足の切り替わりタイミングでコードが走り、設定した経済指標がある場合はスキップするようになります。
all_economic_indicatorsファイルで確認した際にこれいいなと思ったものがあったら一度APIをたたいてみてほしいです。
というのも、ID101にFOMCプレスリリースというのがあるんですが、FOMCの議事かと思い適用してみると、全くエントリーされないという状況に陥ります。
なぜかというとFOMCプレスリリースは毎日発表されているんですよね。
そこにこの日は重要という判断基準がないので、自分で精査する必要があります。
そこで確認するためのAPIは
https://api.stlouisfed.org/fred/release/dates?release_id=101&realtime_start=2024-01-01&realtime_end=2025-01-01&api_key=APIKEY&include_release_dates_with_no_data=true&file_type=json
になります。
皆さんが確認する際に書き換える部分は
この部分です。
release_idはall_economic_indicatorsのIDの部分を書きます。
realtime_startは検索開始の日数
realtime_endは検索終了の日数
api_keyは先ほど発行したAPIキーを入力してください。
入力後にこのリンクをブラウザに貼り付けると下記の画像のようにデータが出力されます。
これはアメリカのGDPの発表日ですね。
このようにデータを出してinvesting.comなど経済指標が出ているサイト差異がないかとかを確認してください。
今回はIDを指定して過去のデータを抽出しましたが、
日付を指定するAPIも記載しておきます。
https://api.stlouisfed.org/fred/releases/dates?realtime_start=2025-02-20&realtime_end=2025-02-20&api_key=API_KEY&include_release_dates_with_no_data=true&file_type=json
先ほどと作りはほとんど同じですがreleasesの部分が複数になっています。
ここが違うとBad Requestになるので注意してください。
ブラウザ上でapiをたたくとこんな感じで指定した日付のすべての経済指標の名前とIDが表示されます。
大変ですが、investing.comなど経済指標が出ているサイトと見比べながらこれ欲しいなとかを選択してほしいです。