fix: OKX manual orders save entry_model for trade record 开仓类型
OKX add_order omitted entry_model on insert; align with Binance/Gate and add trade_style fallback when resolving entry_reason for close and display. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -181,6 +181,7 @@ from lib.trade.entry_model_lib import (
|
||||
order_entry_template_context,
|
||||
open_position_button_label,
|
||||
parse_manual_order_style_fields,
|
||||
resolve_effective_trade_entry_reason,
|
||||
resolve_trade_record_entry_reason,
|
||||
trend_manual_entry_reason_count,
|
||||
)
|
||||
@@ -2012,8 +2013,20 @@ def to_effective_trade_dict(row):
|
||||
item["effective_pnl_amount"] = get_effective_trade_field(row, "reviewed_pnl_amount", "pnl_amount", item.get("pnl_amount"))
|
||||
item["effective_hold_minutes"] = get_effective_trade_field(row, "reviewed_hold_minutes", "hold_minutes", item.get("hold_minutes"))
|
||||
item["effective_hold_seconds"] = get_effective_trade_field(row, "reviewed_hold_seconds", "hold_seconds", item.get("hold_seconds"))
|
||||
er_eff = get_effective_trade_field(row, "reviewed_entry_reason", "entry_reason", item.get("entry_reason"))
|
||||
item["effective_entry_reason"] = (str(er_eff).strip() if er_eff is not None else "") or ""
|
||||
try:
|
||||
_er_keys = row.keys() if hasattr(row, "keys") else []
|
||||
except Exception:
|
||||
_er_keys = []
|
||||
reviewed_er = row["reviewed_entry_reason"] if "reviewed_entry_reason" in _er_keys else None
|
||||
item["effective_entry_reason"] = resolve_effective_trade_entry_reason(
|
||||
reviewed_entry_reason=reviewed_er,
|
||||
entry_reason=item.get("entry_reason"),
|
||||
key_signal_type=(item.get("key_signal_type") or "").strip() or None,
|
||||
monitor_type=item.get("monitor_type"),
|
||||
trade_style=item.get("trade_style"),
|
||||
entry_reason_from_key_signal=entry_reason_from_key_signal,
|
||||
entry_reason_for_monitor_type=entry_reason_for_monitor_type,
|
||||
)
|
||||
try:
|
||||
_keys = row.keys() if hasattr(row, "keys") else []
|
||||
except Exception:
|
||||
@@ -2253,6 +2266,7 @@ def insert_trade_record(
|
||||
entry_model=entry_model,
|
||||
key_signal_type=kst,
|
||||
monitor_type=monitor_type,
|
||||
trade_style=trade_style,
|
||||
entry_reason_from_key_signal=entry_reason_from_key_signal,
|
||||
entry_reason_for_monitor_type=entry_reason_for_monitor_type,
|
||||
)
|
||||
@@ -7984,10 +7998,10 @@ def add_order():
|
||||
tc_en = 0
|
||||
tc_en, tc_h, tc_at = time_close_insert_values(tc_en, tc_h, opened_at_ms)
|
||||
conn.execute(
|
||||
"INSERT INTO order_monitors (symbol, exchange_symbol, direction, trigger_price, stop_loss, initial_stop_loss, take_profit, margin_capital, leverage, trade_style, risk_percent, risk_amount, breakeven_rr_trigger, breakeven_offset_pct, breakeven_step_r, breakeven_armed, breakeven_price, breakeven_enabled, notional_value, position_ratio, base_amount, order_amount, exchange_order_id, opened_at, opened_at_ms, session_date, monitor_type, time_close_enabled, time_close_hours, time_close_at_ms) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",
|
||||
"INSERT INTO order_monitors (symbol, exchange_symbol, direction, trigger_price, stop_loss, initial_stop_loss, take_profit, margin_capital, leverage, trade_style, entry_model, risk_percent, risk_amount, breakeven_rr_trigger, breakeven_offset_pct, breakeven_step_r, breakeven_armed, breakeven_price, breakeven_enabled, notional_value, position_ratio, base_amount, order_amount, exchange_order_id, opened_at, opened_at_ms, session_date, monitor_type, time_close_enabled, time_close_hours, time_close_at_ms) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",
|
||||
(
|
||||
symbol, exchange_symbol, direction, trigger_price, stop_loss, stop_loss, take_profit,
|
||||
margin_capital, leverage, trade_style, risk_percent_db, risk_amount_final, breakeven_rr_trigger, breakeven_offset_pct, breakeven_step_r, 0, breakeven_price,
|
||||
margin_capital, leverage, trade_style, entry_model, risk_percent_db, risk_amount_final, breakeven_rr_trigger, breakeven_offset_pct, breakeven_step_r, 0, breakeven_price,
|
||||
breakeven_enabled,
|
||||
notional_value, position_ratio, base_amount, amount, open_order_id, opened_at_bj, opened_at_ms, trading_day, "下单监控",
|
||||
tc_en, tc_h, tc_at,
|
||||
|
||||
Reference in New Issue
Block a user