From 72196329d1dc970cff55718328a73aa20bbd2346 Mon Sep 17 00:00:00 2001 From: jackyu66git Date: Thu, 12 Mar 2026 17:20:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BC=A0=E8=AE=BA=E8=AF=B4?= =?UTF-8?q?=E6=98=8E=EF=BC=8C=E4=BC=98=E5=8C=96=E7=BA=BF=E6=AE=B5=E4=B8=AD?= =?UTF-8?q?=E6=9E=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 14340 -> 14340 bytes TF_DF.py | 40 ++++++++++++++++++++++++++++++++++++---- web/.DS_Store | Bin 8196 -> 6148 bytes 缠论.txt | 43 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 79 insertions(+), 4 deletions(-) create mode 100644 缠论.txt diff --git a/.DS_Store b/.DS_Store index 5a943f36921890e6c56d5c5cb2eb7b3b171bc9df..303b4b0ac403ce83b20aea68b9174c313de195d6 100644 GIT binary patch delta 571 zcmZoEXepTRK)HD9C5GM&#~m3M7+4te7}6Os8A=K=41<&Na|?iC42;GBn*|xau}xNB zb}8gEF;L<(Zij z7$)nh$!*S3m1JZL0x?C9HBGsZX8n2@FhC#@2uC4HY-UrBW<(AoYK7fK*3Ik&KUrYz MrGe8Yv#I|B0E42c+W-In delta 571 zcmZoEXepTRKsh9N#p6?pk2^9jFt9M_F{CqOGL#f#7zQWj=N16P7#IZ(Y!+nv#x_}j zk#93Q$16@|c0-@Zwh|JXd4xjQIMnB^QaugS4iu3RN^wcb$xi}mLKc>oyjFsjiNj&@ z9tkH#X6{S8lNqJN*fNze8=VU$%SuVWnATE~Ogs;Oc5P*y%&j05cbdTi*-g3mE^yPa zxj8o= last_zs.zd and sl <= last_zs.zg: + added_after_leave.append(s) + else: + break + if added_after_leave: + segs_for_zs = list(last_zs.seg_list) + list(added_after_leave) + required_end_seg_dir = Chan_SEG_DIR.DOWN if last_zs.dir == Chan_ZS_DIR.DOWN else Chan_SEG_DIR.UP + while len(segs_for_zs) >= 3 and segs_for_zs[-1].dir != required_end_seg_dir: + segs_for_zs.pop() + seg_highs = [s.high for s in segs_for_zs] + seg_lows = [s.low for s in segs_for_zs] + last_zs.set_gg(max(seg_highs)) + last_zs.set_dd(min(seg_lows)) + last_zs.seg_list = segs_for_zs + last_seg = segs_for_zs[-1] + if last_seg.end_bi: + last_zs.set_end_klc(last_seg.end_bi.end_klc, last_seg.sure_time, 0, last_seg) + last_zs.set_end_seg(last_seg) + start_idx = start_idx + len(added_after_leave) + continue + # 没有任何线段与前中枢重叠,确认前中枢结束并创建新中枢 if last_zs.seg_list and len(last_zs.seg_list) > 0: prev_zs_last_seg = last_zs.seg_list[-1] if prev_zs_last_seg.end_bi: diff --git a/web/.DS_Store b/web/.DS_Store index 0904e732108f82acd95172eb431291766b3e2f86..d09bf350775e1b140480d76fc6a03ebc6c7930a0 100644 GIT binary patch delta 133 zcmZp1XfcprU|?W$DortDU=RQ@Ie-{Mvv5r;6q~50C@Kk(2a6RjR2GyZ`IHuy6m2YA z&deyed5^#hCdRhO0>WaGvxT2bEXr8S&cPwb4AcPx0^C5t6=c%J!tczJ`DHvo<}xrr O>;PHIusNP*4l@9X#2AzS delta 311 zcmZoMXmOBWU|?W$DortDU;r^WfEYvza8E20o2aKKDhrYa@);PC84`gwgCUh6ezPEl z7|Uh_j$Y=)>>L~u8(8W=%D5Tgfv|v~5?Lujd``MyaB_Zb0Z;|dC~r^PDs%H)T#|C~ zlYlBXnw7piy;O1B5ufT5xN0N9$_p}(osqz>nTKTt6XTD`32b7Mce6d&?9a2GnM;Bj iXrC*{`#>*#XP(S2;yKx$hl2wc0-%s#*c{I@hZz8uc|xH8 diff --git a/缠论.txt b/缠论.txt new file mode 100644 index 0000000..5d5c8b4 --- /dev/null +++ b/缠论.txt @@ -0,0 +1,43 @@ +### 缠论中枢识别核心逻辑(按代码实现) + +1. **基础中枢生成规则** + - 从第4根线段起,每连续3段已确认的线段为一组;方向严格交替:上涨中枢 down→up→down,下跌中枢 up→down→up; + - 3段线段极值须有重叠(min(三高点) > max(三低点)),否则跳过本组; + - 中枢核心区间(只读、扩展时不变): + - zg = 初始3段高点的最小值(重叠区间上沿); + - zd = 初始3段低点的最大值(重叠区间下沿); + - 中枢极值(扩展时可更新): + - GG = 参与中枢的所有线段的高点最大值; + - DD = 参与中枢的所有线段的低点最小值。 + +2. **中枢扩展规则** + - 若下一组3段的区间 [zd,zg] 与当前中枢区间有重叠(zg≥当前zd 且 zd≤当前zg),则进行扩展,不新建中枢; + - 若本组3段整体与前中枢不重叠(例如已离开后新中枢区间在上/下方),仍逐根检查:只要某线段与当前中枢 [zd,zg] 有重叠(例如离开后的回抽段又回到前中枢内),则将该线段并入前中枢扩展,不因此直接新建中枢;从第一根不重叠的线段起再考虑新中枢; + - 扩展时:先将本组3段并入(或逐根并入见上),再向后逐根线段判断;线段与当前中枢 [zd,zg] 有重叠(线段区间与 [zd,zg] 相交)则并入,遇首根不重叠则停止扩展; + - 线段区间用该线段的起止笔极值:seg_high = max(start_bi.high, end_bi.high),seg_low = min(start_bi.low, end_bi.low); + - 扩展后裁剪:中枢参与线段的结束段方向须与形成时一致——上涨中枢结束于 down 段,下跌中枢结束于 up 段;从末尾向前 pop 至满足为止; + - 扩展时仅更新 GG、DD 和 seg_list;zg、zd 永不修改; + - 下一组起点:从「裁剪后保留的最后一段」的下一条线段开始,被裁掉的线段参与下一组3根,避免漏入错误中枢。 + +3. **中枢离开判定规则** + - 向上离开:up 方向完成线段的 low > 原中枢 zg;强离开标注(非判定条件):up 线段 high > 原中枢 GG; + - 向下离开:down 方向完成线段的 high < 原中枢 zd;强离开标注(非判定条件):down 线段 low < 原中枢 DD; + - 有效离开(触发第三类买卖点): + - 向上有效离开:up 离开后,down 方向回抽线段的 low > 原中枢 zg 不进原中枢,触发第三类买点; + - 向下有效离开:down 离开后,up 方向回抽线段的 high < 原中枢 zd 不进原中枢,触发第三类卖点; + - 无效离开:回抽线段进入原中枢 [zd, zg] 区间,不触发第三类买卖点。 + +4. **新中枢生成规则** + - 若下一组3段与当前中枢区间不重叠,且本组内逐根检查后没有任何线段与前中枢 [zd,zg] 重叠(即没有“离开后回抽回到前中枢”),则当前中枢确认结束,本组3段生成新中枢; + - 新中枢类型与区间:后中枢 zg > 前中枢 zg → 上涨中枢(down→up→down);否则为下跌中枢(up→down→up); + - 新中枢的 zg/zd/GG/DD 仅基于自身初始3段计算;zg、zd 之后不再修改。 + +5. **中枢趋势判定规则** + - 上涨中枢:后中枢 zg > 前中枢 zg(即后中枢 zd > 前中枢 zg 的等价表述); + - 下跌中枢:后中枢 zg < 前中枢 zg; + - 盘整/扩张:后中枢与前中枢区间重叠(后 zd < 前 zg 且 后 zg > 前 zd)。 + +6. **大级别中枢(扩张)** + - 多个笔/线段中枢若区间两两重叠,可合并为一个大级别中枢; + - 重叠定义:两中枢 [zd,zg] 有交集,即 (zs_i.zg >= zs_j.zd and zs_i.zd <= zs_j.zg); + - 大级别中枢的 zd/zg 取子中枢的并集(包住所有子中枢),用于显示更大级别震荡区间。