2026-05-07(木)。新戦略 PT008 — 一目均衡表「三役好転/逆転」 を設計から forward-only BT、バイアス検証、ライブ投入まで一気通貫で進めた。10ヶ月分の XAUUSD M15 BT で PF 6.00 / +21,562 pips / 勝率89.3%、月別11ヶ月すべて黒字、Walk-Forward 前後半いずれも PF 4.77/7.04 でロバスト性を確認した上で同日中に live 投入。MAGIC 80001/80002、TitanFX Demo で稼働中。

この記事のポイント

  • 一目均衡表 三役好転/逆転 + D1雲方向フィルタ + M15エントリー、TRAIL_RATIO=0.90 で PF 6.00
  • Look-ahead 疑惑(PF 71)を intra-bar 高低先後問題として特定し修正
  • H1 BT は1件で総益97%占有 → M15に下げて682件で分布健全化
  • 20+ exit モード比較で TR=0.90 が圧倒的最強、長期保有では edge を取り逃す
  • ストキャス/DT Oscillator/H1ストキャスのフィルタ効果は限定的(最大 PF 6.00→10.03 だが in-sample 選択リスク)
  • 命名規則を PT101系に統一(PT008=基底, PT008-1=派生1, PT008-2=派生2)

戦略の骨格 — 一目均衡表「三役好転/逆転」

細田悟一が日足/週足向けに設計した一目均衡表の最強シグナルである「三役好転」(LONG)と鏡像の「三役逆転」(SHORT)を、XAUUSD M15 でエントリー条件として採用。マルチTF構造として D1 の雲方向を環境認識フィルタに使う。

条件内容
① 転換 > 基準(クロス)転換線が基準線を上抜け、直近5本以内にクロス発生
② 価格 > 雲M15 close が雲上限を上抜けた状態
③ 遅行好転close(T) > close(T-26)
④ D1 雲方向D1 senkou_a > senkou_b(LONG時、SHORTは逆)

SL は雲反対側で固定(案β)、TP は broker側に送らず EA管理の TRAIL_RATIO=0.90(peak から 10% 戻りで決済 = MFE 90% 確保)。これは「最大含み益取る」というオーナー指示を構造的に最も忠実に実装した形。

Look-ahead を疑い、3度コードを書き直した

BT結果が PF 71.22 と異常に高く出た瞬間、過去メモリの「PF 7以上は look-ahead を疑え」が発動。原因を掘ると、同一バー内で bar.high で MFE を更新してから bar.low で trail 発火を判定していた。1本のバー内では high と low の発生順序は OHLC からは分からないため、これは構造的に未来覗き。

修正:trail 判定は前バーで確定した trail_line のみ使い、当バーの high/low は MFE 更新まで参照しない順序に変更。PF 71 → 24 → 6 と段階的に適正化。さらに「TRAIL_RATIO=0.10 で1トレード5.5ヶ月ホールド」という1件依存問題を H1 BT で発見し、M15 に時間足を下げてサンプル分散を確保した。

修正段階nPFTotal USD/oz備考
初版(intra-bar look-ahead)28171.22+2,081🔴 同一バー内 high→low 順序仮定
look-ahead 修正後(H1)3896.98+1,277🟡 1トレードで97%占有
M15 採用後6826.00+2,156🟢 サンプル健全

TRAIL_RATIO スイープ — 「最大含み益取る」が最良

TRAIL_RATIOnWRPFTotal意味
0.10(90%戻りで決済)7431%13.89+$1,2061件依存 (大相場ホールド)
0.5043385%5.58+$1,584
0.90(10%戻りで決済)68289%6.00+$2,156🟢 採用

「peak から 10% 戻ったら確定」が最も Total / PF とも優れ、MFE 90% 確保(実際の median capture 率 84%)でユーザー意図と整合。

Exit モード比較 — TR=0.90 が圧倒的

「TPの位置を変える余地は本当に無いのか?」を 20+ exit モードで検証。

順位ExitnPFTotal
🥇TR=0.906826.00+$2,156
🥈trail0.90 + 雲上限割れ6825.96+$2,151
5三役逆転で exit1051.83+$722
6R-multi 3R1121.73+$1,592
7時間 1日 hold1971.43+$1,070
9基準線割れ exit3761.31+$697
12時間 15分(純粋 edge 測定)11021.00-$6

