# HITPositionManagerTestHarness 仕様書（日本語）

## 1. 概要

`HITPositionManagerTestHarness.mq5` は、`HITPositionManagerEA.mq5` の管理ロジックをStrategy Testerで単体検証するためのテスト専用EAです。本番運用には使用しません。`MQL_TESTER` 以外では `INIT_FAILED` とし、hedging口座以外でも起動しません。

テスター内で検証用ポジションを作成した後、本番管理EAと同じ `CSLTPManager` と `CHITPositionLifecycleManager` を呼び出します。

## 2. 使用インジケータ

- 標準・カスタムインジケータは使用しません。
- 管理ロジックは現在tick、ポジション情報、シンボル制約を使用します。

## 3. パラメータ設定

- `input_managed_magic_number = 10001`: 管理対象として作成する検証用ポジションのmagic。
- `input_control_magic_number = 20002`: magic違い非対象確認用ポジションのmagic。
- `input_slippage_points = 10`: 検証用注文、決済、SL変更の許容偏差。
- `input_test_lot_size = 0.01`: 検証用ロット。
- `input_seed_managed_buy = true`: 管理対象BUYを作成するか。
- `input_seed_managed_sell = true`: 管理対象SELLを作成するか。
- `input_seed_control_position = true`: magic違いポジションを作成するか。
- `input_position_close_after_h1_bars = 12`: 保有時間決済のH1本数。
- `input_sltp_*`: 本番管理EAと同じSLTP管理設定。

## 4. エントリー/エグジット条件

- 初回tickで、設定に従って管理対象BUY、管理対象SELL、magic違いBUYを作成します。
- 作成後は本番管理ロジックと同じ順序で、保有時間決済、SLTP管理、急変時SL引き締めを実行します。
- magic違いポジションは管理対象外として残ることを確認します。

## 5. リスク管理

- 本EAはテスター専用であり、ライブ環境では起動しません。
- 検証用ポジションは `_Symbol` 上に作成し、ロットは `SYMBOL_VOLUME_MIN/MAX/STEP` に合わせて正規化します。
- 管理対象判定は本番と同じ `_Symbol + input_managed_magic_number` です。

## 6. 単体テスト

- 管理EA本体に新規注文コードを入れないためのテストハーネスです。
- BUY/SELL両建て、複数ticket、magic違い除外、時間決済、SL更新の再現性を確認します。

## 7. 変更履歴

- 2026-06-07: `HITPositionManagerEA.mq5` のStrategy Tester単体検証用ハーネスとして新規作成。
