2010年05月31日

夏時間・冬時間・サーバータイム(1)

夏時間・冬時間・サーバータイム

一寸、夏時間・冬時間・サーバータイムについて考えてみます。
トレードをしていると、海外との時差について考える必要があります。
特に、スキャル系のEAは ”早朝スキャル”と呼ばれるくらいで、日本時間の朝方早くに動かす物
がおおいですよね。セットする時にいつも日本時間との差を考えないといけません。
日本時間は GMT+9 と表示されグリニッジ標準時間 GMT に9時間足したものです。と言われもなんとなくわからないですよね。
画を見ながら、考えます。

全世界の時間(時差)情報

で日本にカーソルを当てたり、ヨーロッパにカーソルを当てたりすると分かります。
例えば日本が5月31日朝7時だとするとイギリスは8時間前5月30日の夜23時ですよね。
(ただし今は夏時間なので8時間だか冬時間では9時間前)
ここで、注目なのは同じ8時間のずれでも前の日であり、16時間後の本日の23時ではない
と言う事です。
実は、メタとレーダの時間は1970年1月1日を0として以降、秒単位で計算されています。
つまり、正確に±を計算すると秒単位で日にちまで計算できます。

一日は太平洋の真ん中にある日付け変更線(GMT+12)から始まるのです。
東から徐々に日が開ける様を考えて下さい。日本が朝がた日があける頃、ヨーロッパは
まだ、まだ夜中なのです。
冬時間の場合は 日本(GMT+9)の0時から23時のタイミングはイギリス・ロンドン(GMT+0)では
0−9=15時(まえの日)から23−9=14時(その日)なのです。
所で、アルパリ(UK)などのサーバーはロンドンにあるはずなのにGMT+1に設定されています。
これは、多分 ヨーロッパの中心あたりの時間(例えばバリ)に設定されているからです。
したがって、GMT+1に設定されているサーバーの時間から日本の同じタイミングの日本時間にするには(GMT+1+8)、つまり8時間加算してあげれば
良い事になります。これは冬時間の場合なので、夏時間の場合はGMT+2になりますので、
日本時間にするには+8した後に−1すれば良い事がわかります。
この計算で一日の時間だけではなく、日の計算も正しくできます。

さて、今度は夏時間と冬時間について考えてみましょう。

http://ja.wikipedia.org/wiki/夏時間

によると、3月最終日曜日午前1時〜10月最終日曜日午前1時(UTC基準)が夏時間になります。
これは、今年で言うと、3月28日(日)と10月31日(日)になります。
で、実際は詳しく時間まで考慮しなければいけないのですが、メタとレーダーの場合は日にちだけ合わせれば十分な事が多いです。なぜならば両方とも日曜日の早朝で、その前後は取引がないからです。

当然の事ながら、米国にあるサーバーは変更の日が違いますので、そちらも考慮します。ロシアは時間が違うが、日はヨーロッパと同じですね。

以上です。 分かりましたか。

多分、自分で考えながらじゃないと分かりません。

私も、今回EAを作るので、初めて、真剣に考えました。(^0^)


posted by 2chの人 at 02:04| Comment(0) | MT4 EAを使おうよ | このブログの読者になる | 更新情報をチェックする

2010年05月26日

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

2010年用の損益自動計算EAと損益表 その1です。

みなさんおひさしぶり、2chです。
FX勝っていますか? 私は・・・・負けています。(−_−)

私は・・・・微妙です。(−_−)(2010年08月22日 記)

昨年に個人的事情から一旦、FX中止。
今年になって復帰したのですが、復帰早々 勘がもどる前に、
大負けを食らってしまい。
その後、なんぴんゲールで大負け食らい。
最近のギリシャ危機で、私のFXも危機に瀕して...と、悲惨な状態です。
すべての口座で原資(昨年からの持ち越し)割れ。
そういう中でやっと幾つかの口座の一つが原資回復まであと一歩となって
きました。
回復してくると現金なもので、むくむくとやる気が...。

所が、その直後、大負けをくらってしまい、もうだめだと思ったががんばって
回復してきて、微利益までこぎつけたものの、またまた、直後に大負けくらって、
もはやこれまで、いやいや、まだまだ・・で、現在 微妙な状態です。(2010年08月22日 記)

まあ、勝つにはなによりも正確な計算と日々の記録が大切。
でも、口座が多くて、計算もめんどい。 そこで、

2010年用の損益自動計算EAと損益表(Excel)

作っちゃいました。 これを使うと

○一年のドルベース(円ベースもできるよ)の自動計算
○一年のドルの円換算 (その日のドル円から自動計算)
○月合計 年合計 なんかがあっと言う間にできます。
○めんどくさい、冬時間、夏時間の計算も自動で。


税金対策も完璧、税務申告書に添付すれば、税務署に褒められます。
なによりも一年に一回の計算でも十分(もちろん、毎日もできますよ)
という訳です。

毎日の手順は 
1)損益計算EA(DayProfit list by 2ch (Ver0.2))をメタトレーダーで実行する。
2)できたファイルのその日の部分を損益表にカットアンドペースト

以上です。 簡単ですね。
損益は最初の日から本日まで最大400日まで計算できます。
極端な話 一年に一度でも ”わっと”計算できます。

それでは、説明です。

書類2.zip

(バージョンupしてあります。もう一度ダウンロードしてね 2010年08月22日)

です。ソースも付いていますので、直せる人は適当に..。

まず、解凍したら、FX 損益表(2010年分).xls をエクセルで開いてください。
すでに、2010年5月25日8月20日までの円レートと適当な3日分のFXの利益が仮に入っています。
下のタブの 損益表(一月)をクリックして一月のページを
出して下さい。

損益表一月分.jpg
損益表一月のページ

G2にこの表のタイトルが Alpari(UK)損益表 と入っていますよね。
これを自分のブローカにあうように適当に直してください。
(この表は殆どすべてのブローカーに使えるはずですので、直して使いましょう)
ここは単なるコメントなので計算には関係ありません。
ここを直すと二月以降には自動的にコピーされます。
同様に冬時間、夏時間も必要ならば直してください。
これもコメントです。二月以降には自動的にコピーされます。
冬時間、夏時間についてはそのうち説明しようかと思いますが、
ぐわしくは、http://ja.wikipedia.org/wiki/夏時間 を読むと良く分かります。
Alpari はヨーロッパなので、この日にちであっているはずです。
次に E5 前月迄の合計に昨年からの持ち越し分をいれます。
これで準備は完了です。

ここで、一寸 確認です。
下のタブの十二月分の後 休日一覧を開いて下さい。
ここに休日の一覧がのっていますよね。
ここを直すと 休日の日にちを変える事ができます。
正月三が日、年末三日は良いとして、8月の盆休みは、実は休日ではないので
企業によって日にちがまちまちです。
一応、8/11 8/12 8/13を夏季休業にしてありますが、
必要に応じて直してください。
必要なければ、削除するか、2010年以外の年をいれると良いです。
さて、今度は五月 八月 の横の 仲値 を開いてみて下さい。

仲値の表.jpg
仲値(円レート)の表 仲値、利益をここに日付とならんで書く。

仲値 と 利益 が日付け と 一緒に並んでいますよね。
ここの表に 日付けと並んで 記入する事で、月々の表に表示されます。
この仲値の表はその月の横に置いてあると操作しやすいので
月が替われば、その横に移動すると良いでしょう。
最終的には(12月には)最後のページにおいて、1−12月だけを
印刷すればOKという訳です。

さて、円レートですが、

みずほ銀行、外国為替公示相場ヒストリカルデータ 

からもらいます。
このページにあるヒストリカルデータより2010年分をコピーします。
CSVファイルなので、エクセルの間隔はデフォルトのままなので、日付け
とかが全部表示できなく####になっているかもしれませんが、その時は
少し列幅を動かしてやれば見えます。このうち2010年からのデータ
を探してカーソルでドル円レートを横の日付と一緒に囲んで選び、
コピー&ペーストすればOKです。
CSVファイルと損益表を同時に開けば簡単にできます。
その時、仲値の表の黒太線が消えるかもしれませんが、実害はありません。
(気になる人はあとからまた書きましょう)
まあ、時々 円レートを追加してあげると良いでしょう。
元のドルが増えたり減ったりする訳ではないので、ずぼらな人は年末に
一度だけも可能です。(どうせ税金計算は年末です)
さて、同じ様に利益の表に 日付と利益をならんで、コピーすればよいのですが、その日付と利益は "DayProfit list by 2ch (Ver0.2)" によって計算できます。 

