{
  "markdown": "# Strategy Bricks（仮称）\n\nMT5（MQL5）EA をJSON設定駆動で動作させるシステム。Electron GUIでブロック（レゴ）を組み合わせて戦略を構築し、EAが実行します。\n\n## プロジェクト概要\n\nStrategy Bricksは、トレーディング戦略を「ブロック」として構築し、GUIで視覚的に組み立てることができるシステムです。\n\n**重要な設計方針:**\n- 保守性を最優先（疎結合、副作用の集約）\n- AIエージェントが分担実装しやすい構造\n- すべての判定・計算はブロック化（副作用なし）\n- 発注・決済などの副作用はExecutor/Managerに集約\n\n## ディレクトリ構造\n\n```\nStrategy Bricks/\n├── docs/                    # ドキュメント（要件・設計・運用）\n│   ├── 00_overview.md       # 合意事項・前提条件（最優先で確認）\n│   ├── README.md            # ドキュメント全体の索引\n│   ├── 01_proposal/         # 企画資料\n│   ├── 02_requirements/     # 要件定義\n│   ├── 03_design/           # 設計仕様（契約定義 - 最重要）\n│   ├── 04_operations/       # 運用・テスト計画\n│   └── 05_development_plan/ # 開発計画とマイルストーン\n├── ea/                      # EA Runtime（MQL5）\n│   ├── src/                 # ソースコード\n│   └── include/             # ヘッダファイル\n├── gui/                     # GUI Builder（Electron）\n│   └── src/                 # ソースコード\n├── config/                  # 設定ファイル\n│   └── samples/             # サンプル設定\n└── scripts/                 # 検証・運用スクリプト\n    └── validation/          # ログ検証スクリプト\n```\n\n## クイックスタート\n\n### ドキュメントを読む\n\n**必ず最初に読むべきファイル:**\n- `docs/00_overview.md` - 合意事項・前提条件・重要要件の要約\n- `docs/README.md` - ドキュメント全体の索引\n\n**主要ドキュメント:**\n- `docs/03_design/30_config_spec.md` - strategy_config.json スキーマ\n- `docs/03_design/40_block_catalog_spec.md` - block_catalog.json スキーマ\n- `docs/03_design/45_interface_contracts.md` - インターフェース契約書\n- `docs/03_design/50_ea_runtime_design.md` - EA Runtime詳細設計\n- `docs/03_design/60_gui_builder_design.md` - GUI Builder詳細設計\n\n### 開発を開始する\n\n**現在の状態:**\n- ドキュメント成熟度: **98%**\n- 実装状態: **Phase 0完了間近**（未決事項決定済み、契約書作成済み）\n\n**次のステップ:**\n1. プロトタイプ検証（EA）の実施\n2. GUI技術検証の実施\n3. Phase 1（EA Runtime MVP）の実装開始\n\n**開発計画:**\n- `docs/05_development_plan/10_development_plan.md` - 全体計画\n- `docs/05_development_plan/15_mvp_checklist.md` - MVPチェックリスト\n\n## 絶対に守るべき要件（強い制約）\n\n以下は要件定義で**絶対条件**として合意済み。これらに違反する実装は許容されません:\n\n1. **対象プラットフォーム**: MT5（MQL5）のみ\n2. **動作時間足**: M1（1分足）固定\n3. **判定基準**: 基本は確定足（shift=1）、未確定足（shift=0）の使用は原則禁止\n4. **エントリー評価**: M1新バー時のみ評価（1分に1回）\n5. **同一足再エントリー禁止**: 必須（二重ガード実装）\n6. **相場判断**: 上位足は原則使わず、M1のみでトレンド/押し目/トリガーを判断\n7. **ルール構造**: DNF形式（枠がOR、ルール内がAND）\n8. **ポジション制限超過時**: 新規エントリー停止、ポジション管理のみ実施\n\n詳細: `docs/00_overview.md`\n\n## 設定ファイル仕様（契約）\n\n### strategy_config.json（active.json）\n\n**ファイル運用:**\n- EA読込パス: `MQL5/Files/strategy/active.json`（既定）\n- Builder出力: `profiles/<name>.json`（保存用）+ `active.json`（実行用）\n\n**重要フィールド:**\n- `meta.formatVersion`: 必須。非対応バージョンは起動後に取引処理を停止\n- `globalGuards`: EA全体のガード設定\n- `strategies[]`: Strategy配列（priority順）\n- `blocks[]`: ブロック実体定義\n\n詳細: `docs/03_design/30_config_spec.md`\n\n### block_catalog.json\n\n**ブロック設計原則:**\n- ブロックは「判定・計算」のみ（副作用禁止）\n- 入力: Context（Market/State/IndicatorCache/Params）\n- 出力: BlockResult（status/direction/reason）\n\n**MVPブロック（最小セット）:**\n- filter.spreadMax\n- env.session.timeWindow\n- trend.maRelation（M1：終値とMAの上下）\n- trigger.bbReentry（確定足で外→内回帰）\n- lot.fixed\n- risk.fixedSLTP\n- exit.none\n- nanpin.off\n\n詳細: `docs/03_design/40_block_catalog_spec.md`\n\n## 開発コマンド\n\n**現在の状態:**\n- このリポジトリは現在ドキュメント専用です\n- MQL5コードやElectron GUIの実装はまだ含まれていません\n- ビルド・テスト・実行コマンドは実装フェーズで追加予定\n\n**将来の実装時:**\n- EA開発: MetaEditor（MT5付属）を使用\n- GUI開発: Electron + Node.js\n- テスト: MT5 Strategy Tester\n\n## ライセンス\n\nTBD\n\n## 貢献\n\nTBD\n\n## 連絡先\n\nTBD\n\n---\n\n**最終更新**: 2026-01-22\n**プロジェクト状態**: Phase 0（契約確定）- 実装開始間近\n**ドキュメント成熟度**: 98%\n",
  "bytes": 3284,
  "sha": "b89cf5b07eed67ba6278af5fffaf2b5f02436c2e497a9edb3f3686c40e2cd063",
  "repo_slug": "tmaru-eng/strategy-bricks",
  "fonte": "repo",
  "truncated": false,
  "api": "https://api.agentalog.com/api/listings/skl_tmaru_eng_strategy_bricks_mql5_x_compile_ed1738b4/readme"
}