Skip to content

Commit a4c56ca

Browse files
committed
Localize semiconductor trend notifications
1 parent 0da7005 commit a4c56ca

3 files changed

Lines changed: 12 additions & 0 deletions

File tree

application/rebalance_service.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
("feature_snapshot_config_name_mismatch", "快照配置名不匹配"),
2525
("feature_snapshot_config_path_mismatch", "快照配置路径不匹配"),
2626
("feature_snapshot_contract_version_mismatch", "快照契约版本不匹配"),
27+
("RISK-ON", "风险开启"),
28+
("DE-LEVER", "降杠杆"),
2729
("regime=hard_defense", "市场阶段=强防御"),
2830
("regime=soft_defense", "市场阶段=软防御"),
2931
("regime=risk_on", "市场阶段=进攻"),

notifications/telegram.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@
4747
"partial_sell_batch": "⚠️ 卖单部分成交 {count}个标的: {details}",
4848
"no_equity": "❌ 无净值",
4949
"signal_label": "信号",
50+
"market_status_risk_on": "🚀 风险开启({asset})",
51+
"market_status_delever": "🛡️ 降杠杆({asset})",
52+
"signal_risk_on": "SOXL 站上 {window} 日均线,持有 SOXL,交易层风险仓位 {ratio}",
53+
"signal_delever": "SOXL 跌破 {window} 日均线,切换至 SOXX,交易层风险仓位 {ratio}",
5054
"no_trades": "✅ 无需调仓",
5155
"emergency": "🛡️ 金丝雀应急: {n_bad}/4 坏, 全部转入 {safe}",
5256
"quarterly": "📊 季度调仓: 前 {n} 名轮动",
@@ -109,6 +113,10 @@
109113
"partial_sell_batch": "⚠️ Partial sell fills for {count} symbols: {details}",
110114
"no_equity": "❌ No equity",
111115
"signal_label": "Signal",
116+
"market_status_risk_on": "🚀 RISK-ON ({asset})",
117+
"market_status_delever": "🛡️ DE-LEVER ({asset})",
118+
"signal_risk_on": "SOXL above {window}d MA, hold SOXL, risk {ratio}",
119+
"signal_delever": "SOXL below {window}d MA, switch to SOXX, risk {ratio}",
112120
"no_trades": "✅ No rebalance needed",
113121
"emergency": "🛡️ Canary Emergency: {n_bad}/4 bad, rotating to {safe}",
114122
"quarterly": "📊 Quarterly Rebalance: Top {n} rotation",

tests/test_notifications.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ def test_build_translator_supports_chinese():
55
translate = build_translator("zh")
66
assert translate("equity") == "净值"
77
assert translate("target_weights_title") == "目标持仓"
8+
assert translate("market_status_risk_on", asset="SOXL") == "🚀 风险开启(SOXL)"
9+
assert translate("signal_risk_on", window=150, ratio="40.2%") == "SOXL 站上 150 日均线,持有 SOXL,交易层风险仓位 40.2%"
810

911

1012
def test_send_telegram_message_logs_non_200_response(capsys):

0 commit comments

Comments
 (0)