@@ -24,10 +24,22 @@ def build_trend_outlook_summary(trend_outlook: Dict[str, Any], language: str) ->
2424 return ""
2525 is_zh = str (language or "" ).lower ().startswith ("zh" )
2626
27- def label (trend : str ) -> str :
27+ def label (trend : str , score : Any = None ) -> str :
2828 normalized = str (trend or "HOLD" ).upper ()
29+ try :
30+ numeric_score = float (score )
31+ except (TypeError , ValueError ):
32+ numeric_score = 0.0
2933 if is_zh :
34+ if normalized == "HOLD" and numeric_score >= 10 :
35+ return "轻微利多·观望"
36+ if normalized == "HOLD" and numeric_score <= - 10 :
37+ return "轻微利空·观望"
3038 return {"BUY" : "看多" , "SELL" : "看空" , "HOLD" : "震荡/中性" }.get (normalized , "震荡/中性" )
39+ if normalized == "HOLD" and numeric_score >= 10 :
40+ return "mildly bullish · wait"
41+ if normalized == "HOLD" and numeric_score <= - 10 :
42+ return "mildly bearish · wait"
3143 return {"BUY" : "bullish" , "SELL" : "bearish" , "HOLD" : "neutral / range" }.get (
3244 normalized ,
3345 "neutral / range" ,
@@ -41,17 +53,17 @@ def label(trend: str) -> str:
4153 if is_zh :
4254 return ";" .join (
4355 [
44- f"约24小时:{ label (n24 .get ('trend' ))} (强度 { n24 .get ('strength' , 'neutral' )} )" ,
45- f"约3天:{ label (d3 .get ('trend' ))} (强度 { d3 .get ('strength' , 'neutral' )} )" ,
46- f"约1周:{ label (w1 .get ('trend' ))} (强度 { w1 .get ('strength' , 'neutral' )} )" ,
47- f"约1月:{ label (m1 .get ('trend' ))} (强度 { m1 .get ('strength' , 'neutral' )} )" ,
56+ f"约24小时:{ label (n24 .get ('trend' ), n24 . get ( 'score' ) )} (强度 { n24 .get ('strength' , 'neutral' )} )" ,
57+ f"约3天:{ label (d3 .get ('trend' ), d3 . get ( 'score' ) )} (强度 { d3 .get ('strength' , 'neutral' )} )" ,
58+ f"约1周:{ label (w1 .get ('trend' ), w1 . get ( 'score' ) )} (强度 { w1 .get ('strength' , 'neutral' )} )" ,
59+ f"约1月:{ label (m1 .get ('trend' ), m1 . get ( 'score' ) )} (强度 { m1 .get ('strength' , 'neutral' )} )" ,
4860 ]
4961 )
5062 return " | " .join (
5163 [
52- f"~24h: { label (n24 .get ('trend' ))} ({ n24 .get ('strength' , 'neutral' )} )" ,
53- f"~3d: { label (d3 .get ('trend' ))} ({ d3 .get ('strength' , 'neutral' )} )" ,
54- f"~1w: { label (w1 .get ('trend' ))} ({ w1 .get ('strength' , 'neutral' )} )" ,
55- f"~1m: { label (m1 .get ('trend' ))} ({ m1 .get ('strength' , 'neutral' )} )" ,
64+ f"~24h: { label (n24 .get ('trend' ), n24 . get ( 'score' ) )} ({ n24 .get ('strength' , 'neutral' )} )" ,
65+ f"~3d: { label (d3 .get ('trend' ), d3 . get ( 'score' ) )} ({ d3 .get ('strength' , 'neutral' )} )" ,
66+ f"~1w: { label (w1 .get ('trend' ), w1 . get ( 'score' ) )} ({ w1 .get ('strength' , 'neutral' )} )" ,
67+ f"~1m: { label (m1 .get ('trend' ), m1 . get ( 'score' ) )} ({ m1 .get ('strength' , 'neutral' )} )" ,
5668 ]
5769 )
0 commit comments