diff --git a/crypto_monitor_okx/app.py b/crypto_monitor_okx/app.py index 7b81e8f..b64fa11 100644 --- a/crypto_monitor_okx/app.py +++ b/crypto_monitor_okx/app.py @@ -2121,6 +2121,35 @@ def ensure_okx_live_ready(): return True, "" +def order_row_monitor_type(row): + if row is None: + return ORDER_MONITOR_TYPE_MANUAL + try: + keys = row.keys() if hasattr(row, "keys") else [] + except Exception: + keys = [] + if "monitor_type" in keys: + mt = (row["monitor_type"] or "").strip() + if mt: + return mt + return ORDER_MONITOR_TYPE_MANUAL + + +def order_row_key_signal_type(row): + if row is None: + return None + try: + keys = row.keys() if hasattr(row, "keys") else [] + except Exception: + keys = [] + if "key_signal_type" not in keys: + return None + kst = (row["key_signal_type"] or "").strip() + if kst in KEY_MONITOR_AUTO_TYPES or is_fib_key_monitor_type(kst): + return kst + return None + + def _extract_usdt_total(balance): usdt_info = balance.get("USDT", {}) if isinstance(balance, dict) else {} total_map = balance.get("total", {}) if isinstance(balance, dict) else {} @@ -3244,7 +3273,8 @@ def reconcile_external_closes(conn, days=None): insert_trade_record( conn, symbol=r["symbol"], - monitor_type="下单监控", + monitor_type=order_row_monitor_type(r), + key_signal_type=order_row_key_signal_type(r), direction=r["direction"], trigger_price=r["trigger_price"], stop_loss=r["stop_loss"], @@ -4793,7 +4823,8 @@ def check_order_monitors(): insert_trade_record( conn, symbol=sym, - monitor_type="下单监控", + monitor_type=order_row_monitor_type(r), + key_signal_type=order_row_key_signal_type(r), direction=direction, trigger_price=trigger_price, stop_loss=stop_loss, @@ -4862,7 +4893,8 @@ def check_order_monitors(): insert_trade_record( conn, symbol=sym, - monitor_type="下单监控", + monitor_type=order_row_monitor_type(r), + key_signal_type=order_row_key_signal_type(r), direction=direction, trigger_price=trigger_price, stop_loss=stop_loss, @@ -4926,7 +4958,8 @@ def force_close_before_reset(): insert_trade_record( conn, symbol=r["symbol"], - monitor_type="下单监控", + monitor_type=order_row_monitor_type(r), + key_signal_type=order_row_key_signal_type(r), direction=direction, trigger_price=trigger_price, stop_loss=r["stop_loss"], @@ -6550,7 +6583,8 @@ def del_order(id): insert_trade_record( conn, symbol=row["symbol"], - monitor_type="下单监控", + monitor_type=order_row_monitor_type(row), + key_signal_type=order_row_key_signal_type(row), direction=row["direction"], trigger_price=row["trigger_price"], stop_loss=row["stop_loss"], @@ -6603,7 +6637,8 @@ def del_order(id): insert_trade_record( conn, symbol=row["symbol"], - monitor_type="下单监控", + monitor_type=order_row_monitor_type(row), + key_signal_type=order_row_key_signal_type(row), direction=row["direction"], trigger_price=row["trigger_price"], stop_loss=row["stop_loss"],