A new strategy is added haha

This commit is contained in:
jackyu66git
2025-05-08 19:30:58 +08:00
parent 8adfa1bbdc
commit 4f3629ba76
6 changed files with 838 additions and 63 deletions
+31 -14
View File
@@ -88,21 +88,38 @@ class ChanLun():
df['macdhist'] = macd['macdhist']
return df
def plot_dataframe(self, dataframe):
return self.get_klu_list(dataframe)
klc_list = self.get_klc_list(dataframe)
bi_list= self.cal_bi_list(klc_list)
seg_list = self.get_seg_list(bi_list)
zs_list = self.calculate_zs(bi_list, seg_list)
#bi_macd_div_list = self.get_bi_macd_div_list(bi_list, dataframe)
#seg_macd_div_list = self.get_seg_macd_div_list(seg_list, dataframe)
#buy_sell_points = self.identify_buy_sell_points(bi_list, seg_list, zs_list, dataframe)
#divergence_points = self.identify_macd_divergence(dataframe, bi_list)
#self.print_bi(bi_list)
#self.print_seg(seg_list)
#self.print_zs(zs_list)
#self.print_bsp_list(bsp_list)
#self.plot(dataframe, bi_list, seg_list, zs_list, buy_sell_points, divergence_points)
#return plt.gcf()
def get_klc_state_list(self, dataframe):
klc_list = self.get_klc_list(dataframe)
bi_list= self.cal_bi_list(klc_list)
state_list = []
if len(klc_list) > 0:
klc_index = 0
for index in range(0, len(dataframe)):
if klc_index == len(klc_list):
klc_index = len(klc_list) - 1
klc = klc_list[klc_index]
if klc.end_klu:
if klc.end_klu.idx == index:
klc_index += 1
features = klc.get_feature_data()
if (klc.klc_fx_type == Chan_KLC_FX.TOP1 or klc.klc_fx_type == Chan_KLC_FX.TOP2) and klc.bi.dir == Chan_BI_DIR.UP:
state_list.append("10")
#print(klc.start_time, klc.klc_fx_type)
elif (klc.klc_fx_type == Chan_KLC_FX.BOTTOM1 or klc.klc_fx_type == Chan_KLC_FX.BOTTOM2) and klc.bi.dir == Chan_BI_DIR.DOWN:
state_list.append("-10")
#print(klc.end_time, klc.klc_fx_type, klc.bi.start_time, klc.bi.dir)
else:
state_list.append("00")
else:
state_list.append("00")
else:
state_list.append("00")
else:
for index in range(0, len(dataframe)):
state_list.append("00")
return state_list
def print_data(self, dataframe):
klc_list = self.get_klc_list(dataframe)
bi_list = self.cal_bi_list(klc_list)
@@ -658,7 +675,7 @@ class ChanLun():
#print(klc.start_time, klc.fx, bi_list[-1].dir, "Last Top Bottom Change 1")
klc.set_klc_fx_type(Chan_KLC_FX.TOP2)
#print(klc.start_time, last_bi.start_klc.start_time, "New TOP Found reset last bi")
klc.set_state("10")
#klc.set_state("10")
#print(klc.start_time, klc.fx, "笔卖点Sell 1")
klc.set_klc_fx_type(Chan_KLC_FX.TOP2)
bi_list[-1].add_klc(klc)