Limit tradable products to four varieties for accounts at or below 100k.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-27 23:18:27 +08:00
parent 24190bf679
commit 7bb80ba538
6 changed files with 113 additions and 9 deletions
+11 -4
View File
@@ -28,10 +28,7 @@ from position_sizing import (
calc_order_tick_metrics,
normalize_sizing_mode,
)
from recommend_store import (
recommend_payload,
refresh_recommend_cache,
)
from product_recommend import assert_product_allowed_for_capital, is_small_account, SMALL_ACCOUNT_SCOPE_LABEL
from recommend_stream import recommend_hub, schedule_recommend_refresh, start_recommend_worker
from position_stream import position_hub, start_position_worker
from ctp_settings import is_ctp_auto_connect_enabled
@@ -1645,6 +1642,8 @@ def install_trading(app, *, login_required, require_nav, get_db, get_setting, se
recommend_rows=rec_cache.get("rows") or [],
recommend_updated_at=rec_cache.get("updated_at"),
night_session=is_night_trading_session(),
small_account_scope=is_small_account(capital),
small_account_scope_label=SMALL_ACCOUNT_SCOPE_LABEL,
product_categories=PRODUCT_CATEGORIES,
)
finally:
@@ -2148,6 +2147,10 @@ def install_trading(app, *, login_required, require_nav, get_db, get_setting, se
if err:
conn.close()
return jsonify({"ok": False, "error": err}), 403
scope_err = assert_product_allowed_for_capital(sym, _capital(conn))
if scope_err:
conn.close()
return jsonify({"ok": False, "error": scope_err}), 403
ctp_st = ctp_status(mode)
if not ctp_st.get("connected"):
conn.close()
@@ -2503,6 +2506,10 @@ def install_trading(app, *, login_required, require_nav, get_db, get_setting, se
conn.close()
return jsonify({"ok": False, "error": err}), 403
capital = _capital(conn)
scope_err = assert_product_allowed_for_capital(sym, capital)
if scope_err:
conn.close()
return jsonify({"ok": False, "error": scope_err}), 403
codes = ths_to_codes(sym)
price = fetch_price(sym, codes.get("market_code", "") if codes else "", codes.get("sina_code", "") if codes else "")
plan, perr = compute_trend_plan_futures(