前回の記事で紹介したロジックは以下の通りでしたね。
①5日移動平均線が25日移動平均線を上抜きしたら(ゴールデンクロス)、「買い」
②5日移動平均線が25日移動平均線を下抜きしたら(デッドクロス)、「売り」
③新規注文から14日が経過したら決済する
④ただし、その前に反対サインが出たらドテンする
結果は次の通りでした。
スプレッド;2PIPS固定
ロット数;0.1ロット=1万通貨
トータル利益;+94510円
勝率;43.4%
PF;1.07
同じ条件で、今度はメタトレーダーのバックテスト機能(StrategyTester)を使って実験してみましょう。
具体的なやり方については、追々記事にすることにして、今回は、損益曲線だけアップしておきます。
こんな感じで損益曲線が出ます。
ところで、今回題材にしたシステムのパラメーターは、
短期移動平均線の計算期間=5日
長期移動平均線の計算期間=25日
決済日=14日後
でした。では、
短期移動平均線の計算期間=6日
長期移動平均線の計算期間=21日
決済日=7日後
という組み合わせだとどうなるんでしょうか。また、さらに別の組み合わせだとどうなるんでしょうか。あるいは、日足ではなく1時間足を使うとどうなるんでしょうか…。いろいろと試したくなりますよね。
こういった要望に対して、メタトレーダーでは、それを素早く検証してくれる機能=最適化(optimization)機能が搭載されていて、EAさえ手元にあれば、だれでも簡単にこの機能を使うことができます。
具体的な操作方法については、これも追々説明するとして、今回は、私がこの最適化を行った結果、以下の組み合わせがベストであることが分かりました。
使用する足=4時間足
短期移動平均線の計算期間=19本
長期移動平均線の計算期間=44本
決済日=99本後
結果は以下の通りでした。
スプレッド;2PIPS固定
ロット数;0.1ロット=1万通貨
トータル利益;+918690円
勝率;43.5%
PF;1.43
トータル利益は10倍近くも増え、見違えるほど立派なシステムが完成しました。
しかし、これは、あくまでも過去の値動きにおいては一番いいパラメーターの組み合わせだったということに過ぎず、これが未来にもそのままあてはまるという保証はどこにもありません。
にもかかわらず、パラメーターを過去の値動きに合わせ過ぎて、実運用ではほとんど勝てないシステムを作ってしまうことを、カーブフィッティング(過剰最適化)といい、我々システムトレーダーがよく陥る罠であることは十分注意したいところです。
カーブフィッティングについて、もう少し踏み込んで考えてみたい方は、こんなFXの日記をぜひご参照ください。
コメントをお書きください