Manual v0.2 Paper State Dashboard
這頁讀取 C:\桌面\TRad_forward_runtime\results\manual_v0_2\forward_paper_test\paper_state.sqlite。它用來檢查 run_once、SQLite watermark、等待候選線、未平倉與 fills;不會送出任何真實委託。
run_once 最近一次結束狀態
data_update/update_end watermark
strategy_update/update_end watermark
forward_update/update_end;保留給舊工具讀取
已進 ledger 的 strategy signals
已進 ledger 的 paper trades
尚未碰線,WebSocket 正在觀察的進場線
正式 paper position;來源可能是 WebSocket observable 或保留的理論 position
舊掃描看過但最新掃描不再出現,不算真持倉
理論成交與 WebSocket 觀察成交紀錄
等待中候選線
這些是已由最新已收盤 K 判定可監控、但尚未碰到進場線的候選。WebSocket paper trigger 會觀察它們是否即時碰價。
目前沒有等待中的候選線。
最新有效未平倉
這裡列正式 paper position。修正後 full-scan OPEN 不再直接寫入正式 trade ledger;未來真正準實盤持倉會以 WebSocket observable fill 建立。
| 幣種 | 週期 | 版本 | 方向 | 來源 | 進場時間 | 進場價 | 更新時間 |
|---|---|---|---|---|---|---|---|
| NEARUSDT | 30m->5m | tp_3_5_pct | long | theoretical_trade_ledger | 2026-08-28 15:25 +08:00 | 1.8681868 | 2026-08-28 22:26 +08:00 |
| ONDOUSDT | 30m->5m | tp_3_5_pct | short | theoretical_trade_ledger | 2026-08-28 22:00 +08:00 | 0.370283617377049 | 2026-08-28 22:26 +08:00 |
殘留 OPEN,不算真持倉
這些交易曾在舊掃描出現為 OPEN,但最新完整掃描已不再看得到。它們保留作為 audit trail,不納入目前未平倉數。
目前沒有殘留 OPEN。
殘留 OPEN 交易明細
目前沒有殘留 OPEN 交易。
最近 Fills
theoretical_* 是 1 分 K 回放算出的理論成交;observable_* 是 WebSocket 即時看見的 paper 觸價。
| 成交類型 | 來源 | 幣種 | 方向 | 事件時間 | 價格 | 原因 | 候選 key | 交易 key | 寫入時間 |
|---|---|---|---|---|---|---|---|---|---|
| theoretical_entry | paper_trade_ledger | NEARUSDT | long | 2026-08-28 15:25 +08:00 | 1.8681868 | entry | aaad0ea1ce57fe812b199b5a | 2026-08-28 22:08 +08:00 | |
| theoretical_entry | paper_trade_ledger | ONDOUSDT | short | 2026-08-28 22:00 +08:00 | 0.370283617377049 | entry | a636b80b40fed429d907a8b6 | 2026-08-28 22:08 +08:00 |
資料水位
| 範圍 | 幣種 | 名稱 | 值 | 更新時間 |
|---|---|---|---|---|
| config | active_hash | 6e4db40d63546685bfc59ef310422563f631eb8dfeb4e9c791469f19738b8ffe | 2026-08-28 22:26 +08:00 | |
| data_update | update_end | 2026-08-28 22:25 +08:00 | 2026-08-28 22:26 +08:00 | |
| forward_update | update_end | 2026-08-28 22:21 +08:00 | 2026-08-28 22:23 +08:00 | |
| market_data | BTCUSDT | first_bar | 2020-09-03 00:00 +08:00 | 2026-08-28 22:26 +08:00 |
| market_data | BTCUSDT | last_bar | 2026-08-28 22:21 +08:00 | 2026-08-28 22:26 +08:00 |
| market_data | BTCUSDT | post_start_rows | 532 | 2026-08-28 22:26 +08:00 |
| market_data | BTCUSDT | rows | 3147742 | 2026-08-28 22:26 +08:00 |
| market_data | BTCUSDT | status | 可掃描 | 2026-08-28 22:26 +08:00 |
| market_data | NEARUSDT | first_bar | 2020-10-15 16:00 +08:00 | 2026-08-28 22:26 +08:00 |
| market_data | NEARUSDT | last_bar | 2026-08-28 22:21 +08:00 | 2026-08-28 22:26 +08:00 |
| market_data | NEARUSDT | post_start_rows | 532 | 2026-08-28 22:26 +08:00 |
| market_data | NEARUSDT | rows | 3086302 | 2026-08-28 22:26 +08:00 |
| market_data | NEARUSDT | status | 可掃描 | 2026-08-28 22:26 +08:00 |
| market_data | ONDOUSDT | first_bar | 2024-01-20 21:00 +08:00 | 2026-08-28 22:26 +08:00 |
| market_data | ONDOUSDT | last_bar | 2026-08-28 22:21 +08:00 | 2026-08-28 22:26 +08:00 |
| market_data | ONDOUSDT | post_start_rows | 532 | 2026-08-28 22:26 +08:00 |
| market_data | ONDOUSDT | rows | 1369522 | 2026-08-28 22:26 +08:00 |
| market_data | ONDOUSDT | status | 可掃描 | 2026-08-28 22:26 +08:00 |
| market_data | VIRTUALUSDT | first_bar | 2024-12-10 20:30 +08:00 | 2026-08-28 22:26 +08:00 |
| market_data | VIRTUALUSDT | last_bar | 2026-08-28 22:21 +08:00 | 2026-08-28 22:26 +08:00 |
| market_data | VIRTUALUSDT | post_start_rows | 532 | 2026-08-28 22:26 +08:00 |
| market_data | VIRTUALUSDT | rows | 901552 | 2026-08-28 22:26 +08:00 |
| market_data | VIRTUALUSDT | status | 可掃描 | 2026-08-28 22:26 +08:00 |
| state_sync | last_sync | 2026-08-28 22:25 +08:00 | 2026-08-28 22:25 +08:00 | |
| strategy_update | update_end | 2026-08-28 22:21 +08:00 | 2026-08-28 22:23 +08:00 |
最近 Runs
| ID | 模式 | 執行配置 | 執行層 | 略過策略 | 來源 | 開始 | 結束 | 處理到 | 狀態 | 錯誤 |
|---|---|---|---|---|---|---|---|---|---|---|
| 136 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 22:26 +08:00 | 2026-08-28 22:25 +08:00 | running | ||
| 135 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 22:25 +08:00 | 2026-08-28 22:25 +08:00 | 2026-08-28 22:24 +08:00 | success | |
| 134 | shadow_full_rescan:split:strategy | split | strategy | 0 | run_once | 2026-08-28 22:22 +08:00 | 2026-08-28 22:24 +08:00 | 2026-08-28 22:21 +08:00 | success | |
| 133 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 22:21 +08:00 | 2026-08-28 22:21 +08:00 | 2026-08-28 22:20 +08:00 | success | |
| 132 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 22:20 +08:00 | 2026-08-28 22:20 +08:00 | 2026-08-28 22:19 +08:00 | success | |
| 131 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 22:19 +08:00 | 2026-08-28 22:19 +08:00 | 2026-08-28 22:18 +08:00 | success | |
| 130 | shadow_full_rescan:split:strategy | split | strategy | 0 | run_once | 2026-08-28 22:17 +08:00 | 2026-08-28 22:18 +08:00 | 2026-08-28 22:16 +08:00 | success | |
| 129 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 22:16 +08:00 | 2026-08-28 22:16 +08:00 | 2026-08-28 22:15 +08:00 | success | |
| 128 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 22:15 +08:00 | 2026-08-28 22:15 +08:00 | 2026-08-28 22:14 +08:00 | success | |
| 127 | shadow_full_rescan:split:strategy | split | strategy | 0 | run_once | 2026-08-28 22:12 +08:00 | 2026-08-28 22:14 +08:00 | 2026-08-28 22:11 +08:00 | success | |
| 126 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 22:11 +08:00 | 2026-08-28 22:11 +08:00 | 2026-08-28 22:10 +08:00 | success | |
| 125 | shadow_full_rescan:strategy:strategy | strategy | strategy | 0 | run_once | 2026-08-28 22:07 +08:00 | 2026-08-28 22:09 +08:00 | 2026-08-28 22:06 +08:00 | success | |
| 124 | shadow_full_rescan:split:strategy | split | strategy | 0 | run_once | 2026-08-28 22:03 +08:00 | 2026-08-28 22:07 +08:00 | 2026-08-28 22:02 +08:00 | success | |
| 123 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 22:01 +08:00 | 2026-08-28 22:01 +08:00 | 2026-08-28 22:00 +08:00 | success | |
| 122 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 22:00 +08:00 | 2026-08-28 22:00 +08:00 | 2026-08-28 21:59 +08:00 | success | |
| 121 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:59 +08:00 | 2026-08-28 21:59 +08:00 | 2026-08-28 21:58 +08:00 | success | |
| 120 | shadow_full_rescan:split:strategy | split | strategy | 0 | run_once | 2026-08-28 21:57 +08:00 | 2026-08-28 21:58 +08:00 | 2026-08-28 21:56 +08:00 | success | |
| 119 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:56 +08:00 | 2026-08-28 21:56 +08:00 | 2026-08-28 21:55 +08:00 | success | |
| 118 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:55 +08:00 | 2026-08-28 21:55 +08:00 | 2026-08-28 21:54 +08:00 | success | |
| 117 | shadow_full_rescan:strategy:strategy | strategy | strategy | 0 | run_once | 2026-08-28 21:52 +08:00 | 2026-08-28 21:53 +08:00 | 2026-08-28 21:51 +08:00 | success | |
| 116 | shadow_full_rescan:split:strategy | split | strategy | 0 | run_once | 2026-08-28 21:49 +08:00 | 2026-08-28 21:50 +08:00 | 2026-08-28 21:48 +08:00 | success | |
| 115 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:48 +08:00 | 2026-08-28 21:48 +08:00 | 2026-08-28 21:47 +08:00 | success | |
| 114 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:47 +08:00 | 2026-08-28 21:47 +08:00 | 2026-08-28 21:46 +08:00 | success | |
| 113 | shadow_full_rescan:strategy:strategy | strategy | strategy | 0 | run_once | 2026-08-28 21:44 +08:00 | 2026-08-28 21:45 +08:00 | 2026-08-28 21:43 +08:00 | success | |
| 112 | shadow_full_rescan:split:strategy | split | strategy | 0 | run_once | 2026-08-28 21:40 +08:00 | 2026-08-28 21:43 +08:00 | 2026-08-28 21:39 +08:00 | success | |
| 111 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:39 +08:00 | 2026-08-28 21:39 +08:00 | 2026-08-28 21:38 +08:00 | success | |
| 110 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:38 +08:00 | 2026-08-28 21:38 +08:00 | 2026-08-28 21:37 +08:00 | success | |
| 109 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:37 +08:00 | 2026-08-28 21:37 +08:00 | 2026-08-28 21:36 +08:00 | success | |
| 108 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:36 +08:00 | 2026-08-28 21:36 +08:00 | 2026-08-28 21:35 +08:00 | success | |
| 107 | shadow_full_rescan:split:strategy | split | strategy | 0 | run_once | 2026-08-28 21:35 +08:00 | 2026-08-28 21:35 +08:00 | 2026-08-28 21:34 +08:00 | success | |
| 106 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:34 +08:00 | 2026-08-28 21:34 +08:00 | 2026-08-28 21:33 +08:00 | success | |
| 105 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:33 +08:00 | 2026-08-28 21:33 +08:00 | 2026-08-28 21:32 +08:00 | success | |
| 104 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:32 +08:00 | 2026-08-28 21:32 +08:00 | 2026-08-28 21:31 +08:00 | success | |
| 103 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:31 +08:00 | 2026-08-28 21:31 +08:00 | 2026-08-28 21:30 +08:00 | success | |
| 102 | shadow_full_rescan:split:strategy | split | strategy | 0 | run_once | 2026-08-28 21:30 +08:00 | 2026-08-28 21:30 +08:00 | 2026-08-28 21:29 +08:00 | success | |
| 101 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:29 +08:00 | 2026-08-28 21:29 +08:00 | 2026-08-28 21:28 +08:00 | success | |
| 100 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:28 +08:00 | 2026-08-28 21:28 +08:00 | 2026-08-28 21:27 +08:00 | success | |
| 99 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:27 +08:00 | 2026-08-28 21:27 +08:00 | 2026-08-28 21:26 +08:00 | success | |
| 98 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:26 +08:00 | 2026-08-28 21:26 +08:00 | 2026-08-28 21:25 +08:00 | success | |
| 97 | shadow_full_rescan:split:strategy | split | strategy | 0 | run_once | 2026-08-28 21:25 +08:00 | 2026-08-28 21:25 +08:00 | 2026-08-28 21:24 +08:00 | success | |
| 96 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:24 +08:00 | 2026-08-28 21:24 +08:00 | 2026-08-28 21:23 +08:00 | success | |
| 95 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:23 +08:00 | 2026-08-28 21:23 +08:00 | 2026-08-28 21:22 +08:00 | success | |
| 94 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:22 +08:00 | 2026-08-28 21:22 +08:00 | 2026-08-28 21:21 +08:00 | success | |
| 93 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:21 +08:00 | 2026-08-28 21:21 +08:00 | 2026-08-28 21:20 +08:00 | success | |
| 92 | shadow_full_rescan:split:strategy | split | strategy | 0 | run_once | 2026-08-28 21:20 +08:00 | 2026-08-28 21:20 +08:00 | 2026-08-28 21:19 +08:00 | success | |
| 91 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:19 +08:00 | 2026-08-28 21:19 +08:00 | 2026-08-28 21:18 +08:00 | success | |
| 90 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:18 +08:00 | 2026-08-28 21:18 +08:00 | 2026-08-28 21:17 +08:00 | success | |
| 89 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:17 +08:00 | 2026-08-28 21:17 +08:00 | 2026-08-28 21:16 +08:00 | success | |
| 88 | shadow_full_rescan:split:data | split | data | 1 | run_once | 2026-08-28 21:16 +08:00 | 2026-08-28 21:16 +08:00 | 2026-08-28 21:15 +08:00 | success | |
| 87 | shadow_full_rescan:split:strategy | split | strategy | 0 | run_once | 2026-08-28 21:15 +08:00 | 2026-08-28 21:15 +08:00 | 2026-08-28 21:14 +08:00 | success |