This commit is contained in:
jackyu66git
2025-06-18 00:56:21 +08:00
parent 28a14cf6d3
commit da5eb8dc18
7 changed files with 472 additions and 363 deletions
+29 -29
View File
@@ -1,7 +1,7 @@
import sys
import os
sys.path.append(os.path.abspath("/Users/jack/Documents/GitHub/chan.py"))
#sys.path.append(os.path.abspath("/Users/jack/Project/chan.py"))
#sys.path.append(os.path.abspath("/Users/jack/Documents/GitHub/chan.py"))
sys.path.append(os.path.abspath("/Users/jack/Project/chan.py"))
from Chan import CChan
from BuySellPoint.BS_Point import CBS_Point
from ChanConfig import CChanConfig
@@ -51,6 +51,7 @@ class ChanPY():
autype=AUTYPE.QFQ,
)
klu_list = []
bsps = []
chanIn = True
#def __init__(self, dataframe):
#self.klu_list = self.get_kl_data(dataframe)
@@ -266,7 +267,7 @@ class ChanPY():
#print(klu.time, bsps[-1], updown[-1], bi_list[-1].is_sure)
self.chanIn = False
else:
klu = CKLine_Unit(self.create_item_dict(self.get_last_item_data(dataframe), GetColumnNameFromFieldList(fields)), autofix=True)
klu = self.get_last_klu(dataframe)
if self.last_kline.time < klu.time:
self.chan.trigger_load({self.k_type: [klu]}) # 喂给CChan新增k线
self.last_kline = klu
@@ -318,7 +319,6 @@ class ChanPY():
return bsps
def get_bsp_state(self, dataframe:DataFrame):
fields = "time,open,high,low,close,volume"
bsps = []
if self.chanIn:
kl_data = self.get_kl_data(dataframe)
bsp_list = []
@@ -337,66 +337,66 @@ class ChanPY():
#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:
bsps.append(1)
self.bsps.append(1)
#print(klu.time, klu.idx, last_bsp.klu.time, last_bsp.klu.idx, last_bsp_value, 98)
else:
bsps.append(99)
self.bsps.append(99)
else:
if bsp_list_pre_len == len(bsp_list):
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)
self.bsps.append(last_bsp_value)
else:
bsps.append(0)
self.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)
self.bsps.append(0)
else:
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)
self.bsps.append(last_bsp_value)
else:
bsps.append(0)
self.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)
self.bsps.append(0)
else:
bsps.append(0)
self.bsps.append(0)
bsp_list_pre_len = len(bsp_list)
self.chanIn = False
else:
klu = CKLine_Unit(self.create_item_dict(self.get_last_item_data(dataframe), GetColumnNameFromFieldList(fields)), autofix=True)
klu = self.get_last_klu(dataframe)
if self.last_kline.time < klu.time:
self.chan.trigger_load({self.k_type: [klu]}) # 喂给CChan新增k线
self.last_kline = klu
bsp_list = self.chan.get_bsp()
last_bsp = bsp_list[-1]
if last_bsp.klu.idx == klu.idx:
bsps.append(self.get_bsp_type(last_bsp.type[0], last_bsp.is_buy))
self.bsps.append(self.get_bsp_type(last_bsp.type[0], last_bsp.is_buy))
else:
bsps.append(0)
for index in range(0, len(bsps)):
if not (abs(bsps[index]) == 1 or abs(bsps[index]) == 2):
bsps[index] = 0
self.bsps.append(0)
for index in range(0, len(self.bsps)):
if not (abs(self.bsps[index]) == 1 or abs(self.bsps[index]) == 2):
self.bsps[index] = 0
else:
if bsps[index] == 2:
bsps[index] = 10
if self.bsps[index] == 2:
self.bsps[index] = 10
else:
if bsps[index] == -2:
bsps[index] = -10
if self.bsps[index] == -2:
self.bsps[index] = -10
else:
if bsps[index] == 1:
bsps[index] = 1
if self.bsps[index] == 1:
self.bsps[index] = 1
else:
if bsps[index] == -1:
bsps[index] = -1
if self.bsps[index] == -1:
self.bsps[index] = -1
else:
bsps[index] = 0
return bsps
self.bsps[index] = 0
return self.bsps