2010/04/10

『経済指標のランク付けに対応してみました。』

今回は、経済指標のランク付け(色分け)をしてみました。
1.方法
①.経済指標名とそのランク(今回は、0から5の6種類)を記載したCSVファイルを作成する。 
          EI_bazoサンプルデータ

②.①で作成したデータを配列に格納し、経済指標名と照合し色分けする。 
    EI_gazo
2.変更内容
①『追加指標名』
Economic_Calendar_DSTv1.0.mq4

②『パラメーターの追加・変更』
A.パラメータの変更
extern color  Index_Color = White;(パラメータ変更に伴い廃止)
B.パラメータ追加事項 
      Object_Mark = 241;//表示マークの変更用
      File_Rank   ="USEI_rank";//指標ランキング用ファイル名
      Rank5_color = Red; //ランク5の表示色
      Rank4_color = OrangeRed; //ランク4の表示色
      Rank3_color = Orange; //ランク3の表示色
      Rank2_color = YellowGreen;//ランク2の表示色
      Rank1_color = SeaGreen; //ランク1の表示色
      Rank0_color = DimGray; //ランク0の表示色
※なお、ランク設定がない場合は、表示色が白に設定しています。

③ 『その他変更ヶ所』
A.表示書式の変更(以下のように変更しました。)
     syosiki 
1行目:番号+ファイル名+インジケーター名
2行目:サーバー時間
3行目:指標名
4~6行目:予想、結果、前回
7行目:高さ軸(価格軸)表示位置
B. バグ修正
①≪インジケーター終了時及び変更時に前回の表示が消えない≫ことを修正しました。
3.まとめ
サンプルファイル内の経済指標のランク付けは、あくまでもサンプルです。使われる際には、ご注意ください。
また、ランク付けファイルに無い経済指標があった場合は、白色表示となります。

2010/04/08

夏時間を調べてみました。

今回は、USAの夏時間補正方法を調べてみました。
1.USA夏時間DATE
適用期間
開 始 日
終 了 日
2007年より前
4月の第1日曜日
10月の最終日曜日
2007年以降
3月の第2日曜日
11月の第1日曜日
※夏時間中の時間は、1時間シフトする。また、変更日が、日曜日であるとから変更時間は、無視します。 各年の日付を確認してみると以下の表となります。
開始日時
終了日時
2000年4月2日
2000年10月29日
2001年4月1日
2001年10月28日
2002年4月7日
2002年10月27日
2003年4月6日
2003年10月26日
2004年4月4日
2004年10月31日
2005年4月3日
2005年10月30日
2006年4月2日
2006年10月29日
2007年3月11日
2007年11月4日
2008年3月9日
2008年11月2日
2009年3月8日
2009年11月1日
2010年3月14日
2010年1月7日
2011年3月13日
2011年11月6日
2012年3月11日
2012年11月4日
2013年3月10日
2013年11月3日
2014年3月9日
2014年11月2日
2015年3月8日
2015年11月1日
2.算出方法 2007年以降の適用期間を算出出来るようにしてみました。 (ただし、日曜日:0、月曜日:、火曜日:・・・・・とする。)※4/22修正
計算式: イベント日(DAY) = (第○週)×7日 - イベント月の前月の最終日の曜日 + 指定曜日
コード: MakeTime =Year_Now + "."+Start_Month + ".01"; //イベント月の1日を抽出 DST_Start = StrToTime(MakeTime) - 86400.0;//イベント月の前月の最終日を格納 Day_S = Start_Week*7 - TimeDayOfWeek(DST_Start) + Start_DayofWeek;//上記 MakeTime = Year_Now + "."+ Start_Month + "." + Day_S; DST_Start = StrToTime(MakeTime);
3.添付資料 ①【Daylight_Saving_Time.mq4】 説明:2000年以降の夏時間期間は、整数1を、それ以外は0を返す指標です。
②【Economic_Calendar_DST.mq4 】 説明:前回の指標【Economic_Calendar.mq4】に 【Daylight_Saving_Time.mq4】を組み込んでみました。(これが作りたかったんですが・・・)前作に、DSTの有無のパラメータを追加しました。
4.まとめ 上記掲載の開始日時及び終了日時は、計算上で求めた日付です。実際との照合は、とっていませんのでご了承ください。また、上記添付の指標は、2000年以前に対応していませんのでご了承ください。

2010/04/07

『経済指標を取り込む』

『経済指標発表時にEAを停止させて、取引を回避し・・・・』良く聞く言葉です。
今回は、この行動が正解なのかを検証する方法(今回は、視覚的に)を考えてみました。
結論から言えば、以下の図のようにチャート上に経済指標を表示させるインジケーターを作りました。
ma-ku  mt4i txt
作成方法:
①データ収集(これが最も重要になります。)
※今回は、『 為替相場過去の経済指標 』のデータベースを使用させて頂きました。
1-1:各国の為替指標データベースをクリック。
1-2:データをコピペし、テキストファイルとして保存する。
(※見出しの段落を調整しておいてください下図参照)
                  txtx
②データの加工及び保存
※①で取得したデータは、Tab区切りのテキストデータになっているので、CSVファイルに変換します。
※今回は、『 CGI制作・提供サイト CGIKON ( シージーアイコン )』のサイトを利用しました。
2-1:上記サイトの【便利ツール】⇒【ファイル変換】を選択し、【参照…】にて①で作成したテキストファイルを選択し、【TSV⇒CSV】を選択します。その後、変換されたCSVファイルを保存します。
2-2:2-1で変換されたCSVファイルを表計算ソフトで開き、以下の列以外を削除します。
≪【年】【月】【日】【時間】【指標】【予想】【結果】【前回】≫
                 excl
※今回は、検証用のため上記に絞り込みました。
2-3:対象ファイルを(……./Meta Trader/experts/files)に保存します。
③MT4への表示
   3-1:使用インジケーター名【Economic_Calendar.mq4
3-2:パラメーターの説明
A【 string File】 保存したファイル名(拡張子含む)
B【 ClientTime_GMT】サーバータイム修正(時間単位)
C【 Object_Type】    表示形態の選択(21:テキスト表示 22:マーク表示)
D【 Font_Size】 表示サイズ
E【Index_Color】 表示色
F【 start】     表示位置(初値からのシフト数)
G【 step】 同時位置に表示位置がなった場合のシフト数
H【Check】   〈 true 〉なら表示内容をファイル(Check.cvs)に保存します。
3-3:夏時間 考慮していません。
3-4:注意事項
表示がおかしい場合は、【FileSeek(handle,35,SEEK_CUR);//2行目ませシフト(バイト数)】の<<35>>を変更してみてください。
④まとめ
経済指標をMT4のチャートに取り入れることにより、経済指標がどの程度チャートに反映されるかわかると思います。 また、今回は、視覚化が目的でしたがこれを取り入れたEAの開発も面白いかもしれません。(夏時間の問題がありますが・・)そして、今回使用させて頂いたデータを公開されている『 為替相場過去の経済指標 』のサイトの作成者様に感謝申し上げます。