2011年12月18日日曜日

MT4の自動売買プログラムをテストしたい(実際にテストをしてみる編)

こんにちは。

ジェントルマンです。

それでは、早速自動でテストをしてみたいと思います。

テストの開始前にEAに対するオプションの設定を行います。
(この部分は、前日までのブログ記事をご覧ください。)

スタートボタンを押すとテストが開始されます。
テストが正常に完了するにはいくつか要件があります。

・EAにバグが無いこと(エラーが発生しないこと)
・EAのオプション設定に誤りがないこと
・Optimizationの制限値にかからないこと(そもそも最適化は考慮に入れないことをお勧めします。)
・ヒストリカルデータがテストしたい期間分そろっていること

この要件のうち、ヒストリカルデータが一番厄介です。
ヒストリカルデータとは、チャートを構成している値動きのデータだということを、過去の記事で説明したと思います。
この値動きデータを取得するには、ヒストリーセンターと言うところからダウンロードしてくるか?、ネットでデータを落としてくるか?、と言った手段があるのですが、どちらもいまいちです。

ヒストリーセンターダイアログ
このヒストリーセンターダイアログからダウンロードなりインポートなりするのですが、通常ここに記録されているデータは、取引に使っているFX業者のデータ群です。
インポートできるのは、ネットから落としてきたデータなので、当然のごとく差異があります。
ダウンロードが出来るのは、MT4を作っている会社のデータなので、これまた差異があります。

どちらにしろ、めんどくさい&弊害があるので、この手段は諦めてさっさとチャートをスクロールさせたほうが早いです。
(チャートを過去にどんどんスクロールさせていくと、自動的にデータが落とされてきます。但しどこまで戻れるかは、業者によって違うのでご注意を…)

さて、全ての要件が整ったらテストすることが出来ます。
テストした後のダイアログ
スタートを押すと緑のバーがどんどん進んでいって、全部緑になったら完了です。
試しにMACDサンプルでテストしてみました。

テストが終わると新しいタブが出てきます。
・結果
いつ取引していつ決済したかの一覧が出てきます。

・Graph
資産の移動グラフが出てきます。

・レポート
細かい分析結果が出てきます。

それでは、一つ一つのタブについて説明したいと思います。

「結果」
結果タブ
これは見ての通りです。
ロット数がいくつで、決済値がいくつで、損益がいくつで…と言う一覧が出てきます。

「Graph」
グラフタブ
これも見ての通りです。
総資産の移動グラフが出ます。
さすがサンプルだけあってMACDSampleは右肩下がりです。

「レポート」
レポートタブ
もっとも大事なのが、このレポートだと思っています。
ここでは分析にひつような値を示してくれています。
項目一つ一つを説明したいと思います。
・Bars in Test
テストが行われたバーの数を示します。

・Mismatched chart errors
チャート上のデータ値に不整合があった数です。
これがたくさんあるとバックテストの意味がなくなってしまうので、ご注意を。

・Initial deposit
最初にいくらあったことにしたか?です。
画像では、一万ドルあったことになっています。

・Total net profit
最終結果としての損益です。
1562.50ドル損しています。
残念。

・Profit factor
利益と損失の比です。
今回で言えば、利益は損失の0.82倍ということになります。

・Absolute drawdown
ドローダウンの絶対値です。

・Total trades
トレード回数です。

・Ticks modelled
モデル化されたティック数です。
つまり現実の動きではなくて、簡略化されたティックです。

・Modelling quality
これは、Mal4のサイトに解説がありました。
何か難しい計算式にのっとっています。
要するに、ティックを簡略化するときに、予測(推測)してこんなティックの動きなんだろうな~と想像してティックを作っていっているようですが、そのクオリティです。

・Gross profit/Gross loss
利益合計・損失合計です。

・Expected payoff
一回の取引において期待される損益です。
今回であれば、一回取引すると-3.16ドル損することが期待されています。
悲しい…

・Maximal drawdown/Relative drawdown
最大ドローダウンとドローダウン率です。
一番儲かっていた時から一気に損したときのドローダウンの値になります。

・Short positions(won %)/Long positions(won %)
売り・買いポジションを取った回数と勝率になります。

・Profit trades(% of total)/Loss trades(% of total)
利益が出たトレード回数とその率・損したトレード回数とその率になります。

・Largest profit trade /loss trade
一回のトレードでの最大利益と最大損益です。

・Average profit trade /loss trade
一回のトレードでの平均利益と平均損益です。

・Maximum consecutive wins(profit in money)/consecutive losses(loss in money)
連続で益が出たトレードと合計利益・連続で損が出たトレードと合計損失です。

・Maximal consecutive wins(count of wins)/consecutive losses(count of losses)
一つ上のものとの逆です。

・Average consecutive wins / consecutive losses
平均連続益回数と損失回数です。

こんなところでしょうか。
ちなみに各タブごとに右クリックをするとレポートを出せるポップアップがでます。
レポートでは上記の情報を全て記載したhtmlが出せることが出来るので、一回テストしたら保存しておくことをお勧めします。

それではまた。

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

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

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

0 件のコメント:

コメントを投稿