重要指標を表示するインジケータを作ってみる
50種類以上の通貨ペア、各種CFD(金、株など)対応
作成するといってもかなり難しいので、慣れてきてから応用してください。
いつもなら関数の説明などもしていますが、今回は省きます。
ダウンロードは、ここから。
ImportantNews 重要指標を表示するインジケータ
今回は、WindowsのAPIを利用してインターネット経由で重要指標を取得。
それを解析して、インジケータとして画面にプロットします。
重要指標の入手元は、
DailyFX
http://www.dailyfx.com/
で、ここはcsv形式で重要指標を入手できます。
こんな感じでcsvを入手できます。
http://www.dailyfx.com/calendar/Dailyfx_Global_Economic_Calendar.csv?direction=none&collector=allInFolderDateDesc&view=week&timezone=GMT
http://www.dailyfx.com/calendar/cal.csv?sort=dateDesc&timezone=¤cy=|&importance=|
MT4は、英語しか表示できないので(日本は表示可能です)英語のサイトのほうが都合がいいのとcsv形式でリアルタイムに入手できるので解析しやすいのが利点です。
csvファイルを入手して読み込ませる方法もありますが、せっかくなのでインターネットから直接入手します。
MT4には、外部DLLを利用する機能があるので、Windows標準のDLL(wininet.dll)を利用して、インターネットのアクセスを可能にします。
※外部DLLの利用はデフォルトなしになっているので、インジケータ組み込み時にありにする必要があります。
↑赤丸のところ
ソースのはじめの方に
#import “使いたいDLL”
使いたい関数
#import
という宣言があると思います。
ここで、インターネット接続関係の関数を利用できるようにします。
・インターネット接続確認
InternetAttemptConnect()
・インターネット接続
InternetOpenA()
・URLオープン
InternetOpenUrlA()
・インターネット読み込み
InternetReadFile()
・インターネットクローズ
InternetCloseHandle()
オリジナルで作成している関数は、
ReadHttp()
StrToSplitArray()
の2つあります。
ReadHttp()は、インターネットに接続し、内容を文字列として読み込みます。
StrToSplitArray()は、文字列を区切り文字で分割して配列に格納します。
今回は、DailyFXへインターネット経由でアクセスして、csvファイルを取得していますから、ReadHttp()を使ってアクセスした結果がcsvファイルの内容で、戻り値にstringとしてメモリ上に展開されます。
csvファイルを取得してもらうと分かりますが、改行など無駄な部分もたくさんあるので、start()の中でStrToSplitArray()を利用して、改行を区切り文字として行データを配列へ格納、行データを「,」で分割して各項目データとして取得しています。
start()で行っていることは、
1.15分ごとの更新
2.表示データの削除
3.csvデータ(重要指標)の取得
4.データの分割
5.年月日など表示用に適した形への変換
6.タイムゾーンの一致
7.データの表示
今回のタイムゾーンは、デフォルト日本時間を採用しています。
server_timezone
show_timezone
で設定しています。
サーバ時間と表示時間を分けていますが、通常は同じでかまわないでしょう。
自分の環境に合わせてください。
データ表示で書かれている文字ですが、今の状態の上のほうから書き始めていますので、スクロールなどすると消えてしまいます。
次の更新で復活しますので、その辺は我慢してください。
デフォルトで取得している重要指標はすべてです。
URLの問い合わせで
&importanceFilter=Medium|Low|
&importance=Medium|Low|
などを追加して、Highのみにすることも可能です。
また、通貨ペアのフィルターも可能です。
¤cyFilter=GBP|CHF|CAD|AUD|NZD|
¤cy=GBP|CHF|CAD|AUD|NZD|
今回は、ちょっと難しいので少しずつ理解して行ってください。
慣れてきてから、応用するのもありだと思います。
タグ
2009年06月30日
コメント&トラックバック(10)
| トラックバックURL
|
カテゴリ: MQL4 インジケータ メタトレーダープログラミング メタトレーダー入門



![[image]投資で失敗しない7つの法則:無料CDプレゼント](http://www.affiliatecenter.jp/invest/img/FX_freeCD/banner165x100seven_rule5e.gif)
![[image]無料レポートプレゼント:ドルが紙くずになった時に資産を守る方法](http://www.affiliatecenter.jp/invest/img/dollar/MNL4_165x100.jpg)



MyBlog
