Add some check now

This commit is contained in:
Porter
2025-06-16 01:23:27 +08:00
parent db62648dbb
commit 28a14cf6d3
3 changed files with 40 additions and 22 deletions
+33 -15
View File
@@ -288,7 +288,7 @@ class ChanPY():
#print(zs.begin.time, zs.end.time)
return bsps, updown, bi_sure
def get_bsp_state(self, dataframe:DataFrame):
def get_bsp_state1(self, dataframe:DataFrame):
fields = "time,open,high,low,close,volume"
bsps = []
if self.chanIn:
@@ -302,7 +302,7 @@ class ChanPY():
bsp = bsp_list[bsp_index]
if klu.idx == bsp.klu.idx:
bsp_type = self.get_bsp_type(bsp.type[0], bsp.is_buy)
if abs(bsp_type) == 1 or abs(bsp_type) == 2:
if abs(bsp_type) == 1 or abs(bsp_type) == 10:
bsps.append(1)
else:
bsps.append(0)
@@ -316,7 +316,7 @@ class ChanPY():
self.chan.trigger_load({self.k_type: [klu]}) # 喂给CChan新增k线
self.last_kline = klu
return bsps
def get_bsp_state1(self, dataframe:DataFrame):
def get_bsp_state(self, dataframe:DataFrame):
fields = "time,open,high,low,close,volume"
bsps = []
if self.chanIn:
@@ -324,6 +324,7 @@ class ChanPY():
bsp_list = []
bsp_list_pre_len = 0
last_bsp_value = 0
last_bsp_index = 0
for klu in kl_data: # 获取单根K线
self.chan.trigger_load({self.k_type: [klu]}) # 喂给CChan新增k线
self.last_kline = klu
@@ -335,7 +336,7 @@ class ChanPY():
last_bsp = bsp_list[-1]
#print(klu.time, klu.idx, last_bsp.klu.time, last_bsp.klu.idx, last_bsp_value, lst[-2].fx, bi_list[-1].dir, bi_list[-1].is_sure,klu.close)
if bsp_list_pre_len > len(bsp_list):
if abs(last_bsp_value) == 1 or abs(last_bsp_value) == 2:
if abs(last_bsp_value) == 1:
bsps.append(1)
#print(klu.time, klu.idx, last_bsp.klu.time, last_bsp.klu.idx, last_bsp_value, 98)
else:
@@ -343,17 +344,28 @@ class ChanPY():
else:
if bsp_list_pre_len == len(bsp_list):
if klu.idx == last_bsp.klu.idx:
last_bsp_value = self.get_bsp_type(last_bsp.type[0], last_bsp.is_buy)
bsps.append(last_bsp_value)
#if abs(last_bsp_value) == 1 or abs(last_bsp_value) == 2:
#print(klu.time, klu.idx, last_bsp.klu.time, last_bsp.klu.idx, last_bsp_value, "Knonw")
if last_bsp.klu.idx - last_bsp_index > 3:
last_bsp_value = self.get_bsp_type(last_bsp.type[0], last_bsp.is_buy)
bsps.append(last_bsp_value)
else:
bsps.append(0)
last_bsp_index = last_bsp.klu.idx
#if abs(last_bsp_value) == 1 or abs(last_bsp_value) == 2:
#print(klu.time, klu.idx, last_bsp.klu.time, last_bsp.klu.idx, last_bsp_value, "Knonw")
else:
bsps.append(0)
else:
last_bsp_value = self.get_bsp_type(last_bsp.type[0], last_bsp.is_buy)
bsps.append(last_bsp_value)
#if abs(last_bsp_value) == 1 or abs(last_bsp_value) == 2:
#print(klu.time, klu.idx, last_bsp.klu.time, last_bsp.klu.idx, last_bsp_value, "Unknow")
if klu.idx == last_bsp.klu.idx:
if last_bsp.klu.idx - last_bsp_index > 3:
last_bsp_value = self.get_bsp_type(last_bsp.type[0], last_bsp.is_buy)
bsps.append(last_bsp_value)
else:
bsps.append(0)
last_bsp_index = last_bsp.klu.idx
#if abs(last_bsp_value) == 1 or abs(last_bsp_value) == 2:
#print(klu.time, klu.idx, last_bsp.klu.time, last_bsp.klu.idx, last_bsp_value, "Knonw")
else:
bsps.append(0)
else:
bsps.append(0)
bsp_list_pre_len = len(bsp_list)
@@ -374,11 +386,17 @@ class ChanPY():
bsps[index] = 0
else:
if bsps[index] == 2:
bsps[index] = 1
bsps[index] = 10
else:
if bsps[index] == -2:
bsps[index] = -1
bsps[index] = -10
else:
bsps[index] = 0
if bsps[index] == 1:
bsps[index] = 1
else:
if bsps[index] == -1:
bsps[index] = -1
else:
bsps[index] = 0
return bsps