こんにちは GoldenFXの管理人Hsak.です
前回
「TFBreakerC3」の<HenkarituTP>はどれ位が適正なのか計ってみた - GoldenFX’s diary
でお伝えしたように
HenkarituTPの値は平均で70%位だとわかりました
HenkarituTPとは
図で言うとエントリーした波の大きさを その前の同方向波と比べた時の率です
平均は70%なんですが 統計学的に言えば 分布の偏りは考慮されていない為この値をパラメータ<HenkarituTP>にそのまま入れて 勝てるかは別の話です
バックテストは信用ならない
「そんなもん バックテストで最適化すれば 全てのパラメーターの最適値が割出せるだろう」 って思いますよね
ところが 何回も述べるように このバックテストがかなりの曲者です
「TFBreakerC3」の開発レポートでも何度か出てきた問題ですが
移動平均線などのインジケーターというのは データが増えるに従って 再描画されてしまうのです その為エントリロジックが正しく再現されていない事が多々出てしまいます。
そこで 今回はデータ検証用のEAを作って 正しいデータを取り出します
やり方としては データを取り出す位置を インジケーターの再描画されない部分まで
遡るようにしてやれば良いわけです
平均が正しいとは限らない
よく世帯年収の平均っていう データを見かける事がありますよね
ところが実際には その平均値が高くて その年収に満たない世帯の割合の方が多かったりします
データというのは偏りがあり その分布と平均値は離れている事があるのです
前回HenkarituTPは平均70%と 計算できましたが
では実際にその値をパラメーターに入れると どれくらい勝てるでしょうか
前回使ったポンド円の2018年~2020年のデータで検証しましょう
70%に届かずに次の山または谷が来てしまったら負けとします
(実際には届かなくても次の山で勝ったりしますので 少し違いますが)
おっと 42%!
では<HenkarituTP>の値を下げるとどれ位勝率が上がるでしょうか
まずは60%
良いですね
では40%
これはすごいですね
と言いたいところですが
確かに勝率は高くなりますが 実際にはこの40%を越えて伸びる事を考えなければなりません ここで利確した場合の遺失利益を考慮するという事です
そこであらためて どれくらいの利益が得られるか「獲得率」を考えてみます
この数字が高ければ 単純に良いと思ってください
<HenkarituTP>70%の時
60%では
40%
下がってしまいました
<HenkatituTp>を40%以下にすると勝率は グンと高くなりますが
EA稼働時間当たりの利益は伸びなくなります
そのうえ この検証では 負けた時にどのくらいの損失になるかを計算していません
(じゃあ 最初から入れとけよ?)
どうやれば最大の利益になるかは 違う要素も入れていかないといけませんが
勝率至上主義は あまり良い結果にならない事はおわかり頂けたと思います
FXは究極 勝率5割でリスクリワードが1:1(以上)になれば 勝てますので
このEAで それを証明したいと思います