Manual v0.2 實盤前 Preflight

這頁只做讀取與檢查,不送 Binance 訂單,也不修改策略。它用來判斷目前 dev-only execution 功能離「可以接實盤」還缺哪些關卡。

整體狀態
未通過

FAIL=1, WARN=4

策略版本
manual_strategy_v0_2_1_first_breakout_lock

30m->5m / TP 0.035

SQLite 狀態庫
存在

C:\桌面\TRAd_forward_runtime\results\manual_v0_2\forward_paper_test\paper_state.sqlite

正式未平倉
0

切 live 前建議為 0

未轉單 fills
0

需先轉 dry-run

被擋 dry-run
0

需人工檢查

作廢稽核
1

保留舊紀錄,不送單

待演練訂單
0

fake/testnet 前需處理

已成交演練
20

fake/testnet lifecycle

testnet 事件
60

Demo/Testnet 回寫次數

Paper/Testnet 對帳
一致

paper=無 / testnet=無

可重試失敗
0

需人工處理或重試

最新 run_once
success

2026-09-05 02:58 +08:00

最近完成 run
success

2026-09-05 02:58 +08:00

資料水位
2026-09-05 02:58 +08:00

data_update/update_end

策略水位
2026-09-05 02:56 +08:00

strategy_update/update_end

單筆名目
4,000

USDT

白話:只要有任何「未通過」,就不應接實盤;「注意」代表可以繼續開發或 paper 觀察,但 live 前要補齊或人工確認。

檢查清單

分類檢查項目狀態白話說明依據
設定檔dry-run execution 設定存在通過缺少 execution 設定時,無法確認風控與 dry-run audit 輸出。C:\桌面\TRad_forward_runtime\configs\execution_dry_run_template.json
設定檔策略 frozen config 存在通過實盤前必須明確知道目前策略版本、TP/SL、部位大小與 forward 起點。configs\manual_strategy_v0_2_frozen_candidate.json
風控設定執行模式必須停在 dry-run/demo通過目前只允許做下單前演練;正式 live 開關不應在這個階段打開。mode=dry_run, allow_live_trading=False
風控設定允許標的必須剛好等於策略標的通過避免 execution 白名單多出策略外幣種,也避免漏掉策略正在追蹤的幣種。strategy=BTCUSDT, VIRTUALUSDT, NEARUSDT, ONDOUSDT, allowed=BTCUSDT, VIRTUALUSDT, NEARUSDT, ONDOUSDT
風控設定只允許 MARKET 市價單通過目前策略規格是碰價後市價進出,尚未開放其他委託型態。MARKET
風控設定單筆名目上限需覆蓋策略單筆名目通過風控上限不能小於策略每筆預計名目,否則 dry-run 會一直被擋。strategy_notional=4000, max_order=4000
風控設定單標的名目上限需等於一筆策略名目通過目前策略是同標的最多一筆;單標的上限等於一筆名目,才能防止同幣種疊倉。strategy_notional=4000, max_symbol=4000
風控設定總名目上限需至少覆蓋一筆交易通過總持倉上限至少要容納一筆策略交易;更嚴格的同時持倉數由 max_total / strategy_notional 觀察。strategy_notional=4000, max_total=16000
風控設定單日帳戶停手機制注意這不是目前策略規則;目前未啟用單日總虧損上限。若之後要接 live,再由使用者明確決定是否加入帳戶層停手機制。max_daily_loss=未啟用
風控設定同標的只允許一筆持倉通過這要和目前策略的同標的持倉限制一致。one_position_per_symbol=True
風控設定交易所有未完成委託時必須擋單通過避免程式重啟、網路 timeout 或手動掛單時重複送單。block_open_exchange_orders=True
風控設定交易所持倉對帳必須啟用或保持 testnet-only注意live 前要強制比對 SQLite 與交易所持倉;demo 階段可先觀察,但不能直接沿用到 live。mode=dry_run, require_exchange_position_match=False
風控設定緊急停止檔案不存在通過檔案存在時,dry-run 風控會拒絕新單。execution_stop.flag
SQLite 狀態paper_state.sqlite 存在通過可以讀取 paper/runtime 狀態。C:\桌面\TRAd_forward_runtime\results\manual_v0_2\forward_paper_test\paper_state.sqlite
SQLite 狀態核心資料表存在通過run_once、WebSocket paper 與 dashboard 需要這些表才能對帳。runs/watermarks/signals/trades/positions/fills
SQLite 狀態execution_orders 表存在通過dry-run pipeline 執行後會寫入這張表;尚未執行 dry-run 時可能還沒有。execution_orders
SQLite 狀態最近 run_once 成功通過最近一輪若剛好仍在 running,以上一輪已完成 success 作為可觀察狀態;若已結束但不是 success,才是阻擋項。latest=success, update_end=2026-09-05 02:58 +08:00
SQLite 狀態策略水位存在通過策略層至少要跑過一次,才能知道目前掃描到哪一根 K。2026-09-05 02:56 +08:00
SQLite 狀態資料水位存在通過資料層至少要跑過一次,才能知道市場資料補到哪一根 1m K。2026-09-05 02:58 +08:00
SQLite 狀態資料/策略水位差距可接受通過split runtime 下資料水位每分鐘前進,策略水位約每 5 分鐘前進;差距太大代表策略掃描可能落後。data=2026-09-05 02:58 +08:00, strategy=2026-09-05 02:56 +08:00, lag_minutes=2.0
SQLite 狀態沒有 ledger / replay conflicts未通過conflict 代表重掃或狀態同步出現不一致,需要先查完。1
SQLite 狀態切換實盤前不應有 paper 未平倉通過若目前已有 observable paper position,建議等它出場或手動決定如何承接。0
Dry-run 對帳沒有尚未轉單的 observable fills通過WebSocket paper 已看到成交但 dry-run 還沒轉成預備訂單,需先跑 dry-run pipeline。0
Dry-run 對帳沒有被風控擋下的 dry-run 訂單通過被擋下代表實盤前安全層仍有問題或需要人工接受。0
Dry-run 對帳待 fake exchange 演練訂單通過RISK_APPROVED / SUBMITTED / PARTIALLY_FILLED 代表這些單仍在開發演練流程中,未來接 testnet 前要能解釋清楚。0
Dry-run 對帳沒有可重試交易所錯誤通過FAILED_RETRYABLE 代表 fake/testnet 送單流程有可重試錯誤,應先處理或人工確認。0
Testnet 演練testnet 回報可寫入 lifecycle通過testnet submit / status 回報必須能追加到 execution_order_events,並更新 execution_orders 的生命週期。testnet_events=60, touched_orders=20
Testnet 對帳Paper 與 Testnet 持倉一致通過測試盤鏡像若和正式 paper 持倉不同,代表下單演練不能視為乾淨;已知舊差異只保留稽核,不延遲補單。paper=無;testnet=無
API 權限提供 API 權限快照注意目前沒有實際檢查 Binance key 權限。dry-run 可以先跳過;live 前必須確認不能提領、正式環境需 IP 限制。未提供 --permission-snapshot
Windows 排程排程狀態檢查注意本次略過 Windows 排程查詢;若要接實盤前,仍需確認正式排程狀態。skip_scheduler=true

最近 dry-run 預備訂單

這裡只列 SQLite 裡已經產生的預備訂單。若沒有資料,不代表策略沒有訊號,而是目前沒有 observable fill 被轉成 dry-run order。

