2010年08月28日

2010年 損益自動計算EAの使い方 (2)

2010年用の損益自動計算EAの使い方

前回は損益表について説明いたしました。
今回はその続きと、損益自動計算EAの基本の使い方について説明致します。

利益、仲値についての書き方は説明した通りなのですが、まず、仲値について

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

2002年からのデータをダウンロードして開きます。
この時、同時にFX 損益表(2010年分)も開いておきます。

仲値1.jpg
ダウンロードした"外国為替公示相場ヒストリカルデータ"を(エクセルで)開いて見た。

こんな感じですが、一部 #### で見えません、これは間隔が狭い為なので少し広げてみると

仲値2.jpg
列幅を少し広げるとすべての日付を見れる。色々な通貨の仲値が2002年から並んでいる。

ドル、ポンド、ユーロ ・・・
仲値がならんでいます。必要なのは 2010からのドルなので、2010年を探して

仲値3.jpg
2010年のドルの仲値の選び方。2010年最初から最後のデータまでを選ぶ。

こんな感じで 選んで、コピー つぎに 損益表の仲値を開いて そこにペーストします。
コピー & ペーストは cntl-c cntl-v を使うと簡単です。
2002年からの表は月単位なので、月初めからの細かい部分も別の表からペーストしてください。
これで、前日の仲値まで入ったはずです。確認してみて下さい。
所で、この表は何度でも書き直せますし、上書きでコピー&ペーストできますので、
値が違った場合や間違った場合は上書きでペーストすればOKです。
仲値に関しては毎日、入れる必要はなく、極端な話、年明けに一回でも結果は変わりません。

仲値マップ、利益マップがある "2010年仲値" は左クリック、ドラッグで簡単に移動できます。
年末には12月の後にもっていけば、プリントアウトするのは 1月から12月でよい事になります。

仲値移動1.jpg
"2010年仲値"を"損益表(八月)"の後から"損益表(九月)"の後に移動するには

仲値移動2.jpg
左クリックで選んでドラッグ、"損益表(九月)"の横に移動してマウスを放せばよい。


さて、今度は毎日利益です。同じ様に利益マップに日付とならんで、利益を入れればよいのですが、
それを自動で計算してくれるのが DayProfit list by 2ch (Ver0.2) です。

所で、この DayProfit list by 2ch (Ver0.2) は一体なにを計算しているのでしょう。
それを理解するためにまず、お持ちのメタトレーダーを開いてみて下さい。
普通の設定ならば、terminal を開いていれば回線がつながると下のタブが
取引 口座履歴 ニュース ・・・・・ の順に並んでいるはずです。で、この口座履歴のタブを開くと、
それまで、あなたが行った取引の結果が見えるはずです。(回線がつながっていないと見れない)
DayProfit list by 2ch (Ver0.2)は、この取引結果を一日単位で集計して、表にしているのです。
例えばここに表示しているデータ設定が三ヶ月になっているとDayProfit list by 2ch (Ver0.2)
も三ヶ月分しか計算できません。
人間の見れない履歴はEAも計算できません。"全履歴"か"期間のカスタム設定" 等で

2010年分は全部表示して下さい。

表示されるデータは開いているチャートには関係が有りません。
つまり、EAを走らせるチャートはどんな通貨ベア(もしくはオイルや金でも良い)でも良いわけです。
少し説明からはずれますが、特にEAでなくても、インジケータやスクリプトの形でも計算できるかもしれません。
EA にしているのは、テンプレート登録すれば、実行時は面倒な設定なしに済ませるられるからです。
(最初に一度だけは勿論、設定必要ですが・・・(^0^))

DayProfit list by 2ch (Ver0.2)の設定方法

まずは、開いているチャート上で DayProfit list by 2ch (Ver0.2) を実行して下さい。
チャートにドラッグ & ドロップするだけです。
ポジションを取ったりしませんので、安心して・・・・ (^0^)

画面左上に

BrokerName = ブローカー名 (例えば Alpari(UK) Ltd. 等)
FileDirectry = .. \ experts \ files \ Profit
FileName = Alpari(UK1).csv


と表示されればうまく行っています。

.. \ experts \ files \ Profit の下の Alpari(UK1).csv を開いてみると

DayProfit1.jpg
Alpari(UK1).csv ファイルの中身

一行目に 取引終了日 総合利益 "計算した日(但し日本の時間にしてある)"と並んでいます。
最後の計算した日を見れば、データを計算した日が確認でき前の物と取り違える気遣いがありません。
この"計算した日"は現在サーバーが送ってくる時間を日本時間との差を考慮して計算した物です。
通常は今現在の日本の日になっているはずですが、日曜日など
サーバーから送ってくる時間が止まっている場合は前の日になります。
(時間は止まっていても、売り買い履歴データは送ってくるので損益は計算できます)
2行目以降は取引があった日 と 一日の合計がならんでいます。
例では2行目で-5000ドルとなっていますが、これは別の口座に移したものが反映されています。
(数字は実際の私の取引ではありません。あくまで例です(^0^))
あとは2行目以降を 損益表の利益マップに コピー & ペーストすればよいのです。

さて、今 EA のデフォルトで計算しましたが、実際はブローカー毎の設定が必要です。
必要な項目について説明しましょう。
DayProfit list by 2ch (Ver0.2)のプロパティーを開いてパラメータの入力を見ます。

DayProfitSet1.BMP
DayProfit list by 2ch (Ver0.2)のプロパティー その1

DayProfitSet2.BMP
DayProfit list by 2ch (Ver0.2)のプロパティー その2

SubDirectry を変えればサブディレクトリー名が変わります(^0^)、特に変えていません。
FileName はお好みに応じて変えてください。 
私はブローカーがAlpariなので 一日のすべての利益は Alpari(UK1) ALL としています。
StarDay は 2010年中は変更しなくてよし。
ServerTimeShift は 重要です。
サーバーのGMT時間(但し冬時間ね) を GMT+9から引いた値を入れます。
例えば Alpari(UK)のサーバー時間はGMT+1になっているので +9 - +1 = +8 を入れます。(デフォルト)
例えば Forex.comジャパンならば GMT+9 なので +9 - +9 = 0 を入れます。
SummerTimeBegin と SummerTimeEnd は

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

を参考にして下さい。ヨーロッパ系のブローカーならこれで正しいはずです。
米国系のブローカーは変更の必要があります。
サマータイムのない地域は(例 日本) SummerTimeBegin = SummerTimeEnd = 2010.01.01 とします。
するとサマータイムは計算されません。 
Swap Commition は 有れば True なければ False を設定します。
判らなければ 両方 True でも良いでしょう。(無い場合は計算するが 0 なので無いのと同じ)
以降はデフォルトで OKです。設定したらテンプレートとして適当な名前で登録しておきます。
次回からはこのテンプレートを呼ぶだけで計算されます。

さて、ここから先は老婆心的に実際の運用時の 一寸したコツを書いて置きます。

書くのに疲れたので、項目だけ挙げておきます。

1)計算は回線がつながってる時に行う。
2)データのコピー&ペーストは1-2日 前の分も一緒に 行う。
3)計算結果と損益表はディスクトップから呼びやすい様に設定する。

本日ここまで、書きかけです。m_o_m
posted by 2chの人 at 04:19| Comment(0) | MT4 EAを使おうよ | このブログの読者になる | 更新情報をチェックする

2010年08月22日

2010年 損益自動計算EAの使い方 (1)

2010年用の損益自動計算EAと損益表の使い方

2010年用の損益自動計算EAと損益表の使い方について解説しようと思います。
まずは、

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

をお読み下さい。損益表とEAの一部をVER UPしてありますので、既に
ダウンロードした方やお読みになった方も再読して頂くと良いと思います。

なお、質問などありましたら、コメントに書いて頂くとお答えできるかと思います。

MT4 や EAに詳しい人は、これだけで十分かもしれませんが、一部 使い方の質問とかありますので
もう少し詳しく説明しておこうと思います。
説明の重複があるかもしれませんが、我慢してお読み下さい。

さて、本日は損益表の説明をしたいと思います。

この損益表は元々は2009年のFX取引の集計をする為に作りました。
実は私はFX取引をするのは2009年が始めてで最初はマニュアルで取引をしていました。
最初の2ヶ月で、自分に才能がない事を悟り当初はFXでは勝てない物だと思っていました。
考えてみれば、始めた人の殆どが負けて撤退しているのです。
相手は海千山千のFX会社です。勝つわけがありません。
こうなったら、前から存在だけは知っていた、システム取引で挑んでみよう。
(気が弱い割りに、諦めない性格なので 止めようとは思わないのです...(^0^))
で、色々調べてみると(もちろんインターネットで..)メタトレーダーという物がある。
日本の業者でもやっている所がある。
じゃ、とりあえずそれで・・・。
所が日本の業者はいまいち評判が悪い...有名な数字だけの証券会社でした(^0^)
それに、メタトレーダーは海外業者がメインみたいです。
でも、英語が苦手だし、税金が面倒らしい。まあ、英語はなんちゃって英語で良いだろう。
海外の取引の税金について調べてみました。すると...

その日の取引を円に換算しなおして、それを毎日帳簿につけてそれを実際の取引のリストに添付した物を税務署員は要求するらしい。

なんて、面倒な...でも 良く考えたらトンデモない事を要求しています。
だって、円に換算する円レートを一体なにを使うのか。
換算の時の手数料をどうするのか 等など わからない事だらけです。
で、もっと調べていくうちに判った事は

1) 円に換算する方法については結局 税務署員もよく判っていないので 適当な事を言っている。
人によって毎日計算しなければとか、週末でよいとか、月末で良いとか言っている。
2) 使う円レートについても良くわかっていない。
で、色々な人が税務署と話をした所ではどうも銀行のその日のレートを使うのが吉らしい。
いわゆる仲値というやつです。
3) 仲値を使うと土日、祝日は値が発表されません。
海外では円の取引があるのに日本では仲値がないので計算できない事になります。

いざ、税金を納める段になってみると判りますが、実際に円レート変換が必要なのは、
入金/出金の際 年末に残高を確認する時 のみになります。
入金/出金については円で行った場合は換算の必要はなく円の方を使います。
殆どの場合は年末の残金の換算、次の年への繰越金の換算にのみレートを使うだけです。
例外的にドルで入金/出金した場合は換算が必要です。
例えば他の業者からドルで移した場合とか。


で、私の立てた結論は
1) 一番細かい人でも毎日と言っているので毎日のレート換算を書いておけば良いでしょう。
2) 銀行発表の仲値を換算のレートにすれば良いでしょう。
3) 土日は計算しなくても良いでしょう。
という方針にしました。
で、もっと深刻な問題があります。表を作るのにエクセルを使うのがよさそうですが、
実は、私はエクセルを作った事がないのです。人の作った表を使う事はよくあるので
エクセルで出来る事は判るのですが....。
で、結局 エクセルを勉強しちゃいました。
表の元はなにかの雑誌に書かれていたテクニックを引っ張って作りました。

人間、金が絡むとちゃんと勉強するものですね。(^0^)

昨年はこの損益表を税務申告書に添付して、申告しました。
税務署員、いわく 
"まあ、きれい。みんな、こんなに正確に申告してくれると助かるのですが.."
との事で、税務署員を満足させた様です。

まあ、要するに 正確に書いてあると税務署員が思えば良いという事の様です。

損益表説明
損益表の構造について説明しましょう。

損益表説明1.jpg
損益表一月分

今この図では損益表の一月分のB9を選んでいます。すると関数を表すfxの所に
=DATE(B2,B3,1)となっています。B2を選ぶと2010、B3を選ぶと1が表示されます。
つまり、DATE(2010,1,1) つまり2010年1月1日を表示しています。
表示形式で日だけを表示しているので1が表示されています。
次に一日利益D9を選ぶと
=IF(ISERROR(VLOOKUP(B9,利益,2,0)),"",VLOOKUP(B9,利益,2,0))
なにやら難しい関数です。これについては後で説明します。
E9にはなにも入っておらず、F9は =SUM(D9:E9)+$E$5 つまり、1日の 一日利益 + 入金/出金 + 前月までの合計 になっています。
F10は = SUM(D9:E9) + F9 つまり 一日利益 + 入金/出金 + 前日の合計になっています。
G9 ドル仲値をみてみると
=IF(ISERROR(VLOOKUP(B9,仲値,2,0)),"",VLOOKUP(B9,仲値,2,0))
また難解な関数です。後述します。
H9 円転値をみてみると当然 F9*G9 と思いきや、=IF((G9=""),"",F9*G9)になっています。
これはG9 すなわちドルの仲値に値がない場合(休日や、まだその日になっていない)はなにも表示せず
レートがある場合のみF9*G9の値を表示します。
他の所もそれぞれ関数の内容を見てみてください。
それなりに納得すると思います。

さて、後述すると言った難解な関数について説明しましょう。
一番判りやすい例で、J9 を選んで下さい。
=IF(ISERROR(VLOOKUP(B9,休日,2,0)),"",VLOOKUP(B9,休日,2,0))
となっています。
VLOOKUP関数は休日というマップを使っているのは判ると思います。
休日マップはどういう構造になっているのでしょう。
そこで、下のタブから休日一覧を選んで表示させて、B3からD29を選んで下さい。

休日マップ説明.jpg
休日マップ

すると、左上の蘭に休日と表示されましたよね。つまりこれが休日というマップです。
構造は一列目に日付、二列目に休日名、三列目に 休 です。
判って来たと思います。VLOOKUP関数はB9の日付と休日マップの日付を比較して同じだと
マップの二列目を選択しています。かくして、2010/01/01は 元日 が選ばれます。
IFとIFERROR関数でマップにデータがない場合は表示せず、ある場合のみ表示させています。
したがって、休日マップの日付と休日名を書き直すだけで、休日を変更できるという訳です。

利益、仲値についても考えてみて下さい。それぞれは利益マップ、仲値マップを使います。
マップは、それぞれ二列しかありませんが、日付けを比較して、二列目を選択する動作は同じです。
利益、仲値の太枠で囲んだエリアがマップです。

これが、マップの方の数字を変えると値が反映される仕組みです。
わざわざ、マップにしているのはその方が仲値のリストから反映しやすかったり、自動計算しやすかったりするからです。

マニュアルで毎日利益を書き込む場合は直接、一日利益に書き込んでも構いません。
実際、昨年は 自動計算EA はなかったので直接書き込んでいました。面倒です。

今日はここまで、次回は自動計算EAの使い方を解説します。

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

2010年08月07日

おひさしぶりです。

おひさしぶりです。

7月はついに一つも記事を書きませんでした。
実は今年の始めから大きく負けてしまい、一時ぼろぼろの状態でした。
なにしろ、酷い口座は資金の6割を溶かしてしまった状態です。

そうなると、気持ちもぼろぼろになってしまい、トテモブログの更新など
できません。

6月に損益自動計算EAを作った頃はあと少しでプラスに転じそうだったのですが、
直後に大ドローダウン...まただ、もうだめだ。
いやいや、気を取り直して...なんて事の繰り返しです。

....ん? でなんで、ブログ更新してるの?

そうです、プラスになったのです。(^0^)


今週、総計をしてみたら、わずかですが、プラスに転じました。
年初に大きく負け初めてからずるずる資金を溶かして、なんとか気持ちを
取り直して、トライ....また ドローダウン トライ ドローダウン
を繰り返して、ついに年初よりほんの少しプラスに転じました。
油断をするとまた 凹みそうなので 油断せず進みたいと思います。
さて、とにかく回復の為にやった事はいろんな海外フォーラムをまわって
とにかく情報をゲットして..試しての繰り替えしです。
結果としては、今までは購入したEAがメインだったのですが、現在のメインのEAは
それに加えて、フリーのEA と フリーEAの改造 と 自作EA となってしまいました。
改造EA や 自作EA について記事にしても、読んでる人はなんだか分かり
ませんので、なかなか記事にできませんでした。
まあ、このまま勝ちがつづく様ならば、来週からは少しずつ色々な報告やら
ツールの提供やらをやろうかなっと思っています。

一寸 前後しましたが、勝ちに転じた理由の一つにツールをうまく使って
毎日、勝ち負けを分析した....という事もあります。
それによって、次の日のEAの仕掛け方を考えるわけです。

まあ、とにかく勝ち越すとうれしいものです。

まずは、ご報告まで.... (^0^)
posted by 2chの人 at 23:19| Comment(4) | MT4 売り買い報告 | このブログの読者になる | 更新情報をチェックする

広告


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

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

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


×

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