2010年06月15日

2010年 損益自動計算EA + 損益表(番外)

2010年用の損益自動計算EAと損益表 番外

リクエストにより、一日のデータを書き出す Check EA Magic by 2ch (Ver0.2).ex4です。
ソースはこれ。
以前の物に 
StartDay (処理を始める日 ← 秒単位)
EndDay (処理を終わる日 ← 秒単位)
を計算して処理しているだけです。
OneDay = True にすると一日分を計算します。
肝の部分だけ簡単に説明して置きます。

// For One Day, Set StartDay & EndDay

___if(OneDay){

______int Yesterday = TimeCurrent() / (24 * 60 * 60) - 1;
______StartDay = Yesterday * 24 * 60 * 60;

______if(TimeDayOfWeek(StartDay) == 6) StartDay = StartDay - 24 * 60 * 60;

______EndDay = StartDay + 24 * 60 * 60;
___}

TimeCurrent() は現在のサーバーの時間をゲットします。
で、これを 24(時間)x 60(分)x 60(秒) つまり、一日の秒数で割ると 1970/01/01 からの日数がでます。
この時、datetime型を整数で割っているので、 少数点以下は切り捨てられて整数になります。
datetime 型は計算の時は int 型だと思えば良いと思います。
これで、本日までの日数がでるのですが、昨日は一日前なので、それより一日引きます。
24 * 60 * 60 を乗じて、1970/01/01から昨日の 0時0分0秒までの時間を秒単位で求めます。
これを StarDay とします。
EndDay はこれに単に一日分足しているのですが、ここで TimeDayOfWeek(datetime) を使っています。これは曜日を求める関数なのですが、ここでは 6 すなわち 土曜日ならば さらに一日 前に設定しています。これは、土曜日に計算しないと思って入れてあるのですが、このあたり、金 土 日 月 をどうするかは実際の場合と相談してください。 ここでは例として土曜日だけ特別扱いにしています。
まあ、こんな感じで作っていけば良いかと思います。

posted by 2chの人 at 23:16| Comment(0) | MT4 EAを使おうよ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。