注目すべきは 「保有15分(=1バー)の PF が 1.00、edgeゼロ」という事実。三役好転シグナルの edge は M15 entry bar の中で完結する momentum スキャルプ的な性質であり、長期保有では edge が消失する。基準線割れ・雲下限割れといった伝統的な一目 exit は PF 1.2-1.4 にしかならず、TR=0.90 の足元にも及ばなかった。

バイアス検証 — 期間集中も方向偏りもなし

検証項目結果
1件依存度Top1: 2.7% / Top5: 9.3% — 健全
月別分布11ヶ月全月黒字(最低 +$36 / 最高 +$445)
Walk-Forward 2分割前半 PF 4.77 / 後半 PF 7.04 — 両期間黒字
方向バランスLONG PF 5.66 / SHORT PF 7.79 — 両方向機能
EOD決済0件(強制決済なし)

派生1(押し目)も並走でBT — 統合 +$5,067

三役好転後、M15雲が同方向継続中の 基準線リバウンド押し目を派生1(PT008-1)として追加BT。標準・派生独立 concurrency で並走させると、合算 1,590件 / Total +$5,067 / PF 6.13 / WR 90.6%。前半は派生1(PF 7.38)が、後半は基底(PF 7.04)が強くなる時期交代の補完性も確認。今回は基底(PT008)のみ live 投入し、派生1は次フェーズで追加検討。

命名規則 — PT101系に統一

PT008(基底, 派生0) = MAGIC 80001/80002 = 三役好転/逆転 ← live投入済
PT008-1(派生1)       = MAGIC 80011/80012 = 基準線リバウンド押し目(未実装)
PT008-2(派生2)       = MAGIC 80021/80022 = 将来の追加変種枠

4桁目に派生番号、末尾2桁にスロット番号(01=TP1, 02=SMA)。先行する PT101系(10101/02 → 10111/12)と同じ規則で揃えた。

ライブ投入仕様(2026-05-07 16:42 JST)

  • 新ファイル scripts/pt008.py 作成、live_trader.py 統合(import / MAGIC追加 / check_entry_pt008 / check_pt008_exit / メインループ統合)
  • broker 側 TP は送らない(broker_tp_on_tp1=False)、両ポジ同一logic で EA管理 trail
  • ストキャスフィルタは 採用せず、値のみ entry_context に記録(feedback_keep_bad_data 方針:悪いデータも contrast 用に温存)
  • FX PC(VPN経由 SSH)へ scp 同期 → 構文チェック passed → bot kill → FXBot_Restart タスク経由で再起動 → PID 1900 / 16:42:54 起動確認

期待値と注意点

10ヶ月 BT の数値が live でそのまま再現するとは限らない。経験則として live は BT の 50-70% に着地することが多く、PF 6.00 が live で 3.0-4.0 程度に落ちても十分上等。一方、edge が「M15 entry bar 内の momentum」に集中していることから、スプレッド/スリッページの相対比重が大きいのが懸念点(AvgWin $4.20 のうち $0.18 / 4% が spread cost)。

運用ノート:同日17時時点で口座 Equity ¥201,517 / 未確定P/L +¥51,474 / 維持率 806%。XAUUSD 4738 まで上昇しており、PT005 broker固定TP(4725.90)は当日中に約定して +¥17K を確定益に転記済。残る PT005/PT006 SMA系2件はホールド継続でさらに +¥13K 上乗せ。PT008 はまだ初シグナル待機中。

次のステップ

  • 1〜2週間の forward test で BT 期待値との乖離を観測
  • 派生1(押し目)の live 実装検討(cloud-continuation を逐次更新できる stateful な実装が必要)
  • 他通貨での同設計BT(EURUSD / GBPUSD / GBPJPY)
  • 記録済みストキャス値を蓄積し、フィルタの真の効果を live で検証

本記事のBT・コードは /data/fx_bot/backtest/pt008_bt.py および /data/fx_bot/scripts/pt008.py(VPS)で再現可能。詳細は .company/fx/ops/2026-05-07-pt008-bt-phase1a.md を参照。

[追記 17:05] PT008-1(派生1, 押し目)も即日 live 投入

本記事公開(16:55)後、続けて PT008-1(基準線リバウンド押し目)の実装に着手し、17:02 にライブ投入完了。記事タイトルは「PT008 投入記」だったが、結果として同日中に PT008系 2戦略を並走稼働させる構成となった。

戦略MAGIC性格BT期待値(10ヶ月)
PT008(基底)80001/80002三役好転/逆転(初動)PF 6.00 / +$2,156 / 682件 / WR 89.3%
PT008-1(派生1)80011/80012基準線リバウンド押し目PF 6.24 / +$2,911 / 908件 / WR 91.5%
合算独立 concurrency 並走PF 6.13 / +$5,067 / 1,590件 / WR 90.6%

PT008-1 のロジック

  1. 過去 200本(M15で約50時間)以内に PT008(基底)三役好転シグナル成立
  2. その PT008 から現在まで M15 雲が同方向継続(雲が逆転したら無効化)
  3. D1 雲方向もシグナル方向に整合
  4. 直近5本以内に bar.low ≤ kijun(LONG時、基準線タッチ)
  5. 当バーで close > kijun(基準線越え戻り)
  6. 当バー close が雲上限を維持

SHORT は鏡像。SL は雲反対側で固定、決済は PT008 と同じ TRAIL_RATIO=0.90 のトレール。両戦略は 独立 concurrency で動かすため、最大2ポジ同時保有可能。

補完性 — 時期によって強み交代

BT 10ヶ月を前後半に2分割すると、両戦略の Walk-Forward プロファイルが綺麗に逆相関する:

戦略前半 PF後半 PF
PT008(基底, 初動)4.777.04 ⭐
PT008-1(派生1, 押し目)7.38 ⭐5.71

初動が効く相場フェーズと、押し目が効く相場フェーズが時期で入れ替わる。両者を並走すれば期間ロバスト性が向上する想定。

実装上の工夫 — stateful な過去シグナル探索

PT008-1 のエントリー判定には「直近の PT008 シグナル位置」を知る必要がある。BT では事前に signals_pt1 リストを持てるが、live では bot 再起動でメモリが飛ぶ。状態ファイルに永続化する案もあったが、シンプルに 毎回過去300本の M15 を取得して PT008 シグナル検出ロジックを再実行する方式を採用。max_age_bars=200 で打ち切るので計算負荷は無視できる程度。

# pt008_1.py の核
def _find_recent_pt008(m15, direction, max_age_bars=200):
    """compute_ichimoku 済みの m15 で、最新 PT008 三役シグナルの index を返す"""
    for i in range(n - 1, start - 1, -1):
        # 三役好転/逆転 4条件チェック
        ...
        if all_conditions_met:
            return i
    return -1

これで bot 再起動後も過去シグナルを正しく検出できる。BT の決定論的計算と live の挙動が一致することも期待できる。

ライブ投入の手順(17:00頃)

  • 新ファイル scripts/pt008_1.py 作成(PT008 の compute_ichimoku / d1_cloud_dir / exit logic を import 再利用)
  • live_trader.py 改修:import / MAGIC / state dict / check_entry_pt008_1 / check_pt008_1_exit / メインループ統合 / 起動ログ
  • VPS 構文チェック → FX PC 同期 → 構文チェック → import test → bot kill → FXBot_Restart 経由再起動
  • 新 PID 6936(17:02:50起動)、起動ログで PT008 / PT008-1 両方の MAGIC を確認
口座インパクト:同日中に2戦略並走で BT 期待値ベースなら年間 +¥80万 相当。ただし live は BT の50-70%着地が経験則なので、実質 +¥40-55万/年が妥当な見立て。XAU bull相場が続く前提での話なので、相場フェーズ転換時にどう振る舞うかは要観察。

追加された PT008-1 のコードは /data/fx_bot/scripts/pt008_1.py(VPS)で確認可能。詳細は .company/fx/ops/2026-05-07-pt008-bt-phase1a.md「Phase 1b」セクションを参照。