条件单开仓时写入 opened_at,供中控展示开仓时间。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -45,6 +45,7 @@ def ensure_cond_order_table(conn: sqlite3.Connection) -> None:
|
||||
crossed_at TEXT,
|
||||
opened_inst_id TEXT,
|
||||
opened_trade_id INTEGER,
|
||||
opened_at TEXT,
|
||||
message TEXT,
|
||||
created_at TEXT,
|
||||
updated_at TEXT,
|
||||
@@ -52,12 +53,29 @@ def ensure_cond_order_table(conn: sqlite3.Connection) -> None:
|
||||
)
|
||||
"""
|
||||
)
|
||||
try:
|
||||
conn.execute("ALTER TABLE options_cond_orders ADD COLUMN opened_at TEXT")
|
||||
except Exception:
|
||||
pass
|
||||
conn.execute(
|
||||
"""
|
||||
CREATE INDEX IF NOT EXISTS idx_options_cond_orders_status
|
||||
ON options_cond_orders(status)
|
||||
"""
|
||||
)
|
||||
try:
|
||||
conn.execute(
|
||||
"""
|
||||
UPDATE options_cond_orders
|
||||
SET opened_at = updated_at
|
||||
WHERE opened_at IS NULL
|
||||
AND status = 'open'
|
||||
AND updated_at IS NOT NULL
|
||||
AND TRIM(updated_at) != ''
|
||||
"""
|
||||
)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
def _now() -> str:
|
||||
@@ -715,12 +733,14 @@ def _tick_one(
|
||||
"""
|
||||
UPDATE options_cond_orders SET
|
||||
status='open', opened_inst_id=?, opened_trade_id=?,
|
||||
opened_at=COALESCE(opened_at, ?),
|
||||
message=?, updated_at=?
|
||||
WHERE hub_order_id=?
|
||||
""",
|
||||
(
|
||||
inst_id,
|
||||
int(trade_id) if trade_id is not None else None,
|
||||
_now(),
|
||||
f"已开仓 {inst_id}",
|
||||
_now(),
|
||||
order["hub_order_id"],
|
||||
|
||||
Reference in New Issue
Block a user