2011年12月17日土曜日

MT4の自動売買プログラムをテストしたい(機能の洗い出し2)

こんばんは。

ジェントルマンです。
土曜日はやっぱり幸せな曜日ですね。

今日は、MACのメモリを交換しようとしたところ、00番台のドライバが無くて裏蓋が開けられませんでした…
あきらめて明日東急ハンズでいいドライバーセットを買ってくることにします。

さて、機能の洗い出しの続きです。
昨日は途中で力尽きましたが、今日は元気がいいのでどんどん調べていきたいと思います。

タブの右側
タブの右側の部分です。
「期間」
テスト対象の時間足を選択します。
※実際にEAを走らせたいチャートの時間足と揃えるとよいです

「Expert proerties」
EAのプロパティ設定です。
ボタンを押すとダイアログが出てきます。
出てくるダイアログ
タブが三つあります。
・Testing
テストの主な概要を設定するところです。

・パラメーターの入力
EAのパラメーターを入力するところです。

・Optimization
最適化を行うときの値の制限設定をするところです。

以下で一つ一つ説明して行きたいと思います。
「Testing」
・Initial deposit
ここでは、最初にいくら持っているか仮想のお金を設定します。
1ドル80円と考えて、投資額が100万円なら12500ドルとかに設定すればいいかと思います。
ここでめんどくさいのが、EAの中で自分が投資できるロット数を資産から計算しているような場合です。
その場合は、現在資産をカウントできる関数があるのですが、ドルで返ってくるのでご注意を…
(ここら辺は、また詳しく説明します。)

・Positions
ポジションをロング・ショートどちらでもてるか?を決めるところです。
Long&Shortなら売り買い両方
Long Onlyは、買いのみ
Short Onlyは、売りのみ

Long Onlyで動かしていた場合、売りの注文が出されると、自動テストがエラーでとまります。
逆もまたしかりです。
普通Long&Shortで動かすと思いますが、Longのみプログラムを書いたようなときは、Long Onlyにしておいて、Short注文が出されないか?と言ったテストを行うことが出来ると思います。

・Optimized Paramater
直訳すると最適化されたパラメーターでしょうか?
Optimizationで、自動売買プログラムの最適化を設定することが出来るのですが、どの項目に設定するか?を選ぶものです。
Optimizationタブと密接にかかわるので、後ほど説明します。

・Genetic argorithm
直訳すると遺伝的アルゴリズムです。
どうもEAのパラメーターの最適化の際に行われるパラーメーター分析のアルゴリズムを遺伝的にするか総当りにするか?みたいなものみたいです。

ここで色々書いていて思ったのですが、「最適化」は正直かなり危険な機能のような気がしています。
「最適化」は、あくまでも流された過去のチャートに対する最適化であって、未来のチャートに対する最適化ではありません。
ここで、最適化したからといって実際に役立つことが確約された訳ではないと考えています。
まあ、システムトレードの話がもっと出てきてから言うべきことのような気もしますが。
一応機能としては、存在していますが、ジェントルマン的には無かったことにしてブログを進めていきたいと思います。

「パラメーターの入力」
これは、EAに外部からパラメーターを入力したいときに選択するタブです。

「Optimization」
最適化の限界値を設定するタブです。
(何かを犠牲にして何かの値を伸ばしても仕方ないので。)


「通貨ペアのプロパティー」
Expert propertyの下にあるボタンですが、これはswapがいくら?とかの情報を見ることが出来るだけなので、気にしないでおきたいと思います。

「Open Chart」
テスト対象のチャートを開くことが出来ます。

「Modify expert」
テスト対象のEAの訂正を行うことが出来ます。
Meta Editorの画面が開くだけ…です。

次にいよいよテスト開始です。

それではまた。


*****ジェントルマンのFX環境*****
【トレードツール】
MetaTrader4(Forex.comのやつを使ってます。↓)
【EA】
自作EAを使っています。
名づけて「TrendFollower」
【動作環境】
Amazon ec2でサーバーを借りて24時間動かしています。
(いわゆるクラウドってやつ)
WindowsServer2008R2 64bit マイクロインスタンスです。

FX紳士はランキングサイトに登録しています。
応援よろしくお願いします。
・日本ブログ村
にほんブログ村 為替ブログへ

MT4の自動売買プログラムをテストしたい(機能の洗い出し)

こんばんは。

ジェントルマンです。

今日は静岡まで行ってきましたが、静岡はなんだか寒かったです。
そして今朝から延々頭痛がし続けるのはなぜ?
そんな色々は置いといてさっさとStrategy Tester機能の説明に移りたいと思います。

今夜も全ての説明は終わりそうに無いので今日は機能の洗い出しをしたいと思います。
※サンプルでついてたMACD Sampleを使いたいと思います。

ダイアログの左側
まずは、ダイアログの左側から説明していきたいと思います。

「Expert Advisor」
テストしたいEAを選択します。
選択できるEAは、ナビゲーターで見たときに、Expert Advisorsフォルダ以下に配置されているものです。
(詳しくは過去のブログを読んでみてください。)
(EAのパラメーター等設定できるのですが、ここで選択されているEAに対して設定されます。)

「通貨ペア」
テストしたい通貨ペアを選択することが出来ます。

「モデル」
テストしたい時間軸の対象を選択することが出来ます。
Every tick---ティック単位
Control Point---選択している時間足の一段階詳細な足単位でテスト。
OpenPriceOnly---始値毎にテスト
よくEvery tickが重いと言われていますが、何十年分もテストすることは無いと思うので、最近のPCの性能を考えるとEvery tickで大丈夫な気がします。
(環境にもよりますが、Windows XP以上・Core 2 Duo以上・メモリ2GB以上であればいけるような気がしています。)

「日付と時間を使用」
チェックをつけていたら指定の期間
チェックをつけていなかったら、持っているデータ分全てのテストを行います。

「Visual mode」
早送りでチャートが更新されていき、その中を自動売買プログラムが動きます。
バグが無いかを確認する用だと思います。
この機能とあわせて、プログラムのデバッグ機能をつけてほしかった…

さて、ダイアログの左側だけでも色々ありましたね。
次は、右側の説明に移りたいと思いますが、眠くなってきたので続きは明日にしたいと思います。

それでは、また。

*****ジェントルマンのFX環境*****
【トレードツール】
MetaTrader4(Forex.comのやつを使ってます。↓)

【EA】
自作EAを使っています。
名づけて「TrendFollower」
【動作環境】
Amazon ec2でサーバーを借りて24時間動かしています。
(いわゆるクラウドってやつ)
WindowsServer2008R2 64bit マイクロインスタンスです。

FX紳士はランキングサイトに登録しています。
応援よろしくお願いします。
・日本ブログ村
にほんブログ村 為替ブログへ