refactor: 缠论引擎迁入 chan/ 分层解耦,指标外置

将核心结构、指标与分析拆到 chan/{core,indicators,analysis,pipeline};
根目录保留兼容 shim;strategies 改为从 chan 包导入;买卖点经 bsp_macd 与 MACD 接合。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Porter
2026-08-03 14:47:13 +08:00
co-authored by Cursor
parent 2e905e7238
commit 2c1232555e
90 changed files with 9067 additions and 8535 deletions
+5 -49
View File
@@ -1,49 +1,5 @@
from ChanEnum import Chan_MACDSEG_DIR
class ChanMACDSeg():
def __init__(self, index, start_time, start_klu, pre_seg, seg_dir, start_unittf):
self.index = index
self.start_time = start_time
self.end_time = None
self.start_klu = start_klu
self.end_klu = None
self.klu_list = []
self.klu_list.append(start_klu)
self.unittf_list = []
self.seg_dir = seg_dir
self.pre = pre_seg
self.next = None
self.high_klu = start_klu
self.low_klu = start_klu
self.ref_klu = None
self.unittf_list.append(start_unittf)
def set_next(self, next_seg):
self.next = next_seg
def set_pre(self, pre_seg):
self.pre = pre_seg
def add_klu(self, klu):
if klu:
self.klu_list.append(klu)
klu.set_seg(self)
if self.seg_dir == Chan_MACDSEG_DIR.ABOVE:
if klu.macdhist > self.high_klu.macdhist:
self.high_klu = klu
else:
if klu.macdhist < self.low_klu.macdhist:
self.low_klu = klu
else:
if klu.macdhist < self.high_klu.macdhist:
self.high_klu = klu
else:
if klu.macdhist > self.low_klu.macdhist:
self.low_klu = klu
if self.high_klu.index != self.start_klu.index:
self.ref_klu = self.high_klu
def add_unittf(self, unittf):
self.unittf_list.append(unittf)
unittf.set_next(self)
def set_end_klu(self, end_klu):
self.add_klu(end_klu)
self.end_klu = end_klu
self.end_time = end_klu.time
"""兼容 shim:请优先 from chan... 导入。本文件仅保持旧路径可用。"""
import importlib
import sys
_impl = importlib.import_module("chan.analysis.ChanMACDSeg")
sys.modules[__name__] = _impl