# Honest Confluence (JP) — MT4 インジケーター

> 「10 個の指標が一致したから強い根拠だ」——本当に?
> 相関した指標を 10 個並べても、 実質は **1 票の意見の 9 回エコー** に過ぎないかもしれない。
> このインジケーターはその錯覚を **数値で暴く** だけのツールです。

[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

> ★ v0.30 (2026-06-03): **D-FUMT₈ 状態 (NEITHER / FLOWING / TRUE) を first-class label として表示** するようになりました。 これらは「判断保留 / 弱い一致 / 独立な一致」という運用的な意味を持つため、 v0.20 までの「色のみ」 から一級ラベルに昇格しました。 残り 5 軸 (BOTH / INFINITY / ZERO / SELF / FALSE) は本領域で操作的意味を持たないため、 引き続き非表示です。 詳細は下の「D-FUMT₈ 状態」節を参照。
>
> ★ v0.20 (2026-05-29): **iCustom 経由でカスタムインジ 5 本** を slot 11〜15 に差し込めるようになりました。 #EDGE# 系の矢印インジや自作インジを confluence に含めて分析できます。 詳細は [USER_GUIDE.md (取扱説明書)](USER_GUIDE.md) を参照。

## 一行で

**実効独立数** N_eff = K² / Σ_ij ρ_ij² を表示します。
完全に独立なら N_eff = K (見かけ通り)、 完全に冗長なら N_eff = 1 (実質一つ)。

## 表示するもの

```
═══ Honest Confluence v0.30 (MIT) ═══
◆ D-FUMT8 状態: NEITHER (判断保留)
→ 多数決を信用しない/見送りを一級状態として扱う領域

使用中の指標: 10 個 (Lookback 200 バー)
見かけ一致: 8 / 10   [ 買 8 / 売 2 / 中立 0 ]
平均 |相関|: 0.71
★ 実効独立数 N_eff = 2.49   (情報比 25% = N_eff/K)
→ 高冗長 (一致は『1 つの意見の K-1 回エコー』に近い)

★ これは統計的事実であり勝敗予測ではありません。
★ NEITHER 状態は『判断保留』であって売買シグナルではありません。

─── BO 過去検証 (期限 5 バー / N=487) ───
過去勝率 (全): 53.4%   Wilson 95% 下限 49.0%
過去勝率 (買): 54.1%   下限 49.2%   (N=302)
過去勝率 (売): 52.3%   下限 45.5%   (N=185)

─ ブレイクイーブン勝率 (payout別 / 利益率) ─
 payout 78%: BE 56.2%   点 EV -8.5円/100円   下限 EV -12.4円/100円
 payout 85%: BE 54.1%   点 EV -1.4円/100円   下限 EV -5.4円/100円
 payout 90%: BE 52.6%   点 EV +3.1円/100円   下限 EV -1.0円/100円

⚠ 過去成績であり将来の予測ではありません。
⚠ ペイアウト次第で「勝率○%以下は期待値マイナス」。
⚠ N<100 は信頼区間が広く参考程度。 N>=500 で目安が安定します。
```

色分け:
- N_eff の情報比 < 40%: **赤** (高冗長) — D-FUMT₈ **NEITHER** 状態
- 40–70%: **黄** (中冗長) — D-FUMT₈ **FLOWING** 状態
- ≥ 70%: **緑** (比較的独立) — D-FUMT₈ **TRUE** 状態
- BO 期待値: 点推定 EV が BE 越え → 黄, 信頼区間下限ですら BE 越え → 緑, 点推定すら BE 未満 → 赤

## D-FUMT₈ 状態 (v0.30 で追加)

このインジは、 関連プロジェクト [rei-aios](https://github.com/fc0web/rei-aios) で使われている **D-FUMT₈ 八値論理** の 3 状態を運用ラベルとして表示します。

| 状態 | 情報比 | 意味 |
|---|---|---|
| **NEITHER (判断保留)** | < 40% | 多数決はほぼ反響、 「見送り」を一級状態として扱うべき領域 |
| **FLOWING (弱い一致)** | 40–70% | 一致の半分は反響の可能性、 取り扱いに割引が要る |
| **TRUE (独立な一致)** | ≥ 70% | 一致は概ね独立、 見かけの票数に近い情報量 |

残り 5 軸 (BOTH / INFINITY / ZERO / SELF⟲ / FALSE) は本領域 (指標一致の質) で操作的意味を持たないため、 表示しません。

★ **NEITHER は「見送り」 を first-class state として持つための語** であって、 売買シグナル (反対張り等) ではありません。 ML/RL ベースのトレーディングが破綻する典型は、 常に何らかの予測を出力してしまうこと。 「判断保留」 を明示的な状態として持つことが、 hype の解毒剤の核です。

閾値はパラメータで変更可:
- `InpNEff_NeitherMax` (既定 0.40) — 情報比がこれ以下で NEITHER
- `InpNEff_FlowingMax` (既定 0.70) — 情報比がこれ以下で FLOWING
- `InpShow_DFumtState` (既定 true) — D-FUMT₈ 状態の表示を OFF にしたい場合 false

## なぜこれが必要か

商用のコンフルエンス系ツールの多くは「10 個一致した、強い根拠だ」と煽ります。
しかし MA(5), MA(10), MA(20), MA(50), MA(100) を並べた "5 票" は、 同じ価格系列に
異なる窓を当てているだけで、 相関 0.9 以上で動きます。

実効独立数で割り戻すと、 多くの「強コンフルエンス」は **実質 1〜2 票分の独立情報**しかありません。
このツールはその数字を honest に出すだけです。

## インストール

1. `HonestConfluence_JP.mq4` を MT4 の `MQL4/Indicators/` フォルダにコピー
   - MT4 を開いた状態で `ファイル` → `データフォルダを開く` → `MQL4` → `Indicators`
2. MetaEditor を再起動 (または MT4 で `更新` → `インジケータ`)
3. ナビゲータの「インジケータ」 → 「カスタム」 から `HonestConfluence_JP` をチャートにドラッグ

## 入力パラメータ

| パラメータ | 既定 | 説明 |
|---|---|---|
| `InpLookback` | 200 | 相関計算の窓 (バー数) |
| `InpRecalcOnNewBar` | true | 新バーのみ再計算 (false で毎ティック) |
| `InpUse_MACross` | true | [1] 移動平均クロス差 |
| `InpUse_RSI` | true | [2] RSI-50 |
| `InpUse_MACD` | true | [3] MACD ヒストグラム |
| `InpUse_Stoch` | true | [4] ストキャスティクス %K-%D |
| `InpUse_Bollinger` | true | [5] ボリンジャー中央線乖離 |
| `InpUse_ADX` | true | [6] ADX +DI − -DI |
| `InpUse_CCI` | true | [7] CCI |
| `InpUse_WPR` | true | [8] Williams %R + 50 |
| `InpUse_Momentum` | true | [9] モメンタム-100 |
| `InpUse_OsMA` | true | [10] OsMA (MACD ヒストグラム) |
| `InpCust1_Name` 〜 `InpCust5_Name` | `""` | **[11-15] カスタムインジ名** (空でスキップ、 iCustom で読込) |
| `InpCust1_Buffer` 〜 `InpCust5_Buffer` | 0 | バッファ番号 (0=メイン) |
| `InpCust1_Threshold` 〜 `InpCust5_Threshold` | 0 | 閾値 (Buy if value > thresh) |
| `InpCust1_Shift` 〜 `InpCust5_Shift` | 1 | バー シフト (1=前確定足) |
| `InpAlert_NEff_Below` | 0 | この値以下で警告 (0=OFF) |
| `InpBO_Enabled` | true | BO 過去検証パネル表示 |
| `InpBO_Expiry` | 5 | BO 期限 (バー数) |
| `InpBO_Backtest` | 500 | BO 検証バー数 |
| `InpBO_Payout1/2/3` | 78/85/90 | 想定ペイアウト 3 通り (%, 利益率) |
| `InpShow_DFumtState` | true | D-FUMT₈ 3 状態 (NEITHER/FLOWING/TRUE) を first-class 表示 (v0.30) |
| `InpNEff_NeitherMax` | 0.40 | 情報比がこれ未満で NEITHER (判断保留) (v0.30) |
| `InpNEff_FlowingMax` | 0.70 | 情報比がこれ未満で FLOWING (弱い一致) (v0.30) |

各指標のパラメータ (Fast/Slow/Period 等) も入力で個別に変更可。

## BO 勝率について — 必ずお読みください

このインジケーターは **過去の bar の上で「コンフルエンス多数派 = エントリー方向」
として何回勝ったか** を集計し、 ペイアウト想定と一緒に honest に表示します。

理解しておくべき事:

1. **過去成績であり将来の予測ではありません。**
2. **ペイアウト次第で勝率の高さ=利益ではありません。**
   - 例: payout 78% (= 100 円ベットで利益 +78 円 / 負けで -100 円) なら、
     ブレイクイーブン勝率は **約 56.2%**。 「勝率 65% !」が実は実質トントン以下ということが普通に起こります。
3. **Wilson 95% 信頼区間の下限** を併記しています。
   サンプル数が少ない (N < 100) と区間が広く、 点推定 (見かけの勝率) を信じてはいけません。
4. **ブローカーのスプレッド/コミッション/スリッページは含まれません。**
   実際の取引はこれらでさらに不利になります。
5. **生存バイアス**: チャートに今乗っている履歴で良かったから良い結果が出るだけかもしれません。
6. **ルックアヘッド注意**: 指標値はその bar 確定時の値を使用していますが、 リアルタイムで
   見ているシグナルとは微妙にズレることがあります。

## このツールが **しないこと**

- 売買シグナルの発信 (チャート上の矢印・アラートは N_eff 警告のみ)
- 注文の発注 (インジケーター本体に発注機能はありません)
- 「勝率○%」を煽る表示 (信頼区間下限・BE・EV を併記して文脈化)
- IB / アフィリエイトの誘導
- 性能の約束・断定的表現
- 8 値論理の **全** 軸表示 (本領域で操作的意味を持つ NEITHER/FLOWING/TRUE の 3 軸のみ表示; 残り 5 軸は非表示)

## ライセンス

[MIT](LICENSE) — 改変・再配布自由。 ただし上記の honest scope (ブレイクイーブン併記等) を
壊さない範囲での fork を推奨します。 hype 化 (「勝率○%確定!」表示) は本ツールの設計意図に反します。

## 免責

本インジケーターは投資助言ではなく、 統計的事実の可視化ツールです。
利用に伴う一切の損益について作者は責任を負いません。
バイナリーオプションを含むレバレッジ商品にはリスクがあります。
無登録の海外 BO 業者の利用は、 日本の金融庁が警告しています — ご自身の判断と責任で。

## 著者

- 独立研究者 (FX 出身)
- 関連プロジェクト: [rei-aios](https://github.com/fc0web/rei-aios) (Private), [OUKC Charter](https://doi.org/10.5281/zenodo.20315683)
- 本ツールは STEP 1180 (Confluence Reality Check lens) の MT4 移植版です
- v0.30 (2026-06-03) で D-FUMT₈ NEITHER 状態を first-class state として導入。 本体側 lens (STEP 1191 `#/neither-flat-eval`) で NEITHER の有意性 (random walk と区別できるか?) を null-hypothesis test する補助ツールを並走
