バックテストのやり方について

とりあえず何でも良いので作ってみよう!



↑Expert Advisor Builder for MetaTrader4

本来ならばプログラムを一から勉強しなければ
作る事のできない『バックテストの条件』だが、
このサイトを使うことにより、
簡単な条件であれば
ソースと呼ばれるものを自動的に生成してくれる
ありがたいサイト。

ここで定義できる条件だけでは
物足りなくなったら
次はいよいよソースを自分の手で
いじってみる段階に入る事になる。

・・・ちなみに私は約一週間で
その段階に入っていってしまった・・・。

最初のうちは
ここのサイトを使いこなす事から始めてみよう!


一番最初に目に飛び込んでくる画面・・・。
赤枠で囲ってある『日本語』の部分を押すと・・・。


一部が日本語になって分かりやすくなる。
(・・・でも全部が日本語になるわけではない)


次に『変数』の『追加』を4回ほど押してみる。
『変数』は必ずしも使わなければならないものではないが
覚えるととても便利なので
これを期に使い方を一気に覚えてしまおう。


『追加』を4回押すと上記のような画面になるハズ・・・。


#1と#2には一目均衡表を入力・・・。
デフォルトでは「転換線」になっている箇所を
両方とも「基準線」に変え、
#2においては
Shiftの箇所を0から1に変えてみよう・・・。
一番下のShiftとは
現在の値を0として考え、
いくつ前の値なのかを示すもので
例えば1と入力すると1つ前
2と入力すると2つ前の値という意味になるのである。


画面のように変更したら次は
下の2つに同じ要領で『MACD』について入力してみる・・・。


MACDにおいては
#4の一番下のShiftを0から1に変える以外は
デフォのままでOK!


次は『買い戦略』に合わせて『追加』を1回だけクリック!


赤い枠で囲ってあるボタンを駆使して
画面のように入力してみよう・・・。

これで、
一目均衡表の基準線が前回よりも増加していて
なおかつ
MACD(Base)も前回よりも増加していると言う条件が
整ったときに『買い』の注文を入れろ
・・・と言う意味になるのである。


『売り戦略』も要領は大体同じ・・・。
画面のようにちゃちゃっと入力してみよう・・・。
意味は買いのときとはまったく逆となる。


『決済(買い)戦略』
MACD(Base)が反転して引けたら
買いポジを決済せよ。
・・・という意味。



『決済(売り)戦略』
これも買いの時と要領はほぼ同じ・・・。
画面のようにさっさと入力してしまおう。


買い・売り・決済(買い)・決済(売り)の
全部が終わったら
画面左下の『Complete!』を押してみよう。

・・・え?
『注文オプション』はいじらなくていいのかって?
ああ・・・
それはMT4の画面を起動した後に
後でいくらでもいじれるのでこの画面では
一切いじる必要はない。


『Complete!』のボタンを押すと
ほどなくして
画面の赤枠にあるようなファイルをDLできるハズ・・・。


ファイルの名前を分かりやすく簡単なものに変えてしまおう・・・。
(この操作は『必須』ではない)
次に、MT4のフォルダの中のどこかにある
『experts』と言うフォルダを探して
そこにさっきDLしたファイルを入れる。
『experts』と言うフォルダにファイルを入れる作業は
これから先頻繁に行われる事が予想されるので
ショートカットを作っておいた方が便利かもしれない・・・。


MT4を起動させて
画面左上の『表示』→『Strategy Tester』をクリック!


『Expert Advisor』の部分に
さきほどDLしたファイルの名前を持ってくる・・・。
次に『Optimization』の部分にチェックが入っていない事を確認する。
(デフォルトでは入っていないが一応確認する。これ重要)

最後に画面右側の
『Expert properties』をクリックする。


『Sign alMail』→『false』

『Each TickMode』→『false』
であることを確認する。
もしそうでなかったら手動で『false』にする。

特に『Each TickMode』が『false』になっていないと
バーが確定していない状態でも
暫定的にとはいえ
条件が揃うやいなや処理が発動してしまう為
一つのバーの中で
無駄なエントリーとエグジット(決済)を繰り返しまくるような
事が起こってしまうことがあるのであった・・・。

余談ではあるが、
これが理解できなかった頃

「条件が揃っていないのに
なんで処理が発動してしまうのだろう??BUGか??」

・・・などとあれこれ悩み
たっぷり半日は無駄にした経験あり。(爆)


『Use Stop Loss』・・・ストップを入れるかの設定。
今回は使わないので『false』で

『Use Take Profit』・・・リミットを入れるかの設定。
これも今回は使わないので『false』で

『Use Trailing Stop』・・・トレールストップを入れるかの設定。
トレールは今後多分一生使わないので永遠に『false』でOK。


『日付と時間の使用』にチェックが入っている事を確認し、
『開始日』と『終了日』は今回はあまり長くならないように入れてみる。
(測定する期間が長くなり過ぎると処理に時間がかかってしまう。
・・・かと言って短すぎても今度は結果が全くでてこない)

『期間』は今回は『Daily』(日足)で

全部OKなら画面右下の『スタート』を押す!!


全て無事コトが進めば
画面のように緑色のバーがでてきて
処理が開始される・・・。
その際、『visual mode』のバーを一番右にして
『Skip to』を押せば処理を早く終わらせる事ができる。
チェックを外した方が
処理は早いが、
ヴィジュアルで確認した方が良いので
なるたけチェックは外さない状態で
処理をした方が良いと思われる。

処理をしている最中に
赤枠で囲っている『Graph』の部分をクリックすると
グラフで途中経過が見れたりする。


処理が終了すると、
画面のようにどこでエントリーして
どこでエグジットしたのかと言う事が
矢印で確認できる。


最後に画面左下の『レポート』を押すと
画面のようにレポートが見れる。

様々なデータがでてくるが、
その中でもシステムトレードを行ううえで
特に大事なデータの一つに
赤枠で囲ってある部分の
『Profit factor』(プロフィットファクター)と呼ばれるものがある。
通常PFなどと略される事が多いが、
この値は
単純に利益を損失で割ったもので
損失が利益を上回ると1を下回る事になるのである。

無論、数値は高ければ高いほど良いし
損切りが一度も発生しなければ
この値は算出されない。

画面のように約1年を通して
日足でPFが3.20ならば
なかなか良い数値なのではないかと思われる・・・。

ちなみにその一つ上の
『Total net profit』は合計で
何pips利益が出たあるいは損失が出たかを示している。
桁がずれるが
この場合は
合計で+860pips取れているようである。

今回は初めてと言うこともあって
条件も
単純でシンプルなものにしてみたが、
応用次第で
もっと複雑な条件に設定していくことも可能である。

今回のような要領で
バックテストを繰り返していって
優秀なシステムを是非
掴み取っていって欲しい・・・。

健闘を祈る。