{"allowContribute":false,"item":{"activeCommit":"7788f786942ed374be6825fc1d8104901aaa7280","apis":{"routes":[{"method":"GET","path":"/api/engine/status"},{"method":"GET","path":"/api/engine/config"},{"method":"POST","path":"/api/engine/config"},{"method":"POST","path":"/api/engine/run"},{"method":"GET","path":"/api/engine/account"},{"method":"POST","path":"/api/engine/place-hard-stop"},{"method":"POST","path":"/api/engine/close-position"},{"method":"GET","path":"/api/engine/positions-detail"},{"method":"GET","path":"/api/engine/open-orders"},{"method":"GET","path":"/api/engine/order-history"},{"method":"GET","path":"/api/engine/history"},{"method":"GET","path":"/api/engine/fills"},{"method":"GET","path":"/api/engine/cycle-ledger"},{"method":"POST","path":"/api/engine/tp/validate"},{"method":"POST","path":"/api/engine/tp/build"},{"method":"POST","path":"/api/engine/tp/regression"},{"method":"POST","path":"/api/engine/tp/publish"},{"method":"GET","path":"/api/engine/risk-state"},{"method":"GET","path":"/api/engine/soft-lock-obs"},{"method":"GET","path":"/api/engine/low-entry-obs"},{"method":"GET","path":"/api/engine/factor-obs"},{"method":"GET","path":"/api/engine/margin-priority-obs"},{"method":"GET","path":"/api/engine/entry-guard-obs"},{"method":"GET","path":"/api/engine/entry-snapshot-obs"},{"method":"GET","path":"/api/engine/tighten-obs"},{"method":"POST","path":"/api/engine/narrow-sl-cleanup"},{"method":"DELETE","path":"/api/engine/cancel-order"},{"method":"GET","path":"/api/engine/test-push"},{"method":"GET","path":"/api/engine/regime-obs"},{"method":"GET","path":"/api/engine/pkg-shadow-obs"},{"method":"GET","path":"/api/engine/shadow-exit-obs"},{"method":"GET","path":"/api/engine/donch-obs"},{"method":"GET","path":"/api/engine/rotten-obs"},{"method":"GET","path":"/api/version"},{"method":"GET","path":"/api/engine/research-track"}],"types":{"BingXConfig":"interface BingXConfig {\n  id?: string;\n  apiKey?: string;\n  secretKey?: string;\n}","EngineConfig":"interface EngineConfig {\n  id?: string;\n  enabled?: boolean;\n  planSource?: string; // Phase 2: 'legacy' | 'json'（預設 legacy）\n  confidenceThreshold?: number;\n  longThreshold?: number; // 2026-09-23 震盪包：LONG 分軌（預設 68）\n  shortThreshold?: number; // 2026-09-23 震盪包：SHORT 分軌（預設 74）\n  minSlPct?: number;\n  maxFeeRiskPct?: number;\n  marginCapPct?: number;\n  symbols?: string[];\n  trailingHardPct?: number;\n  minRR?: number;\n  softLockPct?: number;\n  beTriggerR?: number;\n  softLockMinPeakR?: number;\n  trailingHardPctSmall?: number;\n  gatedTrailingEnabled?: boolean;\n  gatedTrailingSymbols?: string[];\n  gatedThresholdR?: number;\n}","ExecResult":"interface ExecResult {\n  symbol: string;\n  action: 'FIRED' | 'BLOCKED' | 'SKIP' | 'ERROR';\n  detail: string;\n  signal?: Signal;\n  orderId?: string;\n  sizing?: { qty: string; leverage: string; rr: string; orderType: string; notional: string };\n}","MarginReservation":"interface MarginReservation { symbol: string; side: string; required: number; source: 'fired' | 'pending-rebuild'; status: 'HELD' | 'RELEASED:place-failed' | 'CONVERTED:filled'; orderId?: string; at: string; }","Signal":"interface Signal {\n  symbol: string;\n  signal: 'LONG' | 'SHORT' | 'SKIP';\n  confidence: number;\n  reason: string;\n  entryPrice?: number;\n  stopLoss?: number;\n  takeProfit?: number;\n  // B+ FVG anchor: if provided, used for MARKET vs LIMIT decision\n  fvgAnchor?: number;\n  score?: number;\n  // B 06: 貼價過近標記（錨距關鍵位\u003c1.0%），引擎第6硬門使用，≥70 豁免\n  nearKeyLevel?: boolean;\n  // WO補掛快照觀測：因子 grades 直通 + 顯示字串（唯讀快照用，不參與任何硬門判斷）\n  grades?: any;\n  factorDetail?: string;\n  // 2026-09-19 MSS正確接法：計畫手標三欄（+1/0/-1），有欄優先用、缺欄用引擎代理墊，只記不擋\n  mssD1?: number;\n  mssH4?: number;\n  mssH1?: number;\n}"}},"assets":{},"backendEvents":[],"backendScheduleRuns":{"engine-30min":{"at":1790374325326,"ok":true},"engine-60min":{"at":1787456480894,"ok":true},"engine-hourly":{"at":1787426998288,"ok":true}},"backendSchedules":[{"frequency":"LOOP","handler":"/__schedule__/engine-30min","id":"engine-30min","intervalMs":1800000,"timezone":"Asia/Taipei"}],"bundleHash":"299c4c863ba40dca","createdAt":1787408896654,"displayName":"交易執行引擎","gitCommit":"7788f786942ed374be6825fc1d8104901aaa7280","id":"77ab6b6232d54f04b4f3f6c4","isPublic":true,"itemType":"PLUGIN","minClientVersion":"1.9.546","name":"交易執行引擎","pluginDir":"77ab6b6232d54f04b4f3f6c4","repositoryID":"repo_023172c95806de04ddb42d91","status":"active","updatedAt":1790374325335,"updatedBy":{"userId":"6a47425d004ad1e5692aa0","userName":"郭胖"},"version":1995},"ownerMemberId":"6a47425d004ad1e5692aa0","ownerName":"郭胖","publicPlugins":{"PLUGIN":{"pluginItemId":"77ab6b6232d54f04b4f3f6c4","pluginDir":"77ab6b6232d54f04b4f3f6c4","bundleHash":"299c4c863ba40dca","live":true}},"subtree":[{"activeCommit":"7788f786942ed374be6825fc1d8104901aaa7280","apis":{"routes":[{"method":"GET","path":"/api/engine/status"},{"method":"GET","path":"/api/engine/config"},{"method":"POST","path":"/api/engine/config"},{"method":"POST","path":"/api/engine/run"},{"method":"GET","path":"/api/engine/account"},{"method":"POST","path":"/api/engine/place-hard-stop"},{"method":"POST","path":"/api/engine/close-position"},{"method":"GET","path":"/api/engine/positions-detail"},{"method":"GET","path":"/api/engine/open-orders"},{"method":"GET","path":"/api/engine/order-history"},{"method":"GET","path":"/api/engine/history"},{"method":"GET","path":"/api/engine/fills"},{"method":"GET","path":"/api/engine/cycle-ledger"},{"method":"POST","path":"/api/engine/tp/validate"},{"method":"POST","path":"/api/engine/tp/build"},{"method":"POST","path":"/api/engine/tp/regression"},{"method":"POST","path":"/api/engine/tp/publish"},{"method":"GET","path":"/api/engine/risk-state"},{"method":"GET","path":"/api/engine/soft-lock-obs"},{"method":"GET","path":"/api/engine/low-entry-obs"},{"method":"GET","path":"/api/engine/factor-obs"},{"method":"GET","path":"/api/engine/margin-priority-obs"},{"method":"GET","path":"/api/engine/entry-guard-obs"},{"method":"GET","path":"/api/engine/entry-snapshot-obs"},{"method":"GET","path":"/api/engine/tighten-obs"},{"method":"POST","path":"/api/engine/narrow-sl-cleanup"},{"method":"DELETE","path":"/api/engine/cancel-order"},{"method":"GET","path":"/api/engine/test-push"},{"method":"GET","path":"/api/engine/regime-obs"},{"method":"GET","path":"/api/engine/pkg-shadow-obs"},{"method":"GET","path":"/api/engine/shadow-exit-obs"},{"method":"GET","path":"/api/engine/donch-obs"},{"method":"GET","path":"/api/engine/rotten-obs"},{"method":"GET","path":"/api/version"},{"method":"GET","path":"/api/engine/research-track"}],"types":{"BingXConfig":"interface BingXConfig {\n  id?: string;\n  apiKey?: string;\n  secretKey?: string;\n}","EngineConfig":"interface EngineConfig {\n  id?: string;\n  enabled?: boolean;\n  planSource?: string; // Phase 2: 'legacy' | 'json'（預設 legacy）\n  confidenceThreshold?: number;\n  longThreshold?: number; // 2026-09-23 震盪包：LONG 分軌（預設 68）\n  shortThreshold?: number; // 2026-09-23 震盪包：SHORT 分軌（預設 74）\n  minSlPct?: number;\n  maxFeeRiskPct?: number;\n  marginCapPct?: number;\n  symbols?: string[];\n  trailingHardPct?: number;\n  minRR?: number;\n  softLockPct?: number;\n  beTriggerR?: number;\n  softLockMinPeakR?: number;\n  trailingHardPctSmall?: number;\n  gatedTrailingEnabled?: boolean;\n  gatedTrailingSymbols?: string[];\n  gatedThresholdR?: number;\n}","ExecResult":"interface ExecResult {\n  symbol: string;\n  action: 'FIRED' | 'BLOCKED' | 'SKIP' | 'ERROR';\n  detail: string;\n  signal?: Signal;\n  orderId?: string;\n  sizing?: { qty: string; leverage: string; rr: string; orderType: string; notional: string };\n}","MarginReservation":"interface MarginReservation { symbol: string; side: string; required: number; source: 'fired' | 'pending-rebuild'; status: 'HELD' | 'RELEASED:place-failed' | 'CONVERTED:filled'; orderId?: string; at: string; }","Signal":"interface Signal {\n  symbol: string;\n  signal: 'LONG' | 'SHORT' | 'SKIP';\n  confidence: number;\n  reason: string;\n  entryPrice?: number;\n  stopLoss?: number;\n  takeProfit?: number;\n  // B+ FVG anchor: if provided, used for MARKET vs LIMIT decision\n  fvgAnchor?: number;\n  score?: number;\n  // B 06: 貼價過近標記（錨距關鍵位\u003c1.0%），引擎第6硬門使用，≥70 豁免\n  nearKeyLevel?: boolean;\n  // WO補掛快照觀測：因子 grades 直通 + 顯示字串（唯讀快照用，不參與任何硬門判斷）\n  grades?: any;\n  factorDetail?: string;\n  // 2026-09-19 MSS正確接法：計畫手標三欄（+1/0/-1），有欄優先用、缺欄用引擎代理墊，只記不擋\n  mssD1?: number;\n  mssH4?: number;\n  mssH1?: number;\n}"}},"assets":{},"backendEvents":[],"backendScheduleRuns":{"engine-30min":{"at":1790374325326,"ok":true},"engine-60min":{"at":1787456480894,"ok":true},"engine-hourly":{"at":1787426998288,"ok":true}},"backendSchedules":[{"frequency":"LOOP","handler":"/__schedule__/engine-30min","id":"engine-30min","intervalMs":1800000,"timezone":"Asia/Taipei"}],"bundleHash":"299c4c863ba40dca","createdAt":1787408896654,"displayName":"交易執行引擎","gitCommit":"7788f786942ed374be6825fc1d8104901aaa7280","id":"77ab6b6232d54f04b4f3f6c4","isPublic":true,"itemType":"PLUGIN","minClientVersion":"1.9.546","name":"交易執行引擎","pluginDir":"77ab6b6232d54f04b4f3f6c4","repositoryID":"repo_023172c95806de04ddb42d91","status":"active","updatedAt":1790374325335,"updatedBy":{"userId":"6a47425d004ad1e5692aa0","userName":"郭胖"},"version":1995},{"apiKey":"ab1zXJ51XyycbC2TpPUwGhXs8OWufkOBKYDKBAStg9vXkMEtXK1v4g3LWtzSHR26blI35cFkAzBTPSwWYoYxw","beTriggerR":0.5,"confidenceThreshold":74,"createdAt":1787419937682,"deletedAt":null,"enabled":true,"gatedThresholdR":1,"gatedTrailingEnabled":true,"gatedTrailingSymbols":[],"id":"trade_engine_config_6a47425d004ad1e5692aa0","isNew":false,"isPublic":false,"itemType":"TRADE_ENGINE_CONFIG","longThreshold":68,"marginCapPct":60,"maxFeeRiskPct":50,"minRR":1.5,"minSlPct":0.8,"name":"TRADE_ENGINE_CONFIG","originPluginDir":"77ab6b6232d54f04b4f3f6c4","originPluginID":"77ab6b6232d54f04b4f3f6c4","parents":{"tradeEngine":1787419937682},"planSource":"legacy","preParentID":null,"reviewedAt":0,"secretKey":"hj27SNskejSaRn6huu13BU93T9I25nhfsi5pv2ydujUVe2Jv2N2C5uXyUvt3c0kzzLgu9pJCI6jfyGRgw","shortThreshold":74,"softLockMinPeakR":0.3,"softLockPct":15,"symbols":[],"trailingHardPct":3,"trailingHardPctSmall":5,"updatedAt":1790280631250,"updatedBy":{"userId":"6a47425d004ad1e5692aa0","userName":"郭胖"},"version":58}]}