建立時間動作狀態生命週期幣種訂單方向數量名目 USDT預期成交價只減倉交易所 order id交易所狀態已成交數量平均成交價最近錯誤風控原因對帳原因client order id
2026-09-04T14:49:42.278490+00:00exitACCEPTED_DRY_RUNFILLEDONDOUSDTSELL10,9094,0000.3483358041999FILLED10909.00.35010000[][]TRADDRY5855350db1bbd46dea4c597b
2026-09-04T12:30:40.736710+00:00exitACCEPTED_DRY_RUNFILLEDVIRTUALUSDTBUY5,797.64,0000.6657234236358FILLED5797.60.67100000[][]TRADDRY15c44769f713f2384d12476b
2026-09-04T09:18:25.431221+00:00entryACCEPTED_DRY_RUNFILLEDVIRTUALUSDTSELL5,797.64,0000.6899234186626FILLED5797.60.68480000[][]TRADDRY94cc70cf81c3f419e70942fd
2026-09-03T19:55:07.377006+00:00entryACCEPTED_DRY_RUNFILLEDONDOUSDTBUY10,9094,0000.3666357736569FILLED10909.00.36860000[][]TRADDRY2c2b157547763da4316843f1
2026-09-03T14:34:22.953228+00:00exitACCEPTED_DRY_RUNFILLEDBTCUSDTSELL0.05184,00079,777.621428568668770FILLED0.051879698.000000[][]TRADDRY3e8129b90198a7c31ac886d4
2026-09-03T12:57:27.668102+00:00exitACCEPTED_DRY_RUNFILLEDVIRTUALUSDTSELL5,956.24,0000.695233871169FILLED5956.20.69400000[][]TRADDRYfcd71df29b017eb9d2cb30ce
2026-09-02T22:47:56.641637+00:00exitACCEPTED_DRY_RUNFILLEDONDOUSDTSELL11,5864,0000.3436357386068FILLED11586.00.34260000[][]TRADDRYf598d44a6675a3a3c21c3372
2026-09-02T10:31:16.533612+00:00entryACCEPTED_DRY_RUNFILLEDVIRTUALUSDTBUY5,956.24,0000.6716233416996FILLED5956.20.67570000[][]TRADDRY7eb0e4cde8a5e1471db9a151
2026-09-02T10:31:16.529110+00:00exitACCEPTED_DRY_RUNFILLEDVIRTUALUSDTSELL5,773.94,0000.658233416592FILLED5773.90.67500000[][]TRADDRY4aecaa07b1b5b25ec4aec787
2026-09-02T08:40:57.909465+00:00entryACCEPTED_DRY_RUNFILLEDBTCUSDTBUY0.05184,00077,087.30828567053416FILLED0.051877213.856564[][]TRADDRY56b77a8d6f3919eba3a4bf84
2026-09-01T12:49:24.422993+00:00entryACCEPTED_DRY_RUNFILLEDVIRTUALUSDTBUY5,773.94,0000.6928233069500FILLED5773.90.68960000[][]TRADDRY8a9e82b33bf95e1382d009ee
2026-09-01T05:46:19.727817+00:00exitACCEPTED_DRY_RUNFILLEDVIRTUALUSDTSELL5,784.74,0000.7156232970638FILLED5784.70.71329789[][]TRADDRYc3cb6f287429839608891753
2026-09-01T02:48:51.545474+00:00entryACCEPTED_DRY_RUNFILLEDVIRTUALUSDTBUY5,784.74,0000.6915232926499FILLED5784.70.69590000[][]TRADDRY4fcd8caaba594158ccf4361d
2026-09-01T00:05:18.184248+00:00exitACCEPTED_DRY_RUNFILLEDNEARUSDTSELL2,1424,0001.9328622592080FILLED21421.9320[][]TRADDRY57eccca2fe58ba9bf7785141
2026-08-31T22:48:50.878526+00:00entryACCEPTED_DRY_RUNFILLEDONDOUSDTBUY11,5864,0000.3452356607168FILLED11586.00.34520000[][]TRADDRY760adb8f41a64ccb8f59a0a3
2026-08-31T08:57:56.211220+00:00entryVOID_AUDITBLOCKEDBTCUSDTSELL0.05094,00078,437.8554["daily_loss_limit_reached"][]TRADDRYc31802b4115907230243f581
2026-08-30T23:47:55.676319+00:00exitACCEPTED_DRY_RUNFILLEDONDOUSDTSELL11,2284,0000.3384356394068FILLED11228.00.34320000[][]TRADDRYf18e9ae7c214bc4932e7c8f6
2026-08-30T23:39:22.480633+00:00exitACCEPTED_DRY_RUNFILLEDVIRTUALUSDTSELL5,746.54,0000.6611232359130FILLED5746.50.66150000[][]TRADDRY849a41bc3396fa8b66ba4da2
2026-08-30T20:43:22.684369+00:00entryACCEPTED_DRY_RUNFILLEDVIRTUALUSDTBUY5,746.54,0000.6961232269399FILLED5746.50.69720000[][]TRADDRY99f394cf135d7cc273c6c1f2
2026-08-30T20:32:55.347038+00:00entryACCEPTED_DRY_RUNFILLEDONDOUSDTBUY11,2284,0000.3562355973601FILLED11228.00.35590000[][]TRADDRYc5842731bb861d4cf5af2a45
2026-08-30T10:06:05.187568+00:00entryACCEPTED_DRY_RUNFILLEDNEARUSDTBUY2,1424,0001.8672621598512FILLED21421.8710[][]TRADDRY54f21f58526f73bd64d6dfd1

