今回は、経済指標のランク付け(色分け)をしてみました。
1.方法
①.経済指標名とそのランク(今回は、0から5の6種類)を記載したCSVファイルを作成する。
サンプルデータ
②.①で作成したデータを配列に格納し、経済指標名と照合し色分けする。
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.表示書式の変更(以下のように変更しました。)
1行目:番号+ファイル名+インジケーター名
2行目:サーバー時間
3行目:指標名
4~6行目:予想、結果、前回
7行目:高さ軸(価格軸)表示位置
B. バグ修正
①≪インジケーター終了時及び変更時に前回の表示が消えない≫ことを修正しました。
3.まとめ
サンプルファイル内の経済指標のランク付けは、あくまでもサンプルです。使われる際には、ご注意ください。
また、ランク付けファイルに無い経済指標があった場合は、白色表示となります。
2010/04/10
2010/04/08
夏時間を調べてみました。
今回は、USAの夏時間補正方法を調べてみました。
1.USA夏時間DATE
※夏時間中の時間は、1時間シフトする。また、変更日が、日曜日であるとから変更時間は、無視します。 各年の日付を確認してみると以下の表となります。
2.算出方法 2007年以降の適用期間を算出出来るようにしてみました。 (ただし、日曜日:0、月曜日:1、火曜日:2・・・・・とする。)※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年以前に対応していませんのでご了承ください。
1.USA夏時間DATE
適用期間 | 開 始 日 | 終 了 日 |
2007年より前 | 4月の第1日曜日 | 10月の最終日曜日 |
2007年以降 | 3月の第2日曜日 | 11月の第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日 |
計算式: イベント日(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を停止させて、取引を回避し・・・・』良く聞く言葉です。
今回は、この行動が正解なのかを検証する方法(今回は、視覚的に)を考えてみました。
結論から言えば、以下の図のようにチャート上に経済指標を表示させるインジケーターを作りました。
作成方法:
①データ収集(これが最も重要になります。)
※今回は、『 為替相場過去の経済指標 』のデータベースを使用させて頂きました。
1-1:各国の為替指標データベースをクリック。
1-2:データをコピペし、テキストファイルとして保存する。
(※見出しの段落を調整しておいてください下図参照)
②データの加工及び保存
※①で取得したデータは、Tab区切りのテキストデータになっているので、CSVファイルに変換します。
※今回は、『 CGI制作・提供サイト CGIKON ( シージーアイコン )』のサイトを利用しました。
2-1:上記サイトの【便利ツール】⇒【ファイル変換】を選択し、【参照…】にて①で作成したテキストファイルを選択し、【TSV⇒CSV】を選択します。その後、変換されたCSVファイルを保存します。
2-2:2-1で変換されたCSVファイルを表計算ソフトで開き、以下の列以外を削除します。
≪【年】【月】【日】【時間】【指標】【予想】【結果】【前回】≫
※今回は、検証用のため上記に絞り込みました。
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の開発も面白いかもしれません。(夏時間の問題がありますが・・)そして、今回使用させて頂いたデータを公開されている『 為替相場過去の経済指標 』のサイトの作成者様に感謝申し上げます。
今回は、この行動が正解なのかを検証する方法(今回は、視覚的に)を考えてみました。
結論から言えば、以下の図のようにチャート上に経済指標を表示させるインジケーターを作りました。
作成方法:
①データ収集(これが最も重要になります。)
※今回は、『 為替相場過去の経済指標 』のデータベースを使用させて頂きました。
1-1:各国の為替指標データベースをクリック。
1-2:データをコピペし、テキストファイルとして保存する。
(※見出しの段落を調整しておいてください下図参照)
②データの加工及び保存
※①で取得したデータは、Tab区切りのテキストデータになっているので、CSVファイルに変換します。
※今回は、『 CGI制作・提供サイト CGIKON ( シージーアイコン )』のサイトを利用しました。
2-1:上記サイトの【便利ツール】⇒【ファイル変換】を選択し、【参照…】にて①で作成したテキストファイルを選択し、【TSV⇒CSV】を選択します。その後、変換されたCSVファイルを保存します。
2-2:2-1で変換されたCSVファイルを表計算ソフトで開き、以下の列以外を削除します。
≪【年】【月】【日】【時間】【指標】【予想】【結果】【前回】≫
※今回は、検証用のため上記に絞り込みました。
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の開発も面白いかもしれません。(夏時間の問題がありますが・・)そして、今回使用させて頂いたデータを公開されている『 為替相場過去の経済指標 』のサイトの作成者様に感謝申し上げます。
登録:
投稿
(
Atom
)