DayProfit list by 2ch (Ver0.2) は デフォルトで一日、一日の損益をファイルに出します。
内部では最初の日から(デフォルトで2010年1月1日)一日単位で集計計算しています。
それを書き出す時に集計が0かどうか見て、0以外の場合にその日にちと共に書き出します。
(取引があっても total 0 の場合はその日は書きだしません)

その2に続く

書類.zip
posted by 2chの人 at 20:42| Comment(23) | MT4 EAを使おうよ | このブログの読者になる | 更新情報をチェックする

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

2010年用の損益自動計算EAと損益表 その2です。

その1を先にお読み下さい。

それでは、本日はEAの使い方です。同梱しているEAは2つ。

Check EA Magic by 2ch と DayProfit list by 2ch (Ver0.2) です。

Check EA Magic by 2ch

Check Ea Magic by 2ch は おまけだと思ってください。
これは、マジックNo確認用+お勉強用という所でしょうか。
EA の セットアップ値をみて見ましょう。

Check EA.jpg
Check EA Magic by 2ch のセットアップ値

まずは、デフォルトで Check EA Magic by 2ch を走らせて下さい。どの通貨ペアでも良いです。
コメントが表示されたら、書き出し完了です。
(あっ、さっき気が付いたのですが、サーバーからtickが送られてない状態、
つまり、チャートが更新されない時、つまり日曜とかマーケットが開いていない時
にはコメントが表示されません。これは Start()コマンド内でコメントを表示
している為ですが、その場合でもサーバーと繋がっていれば、過去のデータは
読み出せますので、計算は終わっています。走らせて、ある程度時間が
たったらコメントが表示されなくても、ファイルが作られていれば完成です。)
(Ver0.1 では DayProfit list by 2ch もtick データ待ちだったのですが、
DayProfit list by 2ch (Ver0.2)ではこの部分も手直ししましたので、サーバーから
tickデータが送られていなくても、過去データさえ送られていれば、
つまり回線が繋がって、売り買いデータをterminal で確認できる状態であれば
すぐ、計算されます。)


..\expert\files\Profit ディレクトリの下に Alpari(UK).csv が作られます。
出来上がったファイルをエクセルで見て下さい。
一つ、一つの取引がサーバータイムのままで、

マジックNo 通貨ペア 取引開始日時 取引終了日時 スワップ 利益

の順に、年初から本日まで並んでいますよね。これと取引経歴をあわせて見ると、
どの取引がどのEAか分かりますよね。つまり、それぞれのEAのマジックNoが
分かる仕組みです。結構、マジックNoを見た事がない人も多いのでは
ないでしょうか。ちなみに、0は裁量取引です。
あと、この表は DayProfit list by 2ch (Ver0.2) で計算する、一日利益の検算にも使えます。
また、ソースを見れば、すごく簡単なのが分かりますよね。
でも、どうやって過去の取引を呼び出すとかファイルに書き出すとか、参考になりますよ。
あと、セットアップ値については、説明するまでもないと思いますが

SubDirectry = ..\expert\files の下に作られるディレクトリ、ここを変えれば当然サブディレクトリ名を変えられる。ちなみに、何も入れないとサブディレクトリは作られず、..\expert\filesの下に直接、ファイルが作られる。

FileName = ファイル名 ファイル名+.csv ファイルが作られる。変えれば当然変えられる。
必ず、名前を与える必要がある。

StartDay = 書き出す最初の日 この日から本日までのデータが書き出される。

DayProfit list by 2ch (Ver0.2)

DayProfit list by 2ch (Ver0.2) で、実際のデータ集計を行うのですが、このEAは大きく 3つの使い方があります。順に説明致します。

