处理问题
This commit is contained in:
parent
32f18a5461
commit
5fc6f989db
23
Makefile
23
Makefile
|
|
@ -152,12 +152,23 @@ print(" ▸ tick: 检查 %s · 出手 %s · 等待 %s · 拒绝 %s%s" % (d.get(
|
||||||
len(d.get("fired") or []), len(d.get("waited") or []), len(d.get("rejected") or []),\
|
len(d.get("fired") or []), len(d.get("waited") or []), len(d.get("rejected") or []),\
|
||||||
(" ⚠ 错误 " + json.dumps(e, ensure_ascii=False)) if e else ""))'
|
(" ⚠ 错误 " + json.dumps(e, ensure_ascii=False)) if e else ""))'
|
||||||
|
|
||||||
loop: ## 手动联测循环: 每 N 秒跑一跳择时再刷监视 (beat 停着时用; Ctrl-C 退出)
|
# **出手 + 入账两跳都要跑**: exec-tick 只发单, 成交要 replay 那一跳才认领进账本。
|
||||||
@echo "每 $(or $(N),20) 秒跑一跳并刷新。Ctrl-C 退出。"
|
# 第一版只跑了 exec-tick —— 那样一旦成交, 单子成了而账本一直空, 看着像成交没回来。
|
||||||
|
REPSUM := python3 -c 'import sys,json;\
|
||||||
|
d=(json.loads(sys.stdin.read()) or {}).get("data") or {};\
|
||||||
|
w=d.get("ws") or {}; e=(d.get("errors") or []);\
|
||||||
|
print(" ▸ 入账: ws 成交 %s → 记账动作 %s · 外部成交 %s%s%s" % (w.get("trades",0),\
|
||||||
|
w.get("actions",0), d.get("fills",0),\
|
||||||
|
(" 挂起 " + str(len(w.get("held") or []))) if w.get("held") else "",\
|
||||||
|
(" ⚠ 错误 " + json.dumps(e, ensure_ascii=False)) if e else ""))'
|
||||||
|
|
||||||
|
loop: ## 手动联测循环: 每 N 秒跑「出手一跳 + 入账一跳」再刷监视 (beat 停着时用)
|
||||||
|
@echo "每 $(or $(N),20) 秒: 出手一跳 + 入账一跳 → 刷新监视。Ctrl-C 退出。"
|
||||||
@while true; do \
|
@while true; do \
|
||||||
sum=$$(curl -s -X POST '$(A)/api/ops/exec-tick' | $(TICKSUM)); \
|
sum=$$(curl -s -X POST '$(A)/api/ops/exec-tick' | $(TICKSUM)); \
|
||||||
|
rep=$$(curl -s -X POST '$(A)/api/ops/replay' | $(REPSUM)); \
|
||||||
$(MAKE) --no-print-directory watch; \
|
$(MAKE) --no-print-directory watch; \
|
||||||
echo "$$sum"; \
|
echo "$$sum"; echo "$$rep"; \
|
||||||
sleep $(or $(N),20); \
|
sleep $(or $(N),20); \
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
@ -198,6 +209,12 @@ t-dry: ## A6 择时试算 (实现B, 不经决策系统; dry_run 只算不发
|
||||||
t-tick: ## A7 真出手 (shadow 下 = 置 DISPATCHED 但不写下游, 你照着在 QMT 手工下)
|
t-tick: ## A7 真出手 (shadow 下 = 置 DISPATCHED 但不写下游, 你照着在 QMT 手工下)
|
||||||
@curl -s -X POST '$(A)/api/ops/exec-tick' | $(J)
|
@curl -s -X POST '$(A)/api/ops/exec-tick' | $(J)
|
||||||
|
|
||||||
|
# **出手和入账是两条独立的路**, exec-tick 只管发单不管收账。成交回来落在 pms_qmt_inbox,
|
||||||
|
# 要 replay 这一跳才会认领进批次、算摊薄成本与安全垫。beat 停着时忘了跑它, 表现是
|
||||||
|
# 「待入账」一直涨而账本持仓一直空 —— 看着像成交没回来, 其实是没人去收。
|
||||||
|
t-replay: ## A7.5 成交入账 (ws 逐笔 + trading_order 增量 + 盘中轻对账)
|
||||||
|
@curl -s -X POST '$(A)/api/ops/replay' | $(J)
|
||||||
|
|
||||||
t-ins: ## A8 看指令与子单状态
|
t-ins: ## A8 看指令与子单状态
|
||||||
@curl -s '$(A)/api/instructions?limit=50' | $(J)
|
@curl -s '$(A)/api/instructions?limit=50' | $(J)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue