Add file-prefix isolation and strict split-order parsing

This commit is contained in:
Hiroaki86
2026-05-30 00:56:18 +09:00
parent 3d853fa67a
commit 265d378e07
13 changed files with 513 additions and 116 deletions
+13 -9
View File
@@ -36,11 +36,13 @@ MT5 EA からは `bat/` 経由でルート直下の互換スクリプトを起
パスの組み立ては `src/ea_py/paths.py` で定義しています。特殊な配置では `MT5_FILES_DIR` または `MT5_DATA_PATH` 環境変数で上書きできます。
EAからbat経由で起動する場合は、第1引数で渡された `HIT_<symbol>_<magic_number>` 接頭辞が `MT5_EA_FILE_PREFIX` として設定されます。Pythonはこの接頭辞をすべての連携ファイル名へ付けるため、同じTerminal内で複数EAや複数シンボルを動かしてもファイルが衝突しません。手動実行で接頭辞が未設定の場合は、従来のファイル名を使います。
### 入力
```text
ohlc_H4.csv
ohlc_H1.csv
[<prefix>_]ohlc_H4.csv
[<prefix>_]ohlc_H1.csv
```
CSV は UTF-8 読み込みで、次の列を必須とします。
@@ -52,11 +54,11 @@ Time,Open,High,Low,Close
### 出力
```text
trend_state.txt
target_prices.txt
target_zones.txt
process_done_trend.txt
process_done_entry.txt
[<prefix>_]trend_state.txt
[<prefix>_]target_prices.txt
[<prefix>_]target_zones.txt
[<prefix>_]process_done_trend.txt
[<prefix>_]process_done_entry.txt
```
MT5 が読む結果ファイルは `utf-16 LE` で出力します。結果ファイルを書き終えたあとに done ファイルを作成します。古い done ファイルは結果書き込み前に削除されます。
@@ -81,7 +83,7 @@ MT5 が読む結果ファイルは `utf-16 LE` で出力します。結果ファ
## H1 エントリー候補生成
`get_entry_reply.py``trend_state.txt` と H1 OHLC から `target_prices.txt` を生成します。
`get_entry_reply.py``trend_state.txt` と H1 OHLC から `target_prices.txt``target_zones.txt` を生成します。
処理の概要:
@@ -140,9 +142,10 @@ $env:OPENAI_API_KEY = "..."
```powershell
$env:OPENAI_MODEL = "..."
$env:OPENAI_REASONING_EFFORT = "low"
$env:MT5_EA_FILE_PREFIX = "HIT_GOLD_10001"
```
`OPENAI_MODEL` 未設定時は `src/ea_py/constants.py``DEFAULT_GPT_MODEL` を使います。`OPENAI_REASONING_EFFORT``none`, `low`, `medium`, `high`, `xhigh` のいずれかです。
`OPENAI_MODEL` 未設定時は `src/ea_py/constants.py``DEFAULT_GPT_MODEL` を使います。`OPENAI_REASONING_EFFORT``none`, `low`, `medium`, `high`, `xhigh` のいずれかです。`MT5_EA_FILE_PREFIX` は手動実行時だけ指定すればよく、EA/bat経由では自動設定されます。
## 主なモジュール
@@ -156,6 +159,7 @@ src/ea_py/charting/candlestick.py ローソク足 PNG 生成
src/ea_py/market/volatility.py True Range / EATR / 数値要約
src/ea_py/market/trend_state.py H4 方向判定と market_state 合成
src/ea_py/market/target_prices.py GPT 出力のパースと価格検証
src/ea_py/market/target_zones.py 分割エントリー用ゾーン出力
src/ea_py/market/imbalance.py H1 インバランス初動判定
src/ea_py/openai_client.py OpenAI Responses API ラッパー
src/ea_py/pipelines/ H4/H1 パイプライン