1)一日、一日のすべての取引を(裁量も含める)一日単位で集計する。

まず、セットアップデータを見て見ましょう。

DayProfitSet1.BMP
セットアップデータ(その1)

DayProfitSet2.BMP
セットアップデータ(その2)

少し眺めてみるだけで、大体推定がつきますよね。
取引日時は取引終了日時を使っています。確認時に、お間違いのない様。

SubDirectry = Check EA Magic by 2chとほぼ同じ
FileName = Check EA Magic by 2chとほぼ同じ、但しデフォルトは Alpari(UK1)

ServerTimeShift = ブローカーから日本時間(GMT+9)へ変換する時の時間のシフト分。
(例えば Alpari(UK) ならば 8 (時間)となる、夏時間・冬時間・サーバータイム参照)

SummerTimeBegin = サマータイムの始まる日時。
SummerTimeEnd = サマータイムの終わる日時。

Swap = 集計にスワップ分も入れるかどうか。デフォルトはTRUE。
Commition = 手数料の事、デフォルトは FALSE。
(単に私の使っているブローカでは手数料はないから)

これ以降のSet値はデフォルトのままでお使い下さい。

どの通貨ペアでも良いのでこのEAを走らせて下さい。
Alpari(UK1).csv というファイルができます。これが所望のファイルです。 
EAは400日分計算できますので、一年計算してもあふれません、毎日同じ設定でかまいません。

次にサーバータイムですが、詳しくは夏時間・冬時間・サーバータイムを読んで頂くとして、
夏時間の計算は、内部で日にちを見てて 
SummerTimeBegin <= 日時 < SummerTimeEnd の時に一時間調整しています。
従って、日本のサーバー等、夏時間調整のない場合などは
SummerTimeBegin > SummerTimeEnd
にする事で夏時間の計算はしません。

出来上がったファイルをエクセルで開き、日付と利益を損益表の仲値の頁にコピーで終わりです。
最初の内は、Check EA Magic by 2ch のファイルと照合して確認されてはいかがでしょう。

出来上がったファイルへのアクセスはディレクトリへのショートカットを作ってディスクトップにおいてあります。そうするとすぐアクセスできます。

2)マジックNo毎、または EA毎の 一日、一日の取引を一日単位で集計する。

には、(1)一日、一日のすべての取引を(裁量も含める)一日単位で集計する、設定に加えて、

CheckMagicNo = TRUE

さらに、計算したいマジックNoを MagicNo00 〜 MagicNo29 の何処かに書き込みます。
この時、複数書き込めば、それらすべての総計が計算されます。
ドラゴンピップスの様に マジックNo が複数あるものは、すべて書き込みます。
また、同時に 通貨ペアも書き込むと、その通貨ペアのみに限定されます。
マジックNoが分からない方は Check Ea Magic by 2ch を使って確認して下さい。
また、この時、同時にに通貨ペアの書き方を正しく認識して置いてください。
(まだ、DayProfit list by 2ch は Ver0.1 なので、正しく書かないと認識されない、
その内 頭の文字6文字で認識できる様にします)


通貨ペアは Ver0.2からは頭の文字6文字で認識できる様になりました。

これで、マジックNo毎、EA毎 の集計が可能になりました。

3)記入されているマジックNo以外の EAの 一日、一日の取引を一日単位で集計する。

次に、記入されているマジックNo以外の EAの 一日、一日の取引を一日単位で集計する、には、
まず、(1)一日、一日のすべての取引を(裁量も含める)一日単位で集計する。の設定に加えて、

CheckMagicInv = TRUE

計算したくないEAのマジックNoをすべて、リストに書きます。
裁量は0を入れる事をお忘れなく。これは、EAの種類によっては
ある程度の幅はあるが、その間で どんなマジックNoを取るか分からない物があるので、それならば、逆に分かっている物をすべて除外しようというわけです。結構、設定は大変ですが、一度 きりなので、がんばって設定しましょう。



posted by 2chの人 at 03:15| Comment(2) | MT4 EAを使おうよ | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

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