修改排版,加入up,down,flat,unknown显示

This commit is contained in:
jackyu66git
2025-09-30 13:40:20 +08:00
parent 1507f9f929
commit 566055b045
7 changed files with 305 additions and 140 deletions
+28 -5
View File
@@ -56,6 +56,10 @@ class TF_DF():
return None
return float(ema24_value)
return None
def get_current_klc(self):
if len(self.klc_list) > 0:
return self.klc_list[-2]
return None
def add_indicators(self, df):
fast = 12
slow = 26
@@ -93,14 +97,33 @@ class TF_DF():
df['macd'] = macd['macd']
df['macdsignal'] = macd['macdsignal']
df['macdhist'] = macd['macdhist']
df['ema5'] = ta.EMA(df, timeperiod=5)
df['ema10'] = ta.EMA(df, timeperiod=10)
df['ema24'] = ta.EMA(df, timeperiod=24)
df['ema26'] = ta.EMA(df, timeperiod=26)
df['ema52'] = ta.EMA(df, timeperiod=52)
df['ema5'] = self.cal_ema(df, 5)
df['ema10'] = self.cal_ema(df, 10)
df['ema24'] = self.cal_ema(df, 24)
df['ema26'] = self.cal_ema(df, 26)
df['ema52'] = self.cal_ema(df, 52)
df['rsi'] = ta.RSI(df, timeperiod=14)
df['volume_ratio'] = self.cal_volume_ratio(df)
return df
@staticmethod
def cal_ema(df, timeperiod):
"""
计算 EMA,优先使用 pandas ewm(adjust=False) 以贴近前端/TradingView 显示;
必要时回退到 TA-Libabstract)。
"""
try:
series = df['close'].astype(float) if isinstance(df, pd.DataFrame) else pd.Series(df).astype(float)
return series.ewm(span=int(timeperiod), adjust=False).mean()
except Exception:
try:
if isinstance(df, pd.DataFrame):
return ta.EMA(df, timeperiod=int(timeperiod))
except Exception:
pass
# 最后回退:返回同索引的 NaN 序列
if isinstance(df, pd.DataFrame) and 'close' in df:
return pd.Series(np.nan, index=df.index)
return pd.Series(dtype=float)
def check_fx(self, klc):
if klc.pre and klc.next:
if klc.high > klc.pre.high and klc.high > klc.next.high: