#16 トレーリングストップの最適化でPF1.99達成! しかし、立ちはだかる「ターゲット」の壁
FX
2025年11月19日:記
EA(エキスパートアドバイザ)開発の進捗報告です。
今回は、ロジックの致命的な問題が発覚したにもかかわらず、パラメータの最適化によって予想外の成果が出た話と、手動トレード手法をEAに落とし込む際の根本的な問題点について深く掘り下げていきます。
致命的なバグ発覚!
シンプルなPipsクローズへの移行とPF1.99の衝撃
今回のEA開発において、非常に重要な事実が判明しました。
実は、EAに組み込んでいた トレーリングストップのロジックが、致命的なバグにより適切に機能していなかった のです。
・ 致命的なバグにより、トレールが機能していなかった。
・ それでもPFは1を超えていた。(つまり利益が出る)
このバグが発覚したことは幸いでしたが、トレーリングストップが機能していない状態でも利益が出ていたというのは、ベースとなるエントリーロジックの強さを示唆しているのかもしれません。
そこで私は、このバグを修正するのではなく、より単純で確実なロジックに切り替えることを決断しました。
「最新のローソク足の終値が直前のローソク足の終値を越えたら(あるいは割ったら)クローズする」という、複雑で実装が面倒なロジックは捨て、単純に利益幅をPipsで指定してクローズする(またはPipsベースのトレーリングストップで管理する)ロジックへと変更しました。
パラメータ最適化の結果
このシンプルなロジック変更後、LC(トレーリングストップの間隔)とTP(トレーリングストップを開始する利益幅)のパラメータを30~60Pipsの範囲で組み合わせテスト(最適化)を実施しました。
その結果、3年間でPF(プロフィットファクタ) が1.99 という非常に優秀なパラメータの組み合わせ(髭剃り手法_表版:TP=40, LC=30)が見つかりました!
しかし、別のテストケースでは、「10万円が3年で14万5千円になる」程度の利益しか出ない結果も確認されています。
これは投資信託よりははるかにいい 成績ですが、ハイレバ好きなFXプレイヤーにとっては、現状では不満が残る水準でしょう。
PF1.99という理想的な結果を再現性のあるものにするため、さらなる検証が必要となります。
手動「髭剃り手法」の再現を阻む、最大の問題児『ターゲット』の定義
パラメータの最適化で一時的な成果は出たものの、私が目指す 手動による「髭剃り手法」に、現在のEAのロジックが近づけない最大の問題は、「ターゲット」の設定方法 にあると考えています。
手動による「髭剃り手法」では、以下のような波の動きを想定して仕掛けます。
1. 前のサイクルの頂点(ターゲット)を越える大波が出来て、
2. それが下降フェイズに入った時(エリオット波動の4派目または5派目)に仕掛ける
つまり、「ターゲット」は 前のサイクルの明確 な頂点でなければなりません。
EAロジックと手動ロジックの乖離
しかし、現在のEAのソースコードは、以下のようにコーディングされています。
「今の波から何本前までのローソクで最も高いもの」を「ターゲット」とする
このロジックの問題点は、今まさに形成中の 大波のエリオット波動の2波目または3波目のローソク を、EAが「ターゲット」として認識するという点にあります。
これは、本来狙いたい「前のサイクルの頂点」とは まったく違います。
手動の「髭剃り手法」は、この誤認のためにEAでは再現できていないのです。
プログラムへの問いかけ
この問題を解決するためには、EAに「前のサイクルの明確な頂点」を認識させる必要があります。
プログラムで、サイクルの大波を正確に捕捉し、「本物のターゲット」を捉えるには、どんなコードを書けばいいのでしょうか?
〇本前までの最高値を探すのではなく、根本的なロジックの再構築が必要です。
次回:
ソースコードは大波を捕捉できるか?
次回は、この「ターゲット」の定義 に焦点を絞り、いかにして手動トレードの認識をコードに落とし込むか、具体的なロジック案を検討していきます。
PF1.99という結果に甘んじることなく、理想のロジックを追求していきます。
お楽しみに!
※
私が作成中のEAは、手動で誰でも実現できる、第2話でご紹介した
「スキャル禁止でも勝ちまくれる手法」の自動化に取り組んだものです。
この連載の(今のところ)唯一の有料記事です。
150円! 安い!...社長, 安い! ٩(ˊᗜˋ*)و
×![]()
ใช่ไหม?