@@ -36,17 +36,17 @@ def analyze_klines(klines):
3636
3737 last3 = closes [- 3 :]
3838 if last3 [0 ] < last3 [1 ] < last3 [2 ]:
39- trend = "📈上涨 "
39+ trend = "📈Bullish "
4040 elif last3 [0 ] > last3 [1 ] > last3 [2 ]:
41- trend = "📉下跌 "
41+ trend = "📉Bearish "
4242 else :
43- trend = "↔️震荡 "
43+ trend = "↔️Sideways "
4444
4545 bulls = sum (1 for i in range (len (klines )) if closes [i ] >= opens [i ])
4646 bears = len (klines ) - bulls
4747 ma3 = sum (closes [- 3 :]) / 3
4848 ma7 = sum (closes [- 7 :]) / 7
49- ma_align = "多头排列 " if ma3 > ma7 else "空头排列 "
49+ ma_align = "Bullish " if ma3 > ma7 else "Bearish "
5050
5151 vol_recent = sum (volumes [- 3 :]) / 3
5252 vol_prev = sum (volumes [- 6 :- 3 ]) / 3
@@ -95,9 +95,9 @@ def main():
9595 # Header
9696 sections .append (f"""```
9797╔══════════════════════════════════════╗
98- ║ NOFX AI500 智能监控报告 ║
98+ ║ NOFX AI500 Intelligence Report ║
9999║ { now } ║
100- ║ 当前入选 : { count } 币种 ║
100+ ║ Active selections : { count } coins ║
101101╚══════════════════════════════════════╝
102102```""" )
103103
@@ -206,29 +206,29 @@ def main():
206206
207207 s = f"""```
208208┌──────────────────────────────────────┐
209- │ 🪙 { symbol :<8} 评分 :{ score :.1f} 最高 :{ max_score :.1f}
210- │ 现价 :{ price_str } 入选价 :${ start_price }
211- │ 累计涨幅 :{ increase :.1f} % 费率 :{ fr_str }
212- ├─ OI变化 ──────────────────────────────┤
213- │ 周期 │ 幅度 │ 金额 │{ oi_table }
214- ├─ 机构资金流 ─────────────────────────┤
209+ │ 🪙 { symbol :<8} Score :{ score :.1f} Peak :{ max_score :.1f}
210+ │ Price :{ price_str } Entry :${ start_price }
211+ │ Return :{ increase :.1f} % FR :{ fr_str }
212+ ├─ OI Changes ──────────────────────────────┤
213+ │ Period│ Change │ Value │{ oi_table }
214+ ├─ Inst. Flows ─ ─────────────────────────┤
215215│ { ' │ ' .join (nf_parts )}
216- ├─ K线分析 ─────────────────────────────┤"""
216+ ├─ K-line ───── ─────────────────────────────┤"""
217217
218218 for interval in ["15m" , "1h" , "4h" ]:
219219 ka = kline_analysis .get (interval )
220220 if ka :
221- s += f"\n │ { interval } : { ka ['trend' ]} 阳/阴 :{ ka ['bulls' ]} /{ ka ['bears' ]} { ka ['ma_align' ]} "
222- s += f"\n │ 量能 :{ ka ['vol_chg' ]:+.1f} % 支撑 :{ ka ['support' ]} 阻力 :{ ka ['resistance' ]} "
221+ s += f"\n │ { interval } : { ka ['trend' ]} Bull/Bear :{ ka ['bulls' ]} /{ ka ['bears' ]} { ka ['ma_align' ]} "
222+ s += f"\n │ Vol :{ ka ['vol_chg' ]:+.1f} % Sup :{ ka ['support' ]} Res :{ ka ['resistance' ]} "
223223
224224 s += "\n └──────────────────────────────────────┘\n ```"
225225 sections .append (s )
226226
227227 # 4. OI Rankings
228228 for d in ["1h" , "4h" , "24h" ]:
229- lines = [f"╔═ OI排行 { d } ══════════════════════════╗" ]
229+ lines = [f"╔═ OI Rank { d } ══════════════════════════╗" ]
230230
231- lines .append ("║ 📈 增量TOP8 :" )
231+ lines .append ("║ 📈 Top 8 Increase :" )
232232 top = oi_top [d ]
233233 if top and top .get ("success" ):
234234 for item in top ["data" ].get ("positions" , [])[:8 ]:
@@ -238,7 +238,7 @@ def main():
238238 usd_str = fmt_num (usd ) if usd is not None else ""
239239 lines .append (f"║ { item .get ('rank' ,'-' )} . { sym :<10} { float (pct ):+.2f} % { usd_str } " )
240240
241- lines .append ("║ 📉 减少TOP8 :" )
241+ lines .append ("║ 📉 Top 8 Decrease :" )
242242 low = oi_low [d ]
243243 if low and low .get ("success" ):
244244 for item in low ["data" ].get ("positions" , [])[:8 ]:
@@ -253,17 +253,17 @@ def main():
253253
254254 # 5. Netflow Rankings
255255 for d in ["1h" , "4h" , "24h" ]:
256- lines = [f"╔═ 机构资金流 { d } ════════════════════════╗" ]
256+ lines = [f"╔═ Inst. Flow { d } ════════════════════════╗" ]
257257
258- lines .append ("║ 💰 流入TOP8 :" )
258+ lines .append ("║ 💰 Top 8 Inflow :" )
259259 top = nf_top [d ]
260260 if top and top .get ("success" ):
261261 for item in top ["data" ].get ("netflows" , [])[:8 ]:
262262 sym = item .get ("symbol" , "?" ).replace ("USDT" , "" )
263263 amt = item .get ("amount" , 0 )
264264 lines .append (f"║ { item .get ('rank' ,'-' )} . { sym :<10} { fmt_num (amt )} " )
265265
266- lines .append ("║ 💸 流出TOP8 :" )
266+ lines .append ("║ 💸 Top 8 Outflow :" )
267267 low = nf_low [d ]
268268 if low and low .get ("success" ):
269269 for item in low ["data" ].get ("netflows" , [])[:8 ]:
@@ -276,7 +276,7 @@ def main():
276276
277277 # 6. Summary
278278 summary_lines = ["╔══════════════════════════════════════╗" ,
279- "║ 📋 总结与操作建议 ║" ,
279+ "║ 📋 Summary & Signals ║" ,
280280 "╠══════════════════════════════════════╣" ]
281281 for coin in coins :
282282 symbol = coin ["pair" ].replace ("USDT" , "" )
@@ -290,13 +290,13 @@ def main():
290290 oi_1h = found .get ("oi_delta_percent" , 0 )
291291
292292 if oi_1h and float (oi_1h ) > 1 :
293- signal = "📈 OI增量明显,关注做多机会 "
293+ signal = "📈 Strong OI increase, watch for long "
294294 elif oi_1h and float (oi_1h ) < - 1 :
295- signal = "📉 OI下降,注意风险 "
295+ signal = "📉 OI declining, watch for risk "
296296 else :
297- signal = "↔️ OI平稳,观望为主 "
297+ signal = "↔️ OI stable, wait and see "
298298
299- summary_lines .append (f"║ • { symbol } : 评分 { score :.1f} 涨幅 { increase :.1f} %" )
299+ summary_lines .append (f"║ • { symbol } : Score: { score :.1f} Return: { increase :.1f} %" )
300300 summary_lines .append (f"║ { signal } " )
301301
302302 summary_lines .append ("╚══════════════════════════════════════╝" )
0 commit comments