最近 run_once

用來確認本機 paper runtime 最近是否有正常跑。dev-only 功能不會自動接進這個排程。

開始結束profilephase處理到狀態錯誤
2026-09-05 02:59 +08:002026-09-05 02:59 +08:00splitdata2026-09-05 02:58 +08:00success
2026-09-05 02:57 +08:002026-09-05 02:58 +08:00splitstrategy2026-09-05 02:56 +08:00success
2026-09-05 02:56 +08:002026-09-05 02:56 +08:00splitdata2026-09-05 02:55 +08:00success
2026-09-05 02:55 +08:002026-09-05 02:55 +08:00splitdata2026-09-05 02:54 +08:00success
2026-09-05 02:54 +08:002026-09-05 02:54 +08:00splitdata2026-09-05 02:53 +08:00success
2026-09-05 02:52 +08:002026-09-05 02:53 +08:00splitstrategy2026-09-05 02:51 +08:00success
2026-09-05 02:51 +08:002026-09-05 02:51 +08:00splitdata2026-09-05 02:50 +08:00success
2026-09-05 02:50 +08:002026-09-05 02:50 +08:00splitdata2026-09-05 02:49 +08:00success
2026-09-05 02:49 +08:002026-09-05 02:49 +08:00splitdata2026-09-05 02:48 +08:00success
2026-09-05 02:47 +08:002026-09-05 02:48 +08:00splitstrategy2026-09-05 02:46 +08:00success
2026-09-05 02:46 +08:002026-09-05 02:46 +08:00splitdata2026-09-05 02:45 +08:00success
2026-09-05 02:45 +08:002026-09-05 02:45 +08:00splitdata2026-09-05 02:44 +08:00success
2026-09-05 02:44 +08:002026-09-05 02:44 +08:00splitdata2026-09-05 02:43 +08:00success
2026-09-05 02:42 +08:002026-09-05 02:43 +08:00splitstrategy2026-09-05 02:41 +08:00success
2026-09-05 02:41 +08:002026-09-05 02:41 +08:00splitdata2026-09-05 02:40 +08:00success
2026-09-05 02:40 +08:002026-09-05 02:40 +08:00splitdata2026-09-05 02:39 +08:00success
2026-09-05 02:39 +08:002026-09-05 02:39 +08:00splitdata2026-09-05 02:38 +08:00success
2026-09-05 02:37 +08:002026-09-05 02:38 +08:00splitstrategy2026-09-05 02:36 +08:00success
2026-09-05 02:36 +08:002026-09-05 02:36 +08:00splitdata2026-09-05 02:35 +08:00success
2026-09-05 02:35 +08:002026-09-05 02:35 +08:00splitdata2026-09-05 02:34 +08:00success

本次輸入

config=C:\桌面\TRad_forward_runtime\configs\execution_dry_run_template.json

strategy_config=configs\manual_strategy_v0_2_frozen_candidate.json

state_db=C:\桌面\TRAd_forward_runtime\results\manual_v0_2\forward_paper_test\paper_state.sqlite

exchange_snapshot=results\manual_v0_2\execution_dry_run\exchange_snapshot_latest.json

output=C:\桌面\TRad_forward_runtime\reports\manual_strategy_v0_2_execution_preflight_dashboard.html