# HITEntryEA 仕様書(日本語) ## 1. 概要 `HITEntryEA.mq5` は、H4/H1の外部Python判定とM15確認を使って新規pending注文までを実行する発注専用EAです。約定後ポジションのSL移動、トレーリング、時間決済は行わず、同じマジックナンバーを監視する `HITPositionManagerEA.mq5` に委譲します。 2つのEAは `_Symbol` と `input_entry_magic_number` / `input_managed_magic_number` の一致で連携します。運用口座はhedging口座を前提とします。 ## 2. 使用インジケータ - 標準・カスタムインジケータは使用しません。 - H4/H1の確定足OHLCをPythonへ渡し、`trend_state.txt`, `target_prices.txt`, `target_zones.txt` を読み込みます。 - M15確認は `CopyRates(_Symbol, PERIOD_M15, OHLC_START_SHIFT, M15_CONFIRM_BARS, rates)` を使用します。 ## 3. パラメータ設定 - `lot_size = 0.01`: 通常注文ロット。 - `spread_limit = 60`: 許容スプレッド(point)。 - `input_entry_magic_number = 10001`: 発注EAがpending注文へ付与するマジックナンバー。 - `input_slippage_points = 10`: 注文送信時の許容偏差。 - `input_position_limit = 10`: 同一symbol/magicのpending注文 + ポジション上限。 - `use_split_entry_zone = false`: H1予測ゾーンによる分割エントリーを有効化するか。 - `split_entry_count = 3`: 分割本数。 - `split_lot_mode = SPLIT_LOT_TOTAL`: 総量分割または固定ロット分割。 - `input_cancel_retry_cooldown_seconds = 60`: pending取消失敗後のticket単位再試行間隔。 - `use_m15_entry_filter = true`: M15確定足確認を使うか。 - `input_entry_max_candidate_age_minutes = 120`: H1候補を新規発注に使える最大経過分数。 ## 4. エントリー/エグジット条件 - 新規注文はスプレッド、H4状態、H1候補、M15確認、価格整合、ブローカー距離、ロット制約、同一symbol/magicの上限を満たす場合のみ送信します。 - pending注文には `input_entry_magic_number` を付与します。 - H4状態と矛盾するpending注文、期限切れpending注文、古い分割pending注文は発注EAが取消します。 - 約定後ポジションのSL変更、時間決済、トレーリングは発注EAでは行いません。 ## 5. リスク管理 - 発注上限は口座全体ではなく `_Symbol` と `input_entry_magic_number` が一致するpending注文 + ポジションで判定します。 - Python連携は起動中/完了ファイルとプロセスIDを監視し、二重起動と古い結果の再利用を抑止します。 - `OrderSend` の戻り値と `MqlTradeResult.retcode` を確認し、失敗時はエラーまたはretcodeをログに出します。 - hedging口座前提のため、約定後の複数ticket管理は `HITPositionManagerEA.mq5` が担当します。 ## 6. 単体テスト - Strategy Testerでは発注EA単体で、pending注文の作成、期限切れ取消、H4状態不一致取消を確認します。 - 管理EA機能はこのテスト対象に含めません。 - Python連携ファイル名は `_Symbol` と `input_entry_magic_number` を含むprefixで分離し、再現性を保ちます。 ## 7. 変更履歴 - 2026-06-07: `HIT-EA_refactor_ver6.mq5` から発注責務を分離し、SLTPパネルとポジション管理を `HITPositionManagerEA.mq5` へ移管する仕様を追加。