添加ema52显示

This commit is contained in:
jackyu66git
2025-09-27 01:14:53 +08:00
parent 68e9c38922
commit 6139af98c3
5 changed files with 389 additions and 88 deletions
+20 -6
View File
@@ -20,11 +20,11 @@ import numpy as np
from ChanMACD import ChanMACD
class TF_DF():
def __init__(self, timeframe, df, ticker_indicator):
def __init__(self, df, interval, timeframe):
self.timeframe = timeframe
self.dataframe = resample_to_interval(df, ticker_indicator*timeframe)
self.interval = interval
self.dataframe = resample_to_interval(df, interval)
self.dataframe = self.add_indicators(self.dataframe)
self.ticker_indicator = ticker_indicator
self.klu_list = []
self.klc_list = []
self.bi_list = []
@@ -40,6 +40,22 @@ class TF_DF():
self.zs_list = self.cal_zs_list(self.bi_list, self.seg_list)
self.chanmacd = ChanMACD(self.klu_list)
self.klu_list = self.chanmacd.cal_macd_state()
def get_ema52(self):
if self.klu_list:
ema52_value = self.klu_list[-1].ema52
# 处理NaN值
if pd.isna(ema52_value) or ema52_value is None:
return None
return float(ema52_value)
return None
def get_ema24(self):
if self.klu_list:
ema24_value = self.klu_list[-1].ema24
# 处理NaN值
if pd.isna(ema24_value) or ema24_value is None:
return None
return float(ema24_value)
return None
def add_indicators(self, df):
fast = 12
slow = 26
@@ -223,7 +239,7 @@ class TF_DF():
setattr(klc, 'trend', trend)
last_trend = trend
price_diff = klc.close - klc.pre.close if klc.pre else 0
print(klc.start_time, klc.end_time, klc.close, klc.ema24, klc.ema52, klc.macd, klc.signal, klc.macdhist, klc.trend, price_diff)
#print(klc.start_time, klc.end_time, klc.close, klc.ema24, klc.ema52, klc.macd, klc.signal, klc.macdhist, klc.trend, price_diff)
#print(klc.start_time, klc.end_time, klc.trend, price_diff)
return klc_list
def cal_kl_data(self, dataframe:DataFrame):
@@ -627,7 +643,6 @@ class TF_DF():
bi_list[-1].add_klc(klc)
klc.set_bi(bi_list[-1])
#klc.set_klc_fx_type(Chan_KLC_FX.TOP3)
klc.set_last_top_klu(last_top)
#print(klc.start_time, klc.fx, "二类卖点Sell 1")
else:
# A new top found
@@ -752,7 +767,6 @@ class TF_DF():
bi_list[-1].add_klc(klc)
klc.set_bi(bi_list[-1])
#klc.set_klc_fx_type(Chan_KLC_FX.BOTTOM3)
klc.set_last_bottom_klc(last_bottom)
#print(last_bottom.start_time, last_bottom.end_time, "--------------------------------1")
#print(klc.start_time, klc.fx, "二类买点Buy 1")
else: