https://keichang.hatenadiary.jp/archive

0から始めるFX自動売買

(ほぼ)放ったらかしで月利3%を目指します。

Angel Heartのバックテスト最適化結果

次のような条件で、Angel Heartのバックテスト最適化を行いました。 そこそこのハイスペックなマシンで実施しても、数時間以上かかる検証ですので、よろしければ参考にしてみてください。

最適化項目

項目 始値 最大値
Stop Loss 70 100
TakeProfit1= 30 50
TakeProfit1P= 30 70
TakeProfit2P= 40 90
TakeProfit3P= 50 100
TrailingStopPoint= 10 15
TrailingStartPoint_1P= 10 30
TrailingStartPoint_2P= 20 40
TrailingStartPoint_3P= 30 50

最適化結果の検証

Google Spreadsheetに貼り付けて分析をすすめていきます。

まずは、最大ドローダウン(金額)をY軸、総利益のをX軸にして、散布図を作成します。

f:id:keiji_kc:20180820110104p:plain

さて、この図を見ると、大きく3つのグループに分けられそうです。

f:id:keiji_kc:20180820110024p:plain

Group1は、利益もドローダウンも小さく、守りの設定です。 Group2は、リスクの程度がぐんと高まり、やや伸びます。 Group3は、Group2に比べてややドローダウンが伸びて、利益がぐんと伸びそうです。

どうやら、Group3が良さそうな雰囲気です。

さて、どのような設定が影響しているのでしょうか?

それを調べるのに便利なのが「相関係数」という考え方です。

2つのデータ間の関連性の強さを調べる方法で、エクセルやGoogle Spreadsheetで簡単に出せます。(関数は、correl(データ1, データ2))です。

数値Aがあがるとき、同時にBも同じように上がれば、相関係数は高くなります。 数値Aがあがるとき、逆にBが反対方向に下がれば、相関係数は低くなります。

数値は、-1~+1の間で推移します。 0に近いところでは、2つの数値の関連性が全くなくて、「無相関」となります。

最適化テストをするときは、あまり沢山の組み合わせを使いませんので、±0.3もあれば、かなり高い相関関係がある、と思ってよいです。

さて、検証したデータ別に相関関係を見てみます。

項目 始値 最大値 相関係数 言えること
Stop Loss 70 100 0.36 大きいほうがよい
TakeProfit1= 30 50 0.10 小さくてもよい
TakeProfit1P= 30 70 -0.07 小さくてもよい
TakeProfit2P= 40 90 0.24 大きいほうがよい
TakeProfit3P= 50 100 0.10 小さくてもよい
TrailingStopPoint= 10 15 0.57 大きいほうがよい
TrailingStartPoint_1P= 10 30 0.27 大きいほうがよい
TrailingStartPoint_2P= 20 40 0.24 大きいほうがよい
TrailingStartPoint_3P= 30 50 0.17 まぁ、どっちでもよい

ストップロスの値

さて、ここで難しいのは、SLを大きくすると、1発の損失が大きくなることです。

ただ、この表から、あまりに小さいのはよくない、ということも言えます。

70はダメ、80も微妙、そうすると、90か100あたりか、、となります。

個人的には、90も100ももはや、もはや、どっちでもよいかな、という感じです笑 相関関係も大きそうですし、それなら、100にしようかな、となります。

トレーリングストップ

いつも一番悩むのは、トレーリングストップの値です。

これを小さくすると、プラスで着地できる可能性が高くなります。コツコツ確実に、積み上げるなら、TSは小さい方がよいです。 ただ、上記の通り、トレーリングストップが小さいと利益も小さくなります。

私は、性格的には、なるべくプラスで終わりたい、、という感じなので、「なるべく小さなTS値で、大きな利益を狙いたい」という考え方です。

Spreadsheetを純利益でソートして、TS値の4つの値の合計が小さいパターンを探していくと・・・

ありました! こんな設定です。

StopLoss 100
TakeProfit1= 40
TakeProfit1P= 50
TakeProfit2P= 90
TakeProfit3P= 70
TrailingStopPoint= 15
TrailingStartPoint_1P= 20
TrailingStartPoint_2P= 20
TrailingStartPoint_3P= 40

こんな設定です。

はじめのグラフの中では、Group3の中で、この辺にプロットされます。

f:id:keiji_kc:20180820120115p:plain

場所的には、悪くないんじゃないでしょうか。

私の場合は、「リスクを抑えながら利益を最大化する」、という方針なので、この辺なら十分に素晴らしい期待利益です。

「リスクを抑える」というのをDDがとにかく低くて、利益が大きい、という考えで選ぶこともできますが、私の場合は、ある程度、トレーリングストップにかかりやすい数値を目指しました。

ここまで数値を特定できると、今度は、固定できる数値は固定して、悩ましいところ、TPの設定値などに絞って、より細かく最適化していくとよりベターな設定値を作れると思います。

私は、まぁ、、こんなもんでいきます。時間がない・・・。

Angel Heartが無料でもらえる口座開設キャンペーン

アヴァトレード・ジャパン株式会社Angel Heart USDJPYタイアップキャンペーン
アヴァトレード・ジャパン株式会社Angel Heart USDJPYタイアップキャンペーン
アヴァトレード・ジャパン株式会社Angel Heart USDJPYタイアップキャンペーン?|?fx-on.com

Angel Heartの購入はこちら

Angel Heart USDJPY
エリオット波動論に基づいた高勝率EAです!
エリオット波動論に基づいた高勝率EAです!?|?fx-on.com