From f92eef11fb50d583e31e6b3d976de48a26b0463a Mon Sep 17 00:00:00 2001 From: YuWuKunCheng Date: Mon, 25 May 2026 02:16:35 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- btcusd-300-1761327300-1776327900.nb | Bin 0 -> 2400144 bytes btcusd-300-1777649100-1778398800.nb | Bin 0 -> 120000 bytes chan.py | 4184 +++++++++++++++++++++++++ chanlun/Cargo.toml | 10 + chanlun/src/algorithm/bi.rs | 821 +++++ chanlun/src/algorithm/divergence.rs | 139 + chanlun/src/algorithm/hub.rs | 348 ++ chanlun/src/algorithm/mod.rs | 4 + chanlun/src/algorithm/segment.rs | 1726 ++++++++++ chanlun/src/business/bsp.rs | 181 ++ chanlun/src/business/mod.rs | 4 + chanlun/src/business/multi_frame.rs | 148 + chanlun/src/business/observer.rs | 503 +++ chanlun/src/business/synthesizer.rs | 115 + chanlun/src/config.rs | 338 ++ chanlun/src/indicators/kdj.rs | 204 ++ chanlun/src/indicators/macd.rs | 149 + chanlun/src/indicators/mod.rs | 21 + chanlun/src/indicators/rsi.rs | 180 ++ chanlun/src/kline/bar.rs | 244 ++ chanlun/src/kline/chan_kline.rs | 601 ++++ chanlun/src/kline/mod.rs | 2 + chanlun/src/lib.rs | 11 + chanlun/src/main.rs | 34 + chanlun/src/structure/dash_line.rs | 771 +++++ chanlun/src/structure/feat_fractal.rs | 24 + chanlun/src/structure/fractal_obj.rs | 173 + chanlun/src/structure/mod.rs | 4 + chanlun/src/structure/segment_feat.rs | 254 ++ chanlun/src/types/bsp_type.rs | 99 + chanlun/src/types/direction.rs | 108 + chanlun/src/types/fractal.rs | 109 + chanlun/src/types/gap.rs | 51 + chanlun/src/types/mod.rs | 9 + chanlun/src/utils/datetime.rs | 27 + chanlun/src/utils/format.rs | 14 + chanlun/src/utils/mod.rs | 5 + 37 files changed, 11615 insertions(+) create mode 100644 btcusd-300-1761327300-1776327900.nb create mode 100644 btcusd-300-1777649100-1778398800.nb create mode 100644 chan.py create mode 100644 chanlun/Cargo.toml create mode 100644 chanlun/src/algorithm/bi.rs create mode 100644 chanlun/src/algorithm/divergence.rs create mode 100644 chanlun/src/algorithm/hub.rs create mode 100644 chanlun/src/algorithm/mod.rs create mode 100644 chanlun/src/algorithm/segment.rs create mode 100644 chanlun/src/business/bsp.rs create mode 100644 chanlun/src/business/mod.rs create mode 100644 chanlun/src/business/multi_frame.rs create mode 100644 chanlun/src/business/observer.rs create mode 100644 chanlun/src/business/synthesizer.rs create mode 100644 chanlun/src/config.rs create mode 100644 chanlun/src/indicators/kdj.rs create mode 100644 chanlun/src/indicators/macd.rs create mode 100644 chanlun/src/indicators/mod.rs create mode 100644 chanlun/src/indicators/rsi.rs create mode 100644 chanlun/src/kline/bar.rs create mode 100644 chanlun/src/kline/chan_kline.rs create mode 100644 chanlun/src/kline/mod.rs create mode 100644 chanlun/src/lib.rs create mode 100644 chanlun/src/main.rs create mode 100644 chanlun/src/structure/dash_line.rs create mode 100644 chanlun/src/structure/feat_fractal.rs create mode 100644 chanlun/src/structure/fractal_obj.rs create mode 100644 chanlun/src/structure/mod.rs create mode 100644 chanlun/src/structure/segment_feat.rs create mode 100644 chanlun/src/types/bsp_type.rs create mode 100644 chanlun/src/types/direction.rs create mode 100644 chanlun/src/types/fractal.rs create mode 100644 chanlun/src/types/gap.rs create mode 100644 chanlun/src/types/mod.rs create mode 100644 chanlun/src/utils/datetime.rs create mode 100644 chanlun/src/utils/format.rs create mode 100644 chanlun/src/utils/mod.rs diff --git a/btcusd-300-1761327300-1776327900.nb b/btcusd-300-1761327300-1776327900.nb new file mode 100644 index 0000000000000000000000000000000000000000..5fb16cb6b5f48bc40052fc260b88e51537df1476 GIT binary patch literal 2400144 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

SaFK&6;2#%^5M_NQLU>kY7Q3 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

Du7Gk4CW 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

UOduUXLGo4<7Cxx-p0I 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%0De!&LAiIRiM5A| zb[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≤AfB^PKj6uhGSO@E@vVGv`MFsL#YyteJnoxk_p@Hk_yfs)Z&t|8* z`q|XmH-md3Kb&}VJ|D()?{n8wZdbSPtz0L5$NQa8Cx}mVQ9ojg#+stDjx>>0=+&gf zOgNtSeEVpEYjM4)?}wj_ZZT z^U-T5Uu&gYtmV2`U|=t`bLjm?YoCoq{t@x%I@cFDS!Z}y<$Pwl&ac*mUSACSm>?*? zyq@gOZe(t|}#wE52&BMvnxguD&`%%@3yx{bMk4pw=7w;W&4a$hgJ-yCxe3h;et zvMzZmTFB*gYQFZ*oOuVMfgf9va&>%&6U;?PmHTgCa6MhS=8Jqk;$sZV$?aVzKF&gU z@X7~uDwo=Y{7&NIOw6a+SqIoy2f9gHR6Mj~YQ8zhzkxs#16^Dv49D$ZKgddIdfw$- zp62+xa$HLY;J7XO8>~@X^yPk)Rv*@7!<+9?k)Kbzs>hp{k9M$1U-TFA(K>hMA%Bf{ z#U;z-474zxz{@GNvE!Ma_u%`GZ;=U;vIly5xh6!M4B3oFK;YCU?7=N`(--RU~>=RrMypOBL{bv#t(6?J}$XTC<{ z6aSLUZy+B=yv)UD8}%oYPhsEE_sqh)AG;yHf_Rw=bzJD{?{6ai z9D>Y$j~3^qx`@?StrpT;ZC*@jQDqD8lbS;S+mDg!YX6OOv6uUQ@#?cnWZdb1{46NI z`q#PcT|YMVRtIUxh}p&uV;UfT34+Y`k>aonKE}f;w>w`?Y~Zrn_kq_dP~9r){dMMI zrSFFpo+nyn?_E(c1^GefMLz@OVt|7+OpYhQPClqzhv7}<;`v(N4}m5ktju*cvbL7K zD{IGg)pxirokadK0PydWJs_YxoUEOsh70n|=IHlCW1LT$+>tn$iwKSRmdpu@m3-UQ z_0|Rz_CbCL1n}>{EzI?Buy%2>Mxgj;Ay;pV?^hA`-^m{IB3$xH>$@O^+{9{GUvb{g zyYc&)QipRZ2-KUoS!T1M^0M>d#lL{OfjL+Yvg+Kv5uk1fWXRelDt>YkV;8U^aqZ47sPlZ4eb#%%_T{(^_ zQtNmqZ`)4FZ088P1JZ&_opvYcUk? zWq3IqLiWcbKf~u8({T^fL}>@tt4S?wk={rew0mC0PcNd7-vfars#+-*4P30s*Km`M z$esSR!-D(E^!E^GqK4$^VHtcC`FW&j-410GU5N90Gum+7##}8cYXv83H4kZkCoucb z=lPJgL!b$n3x5aIMHM$|9qz~9t}R_t1n+-m{7$^gMLnIl>JHXAF4A&aZhiBl>|5Yx zR);_nwXKwk1}4^82G-h6(%R!<%DH}fiTqFqfahG)m0UHA`C4|;8dqlAOJ95)`D4V( zT==_~t0vpY@4H@|*|R1kJq3PN9^(CFy@6o9u9dZ(gS1X$!VP~{!9>xGmG_0yWsxa~oAkai(yR3Uy6(8gx zU;Xq~JEIoh{Oarg2%vupb4}%P0!{4Y_$m#YU8eMJN03h=K1B8JWUjh}wLa%fBVLEz ztCfWOkHpv4WL;;iZIH^o`ol{96iLSG)j7qXkhwpajLcPHPEWXV*W3Hi#mA(1h74zw49=u+fSBdyW9T;=p}chXo*ijF z;`w4;3Iv)6)+rYu2G(E{%vnpc%y*<%fpf?o`Z5=4IYCb58|kEl+BN$%W%*v<=VvEg zja#WYj>_{=iO^B6Cr`lh-TW@ZtMirGF6D7tn0Ps*i%&Q;>KML%JAWDRCL1kRG<2}~ zqrmv<8%WExA6_`cAFr?G-~KWefmqJu)c5Gq>S)^{U)Kjd9eeuX`_-7QB|mR%5BbuD z_344PW+Oiq0@$97l#2!$YgTW5TrK>>fUQH3KLr5vZ(**Xm9@6UTF*pUVdTiZ?&4Q~ zUr-nVIG%7WOtPKVbGu?g-R>4Mw;f=$HB+`E3% zb{*hE-YllCntUZH5qZJ919MF@k}A*BA^^+qe)8Nd@Al=p2E4r~aRDyOfj6;wJz5{l z=SOSav~GC*vd=&-8W|`TAr4k`d~9SP?-Q}|+|MuZ{Sf=F5Ww-x%3QFMmB#_s37q@X z?%d+}^-sVrEC)d5^+T|odA0rcGoLf0bc}7oPUI7a_qRz-@^ww@<$hnyf6d;#iFiM| z@N44L@t~n>S663V`dszS?@XSG_xlS!5wAF2-Te>=*<$O{x99MDm$8WIYX4Kmg}NTeJ4kaiZWT2&|1{)pLIBI>+Q7z(wup4L>ELhd?Do7{qms032+grT9STusT05@|XQoWw~*D9T< zJhI|_+m^>y&? zn+#msgLwmUvOn+fv5}qfTpe15=k3!9c?a<_7mZ~9YI~N))k4kk-P^bIF!GOy54KT1 z!t7*KzPXWnP3yqp9V+4d+7dhhYofVg_ zub0;ez8S|_%&CRvqb28wZ){~wsoYOQkcaY|e?Oa$W3L_frKKS7o)^^lL71$>2|2DJ zuLEbV9gpXurTvKyG;%%I&8oIL`MvpC%sb*8YmnbXyj*XY->=5)+d*^0zSu6BvCn_{`#l+x@c!$oR#b0lXHKoxKpT6x-IhP)`DI?xOytvv4>HNR z9Dji10|n;he?}eD>o>vs!LP0pulj4`z&d;%8Y}M)=I0gR=lLy5fL~UX>S{mHJYRB} zXyG7Vy7}&xujb(Mh-E_{@a7_vmJeQz$7~?JSju4Q?}zaHkYz`RH(Mze9Tjh6-_AnX zAiQ<=RM!~bm*;{2e!olB@#um+RH>DG-ll1LZg$7{z~$Hh)VUwg&P8?6OfILbM&AE_ z^+q`l;{3q!l@Ms6t(9`oUUF@m>}6hHOS^3aKH>Jc{2uc*u6MLb&cfQkL0WwCruQHI z#OLWN8bF|l4zj;a8r4NhomGyfRKD0xCBFR~`3X>f@n~G{BC>Fzvx9v3b~#M9Ug7oL zin9=CDi>W`R2Q9$ta$YT+rz6Tqi*GSg5z0P6uc(7STTor3-vjqvNu1gIv_OlCO+R> z**6Opo`r*X1_Sluck}O$rJ4sIzm<5Ii*PH|MQ5i}7iqDPKmU2wg7dK}UqArk_fRgv zP{4Q8SlOFj_H^yI8i41ERV}ElIE#rn^*w~~ad$T^gfcKlTOk&{;B4-g-wGpDqzg}vN9LmY)$HgDD$_%&H_(ZRsJH3}@Z zwUrcpFM8UBhqaLJ#JTLRy^ZRkwe;=mEfX@g5%NokZ*O3(z0TUsB$asc2UqLw zEG6;&bj>X&!1nCny4rq}m!G%c);IH)Y{&7htxJ5EOY(wMZLi^!n?J_33+ZwJ=Udi} z1^~80$}_c-joa}&ocTrGOXr?W@kjo9;yX!RZFlW8=A|!D%Xe}Aw|M{VC`i2Gy32l* zkFZj^GN(2z>iiDBUq>(EBP16o)$5rr-0$m)?p61Y-$1PnAr~VSz_=mB`Um(7lllkr@R*S|O;Udj@^4YXzP4N0;y&nWHzbd)z9;%CQot3@$ zRiPpuU4I1o+rvT?nym9>|JwU3ds!p~Y# zT34K}SpNY6P4vcQpnV*ykp`*c&7VuTg9~2I1N?@zP|!rAo$FCl&-8LU`L*$9D(2mT z{6gY;S(#TFX=2~gf@&7kem%J}VA?hf?kr=QHnvTv#c{HDC%fu|h4H>v78Bek4Qir(i2&bM#sM!c%4aj5+_%m`&4 zt;W(%i<5p|iaZ|RG!bT^+^dT3YQWt5%rrW8*`M)xe$zwZIfr&0ti$o&kwtw*jt*(_ z-45V42Xfuc^)ShG(%H-N>GJ`xyPGE9`E>InD8Ttka9wFz={wjcFITHXqqW=8kpGGJ z4m$JdxTZWGue3Z%s$9r;e+u|5C5Ts_PkqlF-P}H$wOrvfF`L5wMBYk#xIxxUtZF>% znXjUq8tz-fg!~TT+k2SnAhoS7y@qOj*3ddXU>d$(vE?;*xSpXLt{>!b+9QVR!H8;p zbvJy&+ygj2ur-wOP7cgry-U8Mk-g+US0Cu{--g!%TjvqiS&qAl@thH0C?&tnAHy*v@|(HW{C{ZcBv% z94|GltMk`?yif3hji*+;NB$e)!>!Es@UW`yL;6O0qVp}S^DFS%a{vJQiR5|-=9Q0h zk+0ZqSMI(KiXq<>0yy4qE}}H5|Hqr})(xuMX-_2b%ZXPU-u+zQ56z{B%d1Ln}5l{HppwQ8g_ zOZwTCuPlfBObFm}$$n*BMBA8;F_Koelu+S^Qn?!F&?c!MoTep!jHcdM59yn}ElwJsr@C1QX>V zRq_LsIw&{J7;*DLJvZ`;i63ZTKHkXMPiGydk@^qZkT@=Z_&*_l=iL~iI$72FVsF0x z`|_BeB;5X;wTX*2F(=0>1_<`?ZqjVy{oF@S;rN{+nRjtLL1T@xvc}s`&7aRUUwSwR z=U1IB@UT9tAYW*Vfqj2oPNfFh26wrK^QC(W5ZB)>>r(q_>|@=e#;=!;p5y+Ed?W<$ zegWs+=jwf|%**#U$_&_Ct#os|U*5Zp_`XK2$2wVi%l7Qe@51}V|J-6e@_!SrxL6nS zJ#AUEM0Vr<2J85I>gz_td+R!L-s=++dE>QvBa;S(AwPw9b)BlNXS&G#!&n>CuhsZK zy%EU&OuWp6x-L|{2lF}4b=f}Ur`N#mD^0x2z4wFNG>Bon^+18Y50zhRbNuW=9*+Q! z^Eka4Zb1&N-%x=6chP6dwYkXe=G=feTxYph!*tf}G#>NwllFscD{n;p9TYOJ-+Bt> zy4hLf=c(#g`q?@R=X3VACZ4ZLHT8SvBErJF)ZoDTKh^Tb`I-F-h*$L}x8zV@xlvBi zBJHLaBZG1NeE$v31=suNtWnC_$d@iqbnE+kXMsOZ4Fb3>H!|0U`x8+n_Ps5nIgf^y z-}a|3^4I}f&s(`3r?V=40G53;|Ejz9_kCO%`J?EC+%LQu?S##sA35(5`n14LzX*KZdZ^)-xd^v1r><{t zw9w9&>-odbO8bzXh+bGcl#6hwVHWmbR#fxTRlVj$Clx~e2k>y6?Zh0~*;zYE-_b?B zz>WjE-gMXi{5Qpj>*%1|dtcZ=wv+dX6*jDR-85GdSIe39*Z$(Ck$*{icgufxjeR(4!A1#vuAiO;{9!W`pnqBK zW(E6&4|kw9-x!t4^JrlX4yDTt}mT%HvYmQHPo)8_FR68|Ox@M|xPp4AQ$u z3qSc^OO^GsFuC!M*y@8gQ_0~4!(Kbnm=nS1ZQIyt#L&-0jH1wPOD$T1B0 z&cv(jhu2@`JY~2Y+nGg)!!^=IR7L(P;?;KC&4hK>{xnwh=3B2XgvIz)L;f$Sce8T6 zyT;nh@})PQD{%h)g|DXrf27$zwv(dcp>7wbq`qRzpI-yjJ)~bvEazh zCGh#e@hGZuo_YV<+Qxiaoiy-t?NU3Ibwqw6@oi;)?OjwCZ5&xNf5)uD^9f3$X97`uX>Z}DZsnhL7<72M#@ENH*2Uay@Rw&rH@}dUj7yG z84zfql}5Q}ZD0-Mafp@<^4b6TaOCx^;mH310rW5XZEd8w2(ht-T1W#&?w!FtW7jl`8=%T)quZxZ(WA`2`Iqx zM_E_TnVK4zZ^l}{ze?`nDHVYKJ|7g|y+A{jx@cl$FSn1P@0YIprYF8n@_l#Wn`&Hd z?qXHjN3c%5$>{(-YHbty21e3QpS3p(+3J0?& z9wWw}vMvhg>88jl%oQ)ANb< z!x;OQTHM3Fq?NQxY|Gapjy^*E8U&gsDf=sFLNHhCmbLEwV1PxXxaV z({#h{n?!>L__H~QFR5|8tb-N5b?m3CMq28yUUN?;ygob|_GKFE>epkv8sW9eL0`68SR_ zKtG&|mNu%3+HTfHoNM8qhhLi48~7iKKmp!2ws2h?4;yIgaqot@w)ozTl~wTi?Z;^J zB2cGXbddcAIN8hNZOGCRE6e?g*GoTcAwJZ|_0}lRK0q!nklO{9_`XEJ>kW~A&UH6) z!6wN|A4I(Q?+fEPotr)m_@9~+&pEuuMD_nF_JRK)KMNH0cO8A^e(z^zU!K*{_uaLk zA9EvriMVPOu2*xgmXp2$`%3>a70BT zdOcZh?vR{`HONI;|6u*Ad7BhKem?~8`5cssW*TdNU~SCps@4C#(Xd&0k^c+@c<)E{ zr&*Zum)_q&zWVLwzm~SX0{(nQ;{838i~4rfsv2uOC#kkIIb>FYDp-N?XwM zk7~q^qP(gD3veFru*&aM$lO1CQ^U&-Ct&~I5m(jCTp$Xxt7>7b?;veB%l=i7NqB$p zi!asd%W*W&sV-_6SZi~;a)DP*t)FoT`JTkf-1{DVWyx0;)UNu2d(q}+xPSe!p7hA%yBpB-d2O|H<5* zf*j-n3eD&od-)UcQ>h;4rd)*Rto68GQJ;N{_5L@H9Kh$%7k&W%-hb1W3zk|#^3vDH z)@a4+dl!LscZ@1?dc)yz3{iy`t=*g+aZAG8zxzIu!c$AVkF=6%9;i_vbR9~cL*}?7uCFm zW+hIv5~KlBV`6&OOa}g9b>i_V0^7C5#eu5rsF{;|-5c$n+4fWM4{=KXgO>b}BzKIY}szEZCD<#~Ag zxtvCPfQ}u(`bPmZ*;!jL-{9@7tsigW@$mAGRBxrry3}Sy_AS^K`!n)m)2f4k|E)L_ zGT&dbxR`6qoRHg5jRR}X>nm@cJ!h<=id3` zc243%dlPAc_iJj7SY$!|74b5c^TF_ZlR43q)xWCm>ULer1Aj#$zAFkWr?-c-t3i4j zX_EyPmhCBs=c6lgApnkZ5rbv$ky86`yWoYBx8z&?HS$-eE_2b>h#>55R@P`%< z&3Yc-uU4YE%)QU0x>=a-!^^E+=StNqrC&$B3lv};-oy1M zJF7)%PtNN^_ju6aA3R@NTLu8E4>xl$l8cnu7h@l-LdcB#XQtr$sMl_z7cv(y2C8Si zKj9)@YeSye+L_kCU&lKr_AU88uMYk@^j1e zTVVB9=@*mRA)mm!P4XtzZj$Hy*!*U}mY?rj!28YreNB814|9F2tUYA=-s~$Ihb<3V zh4Uf*`vkxj&tKfkcV|w$7i1VeE^+f8c)##Rd*ZtrnTwMBD&Ldy94D52c76K}`9;J> zx|okQu__;HAYZ*s$pSgGY{=h)0KP9bb8%c3F*f%7t)%6SH&{6}4bQ(fYe4|dUpN;7 zu#D}Eto^y4;(l}bl^RwM`4Lp_@8Wu#>^E9t-_J=}?)}!=carh*-uxB<=-s#%kZXw@;cyC=`f3O`%jn>KM z-*4P^c{d*4{&Y}X?ib$Uc@)Obt~W2I%7)}lmlARQ_Rq(hV;SnQKlR*B`5g0irZ*S( z{L2%Zg;RVlo!j@(P|Yu1OugOpX*lwe!NYQO%wfGt?QLN%_jli;i9M&Z`v>{+#Pv3D zy|;_CrzVx#6=}cE-sD_8;BS?J0vvBWT#u6NdOE)J=2w29;n(lu^X^;yp#bZT`|)ZI z1M{rr8^PN0F0FLrcM4978^x>M|GI9L#soSi4zCb5E!mdTIX)7wg0O1)QiWL z?^wv310Oyh|AKg#d#^*){ach3mur4=apmU5O#*(Tz8GNml4(cdD1o4$d7owzJD1!ygzKfJX3oJ_B}1A=I6#A3Y~w0 z|GwZsMdCPz^Q3IoL#jM(84K(>P=9nYkFQm`t$ZwJbpenz?_r0 zC^u_Q6ll-h{QB3jzZ}o_0r-bs<}e-``$#)$PxeIu3*5}PYXS0|s2`b&-kRhrti8Bh zo_%{BJv`YB`K83GtJ2tM{O49w=9OLF#klZ&6)wNjmcbcpU0|I8%dPKjeFj z*Kd#N60gqdgCwuc$BEpoWVKM!sKvSKFJo!jbjgu?7XiL@*9Xx)|gL`;}~RQFF$|%`VA7Noa>DIKTv?*FY<6b z$;cXSXH7)$(TaC$+OgNe&A|WN7`^v*YSg$Bvhe1A9~?O2xP27)X~fHZyuVkLphJx7 z0mVlvlK0(TH*}n@`1`__x%cnrNKT}hh|hhwcH_n~=K}x4kN8w4)&lz_9Zx9A@G0*+kr*)XJ8%VU`^)nKP+6O;G05AfPWSU z1>ikj*5SQQ8~b?93-&mavM9U`@{^zd>&MP@rE%0Rv}4}qVBVq4_u%>Q*-ymFT&-`# zi3A7rB403b36bEVc zg$05VL-!%SgLs(>wO{gjgx@hX5bx8g#rfr<@cjGyHSsbRgN;-dgG^FsIp+5}*ALrU zc{K1ZLWx(~S&HJbsQJ6pWq%%sK85@|;u9Sp@HtXszgfNcfjHV?+AF+1d2uxhmulg5 zgIui1PE_;FJHCV8HN@vlFDrwGAPM*0ouWx^K{dZz_s`ekj^#uC z8F)DEX_&+D&Bhuhmm{_I$gn2vgYm$>ZAM(2&YU`)SYTM!ZNvMocX$Q?UiOM6g4|itqom#(n@9TJr{5s+n z8o0h#W1a10O*fL(dolI9Qpd*VTGb-p+jSY~d@@ zjCg(Z?{4DLWxtA_=iv6V82I-uOJ_H)lj8{T?}%TZb6xTCZPKFvf9GtzZ`)1){&Q>e z!tSBmtJ5Vv-9>rjDaPo(UAX;xUH}37-Yn;0j*04CKhuET{Pg^)!jGqqME(YNP0X}2 zm#(o+vu5!%mf9LF%l=*Hjd-7GP=M`0_N#P`{cY%fW zv)oy<L?FpDj1l(;Zx2XqTK(dX2QW ze{K8EE#diTe70~1;O}vmWL;{ym3_Js)qKJFO|x zOl8C8JKY5p=73w7qycDm3= z-sef1n|+o{M1Bqg&=2Qgv7PGPIK*K^&ii`VWyx*z$@P|(C;EPtWi z{ymfzKD2+(=Cg=4-`s5ehl&RT#}bM$H{&!3e0EzoAZbG zgUgUV2_DWPR?K0)cd@GdaW1#>i5|D2TF$e;=Pg9sJO^_NJ*-~uMsI$4^}EjZZo~CV zeBLPV@Ht(WXX*ku9=ii`^XXxariK<>f&50|IETLnWx+bEF9+)ejkL|bM-Nsl2J`>% zd7na{37LxxI@QG*E33muTIk=PWkq|x20mXC2;lEcaV|F6sIGojT{x`dOOLodq2Uf3 zf4=Duz~3X|Tx_sYU99m)6{O{(=RI?c#^YN)Hw2nkYvlSyE9)BO#CpyPW}n((KqA~P z$LB8#0Q`L@&c#L#SR9{$Rr-Q!w)+e*>_I-B>Z;!@h~e^Zv6<~EobNKEL;54+_j2yx zx@zap*sr&e=JXv`EB?wxvZxtc0TbL{!e4%Ga!KeJ(PHjiWA7=6(;0@a8JR(08Kt&RB&%m=LR8@am8I^YZDBVOiWi{!I<^QV)Ido}HW$E$+fiQi%c zf#oRP;bQM_lV&#`eKf&}$Nz$BiCb^r`gRxVIys(gM)F0ExBcx?m-5Izf&l(rn}>3- zo%<78Wcw`|<$1p@q#H-!`L|FI1TYRG*u7=VGJOl}6@Qaz71QHu~}O|5^cGxFqo_JzQTcRh_rL z(kQR9B*&{M?}i}X4+1!^%YIkbsV>xY=wi-8wuIhVccu{XJBeTHVs43Shg&W7li?&S zva0I67X9xd|Az8KvfrhGxkWnb5*Mj&+o(DDb1nql&=LYoEHzT@z22CI7IJxB@E?1s zO7FL?ke|=FMb@RxwXsjvN&VjcbmZMpJf0h_K>+7pr>whK=gD^RyqY6__`|Df;rUB^ zkt)Qi^Q~Gh-to|K%%AT4^z_r^p2!a--mY`MUf#-nz5&(zdcxDI4-dlg?)V~y!NYir zn1fnbrwZ2TCQ?(ih7tWY3;@1pP6#sp{_;$&i;+g=N3ohK*M2d4`)cIFh?lt-uQ4}V z>S!nVdh3JpP3VE^zvv1G;O`U3`XoEmy?(4*<1m@J=!D&}& z@Uja-@OrzLiMYYC-w`fumuz7j#(AAv5kJ=*jQeA;@x;qqD1NAe`Qd`J=x?t>^!K>E z6+1)xNS*6rT&yGH@R^riU>9jsQ|XW6o8t9z z@n{HOzR1aSwcZDtq&JWj^c-t=ZjXli7UD;8E=EaJpEuP_ys>+?JN1si{at+V=fun0 z`**8SHR6;npDq3`->@>kmuOD>FbCI1qrmuvI$4M7q=naqp8M1q_umq;s6O07xfrXl z4wpQyFZ1K89V$1x@gwq=0Lc8icVj)wkG8Om<#u_~W?Kz&aebDoK>Sz-*V807T4OKU zwXRtwW69tIN!Ao=|{)Z>Vv-vyHW-A&c*Dsdn89 z@Rl_2>!ASuE?#nx4(2-OtkSn$+^f{o?X8i20tI-#PsqB|4zm9)?0ft#cuM)|b%FN_ zA-;=;`R+E>PO@DD=MA-rtxuf0hWu0jV7^urcwQM_whZx+Cdx%G*?(sjd#M3i(wE&-rVxK8(wdh zYXb#%pHuRw2Iiur_Op<0UvlK-Qp?@Q+llXIVlGK?eFS^?o?zIUA5LD{b_@C6iC6Cr zD(!|iEVq|N+SXKNc&p{JfG=O2@+e#k)CV|OBQ;j}`J3#r9Q7Y`4*8+P#Yj%==g~Uz za(PYKn|?|AHy!z7#K&5>zS<%=omHNv654%Q61o!i#|n9%potNJ>tob%6wkROF1^Ks zgz3mf5I@w-{74&XH-l6YsWvmMYQrP&zDj(B)eyk@W1NdPo$A6Yd3jv4PAz;V?`84838<-z$ zV(o(hvJTBdmZzcR?;8h7H95S3g?F11g{!-79 z2@t^FW3@6jQnni?`4KkCEB;it)waf6kiSE`nkP-LP~AIkiguDOG=F!*g=Qy#FI9>7 zD2!n_Q{-|Y-Rvi%l2)xar)B6dJikhfAZ~(-axurqI^N7W%|hC=*_DolTAh(U00F!| z=G?2}T*Qe9+^%lrca@5@!sEGgPU6S&a>XPgbG_|S1!?OR`st^KaQm0;1c7h+t9kHm z%n7MYmmD8;IkqbDONdwXziiZ>;?%#JrTew|zCuJW^4O7YzSP~od}k+X*HqGSU3>i+ z8`cW=GIfdXip`*14;0YOR#u#igRfK19K7;vZsaGR7c%$$duW}E#EC9u(y(eXicCL` z^Yb#NnRjr#FAB8pz~d0ow^+RE!;qGEJcJgZdSAKxzINt&O1_tgeDRwz>h_6&@3;31 z#XBf`KFPTlDVVoNex#YaCCBRGdi)UN*AqWdXHGo_4w3C59F%`|_Qj@qZSndU`WXWF zyT+W0u{v1r!({(9_6?4O)?Bh?6!2x6Qr%`{P985}xSf48=e2)db!+g)2;^rIAFXqJ ziiK5OAEbVJOn=uW(+=cs0H6zR-NF1Q7wZ@&X<=LJ$qg4b0AH>g1TcP#L2YK%5jyJ_ z7irNZPi}0wgzs<5;T0LqUkBwP+RZvlXO-Kb%G0p03=h9Ueh(CU+h@Fyx#1>O=}Qmq z`uuE0e7-23h4^R#*AsQtF_NDp$XB@<@nYCAydIWs2LZg7a5JZLR4V%kI%&N|C$m2u zf#+{|2L$l^?g9agakGw>I!z~EKe2z7k85ut{{#X!-{taSu?&8Sjddz(&DH)jrj*9{ zPlcLPpJwO!EH|sX?uZ#y@|6c(3+wsqK;-dC<$JFkZ()AAn{|$nw9K>h1@zg8$RCHm z_x?Y@L3J^K`&Amcboq@5nf3x7mY?_uay&B(%&YaqyBqXZVA1L^qr(;;{|9>C`w*S# z-oKYA`w1%(_hR1cw#ct0UR{?bJ0zdVItc~74>|qY_76SJk$;a~$lQB>952T;iM42W zhJK>NF5oLRB7UL{0_`T6S;tsdZGyDil<4i%8=XUb1_W?_#28fV2j%7ZezQJn@xmQ( zeJfrjZmOMmwSA^q*|TczE_6K9rw7irE0rRCijnJ6Osr#2V0ktRX?gd}u^G#UAm5*J z+5cGCZ$x?x$~LM~?g1x|-%fmlPW`C+iTb_~+C_YU9hnPVJ&EU+=@9YJZpy_t6RW&Vsq1#e&*NvEI_3nvN-pBn z{)uuhKgz-yLG86qK?Q!gUIaf+uhInyaD9{gj!R9;!90l3f)6Xm$n{vMBu@zVp( z*lzrO)PekD;=TJ*r@Bynk{};6=+D+g3-(6-9Ptx4_s&b#lgLa)6W6LGoZt5V3f01ww48|J>}fQeT2JfG9v z2Y%n?ei6JLR*xfYl7;Ku{biOO#ZS+?yXd6TZ}I&=^;_t@$MJLv)xCZyueX2kZ~Ba0 zfu9f72qRwRVuq1kihba{Rnp?MuBQzi(*W68M_giJ$6XZaR-wc)f-4z(PNlZh(K!y=Tpi5WxM#Bzdlj ziGux9&WrU4KbW;vALJJiKUJ4?7pvOelkDXE?)XjWnRhbs&mr)gFY5eK*WGajJUFpE`N#}>u?;KS*0&jciH1So$-0C79Qbn|4-$5oK&^HrLSD)aQCXe z;QhMRDdOYo%&Yq~-ledgIX2SJf%zPn_jBJEoj8%eS}SPP-H%T^$oC*# z<|0{ga}bCA6Ktee4(;4<>eEW(os=hO~V)>xf2&PEz?Vo3Jana3di2?F>$NT*yR z*;waTSQAr8^9`(YOmxKid!5D*=pxa^^%NJYTJK~#`G9YKTM;G(nOFN&wM(Rav=6z1i&nnB2zd+hl*4f++o}E&+)#$!=LW9J{C-(u zrLc3Hr?Xt_XVZA}%3V+NY~#ZB30eu_W;?hZo5~u40_|fAq~#m_6Ea|559Ir%&BbgB z)x|73Ym6YR9@O~A!>7BE-wJ{6xhuxa+)T+!EpA%$*wz!TCwc(!GYyh+vQD!|&zj#l zbc5Z#4*AwlfcIRoKN9fMZOqRg)vo{W^40PTkC0C!-mY_9sh786uAMCN%hg9i+8}=y zJUp+-{^k04{VWsplPP*#ouXr30pFl9@iO;5Z`zqtKGUAixj$BViTp_7V_ejaQ0m>D zI_BE_EbrckUvYlk;2?N7A5$^+solcf?n2cbe7#mJ#ennSh6eDy=jB-ztf%p2^qQ+g z({kO%bVR;0*PWQd_oJu|yw09gJNc|$rGR->H*!73#;W`*D|+o#@|j03Th2iK z1$gL}a=1>|nNRPv$A`;i2wjNtlScK3k9RSbAXwuptnuWvk3TezUw(ET@)Mx|=ZWlB zonP@b=H>Z*X5Xay37@tje};I~uhKXx^L(Au4mNn`e{DoA;J+_Qyt;nIJD7`grB!Xk ztw(!?o_L7-pHP7FP}Wtyv*q~aq+&a5o&T@Lf7^8$`3=O+abgbF9}BCx|FYNIh35pB z^3Fy63v<+uE|N^l$4f8o7cVOZKb^iFujfBBW8TahUoT;MIoZqpKc#kT=eP9_%U{ zeYP3%l5f4j>tW*|%yTYMtW@{TYuIZd`R>HO#}-1~1pwUNEg)$$Nl)vw4~91OTlet( z)g&u(Mp@Tc)%}3yQQC_;r=w$!xX6Js)}3$A;~-7waxJ?r^pY@@t5nMmb!k zb+FLC^3w$Q47q>l8t)?h1J~V@d&fV;#-3GsbNK7Z#=V+C|INRL0?hxhoJL2v+1pY{ zYdms$5^epFpGlle)}!QhiQsVvet)IC+;t|)sk(T5Xnuuw^?W>52Mf!IGO~^()jnQI zh}kd{@4qcdLjm6B=pdl@bb=abVr8#gE0Q{X_lt(eTdA%%rI9Y?W&d9e|GlE>^C!sf zAf9u0Zz}usdTa*2haLN-X}*FuA8whE`0-}S#drs6v@5M@!Z;vX#v_A}{}Bqhh)(7D zI45hQ^ic-%+LJQPLmHPHh5TIbustaM|E;f{H>TFv3m0+z-0}hO>b=hdf&D={6Dxb| zmUHaS7xxbZzExGKD^5MvP0*Q_=Y^rrnXnsy_&%!D80MW^=i}Y?{jdob!@tMAsM_h- z&UeTk2Jfp+He=oQ`;hT2^xD72=Vq_>Gk#yLb?$WaiK$rk@jM>wVV?%84m*}659c4{aK2zUjh}8IU*qs~=h3bBzNqzUs>@v1 z<@lAKsS}_3-{)HcbKL~KjYj-T6Xjy2g;kxGGiZF;m2ttBp2oV6$1@AYK{?Fh43alW z6{J~{iVr2BFhplUBJ zJr9bSABy~K@GxJd9OijW$+=nCYmbNSYkgoc-d}#INW9{ds{K6Eh3&MPafXut(Re)n zG@N+O;W@yBb>Dn_mYsb5N*AgvKlv2-{ZyB^h%qy-_VX+wdhP45e3hPz#QWpVIl#kq zryQP(q^j*Y#{gw`zt`bxE79sI^1pxwj&h&IIFW<-v=vqJgmq}~wB8Ej7pKWp9oEB+ zoLBvdU;bF-=5gdboSS7`sv1A5_8{ND6Q57D2EOgL#HX*r?;lLue!77)=%-9QPbb$$ zemwCq_kM1p-aAfqBdejOBi>!&sr-KQgr2 zfcg`W|Cjh_*d4S}I@!s73gy~O%`&Oo$1cFPZ$cdBaGbf)a&X;npw~{1Zm@RPndZpH zfQQ_UIjBpjNve*jU6{Tg*Ugm+k-rWeILe`aBiOXwfL_}hlJk1Q9Xo;VP?qZIx<-ou zUiq1V_&s&>?VKUp`;-#82TwgC99YwEo6ZZA8w*UpRV+fKjw3HkZN z^LB>yv|(LscknuTZAYQW1scLXS_AxJs?RiI4&$=0D$nh;197YVI)4q{U;R>pxS3Yw z>;}oF^V-I+_d%N$;QOLqY{Vl(eB!!zLX>@UZdw=fr@v#N2i*PaH3 zr8ZoY8~9H70D$X&FtTNe3uP=M!Z$*Jc$ueV@3?R~Gq$2Pab=l#wN!Ta7TDL$S! z^<1bu$rpETO4ZlMPiJ0^Tk)|*h@l@Ir}p~!kh~XG5`QU84$rf)omwCE+Pk`&HV59U z4gLRGl6b`_RpU=ELfKEd{xs{*m8 zaVd7m>#TFlq*ZS%A7Sc??;pAZLZAzoixkPJ_m0U%X;|2D8XP{1#z{`J~r8irqv#?NPe8%4R|{^q(^>R^7Eg*0j@QPz*qu)ERX#r?<{aLSx+1BI#c~`=?UIvz33=^&R`};&_u}=u z>r3J}_x(<2p@Z8=EtK4p>y4cKKZl|EB zvGecV#^=G`{~~U&Rn}>Hz<8uzXv184u+gt-+xxeX-v}P+l*9Isx)4&#ml#pC`=%el zcbCWK<=?+jzBm|*4k@SmQTjIp_+WW8$^=*xQMSdvpoWuS!V;z3K=Sr*E%?`)9=?&^2znANBJWJe?(^=VT zw~uc*xz&yH?e5v20OObas`XupIOe3HzYNHqB!01x`%~w=!_9tyAgyR}jM^M<1Nfc= zA%Nd|axNChewANnCO)KRLaWCG@OSjUgpA~ zQ(dU{noZN|FK^YXM;oww{hyd39a;a92dket#46Sqs$NyDDz+5K}i z{Jj3pGQ`VVsP~_7F5=Yt>k=hLxnkE{LVf`82^Lwmv8vBQ6VUqU8L}JanZg<&zZ1Rp z^V1{))qVGOBl$e%{fC>2rUL(0CgKx0_l?I+oQQLi7B0F|Ox?d9`JW(w`4ZNwrrOGUST5z6$xS#B&bUb-BI^UCc}GH|E#wzu>>8 z*R%Hu;uo7`UFrg~upbs0QMDWXJ+3Yb!uNZ<-=xV^9nJ?Aa_acjKCI5V`B^wVZ}!pC z-SREIp>?&0y)56@`0PhfYb2G*r6si~;iyU{J%AKYj|{tkG!Z@EA~ zmpfV2d_~TO$~^D+Q&Rgi!1u4joX(uLe{(t?kSi$Tsn7U6t^Ww(z2iX)muF+;{j0sq zf3bnsp&@^O>TuZm-QVc=C>MHw>wD-d|bIEDdQR72h?TW&h;G*R@MI&Bl(b&3vUNl@biKJ6Cluq z+zw)wjp|~vg;nNxu1}dddGm1OPeTF5Z|1tvjVAV+45TFwH{SXAIDS4gun6&+TwLEQ zb%UGzCY?0kxN(N|8t0P(!y(YcMhE3$vz=9KU+Dunbt_Uiixc_v#N%0m?d0|on;h)7 zxJff!&low>AD`a`euezac-Ec_(xG?X26R-|He@@9WRglQ)h=eh&n? za9Nq#&vmg|XTJ{x{+_bwz*P6Vp1=>uf?n(ulzVlzoBbZ{C*QFJ-9l1oBHxa9nTvfo zb6(y}-e{ga-~O`$c?Sf#*rQV}Tqxk3^gp^-&;9FrSSl2qzslk0DCpupb)l{&E3lcLUcFJ$ z&VW&Fr$4gmu`0zWK21it5A_542HO`MRv*t65QqPCny z{tx06r*whjm!?v?(7QiAn>6kl-6C;4noTK?Is_a@}~ z6R+xPungl{;$U5&ljfUsw(yHq_W-5*z) zsD0rpSu0#J;`d=j-Y0&gPPtg+VqIZpUCBP{++wTt#|z*`Re^#oRtm1G{pIym%7aTc z-Ft6$7UV}0zt+P1CaG)9>^JJ9)%@Sr$yT=n@`oVs-A@(2E>-d-(&8@XuMz9;emy!D z@%WYl+bMp%J)IAj-tTJUvv`3azg}>CtK^j5!hGJEzxq##tB3qK;zi_`|3+JUS1)Vu_4Chx7y@*%yfbA}Br~Ec3_iuYf#&K?xbqDJ%UQe+Ht)Cw7e0Aj#tMU3Dc?-SR&)$v{quTj?+&ZqXGL{n-oe~% zsXL6)qxk8$7Y>c6Icp2{zX-k9<)U1WfZyq6zsp1#P;le8_OtN)Thwz1fH!bmj#un- zu;1k-&2Vj;XZBD$-p1B}0LCx4zSqX8=Jj%aoSe7&6}(Ws-)#Im zG`a`zYCf-y&+R5|FOO%FU+KHL3BQjT?IeDO&UK|*ZS1$9_~}7GF;)I)fu9dXe?l*| zVl&Vk2G%V`)~yy&|9~92yZ>()VVqF{xxnE@mo@#UoM~w=lh>=E6N1m{+*ggJm>J-V8A-ekBNhMsT;la@<6ec#yM}1ze{z_VgH!0 zt~hAV{oia9IqFt%{5*PEWvZ{1{VHAVDV#kM#{xv7i+AIb-p0|HfQck z2a-l0-x&gUpUVA+#X58I?5qw4X^yc!|2TCkexGXkQV8JlWzNMyC)LF~6RX2Y>VIf( zzU8$GApZga=pSQjr?bv6vL-NJHF$ROVpVbb&!`6l-~0I_ow-53k4`PmBL64xic68a*PE~(?St`7uck%K$ZsG%g>u+VI@aO)1a8)O zI;!^Xw12ub|MM5*zkr9&bIh0n?_f=Fv9j0h=J+epF}NJ?_GVDMtnbSzX=8SzP%j3(s-Tu1Pf`7f!Vc=PAl-U z%0uA$okOCNxpn+*VXY5uiCjW*WMN0_+NqSGmFiygtkxOZAz8a_{eoW;of)esV2| zE1st~UO#7_VBWy>S#H*u(%VzfYcI;5U!3($H{js4H7;??yah3nqmSVC1n!kjwqQ*`nn>rU4(ZwhQ*_77!R;ANje&&y~w}7@1G+ zwHH_HFE6~Chx`NL9di8^T9}_FSQnZ}gI1i^x2>5Dd_q+S;B!QatV?czjr{^Us`lh^ zqfE0B|3Q8Xc=(*rhPhAYThn^&-MG6Oj{L9|`NPC5G;m#g?yBy43v|j2;ko)gaa{&J zF*orG+?0F&-D1fJ`T1*su_Z&s_+>=?H{$UwjN?(dh{g@?f!&yEm)~r2Z@wFi{NKba zp&Z^zN>$s3@5|cr&Xwb=NllP{O+4ptzn1GE_pAIqoc6xM-m~90B7slRh*$f6o(n9D zYpz+UK-C^}8yR8jgU|0tQ@D;XaPw`fxYvDNyKgxw!WOke{(PF;$E)xAC2+eU2XfcR ze-fW(la0iy>!&)ey!Q(lkDe#@nD0wk2O-~^cvVlbfQ4}>FSYQ=LRGHxosazHboE4I zdOpF0UVC)#^T9{-d#<_u;Nkk z(GGk{MF8ObWnwPb!aBpsI+L|bnRZWKjQNl3>vOzZj`DG-#QP_YY&q;lyuZ)OL42Hpa_{#zVt5=Pj+YnEcvIQ9miT$-ykD5t zC2wbqWlqGVqSvmSuiGAjc&&Wc#IGnt1T~Fn>Jp2{z`FoUG}+c4uV4RjtQ_ zAdf2q`%7|j_4MuLn$TAYN)TO#n zwGSP_n}_@N0e(Rf@GxGC)2KXd)O|AO?o%ecZ zXV2}ly@zh^Tirbr`L@LIJO_A-QQ?R@~enfoYFaNh;ck9@O{)~f6i^OBpLa4 zX>#v)y}!GPu@HZ|YR!{J%CrG~X+z>;%$UPz?ScQK z9*<+E0>3tN9jm7`;2*hWxLbTV-8pf-b!gRr_)%|Gd@Z4j{h_JoH2B z<B!}-sOmz3jPpmtJ~=lP%Z;d1-w7aHLGdgXV_84-m3b=E{n zTGd`z*A@#u)dcxTP=MviajWB4c~))p{OKRt7R2Y@m1miEaDVFfOq4z;6?5%H_USjz zWXJb8tG)pb$D0dt*zPFkbyhxqwAbAdYQ%NFhWuYtSLc;?yIUl0N7YV;PG6Mo2b@2w z+6W%{HDV6)ZIm>A9`i?QAJ1{?AnxB)U#UJ%a`SZjA80RFrbFZe~p1R-T8_)k3v>SOh@&Bp&?$<6T!|(et zrG5-B;OEzCDiEI_$B~eVb+`|kq*AUq+w>aRyAQrUUo({JF0QL_B}kv(#$0=SaP6{T zU+{XqW-oZ?PsbdN3p=aV+t6#bzrD2o)3X!6ugwM?ILdu|oEu`uS+#rqTg0K|$C2;A zxs~hjD8TW32<8Rst4y`T?O%%DA6UDP>TxbCKz~x_NR1Vg=WjCiet8||+iRZ@Cv%Zt zp}O#T9lho`VYOapkLQ=OHuyB#&xCbY4vJ5+W}M&q$yD6G&gitch_k2Tjr^# ziAL7{_`K&HkJY+9Kz?mH&U-xAxE*`V`5}Hn!OV4$|46*|c-JL|0?Xs`So_?+iuHbz zBEYZzfpVTF!+E7Mm)^tkbs@uv4)}Tcdfb4%^H-h6-sKsvz4o?y!(|8CfuxY6SHov50-e8J$E$$0#47{IygSM{&X zH@;45o@pVrtJkL?zms_#1lPmBs;+PBwPS`AuY#N7{B~m|=4iR_zRJb?T;(n3wU;rD z-bt4>BL5S3;3)U0_j+X}{@SHcTRIQL_X8VKm{vQeQB?(sc+T*JgLs#}%2K?qc#4AqDU%c;g=G&-U`M2BV7mdk= zd{^S<%ke6mhZt^W%3*%>Xil`VB=RfL_r^ba1F72}7^(?$@qq72vlPhXQb^vM!{m_Bwj)_7!pZ?lydX zwY3j;;3rRbYbFbHO6w;v#Wk?e1=mD{EF+Sg;>M{O^69rztNiC3K3 z?q1K!^Ba7tQ;DfRAm533JNLW9!MfPSx$zU_QPEZj+lwPV zA#JYezWI%f+GQwst@qLfO_4uMyqeFX$n{oU-VcKEt-am3Z4cmg72*C})Q@)_nIOj_ zuS*$^xoYG%kMB!&g%h75*Hc~B=jz-(#eu4Qs`T-xScB)+uJz!3^Uf3})_wE(WE*tnOANs?^QOMsQUUBgb?%(@9lh#LjkTpEt_NckQ?d^_XmJ`45l01xA) z+^4a!T^yF-`BxvkE6=M-*#8saIfrpk9rmjQV(5nzJ`c*hFES4AM|*2>?%=vwj~RCM z@_l&K->%+&VQ7tf6!9~SvMzP39G_I}pO;tLw#knCapK3OG9N89LT4XkCaq8{^XulZ zrGej<9|GUsi<#h}y0AG|$D{b^#eb{XW)l9r^`86wKrhBSDfg;PXCGxHEjYf(i)*E? zBEK2}=$~`%--C#BF&}LpHC%|9)4=rv`S--j-23k=kJgzVZ6+<@AA7j$N&LRk{zk-) zc5pq~#5&x~8o^rO)Q=Zy*TDJ7{uxk!e~(?(qq#p3VSyO(Xq`0I%A^0z&XE)O%V~4( z-}Q+=4Eu4AR(bow4b#G|z#k|@d8Czc5p86RaIx}s&^|gxUcPr1-!~rU4+Yph7Fl<) zs_{jU*Sy~u~Yov|UW+Kh~ zZO*M%mPH|Nh5-If0q5So_c7SP{17*3?H&&bcbJdI=fPwM;P08}l#AgO)&UOI!A4Tk zA2|zs3c&ZJ2k%1we{ah|xfo+-RbKA51~nI-4${{H|4$X-hYRLLpkR9|>rftNss4pZ z#AV2W{AjAnTnu+HH^eDHO4m7fy*iYO zcxx)x<@OL(7yH4S=dcvc>&!b5`7Xq(@eV-@me*gf4kXpS3|$nPd?P>dI75QJPlaXB z;ZD~7_yVH_q?Bop3Hev)xJYyQcGB1E_~r8g8_xF**C#$wXD%w0b+lW07ipm*tNH}i z!1srTCqn?or{tz#`G0-QC&TBRs1b_%IjT<;%uTbgj zwXfAmjqTlbEAU5|8?UoYl>LvjvzMABEN70KckuTkM_WJv{(VKoNmctHGL_m@xxP0# z|3Z9!bu^B6o9xf#rn>O*X7t*jw=YxUC*uA0=q>Q@?=?~m`@skne1!BiK|aF|G3F(i zalU#ijOuvTKrYI~s`jtc3{|%#{PFu6X9bN>*=)E<*?Zq{qg(2$M!KVmmgu3 zob;np$rr8qZMTSWc)dNIoq5iMtc#H@Za0$iK+nEjM~dU;Q^z|Juj*sml5?@L*Z$2N zS0e8@oNpXo1O;6vPOY!k8>wA}0NcY?^IjwWocJitg}QEf&j%Zn;eGG>kH3Dtb`SUy zb-=@Rq#X9M5iEM87O;NWvmv|x_;)d0KTnJU4|OZ%K8+CUBWhl&xId+%ob2&x z3FH5?plH^J8D`|Mpo`H)%zZl2!G0vQ(>|N7xA}M9WaK{)r^Y+l#oP$lztrIGVm7tD zfZuOC)tLAZCg#+*@hvkhuP>|a+4Hn*8N7d;nnigZ7Z#xIX6<2P?QJDB9&B3vLFVqr zUxPpwz0F+jC$*Q0eJ??pVaVxvMeE`5nHma#E_yk*-kl`CSme-}~iU475{S^p`roieB?HKDlFiJA5B?Iv70gZp?Kt zQ1)w8yaRLX?fs^ImF_YL`JajV&;3^P6Uf1R(ny+TPleZQQt{&Y&kN?w;m^X5LsFQV|BduyLY%dCSX@>7B&Qym2j9YSp?2O8R=ti#{dS_na$%pf$vv0w}_Msf+9agOS{19GV#&XUItJ>q|1?L)2eX#6T z%{K<6a=XD6(qQAn`?C)>LmuzYu-{#j3$?$}d+kB9Q8S*#_eK69@roNJmowDC?WM0# z^Y_C|{0jqrz69~ZR9)&IGxI#p(Z1ZdooT=f{QkyyJfnSoZ*wSOX*|!DwAUw-D(BsY z?;p-@r8?)ZeeBFDKZLyYdR7Hb6C*yqTnHduZ5O59@tCN6V1r`9(gr{8xX_yWcTg^d zrn0L2#$J1Rd(b}7E*J8N#4B!?Rkl;=Mz7r|)ns{%?@l3q7d*^|4VZ&ESk-Y~nHyx2%04hD)_gM#@4uHi6F*RJ zeTY=$2c=S8{PJ1jhod;3zl3l8e8+_dRRT#xv{Hs;j!RDLMs+TB~r2edkd&v%z65fFCNtnY{XpAbMl zocpfNHp#n4bFV(KYTcV9T*Q9oG^ zR~Wl}?PK7tHY0w3k#g^K{Xaf)*`e-Kx+L@iNrR?bP}X)zNG3YJB_d{rnlo z-vkfGvB2D?Lv;3X``^qwDRb*Coq@kro;Xz>YGiJ(Q!4l4AJOl$=XiVMhcNHvx;ih1 zr1RRP4cqrk4$X+X3qUv@<+zoq@eMOV8QwqlnB4w?c^vT9vodeOTo-CyqqggiRLr%H zpDX4J+rJw5_Qa{{;7B9ZVZBkXy&V6Wz#*L+_&j@kLE2o%=Ly9rUwKylqQVb9zqtOC zc*QA|^FsN)LQ7p#qS3phvB2M`MSO$<1ePBu*JBKiL*U&R#_#zx$~GwM74l=5qa5b9 zQq}y{X2w9zYU{Jd`g|qwC(wJ}BiL+I7m+Thsi@lh{G}2fHvJ0x%>v+I9F+TXjPzsN z$m{;SPY;Xgor-)n;$`lA4oE-$)ILPU?8-PH4EZ(0tNKU_SXkaLC+i3^sb7v6i{}1_ z$Mek(RF}CJrKjTr&xiGZ8%rzx8#5hv_xHrB=a+F7=9Q1Mk}vbQ^Iw_T;e5tDllVx< zDIFunBlkG< zOuan}`MJbLOMZfrIh)QJjRM~XJ7M{^pq_~Q1Mo0j%3*!&_&@MGnVL@XJh*>;+6=t^ z-l@uU*{?cZhD$HsH&uN+FKpCrg^(XZyv)UD+5a%v|41V(Cr|F+QK!b?{o>AH;$<$z z=u{UxZ-8;JFMhSV<;?Q6z~9YHyy9$#!}v$JStA9h--R4AYS){H{BKm3$DvR<+Qj@A z8)@L<^LhHcyMp}R#E;e~_nu#)Z0zN70xrD2R?Lj=f9}49f^Yd_WWU2L%#SdjYM&AZ zBpk8(1Ak8g57#{-=5XBESx2Dwe0Fn(g*db@9r`FDe~v3 zuDA&n=A(>KU8L2wH91w>egydYSb*yq=ic|dkq(F2%;2&0mKo@=NTvyMfJuK|QQT%jMNP#CeYvTOy;c)aq z=0ZKU_iz&@q!#rQ5{+Bq`TKA`@jYb!N;~PycXg9$nZ9qiIiwiyk8(hui>_v_ca!b9 zIHk9dW}Ch3S@8*M+L$b(+gHc&3=I7mIuE$sd6q<{P~;M|6{4}pLDEd;vfGse&^1FPq{o4n_p zg|yxAo-eE~a6bQdJOsMRJ)ay@_Z)Sn)6PF{&(V6=ugK#H>E8Nv3v(M>tVdA%^q;fE zo^p@D`OlNW=skNKlzVPT-G$bdH;>Di`|{Ey$oEW}d#<~fQ~Wgt`9@2Qoh$dpNaWW+ zpnIz{QS3t>wn(iVQXl#GP|!VNu?(7GWBrd0U7x=| z^AQV>e@xt5ow+qGRIYj`s@> z7JTDa=Ayc1j)PVDDwP(l>0Jx2=bmFw&^?MT+o5EOE%h3lT7�DEPL|0>r>4=&W*oWglK+ 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 aup1&E9%I| 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

;9QP7OpQy=JbUA(Ts@nlWW&z~ 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

w}5hhM(^C~^Jg=zj;bs-3c7u4<<} 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

xb@b5wgNfkt^w4ZL0(gH6%wz8}>h(ks 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%0AwM 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 G>;He73I72A literal 0 HcmV?d00001 diff --git a/btcusd-300-1777649100-1778398800.nb b/btcusd-300-1777649100-1778398800.nb new file mode 100644 index 0000000000000000000000000000000000000000..1a4d49484a5fe9c78b68367e27c902b5d888d4d4 GIT binary patch literal 120000 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 HKA-#_hANCu literal 0 HcmV?d00001 diff --git a/chan.py b/chan.py new file mode 100644 index 0000000..9030f78 --- /dev/null +++ b/chan.py @@ -0,0 +1,4184 @@ +""" +MIT License + +Copyright (c) 2026 YuYuKunKun + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +""" +# -*- coding: utf-8 -*- +# @Time : 2024/10/15 16:45 +# @Author : YuYuKunKun +# @File : chan.py + +import json +import math +import struct +import sys +from dataclasses import dataclass, field +from datetime import datetime +from enum import Enum +from functools import lru_cache +from pathlib import Path +from typing import ( + List, + Self, + Optional, + Tuple, + final, + Dict, + Any, + Union, + Sequence, + Callable, +) + +from pydantic import BaseModel, Field, model_validator, ValidationError, field_validator +from termcolor import colored + + +__all__ = [ + "K线", + "K线合成器", + "中枢", + "买卖点", + "买卖点类型", + "分型", + "分型结构", + "基础买卖点", + "平滑异同移动平均线", + "指标", + "测试_读取数据", + "特征分型", + "相对强弱指数", + "相对方向", + "立体分析器", + "笔", + "线段", + "线段特征", + "缠论K线", + "缠论配置", + "缺口", + "背驰分析", + "虚线", + "观察者", + "转化为时间戳", + "转化为时间戳_数字", + "随机指标", +] + + +class 买卖点类型(str, Enum): + # 传统分类 + 一买 = "一买" + 一卖 = "一卖" + 二买 = "二买" + 二卖 = "二卖" + 三买 = "三买" + 三卖 = "三卖" + # 缠论六类买卖点 + T1买 = "T1买" + T1卖 = "T1卖" + T1P买 = "T1P买" + T1P卖 = "T1P卖" + T2买 = "T2买" + T2卖 = "T2卖" + T2S买 = "T2S买" + T2S卖 = "T2S卖" + T3A买 = "T3A买" + T3A卖 = "T3A卖" + T3B买 = "T3B买" + T3B卖 = "T3B卖" + + def __str__(self) -> str: + return self.name + + def __repr__(self) -> str: + return self.name + + @property + def 是买点(self) -> bool: + return "买" in self.value + + @property + def 是卖点(self) -> bool: + return "卖" in self.value + + +class 基础买卖点: + def __init__(self, 类型: 买卖点类型, 当前K线: "K线", 买卖点分型: "分型", 备注: str, 中枢破位值: float): + self.备注: str = 备注 + self.类型 = 类型 + self.买卖点分型 = 买卖点分型 + self.买卖点K线 = 买卖点分型.中 # .镜像 + self.__当前K线: "K线" = 当前K线 + self.失效K线: Optional["K线"] = None + self.终结K线: Optional["K线"] = None # 卖出 or 买入 + self.__破位值 = 中枢破位值 + self.结构 = None + + def __str__(self): + return f"{self.类型.value}<{self.买卖点K线}, {self.偏移}, {self.失效偏移}>" + + def __repr__(self): + return f"{self.类型.value}<{self.买卖点K线}, {self.偏移}, {self.失效偏移}>" + + @property + def 当前K线(self): + return self.__当前K线 + + @property + def 破位值(self) -> float: + return self.__破位值 + + @property + def 偏移(self) -> int: + return self.__当前K线.序号 - self.买卖点K线.序号 + + @property + def 失效偏移(self) -> int: + if self.失效K线 is None: + return -1 + return self.失效K线.序号 - self.买卖点K线.序号 + + @property + def 有效性(self) -> bool: + return self.失效K线 is not None + + @property + def 与MACD柱子匹配(self) -> bool: + return self.买卖点K线.与MACD柱子匹配 + + @property + def 与MACD柱子分型匹配(self) -> bool: + return self.买卖点分型.与MACD柱子分型匹配 + + +@final +class 买卖点(基础买卖点): + @classmethod + def 一卖点(cls, 买卖点分型: "分型", 当前K线: "K线", 标识: str, 备注: str, 中枢破位值: float) -> "买卖点": + return 买卖点(备注=备注, 类型=买卖点类型.一卖, 买卖点分型=买卖点分型, 当前K线=当前K线, 中枢破位值=中枢破位值) + + @classmethod + def 一买点(cls, 买卖点分型: "分型", 当前K线: "K线", 标识: str, 备注: str, 中枢破位值: float) -> "买卖点": + return 买卖点(备注=备注, 类型=买卖点类型.一买, 买卖点分型=买卖点分型, 当前K线=当前K线, 中枢破位值=中枢破位值) + + @classmethod + def 二卖点(cls, 买卖点分型: "分型", 当前K线: "K线", 标识: str, 备注: str, 中枢破位值: float) -> "买卖点": + return 买卖点(备注=备注, 类型=买卖点类型.二卖, 买卖点分型=买卖点分型, 当前K线=当前K线, 中枢破位值=中枢破位值) + + @classmethod + def 二买点(cls, 买卖点分型: "分型", 当前K线: "K线", 标识: str, 备注: str, 中枢破位值: float) -> "买卖点": + return 买卖点(备注=备注, 类型=买卖点类型.二买, 买卖点分型=买卖点分型, 当前K线=当前K线, 中枢破位值=中枢破位值) + + @classmethod + def 三卖点(cls, 买卖点分型: "分型", 当前K线: "K线", 标识: str, 备注: str, 中枢破位值: float) -> "买卖点": + return 买卖点(备注=备注, 类型=买卖点类型.三卖, 买卖点分型=买卖点分型, 当前K线=当前K线, 中枢破位值=中枢破位值) + + @classmethod + def 三买点(cls, 买卖点分型: "分型", 当前K线: "K线", 标识: str, 备注: str, 中枢破位值: float) -> "买卖点": + return 买卖点(备注=备注, 类型=买卖点类型.三买, 买卖点分型=买卖点分型, 当前K线=当前K线, 中枢破位值=中枢破位值) + + @classmethod + def 生成买卖点(cls, 特征: str, 序号: str, 级别: str, 买卖点分型: "分型", 当前缠K: "缠论K线"): + 买卖 = "买" if 买卖点分型.结构 in (分型结构.底, 分型结构.下) else "卖" + 第几 = 序号 + 备注 = f"{特征}_{级别}{第几}{买卖}" + 买卖点函数 = getattr(买卖点, f"{第几}{买卖}点") + 破位值 = 买卖点分型.分型特征值 + return 买卖点函数(买卖点分型, 当前缠K, 特征, 备注, 破位值) + + +class datetime(datetime): # 用于对齐C输出 + def __str__(self): + return f"{int(self.timestamp())}" + + def __repr__(self): + return f"{int(self.timestamp())}" + + +def 转化为时间戳(ts: Union[str, datetime, int, float]) -> datetime: + """ + 将不同类型的时间戳转换为datetime对象(统一比较标准) + 支持:datetime对象、字符串("%Y-%m-%d %H:%M:%S")、数值型时间戳(秒级) + 可根据实际需求扩展时间格式(如毫秒级、仅日期等) + """ + if isinstance(ts, datetime): + return ts + elif isinstance(ts, str): + # 自定义时间字符串格式,按需修改(如"%Y-%m-%d") + return datetime.strptime(ts, "%Y-%m-%d %H:%M:%S") + elif isinstance(ts, (int, float)): + # 若为毫秒级时间戳,需除以1000:return datetime.fromtimestamp(ts / 1000) + return datetime.fromtimestamp(ts) + else: + raise TypeError(f"不支持的时间戳类型: {type(ts)}") + + +def 转化为时间戳_数字(ts: Union[str, datetime, int, float]) -> int: + """ + 将不同类型的时间戳转换为datetime对象(统一比较标准) + 支持:datetime对象、字符串("%Y-%m-%d %H:%M:%S")、数值型时间戳(秒级) + 可根据实际需求扩展时间格式(如毫秒级、仅日期等) + """ + if isinstance(ts, datetime): + return int(ts.timestamp()) + elif isinstance(ts, str): + # 自定义时间字符串格式,按需修改(如"%Y-%m-%d") + return int(datetime.strptime(ts, "%Y-%m-%d %H:%M:%S").timestamp()) + elif isinstance(ts, (int, float)): + # 若为毫秒级时间戳,需除以1000:return datetime.fromtimestamp(ts / 1000) + return int(ts) + else: + raise TypeError(f"不支持的时间戳类型: {type(ts)}") + + +@final +class 缠论配置(BaseModel): + 标识: str = "bar" + 缠K合并替换: bool = False # False: 在原缠K上合并, True: 产出新缠K + + 笔内元素数量: int = 5 # 成BI最低长度 + + 笔内相同终点取舍: bool = False # 一笔终点存在多个终点时 True: last, False: first + 笔内起始分型包含整笔: bool = False # True: 一笔起始分型高低包含整支笔对象则不成笔, False: 只判断分型中间数据是否包含 + 笔内起始分型包含整笔_包括右: bool = False # True: 将笔之武.右纳入 + 笔内原始K线包含整笔: bool = False # 在非 [笔内起始分型包含整笔] 时判断原始K线包含整笔的情况 + + 笔次级成笔: bool = False + 笔弱化: bool = False + 笔弱化_原始数量: int = 3 + # 笔_必须对齐:bool = False # 强迫症设为True, 将获得无与伦比满足。。。 + + 线段_非缺口下穿刺: bool = False # True: 非缺口状态下[小阳, 少阴]时,存在贯穿伤与之后紧邻的三个元素有方向相同的线段时回退, 此举在当下是否有任何意义呢? + 线段_特征序列忽视老阴老阳: bool = False # True 不用严格的特征序列包含,也就是忽视缺口全以无缺口对待 + 线段_缺口后紧急修正: bool = True # True: 当 线段_特征序列忽视老阴老阳=False 时生效,同样 线段_特征序列忽视老阴老阳=True时等同于修正武斗不异常,但只产出一个线段 + 线段_修正: bool = False # 短路修正,不建议使用,但此修正将走势显示的更加清晰 + + 线段内部中枢图显: bool = True + 扩展线段_当下分析: bool = False # 以当下来看的分析规则,否则以事后来看 + + 分析笔: bool = True # 是否计算BI + 分析线段: bool = True # 是否计算XD + 分析扩展线段: bool = True # 是否计算XD + 分析笔中枢: bool = True # 是否计算BI中枢 + 分析线段中枢: bool = True # 是否计算XD中枢 + + 手动终止: str = "" # 2099-12-31 00:00:00 + 计算指标: bool = True + 指标计算方式: str = "收" # (开, 高, 低, 收, 高低均值, 高低收均值, 开高低收均值), 默认 收盘价 + 平滑异同移动平均线_快线周期: int = 13 + 平滑异同移动平均线_慢线周期: int = 31 + 平滑异同移动平均线_信号周期: int = 11 + + 相对强弱指数_周期: int = 13 + 相对强弱指数_移动平均线周期: int = 13 + 相对强弱指数_超买阈值: float = 75.0 + 相对强弱指数_超卖阈值: float = 25.0 + + 随机指标_RSV周期: int = 13 + 随机指标_K值平滑周期: int = 5 + 随机指标_D值平滑周期: int = 5 + 随机指标_超买阈值: float = 80.0 + 随机指标_超卖阈值: float = 20.0 + + 图表展示: bool = True + 推送K线: bool = True + 推送笔: bool = True + 推送线段: bool = True + 推送中枢: bool = True + + 图表展示_笔: bool = True + 图表展示_线段: bool = True + 图表展示_扩展线段: bool = True + 图表展示_扩展线段_线段: bool = True + 图表展示_线段_线段: bool = True + + 图表展示_中枢_笔: bool = True + 图表展示_中枢_线段: bool = True + 图表展示_中枢_扩展线段: bool = True + 图表展示_中枢_扩展线段_线段: bool = True + 图表展示_中枢_线段_线段: bool = True + 图表展示_中枢_线段内部: bool = True + + 买卖点偏移: int = 1 # 最大偏移 + 买卖点激进识别: bool = False # 激进模式下将不考虑分型的完整性 + 买卖点与MACD柱强相关: bool = False # True: 卖点需正值 买点需负值 + 买卖点错过误差值: float = 0.01 # 距离买卖点值上下之内 + + 买卖点_指标模式: str = "配置" # 【任意,配置,全量, 相对】 对应K线 + 买卖点_指标匹配_MACD: bool = True # 买在负,卖在正! + 买卖点_指标匹配_KDJ: bool = True # 买在死叉之后,卖在金叉之后 + 买卖点_指标匹配_RSI: bool = True # 买在均线之下,卖在均线之上 + + # --- 缠论六类买卖点识别参数 --- + 买卖点_背离率: float = float("inf") # T1/T1P背离率,默认无限大(不筛选) + 买卖点_T2_回调阈值: float = 1.0 # T2回调幅度/突破振幅上限 + 买卖点_T2S_最大层级: int = 3 # T2S最大搜索深度 + 买卖点_峰值条件: bool = False # T1是否要求突破中枢内所有元素的极值 + 买卖点_计算方式: str = "峰" # "峰"=最大MACD柱绝对值, "面"=MACD柱面积 + 买卖点_计算线段BSP1: bool = True # 是否启用T1/T1P识别 + 买卖点_处理BSP2: bool = True # 是否启用T2/T2S识别 + 买卖点_计算线段BSP3: bool = True # 是否启用T3A/T3B识别 + 买卖点_依赖T1: bool = True # T2是否必须依赖T1 + 买卖点_中枢来源: str = "合" # "实"/"虚"/"合" - 取线段的哪个内部中枢序列 + 买卖点_调试输出: bool = False # 是否打印调试信息 + + 线段内部背驰_MACD: bool = True + 线段内部背驰_斜率: bool = True + 线段内部背驰_测度: bool = True + 线段内部背驰_模式: str = "相对" # 【任意,配置,全量,相对】 + + 加载文件路径: str = "./templates/last.nb" + + @model_validator(mode="before") + def 兼容旧版本配置(cls, values: Dict[str, Any]) -> Dict[str, Any]: + """ + 自动兼容: + 1. 旧版本少字段 → 使用默认值 + 2. 新版本多字段 → 自动忽略多余字段 + 3. 字段改名/删除 → 不报错 + """ + return values + + @field_validator("*", mode="wrap") + def bool_parse_fallback_default(cls, value, handler, info): + field = cls.model_fields.get(info.field_name) + if not field: + return handler(value) + 允许值 = { + "指标计算方式": ["开", "高", "低", "收", "高低均值", "高低收均值", "开高低收均值"], + } + # 字段类型 & 默认值 + type_ = field.annotation + default = field.default + fname = info.field_name + + try: + # --- 1. 处理 bool:使用内置 bool_parsing --- + if type_ is bool: + return handler(value) + + # --- 2. 处理 int:使用内置 int_parsing --- + elif type_ is int: + return handler(value) + + # --- 3. 处理指定 str:必须在允许列表内 --- + elif fname in 允许值: + result = handler(value) + if result not in 允许值[fname]: + raise ValueError(f"值不在允许范围内: {result}") + return result + + # 其他类型不处理 + else: + return handler(value) + + # 验证失败 → 统一用默认值 + except ValidationError as e: + if "bool_parsing" in str(e) or "int_parsing" in str(e): + print(f"[{fname}] = {value} 解析失败,使用默认值:{default}") + return default + raise + + # 字符串不在允许列表 → 用默认值 + except ValueError as e: + print(f"[{fname}] = {value} {str(e)},使用默认值:{default}") + return default + + def to_dict(self) -> dict: + """对象 → 字典""" + return self.model_dump() + + def to_json(self) -> str: + """对象 → JSON字符串""" + return self.model_dump_json(ensure_ascii=False, indent=2) + + def 保存配置(self, path="缠论配置.json"): + with open(path, "w", encoding="utf-8") as f: + f.write(self.to_json()) + + @staticmethod + def 加载配置(path="缠论配置.json") -> "缠论配置": + with open(path, "r", encoding="utf-8") as f: + return 缠论配置.from_json(f.read()) + + @classmethod + def from_dict(cls, data: dict) -> "缠论配置": + """字典 → 对象(自动兼容缺失/多余字段)""" + return cls(**data) + + @classmethod + def from_json(cls, json_str: str) -> "缠论配置": + """JSON字符串 → 对象""" + data = json.loads(json_str) + return cls.from_dict(data) + + @classmethod + def 不推送(cls): + return cls( + 线段内部中枢图显=False, + 图表展示=False, + 推送K线=False, + 推送笔=False, + 推送线段=False, + 推送中枢=False, + 图表展示_笔=False, + 图表展示_线段=False, + 图表展示_扩展线段=False, + 图表展示_扩展线段_线段=False, + 图表展示_线段_线段=False, + 图表展示_中枢_笔=False, + 图表展示_中枢_线段=False, + 图表展示_中枢_扩展线段=False, + 图表展示_中枢_扩展线段_线段=False, + 图表展示_中枢_线段_线段=False, + 图表展示_中枢_线段内部=False, + ) + + @classmethod + def 按序号重组字典(cls, 默认配置, 原始字典: dict) -> dict: + """ + { + "1_open": 10, + "1_close": 11, + "2_open": 20, + "name": "BTC", # 无法拆分 + "time": 123456 # 无法拆分 + } + 转化为 + { + 1: {"open": 10, "close": 11}, + 2: {"open": 20}, + "无法拆分": { + "name": "BTC", + "time": 123456 + } + } + + """ + + 结果 = {} + 无法拆分项 = {} + + for 复合键, 值 in 原始字典.items(): + # 尝试拆分 + if "_" in 复合键: + 序号部分, 键部分 = 复合键.split("_", 1) + try: + 序号 = int(序号部分) + # 能正常拆分 → 分组 + if 序号 not in 结果: + 结果[序号] = {} + 结果[序号][键部分] = 值 + except: + # 格式异常 → 单独处理 + 无法拆分项[复合键] = 值 + else: + # 无下划线 → 无法拆分 → 单独存放 + 无法拆分项[复合键] = 值 + + # 把无法拆分的也放进结果顶层(你要的结构) + """if 无法拆分项: + 结果["无法拆分"] = 无法拆分项""" + 配置组 = dict() + for k, v in 结果.items(): + 配置组[k] = 默认配置.model_copy( + update=v, + deep=True, + ) + + return 配置组 + + def 对比(self, other: "缠论配置") -> dict: + """ + 比较当前配置与另一个配置的差异 + 返回: { + "字段名": { + "旧值": 当前配置的值, + "新值": 另一个配置的值 + }, + ... + } + 仅当值不同时才包含该字段 + """ + diff_dict = {} + # 获取所有字段名 + for field_name in self.model_fields.keys(): + old_value = getattr(self, field_name) + new_value = getattr(other, field_name) + # 直接比较值(支持 None) + if old_value != new_value: + diff_dict[field_name] = new_value + return diff_dict + + +class 相对方向(Enum): + 向上 = "交叠向上" + 向下 = "交叠向下" + 向上缺口 = "向上缺口" + 向下缺口 = "向下缺口" + 衔接向上 = "衔接向上" # 前终点为后起点 + 衔接向下 = "衔接向下" # 前终点为后起点 + 顺 = "顺序包含" # 左边包含右边 + 逆 = "逆序包含" # 右边包含左边 + 同 = "相同包含" # 左右两边数值相同 + + def __str__(self): + return f"相对方向.{self.name}" + + def __repr__(self): + return f"相对方向.{self.name}" + + def 翻转(self) -> "相对方向": # 反转 + match self: + case 相对方向.向上: + return 相对方向.向下 + case 相对方向.向下: + return 相对方向.向上 + case 相对方向.向下缺口: + return 相对方向.向上缺口 + case 相对方向.向上缺口: + return 相对方向.向下缺口 + case 相对方向.衔接向上: + return 相对方向.衔接向下 + case 相对方向.衔接向下: + return 相对方向.衔接向上 + case 相对方向.顺: + return 相对方向.逆 + case 相对方向.逆: + return 相对方向.顺 + case _: + return self + + def 是否向上(self) -> bool: + return self in (相对方向.向上, 相对方向.向上缺口, 相对方向.衔接向上) + + def 是否向下(self) -> bool: + return self in (相对方向.向下, 相对方向.向下缺口, 相对方向.衔接向下) + + def 是否包含(self) -> bool: + return self in (相对方向.顺, 相对方向.逆, 相对方向.同) + + def 是否缺口(self) -> bool: + return self in (相对方向.向下缺口, 相对方向.向上缺口) + + def 是否衔接(self) -> bool: + return self in (相对方向.衔接向下, 相对方向.衔接向上) + + @classmethod + def 分析(cls, 前高: float, 前低: float, 后高: float, 后低: float) -> "相对方向": + if 前高 == 后高 and 前低 == 后低: + return 相对方向.同 + + if 前高 > 后高 and 前低 > 后低: + if 前低 == 后高: + return 相对方向.衔接向下 + if 前低 > 后高: + return 相对方向.向下缺口 + return 相对方向.向下 + + if 前高 < 后高 and 前低 < 后低: + if 前高 == 后低: + return 相对方向.衔接向上 + if 前高 < 后低: + return 相对方向.向上缺口 + return 相对方向.向上 + + if 前高 >= 后高 and 前低 <= 后低: + return 相对方向.顺 + + if 前高 <= 后高 and 前低 >= 后低: + return 相对方向.逆 + raise RuntimeError("无法识别的方向") + + +class 分型结构(Enum): + 上 = "三连向上" + 下 = "三连向下" + 顶 = "顶分型" + 底 = "底分型" + 散 = "向右扩散" + + def __str__(self): + return self.name + + def __repr__(self): + return self.name + + @classmethod + def 分析(cls, 左, 中, 右, 可以逆序包含: bool = False, 忽视顺序包含: bool = False) -> Optional["分型结构"]: + 左中关系 = 相对方向.分析(左.高, 左.低, 中.高, 中.低) + 中右关系 = 相对方向.分析(中.高, 中.低, 右.高, 右.低) + # 左右关系 = 相对方向.分析(左.高, 左.低, 右.高, 右.低) + match (左中关系, 中右关系): + case (相对方向.顺, _): + if 忽视顺序包含: + ... # print("顺序包含 左中相对方向", 左, 中) + else: + raise ValueError("顺序包含 左中相对方向", 左, 中) + case (_, 相对方向.顺): + if 忽视顺序包含: + ... # print("顺序包含 中右相对方向", 中, 右) + else: + raise ValueError("顺序包含 中右相对方向", 中, 右) + + case (相对方向.向上 | 相对方向.向上缺口 | 相对方向.衔接向上, 相对方向.向上 | 相对方向.向上缺口 | 相对方向.衔接向上): + return 分型结构.上 + case (相对方向.向上 | 相对方向.向上缺口 | 相对方向.衔接向上, 相对方向.向下 | 相对方向.向下缺口 | 相对方向.衔接向下): + return 分型结构.顶 + case (相对方向.向上 | 相对方向.向上缺口 | 相对方向.衔接向上, 相对方向.逆) if 可以逆序包含: + return 分型结构.上 + + case (相对方向.向下 | 相对方向.向下缺口 | 相对方向.衔接向下, 相对方向.向上 | 相对方向.向上缺口 | 相对方向.衔接向上): + return 分型结构.底 + case (相对方向.向下 | 相对方向.向下缺口 | 相对方向.衔接向下, 相对方向.向下 | 相对方向.向下缺口 | 相对方向.衔接向下): + return 分型结构.下 + case (相对方向.向下 | 相对方向.向下缺口 | 相对方向.衔接向下, 相对方向.逆) if 可以逆序包含: + return 分型结构.下 + + case (相对方向.逆, 相对方向.向上 | 相对方向.向上缺口 | 相对方向.衔接向上) if 可以逆序包含: + return 分型结构.底 + case (相对方向.逆, 相对方向.向下 | 相对方向.向下缺口 | 相对方向.衔接向下) if 可以逆序包含: + return 分型结构.顶 + case (相对方向.逆, 相对方向.逆) if 可以逆序包含: + return 分型结构.散 + case _: + print("未匹配的关系", 可以逆序包含, 左中关系, 中右关系) + return None + + +@final +class 缺口: + def __init__(self, 高: float, 低: float) -> None: + assert 高 > 低 + self.高 = 高 + self.低 = 低 + + def __str__(self) -> str: + return f"缺口区间<{self.低:g} <=> {self.高:g}>" + + def __repr__(self) -> str: + return f"缺口区间<{self.低:g} <=> {self.高:g}>" + + @classmethod + def 居中截取区间(cls, 起点: float, 终点: float, 比例: float = 0.15) -> Optional[缺口]: + """ + 以原区间中心为基准,向两侧各取总长度的 `比例` 作为新区间。 + 如果新区间超出原边界则裁剪到边界;若完全越界则返回 None。 + + 参数: + 起点: 区间起始值 + 终点: 区间结束值 + 比例: 向两侧扩展的长度占总长度的比例(0~1 之间) + + 返回: + Optional[缺口] + """ + if 起点 > 终点: + 起点, 终点 = 终点, 起点 + 总长 = 终点 - 起点 + 偏移 = 总长 * 比例 + 中心 = (起点 + 终点) / 2 + 下界 = 中心 - 偏移 + 上界 = 中心 + 偏移 + + # 完全越界:新区间与原区间无重叠 + if 下界 > 终点 or 上界 < 起点: + return None + + # 裁剪到原边界 + if 下界 < 起点: + 下界 = 起点 + if 上界 > 终点: + 上界 = 终点 + + 高 = max(下界, 上界) + 低 = min(下界, 上界) + return 缺口(高, 低) + + +class 指标: + @classmethod + def K线取值(cls, k线: "K线", 指标计算方式): + match 指标计算方式: + case "开": + return k线.开盘价 + case "高": + return k线.高 + case "低": + return k线.低 + case "收": + return k线.收盘价 + case "高低均值": + return (k线.高 + k线.低) / 2 + case "高低收均值": + return (k线.高 + k线.低 + k线.收盘价) / 3 + case "开高低收均值": + return (k线.高 + k线.低 + k线.开盘价 + k线.收盘价) / 4 + case _: + return k线.收盘价 + + +class 平滑异同移动平均线(BaseModel): + # 原始数据 + 时间戳: datetime = Field(..., description="数据点对应的时间") + 收盘价: float = Field(..., description="当前K线的收盘价格") + + # 计算参数 + 快线周期: int = Field(12, gt=0, description="短期EMA周期,默认为12") + 慢线周期: int = Field(26, gt=0, description="长期EMA周期,默认为26") + 信号周期: int = Field(9, gt=0, description="信号线EMA周期,默认为9") + + # 核心指标值 + DIF: Optional[float] = Field(None, description="差离值 = EMA(快线) - EMA(慢线)") + DEA: Optional[float] = Field(None, description="信号线 = EMA(DIF, 信号周期)") + MACD柱: Optional[float] = Field(None, description="MACD柱状图 = (DIF - DEA) * 2") + + # EMA中间值(用于增量计算) + 快线EMA: Optional[float] = Field(None, description="快线EMA的当前值") + 慢线EMA: Optional[float] = Field(None, description="慢线EMA的当前值") + DEA_EMA: Optional[float] = Field(None, description="DEA的EMA当前值") + + # 模型配置 + model_config = { + "arbitrary_types_allowed": True, # 允许特殊类型 + "json_encoders": { + datetime: lambda v: v.isoformat(), # 日期时间序列化 + Enum: lambda v: v.value, # 枚举值序列化 + }, + } + + @classmethod + def 首次计算(cls, 初始收盘价: float, 初始时间: datetime, 快线周期: int = 12, 慢线周期: int = 26, 信号周期: int = 9) -> "平滑异同移动平均线": + """ + 首次计算MACD指标(没有历史数据时使用) + + :param 初始收盘价: 第一个数据点的收盘价 + :param 初始时间: 第一个数据点的时间戳 + :param 快线周期: + :param 慢线周期: + :param 信号周期: + :return: MACD指标对象 + """ + # 初始化EMA值(使用第一个收盘价) + 快线EMA = 初始收盘价 + 慢线EMA = 初始收盘价 + + # 计算DIF(差离值) + DIF = 快线EMA - 慢线EMA # 首次计算为0 + + # 初始化DEA(信号线) + DEA_EMA = DIF # 首次计算等于DIF + + # 计算MACD柱 + MACD柱 = 2 * (DIF - DEA_EMA) # 首次计算为0 + + return cls( + 时间戳=初始时间, + 收盘价=初始收盘价, + 快线周期=快线周期, + 慢线周期=慢线周期, + 信号周期=信号周期, + DIF=DIF, + DEA=DEA_EMA, + MACD柱=MACD柱, + 快线EMA=快线EMA, + 慢线EMA=慢线EMA, + DEA_EMA=DEA_EMA, + ) + + @classmethod + def 首次计算_K线(cls, k线: "K线", 计算方式: str, 快线周期: int = 12, 慢线周期: int = 26, 信号周期: int = 9) -> "平滑异同移动平均线": + 初始收盘价: float = 指标.K线取值(k线, 计算方式) + 初始时间: datetime = k线.时间戳 + return cls.首次计算(初始收盘价, 初始时间, 快线周期, 慢线周期, 信号周期) + + @classmethod + def 增量计算(cls, 前一个MACD: "平滑异同移动平均线", 当前收盘价: float, 当前时间: datetime) -> "平滑异同移动平均线": + """ + 基于前一个MACD指标增量计算当前MACD指标 + 适用于实时交易系统或流式数据处理 + + :param 前一个MACD: 前一个周期的MACD指标对象 + :param 当前收盘价: 当前K线的收盘价 + :param 当前时间: 当前K线的时间戳 + :return: 当前MACD指标对象 + """ + + # 计算EMA的平滑系数 + def 平滑系数(周期): + return 2 / (周期 + 1) + + # 计算快线EMA + if 前一个MACD.快线EMA is None: + 快线EMA = 当前收盘价 + raise RuntimeError + else: + # 快线EMA = 当前收盘价 * 平滑系数(前一个MACD.快线周期) + 前一个MACD.快线EMA * (1 - 平滑系数(前一个MACD.快线周期)) + # 快线EMA = (当前收盘价 - 前一个MACD.快线EMA) * 平滑系数(前一个MACD.快线周期) + 前一个MACD.快线EMA + 快线EMA = 当前收盘价 * 平滑系数(前一个MACD.快线周期) + 前一个MACD.快线EMA * ((前一个MACD.快线周期 - 1) / (前一个MACD.快线周期 + 1)) + + # 计算慢线EMA + if 前一个MACD.慢线EMA is None: + 慢线EMA = 当前收盘价 + raise RuntimeError + else: + # 慢线EMA = 当前收盘价 * 平滑系数(前一个MACD.慢线周期) + 前一个MACD.慢线EMA * (1 - 平滑系数(前一个MACD.慢线周期)) + # 慢线EMA = (当前收盘价 - 前一个MACD.慢线EMA) * 平滑系数(前一个MACD.慢线周期) + 前一个MACD.慢线EMA + 慢线EMA = 当前收盘价 * 平滑系数(前一个MACD.慢线周期) + 前一个MACD.慢线EMA * ((前一个MACD.慢线周期 - 1) / (前一个MACD.慢线周期 + 1)) + + # 计算DIF + DIF = 快线EMA - 慢线EMA + + # 计算DEA的EMA + if 前一个MACD.DEA_EMA is None: + DEA_EMA = DIF + else: + # DEA_EMA = 当前收盘价 * 平滑系数(前一个MACD.信号周期) + 前一个MACD.DEA_EMA * (1 - 平滑系数(前一个MACD.信号周期)) + # DEA_EMA = (DIF - 前一个MACD.DEA_EMA) * 平滑系数(前一个MACD.信号周期) + 前一个MACD.DEA_EMA + DEA_EMA = DIF * 平滑系数(前一个MACD.信号周期) + 前一个MACD.DEA_EMA * ((前一个MACD.信号周期 - 1) / (前一个MACD.信号周期 + 1)) + + # 计算MACD柱 + MACD柱 = DIF - DEA_EMA # * 2 + + return cls( + 时间戳=当前时间, + 收盘价=当前收盘价, + 快线周期=前一个MACD.快线周期, + 慢线周期=前一个MACD.慢线周期, + 信号周期=前一个MACD.信号周期, + DIF=DIF, + DEA=DEA_EMA, + MACD柱=MACD柱, + 快线EMA=快线EMA, + 慢线EMA=慢线EMA, + DEA_EMA=DEA_EMA, + ) + + @classmethod + def 增量计算_K线(cls, 前一个MACD: "平滑异同移动平均线", 当前K线: "K线", 计算方式: "str") -> "平滑异同移动平均线": + 当前收盘价: float = 指标.K线取值(当前K线, 计算方式) + 当前时间: datetime = 当前K线.时间戳 + return cls.增量计算(前一个MACD, 当前收盘价, 当前时间) + + +class 相对强弱指数(BaseModel): + """ + 相对强弱指数 (RSI) 指标 + 使用 Wilder 平滑(RMA)进行增量计算,提供完整的中间平滑值, + 并支持对RSI值计算SMA(简单移动平均) + """ + + # 原始数据 + 时间戳: datetime = Field(..., description="数据点对应的时间") + 收盘价: float = Field(..., description="当前K线的收盘价格") + + # 参数 + 周期: int = Field(14, gt=0, description="RSI周期,默认为14") + 超买阈值: float = Field(70.0, description="超买阈值") + 超卖阈值: float = Field(30.0, description="超卖阈值") + RSI_SMA周期: Optional[int] = Field(None, description="RSI的SMA周期(可选),用于生成信号线") + + # 核心指标值 + RSI: Optional[float] = Field(None, description="当前RSI值") + + # 中间平滑值(Wilder平滑) + 平均上涨: Optional[float] = Field(None, description="平均上涨幅度的平滑值") + 平均下跌: Optional[float] = Field(None, description="平均下跌幅度的平滑值") + + # 原始变化值(用于调试) + 上涨幅度: float = Field(0.0, description="当前价格变化中的上涨部分") + 下跌幅度: float = Field(0.0, description="当前价格变化中的下跌部分") + + # 平滑系数(α = 1/周期) + 平滑系数: float = Field(0.0, description="Wilder平滑系数") + + # RSI的SMA(信号线)相关字段 + RSI_SMA: Optional[float] = Field(None, description="RSI的简单移动平均值") + RSI历史队列: List[float] = Field(default_factory=list, description="用于计算SMA的RSI历史队列") + + model_config = { + "arbitrary_types_allowed": True, + "json_encoders": { + datetime: lambda v: v.isoformat(), + Enum: lambda v: v.value, + }, + } + + @classmethod + def 首次计算(cls, 初始收盘价: float, 初始时间: datetime, 周期: int = 14, 超买阈值: float = 70.0, 超卖阈值: float = 30.0, RSI_SMA周期: Optional[int] = None) -> "相对强弱指数": + """ + 首次计算RSI(没有足够历史数据时使用) + 此时无法计算真实RSI,设为 None,但记录初始收盘价作为起点 + """ + return cls( + 时间戳=初始时间, + 收盘价=初始收盘价, + 周期=周期, + RSI=None, + 平均上涨=0.0, + 平均下跌=0.0, + 上涨幅度=0.0, + 下跌幅度=0.0, + 平滑系数=1.0 / 周期, + 超买阈值=超买阈值, + 超卖阈值=超卖阈值, + RSI_SMA周期=RSI_SMA周期, + RSI_SMA=None, + RSI历史队列=[], + ) + + @classmethod + def 首次计算_K线(cls, k线: "K线", 计算方式: str, 周期: int = 14, 超买阈值: float = 70.0, 超卖阈值: float = 30.0, RSI_SMA周期: Optional[int] = None) -> "相对强弱指数": + 初始收盘价: float = 指标.K线取值(k线, 计算方式) + 初始时间: datetime = k线.时间戳 + return cls.首次计算(初始收盘价, 初始时间, 周期, 超买阈值, 超卖阈值, RSI_SMA周期) + + @classmethod + def 增量计算(cls, 前一个RSI: "相对强弱指数", 当前收盘价: float, 当前时间: datetime) -> "相对强弱指数": + """ + 基于前一个RSI指标增量计算当前RSI + 支持可选的RSI_SMA(简单移动平均) + """ + # 复制参数 + 周期 = 前一个RSI.周期 + 超买阈值 = 前一个RSI.超买阈值 + 超卖阈值 = 前一个RSI.超卖阈值 + RSI_SMA周期 = 前一个RSI.RSI_SMA周期 + 平滑系数 = 1.0 / 周期 + + # 计算价格变化 + 变化 = 当前收盘价 - 前一个RSI.收盘价 + 上涨 = max(变化, 0) + 下跌 = max(-变化, 0) + + # 更新平均上涨和平均下跌(Wilder平滑) + if 前一个RSI.平均上涨 is None or 前一个RSI.平均下跌 is None: + 平均上涨 = 上涨 + 平均下跌 = 下跌 + else: + 平均上涨 = 前一个RSI.平均上涨 * (1 - 平滑系数) + 上涨 * 平滑系数 + 平均下跌 = 前一个RSI.平均下跌 * (1 - 平滑系数) + 下跌 * 平滑系数 + + # 计算RSI + if 平均下跌 == 0: + RSI = 100.0 if 平均上涨 > 0 else 50.0 + else: + RS = 平均上涨 / 平均下跌 + RSI = 100 - (100 / (1 + RS)) + + # ----- 计算RSI的SMA(简单移动平均) ----- + RSI_SMA = None + 历史队列 = 前一个RSI.RSI历史队列.copy() if 前一个RSI.RSI历史队列 else [] + if RSI_SMA周期 is not None and RSI_SMA周期 > 0 and RSI is not None: + # 将当前RSI加入队列 + 历史队列.append(RSI) + # 保持队列长度不超过周期 + if len(历史队列) > RSI_SMA周期: + 历史队列.pop(0) + # 计算SMA(即使队列未满也计算当前平均值) + if 历史队列: + RSI_SMA = sum(历史队列) / len(历史队列) + else: + # 未启用SMA,清空队列 + 历史队列 = [] + + return cls( + 时间戳=当前时间, + 收盘价=当前收盘价, + 周期=周期, + RSI=RSI, + 平均上涨=平均上涨, + 平均下跌=平均下跌, + 上涨幅度=上涨, + 下跌幅度=下跌, + 平滑系数=平滑系数, + 超买阈值=超买阈值, + 超卖阈值=超卖阈值, + RSI_SMA周期=RSI_SMA周期, + RSI_SMA=RSI_SMA, + RSI历史队列=历史队列, + ) + + @classmethod + def 增量计算_K线(cls, 前一个RSI: "相对强弱指数", 当前K线: "K线", 计算方式: "str") -> "相对强弱指数": + 当前收盘价: float = 指标.K线取值(当前K线, 计算方式) + 当前时间: datetime = 当前K线.时间戳 + return cls.增量计算(前一个RSI, 当前收盘价, 当前时间) + + +class 随机指标(BaseModel): + """ + KDJ 随机指标 (Stochastic Oscillator) + 使用标准参数:N=9, M1=3, M2=3 + 支持增量计算,需提供当前K线的最高价、最低价、收盘价 + """ + + # 原始数据 + 时间戳: datetime = Field(..., description="数据点对应的时间") + 最高价: float = Field(..., description="当前K线的最高价") + 最低价: float = Field(..., description="当前K线的最低价") + 收盘价: float = Field(..., description="当前K线的收盘价") + + # 参数 + N: int = Field(9, ge=1, description="RSV的周期(取最近N根K线)") + M1: int = Field(3, ge=1, description="K值的平滑周期") + M2: int = Field(3, ge=1, description="D值的平滑周期") + 超买阈值: float = Field(80.0, description="超买阈值") + 超卖阈值: float = Field(20.0, description="超卖阈值") + + # 核心指标值 + RSV: Optional[float] = Field(None, description="未成熟随机值") + K: Optional[float] = Field(None, description="K值(快速随机指标)") + D: Optional[float] = Field(None, description="D值(慢速随机指标)") + J: Optional[float] = Field(None, description="J值 = 3K - 2D") + + # 中间状态(用于增量计算) + 历史最高价队列: list[float] = Field(default_factory=list, description="最近N根K线的最高价队列") + 历史最低价队列: list[float] = Field(default_factory=list, description="最近N根K线的最低价队列") + 前一个RSV: Optional[float] = Field(None, description="上一个RSV值(用于平滑K)") + 前一个K: Optional[float] = Field(None, description="上一个K值") + 前一个D: Optional[float] = Field(None, description="上一个D值") + + model_config = { + "arbitrary_types_allowed": True, + "json_encoders": { + datetime: lambda v: v.isoformat(), + Enum: lambda v: v.value, + }, + } + + @classmethod + def 首次计算(cls, 初始最高价: float, 初始最低价: float, 初始收盘价: float, 初始时间: datetime, N: int = 9, M1: int = 3, M2: int = 3, 超买阈值: float = 80.0, 超卖阈值: float = 20.0) -> "随机指标": + """ + 首次计算KDJ(无历史数据时) + 此时无法计算RSV和K/D/J,仅记录初始三价,初始化队列 + """ + # 初始化历史队列,放入当前三价 + return cls( + 时间戳=初始时间, + 最高价=初始最高价, + 最低价=初始最低价, + 收盘价=初始收盘价, + N=N, + M1=M1, + M2=M2, + 超买阈值=超买阈值, + 超卖阈值=超卖阈值, + RSV=None, + K=None, + D=None, + J=None, + 历史最高价队列=[初始最高价], + 历史最低价队列=[初始最低价], + 前一个RSV=None, + 前一个K=None, + 前一个D=None, + ) + + @classmethod + def 首次计算_K线(cls, k线: "K线", 计算方式: str, RSV周期: int = 9, K值平滑周期: int = 3, D值平滑周期: int = 3, 超买阈值: float = 80.0, 超卖阈值: float = 20.0) -> "随机指标": + 初始最高价: float = k线.高 + 初始最低价: float = k线.低 + 初始收盘价: float = k线.收盘价 + 初始时间: datetime = k线.时间戳 + return cls.首次计算(初始最高价, 初始最低价, 初始收盘价, 初始时间, RSV周期, K值平滑周期, D值平滑周期, 超买阈值, 超卖阈值) + + @classmethod + def 增量计算(cls, 前一个KDJ: "随机指标", 当前最高价: float, 当前最低价: float, 当前收盘价: float, 当前时间: datetime) -> "随机指标": + """ + 基于前一个KDJ对象和当前三价,增量计算当前KDJ值 + """ + # 复制参数 + N = 前一个KDJ.N + M1 = 前一个KDJ.M1 + M2 = 前一个KDJ.M2 + 超买阈值 = 前一个KDJ.超买阈值 + 超卖阈值 = 前一个KDJ.超卖阈值 + + # 更新历史最高价队列 + 历史最高价 = 前一个KDJ.历史最高价队列.copy() + 历史最高价.append(当前最高价) + if len(历史最高价) > N: + 历史最高价.pop(0) + + # 更新历史最低价队列 + 历史最低价 = 前一个KDJ.历史最低价队列.copy() + 历史最低价.append(当前最低价) + if len(历史最低价) > N: + 历史最低价.pop(0) + + # 计算RSV(需要队列长度达到N才能计算) + RSV = None + if len(历史最高价) == N and len(历史最低价) == N: + highest = max(历史最高价) + lowest = min(历史最低价) + if highest != lowest: + RSV = (当前收盘价 - lowest) / (highest - lowest) * 100 + else: + RSV = 50.0 # 如果最高=最低,RSV取50 + + # 计算K值(使用前一天的K值平滑,首次使用RSV) + K = None + if RSV is not None: + if 前一个KDJ.K is None: + K = RSV # 首次K值等于RSV + else: + # 标准公式:K = 2/3 * 前一日K + 1/3 * 当日RSV + K = (前一个KDJ.K * (M1 - 1) + RSV) / M1 + else: + # 数据不足时,K值沿用前一个(若没有则为None) + K = 前一个KDJ.K + + # 计算D值(使用前一天的D值平滑,首次使用K值) + D = None + if K is not None: + if 前一个KDJ.D is None: + D = K # 首次D值等于K + else: + # 标准公式:D = 2/3 * 前一日D + 1/3 * 当日K + D = (前一个KDJ.D * (M2 - 1) + K) / M2 + else: + D = 前一个KDJ.D + + # 计算J值 + J = None + if K is not None and D is not None: + J = 3 * K - 2 * D + + return cls( + 时间戳=当前时间, + 最高价=当前最高价, + 最低价=当前最低价, + 收盘价=当前收盘价, + N=N, + M1=M1, + M2=M2, + 超买阈值=超买阈值, + 超卖阈值=超卖阈值, + RSV=RSV, + K=K, + D=D, + J=J, + 历史最高价队列=历史最高价, + 历史最低价队列=历史最低价, + 前一个RSV=RSV, + 前一个K=K, + 前一个D=D, + ) + + @classmethod + def 增量计算_K线(cls, 前一个KDJ: "随机指标", 当前K线: "K线", 计算方式: "str") -> "随机指标": + 当前最高价: float = 当前K线.高 + 当前最低价: float = 当前K线.低 + 当前收盘价: float = 当前K线.收盘价 + 当前时间: datetime = 当前K线.时间戳 + return cls.增量计算(前一个KDJ, 当前最高价, 当前最低价, 当前收盘价, 当前时间) + + +class 背驰分析: + @staticmethod + def MACD背驰(进入段: "虚线", 离开段: "虚线", K线序列: List["K线"], 方式: str = "总") -> bool: + """MACD柱状线面积背驰""" + 进入MACD = K线.获取MACD(K线序列, 进入段.文.中.标的K线, 进入段.武.中.标的K线) + 离开MACD = K线.获取MACD(K线序列, 离开段.文.中.标的K线, 离开段.武.中.标的K线) + + # 计算面积(绝对值求和) + 进入面积 = abs(进入MACD["总"] if 方式 == "总" else (进入MACD["阳"] if 进入段.方向 is 相对方向.向上 else 进入MACD["阴"])) + 离开面积 = abs(离开MACD["总"] if 方式 == "总" else (离开MACD["阳"] if 进入段.方向 is 相对方向.向上 else 离开MACD["阴"])) + + return 离开面积 < 进入面积 + + @staticmethod + def 斜率背驰(进入段: "虚线", 离开段: "虚线") -> bool: + """价格斜率背驰""" + # 计算线段的速度 + dx = 进入段.武.时间戳.timestamp() - 进入段.文.时间戳.timestamp() # self.武.时间戳 - self.文.时间戳 # 时间差 + dy = 进入段.武.分型特征值 - 进入段.文.分型特征值 # 价格差 + 进入斜率 = dy / dx + # 计算线段的速度 + dx = 离开段.武.时间戳.timestamp() - 离开段.文.时间戳.timestamp() # self.武.时间戳 - self.文.时间戳 # 时间差 + dy = 离开段.武.分型特征值 - 离开段.文.分型特征值 # 价格差 + 离开斜率 = dy / dx + + if 进入段.方向 == 相对方向.向上: + if 离开段.高 > 进入段.高 and abs(离开斜率) < abs(进入斜率): + return True + else: + if 离开段.低 < 进入段.低 and abs(离开斜率) < abs(进入斜率): + return True + return False + + @staticmethod + def 测度背驰(进入段: "虚线", 离开段: "虚线") -> bool: + """价格斜率背驰""" + dx = 进入段.武.时间戳.timestamp() - 进入段.文.时间戳.timestamp() # 时间差 self.武.中.标的K线.序号 - self.文.中.标的K线.序号 # + dy = 进入段.武.分型特征值 - 进入段.文.分型特征值 # 价格差的绝对值 + 进入测度 = math.sqrt(dx * dx + dy * dy) + + dx = 离开段.武.时间戳.timestamp() - 离开段.文.时间戳.timestamp() # 时间差 self.武.中.标的K线.序号 - self.文.中.标的K线.序号 # + dy = 离开段.武.分型特征值 - 离开段.文.分型特征值 # 价格差的绝对值 + 离开测度 = math.sqrt(dx * dx + dy * dy) + + if 进入段.方向 == 相对方向.向上: + if 离开段.高 > 进入段.高 and abs(离开测度) < abs(进入测度): + return True + else: + if 离开段.低 < 进入段.低 and abs(离开测度) < abs(进入测度): + return True + return False + + @staticmethod + def 全量背驰(进入段: "虚线", 离开段: "虚线", 普K序列: List["K线"]) -> bool: + return all([背驰分析.MACD背驰(进入段, 离开段, 普K序列), 背驰分析.测度背驰(进入段, 离开段), 背驰分析.斜率背驰(进入段, 离开段)]) + + @staticmethod + def 任意背驰(进入段: "虚线", 离开段: "虚线", 普K序列: List["K线"]) -> bool: + return any([背驰分析.MACD背驰(进入段, 离开段, 普K序列), 背驰分析.测度背驰(进入段, 离开段), 背驰分析.斜率背驰(进入段, 离开段)]) + + @staticmethod + def 配置背驰(进入段: "虚线", 离开段: "虚线", 普K序列: List["K线"], 配置: 缠论配置) -> bool: + match 配置.线段内部背驰_MACD, 配置.线段内部背驰_测度, 配置.线段内部背驰_斜率: + case True, True, True: + return 背驰分析.MACD背驰(进入段, 离开段, 普K序列) and 背驰分析.测度背驰(进入段, 离开段) and 背驰分析.斜率背驰(进入段, 离开段) + case False, False, False: + ... + + case True, False, True: + return 背驰分析.MACD背驰(进入段, 离开段, 普K序列) and 背驰分析.斜率背驰(进入段, 离开段) + case False, True, False: + return 背驰分析.测度背驰(进入段, 离开段) + + case True, False, False: + return 背驰分析.MACD背驰(进入段, 离开段, 普K序列) + case False, True, True: + return 背驰分析.测度背驰(进入段, 离开段) and 背驰分析.斜率背驰(进入段, 离开段) + + case False, False, True: + return 背驰分析.斜率背驰(进入段, 离开段) + case True, True, False: + return 背驰分析.MACD背驰(进入段, 离开段, 普K序列) and 背驰分析.测度背驰(进入段, 离开段) + + return False + + @staticmethod + def 任选背驰(进入段: "虚线", 离开段: "虚线", 普K序列: List["K线"]) -> bool: + 混沌槽 = [背驰分析.MACD背驰(进入段, 离开段, 普K序列), 背驰分析.测度背驰(进入段, 离开段), 背驰分析.斜率背驰(进入段, 离开段)] + return len([背驰 for 背驰 in 混沌槽 if 背驰]) >= 2 + + @staticmethod + def 背驰模式(进入段: "虚线", 离开段: "虚线", 普K序列: List["K线"], 配置: 缠论配置, 模式: str) -> bool: + match 模式: + case "全量": + return 背驰分析.全量背驰(进入段, 离开段, 普K序列) + case "任意": + return 背驰分析.任意背驰(进入段, 离开段, 普K序列) + case "配置": + return 背驰分析.配置背驰(进入段, 离开段, 普K序列, 配置) + case "相对": + return 背驰分析.任选背驰(进入段, 离开段, 普K序列) + return False + + +class K线(object): + __slots__ = ["标识", "序号", "周期", "时间戳", "高", "低", "开盘价", "收盘价", "成交量", "macd", "rsi", "kdj"] + + def __init__( + self, + 标识: str, + 序号: int, + 周期: int, + 时间戳: datetime, + 开盘价: float, + 最高价: float, + 最低价: float, + 收盘价: float, + 成交量: float, + macd: 平滑异同移动平均线 = None, + rsi: 相对强弱指数 = None, + kdj: 随机指标 = None, + ): + self.序号: int = 序号 + self.标识: str = 标识 + self.时间戳: datetime = 时间戳 + self.开盘价: float = 开盘价 + self.高: float = 最高价 + self.低: float = 最低价 + self.收盘价: float = 收盘价 + self.成交量: float = 成交量 + self.周期: int = 周期 + self.macd: 平滑异同移动平均线 = macd + self.rsi: 相对强弱指数 = rsi + self.kdj: 随机指标 = kdj + + def __str__(self): + return f"{self.标识}<{self.序号}, {self.周期}, {self.方向}, {self.时间戳}, {self.开盘价:g}, {self.高:g}, {self.低:g}, {self.收盘价:g}>" + + def __repr__(self): + return f"{self.标识}<{self.序号}, {self.周期}, {self.方向}, {self.时间戳}, {self.开盘价:g}, {self.高:g}, {self.低:g}, {self.收盘价:g}>" + + @property + def 方向(self) -> 相对方向: + return 相对方向.向上 if self.开盘价 < self.收盘价 else 相对方向.向下 + + def __bytes__(self): + return struct.pack( + ">6d", + int(self.时间戳.timestamp()), + round(self.开盘价, 8), + round(self.高, 8), + round(self.低, 8), + round(self.收盘价, 8), + round(self.成交量, 8), + ) + + @classmethod + def 创建普K(cls, 标识: str, 时间戳: datetime, 开盘价: float, 最高价: float, 最低价: float, 收盘价: float, 成交量: float, 序号: int, 周期: int) -> "K线": + k线 = K线( + 标识=标识, + 序号=序号, + 周期=周期, + 时间戳=时间戳, + 开盘价=开盘价, + 最高价=最高价, + 最低价=最低价, + 收盘价=收盘价, + 成交量=成交量, + ) + return k线 + + @classmethod + def 保存到DAT文件(cls, 路径: str, K线序列: List["K线"]): + with open(路径, "wb") as f: + for K in K线序列: + f.write(bytes(K)) + print(f"保存到DAT文件: {路径}") + + @classmethod + def 读取大端字节数组(cls, 字节组: bytes, 周期: int = 60, 标识: str = "Bar") -> "K线": + 时间戳, 开盘价, 最高价, 最低价, 收盘价, 成交量 = struct.unpack(">6d", 字节组[: struct.calcsize(">6d")]) + + return cls( + 标识=标识, + 序号=0, + 周期=周期, + 时间戳=datetime.fromtimestamp(时间戳), + 开盘价=开盘价, + 最高价=最高价, + 最低价=最低价, + 收盘价=收盘价, + 成交量=成交量, + ) + + @classmethod + def 获取MACD(cls, K线序列: List["K线"], 始: "K线", 终: "K线") -> Dict[str, float]: + 基序 = K线序列[K线序列.index(始) : K线序列.index(终) + 1] + + 阳 = 0.0 + 阴 = 0.0 + for k in 基序: + histogram = k.macd.MACD柱 + if histogram >= 0: + 阳 += histogram + else: + 阴 += histogram + + 合 = 阳 + 阴 + return {"阳": 阳, "阴": 阴, "合": 合, "总": 阳 + abs(阴)} + + @staticmethod + def 截取(序列: List["K线"], 始: "K线", 终: "K线") -> List["K线"]: + return 序列[序列.index(始) : 序列.index(终) + 1] + + +class 缠论K线(object): + __slots__ = ["序号", "时间戳", "高", "低", "方向", "分型", "周期", "标识", "分型特征值", "原始起始序号", "原始结束序号", "标的K线", "买卖点信息"] + + def __init__( + self, + 序号: int, + 时间戳: datetime, + 最高价: float, + 最低价: float, + 最终方向: 相对方向, + 普K: "K线", + 原始起始序号: int, + 原始结束序号: int, + 分型: Optional[分型结构] = None, + ): + self.序号: int = 序号 + self.时间戳: datetime = 时间戳 + self.高: float = 最高价 + self.低: float = 最低价 + self.方向: 相对方向 = 最终方向 + self.分型: Optional[分型结构] = 分型 + self.周期: int = 普K.周期 + self.标识: str = 普K.标识 + self.分型特征值: float = 最高价 + + self.原始起始序号: int = 原始起始序号 + self.原始结束序号: int = 原始结束序号 + self.标的K线: "K线" = 普K + + def __str__(self): + return f"{self.标识}<{self.序号}, {self.分型}, {self.周期}, {self.方向}, {self.时间戳}, {self.高:g}, {self.低:g}>" + + def __repr__(self): + return f"{self.标识}<{self.序号}, {self.分型}, {self.周期}, {self.方向}, {self.时间戳}, {self.高:g}, {self.低:g}>" + + @property + def 镜像(self): + K = 缠论K线(self.序号, self.时间戳, self.高, self.低, self.方向, self.标的K线, self.原始起始序号, self.原始结束序号, self.分型) + return K + + @property + def 与MACD柱子匹配(self) -> bool: + if self.分型 in (分型结构.底, 分型结构.下): + return self.标的K线.macd.MACD柱 < 0 + + if self.分型 in (分型结构.顶, 分型结构.上): + return self.标的K线.macd.MACD柱 > 0 + return False + + @property + def 与RSI匹配(self) -> bool: + if self.分型 in (分型结构.底, 分型结构.下): + return self.标的K线.rsi.RSI < self.标的K线.rsi.RSI_SMA + + if self.分型 in (分型结构.顶, 分型结构.上): + return self.标的K线.rsi.RSI > self.标的K线.rsi.RSI_SMA + return False + + @property + def 与KDJ匹配(self) -> bool: + if self.标的K线.kdj.K is None or self.标的K线.kdj.D is None: + return False + if self.分型 in (分型结构.底, 分型结构.下): + return self.标的K线.kdj.K < self.标的K线.kdj.D + + if self.分型 in (分型结构.顶, 分型结构.上): + return self.标的K线.kdj.K > self.标的K线.kdj.D + return False + + @classmethod + def 时间戳对齐(cls, 基线: List["缠论K线"], k线: "缠论K线"): + if 基线: + for k in 基线[::-1]: + if 基线[0].周期 < k线.周期: + if k线.时间戳.timestamp() <= k.时间戳.timestamp() <= k线.时间戳.timestamp() + k线.周期: + if k线.分型特征值 == k.分型特征值: + return k.时间戳 + else: + if k.时间戳.timestamp() <= k线.时间戳.timestamp() <= k.时间戳.timestamp() + k.周期: + if k线.分型特征值 == k.分型特征值: + return k.时间戳 + return k线.时间戳 + + @classmethod + def 创建缠K(cls, 时间戳: datetime, 高: float, 低: float, 方向: 相对方向, 结构: 分型结构, 原始序号: int, 普k: "K线", 之前: Optional["缠论K线"] = None) -> "缠论K线": + assert 高 >= 低 + 序号 = 0 + 当前 = 缠论K线( + 序号=序号, + 时间戳=时间戳, + 最高价=高, + 最低价=低, + 最终方向=方向, + 分型=结构, + 原始起始序号=原始序号, + 原始结束序号=原始序号, + 普K=普k, + ) + + if 之前 is not None: + 当前.序号 = 之前.序号 + 1 + + if 相对方向.分析(之前.高, 之前.低, 当前.高, 当前.低).是否包含(): + raise ValueError(f"\n {相对方向.分析(之前.高, 之前.低, 当前.高, 当前.低)}\n {之前},\n {当前}") + return 当前 + + @classmethod + def 兼并(cls, 之前缠K: Optional["缠论K线"], 当前缠K: "缠论K线", 当前普K: "K线", 配置: 缠论配置) -> Tuple[Optional["缠论K线"], Optional[str]]: + 关系 = 相对方向.分析(当前缠K.高, 当前缠K.低, 当前普K.高, 当前普K.低) + if not 关系.是否包含(): + 新缠K = 缠论K线.创建缠K( + 时间戳=当前普K.时间戳, + 高=当前普K.高, + 低=当前普K.低, + 方向=当前普K.方向, + 原始序号=当前普K.序号, + 之前=当前缠K, + 普k=当前普K, + 结构=分型结构.下 if 关系.是否向下() else 分型结构.上, + ) + 新缠K.序号 = 当前缠K.序号 + 1 + return 新缠K, "添加" + + if 当前普K.序号 == 当前缠K.原始结束序号: + # 当序号相同时认为是重复提交K线 + ... + + if 当前普K.序号 - 1 != 当前缠K.原始结束序号 and 当前普K.序号 != 当前缠K.原始结束序号: + raise ValueError(f"NewBar.merger: 不可追加不连续元素 缠K.原始结束序号: {当前缠K.原始结束序号}, 当前普K.序号: {当前普K.序号}.") + + # 方向 = 相对方向.向上 + 取值函数 = max + if 之前缠K is not None: + if 相对方向.分析(之前缠K.高, 之前缠K.低, 当前缠K.高, 当前缠K.低).是否向下(): + 取值函数 = min + + if 关系 is not 相对方向.顺: + 当前缠K.时间戳 = 当前普K.时间戳 + 当前缠K.标的K线 = 当前普K + 当前缠K.高 = 取值函数(当前缠K.高, 当前普K.高) + 当前缠K.低 = 取值函数(当前缠K.低, 当前普K.低) + 当前缠K.原始结束序号 = 当前普K.序号 + 当前缠K.方向 = 当前普K.方向 # FIXME 涉及 买卖点,MACD, 均线 + + if 之前缠K is not None: + 当前缠K.序号 = 之前缠K.序号 + 1 + + if 配置.缠K合并替换: + return 当前缠K.镜像, "替换" + return None, None + + @classmethod + def 分析(cls, 当前K线: "K线", 缠K序列: List["缠论K线"], 普K序列: List["K线"], 配置: 缠论配置) -> tuple[str, Optional["分型"]]: + 当前K线.标识 = 配置.标识 + if not 普K序列: + if 配置.计算指标: + 当前K线.macd = 平滑异同移动平均线.首次计算_K线(当前K线, 配置.指标计算方式, 配置.平滑异同移动平均线_快线周期, 配置.平滑异同移动平均线_慢线周期, 配置.平滑异同移动平均线_信号周期) + 当前K线.rsi = 相对强弱指数.首次计算_K线(当前K线, 配置.指标计算方式, 配置.相对强弱指数_周期, 配置.相对强弱指数_超买阈值, 配置.相对强弱指数_超卖阈值, 配置.相对强弱指数_移动平均线周期) + 当前K线.kdj = 随机指标.首次计算_K线(当前K线, 配置.指标计算方式, 配置.随机指标_RSV周期, 配置.随机指标_K值平滑周期, 配置.随机指标_D值平滑周期, 配置.随机指标_超买阈值, 配置.随机指标_超卖阈值) + 普K序列.append(当前K线) + else: + 之前普K = 普K序列[-1] + if 之前普K.时间戳 == 当前K线.时间戳: + 当前K线.序号 = 普K序列[-1].序号 + 普K序列[-1] = 当前K线 + if 配置.计算指标: + try: + 当前K线.macd = 平滑异同移动平均线.增量计算_K线(普K序列[-2].macd, 当前K线, 配置.指标计算方式) + 当前K线.rsi = 相对强弱指数.增量计算_K线(普K序列[-2].rsi, 当前K线, 配置.指标计算方式) + 当前K线.kdj = 随机指标.增量计算_K线(普K序列[-2].kdj, 当前K线, 配置.指标计算方式) + except IndexError: + pass # traceback.print_exc() + else: + if 之前普K.时间戳 > 当前K线.时间戳: + raise RuntimeError("时序错误") + 当前K线.序号 = 之前普K.序号 + 1 + if 配置.计算指标: + 当前K线.macd = 平滑异同移动平均线.增量计算_K线(之前普K.macd, 当前K线, 配置.指标计算方式) + 当前K线.rsi = 相对强弱指数.增量计算_K线(之前普K.rsi, 当前K线, 配置.指标计算方式) + 当前K线.kdj = 随机指标.增量计算_K线(之前普K.kdj, 当前K线, 配置.指标计算方式) + 普K序列.append(当前K线) + + 之前缠K: Optional[缠论K线] = None + 状态, 形态 = None, None + if 缠K序列: + try: + 之前缠K = 缠K序列[-2] + except IndexError: + pass + 新缠K, 模式 = 缠论K线.兼并(之前缠K, 缠K序列[-1], 当前K线, 配置) + if 新缠K is not None: + if 模式 == "添加": + 缠K序列.append(新缠K) + 状态 = "创建" + elif 模式 == "替换": + 缠K序列[-1] = 新缠K + 状态 = "替换" + else: + raise RuntimeError() + else: + 状态 = "兼并" + else: + 新缠K = 缠论K线.创建缠K(时间戳=当前K线.时间戳, 高=当前K线.高, 低=当前K线.低, 方向=当前K线.方向, 原始序号=当前K线.序号, 之前=None, 普k=当前K线, 结构=None) + 缠K序列.append(新缠K) + 状态 = "新建" + + try: + 左, 中, 右 = 缠K序列[-3:] + except ValueError: + return 状态, 形态 + + 结构 = 分型结构.分析(左, 中, 右) + 中.分型 = 结构 + + if 结构 is 分型结构.底: + 中.分型特征值 = 中.低 + 右.分型特征值 = 右.高 + 右.分型 = 分型结构.顶 + + if 结构 is 分型结构.顶: + 中.分型特征值 = 中.高 + 右.分型特征值 = 右.低 + 右.分型 = 分型结构.底 + + if 结构 is 分型结构.上: + 中.分型特征值 = 中.高 + 右.分型特征值 = 右.高 + 右.分型 = 分型结构.顶 + + if 结构 is 分型结构.下: + 中.分型特征值 = 中.低 + 右.分型特征值 = 右.低 + 右.分型 = 分型结构.底 + + 形态 = 分型(左=左, 中=中, 右=右) + if 结构 in (分型结构.上, 分型结构.下): + 形态 = 分型(中, 右, None) + return 状态, 形态 + + @staticmethod + def 截取(序列: List["缠论K线"], 始: "缠论K线", 终: "缠论K线") -> List["缠论K线"]: + return 序列[序列.index(始) : 序列.index(终) + 1] + + +class 分型(object): + __slots__ = ["左", "中", "右", "结构", "时间戳", "分型特征值"] + + def __init__(self, 左: Optional[缠论K线], 中: 缠论K线, 右: Optional[缠论K线]): + if 左 and 右: + assert 左.时间戳 < 中.时间戳 < 右.时间戳 + self.左: Optional[缠论K线] = 左 + self.中: 缠论K线 = 中 + self.右: Optional[缠论K线] = 右 + self.结构 = 中.分型 + self.时间戳 = 中.时间戳 + self.分型特征值 = 中.分型特征值 + + def __str__(self): + return f"{self.中.分型}<{self.时间戳}, {self.分型特征值:g}, None: {self.左 is None}, None: {self.右 is None}>" + + def __repr__(self): + return f"{self.中.分型}<{self.时间戳}, {self.分型特征值:g}, None: {self.左 is None}, None: {self.右 is None}>" + + @property + def 关系组(self) -> Optional[Tuple[相对方向, 相对方向, 相对方向]]: + if self.左 and self.右: + return 相对方向.分析(self.左.高, self.左.低, self.中.高, self.中.低), 相对方向.分析(self.中.高, self.中.低, self.右.高, self.右.低), 相对方向.分析(self.左.高, self.左.低, self.右.高, self.右.低) + return None + + @property + def 强度(self): + if self.结构 not in (分型结构.底, 分型结构.顶): + return "未知" + if not self.右 or not self.左: + return "未知" + + if 关系组 := self.关系组: + if self.结构 is 分型结构.底: + if 关系组[-1].是否向下(): + return "弱" + elif 关系组[-1].是否向上(): + return "强" + else: + return "中" + + elif self.结构 is 分型结构.顶: + if 关系组[-1].是否向上(): + return "弱" + elif 关系组[-1].是否向下(): + return "强" + else: + return "中" + + if self.右 and self.左: + if self.结构 is 分型结构.底: + if self.右.标的K线.收盘价 > self.左.标的K线.高: + return "强" + elif self.右.标的K线.收盘价 > self.中.标的K线.高: + return "中" + else: + return "弱" + elif self.结构 is 分型结构.顶: + if self.右.标的K线.收盘价 < self.左.标的K线.低: + return "强" + elif self.右.标的K线.收盘价 < self.中.标的K线.低: + return "中" + else: + return "弱" + return "未知" + + @property + def 与MACD柱子分型匹配(self) -> bool: + if self.右 and self.左: + if self.结构 is 分型结构.底: + return self.左.标的K线.macd.MACD柱 > self.中.标的K线.macd.MACD柱 < self.右.标的K线.macd.MACD柱 + if self.结构 is 分型结构.顶: + return self.左.标的K线.macd.MACD柱 < self.中.标的K线.macd.MACD柱 > self.右.标的K线.macd.MACD柱 + return False + + @classmethod + def 判断分型(cls, 左: "分型", 右: "分型", 模式: str = "中") -> bool: + return 左 is 右 + + @staticmethod + def 从缠K序列中获取分型(K线序列: List[缠论K线], 中: 缠论K线) -> "分型": + 索引 = K线序列.index(中) + try: + return 分型(左=K线序列[索引 - 1], 中=中, 右=K线序列[索引 + 1]) + except IndexError: + return 分型(左=K线序列[索引 - 1], 中=中, 右=None) + + @staticmethod + def 向序列中添加(分型序列: List["分型"], 当前分型: "分型"): + if not 分型序列 and 当前分型.结构 not in (分型结构.顶, 分型结构.底): + raise ValueError("首次添加分型不为 顶底", 当前分型) + if 分型序列: + if 分型序列[-1].结构 is 当前分型.结构: + raise ValueError("分型相同无法添加", 分型序列[-1], 当前分型) + if 分型序列[-1].右 is None: + print("分型.向序列中添加, 分型异常", 分型序列[-1]) + + 分型序列.append(当前分型) + + +class 虚线(object): + __slots__ = ["标识", "序号", "级别", "文", "武", "有效性", "基础序列", "特征序列", "实_中枢序列", "虚_中枢序列", "合_中枢序列", "确认K线", "模式", "_特征序列_显示", "前一缺口", "前一结束位置", "短路修正"] + + def __init__(self, 序号: int, 标识: str, 文: 分型, 武: 分型, 级别: int, 有效性: bool = True): + self.序号 = 序号 + self.标识 = 标识 + self.级别 = 级别 + + self.文 = 文 + self.武 = 武 + + self.有效性 = 有效性 + + self.基础序列: List["虚线"] = [] + self.特征序列: List[Optional[线段特征]] = [] + + self.实_中枢序列: List["中枢"] = [] + self.虚_中枢序列: List["中枢"] = [] + self.合_中枢序列: List["中枢"] = [] + self.确认K线: Optional[缠论K线] = None + self.模式: str = "文武" + self._特征序列_显示 = False + self.前一缺口: Optional[缺口] = None + self.前一结束位置 = None + self.短路修正 = False + + def __str__(self): + if self.标识 == "笔": + return f"笔({self.序号}, {self.方向}, {self.文}, {self.武}, 周期: {self.文.中.周期}, 数量: {self.武.中.序号 - self.文.中.序号 + 1})" + else: + return f"{self.标识}<{self.序号}, {线段.四象(self)}, {self.方向}, {self.文}, {self.武}, 数量: {len(self.基础序列)}, 缺口: {线段.获取缺口(self)}, {self.确认K线}>" + + def __repr__(self): + return self.__str__() + + @property + def 笔序列(self): + return self.基础序列 + + @property + def 图表标题(self) -> str: + return f"{self.文.中.标识}:{self.文.中.周期}:{self.标识}:{self.序号}" + + @property + def 方向(self) -> "相对方向": + match (self.文.结构, self.武.结构): + case (分型结构.顶, 分型结构.底): + return 相对方向.向下 + case (分型结构.顶, 分型结构.下): + return 相对方向.向下 + + case (分型结构.底, 分型结构.顶): + return 相对方向.向上 + case (分型结构.底, 分型结构.上): + return 相对方向.向上 + + case _: + raise RuntimeError("无法识别的方向", self.文.结构, self.武.结构) + + @property + def 高(self) -> float: + """if self.模式 != "文武": + if type(self[0] is 笔): + return max(self.__基础序列__, key=lambda x: x.高).高""" + + if self.方向 is 相对方向.向上: + return self.武.中.高 + return self.文.中.高 + + @property + def 低(self) -> float: + """if self.模式 != "文武": + if type(self[0] is 笔): + return min(self.__基础序列__, key=lambda x: x.低).低""" + if self.方向 is 相对方向.向下: + return self.武.中.低 + return self.文.中.低 + + def 之前是(self, 之前: "虚线") -> bool: + if self.标识 == 之前.标识: + return 分型.判断分型(之前.武, self.文) + return False + + def 之后是(self, 之后: "虚线") -> bool: + if self.标识 == 之后.标识: + return 分型.判断分型(self.武, 之后.文) + return False + + def 获取普K序列(self, 观察员: "观察者") -> List[K线]: + return K线.截取(观察员.普通K线序列, self.文.中.标的K线, self.武.中.标的K线) + + def 获取缠K序列(self, 观察员: "观察者") -> List[缠论K线]: + return 缠论K线.截取(观察员.缠论K线序列, self.文.中, self.武.中) + + def 获取数据文本(self): + if self.标识 == "笔": + return f"{self.标识}, {self.序号}, {self.级别}, 文:({int(self.文.时间戳.timestamp())},{self.文.分型特征值:g}), 武:({int(self.武.时间戳.timestamp())},{self.武.分型特征值:g}), {self.有效性}" + 前, 后, 三, 贯穿伤 = 线段.分割序列(self) + return f"{self.标识}, {self.序号}, {self.级别}, 文:({int(self.文.时间戳.timestamp())},{self.文.分型特征值:g}), 武:({int(self.武.时间戳.timestamp())},{self.武.分型特征值:g}), {self.有效性}, {len(self.基础序列)}, {线段.特征序列状态(self)}, (前: {str(前)}, 后: {str(后)}, 三: {str(三)}, 伤: {str(贯穿伤)}), 实: {str(self.实_中枢序列)}, 虚: {str(self.虚_中枢序列)}, 合: {str(self.合_中枢序列)}, {self.模式}, {str(self.前一缺口)}, {str(self.前一结束位置)}, {self.短路修正}" + + @classmethod + def 创建笔(cls, 文: 分型, 武: 分型, 有效性: bool = True) -> "虚线": + return 虚线(0, "笔", 文, 武, 1, 有效性) + + @classmethod + def 创建线段(cls, 虚线序列: List["虚线"]) -> "虚线": + 文 = 虚线序列[0].文 + 武 = 虚线序列[-1].武 + 标识 = "线段" if 虚线序列[0].标识 == "笔" else f"线段<{虚线序列[0].标识}>" + 段 = 虚线(0, 标识, 文, 武, 虚线序列[0].级别 + 1) + 段.特征序列 = [None] * 3 + 段.实_中枢序列 = [] + 段.虚_中枢序列 = [] + 段.合_中枢序列 = [] + 段.基础序列 = 虚线序列 + return 段 + + @classmethod + def 缠K买卖点模式(cls, 模式: str, 缠K: "缠论K线", 配置: 缠论配置): + match 模式: + case "全量": + return cls.买卖点全量匹配(缠K) + case "任意": + return cls.买卖点任意匹配(缠K) + case "配置": + return cls.买卖点配置匹配(缠K, 配置) + case "相对": + return cls.买卖点相对匹配(缠K) + return False + + @classmethod + def 买卖点配置匹配(cls, 缠K: "缠论K线", 配置: 缠论配置): + match 配置.买卖点_指标匹配_MACD, 配置.买卖点_指标匹配_KDJ, 配置.买卖点_指标匹配_RSI: + case True, True, True: + return 缠K.与MACD柱子匹配 and 缠K.与KDJ匹配 and 缠K.与RSI匹配 + case False, False, False: + ... + + case True, False, True: + return 缠K.与MACD柱子匹配 and 缠K.与RSI匹配 + case False, True, False: + return 缠K.与KDJ匹配 + + case True, False, False: + return 缠K.与MACD柱子匹配 + case False, True, True: + return 缠K.与KDJ匹配 and 缠K.与RSI匹配 + + case False, False, True: + return 缠K.与RSI匹配 + case True, True, False: + return 缠K.与MACD柱子匹配 and 缠K.与KDJ匹配 + return False + + @classmethod + def 买卖点任意匹配(cls, 缠K: "缠论K线"): + return any([缠K.与MACD柱子匹配, 缠K.与KDJ匹配, 缠K.与RSI匹配]) + + @classmethod + def 买卖点全量匹配(csl, 缠K: "缠论K线"): + return all([缠K.与MACD柱子匹配, 缠K.与KDJ匹配, 缠K.与RSI匹配]) + + @classmethod + def 买卖点相对匹配(cls, 缠K: "缠论K线"): + 混沌槽 = [缠K.与MACD柱子匹配, 缠K.与KDJ匹配, 缠K.与RSI匹配] + return len([匹配 for 匹配 in 混沌槽 if 匹配]) >= 2 + + @classmethod + def 计算MACD柱子均值(cls, 普K序列: List[K线], 实线: "虚线") -> float: + K线序列: List[K线] = K线.截取(普K序列, 实线.文.中.标的K线, 实线.武.中.标的K线) + return sum([abs(K.macd.MACD柱) for K in K线序列]) / len(K线序列) + + @classmethod + def 计算MACD柱子均值_阴(cls, 普K序列: List[K线], 实线: "虚线") -> float: + K线序列: List[K线] = K线.截取(普K序列, 实线.文.中.标的K线, 实线.武.中.标的K线) + 总 = [abs(K.macd.MACD柱) for K in K线序列 if K.macd.MACD柱 < 0] + if 总: + return sum(总) / len(总) + return False + + @classmethod + def 计算MACD柱子均值_阳(cls, 普K序列: List[K线], 实线: "虚线") -> float: + K线序列: List[K线] = K线.截取(普K序列, 实线.文.中.标的K线, 实线.武.中.标的K线) + 总 = [abs(K.macd.MACD柱) for K in K线序列 if K.macd.MACD柱 > 0] + if 总: + return sum(总) / len(总) + return False + + @classmethod + def 武之全量MACD均值(cls, 普K序列: List[K线], 实线: "虚线") -> bool: + """ + 小于均值则背驰 + """ + return abs(实线.武.中.标的K线.macd.MACD柱) < cls.计算MACD柱子均值(普K序列, 实线) + + @classmethod + def 武之MACD均值(cls, 普K序列: List[K线], 实线: "虚线") -> bool: + """ + 小于均值则背驰 + """ + if 实线.方向 is 相对方向.向上: + return cls.武之MACD均值_阳(普K序列, 实线) + else: + return cls.武之MACD均值_阴(普K序列, 实线) + + @classmethod + def 武之MACD均值_阴(cls, 普K序列: List[K线], 实线: "虚线") -> bool: + """ + 小于均值则背驰 + """ + return abs(实线.武.中.标的K线.macd.MACD柱) < abs(cls.计算MACD柱子均值_阴(普K序列, 实线)) + + @classmethod + def 武之MACD均值_阳(cls, 普K序列: List[K线], 实线: "虚线") -> bool: + """ + 小于均值则背驰 + """ + return abs(实线.武.中.标的K线.macd.MACD柱) < abs(cls.计算MACD柱子均值_阳(普K序列, 实线)) + + @classmethod + def 武之MACD极值(cls, 普K序列: List[K线], 实线: "虚线") -> bool: + """ + 最高最低 + """ + K线序列: List[K线] = K线.截取(普K序列, 实线.文.中.标的K线, 实线.武.中.标的K线) + 所有柱子 = [K.macd.MACD柱 for K in K线序列] + if 实线.武.中.标的K线.macd.MACD柱 > 0: + 取值函数 = max + else: + 取值函数 = min + if 取值函数(所有柱子) == 实线.武.中.标的K线.macd.MACD柱: + return True + return False + + @classmethod + def 计算K线序列MACD趋向背驰(cls, 普K序列: Sequence["K线"], 方向: 相对方向): + if 方向 is 相对方向.向上: + 柱子序列 = [k线 for k线 in 普K序列 if k线.macd.MACD柱 > 0] + if not 柱子序列: + return [False, False, False] + 最高柱子 = max(柱子序列, key=lambda k线: k线.macd.MACD柱) + 最低柱子 = min(柱子序列, key=lambda k线: k线.macd.MACD柱) + 排序柱子 = sorted(柱子序列, key=lambda k线: k线.macd.MACD柱) + 离差值序列 = [k线 for k线 in 普K序列 if k线.macd.DIF > 0] + 最高离差值 = max(柱子序列, key=lambda k线: k线.macd.DIF) + 最低离差值 = min(柱子序列, key=lambda k线: k线.macd.DIF) + 信号线序列 = [k线 for k线 in 普K序列 if k线.macd.DEA > 0] + 最高信号线 = max(柱子序列, key=lambda k线: k线.macd.DEA) + 最低信号线 = min(柱子序列, key=lambda k线: k线.macd.DEA) + + 结果 = [] + 柱子 = [最高柱子, 普K序列[-1]] + 柱子.sort(key=lambda k线: k线.时间戳) + if 柱子[0].macd.MACD柱 > 柱子[1].macd.MACD柱 and 柱子[0].高 < 柱子[1].高: + 结果.append(True) + else: + 结果.append(False) + + 柱子 = [最高离差值, 普K序列[-1]] + if 柱子[0].macd.DIF > 柱子[1].macd.DIF and 柱子[0].高 < 柱子[1].高: + 结果.append(True) + else: + 结果.append(False) + + 柱子 = [最高信号线, 普K序列[-1]] + if 柱子[0].macd.DEA > 柱子[1].macd.DEA and 柱子[0].高 < 柱子[1].高: + 结果.append(True) + else: + 结果.append(False) + + return 结果 + else: + 柱子序列 = [k线 for k线 in 普K序列 if k线.macd.MACD柱 < 0] + if not 柱子序列: + return [False, False, False] + 最高柱子 = max(柱子序列, key=lambda k线: abs(k线.macd.MACD柱)) + 最低柱子 = min(柱子序列, key=lambda k线: abs(k线.macd.MACD柱)) + 排序柱子 = sorted(柱子序列, key=lambda k线: abs(k线.macd.MACD柱)) + 离差值序列 = [k线 for k线 in 普K序列 if k线.macd.DIF < 0] + 最高离差值 = max(柱子序列, key=lambda k线: abs(k线.macd.DIF)) + 最低离差值 = min(柱子序列, key=lambda k线: abs(k线.macd.DIF)) + 信号线序列 = [k线 for k线 in 普K序列 if k线.macd.DEA < 0] + 最高信号线 = max(柱子序列, key=lambda k线: abs(k线.macd.DEA)) + 最低信号线 = min(柱子序列, key=lambda k线: abs(k线.macd.DEA)) + + 结果 = [] + 柱子 = [最高柱子, 普K序列[-1]] + 柱子.sort(key=lambda k线: k线.时间戳) + if 柱子[0].macd.MACD柱 < 柱子[1].macd.MACD柱 and 柱子[0].低 > 柱子[1].低: + 结果.append(True) + else: + 结果.append(False) + + 柱子 = [最高离差值, 普K序列[-1]] + if 柱子[0].macd.DIF < 柱子[1].macd.DIF and 柱子[0].低 > 柱子[1].低: + 结果.append(True) + else: + 结果.append(False) + + 柱子 = [最高信号线, 普K序列[-1]] + if 柱子[0].macd.DEA < 柱子[1].macd.DEA and 柱子[0].低 > 柱子[1].低: + 结果.append(True) + else: + 结果.append(False) + + return 结果 + + @classmethod + @lru_cache(maxsize=128) + def 买卖意义(cls, 实线: "虚线", 观察员: "观察者") -> Tuple[bool, str]: + """ + 静止是相对的,而运动是绝对的 + + """ + 普K序列: List[K线] = 观察员.普通K线序列 + 配置: 缠论配置 = 观察员.配置 + if 实线.标识 not in ("笔", "线段", "线段<线段>"): + return False, "标识不在范围内" + if 实线.武.中.标的K线.kdj.K is None or 实线.武.中.标的K线.kdj.D is None or 实线.武.中.标的K线.kdj.J is None: + return False, "KDJ指标不完整" + 意义 = cls.缠K买卖点模式(配置.买卖点_指标模式, 实线.武.中, 配置) + 结果 = False + 背驰过 = 笔.是否背驰过(实线, 观察员) if 实线.标识 == "笔" else 线段.是否背驰过(实线, 观察员) + if 意义: # and self.武.强度 in ("强", ""): + if 实线.标识 == "笔": + if cls.武之MACD均值(普K序列, 实线): + return True, "武之MACD均值" + if cls.武之MACD极值(普K序列, 实线) and 背驰过: + return True, "背驰过且极值" + else: + if 实线.武.与MACD柱子分型匹配: + return True, f"背驰过:{len(背驰过)},极值:{cls.武之MACD极值(普K序列, 实线)},柱子分型匹配" + if 实线.标识 != "笔" and 线段.判断线段内部是否背驰(实线, 观察员): + return True, "线段内部背驰" + + if not 结果 and 意义 and 实线.武.中.与MACD柱子匹配: + if cls.武之MACD极值(普K序列, 实线) and len(背驰过) > 2: + return True, "没结果, 极值, 柱子分型匹配, 背驰过大于2次" + return 结果, "" + + @classmethod + def 计算MACD柱子分段(cls, k线序列: List["K线"]) -> Tuple[List[List["K线"]], ...]: + if not k线序列: + return () + + def 符号(x: float) -> str: + if x > 0: + return "正" + else: + return "负" + + 当前符号 = 符号(k线序列[0].macd.MACD柱) + 当前段柱子 = [k线序列[0].macd.MACD柱] + 结果 = [] + + for i in range(1, len(k线序列)): + 新符号 = 符号(k线序列[i].macd.MACD柱) + if 新符号 == 当前符号: + 当前段柱子.append(k线序列[i].macd.MACD柱) + else: + 结果.append(当前段柱子) + 当前段柱子 = [k线序列[i].macd.MACD柱] + 当前符号 = 新符号 + return tuple(结果) + + @classmethod + def 密集区域按间隔(cls, 交叉标记: List[int], 最大间隔: int = 5, 最少交叉数: int = 3) -> List[Tuple[int, int, int]]: + """ + 交叉标记: 长度为len(macd_list)的列表,0=无交叉, 1=金叉, -1=死叉 + 最大间隔: 相邻交叉索引差 ≤ 此值则归入同一密集区 + 最少交叉数: 一个密集区内至少包含的交叉次数 + 返回: [(起始交叉索引, 结束交叉索引, 区内交叉次数), ...] + """ + # 提取所有交叉点的索引 + 交叉索引 = [i for i, v in enumerate(交叉标记) if v != 0] + if not 交叉索引: + return [] + + 密集区 = [] + 当前块起始 = 交叉索引[0] + 当前块交叉数 = 1 + + for i in range(1, len(交叉索引)): + prev_idx = 交叉索引[i - 1] + curr_idx = 交叉索引[i] + if curr_idx - prev_idx <= 最大间隔: + 当前块交叉数 += 1 + else: + # 当前块结束 + if 当前块交叉数 >= 最少交叉数: + 密集区.append((当前块起始, prev_idx, 当前块交叉数)) + # 开始新块 + 当前块起始 = curr_idx + 当前块交叉数 = 1 + + # 处理最后一个块 + if 当前块交叉数 >= 最少交叉数: + 密集区.append((当前块起始, 交叉索引[-1], 当前块交叉数)) + + return 密集区 + + @classmethod + def 统计MACD行为(cls, 普K序列: List[K线], 最大间隔: int = 8, 最少交叉数: int = 3) -> dict: + # 1. 穿越零轴计数 + dif_up = dif_down = dea_up = dea_down = 0 + for i in range(1, len(普K序列)): + pre, cur = 普K序列[i - 1].macd, 普K序列[i].macd + if pre.DIF is None or cur.DIF is None: + continue + if pre.DIF < 0 <= cur.DIF: + dif_up += 1 + elif pre.DIF > 0 >= cur.DIF: + dif_down += 1 + if pre.DEA < 0 <= cur.DEA: + dea_up += 1 + elif pre.DEA > 0 >= cur.DEA: + dea_down += 1 + + # 2. DIF与DEA交叉(带标记) + golden = death = 0 + 交叉标记 = [0] # 第0个位置无前值,先填0 + for i in range(1, len(普K序列)): + pre, cur = 普K序列[i - 1].macd, 普K序列[i].macd + if pre.DIF is None or cur.DIF is None or pre.DEA is None or cur.DEA is None: + 交叉标记.append(0) + continue + if pre.DIF <= pre.DEA and cur.DIF > cur.DEA: + golden += 1 + 交叉标记.append(1) + elif pre.DIF >= pre.DEA and cur.DIF < cur.DEA: + death += 1 + 交叉标记.append(-1) + else: + 交叉标记.append(0) + + # 3. 按间隔密集区域 + 密集区 = cls.密集区域按间隔(交叉标记, 最大间隔=最大间隔, 最少交叉数=最少交叉数) + + return { + "DIF上穿0": dif_up, + "DIF下穿0": dif_down, + "DEA上穿0": dea_up, + "DEA下穿0": dea_down, + "金叉次数": golden, + "死叉次数": death, + "密集交叉区域": 密集区, # (起始交叉索引, 结束交叉索引, 交叉次数) + } + + +class 笔(object): + __slots__ = [] + + @staticmethod + def 获取缠K数量(缠K序列: List[缠论K线], 笔序列: List[虚线], 配置: 缠论配置) -> int: + 实际数量 = len(缠K序列) + if 实际数量 >= 配置.笔内元素数量: + return 实际数量 + + if 配置.笔弱化 and 实际数量 >= 3: + 实际高点 = 笔.实际高点(缠K序列, 配置.笔内相同终点取舍) + 实际低点 = 笔.实际低点(缠K序列, 配置.笔内相同终点取舍) + 原始数量 = 1 + abs(实际低点.标的K线.序号 - 实际高点.标的K线.序号) + if 原始数量 >= 配置.笔内元素数量: + return 配置.笔内元素数量 + + if 笔序列: + 筆 = 笔.根据缠K找笔(笔序列, 实际高点) or 笔.根据缠K找笔(笔序列, 实际低点) + if 筆: + if 筆.方向 is 相对方向.向上 and 实际低点.低 < 筆.低: + if 原始数量 >= 配置.笔弱化_原始数量: + return 配置.笔内元素数量 + if 筆.方向 is 相对方向.向下 and 实际低点.低 > 筆.高: + if 原始数量 >= 配置.笔弱化_原始数量: + return 配置.笔内元素数量 + + return 实际数量 + + @staticmethod + def 次高(缠K序列: List[缠论K线], 笔内相同终点取舍: bool) -> 缠论K线: + 序列 = sorted(缠K序列, key=lambda k: k.高) + highs: List[缠论K线] = [k for k in 序列 if k.高 != 序列[-1].高] # 排除 + highs: List[缠论K线] = [k for k in highs if k.高 == highs[-1].高] # 筛选 + highs.sort(key=lambda k: k.时间戳) # 排序 + return highs[-1] if 笔内相同终点取舍 else highs[0] + + @staticmethod + def 次低(缠K序列: List[缠论K线], 笔内相同终点取舍: bool) -> 缠论K线: + 序列 = sorted(缠K序列, key=lambda k: k.低) + lows: List[缠论K线] = [k for k in 序列 if k.低 != 序列[0].低] + lows: List[缠论K线] = [k for k in lows if k.低 == lows[0].低] + lows.sort(key=lambda k: k.时间戳) + return lows[-1] if 笔内相同终点取舍 else lows[0] + + @staticmethod + def 实际高点(缠K序列: List[缠论K线], 笔内相同终点取舍: bool) -> 缠论K线: + 序列 = sorted(缠K序列, key=lambda k: k.高) + highs: List[缠论K线] = [k for k in 序列 if k.高 == 序列[-1].高] + highs.sort(key=lambda k: k.时间戳) + return highs[-1] if 笔内相同终点取舍 else highs[0] + + @staticmethod + def 实际低点(缠K序列: List[缠论K线], 笔内相同终点取舍: bool) -> 缠论K线: + 序列 = sorted(缠K序列, key=lambda k: k.低) + lows: List[缠论K线] = [k for k in 序列 if k.低 == 序列[0].低] + lows.sort(key=lambda k: k.时间戳) + return lows[-1] if 笔内相同终点取舍 else lows[0] + + @staticmethod + def 相对关系(筆: 虚线, 配置: 缠论配置) -> bool: + if 配置.笔内起始分型包含整笔: + 有效序列 = [k线 for k线 in (筆.文.左, 筆.文.中, 筆.文.右) if k线 is not None] + 文 = 缺口(max(有效序列, key=lambda k: k.高).高, min(有效序列, key=lambda k: k.低).低) + 有效序列 = [k线 for k线 in (筆.武.左, 筆.武.中, 筆.武.右 if 配置.笔内起始分型包含整笔_包括右 else None) if k线 is not None] # 排除 右 + 武 = 缺口(max(有效序列, key=lambda k: k.高).高, min(有效序列, key=lambda k: k.低).低) + 相对关系 = 相对方向.分析(文.高, 文.低, 武.高, 武.低) + else: + 相对关系 = 相对方向.分析(筆.文.中.高, 筆.文.中.低, 筆.武.中.高, 筆.武.中.低) + if 配置.笔内原始K线包含整笔 and 相对方向.分析(筆.文.中.标的K线.高, 筆.文.中.标的K线.低, 筆.武.中.标的K线.高, 筆.武.中.标的K线.低).是否包含(): # TODO 建议增加相关配置 + return False + + if 筆.方向 is 相对方向.向下: + return 相对关系.是否向下() + return 相对关系.是否向上() + + @classmethod + def _弹出旧笔(cls, 分型序列: List[分型], 笔序列: List[虚线], 行号): + 旧分型 = 分型序列.pop() + if 笔序列: + 旧笔 = 笔序列.pop() + assert 旧笔.武 is 旧分型, f"最后一笔终点错误{行号}" + 旧笔.有效性 = False + + @classmethod + def _添加新笔(cls, 分型序列: List[分型], 笔序列: List[虚线], 待添加分型: "分型", 待添加新笔: 虚线, 行号): + if not 分型序列 and 待添加分型.结构 not in (分型结构.顶, 分型结构.底): + raise ValueError("首次添加分型不为 顶底", 待添加分型) + if 分型序列: + if 分型序列[-1].结构 is 待添加分型.结构: + raise ValueError("分型相同无法添加", 分型序列[-1], 待添加分型) + if 分型序列[-1].右 is None: + print("分型.向序列中添加, 分型异常", 分型序列[-1]) + + 分型序列.append(待添加分型) + if 笔序列 and not 笔序列[-1].之后是(待添加新笔): + raise ValueError("笔.向序列中添加 不连续", 笔序列[-1], 待添加新笔) + + if 笔序列: + 待添加新笔.序号 = 笔序列[-1].序号 + 1 + if 待添加新笔.武.左 is None and 待添加新笔.武.右 is None: + 待添加新笔.有效性 = False + if 笔序列[-1].武.结构 in (分型结构.上, 分型结构.下): + print(f"_添加新笔[{行号}] 出现无效分型", 笔序列[-1]) + + 笔序列.append(待添加新笔) + + @classmethod + def 分析(cls, 当前分型: Optional[分型], 分型序列: List[分型], 笔序列: List[虚线], 缠K序列: List[缠论K线], 普K序列: List[K线], 递归层次: int, 配置: 缠论配置): + if 当前分型 is None: + return 递归层次 + + if 递归层次 > 64: + print(f"笔.分析 递归深度超出 64 < {递归层次}") + # return 递归层次 + + if 当前分型.结构 not in (分型结构.顶, 分型结构.底): + return 递归层次 + + if not 分型序列: + if 当前分型.结构 in (分型结构.顶, 分型结构.底): + 分型序列.append(当前分型) + return 递归层次 + + 笔递归分析 = 笔.分析 + + 之前分型 = 分型序列[-1] + if (之前分型.中.时间戳 == 当前分型.中.时间戳) or (之前分型.结构 in (分型结构.上, 分型结构.下)): + 笔._弹出旧笔(分型序列, 笔序列, sys._getframe().f_lineno) + if not 分型序列: + if 当前分型.右 is not None: + 分型.向序列中添加(分型序列, 当前分型) + return 递归层次 + + 之前分型 = 分型序列[-1] + if 之前分型.中.时间戳 > 当前分型.中.时间戳 and 之前分型.中.序号 - 当前分型.中.序号 > 1: + # raise RuntimeError(f"时序错误-{递归层次}, {之前分型}, {当前分型}") + print(colored(f"时序错误-{递归层次}, {之前分型}, {当前分型}", "red")) + return 递归层次 + + if 配置.笔弱化 and 笔序列: + 前一笔 = 笔序列[-1] + if 前一笔.武.中.序号 - 前一笔.文.中.序号 + 1 == 3: + if (前一笔.方向.是否向上() and 前一笔.低 > 当前分型.分型特征值 and 当前分型.结构 is 分型结构.底) or (前一笔.方向.是否向下() and 前一笔.高 < 当前分型.分型特征值 and 当前分型.结构 is 分型结构.顶): + 笔._弹出旧笔(分型序列, 笔序列, sys._getframe().f_lineno) + return 笔递归分析(当前分型, 分型序列, 笔序列, 缠K序列, 普K序列, 递归层次 + 1, 配置) + + if 之前分型.结构 is not 当前分型.结构: + 基础序列 = 缠论K线.截取(缠K序列, 之前分型.中, 当前分型.中) + 当前笔 = 虚线.创建笔(文=之前分型, 武=当前分型, 有效性=True) + if 笔.获取缠K数量(基础序列, 笔序列, 配置) >= 配置.笔内元素数量: + if 之前分型.结构 is 分型结构.顶 and 当前分型.结构 is 分型结构.底: + 文官 = 笔.实际高点(基础序列, False) + else: + 文官 = 笔.实际低点(基础序列, False) + + if 文官 is not 之前分型.中: + 临时分型 = 分型.从缠K序列中获取分型(缠K序列, 文官) + if 之前分型.结构 is 分型结构.顶 and 当前分型.结构 is 分型结构.底: + assert 临时分型.结构 is 分型结构.顶, 临时分型 + else: + assert 临时分型.结构 is 分型结构.底, 临时分型 + 递归层次 = 笔递归分析(临时分型, 分型序列, 笔序列, 缠K序列, 普K序列, 递归层次 + 1, 配置) + 递归层次 = 笔递归分析(当前分型, 分型序列, 笔序列, 缠K序列, 普K序列, 递归层次 + 1, 配置) + return 递归层次 + + if 之前分型.结构 is 分型结构.顶 and 当前分型.结构 is 分型结构.底: + 武将 = 笔.实际低点(基础序列, 配置.笔内相同终点取舍) + else: + 武将 = 笔.实际高点(基础序列, 配置.笔内相同终点取舍) + + if 笔.相对关系(当前笔, 配置) and 当前分型.中 is 武将: + 笔._添加新笔(分型序列, 笔序列, 当前分型, 当前笔, sys._getframe().f_lineno) + return 递归层次 + + if 配置.笔次级成笔: + if 之前分型.结构 is 分型结构.顶 and 当前分型.结构 is 分型结构.底: + 武将 = 笔.次低(基础序列, 配置.笔内相同终点取舍) + else: + 武将 = 笔.次高(基础序列, 配置.笔内相同终点取舍) + if 笔.相对关系(当前笔, 配置) and 当前分型.中 is 武将: + 笔._添加新笔(分型序列, 笔序列, 当前分型, 当前笔, sys._getframe().f_lineno) + return 递归层次 + + else: + if 当前分型.右: + 临时分型 = 分型.从缠K序列中获取分型(缠K序列, 当前分型.右) + 递归层次 = 笔递归分析(临时分型, 分型序列, 笔序列, 缠K序列, 普K序列, 递归层次 + 1, 配置) + + else: + 分型特征值 = 当前分型.分型特征值 + + if (之前分型.结构 is 分型结构.顶 and 之前分型.分型特征值 < 分型特征值) or (之前分型.结构 is 分型结构.底 and 之前分型.分型特征值 > 分型特征值): + 笔._弹出旧笔(分型序列, 笔序列, sys._getframe().f_lineno) + k线序列 = 缠论K线.截取(缠K序列, 之前分型.中, 当前分型.中) + if 之前分型.结构 is 分型结构.顶: + 武将 = 笔.实际低点(k线序列, 配置.笔内相同终点取舍) + else: + 武将 = 笔.实际高点(k线序列, 配置.笔内相同终点取舍) + 临时分型 = 分型.从缠K序列中获取分型(缠K序列, 武将) + + if 分型序列: + 递归层次 = 笔递归分析(临时分型, 分型序列, 笔序列, 缠K序列, 普K序列, 递归层次 + 1, 配置) + if 分型序列 and 分型序列[-1] is 临时分型: + # 进行修复错过的笔 + for ck in 缠K序列[缠K序列.index(武将) :]: + if ck.分型 in (分型结构.底, 分型结构.顶): + 临时分型 = 分型.从缠K序列中获取分型(缠K序列, ck) + 递归层次 = 笔递归分析(临时分型, 分型序列, 笔序列, 缠K序列, 普K序列, 递归层次 + 1, 配置) + if 分型序列 and 分型序列[-1] is 临时分型: + """""" + # print("笔.分析 事后修复错过的笔", 临时分型, "当前分型", 当前分型) + + 递归层次 = 笔递归分析(当前分型, 分型序列, 笔序列, 缠K序列, 普K序列, 递归层次 + 1, 配置) + return 递归层次 + else: + 分型.向序列中添加(分型序列, 当前分型) + + return 递归层次 + + @staticmethod + def 以文会友(笔序列: List[虚线], 文: 分型) -> Optional[虚线]: + for 筆 in 笔序列: + if 筆.文 is 文: + return 筆 + return None + + @staticmethod + def 以武会友(笔序列: List[虚线], 武: 分型) -> Optional[虚线]: + for 筆 in 笔序列[::-1]: + if 筆.武 is 武: + return 筆 + return None + + @staticmethod + def 根据缠K找笔(笔序列: List[虚线], 缠K: "缠论K线", 偏移: int = 1): + for 筆 in 笔序列[::-1]: + if 筆.文.中.序号 - 偏移 <= 缠K.序号 <= 筆.武.中.序号: + # if 缠K in 筆.缠K序列[偏移:]: + return 筆 + + return None + + @classmethod + def 自检(cls, 筆: 虚线, 观察员: "观察者") -> bool: + 笔序列: List[虚线] = 观察员.笔序列 + 配置: 缠论配置 = 观察员.配置 + 基础序列 = 筆.获取缠K序列(观察员) + if 笔.获取缠K数量(基础序列, 笔序列, 配置) >= 配置.笔内元素数量: + if 筆.方向 is 相对方向.向下 and 筆.文.中 is 笔.实际高点(基础序列, False) and 筆.武.中 is 笔.实际低点(基础序列, 配置.笔内相同终点取舍): + return True + if 筆.方向 is 相对方向.向上 and 筆.文.中 is 笔.实际低点(基础序列, False) and 筆.武.中 is 笔.实际高点(基础序列, 配置.笔内相同终点取舍): + return True + return False + + @classmethod + def 获取所有停顿位置(cls, 筆: 虚线, 观察员: "观察者"): + 笔序列 = [] + 文 = 筆.文 + 基础序列 = 筆.获取缠K序列(观察员.观察员) + for i in range(3, len(基础序列) - 1): + K = 基础序列[i] + 武 = 分型(基础序列[i - 1], K, 基础序列[i + 1]) + if K.分型 is 分型结构.顶 and 筆.方向 is 相对方向.向上: + 当前笔 = 虚线.创建笔(文=文, 武=武) + 当前笔.序号 = 筆.序号 + 笔.自检(当前笔, 观察员) and 笔序列.append(当前笔) + + if K.分型 is 分型结构.底 and 筆.方向 is 相对方向.向下: + 当前笔 = 虚线.创建笔(文=文, 武=武) + 当前笔.序号 = 筆.序号 + 笔.自检(当前笔, 观察员) and 笔序列.append(当前笔) + + return 笔序列 + + @classmethod + def 是否背驰过(cls, 当前筆: 虚线, 观察员: "观察者"): + 停顿位置 = 笔.获取所有停顿位置(当前筆, 观察员) + 结果 = [] + + for 筆 in 停顿位置: + if all(虚线.计算K线序列MACD趋向背驰(K线.截取(观察员.普通K线序列, 当前筆.文.中.标的K线, 当前筆.武.中.标的K线), 筆.方向)): # if 筆.武之MACD均值: + 结果.append(筆.武.中) + return 结果 + + +class 线段特征(list): + __slots__ = ["序号", "标识", "线段方向"] + + def __init__(self, 标识: str, 基础序列: List[虚线], 线段方向: 相对方向): + super().__init__(基础序列) + self.序号 = 0 + self.标识: str = 标识 + self.线段方向: 相对方向 = 线段方向 + + @property + def 图表标题(self) -> str: + return self.标识 # f"{self.标识}:{self.序号}" + + def __str__(self): + if not len(self): + return colored(f"{self.标识}<{self.线段方向}, 空>", "green") + return f"{self.标识}<{self.线段方向}, {self.文}, {self.武}, {len(self)}>" + + def __repr__(self): + if not len(self): + return colored(f"{self.标识}<{self.线段方向}, 空>", "green") + return f"{self.标识}<{self.线段方向}, {self.文}, {self.武}, {len(self)}>" + + @property + def 文(self) -> 分型: + if self.线段方向 is 相对方向.向上: # 取高高 + return max( + [线.文 for 线 in self], + key=lambda o: (o.中.分型特征值, o.中.时间戳), + ) + else: + return min( + [线.文 for 线 in self], + key=lambda o: (o.中.分型特征值, -o.中.时间戳.timestamp()), + ) + + @property + def 武(self) -> 分型: + if self.线段方向 is 相对方向.向上: + return max( + [线.武 for 线 in self], + key=lambda o: (o.中.分型特征值, o.中.时间戳), + ) + else: + return min( + [线.武 for 线 in self], + key=lambda o: (o.中.分型特征值, -o.中.时间戳.timestamp()), + ) + + @property + def 高(self) -> float: + return max([self.文, self.武], key=lambda fx: fx.中.分型特征值).中.分型特征值 + + @property + def 低(self) -> float: + return min([self.文, self.武], key=lambda fx: fx.中.分型特征值).中.分型特征值 + + @property + def 方向(self) -> 相对方向: + return self.线段方向.翻转() + + def 添加(self, 待添加虚线: Union[虚线]): + if 待添加虚线.方向 == self.线段方向: + raise ValueError("方向不匹配", self.线段方向, 待添加虚线, self) + self.append(待添加虚线) + + def 删除(self, 待删除虚线: Union[虚线]): + if 待删除虚线.方向 == self.方向: + raise ValueError("方向不匹配", self.线段方向, 待删除虚线, self) + self.remove(待删除虚线) + + @classmethod + def 新建(cls, 虚线序列: List[虚线], 线段方向: 相对方向) -> "线段特征": + return 线段特征(标识=f"特征<{虚线序列[0].__class__.__name__}>", 基础序列=虚线序列, 线段方向=线段方向) + + @classmethod + def 静态分析(cls, 虚线序列: List[虚线], 线段方向: 相对方向, 四象: str, 是否忽视: bool = False) -> List["线段特征"]: + """ + :param 虚线序列: + :param 线段方向: + :param 四象: 老阴,老阳,少阴,小阳 + 老阴 老阳 分别代表 缺口顶分型后的向下线段 与 缺口底分型后的向上线段 + :return: 特征序列元组 + """ + # 确定需要合并的方向序列 + if 四象 in ("老阳", "老阴") and not 是否忽视: + # 特征序列带有缺口时 要严格处理包含关系 + 需要被合并方向序列 = (相对方向.顺, 相对方向.逆, 相对方向.同) + # 需要被合并方向序列 = (相对方向.顺, 相对方向.同) + else: + 需要被合并方向序列 = (相对方向.顺, 相对方向.同) + + 特征序列: List[线段特征] = [] + + for 当前虚线 in 虚线序列: + # ----- 情况1:方向相同(可能触发分型替换)----- + if 当前虚线.方向 is 线段方向: + # 守卫:特征序列不足3个时,直接跳过本虚线(不执行任何合并) + if len(特征序列) < 3: + continue + + 左, 中, 右 = 特征序列[-3], 特征序列[-2], 特征序列[-1] + 结构 = 分型结构.分析(左, 中, 右, 可以逆序包含=True, 忽视顺序包含=True) + + # 条件:向上线段形成顶分型且当前虚线高点高于中,或向下线段形成底分型且当前虚线低点低于中 + if (线段方向 is 相对方向.向上 and 结构 is 分型结构.顶 and 当前虚线.高 > 中.高) or (线段方向 is 相对方向.向下 and 结构 is 分型结构.底 and 当前虚线.低 < 中.低): + 小号虚线 = min(中, key=lambda o: o.序号) + 大号虚线 = max(右, key=lambda o: o.序号) + fake = 虚线.创建笔(文=小号虚线.文, 武=大号虚线.武, 有效性=False) + 特征序列.pop() + 特征序列[-1] = 线段特征.新建([fake], 线段方向) + # 无论是否替换,本虚线不进入合并逻辑 + continue + + # ----- 情况2:方向不同(执行特征序列的合并/添加)----- + # 若特征序列为空,直接添加新特征序列 + if not 特征序列: + 特征序列.append(线段特征.新建([当前虚线], 线段方向)) + continue + + # 特征序列非空:检查与最后一个特征序列的方向关系 + 之前线段特征 = 特征序列[-1] + if 相对方向.分析(之前线段特征.高, 之前线段特征.低, 当前虚线.高, 当前虚线.低) in 需要被合并方向序列: + 之前线段特征.添加(当前虚线) + else: + 特征序列.append(线段特征.新建([当前虚线], 线段方向)) + + return 特征序列 + + @classmethod + def 获取分型序列(cls, 特征序列: List): + 结构序列 = [] + for i in range(1, len(特征序列) - 1): + 结构 = 分型结构.分析(特征序列[i - 1], 特征序列[i], 特征序列[i + 1], True, True) + 结构序列.append(特征分型(特征序列[i - 1], 特征序列[i], 特征序列[i + 1], 结构)) + if 结构序列: + assert 特征序列[-1] is 结构序列[-1].右 + return 结构序列 + + +class 特征分型: + __slots__ = ["左", "中", "右", "结构"] + + def __init__(self, 左: 线段特征, 中: 线段特征, 右: 线段特征, 结构: 分型结构): + self.左: 线段特征 = 左 + self.中: 线段特征 = 中 + self.右: 线段特征 = 右 + self.结构 = 结构 + + def __str__(self): + return f"特征分型<{self.结构}, {self.中}>" + + def __repr__(self): + return f"特征分型<{self.结构}, {self.中}>" + + +class 线段(object): + __slots__ = [] + + @classmethod + def 添加虚线(cls, 段: 虚线, 筆: 虚线): + if len(段.基础序列) and not 分型.判断分型(段.基础序列[-1].武, 筆.文): + raise ValueError(f"{段.标识}.添加虚线 不连续", 段.基础序列[-1], 筆) + + if len(段.基础序列) and 段.基础序列[-1].标识 != 筆.标识: + raise ValueError(f"{段.标识}.添加虚线 标识不符", 段.基础序列[-1].标识, 筆.标识) + 段.基础序列.append(筆) + + @classmethod + def 武斗(cls, 段: 虚线, 武: 分型, 行号: int): + # print(f"{段.标识}.武斗[{行号}], ", 武) + if 段.武 is 武: + # print(f"{段.标识}.武斗[{行号}], 相同") + return + if 段.武.分型特征值 == 武.分型特征值 and 段.武.时间戳 != 武.时间戳: + print(f"{段.标识}.武斗[{行号}], 发现特征值相等但时间戳不同", 段.武, 武) + assert 段.文.结构 is not 武.结构, (f"文武结构相同 {行号}", 段.文, 武) + if 武.右 is not None and 分型结构.分析(武.左, 武.中, 武.右) is not 武.结构: + raise RuntimeError(分型结构.分析(武.左, 武.中, 武.右), 武.结构) + if 段.方向 is 相对方向.向上: + if 武.分型特征值 < 段.文.分型特征值: + raise RuntimeError(f"向上{段.标识}, 结束点 小于 起点", 段.标识, 段.文, 武) + # if max([段.武, 武], key=lambda k: k.分型特征值) is not 武 and 段.模式 == "文武": + # pass # print(colored(f"{段.标识}.武斗[{行号}] 出现回退 从 {段.武} ==>>> {武}", "red", "on_green")) # raise RuntimeError(段.武, 武) + else: + if 武.分型特征值 > 段.文.分型特征值: + raise RuntimeError(f"向下{段.标识}, 结束点 大于 起点", 段.标识, 段.文, 武) + # if min([段.武, 武], key=lambda k: k.分型特征值) is not 武 and 段.模式 == "文武": + # pass # print(colored(f"{段.标识}.武斗[{行号}] 出现回退 从 {段.武} ==>>> {武}", "red", "on_green")) # raise RuntimeError(段.武, 武) + 段.武 = 武 + + @classmethod + def 特征分型终结(cls, 段: 虚线) -> bool: + """ + 是否符合特征序列 正常分型 终结 + """ + 特征序列 = 线段特征.静态分析(段.基础序列, 段.方向, 线段.四象(段)) + if len(特征序列) >= 3: + 结构 = 分型结构.分析(特征序列[-3], 特征序列[-2], 特征序列[-1], True, True) + if 段.方向 is 相对方向.向上: + if 结构 is 分型结构.顶: + return True + else: + if 结构 is 分型结构.底: + return True + + return False + + @classmethod + def 特征序列状态(cls, 段: 虚线) -> Tuple[bool, bool, bool]: + return tuple(特征 is not None for 特征 in 段.特征序列) + + @classmethod + def 获取缺口(cls, 段: 虚线) -> Optional[缺口]: + if 段.模式 != "文武": + return None + 左, 中, 右 = 段.特征序列 + if 左 is None: + return None + if 中 is None: + return None + 相对关系 = 相对方向.分析(左.高, 左.低, 中.高, 中.低) + if 相对关系.是否缺口(): + 高低 = [左.文.分型特征值, 中.文.分型特征值] + return 缺口(max(*高低), min(*高低)) + return None + + @classmethod + def 四象(cls, 段: 虚线) -> str: + """ + 老阳: 向下线段第一二特征序列有缺口时,后一向上线段 + 老阴: 向上线段第一二特征序列有缺口时,后一向下线段 + 小阳: 向上线段 + 少阴: 向下线段 + """ + if 段.前一缺口 is not None: + return "老阳" if 段.方向 is 相对方向.向上 else "老阴" + return "小阳" if 段.方向 is 相对方向.向上 else "少阴" + + @classmethod + def 设置特征序列(cls, 段: 虚线, 序列, 行号): + # print(f"线段.设置特征序列[{行号}]", self) + if 段.模式 != "文武": + return + + for 特征 in 序列: + if 特征 and 特征.方向 == 段.方向: + raise ValueError(f"特征序列方向不匹配[{行号}]") + 左, 中, 右 = 序列 + 段.特征序列 = [左, 中, 右] + if 右 is not None: + 基础序列 = [] + if 右[-1] not in 段.基础序列: + raise ValueError() + for 元素 in 段.基础序列: + 基础序列.append(元素) + if 元素 is 右[-1]: + break + + if (len(基础序列) >= 6) and (len(基础序列) % 2 == 0): + 段.基础序列[:] = 基础序列[:] + else: + raise RuntimeError() + else: + pass + + @classmethod + def 刷新特征序列(cls, 段: 虚线, 配置: 缠论配置): + if 段.模式 != "文武": + return + 基础序列 = 段.基础序列 + if 段.前一结束位置 and 段.前一结束位置 in 基础序列: + 基础序列 = 段.基础序列[段.基础序列.index(段.前一结束位置) - 1 :] + + 特征序列 = 线段特征.静态分析(基础序列, 段.方向, 线段.四象(段), 配置.线段_特征序列忽视老阴老阳) + if len(特征序列) >= 3: + 分型序列 = 线段特征.获取分型序列(特征序列) + if (段.方向 is 相对方向.向上 and 分型序列[-1].结构 is 分型结构.顶) or (段.方向 is 相对方向.向下 and 分型序列[-1].结构 is 分型结构.底): + 线段.设置特征序列(段, [分型序列[-1].左, 分型序列[-1].中, 分型序列[-1].右], sys._getframe().f_lineno) + + else: + 线段.设置特征序列(段, [特征序列[-2], 特征序列[-1], None], sys._getframe().f_lineno) + else: + 特征序列.extend([None] * (3 - len(特征序列))) + 线段.设置特征序列(段, 特征序列, sys._getframe().f_lineno) + + @classmethod + def 分割序列(cls, 段: 虚线, 所属中枢: Optional["中枢"] = None) -> Tuple[List[虚线], List[虚线], List[虚线], Optional[虚线]]: + if 段.模式 != "文武": + return 段.基础序列[:], [], [], None + if len(段.基础序列) == 0: + print(段.标识, 段.序号) + assert 段.基础序列[0].文 is 段.文, (段.基础序列[0].文, 段.文) + 前: List[虚线] = [] + 后: List[虚线] = [] + 第三买卖线 = [] + 贯穿伤 = None + + for 筆 in 段.基础序列: + if not 前: + 前.append(筆) + continue + if 前[-1].武 is not 段.武 and not 后: + 前.append(筆) + + if 后: + 后.append(筆) + if 筆.文 is 段.武: + 后.append(筆) + + 状态 = None + + if 所属中枢: + 所属中枢.本级_第三买卖线 = None + 尾部 = 段.武 + if 后: + 尾部 = 后[-1].武 + if 所属中枢.高 >= 尾部.分型特征值 >= 所属中枢.低: + 状态 = "中枢之中" + elif 所属中枢.高 < 尾部.分型特征值: + 状态 = "中枢之上" + elif 所属中枢.低 > 尾部.分型特征值: + 状态 = "中枢之下" + assert "中枢" in 状态 + + if 状态 == "中枢之上": + for 筆 in 段.基础序列[::-1]: + if 筆.方向 is 相对方向.向下: + 关系 = 相对方向.分析(所属中枢.高, 所属中枢.低, 筆.高, 筆.低) + if 关系 is 相对方向.向上缺口: + 第三买卖线.append(筆) + else: + break + + if 状态 == "中枢之下": + for 筆 in 段.基础序列[::-1]: + if 筆.方向 is 相对方向.向上: + 关系 = 相对方向.分析(所属中枢.高, 所属中枢.低, 筆.高, 筆.低) + if 关系 is 相对方向.向下缺口: + 第三买卖线.append(筆) + else: + break + + if 第三买卖线 and 所属中枢: + 第三买卖线.reverse() + 所属中枢.本级_第三买卖线 = 第三买卖线[0] + # 所属中枢.本级_第三买卖线.备注 = 所属中枢.标识 + + if 后: + if 段.方向.是否向上(): + if 后[0].武.分型特征值 < 段.文.分型特征值: + 贯穿伤 = 后[0] + else: + if 后[0].武.分型特征值 > 段.文.分型特征值: + 贯穿伤 = 后[0] + + return 前, 后, 第三买卖线, 贯穿伤 + + @classmethod + def 刷新(cls, 段: 虚线, 配置: 缠论配置): + if 段.模式 != "文武": + return + if not len(段.基础序列): + print(" 线段.刷新 基础序列为空") + return + + 线段.刷新特征序列(段, 配置) + 有效特征序列 = [特征 for 特征 in 段.特征序列 if 特征 is not None] + if len(有效特征序列) == 3: + 线段.武斗(段, 段.特征序列[1].文, sys._getframe().f_lineno) + + elif len(有效特征序列) >= 1: + 最近特征 = 有效特征序列[-1] + + if 最近特征[-1] not in 段.基础序列: + 特征后一笔 = 笔.以武会友(段.基础序列, 最近特征[-1].武) + else: + 特征后一笔 = 最近特征[-1] + + if 特征后一笔 is not None: + 序号 = 段.基础序列.index(特征后一笔) + if 序号 < len(段.基础序列) - 1: + 下一笔 = 段.基础序列[序号 + 1] + if (段.方向 is 相对方向.向上 and 段.高 <= 下一笔.高) or (段.方向 is 相对方向.向下 and 段.低 >= 下一笔.低): + 线段.武斗(段, 下一笔.武, sys._getframe().f_lineno) + else: + print(" 线段.刷新 特征后一笔 = None, ", 段, 有效特征序列) + else: + raise RuntimeError(len(有效特征序列)) + 线段.获取内部中枢序列(段, 配置) + + @classmethod + def 序列重置(cls, 段: 虚线, 序列: Sequence): + 基础序列 = [] + for 元素 in 段.基础序列: + if 元素 not in 序列: + break + if 基础序列: + if not 基础序列[-1].之后是(元素): + break + 基础序列.append(元素) + + 段.基础序列[:] = 基础序列[:] + 段.特征序列[2] = None + + @classmethod + def 查找贯穿伤(cls, 段: 虚线) -> Optional[虚线]: + for 贯穿伤 in 段.基础序列[3:]: + if 段.方向.是否向上(): + if 贯穿伤.武.分型特征值 < 段.文.分型特征值: + return 贯穿伤 + else: + if 贯穿伤.武.分型特征值 > 段.文.分型特征值: + return 贯穿伤 + return None + + @classmethod + def 获取内部中枢序列(cls, 段: 虚线, 配置: 缠论配置) -> Tuple[List["中枢"], List["中枢"], List["中枢"]]: + # 线段内部如存在中枢则级别比无中枢要大 + if 段.模式 != "文武": + 中枢.分析(段.基础序列, 段.合_中枢序列, 标识=f"{段.标识}_{段.序号}_合_") + return [], [], 段.合_中枢序列 + 实, 虚, _, _ = 线段.分割序列(段) + + 中枢.分析(实, 段.实_中枢序列, 标识=f"{段.标识}_{段.序号}_实_") + 中枢.分析(虚, 段.虚_中枢序列, 标识=f"{段.标识}_{段.序号}_虚_") + 中枢.分析(段.基础序列, 段.合_中枢序列, 标识=f"{段.标识}_{段.序号}_合_") + return 段.虚_中枢序列, 段.实_中枢序列, 段.合_中枢序列 # 阴 阳 合 + + @classmethod + def 基础判断(cls, 左: 虚线, 中: 虚线, 右: 虚线, 关系序列: List[相对方向]) -> bool: + """ + 连续三笔且重叠 + """ + + if not 左.之后是(中): + return False + if not 中.之后是(右): + return False + + if not 相对方向.分析(左.高, 左.低, 中.高, 中.低).是否包含(): + return False + if not 相对方向.分析(中.高, 中.低, 右.高, 右.低).是否包含(): + return False + + 关系 = 相对方向.分析(左.高, 左.低, 右.高, 右.低) + if 关系 not in 关系序列: + return False + + if 左.方向 is 相对方向.向下 and not 关系.是否向下(): + return False + if 左.方向 is 相对方向.向上 and not 关系.是否向上(): + return False + return True + + @classmethod + def _添加线段(cls, 线段序列: List[虚线], 待添加线段: 虚线, 配置: 缠论配置, 行号: str): + if 线段序列 and not 线段序列[-1].之后是(待添加线段): + raise ValueError(f"线段.向序列中添加 不连续[{行号}]", 线段序列[-1].武, 待添加线段.文) + 待添加线段.模式 = "文武" + + if not 线段序列: + 线段序列.append(待添加线段) + return + + 之前线段 = 线段序列[-1] + + if not 之前线段.特征序列[2] and not 之前线段.短路修正: + assert not 待添加线段.短路修正 and 之前线段.特征序列[2][-1] in 待添加线段.基础序列 + raise RuntimeError(f"线段._向序列中添加[{行号}], 之前线段.右 = None", 之前线段) + + if 之前线段.基础序列[-1] not in 待添加线段.基础序列 and not 之前线段.短路修正: + raise RuntimeError(f"线段._向序列中添加[{行号}], 之前线段[-1] not in 待添加虚线!", 之前线段) + + 待添加线段.序号 = 之前线段.序号 + 1 + 待添加线段.前一缺口 = 线段.获取缺口(之前线段) + 待添加线段.前一结束位置 = 之前线段.基础序列[-1] + + if 线段.四象(之前线段) in ("老阴", "老阳"): + 待添加线段.前一缺口 = None + + 线段序列.append(待添加线段) + # print(f"线段._向序列中添加[{行号}]", 待添加虚线) + + @classmethod + def _弹出线段(cls, 线段序列: List[虚线], 待弹出线段: 虚线, 配置: 缠论配置, 行号: str): + if not 线段序列: + return None + + if 线段序列[-1] is not 待弹出线段: + raise ValueError("线段._从序列中删除 弹出数据不在列表中", 待弹出线段) + + 左, 中, 右 = 待弹出线段.特征序列 + if 右 is not None: + 结构 = 分型结构.分析(左, 中, 右, True, True) + if 结构 in (分型结构.顶, 分型结构.底) and not 相对方向.分析(左.高, 左.低, 中.高, 中.低).是否缺口(): + print(colored(f"[警告<{行号}>]:", "yellow"), colored("线段._从序列中删除 发现分型完毕, 且特征序列无缺口", "red"), 待弹出线段) + + 线段序列.pop() + 待弹出线段.前一结束位置 = None + 待弹出线段.有效性 = False + + return 待弹出线段 + + @classmethod + def _缺口突破(cls, 线段序列: List[虚线], 配置: 缠论配置, 层级: int) -> bool: + 当前线段 = 线段序列[-1] + 当前虚线: 虚线 = 当前线段.基础序列[-1] + 四象 = 线段.四象(当前线段) + 同向 = 当前虚线.方向 is 当前线段.方向 + + # 条件1:不能同向 + if 同向: + return False + + # 条件2:四象必须是老阳或老阴 + if 四象 not in ("老阳", "老阴"): + return False + + # 条件3:当前线段特征序列[2]必须为None + if 当前线段.特征序列[2] is not None: + return False + + # 条件4:具体突破方向判断 + if not ((四象 == "老阳" and 当前虚线.低 < 当前线段.低) or (四象 == "老阴" and 当前虚线.高 > 当前线段.高)): + return False + + # 执行修正 + 序列 = 当前线段.基础序列[:] + 线段._弹出线段(线段序列, 当前线段, 配置, f"{sys._getframe().f_lineno}, {层级}") + 当前线段 = 线段序列[-1] + assert 当前线段.特征序列[2] is not None + 当前线段基础序列 = 线段.分割序列(当前线段)[0] + 当前线段基础序列.extend(序列) + + 当前线段.基础序列[:] = 当前线段基础序列[:] + 线段.刷新(当前线段, 配置) + return True + + @classmethod + def _非缺口下穿刺(cls, 线段序列: List[虚线], 配置: 缠论配置, 层级: int) -> bool: + 当前线段 = 线段序列[-1] + 四象 = 线段.四象(当前线段) + + # 外层条件 + if not (配置.线段_非缺口下穿刺 and 四象 in ("小阳", "少阴") and 当前线段.特征序列[2] is None): + return False + + # 查找贯穿伤 + 贯穿伤 = 线段.查找贯穿伤(当前线段) + if not 贯穿伤: + return False + + # 切割基础序列 + 基础序列 = 当前线段.基础序列[当前线段.基础序列.index(贯穿伤) :] + + # 长度条件 + if not (len(基础序列) == 4 and len(线段序列) >= 2): + return False + + 左, 中, 右 = 基础序列[-3], 基础序列[-2], 基础序列[-1] + + # 方向条件 + if 相对方向.分析(左.高, 左.低, 右.高, 右.低) is not 当前线段.方向: + return False + + # 执行修正 + print(colored(f"[警告<{sys._getframe().f_lineno}, {层级}>]:", "yellow"), colored("线段.修复贯穿伤", "red"), 贯穿伤, 基础序列) # 异常弹出 + + 基础序列 = 当前线段.基础序列[:] + 线段._弹出线段(线段序列, 当前线段, 配置, f"{sys._getframe().f_lineno}, {层级}") + 当前线段 = 线段序列[-1] + 当前线段.特征序列[2] = None + for 临时虚线 in 基础序列[基础序列.index(当前线段.基础序列[-1]) + 1 :]: + 线段.添加虚线(当前线段, 临时虚线) + 线段.刷新(当前线段, 配置) + + if 当前线段.特征序列[2]: + 段 = 虚线.创建线段([左, 中, 右]) + 线段._添加线段(线段序列, 段, 配置, f"{sys._getframe().f_lineno}, {层级}") + 段.特征序列[0] = 线段特征.新建([中], 段.方向) + + return True + + @classmethod + def _缺口后紧急修正(cls, 线段序列: List[虚线], 配置: 缠论配置, 层级: int) -> bool: + 当前线段 = 线段序列[-1] + 四象 = 线段.四象(当前线段) + + # 外层条件检查 + if not (配置.线段_缺口后紧急修正 and not 配置.线段_特征序列忽视老阴老阳 and 四象 in ("小阳", "少阴") and 当前线段.特征序列[2] is None): + return False + + # 内层条件:长度和前一线的四象 + if not (len(线段序列) >= 2 and 线段.四象(线段序列[-2]) in ("老阴", "老阳")): + return False + + 基础序列 = 线段.分割序列(当前线段)[1] + if len(基础序列) < 3: + return False + + 需要修正 = False + if 当前线段.方向 is 相对方向.向上: + if 相对方向.分析(基础序列[0].高, 基础序列[0].低, 基础序列[2].高, 基础序列[2].低) is 相对方向.向下: + 需要修正 = True + else: # 向下方向 + if 相对方向.分析(基础序列[0].高, 基础序列[0].低, 基础序列[2].高, 基础序列[2].低) is 相对方向.向上: + 需要修正 = True + + if not 需要修正: + return False + + # 执行修正 + 当前线段.短路修正 = True + 新段 = 虚线.创建线段(基础序列) + 线段._添加线段(线段序列, 新段, 配置, f"{sys._getframe().f_lineno}, {层级}") + return True + + @classmethod + def _修正(cls, 线段序列: List[虚线], 配置: 缠论配置, 层级: int) -> bool: + 当前线段 = 线段序列[-1] + + # 条件1:配置允许修正且当前线段基础序列长度足够 + if not (配置.线段_修正 and len(当前线段.基础序列) >= 9): + return False + + # 分割序列 + 当前基础序列, 之后基础序列, _, _ = 线段.分割序列(当前线段) + + # 条件2:之后基础序列长度至少为6 + if len(之后基础序列) < 6: + return False + + # 取倒数第3和第1个元素 + 前, 后 = 之后基础序列[-3], 之后基础序列[-1] + + # 条件3:当前线段方向与后两个元素形成的方向一致 + if 当前线段.方向 is not 相对方向.分析(前.高, 前.低, 后.高, 后.低): + return False + + # 所有条件满足,执行修正 + 当前线段.短路修正 = True + + # 创建第一个新段(之后基础序列去掉最后3个) + 新段 = 虚线.创建线段(之后基础序列[:-3]) + 新段.短路修正 = True + 线段._添加线段(线段序列, 新段, 配置, f"{sys._getframe().f_lineno}, {层级}") + + # 根据当前线段的四象决定是否清空前一个缺口 + if 线段.四象(当前线段) in ("老阴", "老阳"): + 新段.前一缺口 = None + + # 创建第二个新段(最后3个元素) + 新段 = 虚线.创建线段(之后基础序列[-3:]) + 线段._添加线段(线段序列, 新段, 配置, f"{sys._getframe().f_lineno}, {层级}") + + return True + + @classmethod + def 分析(cls, 笔序列: List[虚线], 线段序列: List[虚线], 配置: 缠论配置, 层级: int = 0, 关系序列=[相对方向.向上, 相对方向.向下]) -> None: + """ + 注意笔序列前三个元素必须符合线段基本要求 + 四象: 老阴,老阳,少阴,小阳 + 老阴 老阳 分别代表 缺口顶分型后的向下线段 与 缺口底分型后的向上线段 + 当其分型完成时需要对 线段.前一缺口 设置为None,新线段不在考虑之前是否有缺口的问题 + 无缺口: 即笔破坏 + 笔破坏不去处理特征序列的逆序包含 + """ + # 递归深度守卫 + if 层级 > 256: + print("线段.分析 递归深度超出 256") + return None + # raise RuntimeError("线段分析 层级过深") + + 线段递归分析 = 线段.分析 + + # -------------------- 1. 初始化第一个线段 -------------------- + if not 线段序列: + for i in range(1, len(笔序列) - 1): + 左, 中, 右 = 笔序列[i - 1], 笔序列[i], 笔序列[i + 1] + if not 线段.基础判断(左, 中, 右, 关系序列): # FIXME 首个线段必须有明确方向 + continue + 段 = 虚线.创建线段([左, 中, 右]) + 线段._添加线段(线段序列, 段, 配置, f"{sys._getframe().f_lineno}, {层级}") + 段.特征序列[0] = 线段特征.新建([中], 段.方向) + break + if not 线段序列: + return None + + # -------------------- 2. 清理无效的尾部引用 -------------------- + while 线段序列 and 线段序列[-1].前一结束位置: + if 线段序列[-1].前一结束位置 not in 笔序列: + 线段._弹出线段(线段序列, 线段序列[-1], 配置, f"{sys._getframe().f_lineno}, {层级}") + else: + break + + if not 线段序列: + return 线段递归分析(笔序列, 线段序列, 配置, 层级 + 1, 关系序列) + + # -------------------- 3. 确保当前线段有效 -------------------- + 当前线段 = 线段序列[-1] + 线段.序列重置(当前线段, 笔序列) + + if len(当前线段.基础序列) < 3: + 线段._弹出线段(线段序列, 当前线段, 配置, f"{sys._getframe().f_lineno}, {层级}") + if not 线段序列: + return 线段递归分析(笔序列, 线段序列, 配置, 层级 + 1, 关系序列) + + 当前线段 = 线段序列[-1] + + # -------------------- 4. 特征序列已完整时的处理 -------------------- + if 当前线段.特征序列[2] is not None: + 基础序列 = 线段.分割序列(当前线段)[1] + 新段 = 虚线.创建线段(基础序列) + 线段._添加线段(线段序列, 新段, 配置, f"{sys._getframe().f_lineno}, {层级}") + if 线段.四象(当前线段) in ("老阴", "老阳"): + 新段.前一缺口 = None + + 当前线段 = 线段序列[-1] + 线段.刷新(当前线段, 配置) + + # -------------------- 5. 调用一次全局修正(不循环) -------------------- + 线段._缺口突破(线段序列, 配置, 层级) + 线段._非缺口下穿刺(线段序列, 配置, 层级) + 线段._缺口后紧急修正(线段序列, 配置, 层级) + 线段._修正(线段序列, 配置, 层级) + + # -------------------- 6. 循环处理后续的笔 -------------------- + 当前线段 = 线段序列[-1] + if not 当前线段.基础序列: + raise RuntimeError + 起始索引 = 笔序列.index(当前线段.基础序列[-1]) + 1 + + for 当前虚线 in 笔序列[起始索引:]: + 当前线段 = 线段序列[-1] + 四象 = 线段.四象(当前线段) + + 线段.添加虚线(当前线段, 当前虚线) + 线段.刷新(当前线段, 配置) + + # 依次尝试四种修正,任意一个成功则跳过后续处理 + if 线段._缺口突破(线段序列, 配置, 层级): + continue + if 线段._非缺口下穿刺(线段序列, 配置, 层级): + continue + if 线段._缺口后紧急修正(线段序列, 配置, 层级): + continue + if 线段._修正(线段序列, 配置, 层级): + continue + + # 无修正触发,且特征序列[2]已存在 → 创建新段 + if 当前线段.特征序列[2] is None: + continue + + 基础序列 = 线段.分割序列(当前线段)[1] + 新段 = 虚线.创建线段(基础序列) + 线段._添加线段(线段序列, 新段, 配置, f"{sys._getframe().f_lineno}, {层级}") + if 四象 in ("老阴", "老阳"): + 新段.前一缺口 = None + + # 检查新段与当前虚线的连续性 + if 新段.基础序列[-1] is not 当前虚线: + if not 新段.基础序列[-1].之后是(当前虚线): + return 线段递归分析(笔序列, 线段序列, 配置, 层级 + 1, 关系序列) + 线段.添加虚线(新段, 当前虚线) + + 线段.刷新(新段, 配置) + + return None + + @classmethod + def 武终(cls, 段: 虚线, 行号: int): + if 段.模式 != "文武": + 线段.武斗(段, 段.基础序列[-1].武, 行号) + + @classmethod + def 验证序列(cls, 段: 虚线, 序列: Sequence): + 基础序列 = [] + for 元素 in 段.基础序列: + if 元素 not in 序列: + break + if 基础序列: + if not 基础序列[-1].之后是(元素): + print(" 线段._验证序列 数据不连续") + break + 基础序列.append(元素) + 段.基础序列[:] = 基础序列[:] + if len(段.基础序列) % 2 == 0: + 段.基础序列 and 段.基础序列.pop() + + @classmethod + def _添加扩展线段(cls, 线段序列: List[虚线], 待添加线段: 虚线, 行号: int): + 待添加线段.模式 = "高低" + 待添加线段.标识 = f"扩展{待添加线段.标识}" if 待添加线段.基础序列[0].标识 != "笔" else "扩展线段" + if 线段序列 and not 线段序列[-1].之后是(待添加线段): + raise ValueError(f"{线段序列[-1].标识}.向序列中添加 不连续[{行号}]", 线段序列[-1].武, 待添加线段.文) + if 线段序列: + 之前线段 = 线段序列[-1] + 待添加线段.序号 = 之前线段.序号 + 1 + + 线段序列.append(待添加线段) + # print(f"线段._向序列中添加[{行号}]", 待添加线段) + + @classmethod + def _弹出扩展线段(cls, 线段序列: List[虚线], 待弹出线段: 虚线, 行号: int): + if not 线段序列: + return None + + if 线段序列[-1] is 待弹出线段: + drop = 线段序列.pop() + 待弹出线段.有效性 = False + # print(f"线段._从序列中删除[{行号}]", 待弹出线段) + return drop + raise ValueError("线段._从序列中删除 弹出数据不在列表中", 待弹出线段) + + @classmethod + def 扩展分析(cls, 虚线序列: List[虚线], 线段序列: List[虚线], 配置: 缠论配置) -> None: + """ + 即同级别分析 + 将笔看成线段 + """ + if not 虚线序列: + return None + try: + 虚线序列[2] + except IndexError: + return None + 线段递归扩展分析 = 线段.扩展分析 + + if not 线段序列: + for i in range(1, len(虚线序列) - 1): + 左, 中, 右 = 虚线序列[i - 1], 虚线序列[i], 虚线序列[i + 1] + 关系 = 相对方向.分析(左.高, 左.低, 右.高, 右.低) + if 关系 not in (相对方向.向下, 相对方向.向上, 相对方向.顺, 相对方向.逆, 相对方向.同): # FIXME 此处为首个线段 + continue + + 段 = 虚线.创建线段([左, 中, 右]) + 线段._添加扩展线段(线段序列, 段, sys._getframe().f_lineno) + break + + # 检查线段元素 + if not 线段序列: + return None + + 当前线段 = 线段序列[-1] + 线段.验证序列(当前线段, 虚线序列) + if len(当前线段.基础序列) < 3: + 线段._弹出扩展线段(线段序列, 当前线段, sys._getframe().f_lineno) + return 线段递归扩展分析(虚线序列, 线段序列, 配置) + + if not 配置.扩展线段_当下分析: + 左, 中, 右 = 当前线段.基础序列[:3] + if not 相对方向.分析(左.高, 左.低, 右.高, 右.低).是否缺口(): + 当前线段.基础序列[:] = 当前线段.笔序列[:3] + 线段.武终(当前线段, sys._getframe().f_lineno) + else: + 线段._弹出扩展线段(线段序列, 当前线段, sys._getframe().f_lineno) + return 线段递归扩展分析(虚线序列, 线段序列, 配置) + + 线段.武终(当前线段, sys._getframe().f_lineno) + if 当前线段.基础序列[-1].序号 + 3 > 虚线序列[-1].序号: + return None + + 序号 = 虚线序列.index(当前线段.基础序列[-1]) + 1 + if 序号 >= len(虚线序列): + return None + + for i in range(序号 + 1, len(虚线序列) - 1): + 左, 中, 右 = 虚线序列[i - 1], 虚线序列[i], 虚线序列[i + 1] + 相对关系 = 相对方向.分析(左.高, 左.低, 右.高, 右.低) + if 相对关系.是否缺口(): + 线段.添加虚线(当前线段, 左) + 线段.添加虚线(当前线段, 中) + 线段.武终(当前线段, sys._getframe().f_lineno) + continue + + if 左 in 当前线段.基础序列: + continue + + 段 = 虚线.创建线段([左, 中, 右]) + 线段._添加扩展线段(线段序列, 段, sys._getframe().f_lineno) + return 线段递归扩展分析(虚线序列, 线段序列, 配置) + + @classmethod + @lru_cache(maxsize=128) + def 判断线段内部是否背驰(cls, 当前段: 虚线, 观察员: 观察者): + 虚, 实, 合 = 线段.获取内部中枢序列(当前段, 观察员.配置) + 阳, 阴, _, _ = 线段.分割序列(当前段) + if len(阴) > 0: + """ + 1.大于2且未完成,第二特征序列正在合并中, + 0.继续合并 + 1.之后突破第二序列线段延续 + 2.反之 出现第三特征序列线段完成 出现相反线段 + 1.有缺口 + 2.无缺口 + + 总之就是有 阴 则不判断 + """ + 笔之实数 = len(阳) + if 笔之实数 < 3: + return False + + 进入段 = 阳[-3] + 离开段 = 阳[-1] + assert 进入段.序号 < 离开段.序号 + 关系 = 相对方向.分析(进入段.高, 进入段.低, 离开段.高, 离开段.低) + 背驰 = False + 盘整背驰 = False + if ((进入段.方向.是否向上() and 关系.是否向上()) or (进入段.方向.是否向下() and 关系.是否向下())) and 背驰分析.背驰模式(进入段, 离开段, 观察员.普通K线序列, 观察员.配置, 观察员.配置.线段内部背驰_模式): + k线序列 = K线.截取(观察员.普通K线序列, 阳[-3].文.中.标的K线, 阳[-1].武.中.标的K线) + if len(虚线.计算MACD柱子分段(k线序列)) >= 3: + 盘整背驰 = True # and MACD均值背驰 + + """进入段 = 阳[0] + 离开段 = 阳[-1] + if ((进入段.方向.是否向上() and 关系.是否向上()) or (进入段.方向.是否向下() and 关系.是否向下())) and 背驰分析.背驰模式(进入段, 离开段, 观察员.普通K线序列, 观察员.配置, 观察员.配置.线段内部背驰_模式): + 盘整背驰 = 阳[-1].武之MACD均值 if not 盘整背驰 else 盘整背驰""" + + if 当前段.实_中枢序列: + if 阳[-1] in 当前段.实_中枢序列[-1].基础序列: + # 当前最后一笔在最后一中枢里 + 序号 = 当前段.基础序列.index(当前段.实_中枢序列[-1].基础序列[0]) + 进入段 = 当前段.基础序列[序号 - 1] + 离开段 = 阳[-1] + assert 进入段.序号 < 离开段.序号, (进入段.序号, 离开段.序号) + if 进入段.方向 is not 离开段.方向: + return 背驰分析.测度背驰(进入段, 离开段) and 虚线.买卖意义(离开段, 观察员) + 关系 = 相对方向.分析(进入段.高, 进入段.低, 离开段.高, 离开段.低) + if ((进入段.方向.是否向上() and 关系.是否向上()) or (进入段.方向.是否向下() and 关系.是否向下())) and 背驰分析.背驰模式(进入段, 离开段, 观察员.普通K线序列, 观察员.配置, 观察员.配置.线段内部背驰_模式): + return True + + elif 当前段.实_中枢序列[-1].第三买卖线: + # 第三买卖点后后 盘整背驰 + 进入段 = 阳[-3] + 离开段 = 阳[-1] + assert 进入段.序号 < 离开段.序号 + if 进入段.方向 is not 离开段.方向: + return 背驰分析.测度背驰(进入段, 离开段) and 虚线.买卖意义(离开段, 观察员) + 关系 = 相对方向.分析(进入段.高, 进入段.低, 离开段.高, 离开段.低) + if ((进入段.方向.是否向上() and 关系.是否向上()) or (进入段.方向.是否向下() and 关系.是否向下())) and 背驰分析.背驰模式(进入段, 离开段, 观察员.普通K线序列, 观察员.配置, 观察员.配置.线段内部背驰_模式): + return True + else: + # 没有中枢 + if 笔之实数 == 3: + 背驰 = 盘整背驰 + + return 背驰 or 盘整背驰 + + @classmethod + def 段获取所有停顿位置(cls, 段: 虚线, 观察员: "观察者"): + self = 段 + 结果 = [] + if self.模式 != "文武": + return 结果 + if self.标识 != "线段": # 不考虑段的段,不如直接更换K线周期 + return 结果 + 阳, 阴, _, _ = 线段.分割序列(段, None) + 线段序列 = [] + 笔序列 = [] + 当前停顿 = None + + for 筆 in 阳: + if len(笔序列) >= 2: + 筆停顿 = 笔.获取所有停顿位置(筆, 观察员) + 筆停顿.append(筆) + for 停顿 in 筆停顿: + 笔序列.append(停顿) + 线段.分析(笔序列, 线段序列, 观察员.配置, 关系序列=[相对方向.向下, 相对方向.向上, 相对方向.顺, 相对方向.逆, 相对方向.同]) + if 线段序列 and 线段序列[-1].武 is not 当前停顿: + 新段 = 虚线.创建线段(线段序列[-1][:]) + 新段.序号 = self.序号 + 线段.刷新(新段, 观察员.配置) + if 新段.方向 is self.方向: + 结果.append(新段) + 当前停顿 = 线段序列[-1].武 + + if 停顿 is not 筆: + 笔序列.pop().有效性 = False + else: + 笔序列.append(筆) + return 结果 + + @classmethod + def 是否背驰过(cls, 当前段: 虚线, 观察员: "观察者"): + 停顿位置 = cls.段获取所有停顿位置(当前段, 观察员) + 结果 = [] + + for 段 in 停顿位置: + 段.获取内部中枢序列(观察员.配置) + if cls.判断线段内部是否背驰(段, 观察员): + 结果.append(段.武.中) + return 结果 + + +class 中枢(object): + __slots__ = ["序号", "标识", "级别", "基础序列", "第三买卖线", "本级_第三买卖线"] + + def __init__(self, 序号: int, 标识: str, 级别: int, 基础序列: List[虚线]): + self.基础序列 = 基础序列[:3] + self.序号: int = 序号 + self.标识: str = 标识 + self.级别: int = 级别 + self.第三买卖线: Optional[虚线] = None + self.本级_第三买卖线: Optional[虚线] = None + + def 添加虚线(self, 实线: 虚线): + self.基础序列.append(实线) + self.本级_第三买卖线: Optional[虚线] = None + self.第三买卖线: Optional[虚线] = None + + def __str__(self): + return f"{self.标识}({self.高:g}, {self.低:g}, 元素数量: {len(self.基础序列)}, {str(self.基础序列)}, {self.基础序列[0].文} ===>>> {self.基础序列[-1].武})" + + def __repr__(self): + return str(self) + + @property + def 图表标题(self) -> str: + return f"{self.文.中.标识}:{self.文.中.周期}:{self.标识}:{self.序号}" + + @property + def 离开段(self) -> 虚线: + return self.基础序列[-1] + + @property + def 方向(self) -> 相对方向: + return self.基础序列[0].方向.翻转() + + @property + def 高(self) -> float: + return min(self.基础序列[:3], key=lambda o: o.高).高 + + @property + def 低(self) -> float: + return max(self.基础序列[:3], key=lambda o: o.低).低 + + @property + def 高高(self) -> float: + if len(self.基础序列) > 3: + return max(self.基础序列, key=lambda o: o.高).高 + return max(self.基础序列, key=lambda o: o.高).高 + + @property + def 低低(self) -> float: + if len(self.基础序列) > 3: + return min(self.基础序列, key=lambda o: o.低).低 + return min(self.基础序列, key=lambda o: o.低).低 + + @property + def 文(self) -> 分型: + return self.基础序列[0].文 + + @property + def 武(self) -> 分型: + return self.基础序列[-1].武 + + def 获取数据文本(self): + return f"{self.标识}, {self.序号}, {self.级别}, 文:({int(self.文.时间戳.timestamp())},{self.文.分型特征值:g}), 武:({int(self.武.时间戳.timestamp())},{self.武.分型特征值:g}), {self.第三买卖线}, {self.本级_第三买卖线}" + + def 完整性(self, 虚实: str = "合"): + """ + + 详情见 教你炒股票 43:有关背驰的补习课(2007-04-06 15:31:28) + 不完整时 下一个中枢大概率会与当前中枢发生扩展! + + """ + if self.基础序列[0].标识 == "笔": + # 笔中枢 + return self.第三买卖线 is not None + + else: + # if self.本级_第三买卖线: + # return True + 线段内部中枢 = self.基础序列[-1].合_中枢序列 if 虚实 == "合" else self.基础序列[-1].实_中枢序列 + for 内部中枢 in 线段内部中枢: + if 相对方向.分析(self.高, self.低, 内部中枢.高, 内部中枢.低).是否缺口(): + return True + return False + + def 获取序列(self) -> List[虚线]: + 序列: List = self.基础序列[:] + if self.第三买卖线 is not None: + 序列.append(self.第三买卖线) + return 序列 + + def 获取扩展中枢(self, 扩展中枢: List, 配置: 缠论配置): + if len(self.基础序列) >= 9: + 扩展线段 = [] + 线段.扩展分析(self.基础序列, 扩展线段, 配置) + 中枢.分析(扩展线段, 扩展中枢, False, f"{self.标识}_扩展中枢_") + + def 校验合法性(self, 序列: Sequence[虚线], 中枢序列) -> bool: + 有效序列 = self.基础序列[:] + 无效序列 = [] + for 元素 in self.基础序列: + if 元素 not in 序列: + 无效序列.append(元素) + + if 无效序列: + 无效 = 无效序列[0] + 序号 = self.基础序列.index(无效) + 有效序列 = self.基础序列[:序号] + + if len(有效序列) < 3: + self.第三买卖线 = None + self.本级_第三买卖线 = None + return False + + self.基础序列[:] = 有效序列 + + 有效序列 = [] + for 元素 in self.基础序列: + if 相对方向.分析(self.高, self.低, 元素.高, 元素.低).是否缺口(): + break + 有效序列.append(元素) + self.基础序列[:] = 有效序列 + + if len(self.基础序列) < 3: + return False + + for i in range(1, len(self.基础序列)): + 前 = self.基础序列[i - 1] + 后 = self.基础序列[i] + if not 前.之后是(后): + return False + + if not 相对方向.分析(self.基础序列[0].高, self.基础序列[0].低, self.基础序列[2].高, self.基础序列[2].低).是否缺口(): + 重叠高 = min(self.基础序列[:3], key=lambda o: o.高).高 + 重叠低 = max(self.基础序列[:3], key=lambda o: o.低).低 + if 重叠低 > 重叠高: + return False + + if self.第三买卖线 is not None: + if self.第三买卖线 in 序列: + if not self.基础序列[-1].之后是(self.第三买卖线): + self.设置第三买卖线(None) + else: + if not 相对方向.分析(self.高, self.低, self.第三买卖线.高, self.第三买卖线.低).是否缺口(): + self.添加虚线(self.第三买卖线) + self.设置第三买卖线(None) + + else: + self.设置第三买卖线(None) + return True + + def 设置第三买卖线(self, 线: Union[虚线, None]): + self.第三买卖线 = 线 + + def 当前状态(self): + """ + 详情见 教你炒股票 49:利润率最大的操作模式(2007-04-26 08:16:56) + 当前中枢最后一段所处的位置关系 + + 一、当下在该中枢之中。 + 因为在中枢里,由于这时候怎么演化都是对的,不操作是最好的操作,等待其演化第二、三类, + 当然,如果你技术好点,可以判断出次级别的第二类买点,这些买点很多情况下都是在中枢中出现的,那当然也是可以参与的。 + 但如果没有这种技术,那就有了再说了。只把握你自己当下技术水平能把握的机会,这才是最重要的。 + 二、当下在该中枢之下。 + 1.当下之前未出现该中枢第三类卖点。 + 2.当下之前已出现该中枢第三类卖点(正出现也包括在这种情况下,按最严格的定义,这最精确的卖点,是瞬间完成的,而具有操作意义的第三类卖点,其实是一个包含该最精确卖点的足够小区间) + 三、当下在该中枢之上。 + 1.当下之前未出现该中枢第三类买点。 + 2.当下之前已出现该中枢第三类买点。 + """ + 状态 = "中枢之中" + 尾部 = self.基础序列[-1].武 if self.基础序列[-1].标识 == "笔" else self.基础序列[-1].基础序列[-1].武 + 关系 = 相对方向.分析(self.高, self.低, 尾部.中.高, 尾部.中.低) + if 关系 is 相对方向.向上缺口: + 状态 = "中枢之上" + elif 关系 is 相对方向.向下缺口: + 状态 = "中枢之下" + return 状态 + + @classmethod + def 基础检查(cls, 左: 虚线, 中: 虚线, 右: 虚线) -> bool: + if not 左.之后是(中): + return False + if not 中.之后是(右): + return False + """ + if not 相对方向.分析(左.高, 左.低, 中.高, 中.低).是否包含(): + return False + if not 相对方向.分析(中.高, 中.低, 右.高, 右.低).是否包含(): + return False + """ + + return 相对方向.分析(左.高, 左.低, 右.高, 右.低) in (相对方向.向下, 相对方向.向上, 相对方向.顺, 相对方向.逆, 相对方向.同) + + @classmethod + def 创建(cls, 左: 虚线, 中: 虚线, 右: 虚线, 级别: int, 标识: str = "") -> "中枢": + assert 中枢.基础检查(左, 中, 右) + return 中枢( + 序号=0, + 标识=f"{标识}中枢<{中.标识}>", + 基础序列=[左, 中, 右], + 级别=级别, + ) + + @classmethod + def 从序列中获取中枢(cls, 虚线序列: Sequence[虚线], 起始方向: 相对方向, 标识: str) -> Optional["中枢"]: + if len(虚线序列) < 3: + return None + + for i in range(1, len(虚线序列) - 1): + 左, 中, 右 = 虚线序列[i - 1], 虚线序列[i], 虚线序列[i + 1] + if 中枢.基础检查(左, 中, 右): + if 左.方向 is 起始方向: + return 中枢.创建(左, 中, 右, 级别=0, 标识=标识) + + return None + + @classmethod + def 向中枢序列尾部添加(cls, 中枢序列: List["中枢"], 待添加中枢: "中枢"): + if 中枢序列: + 待添加中枢.序号 = 中枢序列[-1].序号 + 1 + if 中枢序列[-1].获取序列()[-1].序号 > 待添加中枢.获取序列()[-1].序号: + raise ValueError() + 中枢序列.append(待添加中枢) + + @classmethod + def 从中枢序列尾部弹出(cls, 中枢序列: List["中枢"], 待弹出中枢: "中枢") -> Optional["中枢"]: + if not 中枢序列: + return None + if 中枢序列[-1] is 待弹出中枢: + return 中枢序列.pop() + return None + + @classmethod + def 分析(cls, 虚线序列: Sequence[虚线], 中枢序列: List["中枢"], 跳过首部: bool = True, 标识: str = "", 层级: int = 0) -> None: + if len(虚线序列) < 3: + return None + + 中枢递归分析 = 中枢.分析 + + if not 中枢序列: + for i in range(1, len(虚线序列) - 1): + 左, 中, 右 = 虚线序列[i - 1], 虚线序列[i], 虚线序列[i + 1] + if 中枢.基础检查(左, 中, 右): + 新中枢 = 中枢.创建(左, 中, 右, 中.级别, 标识) + 序号 = 虚线序列.index(左) + if 跳过首部 and (左.序号 == 0 or 序号 == 0): + continue # 方便计算走势 + if 序号 >= 2: + 同向相对关系 = 相对方向.分析(虚线序列[序号 - 2].高, 虚线序列[序号 - 2].低, 左.高, 左.低) + if 同向相对关系.是否向上() and 左.方向.是否向上(): + continue + if 同向相对关系.是否向下() and 左.方向.是否向下(): + continue + + 中枢.向中枢序列尾部添加(中枢序列, 新中枢) + return 中枢递归分析(虚线序列, 中枢序列, 跳过首部, 标识, 层级 + 1) + + return None + + 当前中枢 = 中枢序列[-1] + + if not 当前中枢.校验合法性(虚线序列, 中枢序列): + 中枢.从中枢序列尾部弹出(中枢序列, 当前中枢) + return 中枢递归分析(虚线序列, 中枢序列, 跳过首部, 标识, 层级 + 1) + + 序号 = 虚线序列.index(当前中枢.基础序列[-1]) + 1 + + 基础序列 = [] + for 当前虚线 in 虚线序列[序号:]: + if 相对方向.分析(当前中枢.高, 当前中枢.低, 当前虚线.高, 当前虚线.低).是否缺口(): + 基础序列.append(当前虚线) + if 当前中枢.基础序列[-1].之后是(当前虚线): + 当前中枢.设置第三买卖线(当前虚线) + else: + ... + else: + if not 基础序列: + assert 当前中枢.基础序列[-1].之后是(当前虚线), (当前中枢.基础序列[-1], 当前虚线) + 当前中枢.添加虚线(当前虚线) + else: + 基础序列.append(当前虚线) + + while len(基础序列) >= 3: + 新中枢 = 中枢.从序列中获取中枢(基础序列, 当前中枢.基础序列[-1].方向.翻转(), 标识) + if 新中枢 is None: + 基础序列.pop(0) + else: + 中枢.向中枢序列尾部添加(中枢序列, 新中枢) + 当前中枢 = 新中枢 + 基础序列 = [] + return None + + +class 观察者: + def __init__(self, 符号: str, 周期: int, 配置: 缠论配置): + 配置.标识 = 符号 + self.符号: str = 符号 + self.周期: int = int(周期) + self.配置: 缠论配置 = 配置 + self.__终止时间戳: Optional[datetime] = 转化为时间戳(self.配置.手动终止) if self.配置.手动终止 else None + + self.重置基础序列() + + @property + def 观察员(self): + return self # 用于兼容 chanlun.c99 + + @property + def 标识(self) -> str: + return f"{self.符号}:{self.周期}" + + @property + def 当前K线(self) -> Optional["K线"]: + return self.普通K线序列[-1] if self.普通K线序列 else None + + @property + def 当前缠K(self) -> Optional["缠论K线"]: + return self.缠论K线序列[-1] if self.缠论K线序列 else None + + def 重置基础序列(self): + self.基础缠K序列: List[缠论K线] = [] + + self.普通K线序列: List[K线] = [] + self.缠论K线序列: List[缠论K线] = [] + + self.分型序列: List[分型] = [] + + self.笔序列: List[虚线] = [] + self.笔_中枢序列: List[中枢] = [] + + self.线段序列: List[虚线] = [] + self.中枢序列: List[中枢] = [] + + self.扩展线段序列: List[虚线] = [] + self.扩展中枢序列: List[中枢] = [] + + self.扩展线段序列_线段: List[虚线] = [] + self.扩展中枢序列_线段: List[中枢] = [] + + self.线段_线段序列: List[虚线] = [] + self.线段_中枢序列: List[中枢] = [] + + self.扩展线段序列_扩展线段: List[虚线] = [] + self.扩展中枢序列_扩展线段: List[中枢] = [] + + @final + def 增加原始K线(self, 普K: K线): + if self.__终止时间戳 and 普K.时间戳 > self.__终止时间戳: + return + self.__处理数据(普K) + + def __处理数据(self, 普K: K线): + 状态, 当前分型 = 缠论K线.分析(普K, self.缠论K线序列, self.普通K线序列, self.配置) + if 当前分型 is None: + return + + self.配置.分析笔 and 笔.分析(当前分型, self.分型序列, self.笔序列, self.缠论K线序列, self.普通K线序列, 0, self.配置) + if not self.分型序列: + return + + self.配置.分析笔中枢 and 中枢.分析(self.笔序列, self.笔_中枢序列) + if not self.笔序列: + return + + self.配置.分析线段 and 线段.分析(self.笔序列, self.线段序列, self.配置) + self.配置.分析线段中枢 and 中枢.分析(self.线段序列, self.中枢序列) + + self.配置.分析扩展线段 and 线段.扩展分析(self.笔序列, self.扩展线段序列, self.配置) + self.配置.分析线段中枢 and 中枢.分析(self.扩展线段序列, self.扩展中枢序列) + + self.配置.分析扩展线段 and 线段.扩展分析(self.线段序列, self.扩展线段序列_线段, self.配置) + self.配置.分析线段中枢 and 中枢.分析(self.扩展线段序列_线段, self.扩展中枢序列_线段) + + self.配置.分析线段 and 线段.分析(self.线段序列, self.线段_线段序列, self.配置) + self.配置.分析线段中枢 and 中枢.分析(self.线段_线段序列, self.线段_中枢序列) + + self.配置.分析扩展线段 and 线段.扩展分析(self.扩展线段序列, self.扩展线段序列_扩展线段, self.配置) + self.配置.分析线段中枢 and 中枢.分析(self.扩展线段序列_扩展线段, self.扩展中枢序列_扩展线段) + + def 测试_保存数据(self, root: str = None): + """拆分各序列数据,单独存文件,文件名为对应变量名""" + # 提取各类文本数据 + 笔序列_文本数据 = [筆.获取数据文本() for 筆 in self.笔序列] + 线段序列_文本数据 = [实线.获取数据文本() for 实线 in self.线段序列] + 扩展线段序列_数据文本 = [实线.获取数据文本() for 实线 in self.扩展线段序列] + 扩展线段序列_线段_数据文本 = [实线.获取数据文本() for 实线 in self.扩展线段序列_线段] + 线段_线段序列_数据文本 = [实线.获取数据文本() for 实线 in self.线段_线段序列] + 扩展线段序列_扩展线段_数据文本 = [实线.获取数据文本() for 实线 in self.扩展线段序列_扩展线段] + + 笔_中枢序列_数据文本 = [当前中枢.获取数据文本() for 当前中枢 in self.笔_中枢序列] + 中枢序列_数据文本 = [当前中枢.获取数据文本() for 当前中枢 in self.中枢序列] + 扩展中枢序列_数据文本 = [当前中枢.获取数据文本() for 当前中枢 in self.扩展中枢序列] + 扩展中枢序列_线段_数据文本 = [当前中枢.获取数据文本() for 当前中枢 in self.扩展中枢序列_线段] + 线段_中枢序列_数据文本 = [当前中枢.获取数据文本() for 当前中枢 in self.线段_中枢序列] + 扩展中枢序列_扩展线段_数据文本 = [当前中枢.获取数据文本() for 当前中枢 in self.扩展中枢序列_扩展线段] + + # ===================== 优化点:优先使用传入的 root 目录 ===================== + if root is not None: + # 使用用户指定的根目录 + 根目录 = Path(root) + else: + # 默认:当前脚本所在目录 + 根目录 = Path(__file__).parent + + # 生成子目录名称(不变) + 起始时间 = int(self.普通K线序列[0].时间戳.timestamp()) + 结束时间 = int(self.普通K线序列[-1].时间戳.timestamp()) + 目录标识 = f"Py_{self.标识}_{起始时间}_{结束时间}" + + # 最终保存路径 = 根目录 / 自动生成的子文件夹 + 保存路径 = 根目录 / 目录标识 + 保存路径.mkdir(exist_ok=True, parents=True) # parents=True 支持多级目录自动创建 + + # 映射:变量名 -> 数据列表 + 数据映射 = [ + ("笔序列_文本数据", 笔序列_文本数据), + ("线段序列_文本数据", 线段序列_文本数据), + ("扩展线段序列_数据文本", 扩展线段序列_数据文本), + ("扩展线段序列_线段_数据文本", 扩展线段序列_线段_数据文本), + ("线段_线段序列_数据文本", 线段_线段序列_数据文本), + ("扩展线段序列_扩展线段_数据文本", 扩展线段序列_扩展线段_数据文本), + ("笔_中枢序列_数据文本", 笔_中枢序列_数据文本), + ("中枢序列_数据文本", 中枢序列_数据文本), + ("扩展中枢序列_数据文本", 扩展中枢序列_数据文本), + ("扩展中枢序列_线段_数据文本", 扩展中枢序列_线段_数据文本), + ("线段_中枢序列_数据文本", 线段_中枢序列_数据文本), + ("扩展中枢序列_扩展线段_数据文本", 扩展中枢序列_扩展线段_数据文本), + ] + + # 逐个写入独立文件 + for 文件名, 数据列表 in 数据映射: + 文件全路径 = 保存路径 / f"{文件名}.txt" + with open(文件全路径, "w", encoding="utf-8") as f: + f.write("\n".join(数据列表)) + f.write("\n") # 向 C99 对齐 + print(f"全部数据拆分保存完成,目录:{保存路径.resolve()}") + + def 识别买卖点(self): + pass + + def 静态重新分析(self): + self.分型序列: List[分型] = [] + + self.笔序列: List[虚线] = [] + self.笔_中枢序列: List[中枢] = [] + + self.线段序列: List[虚线] = [] + self.中枢序列: List[中枢] = [] + + self.扩展线段序列: List[虚线] = [] + self.扩展中枢序列: List[中枢] = [] + + self.扩展线段序列_线段: List[虚线] = [] + self.扩展中枢序列_线段: List[中枢] = [] + + self.线段_线段序列: List[虚线] = [] + self.线段_中枢序列: List[中枢] = [] + + self.扩展线段序列_扩展线段: List[虚线] = [] + self.扩展中枢序列_扩展线段: List[中枢] = [] + + for i in range(1, len(self.缠论K线序列) - 1): + 当前分型 = 分型(self.缠论K线序列[i - 1], self.缠论K线序列[i], self.缠论K线序列[i + 1]) + 笔.分析(当前分型, self.分型序列, self.笔序列, self.缠论K线序列, self.普通K线序列, 0, self.配置) + + self.配置.分析笔中枢 and 中枢.分析(self.笔序列, self.笔_中枢序列) + + self.配置.分析线段 and 线段.分析(self.笔序列, self.线段序列, self.配置) + self.配置.分析线段中枢 and 中枢.分析(self.线段序列, self.中枢序列) + + self.配置.分析扩展线段 and 线段.扩展分析(self.笔序列, self.扩展线段序列, self.配置) + self.配置.分析线段中枢 and 中枢.分析(self.扩展线段序列, self.扩展中枢序列) + + self.配置.分析扩展线段 and 线段.扩展分析(self.线段序列, self.扩展线段序列_线段, self.配置) + self.配置.分析线段中枢 and 中枢.分析(self.扩展线段序列_线段, self.扩展中枢序列_线段) + + self.配置.分析线段 and 线段.分析(self.线段序列, self.线段_线段序列, self.配置) + self.配置.分析线段中枢 and 中枢.分析(self.线段_线段序列, self.线段_中枢序列) + + @classmethod + def 读取数据文件(cls, 文件路径: str, 配置=缠论配置()) -> Self: + # btcusd-300-1631772074-1632222374.nb + name = Path(文件路径).name.split(".")[0] + 符号, 周期, 起始时间戳, 结束时间戳 = name.split("-") + 实例 = cls(符号=符号, 周期=int(周期), 配置=配置) + + with open(文件路径, "rb") as f: + buffer = f.read() + size = struct.calcsize(">6d") + for i in range(len(buffer) // size): + k线 = K线.读取大端字节数组(buffer[i * size : i * size + size], int(周期)) + 实例.增加原始K线(k线) + + return 实例 + + +class K线合成器: + def __init__(self, 标识: str, 周期组: List[int], 事件回调: Optional[Callable] = None): + self.标识 = 标识 + self.周期组 = sorted(周期组) # 按周期从小到大排序 + self.当前K线: Dict[int, Optional[K线]] = {周期: None for 周期 in 周期组} + self.合成K线列表: Dict[int, List[K线]] = {周期: [] for 周期 in 周期组} + self.事件回调 = 事件回调 # 新增:事件回调函数 + + def 设置事件回调(self, 回调函数: Callable): + """设置事件回调函数""" + self.事件回调 = 回调函数 + + def 投喂(self, 时间戳: datetime, 开: float, 高: float, 低: float, 收: float, 量: float): + """投喂原始tick数据""" + 普K = K线.创建普K( + 标识=self.标识, + 序号=0, # 原始数据序号不重要 + 时间戳=时间戳, + 开盘价=开, + 最高价=高, + 最低价=低, + 收盘价=收, + 成交量=量, + 周期=0, # 原始数据是0秒周期 + ) + self.投喂K线(普K) + + def 投喂K线(self, 普K: K线): + """投喂K线对象""" + for 周期 in self.周期组: + self._处理单个周期(周期, 普K) + + def _处理单个周期(self, 周期: int, 普K: K线): + """处理单个周期的K线合成""" + 目标时间戳 = self._对齐时间戳(普K.时间戳, 周期) + 当前K线 = self.当前K线[周期] + if 当前K线 is None: + # 创建新的K线 + self.当前K线[周期] = self._创建新K线(周期, 目标时间戳, 普K) + elif 当前K线.时间戳 == 目标时间戳: + # 更新当前K线 + self._更新K线(当前K线, 普K) + else: + # 完成当前K线,创建新K线 + self._完成K线(周期) + self.当前K线[周期] = self._创建新K线(周期, 目标时间戳, 普K) + + def _对齐时间戳(self, 时间戳: datetime, 周期: int) -> datetime: + """将时间戳对齐到周期边界""" + total_seconds = int(时间戳.timestamp()) + aligned_seconds = (total_seconds // 周期) * 周期 + return datetime.fromtimestamp(aligned_seconds) + + def _创建新K线(self, 周期: int, 时间戳: datetime, 普K: K线) -> K线: + """创建新的合成K线""" + return K线.创建普K( + 标识=self.标识, + 序号=0 if not self.合成K线列表[周期] else self.合成K线列表[周期][-1].序号 + 1, + 时间戳=时间戳, + 开盘价=普K.开盘价, + 最高价=普K.高, + 最低价=普K.低, + 收盘价=普K.收盘价, + 成交量=普K.成交量, + 周期=周期, + ) + + def _更新K线(self, 当前K线: K线, 新数据: K线): + """更新当前K线数据""" + 当前K线.高 = max(当前K线.高, 新数据.高) + 当前K线.低 = min(当前K线.低, 新数据.低) + 当前K线.收盘价 = 新数据.收盘价 + 当前K线.成交量 += 新数据.成交量 + # 当前K线.原始结束序号 = 新数据.序号 + + def _完成K线(self, 周期: int): + """完成当前K线并添加到列表""" + 当前K线 = self.当前K线[周期] + if 当前K线 is None: + return + + # 这里可以添加最终的处理逻辑,比如计算MACD等 + if self.合成K线列表[周期]: + 当前K线.序号 = self.合成K线列表[周期][-1].序号 + 1 + + self.合成K线列表[周期].append(当前K线) + + self.当前K线[周期] = None + # 新增:产生完成K线信号 + self._产生完成K线信号(周期, 当前K线) + + def _产生完成K线信号(self, 周期: int, 完成K线: K线): + """产生K线完成信号""" + if self.事件回调: + try: + self.事件回调(信号类型="K线完成", 标识=self.标识, 周期=周期, 完成K线=完成K线) + except Exception as e: + print(f"K线合成器信号回调错误: {e}") + + def 获取当前K线(self, 周期: int) -> Optional[K线]: + """获取指定周期当前正在合成的K线""" + return self.当前K线[周期] + + +class 立体分析器: + def __init__(self, 符号: str, 周期组: List[int], 配置: 缠论配置 = 缠论配置(), 配置组: Dict[int, 缠论配置] = dict()): + self.周期组 = 周期组 + + self.__输入周期 = self.周期组[0] # 最小输入K线周期 + self.__显示周期 = self.周期组[1] + self._K线合成器 = K线合成器(符号, self.周期组, self.__K线回调) + + self._单体分析器 = dict() + for 周期 in self.周期组: + 临时配置 = 配置组.get(周期, 配置) + 当前配置 = 临时配置.model_copy( + update={ + "推送K线": False, + # "推送笔": False, + "推送线段": False, + # "图表展示": False, + }, + deep=True, + ) + self._单体分析器[周期] = 观察者(符号=符号, 周期=周期, 配置=当前配置) + + self._单体分析器[self.__显示周期].配置.推送K线 = True + self._单体分析器[self.__显示周期].配置.推送笔 = True + self._单体分析器[self.__显示周期].配置.推送线段 = True + self._单体分析器[self.__显示周期].配置.图表展示 = True + self._单体分析器[self.__显示周期].重置基础序列() + + for 周期 in self.周期组: # 将不同周期对其至显示周期 + if 周期 != self.__显示周期: + self._单体分析器[周期].基础缠K序列 = self._单体分析器[self.__显示周期].缠论K线序列 + + def 投喂K线(self, 普K: K线): + if 普K.周期 != self.__输入周期: + raise RuntimeError("立体分析器.投喂K线", 普K.周期, self.__输入周期) + self._K线合成器.投喂K线(普K) + + def __K线回调(self, 信号类型: str, 标识: str, 周期: int, 完成K线: K线): + self._单体分析器[周期].增加原始K线(完成K线) + if 当前K线 := self._K线合成器.获取当前K线(周期): + self._单体分析器[周期].增加原始K线(当前K线) + + def 测试_保存数据(self): + """拆分各序列数据,单独存文件,文件名为对应变量名""" + + # 生成存储根目录 + 脚本目录 = Path(__file__).parent # 取当前脚本所在文件夹 + 起始时间 = int(self._单体分析器[self.__输入周期].普通K线序列[0].时间戳.timestamp()) + 结束时间 = int(self._单体分析器[self.__输入周期].普通K线序列[-1].时间戳.timestamp()) + 目录标识 = f"PyM_{self._单体分析器[self.__输入周期].标识}_{起始时间}_{结束时间}" + + # 最终保存路径 = 脚本目录 / 自动生成的文件夹 + 保存路径 = 脚本目录 / 目录标识 + 保存路径.mkdir(exist_ok=True) + + for 周期 in self.周期组: + self._单体分析器[周期].测试_保存数据(保存路径) + + print(f"多级别数据拆分保存完成,目录:{保存路径.resolve()}") + + +def 测试_读取数据(配置: 缠论配置): + def 魔法(): + 启动时间 = datetime.now() + 观察员 = 观察者.读取数据文件(配置.加载文件路径, 配置) + 消耗用时 = datetime.now() - 启动时间 + print("测试_读取数据 耗时", 消耗用时, "普K数量", len(观察员.普通K线序列)) + return 观察员 + + return 魔法 + + +def 测试_周期合成(配置: 缠论配置, 配置组: Dict[int, 缠论配置] = dict()): + 文件路径 = 配置.加载文件路径 + name = Path(文件路径).name.split(".")[0] + 符号, 周期, 起始时间戳, 结束时间戳 = name.split("-") + 周期 = int(周期) + 周期组 = [周期, 周期 * 5, 周期 * 5 * 6] + + def 魔法(): + 启动时间 = datetime.now() + 多级别分析 = 立体分析器(符号, 周期组, 配置, 配置组) + with open(文件路径, "rb") as f: + buffer = f.read() + size = struct.calcsize(">6d") + for i in range(len(buffer) // size): + k线 = K线.读取大端字节数组(buffer[i * size : i * size + size], 周期) + 多级别分析.投喂K线(k线) + 消耗用时 = datetime.now() - 启动时间 + print("测试_周期合成", 消耗用时, "普K数量", len(多级别分析._单体分析器[周期].普通K线序列)) + return 多级别分析 + + return 魔法 + + +if __name__ == "__main__": + 当前配置 = 缠论配置.不推送() + 当前配置.加载文件路径 = "./btcusd-300-1761327300-1776327900.nb" + 测试_读取数据(当前配置)().测试_保存数据() + 测试_周期合成(当前配置)().测试_保存数据() diff --git a/chanlun/Cargo.toml b/chanlun/Cargo.toml new file mode 100644 index 0000000..abb7daa --- /dev/null +++ b/chanlun/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "chanlun" +version = "0.1.0" +edition = "2021" + +[dependencies] +serde = { version = "1", features = ["derive"] } +serde_json = "1" +byteorder = "1" +chrono = { version = "0.4", features = ["serde"] } diff --git a/chanlun/src/algorithm/bi.rs b/chanlun/src/algorithm/bi.rs new file mode 100644 index 0000000..aa11e75 --- /dev/null +++ b/chanlun/src/algorithm/bi.rs @@ -0,0 +1,821 @@ +use crate::business::observer::观察者; +use crate::config::缠论配置; +use crate::kline::bar::K线; +use crate::kline::chan_kline::缠论K线; +use crate::structure::dash_line::虚线; +use crate::structure::fractal_obj::分型; +use crate::types::{分型结构, 相对方向}; +use std::rc::Rc; + +/// 笔 — 从分型生成笔的算法集合(静态方法命名空间) +pub struct 笔; + +impl 笔 { + /// 获取可成笔的缠K数量(考虑弱化模式) + pub fn 获取缠K数量(缠K序列: &[Rc<缠论K线>], 笔序列: &[Rc<虚线>], 配置: &缠论配置) -> usize { + let 实际数量 = 缠K序列.len(); + if 实际数量 >= 配置.笔内元素数量 as usize { + return 实际数量; + } + + if 配置.笔弱化 && 实际数量 >= 3 { + let 实际高点 = Self::实际高点(缠K序列, 配置.笔内相同终点取舍); + let 实际低点 = Self::实际低点(缠K序列, 配置.笔内相同终点取舍); + + if let (Some(ref 高点), Some(ref 低点)) = (&实际高点, &实际低点) { + let 原始数量 = 1 + (低点.标的K线.序号 - 高点.标的K线.序号).unsigned_abs() as usize; + if 原始数量 >= 配置.笔内元素数量 as usize { + return 配置.笔内元素数量 as usize; + } + } + + if !笔序列.is_empty() { + // Try both high and low points (Python: 根据缠K找笔(笔序列, 实际高点) or 根据缠K找笔(笔序列, 实际低点)) + let 筆 = 实际高点.as_ref() + .and_then(|h| Self::根据缠K找笔(笔序列, h, 1)) + .or_else(|| 实际低点.as_ref().and_then(|l| Self::根据缠K找笔(笔序列, l, 1))); + + if let Some(ref 筆) = 筆 { + if let (Some(ref 高_k), Some(ref 低_k)) = (&实际高点, &实际低点) { + let 原始数量 = 1 + (低_k.标的K线.序号 - 高_k.标的K线.序号).unsigned_abs() as usize; + // 向上笔 + if 筆.方向().是否向上() && 低_k.低 < 筆.低() { + if 原始数量 >= 配置.笔弱化_原始数量 as usize { + return 配置.笔内元素数量 as usize; + } + } + // 向下笔 + if 筆.方向().是否向下() && 低_k.低 > 筆.高() { + if 原始数量 >= 配置.笔弱化_原始数量 as usize { + return 配置.笔内元素数量 as usize; + } + } + } + } + } + } + 实际数量 + } + + /// 次高 — 排除最高值后的次高点 + pub fn 次高(缠K序列: &[Rc<缠论K线>], 取舍: bool) -> Option> { + if 缠K序列.len() < 2 { + return 缠K序列.first().cloned(); + } + let max_高 = 缠K序列.iter().map(|k| k.高).fold(f64::NEG_INFINITY, f64::max); + // 排除最高值 + let filtered: Vec<&Rc<缠论K线>> = 缠K序列.iter().filter(|k| k.高 != max_高).collect(); + if filtered.is_empty() { + return 缠K序列.first().cloned(); + } + // 筛选次高值 + let second_高 = filtered.iter().map(|k| k.高).fold(f64::NEG_INFINITY, f64::max); + let mut candidates: Vec<&Rc<缠论K线>> = filtered.iter().filter(|k| k.高 == second_高).copied().collect(); + // 按时间戳排序 + candidates.sort_by(|a, b| a.时间戳.cmp(&b.时间戳)); + if 取舍 { + Some(Rc::clone(candidates[candidates.len() - 1])) + } else { + Some(Rc::clone(candidates[0])) + } + } + + /// 次低 — 排除最低值后的次低点 + pub fn 次低(缠K序列: &[Rc<缠论K线>], 取舍: bool) -> Option> { + if 缠K序列.len() < 2 { + return 缠K序列.first().cloned(); + } + let min_低 = 缠K序列.iter().map(|k| k.低).fold(f64::INFINITY, f64::min); + // 排除最低值 + let filtered: Vec<&Rc<缠论K线>> = 缠K序列.iter().filter(|k| k.低 != min_低).collect(); + if filtered.is_empty() { + return 缠K序列.first().cloned(); + } + // 筛选次低值 + let second_低 = filtered.iter().map(|k| k.低).fold(f64::INFINITY, f64::min); + let mut candidates: Vec<&Rc<缠论K线>> = filtered.iter().filter(|k| k.低 == second_低).copied().collect(); + // 按时间戳排序 + candidates.sort_by(|a, b| a.时间戳.cmp(&b.时间戳)); + if 取舍 { + Some(Rc::clone(candidates[candidates.len() - 1])) + } else { + Some(Rc::clone(candidates[0])) + } + } + + /// 实际高点 + pub fn 实际高点(缠K序列: &[Rc<缠论K线>], 取舍: bool) -> Option> { + if 缠K序列.is_empty() { + return None; + } + let max_高 = 缠K序列.iter().map(|k| k.高).fold(f64::NEG_INFINITY, f64::max); + let mut candidates: Vec<&Rc<缠论K线>> = 缠K序列.iter().filter(|k| k.高 == max_高).collect(); + if candidates.is_empty() { + return Some(Rc::clone(&缠K序列[0])); + } + // 按时间戳排序 + candidates.sort_by(|a, b| a.时间戳.cmp(&b.时间戳)); + if 取舍 { + Some(Rc::clone(candidates[candidates.len() - 1])) + } else { + Some(Rc::clone(candidates[0])) + } + } + + /// 实际低点 + pub fn 实际低点(缠K序列: &[Rc<缠论K线>], 取舍: bool) -> Option> { + if 缠K序列.is_empty() { + return None; + } + let min_低 = 缠K序列.iter().map(|k| k.低).fold(f64::INFINITY, f64::min); + let mut candidates: Vec<&Rc<缠论K线>> = 缠K序列.iter().filter(|k| k.低 == min_低).collect(); + if candidates.is_empty() { + return Some(Rc::clone(&缠K序列[0])); + } + // 按时间戳排序 + candidates.sort_by(|a, b| a.时间戳.cmp(&b.时间戳)); + if 取舍 { + Some(Rc::clone(candidates[candidates.len() - 1])) + } else { + Some(Rc::clone(candidates[0])) + } + } + + /// 判断笔的相对关系是否合理 + pub fn 相对关系(筆: &虚线, _配置: &缠论配置) -> bool { + let 文 = &筆.文; + let 武 = &筆.武; + + // 向上笔:文(底)低 → 武(顶)高 + if 筆.方向().是否向上() { + return 武.分型特征值 > 文.分型特征值; + } + // 向下笔:文(顶)高 → 武(底)低 + 武.分型特征值 < 文.分型特征值 + } + + /// 以文会友 — 根据起点分型找笔 + pub fn 以文会友(笔序列: &[Rc<虚线>], 文: &Rc<分型>) -> Option> { + 笔序列.iter().find(|b| Rc::as_ptr(&b.文) == Rc::as_ptr(文)).cloned() + } + + /// 以武会友 — 根据终点分型找笔 + pub fn 以武会友(笔序列: &[Rc<虚线>], 武: &Rc<分型>) -> Option> { + 笔序列.iter().find(|b| Rc::as_ptr(&b.武) == Rc::as_ptr(武)).cloned() + } + + /// 根据缠K找对应的笔 + pub fn 根据缠K找笔(笔序列: &[Rc<虚线>], 缠K: &Rc<缠论K线>, 偏移: i64) -> Option> { + // Python iterates in reverse: for 筆 in 笔序列[::-1] + for b in 笔序列.iter().rev() { + // Python: 筆.文.中.序号 - 偏移 <= 缠K.序号 <= 筆.武.中.序号 + if b.文.中.序号 - 偏移 <= 缠K.序号 && 缠K.序号 <= b.武.中.序号 { + return Some(Rc::clone(b)); + } + } + None + } + + /// 从分型序列中弹出最后一个分型和对应的笔 + fn 弹出旧笔(分型序列: &mut Vec>, 笔序列: &mut Vec>) { + 分型序列.pop(); + if !笔序列.is_empty() { + // Python sets旧笔.有效性 = False; with Rc we just drop the笔 + 笔序列.pop(); + } + } + + /// 核心笔分析 — 使用显式栈模拟递归 + /// + /// 返回: 递归层次数 + pub fn 分析( + 初始分型: Rc<分型>, + 分型序列: &mut Vec>, + 笔序列: &mut Vec>, + 缠K序列: &[Rc<缠论K线>], + _普K序列: &[Rc], + 配置: &缠论配置, + ) -> i64 { + enum 栈项 { + 分型(Rc<分型>, i64), + /// 修复错过笔哨兵: 若临时分型被接受为最后一个元素,则扫描武将之后的所有分型 + 修复错过笔 { + 临时分型: Rc<分型>, + 武将缠K: Rc<缠论K线>, + 层次: i64, + }, + } + + let mut 栈: Vec<栈项> = Vec::new(); + 栈.push(栈项::分型(初始分型, 0)); + + while let Some(项) = 栈.pop() { + let (当前分型, 递归层次) = match 项 { + 栈项::分型(fx, lvl) => (fx, lvl), + 栈项::修复错过笔 { + 临时分型, + 武将缠K, + 层次, + } => { + // Python line 2406: only scan if临时分型 was accepted as last element + if !分型序列.is_empty() { + if let Some(last_fx) = 分型序列.last() { + if Rc::as_ptr(last_fx) == Rc::as_ptr(&临时分型) { + if let Some(武_idx) = 缠K序列 + .iter() + .position(|k| Rc::as_ptr(k) == Rc::as_ptr(&武将缠K)) + { + let mut 错过: Vec> = Vec::new(); + for ck in &缠K序列[武_idx..] { + if ck.分型 == Some(分型结构::底) + || ck.分型 == Some(分型结构::顶) + { + if let Some(fx) = + 分型::从缠K序列中获取分型(缠K序列, ck) + { + 错过.push(Rc::new(fx)); + } + } + } + // Push in reverse so first in slice is processed first + for m in 错过.into_iter().rev() { + 栈.push(栈项::分型(m, 层次 + 1)); + } + } + } + } + } + // 当前分型 is already next on the stack (pushed before this哨兵) + continue; + } + }; + + if 递归层次 > 256 { + continue; + } + + if !matches!(当前分型.结构, 分型结构::顶 | 分型结构::底) { + continue; + } + + // Python line 2322-2325: 第一个分型直接追加 + if 分型序列.is_empty() { + 分型序列.push(当前分型); + continue; + } + + let 之前分型 = Rc::clone(分型序列.last().unwrap()); + + // Python line 2330-2335: 清理无效数据 + if 之前分型.时间戳 == 当前分型.时间戳 + || matches!(之前分型.结构, 分型结构::上 | 分型结构::下) + { + Self::弹出旧笔(分型序列, 笔序列); + if 分型序列.is_empty() { + if 当前分型.右.is_some() { + 分型序列.push(当前分型); + } + continue; + } + } + + let 之前分型 = Rc::clone(分型序列.last().unwrap()); + + // Python line 2338: 时序检查 — skip out-of-order fractals + if 之前分型.时间戳 > 当前分型.时间戳 && 之前分型.中.序号 - 当前分型.中.序号 > 1 { + continue; + } + + // Python line 2343-2348: 笔弱化模式 + if 配置.笔弱化 && !笔序列.is_empty() { + let 前一笔 = 笔序列.last().unwrap(); + let 前一笔缠K数 = 前一笔.武.中.序号 - 前一笔.文.中.序号 + 1; + if 前一笔缠K数 == 3 { + let 破位 = (前一笔.方向().是否向上() + && 前一笔.低() > 当前分型.分型特征值 + && 当前分型.结构 == 分型结构::底) + || (前一笔.方向().是否向下() + && 前一笔.高() < 当前分型.分型特征值 + && 当前分型.结构 == 分型结构::顶); + if 破位 { + Self::弹出旧笔(分型序列, 笔序列); + 栈.push(栈项::分型(当前分型, 递归层次 + 1)); + continue; + } + } + } + + // Re-read之前分型 again after笔弱化 pop + let 之前分型 = Rc::clone(分型序列.last().unwrap()); + + // Python line 2350: 分型结构相反 → 可能成笔 + if 之前分型.结构 != 当前分型.结构 { + let 文_idx = 缠K序列.iter().position(|k| Rc::as_ptr(k) == Rc::as_ptr(&之前分型.中)); + let 武_idx = 缠K序列.iter().position(|k| Rc::as_ptr(k) == Rc::as_ptr(&当前分型.中)); + + if let (Some(文_idx), Some(武_idx)) = (文_idx, 武_idx) { + let 基础序列 = &缠K序列[文_idx..=武_idx]; + let 缠K数量 = Self::获取缠K数量(基础序列, 笔序列, 配置); + + if 缠K数量 >= 配置.笔内元素数量 as usize { + // Python line 2354-2357: 文官 always uses false (not 笔内相同终点取舍) + let 文官 = match 之前分型.结构 { + 分型结构::顶 => Self::实际高点(基础序列, false), + _ => Self::实际低点(基础序列, false), + }; + + // Python line 2359-2367: 文官 != 之前分型.中 → adjust + if let Some(ref 文官_k) = 文官 { + if Rc::as_ptr(文官_k) != Rc::as_ptr(&之前分型.中) { + if let Some(临时分型) = + 分型::从缠K序列中获取分型(缠K序列, 文官_k) + { + 栈.push(栈项::分型(当前分型, 递归层次)); + 栈.push(栈项::分型(Rc::new(临时分型), 递归层次 + 1)); + continue; + } + } + } + + // Python line 2369-2372: 武将 + let 武将 = match 当前分型.结构 { + 分型结构::底 => Self::实际低点(基础序列, 配置.笔内相同终点取舍), + _ => Self::实际高点(基础序列, 配置.笔内相同终点取舍), + }; + + let 新笔 = Rc::new(虚线::创建笔( + Rc::clone(&之前分型), + Rc::clone(&当前分型), + true, + )); + + // Python line 2374-2376: 相对关系 and武将 matches + if Self::相对关系(&新笔, 配置) { + if let Some(ref 武将_k) = 武将 { + if Rc::as_ptr(武将_k) == Rc::as_ptr(&当前分型.中) { + Self::_添加新笔递归(分型序列, 笔序列, 当前分型, 新笔); + continue; + } + } + } + + // Python line 2378-2385: 笔次级成笔 + if 配置.笔次级成笔 { + let 武将 = match 当前分型.结构 { + 分型结构::底 => Self::次低(基础序列, 配置.笔内相同终点取舍), + _ => Self::次高(基础序列, 配置.笔内相同终点取舍), + }; + if let Some(ref 武将_k) = 武将 { + if Rc::as_ptr(武将_k) == Rc::as_ptr(&当前分型.中) + && Self::相对关系(&新笔, 配置) + { + Self::_添加新笔递归(分型序列, 笔序列, 当前分型, 新笔); + continue; + } + } + } + } else { + // Python line 2388-2390: 元素不足 → 右元素扩展 + if let Some(ref 右) = 当前分型.右 { + if let Some(临时分型) = 分型::从缠K序列中获取分型(缠K序列, 右) { + 栈.push(栈项::分型(Rc::new(临时分型), 递归层次 + 1)); + continue; + } + } + } + } + } else { + // Python line 2392-2419: 分型结构相同 → 更强则替换 + 修复错过笔 + let 分型特征值 = 当前分型.分型特征值; + + let 更强 = match 之前分型.结构 { + 分型结构::顶 => 之前分型.分型特征值 < 分型特征值, + 分型结构::底 => 之前分型.分型特征值 > 分型特征值, + _ => false, + }; + + if 更强 { + let 被替换分型 = Rc::clone(&之前分型); + Self::弹出旧笔(分型序列, 笔序列); + + if let Some(k线序列) = + 缠论K线::截取(缠K序列, &被替换分型.中, &当前分型.中) + { + let 武将 = match 被替换分型.结构 { + 分型结构::顶 => { + Self::实际低点(&k线序列, 配置.笔内相同终点取舍) + } + _ => Self::实际高点(&k线序列, 配置.笔内相同终点取舍), + }; + + if let Some(ref 武将_k) = 武将 { + if let Some(临时分型) = + 分型::从缠K序列中获取分型(缠K序列, 武将_k) + { + let 临时分型_rc = Rc::new(临时分型); + + if !分型序列.is_empty() { + // Push in reverse processing order (LIFO): + 栈.push(栈项::分型(Rc::clone(&当前分型), 递归层次 + 2)); + 栈.push(栈项::修复错过笔 { + 临时分型: Rc::clone(&临时分型_rc), + 武将缠K: Rc::clone(武将_k), + 层次: 递归层次 + 1, + }); + 栈.push(栈项::分型(临时分型_rc, 递归层次 + 1)); + continue; + } else { + 分型序列.push(当前分型); + continue; + } + } + } + } + + if 分型序列.is_empty() { + 分型序列.push(当前分型); + } else { + 栈.push(栈项::分型(当前分型, 递归层次 + 1)); + } + } + } + } + + 栈.len() as i64 + } + + /// 核心笔分析 — 递归实现,逐句对照 chan.py 笔.分析 / 笔递归分析 + /// + /// 返回: 递归层次数 + pub fn 分析递归( + 当前分型: Rc<分型>, + 分型序列: &mut Vec>, + 笔序列: &mut Vec>, + 缠K序列: &[Rc<缠论K线>], + _普K序列: &[Rc], + 递归层次: i64, + 配置: &缠论配置, + ) -> i64 { + // Python line 2315-2317: 递归深度限制 + if 递归层次 > 64 { + println!("笔.分析 递归深度超出 64 < {}", 递归层次); + } + + // Python line 2319-2320: 非顶底分型跳过 + if !matches!(当前分型.结构, 分型结构::顶 | 分型结构::底) { + return 递归层次; + } + + // Python line 2322-2325: 第一个分型直接追加 + if 分型序列.is_empty() { + if matches!(当前分型.结构, 分型结构::顶 | 分型结构::底) { + 分型序列.push(当前分型); + } + return 递归层次; + } + + // Python line 2329-2335: 清理无效数据 + let 之前分型 = Rc::clone(分型序列.last().unwrap()); + if 之前分型.时间戳 == 当前分型.时间戳 + || matches!(之前分型.结构, 分型结构::上 | 分型结构::下) + { + Self::弹出旧笔(分型序列, 笔序列); + if 分型序列.is_empty() { + if 当前分型.右.is_some() { + 分型::向序列中添加(分型序列, 当前分型); + } + return 递归层次; + } + } + + // Python line 2337-2341: 时序检查 + let 之前分型 = Rc::clone(分型序列.last().unwrap()); + if 之前分型.时间戳 > 当前分型.时间戳 && 之前分型.中.序号 - 当前分型.中.序号 > 1 { + println!("时序错误-{}, {}, {}", 递归层次, 之前分型, 当前分型); + return 递归层次; + } + + // Python line 2343-2348: 笔弱化模式 + if 配置.笔弱化 && !笔序列.is_empty() { + let 前一笔 = 笔序列.last().unwrap(); + let 前一笔缠K数 = 前一笔.武.中.序号 - 前一笔.文.中.序号 + 1; + if 前一笔缠K数 == 3 { + let 破位 = (前一笔.方向().是否向上() + && 前一笔.低() > 当前分型.分型特征值 + && 当前分型.结构 == 分型结构::底) + || (前一笔.方向().是否向下() + && 前一笔.高() < 当前分型.分型特征值 + && 当前分型.结构 == 分型结构::顶); + if 破位 { + Self::弹出旧笔(分型序列, 笔序列); + return Self::分析递归( + 当前分型, 分型序列, 笔序列, 缠K序列, _普K序列, 递归层次 + 1, 配置, + ); + } + } + } + + // Python line 2350: 分型结构相反 → 可能成笔 + let 之前分型 = Rc::clone(分型序列.last().unwrap()); + if 之前分型.结构 != 当前分型.结构 { + if let Some(基础序列) = 缠论K线::截取(缠K序列, &之前分型.中, &当前分型.中) { + let 当前笔 = Rc::new(虚线::创建笔( + Rc::clone(&之前分型), + Rc::clone(&当前分型), + true, + )); + + if Self::获取缠K数量(&基础序列, 笔序列, 配置) >= 配置.笔内元素数量 as usize + { + // Python line 2354-2357: 文官 + let 文官 = match 之前分型.结构 { + 分型结构::顶 => Self::实际高点(&基础序列, false), + _ => Self::实际低点(&基础序列, false), + }; + + // Python line 2359-2367: 文官调整 + if let Some(ref 文官_k) = 文官 { + if Rc::as_ptr(文官_k) != Rc::as_ptr(&之前分型.中) { + if let Some(临时分型) = + 分型::从缠K序列中获取分型(缠K序列, 文官_k) + { + let 递归层次 = Self::分析递归( + Rc::new(临时分型), + 分型序列, + 笔序列, + 缠K序列, + _普K序列, + 递归层次 + 1, + 配置, + ); + return Self::分析递归( + 当前分型, 分型序列, 笔序列, 缠K序列, _普K序列, + 递归层次 + 1, + 配置, + ); + } + } + } + + // Python line 2369-2375: 武将 and笔形成 + let 武将 = match 当前分型.结构 { + 分型结构::底 => { + Self::实际低点(&基础序列, 配置.笔内相同终点取舍) + } + _ => Self::实际高点(&基础序列, 配置.笔内相同终点取舍), + }; + + if Self::相对关系(&当前笔, 配置) { + if let Some(ref 武将_k) = 武将 { + if Rc::as_ptr(武将_k) == Rc::as_ptr(&当前分型.中) { + // 直接添加(对照 Python _添加新笔:直接 append) + Self::_添加新笔递归(分型序列, 笔序列, 当前分型, 当前笔); + return 递归层次; + } + } + } + + // Python line 2378-2385: 笔次级成笔 + if 配置.笔次级成笔 { + let 武将 = match 当前分型.结构 { + 分型结构::底 => { + Self::次低(&基础序列, 配置.笔内相同终点取舍) + } + _ => Self::次高(&基础序列, 配置.笔内相同终点取舍), + }; + if let Some(ref 武将_k) = 武将 { + if Rc::as_ptr(武将_k) == Rc::as_ptr(&当前分型.中) + && Self::相对关系(&当前笔, 配置) + { + Self::_添加新笔递归(分型序列, 笔序列, 当前分型, 当前笔); + return 递归层次; + } + } + } + } else { + // Python line 2388-2390: 元素不足 → 右元素扩展 + if let Some(ref 右) = 当前分型.右 { + if let Some(临时分型) = + 分型::从缠K序列中获取分型(缠K序列, 右) + { + return Self::分析递归( + Rc::new(临时分型), + 分型序列, + 笔序列, + 缠K序列, + _普K序列, + 递归层次 + 1, + 配置, + ); + } + } + } + } + } else { + // Python line 2392-2419: 分型结构相同 → 更强则替换 + 修复错过笔 + let 分型特征值 = 当前分型.分型特征值; + + let 更强 = match 之前分型.结构 { + 分型结构::顶 => 之前分型.分型特征值 < 分型特征值, + 分型结构::底 => 之前分型.分型特征值 > 分型特征值, + _ => false, + }; + + if 更强 { + // 保存被弹出的之前分型(用于修复错过笔的范围计算) + let 被替换分型 = Rc::clone(&之前分型); + Self::弹出旧笔(分型序列, 笔序列); + + if let Some(k线序列) = + 缠论K线::截取(缠K序列, &被替换分型.中, &当前分型.中) + { + let 武将 = match 被替换分型.结构 { + 分型结构::顶 => { + Self::实际低点(&k线序列, 配置.笔内相同终点取舍) + } + _ => Self::实际高点(&k线序列, 配置.笔内相同终点取舍), + }; + + if let Some(ref 武将_k) = 武将 { + if let Some(临时分型) = + 分型::从缠K序列中获取分型(缠K序列, 武将_k) + { + let 临时分型_rc = Rc::new(临时分型); + + if !分型序列.is_empty() { + let mut 递归层次 = Self::分析递归( + Rc::clone(&临时分型_rc), + 分型序列, + 笔序列, + 缠K序列, + _普K序列, + 递归层次 + 1, + 配置, + ); + + // 修复错过的笔: 扫描武将之后的所有分型 + if !分型序列.is_empty() + && Rc::as_ptr(分型序列.last().unwrap()) + == Rc::as_ptr(&临时分型_rc) + { + if let Some(武_idx) = 缠K序列 + .iter() + .position(|k| Rc::as_ptr(k) == Rc::as_ptr(武将_k)) + { + for ck in &缠K序列[武_idx..] { + if ck.分型 == Some(分型结构::底) + || ck.分型 == Some(分型结构::顶) + { + if let Some(错过分型) = + 分型::从缠K序列中获取分型(缠K序列, ck) + { + let 错过分型_rc = + Rc::new(错过分型); + 递归层次 = Self::分析递归( + Rc::clone(&错过分型_rc), + 分型序列, + 笔序列, + 缠K序列, + _普K序列, + 递归层次 + 1, + 配置, + ); + } + } + } + } + } + + return Self::分析递归( + 当前分型, 分型序列, 笔序列, 缠K序列, _普K序列, + 递归层次 + 1, + 配置, + ); + } else { + 分型::向序列中添加(分型序列, 当前分型); + } + } + } + } else if 分型序列.is_empty() { + 分型::向序列中添加(分型序列, 当前分型); + } else { + return Self::分析递归( + 当前分型, 分型序列, 笔序列, 缠K序列, _普K序列, 递归层次 + 1, 配置, + ); + } + } + } + + 递归层次 + } + + /// 添加新笔到序列(递归版本 — 直接追加,对应 Python _添加新笔) + fn _添加新笔递归( + 分型序列: &mut Vec>, + 笔序列: &mut Vec>, + 新分型: Rc<分型>, + 新笔: Rc<虚线>, + ) { + 分型序列.push(新分型); + let 序号 = if 笔序列.is_empty() { + 0 + } else { + 笔序列.last().unwrap().序号 + 1 + }; + let mut 虚线笔 = (*新笔).clone(); + 虚线笔.序号 = 序号; + if 虚线笔.武.左.is_none() && 虚线笔.武.右.is_none() { + 虚线笔.有效性 = false; + } + 笔序列.push(Rc::new(虚线笔)); + } + + /// 自检 — 验证笔的有效性(文为实际高/低点,武为实际低/高点) + pub fn 自检(筆: &虚线, 观察员: &观察者) -> bool { + let 笔序列 = &观察员.笔序列; + let 配置 = &观察员.配置; + let 基础序列 = 筆.获取缠K序列(&观察员.缠论K线序列); + if Self::获取缠K数量(&基础序列, 笔序列, 配置) >= 配置.笔内元素数量 as usize { + if 筆.方向() == 相对方向::向下 { + if let (Some(实际高), Some(实际低)) = ( + Self::实际高点(&基础序列, false), + Self::实际低点(&基础序列, 配置.笔内相同终点取舍), + ) { + if Rc::ptr_eq(&筆.文.中, &实际高) && Rc::ptr_eq(&筆.武.中, &实际低) { + return true; + } + } + } + if 筆.方向() == 相对方向::向上 { + if let (Some(实际低), Some(实际高)) = ( + Self::实际低点(&基础序列, false), + Self::实际高点(&基础序列, 配置.笔内相同终点取舍), + ) { + if Rc::ptr_eq(&筆.文.中, &实际低) && Rc::ptr_eq(&筆.武.中, &实际高) { + return true; + } + } + } + } + false + } + + /// 获取所有停顿位置 — 在笔范围内找出所有能成笔的分型组合 + pub fn 获取所有停顿位置(筆: &虚线, 观察员: &观察者) -> Vec<虚线> { + let mut 笔序列 = Vec::new(); + let 文 = Rc::clone(&筆.文); + let 基础序列 = 筆.获取缠K序列(&观察员.缠论K线序列); + + if 基础序列.len() < 5 { + return 笔序列; + } + + for i in 3..基础序列.len() - 1 { + let k = &基础序列[i]; + + if k.分型 == Some(分型结构::顶) && 筆.方向() == 相对方向::向上 { + let 左 = Rc::clone(&基础序列[i - 1]); + let 中 = Rc::clone(k); + let 右 = Rc::clone(&基础序列[i + 1]); + let 武 = 分型::new(Some(左), 中, Some(右)); + let mut 当前笔 = 虚线::创建笔(Rc::clone(&文), Rc::new(武), true); + 当前笔.序号 = 筆.序号; + if Self::自检(&当前笔, 观察员) { + 笔序列.push(当前笔); + } + } else if k.分型 == Some(分型结构::底) && 筆.方向() == 相对方向::向下 { + let 左 = Rc::clone(&基础序列[i - 1]); + let 中 = Rc::clone(k); + let 右 = Rc::clone(&基础序列[i + 1]); + let 武 = 分型::new(Some(左), 中, Some(右)); + let mut 当前笔 = 虚线::创建笔(Rc::clone(&文), Rc::new(武), true); + 当前笔.序号 = 筆.序号; + if Self::自检(&当前笔, 观察员) { + 笔序列.push(当前笔); + } + } + } + + 笔序列 + } + + /// 是否背驰过 — 判断笔是否在停顿位置出现过MACD趋向背驰 + pub fn 是否背驰过(当前筆: &虚线, 观察员: &观察者) -> Vec> { + let 停顿位置 = Self::获取所有停顿位置(当前筆, 观察员); + let mut 结果 = Vec::new(); + + for 筆 in &停顿位置 { + let k线范围 = K线::截取rc( + &观察员.普通K线序列, + &当前筆.文.中.标的K线, + &当前筆.武.中.标的K线, + ); + let 背驰信号 = 虚线::计算K线序列MACD趋向背驰(&k线范围, 筆.方向()); + if 背驰信号.iter().all(|&x| x) { + 结果.push(Rc::clone(&筆.武)); + } + } + + 结果 + } +} diff --git a/chanlun/src/algorithm/divergence.rs b/chanlun/src/algorithm/divergence.rs new file mode 100644 index 0000000..ad93480 --- /dev/null +++ b/chanlun/src/algorithm/divergence.rs @@ -0,0 +1,139 @@ +use crate::config::缠论配置; +use crate::kline::bar::K线; +use crate::structure::dash_line::虚线; +use std::rc::Rc; + +/// 背驰分析 — 判断进入段和离开段之间是否存在背驰 +pub struct 背驰分析; + +impl 背驰分析 { + /// MACD背驰 — 离开段MACD柱子面积小于进入段 + pub fn MACD背驰(进入段: &虚线, 离开段: &虚线, K线序列: &[Rc], 方式: &str) -> bool { + // 获取进入段和离开段对应的K线 + let 进入段_始 = 进入段.文.中.原始起始序号 as usize; + let 进入段_终 = 进入段.武.中.原始结束序号 as usize; + let 离开段_始 = 离开段.文.中.原始起始序号 as usize; + let 离开段_终 = 离开段.武.中.原始结束序号 as usize; + + if 进入段_终 >= K线序列.len() || 离开段_终 >= K线序列.len() { + return false; + } + + let 进入MACD = Self::柱子面积(&K线序列[进入段_始..=进入段_终], 方式); + let 离开MACD = Self::柱子面积(&K线序列[离开段_始..=离开段_终], 方式); + + // 背驰条件: 离开段面积绝对值小于进入段 + let 进入总面积 = 进入MACD.阳 + 进入MACD.阴.abs(); + let 离开总面积 = 离开MACD.阳 + 离开MACD.阴.abs(); + + if 进入总面积 < f64::EPSILON { + return false; + } + 离开总面积 < 进入总面积 + } + + /// 斜率背驰 — 离开段斜率小于进入段 + pub fn 斜率背驰(进入段: &虚线, 离开段: &虚线) -> bool { + let 进入斜率 = (进入段.武.分型特征值 - 进入段.文.分型特征值).abs() + / (进入段.武.时间戳 - 进入段.文.时间戳).abs() as f64; + let 离开斜率 = (离开段.武.分型特征值 - 离开段.文.分型特征值).abs() + / (离开段.武.时间戳 - 离开段.文.时间戳).abs() as f64; + + 离开斜率 < 进入斜率 + } + + /// 测度背驰 — 价格测度的背驰判断 + pub fn 测度背驰(进入段: &虚线, 离开段: &虚线) -> bool { + let 进入幅度 = (进入段.武.分型特征值 - 进入段.文.分型特征值).abs(); + let 离开幅度 = (离开段.武.分型特征值 - 离开段.文.分型特征值).abs(); + 离开幅度 < 进入幅度 + } + + /// 全量背驰 — MACD + 斜率 + 测度 三者全满足 + pub fn 全量背驰(进入段: &虚线, 离开段: &虚线, 普K序列: &[Rc]) -> bool { + Self::MACD背驰(进入段, 离开段, 普K序列, "总") + && Self::斜率背驰(进入段, 离开段) + && Self::测度背驰(进入段, 离开段) + } + + /// 任意背驰 — 任一条件满足即可 + pub fn 任意背驰(进入段: &虚线, 离开段: &虚线, 普K序列: &[Rc]) -> bool { + Self::MACD背驰(进入段, 离开段, 普K序列, "总") + || Self::斜率背驰(进入段, 离开段) + || Self::测度背驰(进入段, 离开段) + } + + /// 配置背驰 — 根据配置选择判断方式 + pub fn 配置背驰(进入段: &虚线, 离开段: &虚线, 普K序列: &[Rc], 配置: &缠论配置) -> bool { + let mut result = true; + if 配置.线段内部背驰_MACD { + result = result && Self::MACD背驰(进入段, 离开段, 普K序列, "总"); + } + if 配置.线段内部背驰_斜率 { + result = result && Self::斜率背驰(进入段, 离开段); + } + if 配置.线段内部背驰_测度 { + result = result && Self::测度背驰(进入段, 离开段); + } + result + } + + /// 任选背驰 + pub fn 任选背驰(进入段: &虚线, 离开段: &虚线, 普K序列: &[Rc]) -> bool { + Self::任意背驰(进入段, 离开段, 普K序列) + } + + /// 背驰模式 — 根据模式字符串选择判断方式 + pub fn 背驰模式( + 进入段: &虚线, + 离开段: &虚线, + 普K序列: &[Rc], + 配置: &缠论配置, + 模式: &str, + ) -> bool { + match 模式 { + "全量" => Self::全量背驰(进入段, 离开段, 普K序列), + "任意" => Self::任意背驰(进入段, 离开段, 普K序列), + "配置" => Self::配置背驰(进入段, 离开段, 普K序列, 配置), + "相对" => Self::测度背驰(进入段, 离开段), + _ => Self::配置背驰(进入段, 离开段, 普K序列, 配置), + } + } + + // ---- 内部辅助 ---- + + fn 柱子面积(K线序列: &[Rc], 方式: &str) -> MACD面积 { + let mut 阳 = 0.0f64; + let mut 阴 = 0.0f64; + for k in K线序列 { + if let Some(ref macd) = k.macd { + let hist = macd.MACD柱; + match 方式 { + "阳" => { + if hist > 0.0 { + 阳 += hist + } + } + "阴" => { + if hist < 0.0 { + 阴 += hist + } + } + "总" | _ => { + if hist >= 0.0 { + 阳 += hist + } else { + 阴 += hist + } + } + } + } + } + MACD面积 { 阳, 阴 } + } +} + +struct MACD面积 { + 阳: f64, + 阴: f64, +} diff --git a/chanlun/src/algorithm/hub.rs b/chanlun/src/algorithm/hub.rs new file mode 100644 index 0000000..258c6ad --- /dev/null +++ b/chanlun/src/algorithm/hub.rs @@ -0,0 +1,348 @@ +use crate::structure::dash_line::虚线; +use crate::structure::fractal_obj::分型; +use crate::types::相对方向; +use std::rc::Rc; + +/// 中枢 — 三段虚线重叠区间构成的价格中枢 +#[derive(Debug, Clone)] +pub struct 中枢 { + pub 序号: i64, + pub 标识: String, + pub 级别: i64, + pub 基础序列: Vec>, + pub 第三买卖线: Option>, + pub 本级_第三买卖线: Option>, +} + +impl 中枢 { + pub fn new(序号: i64, 标识: String, 级别: i64, 基础序列: Vec>) -> Self { + Self { + 序号, + 标识, + 级别, + 基础序列: 基础序列.into_iter().take(3).collect(), + 第三买卖线: None, + 本级_第三买卖线: None, + } + } + + pub fn 添加虚线(&mut self, 实线: Rc<虚线>) { + self.基础序列.push(实线); + self.本级_第三买卖线 = None; + self.第三买卖线 = None; + } + + pub fn 图表标题(&self) -> String { + format!( + "{}:{}:{}:{}", + self.文().中.标识, self.文().中.周期, self.标识, self.序号 + ) + } + + pub fn 离开段(&self) -> Rc<虚线> { + Rc::clone(&self.基础序列[self.基础序列.len() - 1]) + } + + pub fn 方向(&self) -> 相对方向 { + self.基础序列[0].方向().翻转() + } + + pub fn 高(&self) -> f64 { + self.基础序列[..3] + .iter() + .map(|x| x.高()) + .min_by(|a, b| a.partial_cmp(b).unwrap_or(std::cmp::Ordering::Equal)) + .unwrap_or(0.0) + } + + pub fn 低(&self) -> f64 { + self.基础序列[..3] + .iter() + .map(|x| x.低()) + .max_by(|a, b| a.partial_cmp(b).unwrap_or(std::cmp::Ordering::Equal)) + .unwrap_or(0.0) + } + + pub fn 高高(&self) -> f64 { + self.基础序列 + .iter() + .map(|x| x.高()) + .max_by(|a, b| a.partial_cmp(b).unwrap_or(std::cmp::Ordering::Equal)) + .unwrap_or(0.0) + } + + pub fn 低低(&self) -> f64 { + self.基础序列 + .iter() + .map(|x| x.低()) + .min_by(|a, b| a.partial_cmp(b).unwrap_or(std::cmp::Ordering::Equal)) + .unwrap_or(0.0) + } + + pub fn 文(&self) -> Rc<分型> { + Rc::clone(&self.基础序列[0].文) + } + + pub fn 武(&self) -> Rc<分型> { + Rc::clone(&self.基础序列[self.基础序列.len() - 1].武) + } + + pub fn 设置第三买卖线(&mut self, 线: Rc<虚线>) { + self.第三买卖线 = Some(线); + } + + pub fn 获取数据文本(&self) -> String { + let 第三买卖线_str = match &self.第三买卖线 { + Some(x) => format!("{}", x), + None => "None".to_string(), + }; + let 本级_第三买卖线_str = match &self.本级_第三买卖线 { + Some(x) => format!("{}", x), + None => "None".to_string(), + }; + format!( + "{}, {}, {}, 文:({},{}), 武:({},{}), {}, {}", + self.标识, + self.序号, + self.级别, + self.文().时间戳, + crate::utils::format_f64_g(self.文().分型特征值), + self.武().时间戳, + crate::utils::format_f64_g(self.武().分型特征值), + 第三买卖线_str, + 本级_第三买卖线_str, + ) + } + + /// 校验中枢合法性 + pub fn 校验合法性(&self, 虚线序列: &[Rc<虚线>], _中枢序列: &[Rc<中枢>]) -> bool { + // 1. 检查基础序列中的元素是否仍在虚线序列中 + for 元素 in &self.基础序列 { + if !虚线序列.iter().any(|x| Rc::as_ptr(x) == Rc::as_ptr(元素)) { + return false; + } + } + // 2. 检查前三根重叠是否有效 + if self.基础序列.len() >= 3 { + let 高 = self.高(); + let 低 = self.低(); + if 高 <= 低 { + return false; + } + } + true + } + + // ---- 关联函数 ---- + + /// 基础检查 — 三根虚线是否能形成中枢 + pub fn 基础检查(左: &虚线, 中: &虚线, 右: &虚线) -> bool { + if !左.之后是(中) || !中.之后是(右) { + return false; + } + let 高 = [左.高(), 中.高(), 右.高()] + .iter() + .copied() + .min_by(|a, b| a.partial_cmp(b).unwrap_or(std::cmp::Ordering::Equal)) + .unwrap_or(0.0); + let 低 = [左.低(), 中.低(), 右.低()] + .iter() + .copied() + .max_by(|a, b| a.partial_cmp(b).unwrap_or(std::cmp::Ordering::Equal)) + .unwrap_or(0.0); + 高 > 低 + } + + /// 创建中枢 + pub fn 创建(左: Rc<虚线>, 中: Rc<虚线>, 右: Rc<虚线>, 级别: i64, 标识: &str) -> Self { + Self::new(0, format!("{}中枢<{}>", 标识, 中.标识), 级别, vec![左, 中, 右]) + } + + /// 从序列中获取中枢 + pub fn 从序列中获取中枢( + 虚线序列: &[Rc<虚线>], + 起始方向: 相对方向, + 标识: &str, + ) -> Option> { + for i in 2..虚线序列.len() { + let 左 = &虚线序列[i - 2]; + let 中 = &虚线序列[i - 1]; + let 右 = &虚线序列[i]; + if Self::基础检查(左, 中, 右) && 左.方向() == 起始方向 { + let 中枢 = Self::创建(Rc::clone(左), Rc::clone(中), Rc::clone(右), 0, 标识); + return Some(Rc::new(中枢)); + } + } + None + } + + /// 向中枢序列尾部添加 + pub fn 向中枢序列尾部添加(中枢序列: &mut Vec>, 待添加中枢: Rc<中枢>) { + // Dedup + if let Some(前一个) = 中枢序列.last() { + if 前一个.高() == 待添加中枢.高() && 前一个.低() == 待添加中枢.低() { + return; + } + } + // Set序号: Python — if中枢序列: 待添加中枢.序号 = 中枢序列[-1].序号 + 1 else: stays 0 + if let Some(前一个) = 中枢序列.last() { + let 新序号 = 前一个.序号 + 1; + // Clone to mutate since Rc is immutable + let mut cloned = (*待添加中枢).clone(); + cloned.序号 = 新序号; + 中枢序列.push(Rc::new(cloned)); + } else { + 中枢序列.push(待添加中枢); + } + } + + /// 从中枢序列尾部弹出 + pub fn 从中枢序列尾部弹出(中枢序列: &mut Vec>, 待弹出: &Rc<中枢>) -> Option> { + if 中枢序列.last().map(|x| Rc::as_ptr(x)) == Some(Rc::as_ptr(待弹出)) { + 中枢序列.pop() + } else { + None + } + } + + /// 中枢分析 — 从虚线序列生成中枢序列(增量算法) + /// + /// 每收到新的虚线序列数据后调用,更新中枢序列 + pub fn 分析( + 虚线序列: &[Rc<虚线>], + 中枢序列: &mut Vec>, + 跳过首部: bool, + 标识: &str, + 层级: i64, + ) { + if 虚线序列.len() < 3 { + return; + } + + // 初始化第一个中枢 + if 中枢序列.is_empty() { + for i in 1..虚线序列.len() - 1 { + let 左 = &虚线序列[i - 1]; + let 中 = &虚线序列[i]; + let 右 = &虚线序列[i + 1]; + + if Self::基础检查(左, 中, 右) { + // Python: 序号 = 虚线序列.index(左) + let 序号 = 虚线序列.iter().position(|x| Rc::as_ptr(x) == Rc::as_ptr(左)).unwrap_or(i - 1); + if 跳过首部 && (左.序号 == 0 || 序号 == 0) { + continue; + } + if 序号 >= 2 { + let 前 = &虚线序列[序号 - 2]; + let 同向相对关系 = crate::types::相对方向::分析(前.高(), 前.低(), 左.高(), 左.低()); + if 同向相对关系.是否向上() && 左.方向().是否向上() { + continue; + } + if 同向相对关系.是否向下() && 左.方向().是否向下() { + continue; + } + } + let 新中枢 = Rc::new(Self::创建( + Rc::clone(左), + Rc::clone(中), + Rc::clone(右), + 中.级别, + 标识, + )); + Self::向中枢序列尾部添加(中枢序列, 新中枢); + // Python: return 中枢递归分析(虚线序列, 中枢序列, ...) + Self::分析(虚线序列, 中枢序列, 跳过首部, 标识, 层级); + return; + } + } + return; + } + + // 增量更新 + let 当前中枢_idx = 中枢序列.len() - 1; + let 当前中枢 = Rc::clone(&中枢序列[当前中枢_idx]); + + if !当前中枢.校验合法性(虚线序列, 中枢序列) { + Self::从中枢序列尾部弹出(中枢序列, &当前中枢); + Self::分析(虚线序列, 中枢序列, 跳过首部, 标识, 层级); + return; + } + + // 找到当前中枢最后一个元素在虚线序列中的位置 + let 最后元素 = &当前中枢.基础序列[当前中枢.基础序列.len() - 1]; + let 起始索引 = match 虚线序列 + .iter() + .position(|x| Rc::as_ptr(x) == Rc::as_ptr(最后元素)) + { + Some(idx) => idx + 1, + None => return, + }; + + let 中枢高 = 当前中枢.高(); + let 中枢低 = 当前中枢.低(); + let mut 候选序列: Vec> = Vec::new(); + + let mut 新当前中枢 = (*当前中枢).clone(); + + for i in 起始索引..虚线序列.len() { + let 当前虚线 = Rc::clone(&虚线序列[i]); + + // 检查是否超出中枢范围(缺口) + if crate::types::相对方向::分析(中枢高, 中枢低, 当前虚线.高(), 当前虚线.低()).是否缺口() { + 候选序列.push(当前虚线.clone()); + + // Python: if 当前中枢.基础序列[-1].之后是(当前虚线): + if 新当前中枢.基础序列.last().unwrap().之后是(&当前虚线) { + 新当前中枢.设置第三买卖线(当前虚线.clone()); + } + } else { + if 候选序列.is_empty() { + // 仍在范围内:延伸中枢 + 新当前中枢.添加虚线(当前虚线); + } else { + 候选序列.push(当前虚线); + } + } + + // 候选序列积满3个:尝试创建新中枢 + while 候选序列.len() >= 3 { + let 起始方向 = 新当前中枢.基础序列.last().unwrap().方向().翻转(); + match Self::从序列中获取中枢(&候选序列, 起始方向, 标识) { + Some(新中枢) => { + 中枢序列[当前中枢_idx] = Rc::new(新当前中枢.clone()); + Self::向中枢序列尾部添加(中枢序列, 新中枢); + return; + } + None => { + 候选序列.remove(0); // 滑动窗口 + } + } + } + } + + // 更新当前中枢 + 中枢序列[当前中枢_idx] = Rc::new(新当前中枢); + } +} + +impl std::fmt::Display for 中枢 { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let 序列_str = self + .基础序列 + .iter() + .map(|d| format!("{}", d)) + .collect::>() + .join(", "); + write!( + f, + "{}({}, {}, 元素数量: {}, [{}], {} ===>>> {})", + self.标识, + crate::utils::format_f64_g(self.高()), + crate::utils::format_f64_g(self.低()), + self.基础序列.len(), + 序列_str, + self.文(), + self.武(), + ) + } +} diff --git a/chanlun/src/algorithm/mod.rs b/chanlun/src/algorithm/mod.rs new file mode 100644 index 0000000..ce0b3de --- /dev/null +++ b/chanlun/src/algorithm/mod.rs @@ -0,0 +1,4 @@ +pub mod bi; +pub mod divergence; +pub mod hub; +pub mod segment; diff --git a/chanlun/src/algorithm/segment.rs b/chanlun/src/algorithm/segment.rs new file mode 100644 index 0000000..97d8a56 --- /dev/null +++ b/chanlun/src/algorithm/segment.rs @@ -0,0 +1,1726 @@ +use crate::algorithm::bi::笔; +use crate::algorithm::hub::中枢; +use crate::business::observer::观察者; +use crate::config::缠论配置; +use crate::kline::bar::K线; +use crate::structure::dash_line::虚线; +use crate::structure::fractal_obj::分型; +use crate::structure::segment_feat::线段特征; +use crate::types::{分型结构, 相对方向, 缺口}; +use std::rc::Rc; + +/// 线段 — 从笔生成线段的算法集合(静态方法命名空间) +pub struct 线段; + +impl 线段 { + // ================================================================ + // 基础操作 + // ================================================================ + + /// 获取Rc<虚线>的可变引用(clone-on-write) + fn 取段可变(段_rc: &mut Rc<虚线>) -> &mut 虚线 { + if Rc::strong_count(段_rc) > 1 { + let 克隆 = (**段_rc).clone(); + *段_rc = Rc::new(克隆); + } + Rc::get_mut(段_rc).unwrap() + } + + /// 向线段的基础序列中添加一笔 + pub fn 添加虚线(段_rc: &mut Rc<虚线>, 筆: Rc<虚线>) { + let 段 = Self::取段可变(段_rc); + if !段.基础序列.is_empty() { + if !分型::判断分型(&段.基础序列.last().unwrap().武, &筆.文, "中") { + eprintln!( + "线段.添加虚线 不连续 {:?} {:?}", + 段.基础序列.last().unwrap(), 筆 + ); + return; + } + if 段.基础序列.last().unwrap().标识 != 筆.标识 { + eprintln!( + "线段.添加虚线 标识不符 {} {}", + 段.基础序列.last().unwrap().标识, 筆.标识 + ); + return; + } + } + 段.基础序列.push(筆); + } + + /// 更新线段的终点分型 + pub fn 武斗(段_rc: &mut Rc<虚线>, 武: &Rc<分型>, 行号: u32) { + let 段 = Self::取段可变(段_rc); + if Rc::as_ptr(&段.武) == Rc::as_ptr(武) { + return; + } + if 段.武.分型特征值 == 武.分型特征值 && 段.武.时间戳 != 武.时间戳 { + eprintln!( + "线段.武斗[{}], 发现特征值相等但时间戳不同 {:?} {:?}", + 行号, 段.武, 武 + ); + } + if 段.文.结构 == 武.结构 { + panic!("文武结构相同 {} {:?} {:?}", 行号, 段.文, 武); + } + if 段.方向() == 相对方向::向上 { + if 武.分型特征值 < 段.文.分型特征值 { + panic!( + "向上线段, 结束点小于起点 {} {:?} {:?}", + 段.标识, 段.文, 武 + ); + } + } else { + if 武.分型特征值 > 段.文.分型特征值 { + panic!( + "向下线段, 结束点大于起点 {} {:?} {:?}", + 段.标识, 段.文, 武 + ); + } + } + 段.武 = Rc::clone(武); + } + + /// 武终 — 线段终结时设置终点 + pub fn 武终(段_rc: &mut Rc<虚线>, 行号: u32) { + let 武 = { + let 段 = Self::取段可变(段_rc); + if 段.模式 != "文武" { + Some(Rc::clone(&段.基础序列.last().unwrap().武)) + } else { + None + } + }; + if let Some(武) = 武 { + Self::武斗(段_rc, &武, 行号); + } + } + + /// 验证序列 — 截断无效尾部 + pub fn 验证序列(段_rc: &mut Rc<虚线>, 序列: &[Rc<虚线>]) { + let 段 = Self::取段可变(段_rc); + let mut 基础序列: Vec> = Vec::new(); + for 元素 in &段.基础序列 { + if !序列.iter().any(|x| Rc::as_ptr(x) == Rc::as_ptr(元素)) { + break; + } + if !基础序列.is_empty() { + if !基础序列.last().unwrap().之后是(元素) { + eprintln!("线段._验证序列 数据不连续"); + break; + } + } + 基础序列.push(Rc::clone(元素)); + } + if 基础序列.len() % 2 == 0 { + 基础序列.pop(); + } + 段.基础序列 = 基础序列; + } + + /// 序列重置 — 截取到序列中的有效部分 + pub fn 序列重置(段_rc: &mut Rc<虚线>, 序列: &[Rc<虚线>]) { + let 段 = Self::取段可变(段_rc); + let mut 基础序列: Vec> = Vec::new(); + for 元素 in &段.基础序列 { + if !序列.iter().any(|x| Rc::as_ptr(x) == Rc::as_ptr(元素)) { + break; + } + if !基础序列.is_empty() { + if !基础序列.last().unwrap().之后是(元素) { + break; + } + } + 基础序列.push(Rc::clone(元素)); + } + 段.基础序列 = 基础序列; + if 段.特征序列.len() > 2 { + 段.特征序列[2] = None; + } + } + + // ================================================================ + // 基础判断 + // ================================================================ + + /// 基础判断 — 连续三笔且重叠才能构成线段 + pub fn 基础判断(左: &虚线, 中: &虚线, 右: &虚线, 关系序列: &[相对方向]) -> bool { + if !左.之后是(中) { + return false; + } + if !中.之后是(右) { + return false; + } + + if !相对方向::分析(左.高(), 左.低(), 中.高(), 中.低()).是否包含() { + return false; + } + if !相对方向::分析(中.高(), 中.低(), 右.高(), 右.低()).是否包含() { + return false; + } + + let 关系 = 相对方向::分析(左.高(), 左.低(), 右.高(), 右.低()); + if !关系序列.contains(&关系) { + return false; + } + + if 左.方向() == 相对方向::向下 && !关系.是否向下() { + return false; + } + if 左.方向() == 相对方向::向上 && !关系.是否向上() { + return false; + } + true + } + + // ================================================================ + // 四象 / 缺口 / 特征序列 + // ================================================================ + + /// 四象 — 线段的四种状态分类 + /// + /// 老阳: 向下线段第一二特征序列有缺口, 后一向上线段 + /// 老阴: 向上线段第一二特征序列有缺口, 后一向下线段 + /// 小阳: 向上线段 + /// 少阴: 向下线段 + pub fn 四象(段: &虚线) -> String { + if 段.前一缺口.is_some() { + if 段.方向() == 相对方向::向上 { + "老阳".into() + } else { + "老阴".into() + } + } else if 段.方向() == 相对方向::向上 { + "小阳".into() + } else { + "少阴".into() + } + } + + /// 获取缺口 — 从特征序列第一二元素之间检测缺口 + pub fn 获取缺口(段: &虚线) -> Option<缺口> { + if 段.模式 != "文武" { + return None; + } + if 段.特征序列.len() < 2 { + return None; + } + let 左 = 段.特征序列[0].as_ref()?; + let 中 = 段.特征序列[1].as_ref()?; + let 相对关系 = 相对方向::分析(左.高(), 左.低(), 中.高(), 中.低()); + if 相对关系.是否缺口() { + let 高 = 左.文().分型特征值.max(中.文().分型特征值); + let 低 = 左.文().分型特征值.min(中.文().分型特征值); + Some(缺口 { 高, 低 }) + } else { + None + } + } + + /// 特征分型终结 — 检查特征序列是否形成正常分型终结 + pub fn 特征分型终结(段: &虚线) -> bool { + let 特征序列 = 线段特征::静态分析(&段.基础序列, 段.方向(), &Self::四象(段), false); + if 特征序列.len() >= 3 { + let idx = 特征序列.len(); + if let Some(结构) = 分型结构::分析( + &*特征序列[idx - 3], + &*特征序列[idx - 2], + &*特征序列[idx - 1], + true, + true, + ) { + if 段.方向() == 相对方向::向上 { + return 结构 == 分型结构::顶; + } else { + return 结构 == 分型结构::底; + } + } + } + false + } + + /// 特征序列状态 — 返回三个特征序列元素是否为 Some + pub fn 特征序列状态(段: &虚线) -> (bool, bool, bool) { + let get = |i: usize| { + 段.特征序列 + .get(i) + .map(|x| x.is_some()) + .unwrap_or(false) + }; + (get(0), get(1), get(2)) + } + + /// 设置特征序列 + pub fn 设置特征序列(段_rc: &mut Rc<虚线>, 序列: Vec>>, 行号: u32) { + let 段 = Self::取段可变(段_rc); + if 段.模式 != "文武" { + return; + } + + for 特征 in &序列 { + if let Some(ref f) = 特征 { + if f.方向() == 段.方向() { + panic!("特征序列方向不匹配[{}]", 行号); + } + } + } + + let 左 = 序列[0].clone(); + let 中 = 序列[1].clone(); + let 右 = 序列[2].clone(); + 段.特征序列 = vec![左, 中, 右]; + + if let Some(ref 右特征) = 段.特征序列[2] { + let mut 基础序列: Vec> = Vec::new(); + let 右尾 = 右特征.元素.last().expect("特征序列元素不应为空"); + if !段.基础序列.iter().any(|x| Rc::as_ptr(x) == Rc::as_ptr(右尾)) { + panic!("右特征最后一个元素不在基础序列中"); + } + for 元素 in &段.基础序列 { + 基础序列.push(Rc::clone(元素)); + if Rc::as_ptr(元素) == Rc::as_ptr(右尾) { + break; + } + } + + if 基础序列.len() >= 6 && 基础序列.len() % 2 == 0 { + 段.基础序列 = 基础序列; + } else { + panic!("设置特征序列: 基础序列长度不足或非偶数"); + } + } + } + + /// 刷新特征序列 + pub fn 刷新特征序列(段_rc: &mut Rc<虚线>, 配置: &缠论配置) { + // Work on a clone since we need to read and write + let mut 新段 = (**段_rc).clone(); + if 新段.模式 != "文武" { + return; + } + let mut 基础序列 = 新段.基础序列.clone(); + if let Some(ref 前结束) = 新段.前一结束位置 { + if let Some(idx) = 基础序列 + .iter() + .position(|x| Rc::as_ptr(x) == Rc::as_ptr(前结束)) + { + if idx > 0 { + 基础序列 = 基础序列[idx - 1..].to_vec(); + } + } + } + + let 四象 = Self::四象(&新段); + let 特征序列 = 线段特征::静态分析( + &基础序列, + 新段.方向(), + &四象, + 配置.线段_特征序列忽视老阴老阳, + ); + + if 特征序列.len() >= 3 { + let 分型序列 = 线段特征::获取分型序列(&特征序列); + if !分型序列.is_empty() { + let 最后分型 = &分型序列[分型序列.len() - 1]; + if (新段.方向() == 相对方向::向上 + && 最后分型.结构 == 分型结构::顶) + || (新段.方向() == 相对方向::向下 + && 最后分型.结构 == 分型结构::底) + { + 新段.特征序列 = vec![ + Some(Rc::clone(&最后分型.左)), + Some(Rc::clone(&最后分型.中)), + Some(Rc::clone(&最后分型.右)), + ]; + } else { + 新段.特征序列 = vec![ + Some(Rc::clone(&特征序列[特征序列.len() - 2])), + Some(Rc::clone(&特征序列[特征序列.len() - 1])), + None, + ]; + } + } else { + 新段.特征序列 = vec![ + Some(Rc::clone(&特征序列[特征序列.len() - 2])), + Some(Rc::clone(&特征序列[特征序列.len() - 1])), + None, + ]; + } + } else { + let mut 填充: Vec>> = + 特征序列.into_iter().map(Some).collect(); + 填充.resize(3, None); + 新段.特征序列 = 填充; + } + + *段_rc = Rc::new(新段); + } + + /// 查找贯穿伤 — 基础序列中穿透文分型特征值的笔 + pub fn 查找贯穿伤(段: &虚线) -> Option> { + for 贯穿伤 in 段.基础序列.iter().skip(3) { + if 段.方向().是否向上() { + if 贯穿伤.武.分型特征值 < 段.文.分型特征值 { + return Some(Rc::clone(贯穿伤)); + } + } else { + if 贯穿伤.武.分型特征值 > 段.文.分型特征值 { + return Some(Rc::clone(贯穿伤)); + } + } + } + None + } + + // ================================================================ + // 分割序列 + // ================================================================ + + /// 分割序列 — 将线段的基础序列分为前、后、第三买卖线、贯穿伤 + pub fn 分割序列( + 段: &虚线, + 所属中枢: Option<&Rc<中枢>>, + ) -> (Vec>, Vec>, Vec>, Option>) { + if 段.模式 != "文武" { + return (段.基础序列.clone(), Vec::new(), Vec::new(), None); + } + + let mut 前: Vec> = Vec::new(); + let mut 后: Vec> = Vec::new(); + let mut 第三买卖线: Vec> = Vec::new(); + let mut 贯穿伤: Option> = None; + + for 筆 in &段.基础序列 { + if 前.is_empty() { + 前.push(Rc::clone(筆)); + continue; + } + if Rc::as_ptr(&前.last().unwrap().武) != Rc::as_ptr(&段.武) && 后.is_empty() { + 前.push(Rc::clone(筆)); + } + + if !后.is_empty() { + 后.push(Rc::clone(筆)); + } + if Rc::as_ptr(&筆.文) == Rc::as_ptr(&段.武) { + 后.push(Rc::clone(筆)); + } + } + + let mut 状态 = None; + + if let Some(中枢) = 所属中枢 { + let 尾部 = if let Some(ref 后笔) = 后.last() { + Rc::clone(&后笔.武) + } else { + Rc::clone(&段.武) + }; + + if 中枢.高() >= 尾部.分型特征值 && 尾部.分型特征值 >= 中枢.低() { + 状态 = Some("中枢之中"); + } else if 中枢.高() < 尾部.分型特征值 { + 状态 = Some("中枢之上"); + } else if 中枢.低() > 尾部.分型特征值 { + 状态 = Some("中枢之下"); + } + } + + if 状态 == Some("中枢之上") { + for 筆 in 段.基础序列.iter().rev() { + if 筆.方向() == 相对方向::向下 { + let 关系 = 相对方向::分析( + 所属中枢.unwrap().高(), + 所属中枢.unwrap().低(), + 筆.高(), + 筆.低(), + ); + if 关系 == 相对方向::向上缺口 { + 第三买卖线.push(Rc::clone(筆)); + } else { + break; + } + } else { + break; + } + } + } + + if 状态 == Some("中枢之下") { + for 筆 in 段.基础序列.iter().rev() { + if 筆.方向() == 相对方向::向上 { + let 关系 = 相对方向::分析( + 所属中枢.unwrap().高(), + 所属中枢.unwrap().低(), + 筆.高(), + 筆.低(), + ); + if 关系 == 相对方向::向下缺口 { + 第三买卖线.push(Rc::clone(筆)); + } else { + break; + } + } else { + break; + } + } + } + + if !第三买卖线.is_empty() { + 第三买卖线.reverse(); + } + + if !后.is_empty() { + if 段.方向().是否向上() { + if 后[0].武.分型特征值 < 段.文.分型特征值 { + 贯穿伤 = Some(Rc::clone(&后[0])); + } + } else { + if 后[0].武.分型特征值 > 段.文.分型特征值 { + 贯穿伤 = Some(Rc::clone(&后[0])); + } + } + } + + (前, 后, 第三买卖线, 贯穿伤) + } + + /// 刷新 — 完整刷新线段的特征序列和内部中枢 + pub fn 刷新(段_rc: &mut Rc<虚线>, 配置: &缠论配置) { + let 段 = Self::取段可变(段_rc); + if 段.模式 != "文武" { + return; + } + if 段.基础序列.is_empty() { + eprintln!(" 线段.刷新 基础序列为空"); + return; + } + + Self::刷新特征序列(段_rc, 配置); + + // After 刷新特征序列, work with the updated segment + let (武斗_武文, 特征后一笔_opt) = { + let 段2 = Self::取段可变(段_rc); + let 有效特征序列: Vec<&Rc<线段特征>> = 段2.特征序列.iter().filter_map(|x| x.as_ref()).collect(); + + if 有效特征序列.len() == 3 { + (Some(Rc::clone(&有效特征序列[1].文())), None) + } else if !有效特征序列.is_empty() { + let 最近特征 = 有效特征序列[有效特征序列.len() - 1]; + + let 特征后一笔 = if 最近特征.元素.last().map(|x| { + 段2.基础序列 + .iter() + .any(|b| Rc::as_ptr(b) == Rc::as_ptr(x)) + }) == Some(true) + { + Some(Rc::clone(最近特征.元素.last().unwrap())) + } else if let Some(b) = + 笔::以武会友(&段2.基础序列, &最近特征.元素.last().unwrap().武) + { + Some(b) + } else { + None + }; + + if 特征后一笔.is_none() { + eprintln!( + " 线段.刷新 特征后一笔 = None, {:?}, 有效特征: {}", + 段2, + 有效特征序列.len() + ); + } + (None, 特征后一笔) + } else { + (None, None) + } + }; + + if let Some(武文) = 武斗_武文 { + Self::武斗(段_rc, &武文, 0); + } else if let Some(特征后一笔) = 特征后一笔_opt { + + let 武斗候选 = { + let 段2 = Self::取段可变(段_rc); + if let Some(序号) = 段2 + .基础序列 + .iter() + .position(|x| Rc::as_ptr(x) == Rc::as_ptr(&特征后一笔)) + { + if 序号 < 段2.基础序列.len() - 1 { + let 下一笔 = Rc::clone(&段2.基础序列[序号 + 1]); + if (段2.方向() == 相对方向::向上 && 段2.高() <= 下一笔.高()) + || (段2.方向() == 相对方向::向下 && 段2.低() >= 下一笔.低()) + { + Some(Rc::clone(&下一笔.武)) + } else { + None + } + } else { + None + } + } else { + None + } + }; + if let Some(武) = 武斗候选 { + Self::武斗(段_rc, &武, 0); + } + } + + let 段3 = Self::取段可变(段_rc); + let _ = Self::获取内部中枢序列_内部(段3, 配置); + } + + /// 获取内部中枢序列 — 内部实现 + fn 获取内部中枢序列_内部(段: &mut 虚线, _配置: &缠论配置) -> (Vec>, Vec>, Vec>) { + if 段.模式 != "文武" { + 中枢::分析(&段.基础序列, &mut 段.合_中枢序列, true, &format!("{}_{}_合_", 段.标识, 段.序号), 0); + return (Vec::new(), Vec::new(), 段.合_中枢序列.clone()); + } + + // Clone base sequence to avoid borrow issues + let 基础序列 = 段.基础序列.clone(); + let _文 = Rc::clone(&段.文); + let 武 = Rc::clone(&段.武); + + // Reconstruct 前/后 from base sequence + let mut 前: Vec> = Vec::new(); + let mut 后: Vec> = Vec::new(); + + for 筆 in &基础序列 { + if 前.is_empty() { + 前.push(Rc::clone(筆)); + continue; + } + if Rc::as_ptr(&前.last().unwrap().武) != Rc::as_ptr(&武) && 后.is_empty() { + 前.push(Rc::clone(筆)); + } + if !后.is_empty() { + 后.push(Rc::clone(筆)); + } + if Rc::as_ptr(&筆.文) == Rc::as_ptr(&武) { + 后.push(Rc::clone(筆)); + } + } + + 中枢::分析(&前, &mut 段.实_中枢序列, true, &format!("{}_{}_实_", 段.标识, 段.序号), 0); + 中枢::分析(&后, &mut 段.虚_中枢序列, true, &format!("{}_{}_虚_", 段.标识, 段.序号), 0); + 中枢::分析(&基础序列, &mut 段.合_中枢序列, true, &format!("{}_{}_合_", 段.标识, 段.序号), 0); + + (段.虚_中枢序列.clone(), 段.实_中枢序列.clone(), 段.合_中枢序列.clone()) + } + + /// 获取内部中枢序列 + pub fn 获取内部中枢序列(段_rc: &mut Rc<虚线>, 配置: &缠论配置) -> (Vec>, Vec>, Vec>) { + let 段 = Self::取段可变(段_rc); + Self::获取内部中枢序列_内部(段, 配置) + } + + // ================================================================ + // 线段序列管理 + // ================================================================ + + /// _添加线段 — 向线段序列尾部添加线段(内部方法) + pub fn _添加线段( + 线段序列: &mut Vec>, + 待添加线段_rc: &mut Rc<虚线>, + _配置: &缠论配置, + 行号: String, + ) { + let 待添加线段 = Self::取段可变(待添加线段_rc); + + if let Some(前一个) = 线段序列.last() { + if !前一个.之后是(待添加线段) { + panic!( + "线段.向序列中添加 不连续[{}] {:?} {:?}", + 行号, 前一个.武, 待添加线段.文 + ); + } + } + + 待添加线段.模式 = "文武".into(); + + if 线段序列.is_empty() { + let 新段 = Rc::new(待添加线段.clone()); + 线段序列.push(新段); + return; + } + + let 之前线段 = 线段序列.last().unwrap(); + + // Check 之前线段.特征序列[2] is valid + if 之前线段.特征序列.len() >= 3 && 之前线段.特征序列[2].is_none() && !之前线段.短路修正 { + // The Python code asserts here; we warn + eprintln!( + "线段._向序列中添加[{}], 之前线段.右 = None {:?}", + 行号, 之前线段 + ); + } + + if !待添加线段 + .基础序列 + .iter() + .any(|x| Rc::as_ptr(x) == Rc::as_ptr(之前线段.基础序列.last().unwrap())) + && !之前线段.短路修正 + { + panic!( + "线段._向序列中添加[{}], 之前线段[-1] not in 待添加虚线! {:?}", + 行号, 之前线段 + ); + } + + 待添加线段.序号 = 之前线段.序号 + 1; + 待添加线段.前一缺口 = Self::获取缺口(之前线段); + 待添加线段.前一结束位置 = Some(Rc::clone(之前线段.基础序列.last().unwrap())); + + if ["老阴", "老阳"].contains(&Self::四象(之前线段).as_str()) { + 待添加线段.前一缺口 = None; + } + + let 新段 = Rc::new(待添加线段.clone()); + 线段序列.push(新段); + } + + /// _弹出线段 — 从线段序列尾部弹出线段(内部方法) + pub fn _弹出线段( + 线段序列: &mut Vec>, + 待弹出线段: &Rc<虚线>, + _配置: &缠论配置, + 行号: String, + ) -> Option> { + if 线段序列.is_empty() { + return None; + } + + if Rc::as_ptr(线段序列.last().unwrap()) != Rc::as_ptr(待弹出线段) { + panic!( + "线段._从序列中删除 弹出数据不在列表中 {:?}", + 待弹出线段 + ); + } + + if 待弹出线段.特征序列.len() >= 3 { + let 左 = &待弹出线段.特征序列[0]; + let 中 = &待弹出线段.特征序列[1]; + let 右 = &待弹出线段.特征序列[2]; + if let (Some(l), Some(m), Some(r)) = (左, 中, 右) { + if let Some(结构) = 分型结构::分析(&**l, &**m, &**r, true, true) { + if matches!(结构, 分型结构::顶 | 分型结构::底) + && !相对方向::分析(l.高(), l.低(), m.高(), m.低()).是否缺口() + { + eprintln!( + "[警告<{}>]: 线段._从序列中删除 发现分型完毕, 且特征序列无缺口 {:?}", + 行号, 待弹出线段 + ); + } + } + } + } + + let 弹出 = 线段序列.pop().unwrap(); + + // Mark popped segment as invalid + // Since it's behind Rc, we mark it by replacing its clone in caller context + // For now, just pop it from the sequence + + Some(弹出) + } + + // ================================================================ + // 四种修正机制 + // ================================================================ + + /// _缺口突破 — 老阳/老阴缺口突破修正 + pub fn _缺口突破( + 线段序列: &mut Vec>, + 配置: &缠论配置, + 层级: i64, + ) -> bool { + if 线段序列.is_empty() { + return false; + } + + let 当前线段 = Rc::clone(线段序列.last().unwrap()); + if 当前线段.基础序列.is_empty() { + return false; + } + let 当前虚线 = Rc::clone(&当前线段.基础序列[当前线段.基础序列.len() - 1]); + let 四象 = Self::四象(&当前线段); + let 同向 = 当前虚线.方向() == 当前线段.方向(); + + // 条件1:不能同向 + if 同向 { + return false; + } + + // 条件2:四象必须是老阳或老阴 + if 四象 != "老阳" && 四象 != "老阴" { + return false; + } + + // 条件3:当前线段特征序列[2]必须为None + if 当前线段.特征序列.len() >= 3 && 当前线段.特征序列[2].is_some() { + return false; + } + + // 条件4:具体突破方向判断 + let 突破 = (四象 == "老阳" && 当前虚线.低() < 当前线段.低()) + || (四象 == "老阴" && 当前虚线.高() > 当前线段.高()); + if !突破 { + return false; + } + + // 执行修正 + let 序列 = 当前线段.基础序列.clone(); + Self::_弹出线段( + 线段序列, + &Rc::clone(线段序列.last().unwrap()), + 配置, + format!("{}, {}", 0, 层级), + ); + + if 线段序列.is_empty() { + return true; + } + + let mut 当前线段_克隆 = (**线段序列.last().unwrap()).clone(); + if 当前线段_克隆.特征序列.len() < 3 || 当前线段_克隆.特征序列[2].is_none() { + // Shouldn't happen after correction + return true; + } + + let (前, _, _, _) = Self::分割序列(&当前线段_克隆, None); + let mut 当前线段基础序列 = 前; + 当前线段基础序列.extend(序列); + + 当前线段_克隆.基础序列 = 当前线段基础序列; + let idx = 线段序列.len() - 1; + 线段序列[idx] = Rc::new(当前线段_克隆); + + Self::刷新(&mut 线段序列[idx], 配置); + true + } + + /// _非缺口下穿刺 — 贯穿伤修复 + pub fn _非缺口下穿刺( + 线段序列: &mut Vec>, + 配置: &缠论配置, + 层级: i64, + ) -> bool { + if 线段序列.is_empty() { + return false; + } + + let 当前线段 = Rc::clone(线段序列.last().unwrap()); + let 四象 = Self::四象(&当前线段); + + // 外层条件 + if !(配置.线段_非缺口下穿刺 + && (四象 == "小阳" || 四象 == "少阴") + && 当前线段.特征序列.len() >= 3 + && 当前线段.特征序列[2].is_none()) + { + return false; + } + + // 查找贯穿伤 + let 贯穿伤 = Self::查找贯穿伤(&当前线段); + if 贯穿伤.is_none() { + return false; + } + let 贯穿伤 = 贯穿伤.unwrap(); + + // 切割基础序列 + let 贯穿伤_idx = 当前线段 + .基础序列 + .iter() + .position(|x| Rc::as_ptr(x) == Rc::as_ptr(&贯穿伤)); + + if 贯穿伤_idx.is_none() { + return false; + } + let 基础序列: Vec> = 当前线段.基础序列[贯穿伤_idx.unwrap()..].to_vec(); + + // 长度条件 + if !(基础序列.len() == 4 && 线段序列.len() >= 2) { + return false; + } + + let 左 = Rc::clone(&基础序列[基础序列.len() - 3]); + let 右 = Rc::clone(&基础序列[基础序列.len() - 1]); + + // 方向条件 + if 相对方向::分析(左.高(), 左.低(), 右.高(), 右.低()) != 当前线段.方向() { + return false; + } + + // 执行修正 + eprintln!( + "[警告<{}, {}>]: 线段.修复贯穿伤 {:?}", + 层级, 层级, 贯穿伤 + ); + + let 原始基础序列 = 当前线段.基础序列.clone(); + Self::_弹出线段( + 线段序列, + &Rc::clone(线段序列.last().unwrap()), + 配置, + format!("{}, {}", 0, 层级), + ); + + if 线段序列.is_empty() { + return true; + } + + let mut 当前线段_克隆 = (**线段序列.last().unwrap()).clone(); + if 当前线段_克隆.特征序列.len() >= 3 { + 当前线段_克隆.特征序列[2] = None; + } + + let 开始笔 = Rc::clone(当前线段_克隆.基础序列.last().unwrap()); + let 开始序号 = 原始基础序列 + .iter() + .position(|x| Rc::as_ptr(x) == Rc::as_ptr(&开始笔)); + + if let Some(开始序号) = 开始序号 { + for 临时虚线 in &原始基础序列[开始序号 + 1..] { + 当前线段_克隆.基础序列.push(Rc::clone(临时虚线)); + } + } + + let idx = 线段序列.len() - 1; + 线段序列[idx] = Rc::new(当前线段_克隆); + + Self::刷新(&mut 线段序列[idx], 配置); + + let 当前线段 = Rc::clone(&线段序列[idx]); + if 当前线段.特征序列.len() >= 3 && 当前线段.特征序列[2].is_some() { + let 段 = 虚线::创建线段(&[ + Rc::clone(&基础序列[基础序列.len() - 3]), + Rc::clone(&基础序列[基础序列.len() - 2]), + Rc::clone(&基础序列[基础序列.len() - 1]), + ]); + let mut 段_rc = Rc::new(段); + Self::_添加线段(线段序列, &mut 段_rc, 配置, format!("{}, {}", 0, 层级)); + + // Set feature sequence [0] + let 新段 = Self::取段可变(线段序列.last_mut().unwrap()); + if 新段.特征序列.is_empty() { + 新段.特征序列.push(None); + } + let 中笔 = Rc::clone(&基础序列[基础序列.len() - 2]); + 新段.特征序列[0] = Some(Rc::new(线段特征::新建( + vec![中笔], + 新段.方向(), + ))); + } + + true + } + + /// _缺口后紧急修正 — 老阴/老阳后的紧急修正 + pub fn _缺口后紧急修正( + 线段序列: &mut Vec>, + 配置: &缠论配置, + 层级: i64, + ) -> bool { + if 线段序列.is_empty() { + return false; + } + + let 当前线段 = Rc::clone(线段序列.last().unwrap()); + let 四象 = Self::四象(&当前线段); + + // 外层条件 + if !(配置.线段_缺口后紧急修正 + && !配置.线段_特征序列忽视老阴老阳 + && (四象 == "小阳" || 四象 == "少阴") + && 当前线段.特征序列.len() >= 3 + && 当前线段.特征序列[2].is_none()) + { + return false; + } + + // 内层条件 + if 线段序列.len() < 2 { + return false; + } + let 前一线段_idx = 线段序列.len() - 2; + if !["老阴", "老阳"].contains(&Self::四象(&线段序列[前一线段_idx]).as_str()) + { + return false; + } + + let (_, 基础序列, _, _) = Self::分割序列(&当前线段, None); + if 基础序列.len() < 3 { + return false; + } + + let mut 需要修正 = false; + if 当前线段.方向() == 相对方向::向上 { + if 相对方向::分析( + 基础序列[0].高(), + 基础序列[0].低(), + 基础序列[2].高(), + 基础序列[2].低(), + ) == 相对方向::向下 + { + 需要修正 = true; + } + } else { + if 相对方向::分析( + 基础序列[0].高(), + 基础序列[0].低(), + 基础序列[2].高(), + 基础序列[2].低(), + ) == 相对方向::向上 + { + 需要修正 = true; + } + } + + if !需要修正 { + return false; + } + + // 执行修正 — set 短路修正 and create new segment + let idx = 线段序列.len() - 1; + let mut 当前线段_克隆 = (*线段序列[idx]).clone(); + 当前线段_克隆.短路修正 = true; + 线段序列[idx] = Rc::new(当前线段_克隆); + + let 新段 = 虚线::创建线段(&基础序列); + let mut 新段_rc = Rc::new(新段); + Self::_添加线段(线段序列, &mut 新段_rc, 配置, format!("{}, {}", 0, 层级)); + true + } + + /// _修正 — 通用线段修正(后段足够长时拆分) + pub fn _修正( + 线段序列: &mut Vec>, + 配置: &缠论配置, + 层级: i64, + ) -> bool { + if 线段序列.is_empty() { + return false; + } + + let 当前线段 = Rc::clone(线段序列.last().unwrap()); + + // 条件1 + if !(配置.线段_修正 && 当前线段.基础序列.len() >= 9) { + return false; + } + + let (_, 之后基础序列, _, _) = Self::分割序列(&当前线段, None); + + // 条件2 + if 之后基础序列.len() < 6 { + return false; + } + + let 前 = Rc::clone(&之后基础序列[之后基础序列.len() - 3]); + let 后 = Rc::clone(&之后基础序列[之后基础序列.len() - 1]); + + // 条件3 + if 当前线段.方向() != 相对方向::分析(前.高(), 前.低(), 后.高(), 后.低()) { + return false; + } + + // 执行修正 + let idx = 线段序列.len() - 1; + let mut 当前线段_克隆 = (*线段序列[idx]).clone(); + 当前线段_克隆.短路修正 = true; + 线段序列[idx] = Rc::new(当前线段_克隆); + + // 第一个新段 + let 新段1 = 虚线::创建线段(&之后基础序列[..之后基础序列.len() - 3]); + let mut 新段1_rc = Rc::new(新段1); + // Set 短路修正 + Self::取段可变(&mut 新段1_rc).短路修正 = true; + Self::_添加线段(线段序列, &mut 新段1_rc, 配置, format!("{}, {}", 0, 层级)); + + if ["老阴", "老阳"].contains(&Self::四象(&当前线段).as_str()) { + Self::取段可变(线段序列.last_mut().unwrap()).前一缺口 = None; + } + + // 第二个新段 + let start = 之后基础序列.len() - 3; + let 新段2 = 虚线::创建线段(&之后基础序列[start..]); + let mut 新段2_rc = Rc::new(新段2); + Self::_添加线段(线段序列, &mut 新段2_rc, 配置, format!("{}, {}", 0, 层级)); + + true + } + + // ================================================================ + // 核心分析 — 使用显式栈(loop)模拟递归 + // ================================================================ + + /// 分析 — 从笔序列生成线段序列 + /// + /// 使用显式栈(loop + continue)模拟 Python 的递归调用,避免栈溢出。 + pub fn 分析( + 笔序列: &[Rc<虚线>], + 线段序列: &mut Vec>, + 配置: &缠论配置, + 层级: i64, + 关系序列: &[相对方向], + ) { + let mut 当前层级 = 层级; + + loop { + if 当前层级 > 256 { + eprintln!("线段.分析 递归深度超出 256"); + return; + } + + if 笔序列.len() < 3 { + return; + } + + // ---- 1. 初始化第一个线段 ---- + if 线段序列.is_empty() { + for i in 1..笔序列.len() - 1 { + let 左 = &笔序列[i - 1]; + let 中 = &笔序列[i]; + let 右 = &笔序列[i + 1]; + + if !Self::基础判断(左, 中, 右, 关系序列) { + continue; + } + let 段 = 虚线::创建线段(&[ + Rc::clone(左), + Rc::clone(中), + Rc::clone(右), + ]); + let mut 段_rc = Rc::new(段); + Self::_添加线段( + 线段序列, + &mut 段_rc, + 配置, + format!("{}, {}", 0, 当前层级), + ); + + // 段.特征序列[0] = 线段特征.新建([中], 段.方向) + let 段 = Self::取段可变(线段序列.last_mut().unwrap()); + if 段.特征序列.is_empty() { + 段.特征序列.push(None); + } + 段.特征序列[0] = Some(Rc::new(线段特征::新建( + vec![Rc::clone(中)], + 段.方向(), + ))); + break; + } + if 线段序列.is_empty() { + return; + } + } + + // ---- 2. 清理无效的尾部引用 ---- + while !线段序列.is_empty() + && 线段序列.last().unwrap().前一结束位置.is_some() + { + let 前一结束 = Rc::clone( + 线段序列.last().unwrap().前一结束位置.as_ref().unwrap(), + ); + if !笔序列 + .iter() + .any(|x| Rc::as_ptr(x) == Rc::as_ptr(&前一结束)) + { + let 当前 = Rc::clone(线段序列.last().unwrap()); + Self::_弹出线段( + 线段序列, + &当前, + 配置, + format!("{}, {}", 0, 当前层级), + ); + } else { + break; + } + } + + if 线段序列.is_empty() { + 当前层级 += 1; + continue; + } + + // ---- 3. 确保当前线段有效 ---- + let mut 当前线段_rc = Rc::clone(线段序列.last().unwrap()); + Self::序列重置(&mut 当前线段_rc, 笔序列); + let seg_idx = 线段序列.len() - 1; + 线段序列[seg_idx] = 当前线段_rc; + + if 线段序列.last().unwrap().基础序列.len() < 3 { + let 当前 = Rc::clone(线段序列.last().unwrap()); + Self::_弹出线段(线段序列, &当前, 配置, format!("{}, {}", 0, 当前层级)); + if 线段序列.is_empty() { + 当前层级 += 1; + continue; + } + } + + // ---- 4. 特征序列已完整时的处理 ---- + { + let 当前线段 = Rc::clone(线段序列.last().unwrap()); + if 当前线段.特征序列.len() >= 3 && 当前线段.特征序列[2].is_some() { + let (_, 基础序列, _, _) = Self::分割序列(&当前线段, None); + let 新段 = 虚线::创建线段(&基础序列); + let mut 新段_rc = Rc::new(新段); + Self::_添加线段( + 线段序列, + &mut 新段_rc, + 配置, + format!("{}, {}", 0, 当前层级), + ); + if ["老阴", "老阳"].contains(&Self::四象(&当前线段).as_str()) { + let last_idx = 线段序列.len() - 1; + let mut 克隆 = (**线段序列.last().unwrap()).clone(); + 克隆.前一缺口 = None; + 线段序列[last_idx] = Rc::new(克隆); + } + } + } + + // Refresh current segment + let idx = 线段序列.len() - 1; + Self::刷新(&mut 线段序列[idx], 配置); + + // ---- 5. 调用一次全局修正 ---- + Self::_缺口突破(线段序列, 配置, 当前层级); + Self::_非缺口下穿刺(线段序列, 配置, 当前层级); + Self::_缺口后紧急修正(线段序列, 配置, 当前层级); + Self::_修正(线段序列, 配置, 当前层级); + + // ---- 6. 循环处理后续的笔 ---- + let 当前线段 = Rc::clone(线段序列.last().unwrap()); + if 当前线段.基础序列.is_empty() { + panic!("线段.分析: 基础序列为空"); + } + let 最后笔 = Rc::clone(当前线段.基础序列.last().unwrap()); + let 起始索引 = match 笔序列 + .iter() + .position(|x| Rc::as_ptr(x) == Rc::as_ptr(&最后笔)) + { + Some(idx) => idx + 1, + None => { + // Last笔 not in 笔序列 — restart + 当前层级 += 1; + continue; + } + }; + + let mut 需要递归 = false; + + for i in 起始索引..笔序列.len() { + let 当前虚线 = Rc::clone(&笔序列[i]); + let 当前线段 = Rc::clone(线段序列.last().unwrap()); + let 四象 = Self::四象(&当前线段); + + // 向当前线段添加笔 + let mut 线段_rc = Rc::clone(线段序列.last().unwrap()); + Self::添加虚线(&mut 线段_rc, Rc::clone(&当前虚线)); + let seg_idx = 线段序列.len() - 1; + 线段序列[seg_idx] = 线段_rc; + + // 刷新 + let idx = 线段序列.len() - 1; + Self::刷新(&mut 线段序列[idx], 配置); + + // 依次尝试四种修正 + if Self::_缺口突破(线段序列, 配置, 当前层级) { + continue; + } + if Self::_非缺口下穿刺(线段序列, 配置, 当前层级) { + continue; + } + if Self::_缺口后紧急修正(线段序列, 配置, 当前层级) { + continue; + } + if Self::_修正(线段序列, 配置, 当前层级) { + continue; + } + + // 无修正触发,检查特征序列 + let 当前线段 = Rc::clone(线段序列.last().unwrap()); + if 当前线段.特征序列.len() < 3 || 当前线段.特征序列[2].is_none() { + continue; + } + + // 特征序列[2]存在 → 创建新段 + let (_, 基础序列, _, _) = Self::分割序列(&当前线段, None); + let 新段 = 虚线::创建线段(&基础序列); + let mut 新段_rc = Rc::new(新段); + Self::_添加线段( + 线段序列, + &mut 新段_rc, + 配置, + format!("{}, {}", 0, 当前层级), + ); + + if ["老阴", "老阳"].contains(&四象.as_str()) { + let last_idx = 线段序列.len() - 1; + let mut 克隆 = (**线段序列.last().unwrap()).clone(); + 克隆.前一缺口 = None; + 线段序列[last_idx] = Rc::new(克隆); + } + + // 检查新段与当前虚线的连续性 + let 新段 = Rc::clone(线段序列.last().unwrap()); + if Rc::as_ptr(新段.基础序列.last().unwrap()) != Rc::as_ptr(&当前虚线) { + if !新段.基础序列.last().unwrap().之后是(&当前虚线) { + 需要递归 = true; + break; + } + // 向新段添加当前虚线 + let mut 新段_rc = Rc::clone(线段序列.last().unwrap()); + Self::添加虚线(&mut 新段_rc, Rc::clone(&当前虚线)); + let seg_idx = 线段序列.len() - 1; + 线段序列[seg_idx] = 新段_rc; + } + + let idx = 线段序列.len() - 1; + Self::刷新(&mut 线段序列[idx], 配置); + } + + if 需要递归 { + 当前层级 += 1; + continue; + } + + break; + } + } + + // ================================================================ + // 扩展线段 + // ================================================================ + + /// _添加扩展线段 + pub fn _添加扩展线段( + 线段序列: &mut Vec>, + 待添加线段_rc: &mut Rc<虚线>, + 行号: u32, + ) { + let 待添加线段 = Self::取段可变(待添加线段_rc); + 待添加线段.模式 = "高低".into(); + 待添加线段.标识 = if 待添加线段.基础序列[0].标识 != "笔" { + format!("扩展{}", 待添加线段.标识) + } else { + "扩展线段".into() + }; + + if let Some(前一个) = 线段序列.last() { + if !前一个.之后是(待添加线段) { + panic!( + "线段.向序列中添加 不连续[{}] {:?} {:?}", + 行号, 前一个.武, 待添加线段.文 + ); + } + let 之前线段 = 线段序列.last().unwrap(); + 待添加线段.序号 = 之前线段.序号 + 1; + } + + let 新段 = Rc::new(待添加线段.clone()); + 线段序列.push(新段); + } + + /// _弹出扩展线段 + pub fn _弹出扩展线段( + 线段序列: &mut Vec>, + 待弹出线段: &Rc<虚线>, + _行号: u32, + ) -> Option> { + if 线段序列.is_empty() { + return None; + } + + if Rc::as_ptr(线段序列.last().unwrap()) == Rc::as_ptr(待弹出线段) { + Some(线段序列.pop().unwrap()) + } else { + panic!( + "线段._从序列中删除 弹出数据不在列表中 {:?}", + 待弹出线段 + ); + } + } + + /// 扩展分析 — 将笔视为线段进行同级别分析 + pub fn 扩展分析( + 虚线序列: &[Rc<虚线>], + 线段序列: &mut Vec>, + 配置: &缠论配置, + ) { + if 虚线序列.len() < 3 { + return; + } + + let mut 当前层级 = 0i64; + + loop { + if 当前层级 > 256 { + eprintln!("线段.扩展分析 递归深度超出 256"); + return; + } + + // 初始化第一个扩展线段 + if 线段序列.is_empty() { + for i in 1..虚线序列.len() - 1 { + let 左 = &虚线序列[i - 1]; + let 中 = &虚线序列[i]; + let 右 = &虚线序列[i + 1]; + let 关系 = 相对方向::分析(左.高(), 左.低(), 右.高(), 右.低()); + if !matches!( + 关系, + 相对方向::向下 + | 相对方向::向上 + | 相对方向::顺 + | 相对方向::逆 + | 相对方向::同 + ) { + continue; + } + + let 段 = 虚线::创建线段(&[ + Rc::clone(左), + Rc::clone(中), + Rc::clone(右), + ]); + let mut 段_rc = Rc::new(段); + Self::_添加扩展线段(线段序列, &mut 段_rc, 0); + break; + } + + if 线段序列.is_empty() { + return; + } + } + + // 验证当前线段 + let mut 当前线段_rc = Rc::clone(线段序列.last().unwrap()); + Self::验证序列(&mut 当前线段_rc, 虚线序列); + let seg_idx = 线段序列.len() - 1; + 线段序列[seg_idx] = 当前线段_rc; + + if 线段序列.last().unwrap().基础序列.len() < 3 { + let 当前 = Rc::clone(线段序列.last().unwrap()); + Self::_弹出扩展线段(线段序列, &当前, 0); + 当前层级 += 1; + continue; + } + + if !配置.扩展线段_当下分析 { + let 当前线段 = Rc::clone(线段序列.last().unwrap()); + let 左 = Rc::clone(&当前线段.基础序列[0]); + let 右 = Rc::clone(&当前线段.基础序列[2]); + + if !相对方向::分析(左.高(), 左.低(), 右.高(), 右.低()).是否缺口() { + let mut 克隆 = (**线段序列.last().unwrap()).clone(); + 克隆.基础序列 = 克隆.基础序列[..3].to_vec(); + let mut 段_rc = Rc::new(克隆); + Self::武终(&mut 段_rc, 0); + let seg_idx = 线段序列.len() - 1; + 线段序列[seg_idx] = 段_rc; + } else { + let 当前 = Rc::clone(线段序列.last().unwrap()); + Self::_弹出扩展线段(线段序列, &当前, 0); + 当前层级 += 1; + continue; + } + } + + // 武终 + let idx = 线段序列.len() - 1; + Self::武终(&mut 线段序列[idx], 0); + + let 当前线段 = Rc::clone(线段序列.last().unwrap()); + if 当前线段.基础序列.last().unwrap().序号 + 3 > 虚线序列.last().unwrap().序号 { + return; + } + + let 最后笔 = Rc::clone(当前线段.基础序列.last().unwrap()); + let 序号 = match 虚线序列 + .iter() + .position(|x| Rc::as_ptr(x) == Rc::as_ptr(&最后笔)) + { + Some(idx) => idx + 1, + None => return, + }; + + if 序号 >= 虚线序列.len() { + return; + } + + let mut 需要递归 = false; + + for i in 序号 + 1..虚线序列.len() - 1 { + let 左 = &虚线序列[i - 1]; + let 中 = &虚线序列[i]; + let 右 = &虚线序列[i + 1]; + let 相对关系 = 相对方向::分析(左.高(), 左.低(), 右.高(), 右.低()); + + if 相对关系.是否缺口() { + let mut 段_rc = Rc::clone(线段序列.last().unwrap()); + Self::添加虚线(&mut 段_rc, Rc::clone(左)); + let seg_idx = 线段序列.len() - 1; + 线段序列[seg_idx] = 段_rc; + + let mut 段_rc = Rc::clone(线段序列.last().unwrap()); + Self::添加虚线(&mut 段_rc, Rc::clone(中)); + let seg_idx = 线段序列.len() - 1; + 线段序列[seg_idx] = 段_rc; + + let seg_idx = 线段序列.len() - 1; + Self::武终(&mut 线段序列[seg_idx], 0); + continue; + } + + if 线段序列 + .last() + .unwrap() + .基础序列 + .iter() + .any(|x| Rc::as_ptr(x) == Rc::as_ptr(左)) + { + continue; + } + + let 段 = 虚线::创建线段(&[ + Rc::clone(左), + Rc::clone(中), + Rc::clone(右), + ]); + let mut 段_rc = Rc::new(段); + Self::_添加扩展线段(线段序列, &mut 段_rc, 0); + 需要递归 = true; + break; + } + + if 需要递归 { + 当前层级 += 1; + continue; + } + + break; + } + } + + // ================================================================ + // 背驰相关 + // ================================================================ + + /// 判断线段内部是否背驰 + /// + /// 分析线段的内部中枢和MACD柱分段,判断是否发生内部背驰 + pub fn 判断线段内部是否背驰(当前段: &虚线, 观察员: &观察者) -> bool { + let _虚 = &当前段.虚_中枢序列; + let 实 = &当前段.实_中枢序列; + let 阳: Vec<&Rc<虚线>> = 当前段 + .基础序列 + .iter() + .filter(|b| b.方向() == 相对方向::向上) + .collect(); + let 阴: Vec<&Rc<虚线>> = 当前段 + .基础序列 + .iter() + .filter(|b| b.方向() == 相对方向::向下) + .collect(); + + if !阴.is_empty() { + // 阴不为空表示特征序列仍在合并中,不判断 + } + let 笔之实数 = 阳.len(); + if 笔之实数 < 3 { + return false; + } + + let 进入段 = 阳[阳.len() - 3]; + let 离开段 = 阳[阳.len() - 1]; + if 进入段.序号 >= 离开段.序号 { + return false; + } + let 关系 = 相对方向::分析(进入段.高(), 进入段.低(), 离开段.高(), 离开段.低()); + let mut 背驰 = false; + let mut 盘整背驰 = false; + + if ((进入段.方向().是否向上() && 关系.是否向上()) + || (进入段.方向().是否向下() && 关系.是否向下())) + && crate::algorithm::divergence::背驰分析::背驰模式( + 进入段, + 离开段, + &观察员.普通K线序列, + &观察员.配置, + &观察员.配置.线段内部背驰_模式, + ) + { + let k线序列 = K线::截取rc( + &观察员.普通K线序列, + &阳[阳.len() - 3].文.中.标的K线, + &阳[阳.len() - 1].武.中.标的K线, + ); + if 虚线::计算MACD柱子分段(&k线序列).len() >= 3 { + 盘整背驰 = true; + } + } + + if !实.is_empty() { + let 最后中枢 = &实[实.len() - 1]; + if 最后中枢.基础序列.iter().any(|b| Rc::ptr_eq(b, 阳[阳.len() - 1])) { + // 最后一笔在最后一个中枢内 + if let Some(序号) = 当前段.基础序列.iter().position(|b| { + Rc::ptr_eq(b, &最后中枢.基础序列[0]) + }) { + if 序号 > 0 { + let 进入段 = &当前段.基础序列[序号 - 1]; + let 离开段 = 阳[阳.len() - 1]; + if 进入段.序号 < 离开段.序号 { + if 进入段.方向() != 离开段.方向() { + return crate::algorithm::divergence::背驰分析::测度背驰(进入段, 离开段) + && 虚线::买卖意义(离开段, 观察员).0; + } + let 关系 = 相对方向::分析( + 进入段.高(), + 进入段.低(), + 离开段.高(), + 离开段.低(), + ); + if ((进入段.方向().是否向上() && 关系.是否向上()) + || (进入段.方向().是否向下() && 关系.是否向下())) + && crate::algorithm::divergence::背驰分析::背驰模式( + 进入段, + 离开段, + &观察员.普通K线序列, + &观察员.配置, + &观察员.配置.线段内部背驰_模式, + ) + { + return true; + } + } + } + } + } else if 最后中枢.第三买卖线.is_some() { + // 第三买卖点后盘整背驰 + let 进入段 = 阳[阳.len() - 3]; + let 离开段 = 阳[阳.len() - 1]; + if 进入段.序号 < 离开段.序号 { + if 进入段.方向() != 离开段.方向() { + return crate::algorithm::divergence::背驰分析::测度背驰(进入段, 离开段) + && 虚线::买卖意义(离开段, 观察员).0; + } + let 关系 = + 相对方向::分析(进入段.高(), 进入段.低(), 离开段.高(), 离开段.低()); + if ((进入段.方向().是否向上() && 关系.是否向上()) + || (进入段.方向().是否向下() && 关系.是否向下())) + && crate::algorithm::divergence::背驰分析::背驰模式( + 进入段, + 离开段, + &观察员.普通K线序列, + &观察员.配置, + &观察员.配置.线段内部背驰_模式, + ) + { + return true; + } + } + } + } else { + // 没有中枢 + if 笔之实数 == 3 { + 背驰 = 盘整背驰; + } + } + + 背驰 || 盘整背驰 + } + + /// 段获取所有停顿位置 — 在线段范围内找出所有停顿位置 + pub fn 段获取所有停顿位置(段: &虚线, 观察员: &观察者) -> Vec<虚线> { + let mut 结果 = Vec::new(); + if 段.模式 != "文武" || 段.标识 != "线段" { + return 结果; + } + + let 阳: Vec> = 段 + .基础序列 + .iter() + .filter(|b| b.方向() == 相对方向::向上) + .cloned() + .collect(); + if 阳.len() < 3 { + return 结果; + } + + // Simplified: only handle the basic case (笔停顿 + 线段停顿) + // Full implementation requires complex sequence management + let mut 笔序列: Vec> = Vec::new(); + + for 筆 in &阳 { + if 笔序列.len() >= 2 { + let 筆停顿 = 笔::获取所有停顿位置(筆, 观察员); + let mut 停顿列表: Vec<虚线> = 筆停顿; + 停顿列表.push((**筆).clone()); + + for 停顿 in 停顿列表 { + 笔序列.push(Rc::new(停顿.clone())); + // 线段.分析 with the accumulated 笔序列 + let mut 线段序列: Vec> = Vec::new(); + let 笔序列_slice: Vec> = 笔序列.iter().map(|b| Rc::clone(b)).collect(); + Self::分析( + &笔序列_slice, + &mut 线段序列, + &观察员.配置, + 0, + &[ + 相对方向::向下, + 相对方向::向上, + 相对方向::顺, + 相对方向::逆, + 相对方向::同, + ], + ); + + let 重复 = match (线段序列.last(), 结果.last()) { + (Some(a), Some(b)) => Rc::ptr_eq(&a.武, &b.武), + _ => false, + }; + if !重复 { + if let Some(最后线段) = 线段序列.last() { + let 新段 = 虚线::创建线段(&最后线段.基础序列); + if 新段.方向() == 段.方向() { + 结果.push(新段); + } + } + } + + // If this 停顿 is not the original 筆, pop it + let 停顿_ptr: *const 虚线 = &停顿; + let 筆_ptr: *const 虚线 = 筆.as_ref(); + if 停顿_ptr != 筆_ptr { + 笔序列.pop(); + } + } + } else { + 笔序列.push(Rc::clone(筆)); + } + } + 结果 + } + + /// 是否背驰过 — 判断线段是否在停顿位置出现过背驰 + pub fn 是否背驰过(当前段: &虚线, 观察员: &观察者) -> Vec> { + let 停顿位置 = Self::段获取所有停顿位置(当前段, 观察员); + let mut 结果 = Vec::new(); + + for 段 in 停顿位置 { + let mut 段_rc = Rc::new(段); + Self::获取内部中枢序列(&mut 段_rc, &观察员.配置); + if Self::判断线段内部是否背驰(&段_rc, 观察员) { + 结果.push(Rc::clone(&段_rc.武)); + } + } + + 结果 + } +} diff --git a/chanlun/src/business/bsp.rs b/chanlun/src/business/bsp.rs new file mode 100644 index 0000000..ca11643 --- /dev/null +++ b/chanlun/src/business/bsp.rs @@ -0,0 +1,181 @@ +use crate::kline::bar::K线; +use crate::kline::chan_kline::缠论K线; +use crate::structure::fractal_obj::分型; +use crate::types::bsp_type::买卖点类型; +use crate::types::分型结构; +use std::rc::Rc; + +/// 基础买卖点 — 买卖点的基础数据结构 +#[derive(Debug, Clone)] +pub struct 基础买卖点 { + pub 备注: String, + pub 类型: 买卖点类型, + pub 买卖点分型: Rc<分型>, + pub 买卖点K线: Rc<缠论K线>, + pub 当前K线: Rc, + pub 失效K线: Option>, + pub 终结K线: Option>, + pub 破位值: f64, + pub 结构: Option<分型结构>, +} + +impl 基础买卖点 { + pub fn new( + 类型: 买卖点类型, + 当前K线: Rc, + 买卖点分型: Rc<分型>, + 备注: String, + 中枢破位值: f64, + ) -> Self { + let 买卖点K线 = Rc::clone(&买卖点分型.中); + Self { + 备注, + 类型, + 买卖点分型, + 买卖点K线, + 当前K线, + 失效K线: None, + 终结K线: None, + 破位值: 中枢破位值, + 结构: None, + } + } + + /// 偏移 — 当前K线与买卖点K线的序号差 + pub fn 偏移(&self) -> i64 { + self.当前K线.序号 - self.买卖点K线.序号 + } + + /// 失效偏移 + pub fn 失效偏移(&self) -> i64 { + match &self.失效K线 { + Some(k) => k.序号 - self.买卖点K线.序号, + None => -1, + } + } + + /// 有效性 — 失效K线是否存在 + pub fn 有效性(&self) -> bool { + self.失效K线.is_some() + } + + /// 与MACD柱子匹配 + pub fn 与MACD柱子匹配(&self) -> bool { + self.买卖点K线.与MACD柱子匹配() + } + + /// 与MACD柱子分型匹配 + pub fn 与MACD柱子分型匹配(&self) -> bool { + self.买卖点分型.与MACD柱子分型匹配() + } +} + +impl std::fmt::Display for 基础买卖点 { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "{}<{}, {}, {}>", + self.类型, + self.买卖点K线.as_ref(), + self.偏移(), + self.失效偏移(), + ) + } +} + +/// 买卖点 — 包含一二三类买卖点的工厂方法 +pub struct 买卖点; + +impl 买卖点 { + pub fn 一卖点( + 买卖点分型: Rc<分型>, + 当前K线: Rc, + _标识: &str, + 备注: String, + 中枢破位值: f64, + ) -> 基础买卖点 { + 基础买卖点::new(买卖点类型::一卖, 当前K线, 买卖点分型, 备注, 中枢破位值) + } + + pub fn 一买点( + 买卖点分型: Rc<分型>, + 当前K线: Rc, + _标识: &str, + 备注: String, + 中枢破位值: f64, + ) -> 基础买卖点 { + 基础买卖点::new(买卖点类型::一买, 当前K线, 买卖点分型, 备注, 中枢破位值) + } + + pub fn 二卖点( + 买卖点分型: Rc<分型>, + 当前K线: Rc, + _标识: &str, + 备注: String, + 中枢破位值: f64, + ) -> 基础买卖点 { + 基础买卖点::new(买卖点类型::二卖, 当前K线, 买卖点分型, 备注, 中枢破位值) + } + + pub fn 二买点( + 买卖点分型: Rc<分型>, + 当前K线: Rc, + _标识: &str, + 备注: String, + 中枢破位值: f64, + ) -> 基础买卖点 { + 基础买卖点::new(买卖点类型::二买, 当前K线, 买卖点分型, 备注, 中枢破位值) + } + + pub fn 三卖点( + 买卖点分型: Rc<分型>, + 当前K线: Rc, + _标识: &str, + 备注: String, + 中枢破位值: f64, + ) -> 基础买卖点 { + 基础买卖点::new(买卖点类型::三卖, 当前K线, 买卖点分型, 备注, 中枢破位值) + } + + pub fn 三买点( + 买卖点分型: Rc<分型>, + 当前K线: Rc, + _标识: &str, + 备注: String, + 中枢破位值: f64, + ) -> 基础买卖点 { + 基础买卖点::new(买卖点类型::三买, 当前K线, 买卖点分型, 备注, 中枢破位值) + } + + /// 生成买卖点 — 根据参数自动选择类型 + pub fn 生成买卖点( + 特征: &str, + 序号: &str, + 级别: &str, + 买卖点分型: Rc<分型>, + 当前缠K: Rc<缠论K线>, + ) -> 基础买卖点 { + let 买卖 = if matches!(买卖点分型.结构, 分型结构::底 | 分型结构::下) { + "买" + } else { + "卖" + }; + let 备注 = format!("{}_{}{}{}", 特征, 级别, 序号, 买卖); + let 破位值 = 买卖点分型.分型特征值; + + // 当前K线 — 从缠K获取其标的K线 + let 当前K线 = Rc::clone(&当前缠K.标的K线); + + let 类型 = match (序号, 买卖) { + ("一", "买") => 买卖点类型::一买, + ("一", "卖") => 买卖点类型::一卖, + ("二", "买") => 买卖点类型::二买, + ("二", "卖") => 买卖点类型::二卖, + ("三", "买") => 买卖点类型::三买, + ("三", "卖") => 买卖点类型::三卖, + _ => 买卖点类型::一买, // fallback + }; + + 基础买卖点::new(类型, 当前K线, 买卖点分型, 备注, 破位值) + } +} diff --git a/chanlun/src/business/mod.rs b/chanlun/src/business/mod.rs new file mode 100644 index 0000000..e27f29c --- /dev/null +++ b/chanlun/src/business/mod.rs @@ -0,0 +1,4 @@ +pub mod bsp; +pub mod multi_frame; +pub mod observer; +pub mod synthesizer; diff --git a/chanlun/src/business/multi_frame.rs b/chanlun/src/business/multi_frame.rs new file mode 100644 index 0000000..a2a0e75 --- /dev/null +++ b/chanlun/src/business/multi_frame.rs @@ -0,0 +1,148 @@ +use crate::business::observer::观察者; +use crate::business::synthesizer::K线合成器; +use crate::config::缠论配置; +use crate::kline::bar::K线; +use std::collections::HashMap; + +/// 立体分析器 — 多周期协调器 +/// +/// 包含一个K线合成器和每周期一个观察者。 +/// 输入最小周期K线,合成大周期后分发到对应观察者。 +pub struct 立体分析器 { + pub 周期组: Vec, + 输入周期: i64, + 显示周期: i64, + K线合成器: K线合成器, + 单体分析器: HashMap, + 合成K线计数: HashMap, +} + +impl 立体分析器 { + pub fn new( + 符号: String, + 周期组: Vec, + 配置: Option<缠论配置>, + 配置组: Option>, + ) -> Self { + let mut 周期组 = 周期组; + 周期组.sort(); + let 输入周期 = 周期组[0]; + let 显示周期 = if 周期组.len() > 1 { + 周期组[1] + } else { + 周期组[0] + }; + + let 默认配置 = 配置.unwrap_or_default(); + let 配置组 = 配置组.unwrap_or_default(); + + let K线合成器 = K线合成器::new(符号.clone(), 周期组.clone()); + + let mut 单体分析器 = HashMap::new(); + for &周期 in &周期组 { + let mut 当前配置 = 配置组.get(&周期).cloned().unwrap_or_else(|| 默认配置.clone()); + 当前配置.推送K线 = false; + 当前配置.推送线段 = false; + // Set 标识 to match 符号 + 当前配置.标识 = 符号.clone(); + + let 观察员 = 观察者::new(符号.clone(), 周期, 当前配置); + 单体分析器.insert(周期, 观察员); + } + + // Configure display period + if let Some(显示观察员) = 单体分析器.get_mut(&显示周期) { + 显示观察员.配置.推送K线 = true; + 显示观察员.配置.推送笔 = true; + 显示观察员.配置.推送线段 = true; + 显示观察员.配置.图表展示 = true; + 显示观察员.重置基础序列(); + } + + // Align other periods to display period's 缠K序列 + // (in practice, this is done during data loading) + for &周期 in &周期组 { + if 周期 != 显示周期 { + // Other periods will reference display period's 缠论K线序列 + // This is done during the K-line callback flow + } + } + + let mut 合成K线计数 = HashMap::new(); + for &周期 in &周期组 { + 合成K线计数.insert(周期, 0); + } + + Self { + 周期组, + 输入周期, + 显示周期, + K线合成器, + 单体分析器, + 合成K线计数, + } + } + + /// 投喂K线 — 统一入口,接收最小周期K线 + pub fn 投喂K线(&mut self, 普K: K线) { + if 普K.周期 != self.输入周期 { + eprintln!( + "立体分析器.投喂K线 周期不匹配 {} != {}", + 普K.周期, self.输入周期 + ); + return; + } + + // Record current K-line counts before feeding + let mut 之前计数 = HashMap::new(); + for &周期 in &self.周期组 { + 之前计数.insert(周期, self.K线合成器.合成K线列表.get(&周期).map(|v| v.len()).unwrap_or(0)); + } + + // Feed to synthesizer + self.K线合成器.投喂K线(普K); + + // Dispatch new K-lines to observers + for &周期 in &self.周期组 { + let 新K线列表 = self.K线合成器.合成K线列表.get(&周期); + let 之前计数 = 之前计数[&周期]; + if let Some(列表) = 新K线列表 { + for k线 in 列表.iter().skip(之前计数) { + // Clone the K-line for feeding to observer + let 完成K线 = k线.clone(); + if let Some(观察员) = self.单体分析器.get_mut(&周期) { + 观察员.增加原始K线(完成K线); + } + } + } + + // Also feed the current in-progress K-line (if any) + if let Some(Some(当前K线)) = self.K线合成器.当前K线.get(&周期).cloned() { + if let Some(观察员) = self.单体分析器.get_mut(&周期) { + // Feed a clone of current in-progress K-line for real-time updates + // Note: this may cause duplicate data, matching Python behavior + 观察员.增加原始K线(当前K线); + } + } + } + } + + /// 获取指定周期的观察者 + pub fn 获取观察者(&self, 周期: i64) -> Option<&观察者> { + self.单体分析器.get(&周期) + } + + /// 获取指定周期的观察者(可变) + pub fn 获取观察者_mut(&mut self, 周期: i64) -> Option<&mut 观察者> { + self.单体分析器.get_mut(&周期) + } + + /// 测试_保存数据 + pub fn 测试_保存数据(&self) { + for 周期 in &self.周期组 { + if let Some(观察员) = self.单体分析器.get(周期) { + 观察员.测试_保存数据(None); + } + } + } +} diff --git a/chanlun/src/business/observer.rs b/chanlun/src/business/observer.rs new file mode 100644 index 0000000..c21d95c --- /dev/null +++ b/chanlun/src/business/observer.rs @@ -0,0 +1,503 @@ +use crate::algorithm::bi::笔; +use crate::algorithm::hub::中枢; +use crate::algorithm::segment::线段; +use crate::config::缠论配置; +use crate::kline::bar::K线; +use crate::kline::chan_kline::缠论K线; +use crate::structure::dash_line::虚线; +use crate::structure::fractal_obj::分型; +use crate::types::相对方向; +use crate::utils::datetime; +use std::rc::Rc; + +/// 观察者 — 单周期分析器,持有所有层级序列,接收K线流式输入后逐层计算 +pub struct 观察者 { + pub 符号: String, + pub 周期: i64, + pub 配置: 缠论配置, + + // K线序列 + pub 普通K线序列: Vec>, + pub 缠论K线序列: Vec>, + + // 分型与笔 + pub 分型序列: Vec>, + pub 笔序列: Vec>, + pub 笔_中枢序列: Vec>, + + // 线段 + pub 线段序列: Vec>, + pub 中枢序列: Vec>, + + // 扩展线段(笔级) + pub 扩展线段序列: Vec>, + pub 扩展中枢序列: Vec>, + + // 扩展线段(线段级) + pub 扩展线段序列_线段: Vec>, + pub 扩展中枢序列_线段: Vec>, + + // 线段之线段 + pub 线段_线段序列: Vec>, + pub 线段_中枢序列: Vec>, + + // 扩展线段之扩展线段 + pub 扩展线段序列_扩展线段: Vec>, + pub 扩展中枢序列_扩展线段: Vec>, + + // 终止时间戳 + 终止时间戳: Option, +} + +impl 观察者 { + pub fn new(符号: String, 周期: i64, 配置: 缠论配置) -> Self { + let 终止时间戳 = if 配置.手动终止 != "1970-01-01 00:00:00" + && !配置.手动终止.is_empty() + { + datetime::转化为时间戳(&配置.手动终止) + } else { + None + }; + + let mut instance = Self { + 符号: 符号.clone(), + 周期, + 配置, + 普通K线序列: Vec::new(), + 缠论K线序列: Vec::new(), + 分型序列: Vec::new(), + 笔序列: Vec::new(), + 笔_中枢序列: Vec::new(), + 线段序列: Vec::new(), + 中枢序列: Vec::new(), + 扩展线段序列: Vec::new(), + 扩展中枢序列: Vec::new(), + 扩展线段序列_线段: Vec::new(), + 扩展中枢序列_线段: Vec::new(), + 线段_线段序列: Vec::new(), + 线段_中枢序列: Vec::new(), + 扩展线段序列_扩展线段: Vec::new(), + 扩展中枢序列_扩展线段: Vec::new(), + 终止时间戳, + }; + instance.配置.标识 = 符号; + instance + } + + /// 标识 + pub fn 标识(&self) -> String { + format!("{}:{}", self.符号, self.周期) + } + + /// 当前K线 + pub fn 当前K线(&self) -> Option<&Rc> { + self.普通K线序列.last() + } + + /// 当前缠K + pub fn 当前缠K(&self) -> Option<&Rc<缠论K线>> { + self.缠论K线序列.last() + } + + /// 重置基础序列 + pub fn 重置基础序列(&mut self) { + self.普通K线序列.clear(); + self.缠论K线序列.clear(); + self.分型序列.clear(); + self.笔序列.clear(); + self.笔_中枢序列.clear(); + self.线段序列.clear(); + self.中枢序列.clear(); + self.扩展线段序列.clear(); + self.扩展中枢序列.clear(); + self.扩展线段序列_线段.clear(); + self.扩展中枢序列_线段.clear(); + self.线段_线段序列.clear(); + self.线段_中枢序列.clear(); + self.扩展线段序列_扩展线段.clear(); + self.扩展中枢序列_扩展线段.clear(); + } + + /// 增加原始K线 — 单根K线投喂入口 + pub fn 增加原始K线(&mut self, 普K: K线) { + if let Some(终止) = self.终止时间戳 { + if 普K.时间戳 > 终止 { + return; + } + } + self.__处理数据(普K); + } + + /// 核心数据处理管道 + fn __处理数据(&mut self, mut 普K: K线) { + // Step 1: 缠论K线分析 (普K is consumed by 分析 as &mut) + let (_, 当前分型) = 缠论K线::分析( + &mut 普K, + &mut self.缠论K线序列, + &mut self.普通K线序列, + &self.配置, + ); + let 当前分型 = match 当前分型 { + Some(fx) => fx, + None => return, + }; + + // Step 2: 笔分析 + if self.配置.分析笔 { + 笔::分析( + 当前分型, + &mut self.分型序列, + &mut self.笔序列, + &self.缠论K线序列, + &self.普通K线序列, + &self.配置, + ); + } + if self.分型序列.is_empty() { + return; + } + + // Step 3: 笔中枢分析 + if self.配置.分析笔中枢 { + 中枢::分析(&self.笔序列, &mut self.笔_中枢序列, true, "", 0); + } + if self.笔序列.is_empty() { + return; + } + + // Step 4: 线段分析 + if self.配置.分析线段 { + 线段::分析( + &self.笔序列, + &mut self.线段序列, + &self.配置, + 0, + &[相对方向::向上, 相对方向::向下], + ); + } + // Clone to avoid borrow issues + let 线段序列_克隆 = self.线段序列.clone(); + if self.配置.分析线段中枢 { + 中枢::分析(&线段序列_克隆, &mut self.中枢序列, true, "", 0); + } + + // Step 5: 扩展线段(笔级) + let 笔序列_克隆 = self.笔序列.clone(); + if self.配置.分析扩展线段 { + 线段::扩展分析(&笔序列_克隆, &mut self.扩展线段序列, &self.配置); + } + let 扩展线段序列_克隆 = self.扩展线段序列.clone(); + if self.配置.分析线段中枢 { + 中枢::分析(&扩展线段序列_克隆, &mut self.扩展中枢序列, true, "", 0); + } + + // Step 6: 扩展线段(线段级) + let 线段序列_克隆2 = self.线段序列.clone(); + if self.配置.分析扩展线段 { + 线段::扩展分析(&线段序列_克隆2, &mut self.扩展线段序列_线段, &self.配置); + } + let 扩展线段_线段_克隆 = self.扩展线段序列_线段.clone(); + if self.配置.分析线段中枢 { + 中枢::分析( + &扩展线段_线段_克隆, + &mut self.扩展中枢序列_线段, + true, + "", + 0, + ); + } + + // Step 7: 线段之线段 + let 线段序列_克隆3 = self.线段序列.clone(); + if self.配置.分析线段 { + 线段::分析( + &线段序列_克隆3, + &mut self.线段_线段序列, + &self.配置, + 0, + &[ + 相对方向::向下, + 相对方向::向上, + 相对方向::顺, + 相对方向::逆, + 相对方向::同, + ], + ); + } + let 线段_线段_克隆 = self.线段_线段序列.clone(); + if self.配置.分析线段中枢 { + 中枢::分析( + &线段_线段_克隆, + &mut self.线段_中枢序列, + true, + "", + 0, + ); + } + + // Step 8: 扩展线段之扩展线段 + let 扩展线段序列_克隆2 = self.扩展线段序列.clone(); + if self.配置.分析扩展线段 { + 线段::扩展分析( + &扩展线段序列_克隆2, + &mut self.扩展线段序列_扩展线段, + &self.配置, + ); + } + let 扩展线段_扩展线段_克隆 = self.扩展线段序列_扩展线段.clone(); + if self.配置.分析线段中枢 { + 中枢::分析( + &扩展线段_扩展线段_克隆, + &mut self.扩展中枢序列_扩展线段, + true, + "", + 0, + ); + } + } + + /// 静态重新分析 — 遍历所有缠K重新生成分型/笔/线段 + pub fn 静态重新分析(&mut self) { + self.分型序列.clear(); + self.笔序列.clear(); + self.笔_中枢序列.clear(); + self.线段序列.clear(); + self.中枢序列.clear(); + self.扩展线段序列.clear(); + self.扩展中枢序列.clear(); + self.扩展线段序列_线段.clear(); + self.扩展中枢序列_线段.clear(); + self.线段_线段序列.clear(); + self.线段_中枢序列.clear(); + self.扩展线段序列_扩展线段.clear(); + self.扩展中枢序列_扩展线段.clear(); + + let 缠K克隆 = self.缠论K线序列.clone(); + let 普K克隆 = self.普通K线序列.clone(); + + for i in 1..缠K克隆.len() - 1 { + let 当前分型 = 分型::new( + Some(Rc::clone(&缠K克隆[i - 1])), + Rc::clone(&缠K克隆[i]), + Some(Rc::clone(&缠K克隆[i + 1])), + ); + 笔::分析( + Rc::new(当前分型), + &mut self.分型序列, + &mut self.笔序列, + &缠K克隆, + &普K克隆, + &self.配置, + ); + } + + if self.配置.分析笔中枢 { + 中枢::分析(&self.笔序列, &mut self.笔_中枢序列, true, "", 0); + } + + let 笔克隆 = self.笔序列.clone(); + if self.配置.分析线段 { + 线段::分析( + &笔克隆, + &mut self.线段序列, + &self.配置, + 0, + &[相对方向::向上, 相对方向::向下], + ); + } + let 线段克隆 = self.线段序列.clone(); + if self.配置.分析线段中枢 { + 中枢::分析(&线段克隆, &mut self.中枢序列, true, "", 0); + } + + let 笔克隆2 = self.笔序列.clone(); + if self.配置.分析扩展线段 { + 线段::扩展分析(&笔克隆2, &mut self.扩展线段序列, &self.配置); + } + let 扩展线段克隆 = self.扩展线段序列.clone(); + if self.配置.分析线段中枢 { + 中枢::分析(&扩展线段克隆, &mut self.扩展中枢序列, true, "", 0); + } + + let 线段克隆2 = self.线段序列.clone(); + if self.配置.分析扩展线段 { + 线段::扩展分析(&线段克隆2, &mut self.扩展线段序列_线段, &self.配置); + } + let 扩展线段_线段_克隆 = self.扩展线段序列_线段.clone(); + if self.配置.分析线段中枢 { + 中枢::分析( + &扩展线段_线段_克隆, + &mut self.扩展中枢序列_线段, + true, + "", + 0, + ); + } + + let 线段克隆3 = self.线段序列.clone(); + if self.配置.分析线段 { + 线段::分析( + &线段克隆3, + &mut self.线段_线段序列, + &self.配置, + 0, + &[ + 相对方向::向下, + 相对方向::向上, + 相对方向::顺, + 相对方向::逆, + 相对方向::同, + ], + ); + } + let 线段_线段_克隆 = self.线段_线段序列.clone(); + if self.配置.分析线段中枢 { + 中枢::分析( + &线段_线段_克隆, + &mut self.线段_中枢序列, + true, + "", + 0, + ); + } + } + + /// 测试_保存数据 — 输出各序列数据文本到文件 + pub fn 测试_保存数据(&self, root: Option<&str>) { + + let 笔序列_文本数据: Vec = self + .笔序列 + .iter() + .map(|b| b.获取数据文本()) + .collect(); + let 线段序列_文本数据: Vec = self + .线段序列 + .iter() + .map(|s| s.获取数据文本()) + .collect(); + let 扩展线段序列_数据文本: Vec = self + .扩展线段序列 + .iter() + .map(|s| s.获取数据文本()) + .collect(); + let 扩展线段序列_线段_数据文本: Vec = self + .扩展线段序列_线段 + .iter() + .map(|s| s.获取数据文本()) + .collect(); + let 线段_线段序列_数据文本: Vec = self + .线段_线段序列 + .iter() + .map(|s| s.获取数据文本()) + .collect(); + let 扩展线段序列_扩展线段_数据文本: Vec = self + .扩展线段序列_扩展线段 + .iter() + .map(|s| s.获取数据文本()) + .collect(); + + let 笔_中枢序列_数据文本: Vec = self + .笔_中枢序列 + .iter() + .map(|h| h.获取数据文本()) + .collect(); + let 中枢序列_数据文本: Vec = self + .中枢序列 + .iter() + .map(|h| h.获取数据文本()) + .collect(); + let 扩展中枢序列_数据文本: Vec = self + .扩展中枢序列 + .iter() + .map(|h| h.获取数据文本()) + .collect(); + let 扩展中枢序列_线段_数据文本: Vec = self + .扩展中枢序列_线段 + .iter() + .map(|h| h.获取数据文本()) + .collect(); + let 线段_中枢序列_数据文本: Vec = self + .线段_中枢序列 + .iter() + .map(|h| h.获取数据文本()) + .collect(); + let 扩展中枢序列_扩展线段_数据文本: Vec = self + .扩展中枢序列_扩展线段 + .iter() + .map(|h| h.获取数据文本()) + .collect(); + + // 确定根目录 + let 根目录 = match root { + Some(r) => std::path::PathBuf::from(r), + None => std::env::current_dir().unwrap_or_default(), + }; + + // 生成子目录名称 + let 起始时间 = self.普通K线序列.first().map(|k| k.时间戳).unwrap_or(0); + let 结束时间 = self.普通K线序列.last().map(|k| k.时间戳).unwrap_or(0); + let 目录标识 = format!("Rust_{}_{}_{}", self.符号, 起始时间, 结束时间); + + let 保存路径 = 根目录.join(&目录标识); + if let Err(e) = std::fs::create_dir_all(&保存路径) { + eprintln!("创建目录失败: {} -> {}", 保存路径.display(), e); + return; + } + + let 数据映射: Vec<(&str, &[String])> = vec![ + ("笔序列_文本数据", &笔序列_文本数据), + ("线段序列_文本数据", &线段序列_文本数据), + ("扩展线段序列_数据文本", &扩展线段序列_数据文本), + ("扩展线段序列_线段_数据文本", &扩展线段序列_线段_数据文本), + ("线段_线段序列_数据文本", &线段_线段序列_数据文本), + ("扩展线段序列_扩展线段_数据文本", &扩展线段序列_扩展线段_数据文本), + ("笔_中枢序列_数据文本", &笔_中枢序列_数据文本), + ("中枢序列_数据文本", &中枢序列_数据文本), + ("扩展中枢序列_数据文本", &扩展中枢序列_数据文本), + ("扩展中枢序列_线段_数据文本", &扩展中枢序列_线段_数据文本), + ("线段_中枢序列_数据文本", &线段_中枢序列_数据文本), + ("扩展中枢序列_扩展线段_数据文本", &扩展中枢序列_扩展线段_数据文本), + ]; + + for (文件名, 数据列表) in &数据映射 { + let 文件路径 = 保存路径.join(format!("{}.txt", 文件名)); + let 内容 = 数据列表.join("\n") + "\n"; + if let Err(e) = std::fs::write(&文件路径, &内容) { + eprintln!("写入文件失败: {} -> {}", 文件路径.display(), e); + } + } + + println!("全部数据拆分保存完成,目录:{}", 保存路径.display()); + } + + /// 读取数据文件 — 从 .nb 文件加载数据 + pub fn 读取数据文件(文件路径: &str, 配置: Option<缠论配置>) -> Result { + let 配置 = 配置.unwrap_or_default(); + + // Parse filename: btcusd-300-1631772074-1632222374.nb + let path = std::path::Path::new(文件路径); + let name = path + .file_stem() + .and_then(|n| n.to_str()) + .ok_or("invalid filename")?; + let parts: Vec<&str> = name.split('-').collect(); + if parts.len() < 4 { + return Err(format!("invalid filename format: {}", name)); + } + let 符号 = parts[0].to_string(); + let 周期: i64 = parts[1].parse().map_err(|e| format!("parse period: {}", e))?; + + let mut 实例 = Self::new(符号, 周期, 配置); + + let data = std::fs::read(文件路径).map_err(|e| format!("read file: {}", e))?; + let size = 48; // 6 × 8 bytes (big-endian double) + for i in 0..data.len() / size { + let offset = i * size; + if let Some(k线) = K线::from_bytes(&data[offset..offset + size], 周期, "nb") { + 实例.增加原始K线(k线); + } + } + + Ok(实例) + } +} diff --git a/chanlun/src/business/synthesizer.rs b/chanlun/src/business/synthesizer.rs new file mode 100644 index 0000000..31a7780 --- /dev/null +++ b/chanlun/src/business/synthesizer.rs @@ -0,0 +1,115 @@ +use crate::kline::bar::K线; +use std::collections::HashMap; + +/// K线合成器 — 将小周期K线合成为大周期K线 +pub struct K线合成器 { + pub 标识: String, + pub 周期组: Vec, + pub 当前K线: HashMap>, + pub 合成K线列表: HashMap>, +} + +impl K线合成器 { + pub fn new(标识: String, 周期组: Vec) -> Self { + let mut 周期组 = 周期组; + 周期组.sort(); + + let mut 当前K线 = HashMap::new(); + let mut 合成K线列表 = HashMap::new(); + for &周期 in &周期组 { + 当前K线.insert(周期, None); + 合成K线列表.insert(周期, Vec::new()); + } + + Self { + 标识, + 周期组, + 当前K线, + 合成K线列表, + } + } + + /// 投喂K线 — 输入最小周期K线,合成为所有目标周期 + pub fn 投喂K线(&mut self, 普K: K线) { + let 周期组 = self.周期组.clone(); + for 周期 in 周期组 { + self._处理单个周期(周期, &普K); + } + } + + fn _处理单个周期(&mut self, 周期: i64, 普K: &K线) { + let 目标时间戳 = self._对齐时间戳(普K.时间戳, 周期); + let 当前K线 = self.当前K线.get(&周期).unwrap().clone(); + + if 当前K线.is_none() { + // 创建新K线 + let 新K线 = self._创建新K线(周期, 目标时间戳, 普K); + *self.当前K线.get_mut(&周期).unwrap() = Some(新K线); + } else if 当前K线.as_ref().unwrap().时间戳 == 目标时间戳 { + // 更新当前K线 + let mut k线 = 当前K线.unwrap(); + self._更新K线(&mut k线, 普K); + *self.当前K线.get_mut(&周期).unwrap() = Some(k线); + } else { + // 完成当前K线,创建新K线 + self._完成K线(周期); + let 新K线 = self._创建新K线(周期, 目标时间戳, 普K); + *self.当前K线.get_mut(&周期).unwrap() = Some(新K线); + } + } + + fn _对齐时间戳(&self, 时间戳: i64, 周期: i64) -> i64 { + if 周期 == 0 { + return 时间戳; + } + (时间戳 / 周期) * 周期 + } + + fn _创建新K线(&self, 周期: i64, 时间戳: i64, 普K: &K线) -> K线 { + let 序号 = self + .合成K线列表 + .get(&周期) + .and_then(|list| list.last()) + .map(|k| k.序号 + 1) + .unwrap_or(0); + + K线::创建普K( + &self.标识, + 时间戳, + 普K.开盘价, + 普K.高, + 普K.低, + 普K.收盘价, + 普K.成交量, + 序号, + 周期, + ) + } + + fn _更新K线(&self, 当前K线: &mut K线, 新数据: &K线) { + 当前K线.高 = 当前K线.高.max(新数据.高); + 当前K线.低 = 当前K线.低.min(新数据.低); + 当前K线.收盘价 = 新数据.收盘价; + 当前K线.成交量 += 新数据.成交量; + } + + fn _完成K线(&mut self, 周期: i64) { + let 当前K线 = self.当前K线.get(&周期).and_then(|k| k.clone()); + if let Some(mut k线) = 当前K线 { + k线.序号 = self + .合成K线列表 + .get(&周期) + .and_then(|list| list.last()) + .map(|k| k.序号 + 1) + .unwrap_or(0); + + self.合成K线列表.get_mut(&周期).unwrap().push(k线); + *self.当前K线.get_mut(&周期).unwrap() = None; + } + } + + /// 获取指定周期当前正在合成的K线 + pub fn 获取当前K线(&self, 周期: i64) -> Option<&K线> { + self.当前K线.get(&周期).and_then(|k| k.as_ref()) + } +} diff --git a/chanlun/src/config.rs b/chanlun/src/config.rs new file mode 100644 index 0000000..5911544 --- /dev/null +++ b/chanlun/src/config.rs @@ -0,0 +1,338 @@ +use serde::{Deserialize, Serialize}; + +fn is_infinite_f64(v: &f64) -> bool { + v.is_infinite() +} + +/// 缠论配置 —— 控制所有分析阶段的行为 +/// +/// 所有字段带默认值,使用 `#[serde(default)]` 实现缺失字段容错 +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(default)] +pub struct 缠论配置 { + // ---- 基础 ---- + pub 标识: String, + + // ---- 缠K ---- + pub 缠K合并替换: bool, + + // ---- 笔 ---- + pub 笔内元素数量: i64, + pub 笔内相同终点取舍: bool, + pub 笔内起始分型包含整笔: bool, + pub 笔内起始分型包含整笔_包括右: bool, + pub 笔内原始K线包含整笔: bool, + pub 笔次级成笔: bool, + pub 笔弱化: bool, + pub 笔弱化_原始数量: i64, + + // ---- 线段 ---- + pub 线段_非缺口下穿刺: bool, + pub 线段_特征序列忽视老阴老阳: bool, + pub 线段_缺口后紧急修正: bool, + pub 线段_修正: bool, + pub 线段内部中枢图显: bool, + pub 扩展线段_当下分析: bool, + + // ---- 分析开关 ---- + pub 分析笔: bool, + pub 分析线段: bool, + pub 分析扩展线段: bool, + pub 分析笔中枢: bool, + pub 分析线段中枢: bool, + + // ---- 终止 ---- + pub 手动终止: String, + + // ---- 指标 ---- + pub 计算指标: bool, + pub 指标计算方式: String, + + // ---- MACD ---- + pub 平滑异同移动平均线_快线周期: i64, + pub 平滑异同移动平均线_慢线周期: i64, + pub 平滑异同移动平均线_信号周期: i64, + + // ---- RSI ---- + pub 相对强弱指数_周期: i64, + pub 相对强弱指数_移动平均线周期: i64, + pub 相对强弱指数_超买阈值: f64, + pub 相对强弱指数_超卖阈值: f64, + + // ---- KDJ ---- + pub 随机指标_RSV周期: i64, + pub 随机指标_K值平滑周期: i64, + pub 随机指标_D值平滑周期: i64, + pub 随机指标_超买阈值: f64, + pub 随机指标_超卖阈值: f64, + + // ---- 推送/显示 ---- + pub 图表展示: bool, + pub 推送K线: bool, + pub 推送笔: bool, + pub 推送线段: bool, + pub 推送中枢: bool, + + // ---- 图表展示细分 ---- + pub 图表展示_笔: bool, + pub 图表展示_线段: bool, + pub 图表展示_扩展线段: bool, + pub 图表展示_扩展线段_线段: bool, + pub 图表展示_线段_线段: bool, + pub 图表展示_中枢_笔: bool, + pub 图表展示_中枢_线段: bool, + pub 图表展示_中枢_扩展线段: bool, + pub 图表展示_中枢_扩展线段_线段: bool, + pub 图表展示_中枢_线段_线段: bool, + pub 图表展示_中枢_线段内部: bool, + + // ---- 买卖点 ---- + pub 买卖点偏移: i64, + pub 买卖点激进识别: bool, + pub 买卖点与MACD柱强相关: bool, + pub 买卖点错过误差值: f64, + pub 买卖点_指标模式: String, + pub 买卖点_指标匹配_MACD: bool, + pub 买卖点_指标匹配_KDJ: bool, + pub 买卖点_指标匹配_RSI: bool, + #[serde(skip_serializing_if = "is_infinite_f64")] + pub 买卖点_背离率: f64, + pub 买卖点_T2_回调阈值: f64, + pub 买卖点_T2S_最大层级: i64, + pub 买卖点_峰值条件: bool, + pub 买卖点_计算方式: String, + pub 买卖点_计算线段BSP1: bool, + pub 买卖点_处理BSP2: bool, + pub 买卖点_计算线段BSP3: bool, + pub 买卖点_依赖T1: bool, + pub 买卖点_中枢来源: String, + pub 买卖点_调试输出: bool, + + // ---- 背驰 ---- + pub 线段内部背驰_MACD: bool, + pub 线段内部背驰_斜率: bool, + pub 线段内部背驰_测度: bool, + pub 线段内部背驰_模式: String, + + // ---- 文件 ---- + pub 加载文件路径: String, +} + +impl Default for 缠论配置 { + fn default() -> Self { + Self { + 标识: "bar".into(), + 缠K合并替换: false, + 笔内元素数量: 5, + 笔内相同终点取舍: false, + 笔内起始分型包含整笔: false, + 笔内起始分型包含整笔_包括右: false, + 笔内原始K线包含整笔: false, + 笔次级成笔: false, + 笔弱化: false, + 笔弱化_原始数量: 3, + 线段_非缺口下穿刺: false, + 线段_特征序列忽视老阴老阳: false, + 线段_缺口后紧急修正: true, + 线段_修正: false, + 线段内部中枢图显: true, + 扩展线段_当下分析: false, + 分析笔: true, + 分析线段: true, + 分析扩展线段: true, + 分析笔中枢: true, + 分析线段中枢: true, + 手动终止: String::new(), + 计算指标: true, + 指标计算方式: "收".into(), + 平滑异同移动平均线_快线周期: 13, + 平滑异同移动平均线_慢线周期: 31, + 平滑异同移动平均线_信号周期: 11, + 相对强弱指数_周期: 13, + 相对强弱指数_移动平均线周期: 13, + 相对强弱指数_超买阈值: 75.0, + 相对强弱指数_超卖阈值: 25.0, + 随机指标_RSV周期: 13, + 随机指标_K值平滑周期: 5, + 随机指标_D值平滑周期: 5, + 随机指标_超买阈值: 80.0, + 随机指标_超卖阈值: 20.0, + 图表展示: true, + 推送K线: true, + 推送笔: true, + 推送线段: true, + 推送中枢: true, + 图表展示_笔: true, + 图表展示_线段: true, + 图表展示_扩展线段: true, + 图表展示_扩展线段_线段: true, + 图表展示_线段_线段: true, + 图表展示_中枢_笔: true, + 图表展示_中枢_线段: true, + 图表展示_中枢_扩展线段: true, + 图表展示_中枢_扩展线段_线段: true, + 图表展示_中枢_线段_线段: true, + 图表展示_中枢_线段内部: true, + 买卖点偏移: 1, + 买卖点激进识别: false, + 买卖点与MACD柱强相关: false, + 买卖点错过误差值: 0.01, + 买卖点_指标模式: "配置".into(), + 买卖点_指标匹配_MACD: true, + 买卖点_指标匹配_KDJ: true, + 买卖点_指标匹配_RSI: true, + 买卖点_背离率: f64::INFINITY, + 买卖点_T2_回调阈值: 1.0, + 买卖点_T2S_最大层级: 3, + 买卖点_峰值条件: false, + 买卖点_计算方式: "峰".into(), + 买卖点_计算线段BSP1: true, + 买卖点_处理BSP2: true, + 买卖点_计算线段BSP3: true, + 买卖点_依赖T1: true, + 买卖点_中枢来源: "合".into(), + 买卖点_调试输出: false, + 线段内部背驰_MACD: true, + 线段内部背驰_斜率: true, + 线段内部背驰_测度: true, + 线段内部背驰_模式: "相对".into(), + 加载文件路径: "./templates/last.nb".into(), + } + } +} + +impl 缠论配置 { + pub fn to_json(&self) -> String { + serde_json::to_string_pretty(self).unwrap_or_default() + } + + pub fn from_json(json_str: &str) -> Result { + serde_json::from_str(json_str) + } + + pub fn 保存配置(&self, path: &str) -> std::io::Result<()> { + std::fs::write(path, self.to_json()) + } + + pub fn 加载配置(path: &str) -> Result> { + let content = std::fs::read_to_string(path)?; + let config = Self::from_json(&content)?; + Ok(config) + } + + /// 返回一个关闭所有推送/显示的新配置 + pub fn 不推送(&self) -> Self { + Self { + 图表展示: false, + 推送K线: false, + 推送笔: false, + 推送线段: false, + 推送中枢: false, + 图表展示_笔: false, + 图表展示_线段: false, + 图表展示_扩展线段: false, + 图表展示_扩展线段_线段: false, + 图表展示_线段_线段: false, + 图表展示_中枢_笔: false, + 图表展示_中枢_线段: false, + 图表展示_中枢_扩展线段: false, + 图表展示_中枢_扩展线段_线段: false, + 图表展示_中枢_线段_线段: false, + 图表展示_中枢_线段内部: false, + ..self.clone() + } + } + + /// 按序号重组字典 — 兼容旧版配置的复合key格式 + pub fn 按序号重组字典(默认配置: &Self, 原始字典: &serde_json::Value) -> Vec<(i64, Self)> { + let mut result = Vec::new(); + if let serde_json::Value::Object(map) = 原始字典 { + // 按数字前缀分组: "1_open" → group 1 key "open" + let mut groups: std::collections::BTreeMap> = + std::collections::BTreeMap::new(); + for (key, value) in map { + if let Some(pos) = key.find('_') { + if let Ok(num) = key[..pos].parse::() { + let field = key[pos + 1..].to_string(); + groups + .entry(num) + .or_default() + .insert(field, value.clone()); + } + } + } + for (num, fields) in groups { + let mut config = 默认配置.clone(); + if let Ok(partial) = serde_json::from_value::<缠论配置>(serde_json::Value::Object(fields)) { + // merge partial into config (override matching fields) + config = partial; + } + result.push((num, config)); + } + } + result + } + + /// 对比两个配置,返回差异字段 + pub fn 对比(&self, other: &Self) -> Vec { + let mut diffs = Vec::new(); + let self_json = serde_json::to_value(self).unwrap(); + let other_json = serde_json::to_value(other).unwrap(); + if let (serde_json::Value::Object(self_map), serde_json::Value::Object(other_map)) = + (&self_json, &other_json) + { + for (key, self_val) in self_map { + if let Some(other_val) = other_map.get(key) { + if self_val != other_val { + diffs.push(key.clone()); + } + } + } + } + diffs + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_default_config_roundtrip() { + let config = 缠论配置::default(); + let json = config.to_json(); + let parsed: 缠论配置 = 缠论配置::from_json(&json).unwrap(); + let json2 = parsed.to_json(); + assert_eq!(json, json2); + } + + #[test] + fn test_default_values() { + let config = 缠论配置::default(); + assert_eq!(config.标识, "bar"); + assert_eq!(config.笔内元素数量, 5); + assert!(config.买卖点_背离率.is_infinite()); + assert_eq!(config.指标计算方式, "收"); + } + + #[test] + fn test_partial_deserialize() { + let json = r#"{"标识": "custom", "笔内元素数量": 7}"#; + let config: 缠论配置 = serde_json::from_str(json).unwrap(); + assert_eq!(config.标识, "custom"); + assert_eq!(config.笔内元素数量, 7); + // 未指定字段使用默认值 + assert_eq!(config.买卖点偏移, 1); + } + + #[test] + fn test_不推送() { + let config = 缠论配置::default(); + let muted = config.不推送(); + assert!(!muted.推送K线); + assert!(!muted.推送笔); + assert!(!muted.图表展示); + // 其他字段不变 + assert_eq!(muted.笔内元素数量, 5); + } +} diff --git a/chanlun/src/indicators/kdj.rs b/chanlun/src/indicators/kdj.rs new file mode 100644 index 0000000..470a560 --- /dev/null +++ b/chanlun/src/indicators/kdj.rs @@ -0,0 +1,204 @@ +use serde::{Deserialize, Serialize}; + +/// 随机指标 (KDJ) +/// +/// 使用滑动窗口 + 逐值平滑进行增量计算 +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(default)] +pub struct 随机指标 { + pub 时间戳: i64, + pub 最高价: f64, + pub 最低价: f64, + pub 收盘价: f64, + pub N: i64, + pub M1: i64, + pub M2: i64, + pub 超买阈值: f64, + pub 超卖阈值: f64, + pub RSV: Option, + pub K: Option, + pub D: Option, + pub J: Option, + pub 历史最高价队列: Vec, + pub 历史最低价队列: Vec, + pub 前一个RSV: Option, + pub 前一个K: Option, + pub 前一个D: Option, +} + +impl Default for 随机指标 { + fn default() -> Self { + Self { + 时间戳: 0, + 最高价: 0.0, + 最低价: 0.0, + 收盘价: 0.0, + N: 9, + M1: 3, + M2: 3, + 超买阈值: 80.0, + 超卖阈值: 20.0, + RSV: None, + K: None, + D: None, + J: None, + 历史最高价队列: Vec::new(), + 历史最低价队列: Vec::new(), + 前一个RSV: None, + 前一个K: None, + 前一个D: None, + } + } +} + +impl 随机指标 { + /// 首次计算 KDJ(无历史数据时) + pub fn 首次计算( + 初始最高价: f64, + 初始最低价: f64, + 初始收盘价: f64, + 初始时间: i64, + N: i64, + M1: i64, + M2: i64, + 超买阈值: f64, + 超卖阈值: f64, + ) -> Self { + Self { + 时间戳: 初始时间, + 最高价: 初始最高价, + 最低价: 初始最低价, + 收盘价: 初始收盘价, + N, + M1, + M2, + 超买阈值, + 超卖阈值, + RSV: None, + K: None, + D: None, + J: None, + 历史最高价队列: vec![初始最高价], + 历史最低价队列: vec![初始最低价], + 前一个RSV: None, + 前一个K: None, + 前一个D: None, + } + } + + /// 基于前一个 KDJ 增量计算当前 KDJ + pub fn 增量计算(前一个KDJ: &Self, 当前最高价: f64, 当前最低价: f64, 当前收盘价: f64, 当前时间: i64) -> Self { + let N = 前一个KDJ.N; + let M1 = 前一个KDJ.M1; + let M2 = 前一个KDJ.M2; + let 超买阈值 = 前一个KDJ.超买阈值; + let 超卖阈值 = 前一个KDJ.超卖阈值; + + // 更新历史最高价队列 + let mut 历史最高价 = 前一个KDJ.历史最高价队列.clone(); + 历史最高价.push(当前最高价); + if 历史最高价.len() > N as usize { + 历史最高价.remove(0); + } + + // 更新历史最低价队列 + let mut 历史最低价 = 前一个KDJ.历史最低价队列.clone(); + 历史最低价.push(当前最低价); + if 历史最低价.len() > N as usize { + 历史最低价.remove(0); + } + + // RSV + let RSV = if 历史最高价.len() == N as usize && 历史最低价.len() == N as usize { + let highest = 历史最高价.iter().cloned().fold(f64::NEG_INFINITY, f64::max); + let lowest = 历史最低价.iter().cloned().fold(f64::INFINITY, f64::min); + if (highest - lowest).abs() > f64::EPSILON { + Some((当前收盘价 - lowest) / (highest - lowest) * 100.0) + } else { + Some(50.0) + } + } else { + None + }; + + // K值 + let K = match RSV { + Some(rsv) => match 前一个KDJ.K { + None => Some(rsv), + Some(prev_k) => Some((prev_k * (M1 - 1) as f64 + rsv) / M1 as f64), + }, + None => 前一个KDJ.K, + }; + + // D值 + let D = match K { + Some(k) => match 前一个KDJ.D { + None => Some(k), + Some(prev_d) => Some((prev_d * (M2 - 1) as f64 + k) / M2 as f64), + }, + None => 前一个KDJ.D, + }; + + // J值 + let J = match (K, D) { + (Some(k), Some(d)) => Some(3.0 * k - 2.0 * d), + _ => None, + }; + + Self { + 时间戳: 当前时间, + 最高价: 当前最高价, + 最低价: 当前最低价, + 收盘价: 当前收盘价, + N, + M1, + M2, + 超买阈值, + 超卖阈值, + RSV, + K, + D, + J, + 历史最高价队列: 历史最高价, + 历史最低价队列: 历史最低价, + 前一个RSV: RSV, + 前一个K: K, + 前一个D: D, + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_first_calc() { + let kdj = 随机指标::首次计算(110.0, 90.0, 100.0, 1000, 9, 3, 3, 80.0, 20.0); + assert_eq!(kdj.历史最高价队列, vec![110.0]); + assert_eq!(kdj.历史最低价队列, vec![90.0]); + assert_eq!(kdj.K, None); + } + + #[test] + fn test_incremental_after_n_bars() { + let mut kdj = 随机指标::首次计算(110.0, 90.0, 100.0, 1000, 5, 3, 3, 80.0, 20.0); + + // 喂入足够数据填充窗口 + let data = [ + (112.0, 91.0, 105.0), + (115.0, 93.0, 110.0), + (113.0, 95.0, 108.0), + (116.0, 98.0, 112.0), + (118.0, 100.0, 115.0), + ]; + for (i, (高, 低, 收)) in data.iter().enumerate() { + kdj = 随机指标::增量计算(&kdj, *高, *低, *收, 1001 + i as i64); + } + + // 窗口填满后 KDJ 应有值 + assert!(kdj.K.is_some()); + assert!(kdj.D.is_some()); + assert!(kdj.J.is_some()); + } +} diff --git a/chanlun/src/indicators/macd.rs b/chanlun/src/indicators/macd.rs new file mode 100644 index 0000000..0883b8c --- /dev/null +++ b/chanlun/src/indicators/macd.rs @@ -0,0 +1,149 @@ +use serde::{Deserialize, Serialize}; + +/// 平滑异同移动平均线 (MACD) +/// +/// 使用 EMA 递推算法进行增量计算 +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(default)] +pub struct 平滑异同移动平均线 { + pub 时间戳: i64, + pub 收盘价: f64, + pub 快线周期: i64, + pub 慢线周期: i64, + pub 信号周期: i64, + pub DIF: Option, + pub DEA: Option, + #[serde(rename = "MACD柱")] + #[serde(default)] + pub MACD柱: f64, + pub 快线EMA: Option, + pub 慢线EMA: Option, + pub DEA_EMA: Option, +} + +impl Default for 平滑异同移动平均线 { + fn default() -> Self { + Self { + 时间戳: 0, + 收盘价: 0.0, + 快线周期: 12, + 慢线周期: 26, + 信号周期: 9, + DIF: None, + DEA: None, + MACD柱: 0.0, + 快线EMA: None, + 慢线EMA: None, + DEA_EMA: None, + } + } +} + +fn 平滑系数(周期: i64) -> f64 { + 2.0 / (周期 as f64 + 1.0) +} + +impl 平滑异同移动平均线 { + /// 首次计算 MACD 指标(无历史数据时使用) + pub fn 首次计算(初始收盘价: f64, 初始时间: i64, 快线周期: i64, 慢线周期: i64, 信号周期: i64) -> Self { + let 快线EMA = 初始收盘价; + let 慢线EMA = 初始收盘价; + let DIF = 快线EMA - 慢线EMA; + let DEA_EMA = DIF; + let MACD柱 = DIF - DEA_EMA; + + Self { + 时间戳: 初始时间, + 收盘价: 初始收盘价, + 快线周期, + 慢线周期, + 信号周期, + DIF: Some(DIF), + DEA: Some(DEA_EMA), + MACD柱, + 快线EMA: Some(快线EMA), + 慢线EMA: Some(慢线EMA), + DEA_EMA: Some(DEA_EMA), + } + } + + /// 基于前一个 MACD 指标增量计算当前 MACD + pub fn 增量计算(前一个MACD: &Self, 当前收盘价: f64, 当前时间: i64) -> Self { + // 快线 EMA + let 快线EMA = match 前一个MACD.快线EMA { + Some(prev) => { + 当前收盘价 * 平滑系数(前一个MACD.快线周期) + + prev * ((前一个MACD.快线周期 - 1) as f64 / (前一个MACD.快线周期 + 1) as f64) + } + None => 当前收盘价, + }; + + // 慢线 EMA + let 慢线EMA = match 前一个MACD.慢线EMA { + Some(prev) => { + 当前收盘价 * 平滑系数(前一个MACD.慢线周期) + + prev * ((前一个MACD.慢线周期 - 1) as f64 / (前一个MACD.慢线周期 + 1) as f64) + } + None => 当前收盘价, + }; + + // DIF + let DIF = 快线EMA - 慢线EMA; + + // DEA_EMA + let DEA_EMA = match 前一个MACD.DEA_EMA { + Some(prev) => { + DIF * 平滑系数(前一个MACD.信号周期) + + prev * ((前一个MACD.信号周期 - 1) as f64 / (前一个MACD.信号周期 + 1) as f64) + } + None => DIF, + }; + + // MACD 柱 (注意: Python 版没有 ×2) + let MACD柱 = DIF - DEA_EMA; + + Self { + 时间戳: 当前时间, + 收盘价: 当前收盘价, + 快线周期: 前一个MACD.快线周期, + 慢线周期: 前一个MACD.慢线周期, + 信号周期: 前一个MACD.信号周期, + DIF: Some(DIF), + DEA: Some(DEA_EMA), + MACD柱, + 快线EMA: Some(快线EMA), + 慢线EMA: Some(慢线EMA), + DEA_EMA: Some(DEA_EMA), + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_first_calc() { + let macd = 平滑异同移动平均线::首次计算(100.0, 1000, 12, 26, 9); + assert_eq!(macd.DIF, Some(0.0)); + assert_eq!(macd.MACD柱, 0.0); + assert_eq!(macd.快线EMA, Some(100.0)); + assert_eq!(macd.慢线EMA, Some(100.0)); + } + + #[test] + fn test_incremental_calc() { + let first = 平滑异同移动平均线::首次计算(100.0, 1000, 12, 26, 9); + + // 价格上升 + let second = 平滑异同移动平均线::增量计算(&first, 102.0, 1001); + assert!(second.DIF.unwrap() > 0.0); + // 快线EMA 应该比慢线EMA 变化更快 + assert!(second.快线EMA.unwrap() > second.慢线EMA.unwrap()); + + // 价格下降 + let third = 平滑异同移动平均线::增量计算(&second, 98.0, 1002); + // DIF 应该变小 + assert!(third.DIF.unwrap() < second.DIF.unwrap()); + } +} diff --git a/chanlun/src/indicators/mod.rs b/chanlun/src/indicators/mod.rs new file mode 100644 index 0000000..f1258ab --- /dev/null +++ b/chanlun/src/indicators/mod.rs @@ -0,0 +1,21 @@ +pub mod macd; +pub mod kdj; +pub mod rsi; + +pub use macd::平滑异同移动平均线; +pub use kdj::随机指标; +pub use rsi::相对强弱指数; + +/// K线取值 —— 根据计算方式从K线提取对应的价格 +pub fn K线取值(开盘价: f64, 高: f64, 低: f64, 收盘价: f64, 计算方式: &str) -> f64 { + match 计算方式 { + "开" => 开盘价, + "高" => 高, + "低" => 低, + "收" => 收盘价, + "高低均值" => (高 + 低) / 2.0, + "高低收均值" => (高 + 低 + 收盘价) / 3.0, + "开高低收均值" => (高 + 低 + 开盘价 + 收盘价) / 4.0, + _ => 收盘价, + } +} diff --git a/chanlun/src/indicators/rsi.rs b/chanlun/src/indicators/rsi.rs new file mode 100644 index 0000000..a65210c --- /dev/null +++ b/chanlun/src/indicators/rsi.rs @@ -0,0 +1,180 @@ +use serde::{Deserialize, Serialize}; + +/// 相对强弱指数 (RSI) +/// +/// 使用 Wilder 平滑(RMA)进行增量计算 +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(default)] +pub struct 相对强弱指数 { + pub 时间戳: i64, + pub 收盘价: f64, + pub 周期: i64, + pub 超买阈值: f64, + pub 超卖阈值: f64, + pub RSI_SMA周期: Option, + pub RSI: Option, + pub 平均上涨: Option, + pub 平均下跌: Option, + pub 上涨幅度: f64, + pub 下跌幅度: f64, + pub 平滑系数: f64, + pub RSI_SMA: Option, + pub RSI历史队列: Vec, +} + +impl Default for 相对强弱指数 { + fn default() -> Self { + Self { + 时间戳: 0, + 收盘价: 0.0, + 周期: 14, + 超买阈值: 70.0, + 超卖阈值: 30.0, + RSI_SMA周期: None, + RSI: None, + 平均上涨: None, + 平均下跌: None, + 上涨幅度: 0.0, + 下跌幅度: 0.0, + 平滑系数: 0.0, + RSI_SMA: None, + RSI历史队列: Vec::new(), + } + } +} + +impl 相对强弱指数 { + /// 首次计算 RSI(历史数据不足时) + pub fn 首次计算( + 初始收盘价: f64, + 初始时间: i64, + 周期: i64, + 超买阈值: f64, + 超卖阈值: f64, + RSI_SMA周期: Option, + ) -> Self { + Self { + 时间戳: 初始时间, + 收盘价: 初始收盘价, + 周期, + 超买阈值, + 超卖阈值, + RSI_SMA周期, + RSI: None, + 平均上涨: Some(0.0), + 平均下跌: Some(0.0), + 上涨幅度: 0.0, + 下跌幅度: 0.0, + 平滑系数: 1.0 / 周期 as f64, + RSI_SMA: None, + RSI历史队列: Vec::new(), + } + } + + /// 基于前一个 RSI 增量计算当前 RSI + pub fn 增量计算(前一个RSI: &Self, 当前收盘价: f64, 当前时间: i64) -> Self { + let 周期 = 前一个RSI.周期; + let 超买阈值 = 前一个RSI.超买阈值; + let 超卖阈值 = 前一个RSI.超卖阈值; + let RSI_SMA周期 = 前一个RSI.RSI_SMA周期; + let 平滑系数 = 1.0 / 周期 as f64; + + // 价格变化 + let 变化 = 当前收盘价 - 前一个RSI.收盘价; + let 上涨 = 变化.max(0.0); + let 下跌 = (-变化).max(0.0); + + // Wilder 平滑 + let (平均上涨, 平均下跌) = match (前一个RSI.平均上涨, 前一个RSI.平均下跌) { + (Some(prev_up), Some(prev_down)) => { + let avg_up = prev_up * (1.0 - 平滑系数) + 上涨 * 平滑系数; + let avg_down = prev_down * (1.0 - 平滑系数) + 下跌 * 平滑系数; + (avg_up, avg_down) + } + _ => (上涨, 下跌), + }; + + // RSI + let RSI = if 平均下跌 == 0.0 { + if 平均上涨 > 0.0 { + 100.0 + } else { + 50.0 + } + } else { + let RS = 平均上涨 / 平均下跌; + 100.0 - (100.0 / (1.0 + RS)) + }; + + // RSI_SMA + let (RSI_SMA, RSI历史队列) = match RSI_SMA周期 { + Some(sma周期) if sma周期 > 0 => { + let mut 队列 = 前一个RSI.RSI历史队列.clone(); + 队列.push(RSI); + if 队列.len() > sma周期 as usize { + 队列.remove(0); + } + let sma = if 队列.is_empty() { + None + } else { + Some(队列.iter().sum::() / 队列.len() as f64) + }; + (sma, 队列) + } + _ => (None, Vec::new()), + }; + + Self { + 时间戳: 当前时间, + 收盘价: 当前收盘价, + 周期, + 超买阈值, + 超卖阈值, + RSI_SMA周期, + RSI: Some(RSI), + 平均上涨: Some(平均上涨), + 平均下跌: Some(平均下跌), + 上涨幅度: 上涨, + 下跌幅度: 下跌, + 平滑系数, + RSI_SMA, + RSI历史队列, + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_first_calc() { + let rsi = 相对强弱指数::首次计算(100.0, 1000, 14, 70.0, 30.0, None); + assert_eq!(rsi.RSI, None); + assert_eq!(rsi.平滑系数, 1.0 / 14.0); + } + + #[test] + fn test_incremental_calc() { + let first = 相对强弱指数::首次计算(100.0, 1000, 14, 70.0, 30.0, None); + let second = 相对强弱指数::增量计算(&first, 102.0, 1001); + // 价格上涨 → RSI > 50 + assert!(second.RSI.unwrap() > 50.0); + + let third = 相对强弱指数::增量计算(&second, 98.0, 1002); + // 价格低于之前 → RSI 下降 + assert!(third.RSI.unwrap() < second.RSI.unwrap()); + } + + #[test] + fn test_rsi_sma() { + let mut rsi = 相对强弱指数::首次计算(100.0, 1000, 14, 70.0, 30.0, Some(5)); + // 喂入多根K线来积累RSI历史队列 + let prices = [102.0, 103.0, 101.0, 104.0, 105.0, 103.0, 106.0]; + for (i, price) in prices.iter().enumerate() { + rsi = 相对强弱指数::增量计算(&rsi, *price, 1001 + i as i64); + } + // SMA 应该已被计算(队列够长) + assert!(rsi.RSI_SMA.is_some()); + } +} diff --git a/chanlun/src/kline/bar.rs b/chanlun/src/kline/bar.rs new file mode 100644 index 0000000..542383b --- /dev/null +++ b/chanlun/src/kline/bar.rs @@ -0,0 +1,244 @@ +use crate::indicators::{平滑异同移动平均线, 随机指标, 相对强弱指数}; +use crate::types::相对方向; +use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt}; +use serde::{Deserialize, Serialize}; +use std::collections::HashMap; +use std::io::Write; +use std::rc::Rc; + +/// 原始K线 (OHLCV + 指标) +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(default)] +pub struct K线 { + pub 标识: String, + pub 序号: i64, + pub 周期: i64, + pub 时间戳: i64, + pub 高: f64, + pub 低: f64, + pub 开盘价: f64, + pub 收盘价: f64, + pub 成交量: f64, + pub macd: Option<平滑异同移动平均线>, + pub rsi: Option<相对强弱指数>, + pub kdj: Option<随机指标>, +} + +impl Default for K线 { + fn default() -> Self { + Self { + 标识: "bar".into(), + 序号: 0, + 周期: 60, + 时间戳: 0, + 高: 0.0, + 低: 0.0, + 开盘价: 0.0, + 收盘价: 0.0, + 成交量: 0.0, + macd: None, + rsi: None, + kdj: None, + } + } +} + +impl K线 { + /// 方向:阳(收盘 > 开盘)为向上,否则向下 + pub fn 方向(&self) -> 相对方向 { + if self.开盘价 < self.收盘价 { + 相对方向::向上 + } else { + 相对方向::向下 + } + } + + /// 序列化为大端字节序 48 字节 + /// 格式: >6d (时间戳, 开盘价, 高, 低, 收盘价, 成交量) + pub fn to_bytes(&self) -> [u8; 48] { + let mut buf = [0u8; 48]; + { + let mut writer = &mut buf[..]; + writer.write_f64::(self.时间戳 as f64).unwrap(); + writer.write_f64::(self.开盘价).unwrap(); + writer.write_f64::(self.高).unwrap(); + writer.write_f64::(self.低).unwrap(); + writer.write_f64::(self.收盘价).unwrap(); + writer.write_f64::(self.成交量).unwrap(); + } + buf + } + + /// 从大端字节序反序列化 + pub fn from_bytes(字节组: &[u8], 周期: i64, 标识: &str) -> Option { + if 字节组.len() < 48 { + return None; + } + let mut reader = &字节组[..48]; + let 时间戳 = reader.read_f64::().ok()? as i64; + let 开盘价 = reader.read_f64::().ok()?; + let 高 = reader.read_f64::().ok()?; + let 低 = reader.read_f64::().ok()?; + let 收盘价 = reader.read_f64::().ok()?; + let 成交量 = reader.read_f64::().ok()?; + + Some(Self { + 时间戳, + 开盘价, + 高, + 低, + 收盘价, + 成交量, + 周期, + 标识: 标识.to_string(), + 序号: 0, + ..Default::default() + }) + } + + /// 读取 .nb 文件中的所有 K线 + pub fn 读取大端字节数组(字节组: &[u8], 周期: i64, 标识: &str) -> Option { + Self::from_bytes(字节组, 周期, 标识) + } + + /// 创建普通K线 + pub fn 创建普K( + 标识: &str, + 时间戳: i64, + 开盘价: f64, + 最高价: f64, + 最低价: f64, + 收盘价: f64, + 成交量: f64, + 序号: i64, + 周期: i64, + ) -> Self { + Self { + 标识: 标识.to_string(), + 序号, + 周期, + 时间戳, + 高: 最高价, + 低: 最低价, + 开盘价, + 收盘价, + 成交量, + macd: None, + rsi: None, + kdj: None, + } + } + + /// 保存K线序列到 DAT 文件 + pub fn 保存到DAT文件(路径: &str, K线序列: &[&Self]) -> std::io::Result<()> { + let mut f = std::fs::File::create(路径)?; + for k in K线序列 { + f.write_all(&k.to_bytes())?; + } + Ok(()) + } + + /// 获取两K线之间的 MACD 柱面积 + pub fn 获取MACD(K线序列: &[&Self], 始: &Self, 终: &Self) -> HashMap { + let 始_idx = K线序列.iter().position(|k| std::ptr::eq(*k, 始)).unwrap_or(0); + let 终_idx = K线序列.iter().position(|k| std::ptr::eq(*k, 终)).unwrap_or(0); + let 基序 = &K线序列[始_idx..=终_idx]; + + let mut 阳 = 0.0f64; + let mut 阴 = 0.0f64; + for k in 基序 { + if let Some(ref macd) = k.macd { + let hist = macd.MACD柱; + if hist >= 0.0 { + 阳 += hist; + } else { + 阴 += hist; + } + } + } + let 合 = 阳 + 阴; + let mut map = HashMap::new(); + map.insert("阳".into(), 阳); + map.insert("阴".into(), 阴); + map.insert("合".into(), 合); + map.insert("总".into(), 阳 + 阴.abs()); + map + } + + /// 截取K线序列中从始到终的片段 + pub fn 截取<'a>(序列: &'a [Self], 始: &'a Self, 终: &'a Self) -> Option<&'a [Self]> { + let 始_idx = 序列.iter().position(|k| std::ptr::eq(k, 始))?; + let 终_idx = 序列.iter().position(|k| std::ptr::eq(k, 终))?; + Some(&序列[始_idx..=终_idx]) + } + + /// 截取Rc序列中从始到终的片段 + pub fn 截取rc(序列: &[Rc], 始: &Rc, 终: &Rc) -> Vec> { + let 始_ptr = Rc::as_ptr(始); + let 终_ptr = Rc::as_ptr(终); + let 始_idx = 序列.iter().position(|k| Rc::as_ptr(k) == 始_ptr); + let 终_idx = 序列.iter().position(|k| Rc::as_ptr(k) == 终_ptr); + match (始_idx, 终_idx) { + (Some(s), Some(e)) => 序列[s..=e].to_vec(), + _ => Vec::new(), + } + } +} + +impl std::fmt::Display for K线 { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + use crate::utils::format_f64_g; + write!( + f, + "{}<{}, {}, {}, {}, {}, {}, {}, {}>", + self.标识, + self.序号, + self.周期, + self.方向(), + self.时间戳, + format_f64_g(self.开盘价), + format_f64_g(self.高), + format_f64_g(self.低), + format_f64_g(self.收盘价) + ) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_方向() { + let 阳 = K线::创建普K("test", 1000, 100.0, 110.0, 95.0, 105.0, 1000.0, 0, 60); + assert_eq!(阳.方向(), 相对方向::向上); + + let 阴 = K线::创建普K("test", 1000, 105.0, 110.0, 95.0, 100.0, 1000.0, 0, 60); + assert_eq!(阴.方向(), 相对方向::向下); + } + + #[test] + fn test_serialization_roundtrip() { + let k = K线::创建普K("test", 1600000000, 100.5, 110.2, 95.3, 105.7, 5000.0, 42, 60); + let bytes = k.to_bytes(); + let restored = K线::from_bytes(&bytes, 60, "test").unwrap(); + + assert_eq!(restored.时间戳, 1600000000); + assert!((restored.开盘价 - 100.5).abs() < 0.01); + assert!((restored.高 - 110.2).abs() < 0.01); + assert!((restored.低 - 95.3).abs() < 0.01); + assert!((restored.收盘价 - 105.7).abs() < 0.01); + assert!((restored.成交量 - 5000.0).abs() < 0.01); + } + + #[test] + fn test_获取MACD_empty() { + let k1 = K线::default(); + let k2 = K线::default(); + let seq = vec![&k1, &k2]; + let result = K线::获取MACD(&seq, &k1, &k2); + assert_eq!(result.get("阳"), Some(&0.0)); + assert_eq!(result.get("阴"), Some(&0.0)); + assert_eq!(result.get("总"), Some(&0.0)); + } +} diff --git a/chanlun/src/kline/chan_kline.rs b/chanlun/src/kline/chan_kline.rs new file mode 100644 index 0000000..03159fd --- /dev/null +++ b/chanlun/src/kline/chan_kline.rs @@ -0,0 +1,601 @@ +use crate::config::缠论配置; +use crate::indicators::{K线取值, 平滑异同移动平均线, 随机指标, 相对强弱指数}; +use crate::kline::bar::K线; +use crate::structure::fractal_obj::分型; +use crate::types::分型结构; +use crate::types::相对方向; +use std::rc::Rc; + +/// 缠论K线 — 经包含处理过后的K线 +#[derive(Debug, Clone)] +pub struct 缠论K线 { + pub 序号: i64, + pub 时间戳: i64, + pub 高: f64, + pub 低: f64, + pub 方向: 相对方向, + pub 分型: Option<分型结构>, + pub 周期: i64, + pub 标识: String, + pub 分型特征值: f64, + pub 原始起始序号: i64, + pub 原始结束序号: i64, + pub 标的K线: Rc, + pub 买卖点信息: Option<()>, // 占位,后续替换为实际类型 +} + +impl std::fmt::Display for 缠论K线 { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + use crate::utils::format_f64_g; + write!( + f, + "{}<{}, {}, {}, {}, {}, {}, {}>", + self.标识, + self.序号, + self.分型.map_or("None".to_string(), |fx| fx.to_string()), + self.周期, + self.方向, + self.时间戳, + format_f64_g(self.高), + format_f64_g(self.低) + ) + } +} + +impl 缠论K线 { + /// 创建镜像(浅拷贝 Rc 引用) + pub fn 镜像(&self) -> Self { + Self { + 序号: self.序号, + 时间戳: self.时间戳, + 高: self.高, + 低: self.低, + 方向: self.方向, + 分型: self.分型, + 周期: self.周期, + 标识: self.标识.clone(), + 分型特征值: self.分型特征值, + 原始起始序号: self.原始起始序号, + 原始结束序号: self.原始结束序号, + 标的K线: Rc::clone(&self.标的K线), + 买卖点信息: None, + } + } + + /// 与MACD柱子匹配 — 底分型时MACD柱应<0, 顶分型时>0 + pub fn 与MACD柱子匹配(&self) -> bool { + match self.分型 { + Some(分型结构::底) | Some(分型结构::下) => { + if let Some(ref macd) = self.标的K线.macd { + macd.MACD柱 < 0.0 + } else { + false + } + } + Some(分型结构::顶) | Some(分型结构::上) => { + if let Some(ref macd) = self.标的K线.macd { + macd.MACD柱 > 0.0 + } else { + false + } + } + _ => false, + } + } + + /// 与RSI匹配 — 底分型时RSI应低于SMA, 顶分型时高于SMA + pub fn 与RSI匹配(&self) -> bool { + match self.分型 { + Some(分型结构::底) | Some(分型结构::下) => { + if let Some(ref rsi) = self.标的K线.rsi { + match (rsi.RSI, rsi.RSI_SMA) { + (Some(r), Some(sma)) => r < sma, + _ => false, + } + } else { + false + } + } + Some(分型结构::顶) | Some(分型结构::上) => { + if let Some(ref rsi) = self.标的K线.rsi { + match (rsi.RSI, rsi.RSI_SMA) { + (Some(r), Some(sma)) => r > sma, + _ => false, + } + } else { + false + } + } + _ => false, + } + } + + /// 与KDJ匹配 — 底分型时K应低于D(死叉后), 顶分型时K应高于D(金叉后) + pub fn 与KDJ匹配(&self) -> bool { + match self.分型 { + Some(分型结构::底) | Some(分型结构::下) => { + if let Some(ref kdj) = self.标的K线.kdj { + match (kdj.K, kdj.D) { + (Some(k), Some(d)) => k < d, + _ => false, + } + } else { + false + } + } + Some(分型结构::顶) | Some(分型结构::上) => { + if let Some(ref kdj) = self.标的K线.kdj { + match (kdj.K, kdj.D) { + (Some(k), Some(d)) => k > d, + _ => false, + } + } else { + false + } + } + _ => false, + } + } + + /// 时间戳对齐 — 从基线序列中找匹配的时间戳 + pub fn 时间戳对齐(基线: &[Rc<缠论K线>], k线: &缠论K线) -> i64 { + if let Some(基) = 基线.first() { + for k in 基线.iter().rev() { + if 基.周期 < k线.周期 { + if k线.时间戳 <= k.时间戳 && k.时间戳 <= k线.时间戳 + k线.周期 { + if (k线.分型特征值 - k.分型特征值).abs() < f64::EPSILON { + return k.时间戳; + } + } + } else if k.时间戳 <= k线.时间戳 && k线.时间戳 <= k.时间戳 + k.周期 { + if (k线.分型特征值 - k.分型特征值).abs() < f64::EPSILON { + return k.时间戳; + } + } + } + } + k线.时间戳 + } + + /// 创建缠K + pub fn 创建缠K( + 时间戳: i64, + 高: f64, + 低: f64, + 方向: 相对方向, + 结构: Option<分型结构>, + 原始序号: i64, + 普k: Rc, + 之前: Option<&缠论K线>, + ) -> Self { + assert!(高 >= 低, "缠K高必须>=低: 高={高}, 低={低}"); + + let 周期 = 普k.周期; + let 标识 = 普k.标识.clone(); + + let mut 当前 = Self { + 序号: 0, + 时间戳, + 高, + 低, + 方向, + 分型: 结构, + 周期, + 标识, + 分型特征值: 高, + 原始起始序号: 原始序号, + 原始结束序号: 原始序号, + 标的K线: 普k, + 买卖点信息: None, + }; + + if let Some(之前) = 之前 { + 当前.序号 = 之前.序号 + 1; + let 关系 = 相对方向::分析(之前.高, 之前.低, 当前.高, 当前.低); + if 关系.是否包含() { + panic!( + "创建缠K 包含关系: {:?}\n 之前: {}\n 当前: {}", + 关系, 之前, 当前 + ); + } + } + 当前 + } + + /// 兼并(合并)处理 — 缠论包含处理的核心算法 + /// + /// 返回 (新缠K, 模式) — 模式: "添加"/"替换"/None + pub fn 兼并( + 之前缠K: Option<&缠论K线>, + 当前缠K: &缠论K线, + 当前普K: &K线, + 配置: &缠论配置, + ) -> (Option>, Option) { + let 关系 = 相对方向::分析(当前缠K.高, 当前缠K.低, 当前普K.高, 当前普K.低); + + // 无包含关系 — 创建新元素追加 + if !关系.是否包含() { + let 结构 = if 关系.是否向下() { + Some(分型结构::下) + } else { + Some(分型结构::上) + }; + let mut 新缠K = Self::创建缠K( + 当前普K.时间戳, + 当前普K.高, + 当前普K.低, + 当前普K.方向(), + 结构, + 当前普K.序号, + Rc::new(当前普K.clone()), + Some(当前缠K), + ); + 新缠K.序号 = 当前缠K.序号 + 1; + return (Some(Rc::new(新缠K)), Some("添加".into())); + } + + // 包含关系 — 合并到当前缠K + // 取值方向:向下 → 取低低、高高(即全部取最低);向上 → 取高高、低低(即全部取最高) + // 方向由之前缠K与当前缠K的关系决定 + let 取值函数: fn(f64, f64) -> f64 = if let Some(之前) = 之前缠K { + if 相对方向::分析(之前.高, 之前.低, 当前缠K.高, 当前缠K.低).是否向下() { + f64::min + } else { + f64::max + } + } else { + f64::max // 默认向上取max + }; + + let mut 合并后 = 当前缠K.镜像(); + + // 逆序包含时更新时间和标的K线 + if 关系 != 相对方向::顺 { + 合并后.时间戳 = 当前普K.时间戳; + 合并后.标的K线 = Rc::new(当前普K.clone()); + } + 合并后.高 = 取值函数(合并后.高, 当前普K.高); + 合并后.低 = 取值函数(合并后.低, 当前普K.低); + 合并后.原始结束序号 = 当前普K.序号; + 合并后.方向 = 当前普K.方向(); + + if let Some(之前) = 之前缠K { + 合并后.序号 = 之前.序号 + 1; + } + + if 配置.缠K合并替换 { + (Some(Rc::new(合并后)), Some("替换".into())) + } else { + // 兼并:返回新值让调用方决定是原地修改还是替换 + (Some(Rc::new(合并后)), Some("兼并".into())) + } + } + + /// 完整的缠K分析 — 普K → 缠K + 分型 + /// + /// 返回 (状态, 形态) + pub fn 分析( + 当前K线: &mut K线, + 缠K序列: &mut Vec>, + 普K序列: &mut Vec>, + 配置: &缠论配置, + ) -> (String, Option>) { + 当前K线.标识 = 配置.标识.clone(); + + // ---- 阶段1: 普K序列管理 + 指标增量计算 ---- + if 普K序列.is_empty() { + if 配置.计算指标 { + 当前K线.macd = Some(平滑异同移动平均线::首次计算( + K线取值(当前K线.开盘价, 当前K线.高, 当前K线.低, 当前K线.收盘价, &配置.指标计算方式), + 当前K线.时间戳, + 配置.平滑异同移动平均线_快线周期, + 配置.平滑异同移动平均线_慢线周期, + 配置.平滑异同移动平均线_信号周期, + )); + 当前K线.rsi = Some(相对强弱指数::首次计算( + K线取值(当前K线.开盘价, 当前K线.高, 当前K线.低, 当前K线.收盘价, &配置.指标计算方式), + 当前K线.时间戳, + 配置.相对强弱指数_周期, + 配置.相对强弱指数_超买阈值, + 配置.相对强弱指数_超卖阈值, + Some(配置.相对强弱指数_移动平均线周期), + )); + 当前K线.kdj = Some(随机指标::首次计算( + 当前K线.高, + 当前K线.低, + 当前K线.收盘价, + 当前K线.时间戳, + 配置.随机指标_RSV周期, + 配置.随机指标_K值平滑周期, + 配置.随机指标_D值平滑周期, + 配置.随机指标_超买阈值, + 配置.随机指标_超卖阈值, + )); + } + let 当前K线_rc = Rc::new(当前K线.clone()); + 普K序列.push(当前K线_rc); + } else { + let 之前普K = 普K序列.last().unwrap(); + if 之前普K.时间戳 == 当前K线.时间戳 { + // 同时间戳更新 + 当前K线.序号 = 之前普K.序号; + if 配置.计算指标 { + if 普K序列.len() >= 2 { + if let Some(ref prev_macd) = 普K序列[普K序列.len() - 2].macd { + 当前K线.macd = Some(平滑异同移动平均线::增量计算( + prev_macd, + K线取值(当前K线.开盘价, 当前K线.高, 当前K线.低, 当前K线.收盘价, &配置.指标计算方式), + 当前K线.时间戳, + )); + } + if let Some(ref prev_rsi) = 普K序列[普K序列.len() - 2].rsi { + 当前K线.rsi = Some(相对强弱指数::增量计算( + prev_rsi, + K线取值(当前K线.开盘价, 当前K线.高, 当前K线.低, 当前K线.收盘价, &配置.指标计算方式), + 当前K线.时间戳, + )); + } + if let Some(ref prev_kdj) = 普K序列[普K序列.len() - 2].kdj { + 当前K线.kdj = Some(随机指标::增量计算( + prev_kdj, + 当前K线.高, + 当前K线.低, + 当前K线.收盘价, + 当前K线.时间戳, + )); + } + } + } + 普K序列.pop(); + 普K序列.push(Rc::new(当前K线.clone())); + } else { + if 之前普K.时间戳 > 当前K线.时间戳 { + panic!("时序错误: 之前={}, 当前={}", 之前普K.时间戳, 当前K线.时间戳); + } + 当前K线.序号 = 之前普K.序号 + 1; + if 配置.计算指标 { + if let Some(ref prev_macd) = 之前普K.macd { + 当前K线.macd = Some(平滑异同移动平均线::增量计算( + prev_macd, + K线取值(当前K线.开盘价, 当前K线.高, 当前K线.低, 当前K线.收盘价, &配置.指标计算方式), + 当前K线.时间戳, + )); + } + if let Some(ref prev_rsi) = 之前普K.rsi { + 当前K线.rsi = Some(相对强弱指数::增量计算( + prev_rsi, + K线取值(当前K线.开盘价, 当前K线.高, 当前K线.低, 当前K线.收盘价, &配置.指标计算方式), + 当前K线.时间戳, + )); + } + if let Some(ref prev_kdj) = 之前普K.kdj { + 当前K线.kdj = Some(随机指标::增量计算( + prev_kdj, + 当前K线.高, + 当前K线.低, + 当前K线.收盘价, + 当前K线.时间戳, + )); + } + } + 普K序列.push(Rc::new(当前K线.clone())); + } + } + + // ---- 阶段2: 缠K合并 ---- + let 之前缠K: Option<&缠论K线> = if 缠K序列.len() >= 2 { + Some(&缠K序列[缠K序列.len() - 2]) + } else { + None + }; + + let 状态: String; + if !缠K序列.is_empty() { + let 最后一个缠K = &缠K序列[缠K序列.len() - 1]; + // 需要从 Rc 中取出引用 + let 最后一个缠K_ref = Rc::as_ref(最后一个缠K); + let (新缠K, 模式) = Self::兼并(之前缠K, 最后一个缠K_ref, 当前K线, 配置); + + if let Some(k) = 新缠K { + if let Some(ref m) = 模式 { + if m == "添加" { + 缠K序列.push(k); + 状态 = "创建".into(); + } else if m == "替换" { + 缠K序列.pop(); + 缠K序列.push(k); + 状态 = "替换".into(); + } else { + // 兼并:尝试原地修改以保持Rc指针不变 + let 最后_idx = 缠K序列.len() - 1; + if let Some(原地) = Rc::get_mut(&mut 缠K序列[最后_idx]) { + 原地.高 = k.高; + 原地.低 = k.低; + 原地.时间戳 = k.时间戳; + 原地.方向 = k.方向; + 原地.原始结束序号 = k.原始结束序号; + 原地.标的K线 = k.标的K线.clone(); + 原地.序号 = k.序号; + 状态 = "兼并".into(); + } else { + // 有其他引用时回退到替换 + 缠K序列.pop(); + 缠K序列.push(k); + 状态 = "兼并".into(); + } + } + } else { + 状态 = "兼并".into(); + } + } else { + 状态 = "兼并".into(); + } + } else { + let 新缠K = Self::创建缠K( + 当前K线.时间戳, + 当前K线.高, + 当前K线.低, + 当前K线.方向(), + None, + 当前K线.序号, + Rc::new(当前K线.clone()), + None, + ); + 缠K序列.push(Rc::new(新缠K)); + 状态 = "新建".into(); + } + + // ---- 阶段3: 分型识别 ---- + if 缠K序列.len() < 3 { + return (状态, None); + } + + let idx = 缠K序列.len(); + let 左 = Rc::clone(&缠K序列[idx - 3]); + let 中 = Rc::clone(&缠K序列[idx - 2]); + let 右 = Rc::clone(&缠K序列[idx - 1]); + + let 结构 = 分型结构::分析(&*左, &*中, &*右, false, false); + + // 需要通过 Rc::get_mut 或 RefCell 修改 中.分型 + // 由于使用 Rc,中是不可变的。这里采用创建新 Rc 替换的方式。 + // 但这是在 Vec 内部修改,需要使用 Rc::make_mut 或重新构建 + if let Some(结构) = 结构 { + // 只在分型未设置或需要更新时才修改缠K,以保持 Rc 指针不变 + let 当前分型标记 = 缠K序列[idx - 2].分型; + let 中需要更新 = 当前分型标记.is_none() || 当前分型标记 != Some(结构); + + if 中需要更新 { + let 中_mut = Rc::make_mut(&mut 缠K序列[idx - 2]); + 中_mut.分型 = Some(结构); + + match 结构 { + 分型结构::底 => { + 中_mut.分型特征值 = 中_mut.低; + let 右标记 = 缠K序列[idx - 1].分型; + if 右标记.is_none() { + let 右_mut = Rc::make_mut(&mut 缠K序列[idx - 1]); + 右_mut.分型特征值 = 右_mut.高; + 右_mut.分型 = Some(分型结构::顶); + } + } + 分型结构::顶 => { + 中_mut.分型特征值 = 中_mut.高; + let 右标记 = 缠K序列[idx - 1].分型; + if 右标记.is_none() { + let 右_mut = Rc::make_mut(&mut 缠K序列[idx - 1]); + 右_mut.分型特征值 = 右_mut.低; + 右_mut.分型 = Some(分型结构::底); + } + } + 分型结构::上 => { + 中_mut.分型特征值 = 中_mut.高; + let 右标记 = 缠K序列[idx - 1].分型; + if 右标记.is_none() { + let 右_mut = Rc::make_mut(&mut 缠K序列[idx - 1]); + 右_mut.分型特征值 = 右_mut.高; + 右_mut.分型 = Some(分型结构::顶); + } + } + 分型结构::下 => { + 中_mut.分型特征值 = 中_mut.低; + let 右标记 = 缠K序列[idx - 1].分型; + if 右标记.is_none() { + let 右_mut = Rc::make_mut(&mut 缠K序列[idx - 1]); + 右_mut.分型特征值 = 右_mut.低; + 右_mut.分型 = Some(分型结构::底); + } + } + 分型结构::散 => {} + } + } + + let 形态 = if matches!(结构, 分型结构::上 | 分型结构::下) { + // 三连方向不算完整分型 — 只有中+右 + Rc::new(分型::new( + None, + Rc::clone(&缠K序列[idx - 2]), + None, + )) + } else { + Rc::new(分型::new( + Some(Rc::clone(&缠K序列[idx - 3])), + Rc::clone(&缠K序列[idx - 2]), + Some(Rc::clone(&缠K序列[idx - 1])), + )) + }; + + return (状态, Some(形态)); + } + + (状态, None) + } + + /// 截取缠K序列从始到终 + pub fn 截取(序列: &[Rc<缠论K线>], 始: &缠论K线, 终: &缠论K线) -> Option>> { + let 始_idx = 序列.iter().position(|k| Rc::as_ptr(k) == (始 as *const _))?; + let 终_idx = 序列.iter().position(|k| Rc::as_ptr(k) == (终 as *const _))?; + Some(序列[始_idx..=终_idx].to_vec()) + } +} + +impl crate::types::fractal::有高低 for 缠论K线 { + fn 高(&self) -> f64 { + self.高 + } + fn 低(&self) -> f64 { + self.低 + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::config::缠论配置; + + fn make_普K(时间戳: i64, 开: f64, 高: f64, 低: f64, 收: f64, 序号: i64) -> K线 { + K线::创建普K("test", 时间戳, 开, 高, 低, 收, 1000.0, 序号, 60) + } + + #[test] + fn test_创建缠K_basic() { + let pk = Rc::new(make_普K(1000, 100.0, 110.0, 95.0, 105.0, 0)); + let ck = 缠论K线::创建缠K(1000, 110.0, 95.0, 相对方向::向上, None, 0, pk, None); + assert_eq!(ck.高, 110.0); + assert_eq!(ck.低, 95.0); + assert_eq!(ck.序号, 0); + } + + #[test] + fn test_分析_empty_sequence() { + let config = 缠论配置::default(); + let mut pk = make_普K(1000, 100.0, 110.0, 95.0, 105.0, 0); + let mut 缠K序列 = Vec::new(); + let mut 普K序列 = Vec::new(); + + let (状态, 形态) = 缠论K线::分析(&mut pk, &mut 缠K序列, &mut 普K序列, &config); + assert_eq!(状态, "新建"); + assert_eq!(缠K序列.len(), 1); + assert!(形态.is_none()); // 不够3根 + } + + #[test] + fn test_分析_three_bars_fractal() { + let config = 缠论配置::default(); + let mut 缠K序列 = Vec::new(); + let mut 普K序列 = Vec::new(); + + // 三根形成顶分型: 低高 → 更高高 → 低高 + let mut pk1 = make_普K(1000, 100.0, 110.0, 95.0, 105.0, 0); + let 状态1 = 缠论K线::分析(&mut pk1, &mut 缠K序列, &mut 普K序列, &config); + assert_eq!(状态1.0, "新建"); + + let mut pk2 = make_普K(1001, 105.0, 115.0, 102.0, 112.0, 1); + let 状态2 = 缠论K线::分析(&mut pk2, &mut 缠K序列, &mut 普K序列, &config); + assert!(状态2.1.is_none()); // 仍不够 + + let mut pk3 = make_普K(1002, 112.0, 113.0, 100.0, 103.0, 2); + let (_状态3, 形态) = 缠论K线::分析(&mut pk3, &mut 缠K序列, &mut 普K序列, &config); + assert!(形态.is_some()); // 分型产生了 + } +} diff --git a/chanlun/src/kline/mod.rs b/chanlun/src/kline/mod.rs new file mode 100644 index 0000000..9b68892 --- /dev/null +++ b/chanlun/src/kline/mod.rs @@ -0,0 +1,2 @@ +pub mod bar; +pub mod chan_kline; diff --git a/chanlun/src/lib.rs b/chanlun/src/lib.rs new file mode 100644 index 0000000..731e928 --- /dev/null +++ b/chanlun/src/lib.rs @@ -0,0 +1,11 @@ +#![allow(non_snake_case)] +#![allow(non_camel_case_types)] + +pub mod algorithm; +pub mod business; +pub mod config; +pub mod indicators; +pub mod kline; +pub mod structure; +pub mod types; +pub mod utils; diff --git a/chanlun/src/main.rs b/chanlun/src/main.rs new file mode 100644 index 0000000..6ddc285 --- /dev/null +++ b/chanlun/src/main.rs @@ -0,0 +1,34 @@ +use chanlun::business::observer::观察者; +use std::env; + +fn main() { + let args: Vec = env::args().collect(); + if args.len() < 2 { + eprintln!("用法: {} <.nb文件路径>", args[0]); + std::process::exit(1); + } + + let 文件路径 = &args[1]; + println!("读取文件: {}", 文件路径); + + match 观察者::读取数据文件(文件路径, None) { + Ok(观察员) => { + println!("符号: {}", 观察员.符号); + println!("周期: {}", 观察员.周期); + println!("普K数量: {}", 观察员.普通K线序列.len()); + println!("缠K数量: {}", 观察员.缠论K线序列.len()); + println!("分型数量: {}", 观察员.分型序列.len()); + println!("笔数量: {}", 观察员.笔序列.len()); + println!("笔中枢数量: {}", 观察员.笔_中枢序列.len()); + println!("线段数量: {}", 观察员.线段序列.len()); + println!("中枢数量: {}", 观察员.中枢序列.len()); + + println!("\n===== 数据分析 =====\n"); + 观察员.测试_保存数据(None); + } + Err(e) => { + eprintln!("读取失败: {}", e); + std::process::exit(1); + } + } +} diff --git a/chanlun/src/structure/dash_line.rs b/chanlun/src/structure/dash_line.rs new file mode 100644 index 0000000..8114ce1 --- /dev/null +++ b/chanlun/src/structure/dash_line.rs @@ -0,0 +1,771 @@ +use crate::algorithm::hub::中枢; +use crate::config::缠论配置; +use crate::kline::chan_kline::缠论K线; +use crate::kline::bar::K线; +use crate::structure::fractal_obj::分型; +use crate::structure::segment_feat::线段特征; +use crate::types::{分型结构, 相对方向, 缺口}; +use std::rc::Rc; + +/// 虚线 — 笔和线段的通用数据结构 +/// +/// 笔和线段共享此 struct,通过 `标识` 字段区分 ("笔"/"线段"/"扩展线段"等) +#[derive(Debug, Clone)] +pub struct 虚线 { + pub 标识: String, + pub 序号: i64, + pub 级别: i64, + pub 文: Rc<分型>, + pub 武: Rc<分型>, + pub 有效性: bool, + pub 基础序列: Vec>, + pub 特征序列: Vec>>, + pub 实_中枢序列: Vec>, + pub 虚_中枢序列: Vec>, + pub 合_中枢序列: Vec>, + pub 确认K线: Option>, + pub 模式: String, + pub _特征序列_显示: bool, + pub 前一缺口: Option<缺口>, + pub 前一结束位置: Option>, + pub 短路修正: bool, +} + +impl 虚线 { + pub fn new(序号: i64, 标识: String, 文: Rc<分型>, 武: Rc<分型>, 级别: i64, 有效性: bool) -> Self { + Self { + 序号, + 标识, + 级别, + 文, + 武, + 有效性, + 基础序列: Vec::new(), + 特征序列: Vec::new(), + 实_中枢序列: Vec::new(), + 虚_中枢序列: Vec::new(), + 合_中枢序列: Vec::new(), + 确认K线: None, + 模式: "文武".into(), + _特征序列_显示: false, + 前一缺口: None, + 前一结束位置: None, + 短路修正: false, + } + } + + /// 笔序列(基础序列的别名) + pub fn 笔序列(&self) -> &Vec> { + &self.基础序列 + } + + pub fn 图表标题(&self) -> String { + format!("{}:{}:{}:{}", self.文.中.标识, self.文.中.周期, self.标识, self.序号) + } + + /// 方向 — 文到武的方向 + pub fn 方向(&self) -> 相对方向 { + match (self.文.结构, self.武.结构) { + (分型结构::顶, 分型结构::底) => 相对方向::向下, + (分型结构::顶, 分型结构::下) => 相对方向::向下, + (分型结构::上, 分型结构::底) => 相对方向::向下, + (分型结构::上, 分型结构::下) => 相对方向::向下, + _ => 相对方向::向上, + } + } + + /// 虚线高 — 文和武中高的那个 + pub fn 高(&self) -> f64 { + self.武.分型特征值.max(self.文.分型特征值) + } + + /// 虚线低 — 文和武中低的那个 + pub fn 低(&self) -> f64 { + self.武.分型特征值.min(self.文.分型特征值) + } + + /// 判断两个虚线是否首尾相连 + pub fn 之前是(&self, 之前: &虚线) -> bool { + self.文.中.序号 == 之前.武.中.序号 + } + + /// 判断两个虚线是否首尾相连 + pub fn 之后是(&self, 之后: &虚线) -> bool { + self.武.中.序号 == 之后.文.中.序号 + } + + /// 获取该虚线范围内的普K序列 + pub fn 获取普K序列(&self, 普K序列: &[Rc]) -> Vec> { + let 始 = self.文.中.原始起始序号 as usize; + let 终 = self.武.中.原始结束序号 as usize; + if 始 < 普K序列.len() && 终 < 普K序列.len() && 始 <= 终 { + 普K序列[始..=终].to_vec() + } else { + Vec::new() + } + } + + /// 获取该虚线范围内的缠K序列 + pub fn 获取缠K序列(&self, 缠K序列: &[Rc<缠论K线>]) -> Vec> { + 缠论K线::截取(缠K序列, &self.文.中, &self.武.中).unwrap_or_default() + } + + /// 获取数据文本(用于保存/调试) + pub fn 获取数据文本(&self) -> String { + use crate::utils::format_f64_g; + if self.标识 == "笔" { + return format!( + "{}, {}, {}, 文:({},{}), 武:({},{}), {}", + self.标识, + self.序号, + self.级别, + self.文.时间戳, + format_f64_g(self.文.分型特征值), + self.武.时间戳, + format_f64_g(self.武.分型特征值), + if self.有效性 { "True" } else { "False" }, + ); + } + + // 非笔:线段/扩展线段等,完整输出 + let (前, 后, 三, 贯穿伤) = + crate::algorithm::segment::线段::分割序列(self, None); + let (特征_a, 特征_b, 特征_c) = crate::algorithm::segment::线段::特征序列状态(self); + let 特征_bool = |b: bool| -> &str { if b { "True" } else { "False" } }; + + let 前一缺口_str = match &self.前一缺口 { + Some(g) => format!("{}", g), + None => "None".to_string(), + }; + let 前一结束位置_str = match &self.前一结束位置 { + Some(d) => format!("{}", d), + None => "None".to_string(), + }; + + // Format中枢序列 as Python-style list representations + let 实_str = format!("[{}]", self.实_中枢序列.iter().map(|h| format!("{}", h)).collect::>().join(", ")); + let 虚_str = format!("[{}]", self.虚_中枢序列.iter().map(|h| format!("{}", h)).collect::>().join(", ")); + let 合_str = format!("[{}]", self.合_中枢序列.iter().map(|h| format!("{}", h)).collect::>().join(", ")); + + let 前_str = format!("[{}]", 前.iter().map(|d| format!("{}", d)).collect::>().join(", ")); + let 后_str = format!("[{}]", 后.iter().map(|d| format!("{}", d)).collect::>().join(", ")); + let 三_str = format!("[{}]", 三.iter().map(|d| format!("{}", d)).collect::>().join(", ")); + + format!( + "{}, {}, {}, 文:({},{}), 武:({},{}), {}, {}, ({}, {}, {}), (前: {}, 后: {}, 三: {}, 伤: {}), 实: {}, 虚: {}, 合: {}, {}, {}, {}, {}", + self.标识, + self.序号, + self.级别, + self.文.时间戳, + format_f64_g(self.文.分型特征值), + self.武.时间戳, + format_f64_g(self.武.分型特征值), + if self.有效性 { "True" } else { "False" }, + self.基础序列.len(), + 特征_bool(特征_a), + 特征_bool(特征_b), + 特征_bool(特征_c), + 前_str, + 后_str, + 三_str, + match &贯穿伤 { Some(d) => format!("{}", d), None => "None".to_string() }, + 实_str, + 虚_str, + 合_str, + self.模式, + 前一缺口_str, + 前一结束位置_str, + if self.短路修正 { "True" } else { "False" }, + ) + } + + // ---- 关联函数(静态工厂方法) ---- + + /// 创建笔 + pub fn 创建笔(文: Rc<分型>, 武: Rc<分型>, 有效性: bool) -> Self { + Self::new(0, "笔".into(), 文, 武, 1, 有效性) + } + + /// 创建线段 + pub fn 创建线段(虚线序列: &[Rc<虚线>]) -> Self { + let 文 = Rc::clone(&虚线序列[0].文); + let 武 = Rc::clone(&虚线序列[虚线序列.len() - 1].武); + let 标识 = if 虚线序列[0].标识 == "笔" { + "线段".into() + } else { + format!("线段<{}>", 虚线序列[0].标识) + }; + let 级别 = 虚线序列[0].级别 + 1; + let mut 段 = Self::new(0, 标识, 文, 武, 级别, true); + 段.基础序列 = 虚线序列.to_vec(); + 段.模式 = "文武".into(); + 段 + } + + // ---- 买卖点模式匹配 ---- + + /// 缠K买卖点模式 — 根据模式字符串选择匹配方法 + pub fn 缠K买卖点模式(模式: &str, 缠K: &缠论K线, 配置: &缠论配置) -> bool { + match 模式 { + "全量" => Self::买卖点全量匹配(缠K), + "任意" => Self::买卖点任意匹配(缠K), + "配置" => Self::买卖点配置匹配(缠K, 配置), + "相对" => Self::买卖点相对匹配(缠K), + _ => false, + } + } + + /// 买卖点配置匹配 — 根据配置中的指标开关组合判断 + pub fn 买卖点配置匹配(缠K: &缠论K线, 配置: &缠论配置) -> bool { + match (配置.买卖点_指标匹配_MACD, 配置.买卖点_指标匹配_KDJ, 配置.买卖点_指标匹配_RSI) { + (true, true, true) => 缠K.与MACD柱子匹配() && 缠K.与KDJ匹配() && 缠K.与RSI匹配(), + (false, false, false) => false, + (true, false, true) => 缠K.与MACD柱子匹配() && 缠K.与RSI匹配(), + (false, true, false) => 缠K.与KDJ匹配(), + (true, false, false) => 缠K.与MACD柱子匹配(), + (false, true, true) => 缠K.与KDJ匹配() && 缠K.与RSI匹配(), + (false, false, true) => 缠K.与RSI匹配(), + (true, true, false) => 缠K.与MACD柱子匹配() && 缠K.与KDJ匹配(), + } + } + + /// 买卖点任意匹配 — 任一指标匹配 + pub fn 买卖点任意匹配(缠K: &缠论K线) -> bool { + 缠K.与MACD柱子匹配() || 缠K.与KDJ匹配() || 缠K.与RSI匹配() + } + + /// 买卖点全量匹配 — 全部指标匹配 + pub fn 买卖点全量匹配(缠K: &缠论K线) -> bool { + 缠K.与MACD柱子匹配() && 缠K.与KDJ匹配() && 缠K.与RSI匹配() + } + + /// 买卖点相对匹配 — 至少两个指标匹配 + pub fn 买卖点相对匹配(缠K: &缠论K线) -> bool { + let 混沌槽 = [ + 缠K.与MACD柱子匹配(), + 缠K.与KDJ匹配(), + 缠K.与RSI匹配(), + ]; + 混沌槽.iter().filter(|&&x| x).count() >= 2 + } + + // ---- MACD柱子均值计算 ---- + + /// 计算MACD柱子均值 — 虚线范围内所有MACD柱的绝对值均值 + pub fn 计算MACD柱子均值(普K序列: &[Rc], 实线: &虚线) -> f64 { + let K线序列 = K线::截取rc(普K序列, &实线.文.中.标的K线, &实线.武.中.标的K线); + if K线序列.is_empty() { + return 0.0; + } + let 总: f64 = K线序列 + .iter() + .filter_map(|k| k.macd.as_ref()) + .map(|m| m.MACD柱.abs()) + .sum(); + 总 / K线序列.len() as f64 + } + + /// 计算MACD柱子均值_阴 — 负柱的绝对值均值 + pub fn 计算MACD柱子均值_阴(普K序列: &[Rc], 实线: &虚线) -> Option { + let K线序列 = K线::截取rc(普K序列, &实线.文.中.标的K线, &实线.武.中.标的K线); + let 总: Vec = K线序列 + .iter() + .filter_map(|k| k.macd.as_ref()) + .filter(|m| m.MACD柱 < 0.0) + .map(|m| m.MACD柱.abs()) + .collect(); + if 总.is_empty() { + None + } else { + Some(总.iter().sum::() / 总.len() as f64) + } + } + + /// 计算MACD柱子均值_阳 — 正柱的绝对值均值 + pub fn 计算MACD柱子均值_阳(普K序列: &[Rc], 实线: &虚线) -> Option { + let K线序列 = K线::截取rc(普K序列, &实线.文.中.标的K线, &实线.武.中.标的K线); + let 总: Vec = K线序列 + .iter() + .filter_map(|k| k.macd.as_ref()) + .filter(|m| m.MACD柱 > 0.0) + .map(|m| m.MACD柱.abs()) + .collect(); + if 总.is_empty() { + None + } else { + Some(总.iter().sum::() / 总.len() as f64) + } + } + + // ---- 武之MACD比较 ---- + + /// 武之全量MACD均值 — 武端MACD柱是否小于均值(背驰) + pub fn 武之全量MACD均值(普K序列: &[Rc], 实线: &虚线) -> bool { + let 武_MACD = match &实线.武.中.标的K线.macd { + Some(m) => m.MACD柱.abs(), + None => return false, + }; + 武_MACD < Self::计算MACD柱子均值(普K序列, 实线) + } + + /// 武之MACD均值 — 按方向选择阴/阳均值比对 + pub fn 武之MACD均值(普K序列: &[Rc], 实线: &虚线) -> bool { + if 实线.方向() == 相对方向::向上 { + Self::武之MACD均值_阳(普K序列, 实线) + } else { + Self::武之MACD均值_阴(普K序列, 实线) + } + } + + /// 武之MACD均值_阴 — 武端负柱是否小于阴均值 + pub fn 武之MACD均值_阴(普K序列: &[Rc], 实线: &虚线) -> bool { + let 武_MACD = match &实线.武.中.标的K线.macd { + Some(m) => m.MACD柱.abs(), + None => return false, + }; + match Self::计算MACD柱子均值_阴(普K序列, 实线) { + Some(均值) => 武_MACD < 均值.abs(), + None => false, + } + } + + /// 武之MACD均值_阳 — 武端正柱是否小于阳均值 + pub fn 武之MACD均值_阳(普K序列: &[Rc], 实线: &虚线) -> bool { + let 武_MACD = match &实线.武.中.标的K线.macd { + Some(m) => m.MACD柱.abs(), + None => return false, + }; + match Self::计算MACD柱子均值_阳(普K序列, 实线) { + Some(均值) => 武_MACD < 均值, + None => false, + } + } + + /// 武之MACD极值 — 武端MACD柱是否为区间极值 + pub fn 武之MACD极值(普K序列: &[Rc], 实线: &虚线) -> bool { + let 武_MACD = match &实线.武.中.标的K线.macd { + Some(m) => m.MACD柱, + None => return false, + }; + let K线序列 = K线::截取rc(普K序列, &实线.文.中.标的K线, &实线.武.中.标的K线); + let 所有柱子: Vec = K线序列 + .iter() + .filter_map(|k| k.macd.as_ref()) + .map(|m| m.MACD柱) + .collect(); + if 所有柱子.is_empty() { + return false; + } + if 武_MACD > 0.0 { + let 极值 = 所有柱子.iter().cloned().fold(f64::NEG_INFINITY, f64::max); + 极值 == 武_MACD + } else { + let 极值 = 所有柱子.iter().cloned().fold(f64::INFINITY, f64::min); + 极值 == 武_MACD + } + } + + // ---- MACD趋向背驰 ---- + + /// 计算K线序列MACD趋向背驰 — 分析 MACD柱/DIF/DEA 三项背驰信号 + pub fn 计算K线序列MACD趋向背驰(普K序列: &[Rc], 方向: 相对方向) -> [bool; 3] { + if 普K序列.is_empty() { + return [false, false, false]; + } + let 最后 = &普K序列[普K序列.len() - 1]; + + if 方向 == 相对方向::向上 { + let 柱子序列: Vec<&Rc> = 普K序列 + .iter() + .filter(|k| k.macd.as_ref().map_or(false, |m| m.MACD柱 > 0.0)) + .collect(); + if 柱子序列.is_empty() { + return [false, false, false]; + } + + let mut 结果 = [false; 3]; + + // MACD柱背驰 + let 最高柱子 = 柱子序列 + .iter() + .max_by(|a, b| { + a.macd.as_ref().unwrap().MACD柱 + .partial_cmp(&b.macd.as_ref().unwrap().MACD柱) + .unwrap() + }) + .unwrap(); + let mut 柱对 = vec![Rc::clone(*最高柱子), Rc::clone(最后)]; + 柱对.sort_by_key(|k| k.时间戳); + if let (Some(m0), Some(m1)) = (柱对[0].macd.as_ref(), 柱对[1].macd.as_ref()) { + if m0.MACD柱 > m1.MACD柱 && 柱对[0].高 < 柱对[1].高 { + 结果[0] = true; + } + } + + // DIF背驰 + let 最高离差值 = 柱子序列 + .iter() + .max_by(|a, b| { + let da = a.macd.as_ref().and_then(|m| m.DIF).unwrap_or(0.0); + let db = b.macd.as_ref().and_then(|m| m.DIF).unwrap_or(0.0); + da.partial_cmp(&db).unwrap() + }) + .unwrap(); + let mut 柱对2 = vec![Rc::clone(*最高离差值), Rc::clone(最后)]; + 柱对2.sort_by_key(|k| k.时间戳); + if let (Some(m0), Some(m1)) = (柱对2[0].macd.as_ref(), 柱对2[1].macd.as_ref()) { + let dif0 = m0.DIF.unwrap_or(0.0); + let dif1 = m1.DIF.unwrap_or(0.0); + if dif0 > dif1 && 柱对2[0].高 < 柱对2[1].高 { + 结果[1] = true; + } + } + + // DEA背驰 + let 最高信号线 = 柱子序列 + .iter() + .max_by(|a, b| { + let da = a.macd.as_ref().and_then(|m| m.DEA).unwrap_or(0.0); + let db = b.macd.as_ref().and_then(|m| m.DEA).unwrap_or(0.0); + da.partial_cmp(&db).unwrap() + }) + .unwrap(); + let mut 柱对3 = vec![Rc::clone(*最高信号线), Rc::clone(最后)]; + 柱对3.sort_by_key(|k| k.时间戳); + if let (Some(m0), Some(m1)) = (柱对3[0].macd.as_ref(), 柱对3[1].macd.as_ref()) { + let dea0 = m0.DEA.unwrap_or(0.0); + let dea1 = m1.DEA.unwrap_or(0.0); + if dea0 > dea1 && 柱对3[0].高 < 柱对3[1].高 { + 结果[2] = true; + } + } + + 结果 + } else { + let 柱子序列: Vec<&Rc> = 普K序列 + .iter() + .filter(|k| k.macd.as_ref().map_or(false, |m| m.MACD柱 < 0.0)) + .collect(); + if 柱子序列.is_empty() { + return [false, false, false]; + } + + let mut 结果 = [false; 3]; + + // MACD柱背驰 (负向: absolute value comparison) + let 最高柱子 = 柱子序列 + .iter() + .max_by(|a, b| { + a.macd.as_ref().unwrap().MACD柱.abs() + .partial_cmp(&b.macd.as_ref().unwrap().MACD柱.abs()) + .unwrap() + }) + .unwrap(); + let mut 柱对 = vec![Rc::clone(*最高柱子), Rc::clone(最后)]; + 柱对.sort_by_key(|k| k.时间戳); + if let (Some(m0), Some(m1)) = (柱对[0].macd.as_ref(), 柱对[1].macd.as_ref()) { + if m0.MACD柱 < m1.MACD柱 && 柱对[0].低 > 柱对[1].低 { + 结果[0] = true; + } + } + + // DIF背驰 + let 最高离差值 = 柱子序列 + .iter() + .max_by(|a, b| { + let da = a.macd.as_ref().and_then(|m| m.DIF).unwrap_or(0.0).abs(); + let db = b.macd.as_ref().and_then(|m| m.DIF).unwrap_or(0.0).abs(); + da.partial_cmp(&db).unwrap() + }) + .unwrap(); + let mut 柱对2 = vec![Rc::clone(*最高离差值), Rc::clone(最后)]; + 柱对2.sort_by_key(|k| k.时间戳); + if let (Some(m0), Some(m1)) = (柱对2[0].macd.as_ref(), 柱对2[1].macd.as_ref()) { + let dif0 = m0.DIF.unwrap_or(0.0); + let dif1 = m1.DIF.unwrap_or(0.0); + if dif0 < dif1 && 柱对2[0].低 > 柱对2[1].低 { + 结果[1] = true; + } + } + + // DEA背驰 + let 最高信号线 = 柱子序列 + .iter() + .max_by(|a, b| { + let da = a.macd.as_ref().and_then(|m| m.DEA).unwrap_or(0.0).abs(); + let db = b.macd.as_ref().and_then(|m| m.DEA).unwrap_or(0.0).abs(); + da.partial_cmp(&db).unwrap() + }) + .unwrap(); + let mut 柱对3 = vec![Rc::clone(*最高信号线), Rc::clone(最后)]; + 柱对3.sort_by_key(|k| k.时间戳); + if let (Some(m0), Some(m1)) = (柱对3[0].macd.as_ref(), 柱对3[1].macd.as_ref()) { + let dea0 = m0.DEA.unwrap_or(0.0); + let dea1 = m1.DEA.unwrap_or(0.0); + if dea0 < dea1 && 柱对3[0].低 > 柱对3[1].低 { + 结果[2] = true; + } + } + + 结果 + } + } + + // ---- MACD柱子分段 ---- + + /// 计算MACD柱子分段 — 按正负号将MACD柱子分段 + pub fn 计算MACD柱子分段(k线序列: &[Rc]) -> Vec> { + if k线序列.is_empty() { + return Vec::new(); + } + + let 符号 = |x: f64| -> &str { + if x > 0.0 { "正" } else { "负" } + }; + + let 首_MACD = match &k线序列[0].macd { + Some(m) => m.MACD柱, + None => return Vec::new(), + }; + let mut 当前符号 = 符号(首_MACD); + let mut 当前段 = vec![首_MACD]; + let mut 结果 = Vec::new(); + + for k线 in &k线序列[1..] { + let macd = match &k线.macd { + Some(m) => m.MACD柱, + None => continue, + }; + let 新符号 = 符号(macd); + if 新符号 == 当前符号 { + 当前段.push(macd); + } else { + 结果.push(std::mem::take(&mut 当前段)); + 当前段.push(macd); + 当前符号 = 新符号; + } + } + if !当前段.is_empty() { + 结果.push(当前段); + } + 结果 + } + + // ---- 密集区域按间隔 ---- + + /// 密集区域按间隔 — 找出交叉标记中的密集区域 + pub fn 密集区域按间隔( + 交叉标记: &[i32], + 最大间隔: usize, + 最少交叉数: usize, + ) -> Vec<(usize, usize, usize)> { + let 交叉索引: Vec = (0..交叉标记.len()).filter(|&i| 交叉标记[i] != 0).collect(); + if 交叉索引.is_empty() { + return Vec::new(); + } + + let mut 密集区 = Vec::new(); + let mut 当前块起始 = 交叉索引[0]; + let mut 当前块交叉数 = 1; + + for i in 1..交叉索引.len() { + let prev = 交叉索引[i - 1]; + let curr = 交叉索引[i]; + if curr - prev <= 最大间隔 { + 当前块交叉数 += 1; + } else { + if 当前块交叉数 >= 最少交叉数 { + 密集区.push((当前块起始, prev, 当前块交叉数)); + } + 当前块起始 = curr; + 当前块交叉数 = 1; + } + } + + if 当前块交叉数 >= 最少交叉数 { + 密集区.push((当前块起始, 交叉索引[交叉索引.len() - 1], 当前块交叉数)); + } + + 密集区 + } + + // ---- 统计MACD行为 ---- + + /// 统计MACD行为 — 分析DIF/DEA穿零轴和金叉死叉 + pub fn 统计MACD行为(普K序列: &[Rc], 最大间隔: usize, 最少交叉数: usize) -> std::collections::HashMap { + use std::collections::HashMap; + + let mut dif_up = 0; + let mut dif_down = 0; + let mut dea_up = 0; + let mut dea_down = 0; + + for i in 1..普K序列.len() { + let pre = &普K序列[i - 1].macd; + let cur = &普K序列[i].macd; + if pre.is_none() || cur.is_none() { + continue; + } + let (pre_dif, cur_dif) = (pre.as_ref().unwrap().DIF, cur.as_ref().unwrap().DIF); + let (pre_dea, cur_dea) = (pre.as_ref().unwrap().DEA, cur.as_ref().unwrap().DEA); + + if let (Some(pd), Some(cd)) = (pre_dif, cur_dif) { + if pd < 0.0 && cd >= 0.0 { dif_up += 1; } + if pd > 0.0 && cd <= 0.0 { dif_down += 1; } + } + if let (Some(pd), Some(cd)) = (pre_dea, cur_dea) { + if pd < 0.0 && cd >= 0.0 { dea_up += 1; } + if pd > 0.0 && cd <= 0.0 { dea_down += 1; } + } + } + + let mut golden = 0; + let mut death = 0; + let mut 交叉标记 = vec![0i32]; + + for i in 1..普K序列.len() { + let pre = &普K序列[i - 1].macd; + let cur = &普K序列[i].macd; + if pre.is_none() || cur.is_none() { + 交叉标记.push(0); + continue; + } + let pre_dif = pre.as_ref().unwrap().DIF; + let pre_dea = pre.as_ref().unwrap().DEA; + let cur_dif = cur.as_ref().unwrap().DIF; + let cur_dea = cur.as_ref().unwrap().DEA; + + if let (Some(pd), Some(cd), Some(pe), Some(ce)) = (pre_dif, cur_dif, pre_dea, cur_dea) { + if pd <= pe && cd > ce { + golden += 1; + 交叉标记.push(1); + } else if pd >= pe && cd < ce { + death += 1; + 交叉标记.push(-1); + } else { + 交叉标记.push(0); + } + } else { + 交叉标记.push(0); + } + } + + let 密集区 = Self::密集区域按间隔(&交叉标记, 最大间隔, 最少交叉数); + + let mut map = HashMap::new(); + map.insert("DIF上穿0".into(), dif_up.to_string()); + map.insert("DIF下穿0".into(), dif_down.to_string()); + map.insert("DEA上穿0".into(), dea_up.to_string()); + map.insert("DEA下穿0".into(), dea_down.to_string()); + map.insert("金叉次数".into(), golden.to_string()); + map.insert("死叉次数".into(), death.to_string()); + map.insert("密集交叉区域".into(), format!("{:?}", 密集区)); + map + } + + // ---- 买卖意义 ---- + + /// 买卖意义 — 核心买卖点判断逻辑 + /// + /// 返回 (是否有意义, 原因字符串) + pub fn 买卖意义(实线: &虚线, 观察员: &crate::business::observer::观察者) -> (bool, String) { + let 普K序列 = &观察员.普通K线序列; + let 配置 = &观察员.配置; + + if 实线.标识 != "笔" && 实线.标识 != "线段" && !实线.标识.starts_with("线段<") { + return (false, "标识不在范围内".into()); + } + + // KDJ指标完整性检查 + match &实线.武.中.标的K线.kdj { + Some(kdj) if kdj.K.is_some() && kdj.D.is_some() && kdj.J.is_some() => {} + _ => return (false, "KDJ指标不完整".into()), + } + + let 意义 = Self::缠K买卖点模式(&配置.买卖点_指标模式, &实线.武.中, 配置); + let 结果 = false; + + let 背驰过: Vec> = if 实线.标识 == "笔" { + crate::algorithm::bi::笔::是否背驰过(实线, 观察员) + } else { + crate::algorithm::segment::线段::是否背驰过(实线, 观察员) + }; + + if 意义 { + if 实线.标识 == "笔" { + if Self::武之MACD均值(普K序列, 实线) { + return (true, "武之MACD均值".into()); + } + if Self::武之MACD极值(普K序列, 实线) && !背驰过.is_empty() { + return (true, "背驰过且极值".into()); + } else if 实线.武.与MACD柱子分型匹配() { + return ( + true, + format!( + "背驰过:{},极值:{},柱子分型匹配", + 背驰过.len(), + Self::武之MACD极值(普K序列, 实线) + ), + ); + } + } + if 实线.标识 != "笔" + && crate::algorithm::segment::线段::判断线段内部是否背驰(实线, 观察员) + { + return (true, "线段内部背驰".into()); + } + } + + if !结果 && 意义 && 实线.武.中.与MACD柱子匹配() { + if Self::武之MACD极值(普K序列, 实线) && 背驰过.len() > 2 { + return ( + true, + "没结果, 极值, 柱子分型匹配, 背驰过大于2次".into(), + ); + } + } + + (结果, "".into()) + } +} + +impl std::fmt::Display for 虚线 { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + if self.标识 == "笔" { + write!( + f, + "笔({}, {}, {}, {}, 周期: {}, 数量: {})", + self.序号, + self.方向(), + self.文, + self.武, + self.文.中.周期, + self.武.中.序号 - self.文.中.序号 + 1 + ) + } else { + let 四象 = crate::algorithm::segment::线段::四象(self); + let 缺口 = crate::algorithm::segment::线段::获取缺口(self); + let 缺口_str = match 缺口 { + Some(g) => format!("{}", g), + None => "None".to_string(), + }; + let 确认K线_str = match &self.确认K线 { + Some(k) => format!("{}", k), + None => "None".to_string(), + }; + write!( + f, + "{}<{}, {}, {}, {}, {}, 数量: {}, 缺口: {}, {}>", + self.标识, + self.序号, + 四象, + self.方向(), + self.文, + self.武, + self.基础序列.len(), + 缺口_str, + 确认K线_str, + ) + } + } +} diff --git a/chanlun/src/structure/feat_fractal.rs b/chanlun/src/structure/feat_fractal.rs new file mode 100644 index 0000000..64b461e --- /dev/null +++ b/chanlun/src/structure/feat_fractal.rs @@ -0,0 +1,24 @@ +use crate::structure::segment_feat::线段特征; +use crate::types::分型结构; +use std::rc::Rc; + +/// 特征分型 — 由三个线段特征元素构成的分型 +#[derive(Debug, Clone)] +pub struct 特征分型 { + pub 左: Rc<线段特征>, + pub 中: Rc<线段特征>, + pub 右: Rc<线段特征>, + pub 结构: 分型结构, +} + +impl 特征分型 { + pub fn new(左: Rc<线段特征>, 中: Rc<线段特征>, 右: Rc<线段特征>, 结构: 分型结构) -> Self { + Self { 左, 中, 右, 结构 } + } +} + +impl std::fmt::Display for 特征分型 { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "特征分型<{}, {}>", self.结构, self.中) + } +} diff --git a/chanlun/src/structure/fractal_obj.rs b/chanlun/src/structure/fractal_obj.rs new file mode 100644 index 0000000..7d0f8db --- /dev/null +++ b/chanlun/src/structure/fractal_obj.rs @@ -0,0 +1,173 @@ +use crate::kline::chan_kline::缠论K线; +use crate::types::分型结构; +use crate::types::相对方向; +use std::rc::Rc; + +/// 分型 — 由三根缠K构成(可能缺左或右) +#[derive(Debug, Clone)] +pub struct 分型 { + pub 左: Option>, + pub 中: Rc<缠论K线>, + pub 右: Option>, + pub 结构: 分型结构, + pub 时间戳: i64, + pub 分型特征值: f64, +} + +impl 分型 { + pub fn new(左: Option>, 中: Rc<缠论K线>, 右: Option>) -> Self { + let 结构 = 中.分型.unwrap_or(分型结构::散); + let 时间戳 = 中.时间戳; + let 分型特征值 = 中.分型特征值; + Self { + 左, + 中, + 右, + 结构, + 时间戳, + 分型特征值, + } + } + + /// 左中右三组关系 + pub fn 关系组(&self) -> Option<(相对方向, 相对方向, 相对方向)> { + let 左 = self.左.as_ref()?; + let 右 = self.右.as_ref()?; + Some(( + 相对方向::分析(左.高, 左.低, self.中.高, self.中.低), + 相对方向::分析(self.中.高, self.中.低, 右.高, 右.低), + 相对方向::分析(左.高, 左.低, 右.高, 右.低), + )) + } + + /// 分型强度 + pub fn 强度(&self) -> f64 { + match self.结构 { + 分型结构::顶 | 分型结构::上 => { + if let Some(ref 左) = self.左 { + self.中.高 - 左.高 + } else { + 0.0 + } + } + 分型结构::底 | 分型结构::下 => { + if let Some(ref 左) = self.左 { + 左.低 - self.中.低 + } else { + 0.0 + } + } + 分型结构::散 => 0.0, + } + } + + /// MACD柱子分型匹配 + pub fn 与MACD柱子分型匹配(&self) -> bool { + match self.结构 { + 分型结构::顶 | 分型结构::上 => { + if let Some(ref 左) = self.左 { + 左.与MACD柱子匹配() + } else { + false + } + } + 分型结构::底 | 分型结构::下 => { + if let Some(ref 右) = self.右 { + 右.与MACD柱子匹配() + } else { + false + } + } + 分型结构::散 => false, + } + } + + /// 判断两个分型是否匹配 + pub fn 判断分型(左: &分型, 右: &分型, 模式: &str) -> bool { + match 模式 { + "中" => 左.中.序号 == 右.中.序号, + _ => false, + } + } + + /// 从缠K序列中获取以指定缠K为中元素的分型 + pub fn 从缠K序列中获取分型(K线序列: &[Rc<缠论K线>], 中: &Rc<缠论K线>) -> Option { + let idx = K线序列.iter().position(|k| Rc::as_ptr(k) == Rc::as_ptr(中))?; + let 左 = if idx > 0 { + Some(Rc::clone(&K线序列[idx - 1])) + } else { + None + }; + let 右 = if idx + 1 < K线序列.len() { + Some(Rc::clone(&K线序列[idx + 1])) + } else { + None + }; + Some(Self::new(左, Rc::clone(中), 右)) + } + + /// 向分型序列中添加新分型 + pub fn 向序列中添加(分型序列: &mut Vec>, 当前分型: Rc<分型>) { + if let Some(前一个) = 分型序列.last() { + if 前一个.时间戳 == 当前分型.时间戳 { + // 同一时间戳: 比较强度,保留更强的 + match 当前分型.结构 { + 分型结构::顶 | 分型结构::上 => { + if 当前分型.分型特征值 >= 前一个.分型特征值 { + 分型序列.pop(); + 分型序列.push(当前分型); + } + return; + } + 分型结构::底 | 分型结构::下 => { + if 当前分型.分型特征值 <= 前一个.分型特征值 { + 分型序列.pop(); + 分型序列.push(当前分型); + } + return; + } + 分型结构::散 => {} + } + } + // 相同结构只保留更强的 + if 前一个.结构 == 当前分型.结构 { + if (当前分型.结构 == 分型结构::顶 || 当前分型.结构 == 分型结构::上) + && 当前分型.分型特征值 >= 前一个.分型特征值 + { + 分型序列.pop(); + 分型序列.push(当前分型); + } else if (当前分型.结构 == 分型结构::底 || 当前分型.结构 == 分型结构::下) + && 当前分型.分型特征值 <= 前一个.分型特征值 + { + 分型序列.pop(); + 分型序列.push(当前分型); + } + return; + } + } + 分型序列.push(当前分型); + } +} + +impl crate::types::fractal::有高低 for 分型 { + fn 高(&self) -> f64 { + self.中.高 + } + fn 低(&self) -> f64 { + self.中.低 + } +} + +impl std::fmt::Display for 分型 { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "{}<{}, {}, None: {}, None: {}>", + self.中.分型.unwrap_or(crate::types::分型结构::散), + self.时间戳, + crate::utils::format_f64_g(self.分型特征值), + if self.左.is_none() { "True" } else { "False" }, + if self.右.is_none() { "True" } else { "False" }, + ) + } +} diff --git a/chanlun/src/structure/mod.rs b/chanlun/src/structure/mod.rs new file mode 100644 index 0000000..8ccac6b --- /dev/null +++ b/chanlun/src/structure/mod.rs @@ -0,0 +1,4 @@ +pub mod dash_line; +pub mod feat_fractal; +pub mod fractal_obj; +pub mod segment_feat; diff --git a/chanlun/src/structure/segment_feat.rs b/chanlun/src/structure/segment_feat.rs new file mode 100644 index 0000000..4cc5e4c --- /dev/null +++ b/chanlun/src/structure/segment_feat.rs @@ -0,0 +1,254 @@ +use crate::structure::dash_line::虚线; +use crate::structure::feat_fractal::特征分型; +use crate::structure::fractal_obj::分型; +use crate::types::{分型结构, 相对方向}; +use std::rc::Rc; + +/// 线段特征 — 特征序列元素(内部是虚线的集合) +#[derive(Debug, Clone)] +pub struct 线段特征 { + pub 序号: i64, + pub 标识: String, + pub 线段方向: 相对方向, + pub 元素: Vec>, +} + +impl 线段特征 { + pub fn new(标识: String, 基础序列: Vec>, 线段方向: 相对方向) -> Self { + Self { + 序号: 0, + 标识, + 线段方向, + 元素: 基础序列, + } + } + + pub fn 图表标题(&self) -> String { + self.标识.clone() + } + + /// 文 — 取特征序列元素中分型特征值最大/最小的文分型 + pub fn 文(&self) -> Rc<分型> { + if self.线段方向.是否向上() { + // 向上 → 取最大的文 + self.元素 + .iter() + .max_by(|a, b| { + a.文 + .分型特征值 + .partial_cmp(&b.文.分型特征值) + .unwrap_or(std::cmp::Ordering::Equal) + }) + .map(|x| Rc::clone(&x.文)) + .unwrap_or_else(|| Rc::clone(&self.元素[0].文)) + } else { + // 向下 → 取最小的文 + self.元素 + .iter() + .min_by(|a, b| { + a.文 + .分型特征值 + .partial_cmp(&b.文.分型特征值) + .unwrap_or(std::cmp::Ordering::Equal) + }) + .map(|x| Rc::clone(&x.文)) + .unwrap_or_else(|| Rc::clone(&self.元素[0].文)) + } + } + + /// 武 — 取特征序列元素中分型特征值最大/最小的武分型 + pub fn 武(&self) -> Rc<分型> { + if self.线段方向.是否向上() { + self.元素 + .iter() + .max_by(|a, b| { + a.武 + .分型特征值 + .partial_cmp(&b.武.分型特征值) + .unwrap_or(std::cmp::Ordering::Equal) + }) + .map(|x| Rc::clone(&x.武)) + .unwrap_or_else(|| Rc::clone(&self.元素[0].武)) + } else { + self.元素 + .iter() + .min_by(|a, b| { + a.武 + .分型特征值 + .partial_cmp(&b.武.分型特征值) + .unwrap_or(std::cmp::Ordering::Equal) + }) + .map(|x| Rc::clone(&x.武)) + .unwrap_or_else(|| Rc::clone(&self.元素[0].武)) + } + } + + pub fn 高(&self) -> f64 { + let 文 = self.文(); + let 武 = self.武(); + 文.分型特征值.max(武.分型特征值) + } + + pub fn 低(&self) -> f64 { + let 文 = self.文(); + let 武 = self.武(); + 文.分型特征值.min(武.分型特征值) + } + + /// 方向 — 线段方向的翻转 + pub fn 方向(&self) -> 相对方向 { + self.线段方向.翻转() + } + + /// 向特征序列元素中添加虚线 + pub fn 添加(&mut self, 待添加虚线: Rc<虚线>) -> Result<(), String> { + if 待添加虚线.方向() == self.线段方向 { + return Err("添加方向与线段方向相同".into()); + } + self.元素.push(待添加虚线); + Ok(()) + } + + /// 新建特征序列元素 + pub fn 新建(虚线序列: Vec>, 线段方向: 相对方向) -> Self { + let 标识 = format!("特征<虚线>"); + Self::new(标识, 虚线序列, 线段方向) + } + + /// 静态分析 — 从虚线序列生成特征序列元素列表 + pub fn 静态分析( + 虚线序列: &[Rc<虚线>], + 线段方向: 相对方向, + 四象: &str, + 是否忽视: bool, + ) -> Vec> { + let mut 结果: Vec> = Vec::new(); + + // 需要被合并的方向集合 + let 需要合并: Vec<相对方向> = match 四象 { + "老阳" | "老阴" if !是否忽视 => vec![相对方向::顺, 相对方向::逆, 相对方向::同], + _ => vec![相对方向::顺, 相对方向::同], + }; + + for 虚线 in 虚线序列 { + // 情况1:方向相同(可能触发分型替换) + if 虚线.方向() == 线段方向 { + if 结果.len() >= 3 { + let 左 = Rc::clone(&结果[结果.len() - 3]); + let 中 = Rc::clone(&结果[结果.len() - 2]); + let 右 = Rc::clone(&结果[结果.len() - 1]); + + if let Some(结构) = 分型结构::分析(&*左, &*中, &*右, true, true) { + let 应替换 = (线段方向 == 相对方向::向上 + && 结构 == 分型结构::顶 + && 虚线.高() > 中.高()) + || (线段方向 == 相对方向::向下 + && 结构 == 分型结构::底 + && 虚线.低() < 中.低()); + + if 应替换 { + let 小号虚线 = if 中.元素[0].序号 < 右.元素[0].序号 { + &中.元素[0] + } else { + &右.元素[0] + }; + let 大号虚线 = if 中.元素.last().unwrap().序号 + > 右.元素.last().unwrap().序号 + { + &中.元素[中.元素.len() - 1] + } else { + &右.元素[右.元素.len() - 1] + }; + let fake = 虚线::创建笔( + Rc::clone(&小号虚线.文), + Rc::clone(&大号虚线.武), + false, + ); + 结果.pop(); + let idx = 结果.len() - 1; + 结果[idx] = + Rc::new(Self::新建(vec![Rc::new(fake)], 线段方向)); + } + } + } + continue; + } + + // 情况2:方向不同(执行特征序列的合并/添加) + if 结果.is_empty() { + 结果.push(Rc::new(Self::新建(vec![Rc::clone(虚线)], 线段方向))); + continue; + } + + // 检查与最后一个特征序列的方向关系 + let 最后_idx = 结果.len() - 1; + let 之前线段特征 = &*结果[最后_idx]; + if 需要合并.contains(&相对方向::分析( + 之前线段特征.高(), + 之前线段特征.低(), + 虚线.高(), + 虚线.低(), + )) { + // Clone-modify-replace + let mut 新特征 = (*结果[最后_idx]).clone(); + let _ = 新特征.添加(Rc::clone(虚线)); + 结果[最后_idx] = Rc::new(新特征); + } else { + 结果.push(Rc::new(Self::新建(vec![Rc::clone(虚线)], 线段方向))); + } + } + + 结果 + } + + /// 获取分型序列 + pub fn 获取分型序列(特征序列: &[Rc<线段特征>]) -> Vec<特征分型> { + let mut 结果 = Vec::new(); + if 特征序列.len() < 3 { + return 结果; + } + for i in 2..特征序列.len() { + let 左 = Rc::clone(&特征序列[i - 2]); + let 中 = Rc::clone(&特征序列[i - 1]); + let 右 = Rc::clone(&特征序列[i]); + + if let Some(结构) = 分型结构::分析_对象( + &*左 as &dyn crate::types::fractal::有高低, + &*中 as &dyn crate::types::fractal::有高低, + &*右 as &dyn crate::types::fractal::有高低, + true, + true, + ) { + 结果.push(特征分型::new(左, 中, 右, 结构)); + } + } + 结果 + } +} + +impl crate::types::fractal::有高低 for 线段特征 { + fn 高(&self) -> f64 { + self.高() + } + fn 低(&self) -> f64 { + self.低() + } +} + +impl std::fmt::Display for 线段特征 { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + if self.元素.is_empty() { + write!(f, "{}<{}, 空>", self.标识, self.线段方向) + } else { + write!( + f, + "{}<{}, {}, {}, {}>", + self.标识, + self.线段方向, + self.文(), + self.武(), + self.元素.len() + ) + } + } +} diff --git a/chanlun/src/types/bsp_type.rs b/chanlun/src/types/bsp_type.rs new file mode 100644 index 0000000..f873f81 --- /dev/null +++ b/chanlun/src/types/bsp_type.rs @@ -0,0 +1,99 @@ +use serde::{Deserialize, Serialize}; + +/// 买卖点类型 —— 六类买卖点(一二三 + T1/T1P/T2/T2S/T3A/T3B) +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] +pub enum 买卖点类型 { + #[serde(rename = "一买")] + 一买, + #[serde(rename = "一卖")] + 一卖, + #[serde(rename = "二买")] + 二买, + #[serde(rename = "二卖")] + 二卖, + #[serde(rename = "三买")] + 三买, + #[serde(rename = "三卖")] + 三卖, + #[serde(rename = "T1买")] + T1买, + #[serde(rename = "T1卖")] + T1卖, + #[serde(rename = "T1P买")] + T1P买, + #[serde(rename = "T1P卖")] + T1P卖, + #[serde(rename = "T2买")] + T2买, + #[serde(rename = "T2卖")] + T2卖, + #[serde(rename = "T2S买")] + T2S买, + #[serde(rename = "T2S卖")] + T2S卖, + #[serde(rename = "T3A买")] + T3A买, + #[serde(rename = "T3A卖")] + T3A卖, + #[serde(rename = "T3B买")] + T3B买, + #[serde(rename = "T3B卖")] + T3B卖, +} + +impl std::fmt::Display for 买卖点类型 { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Self::一买 => write!(f, "一买"), + Self::一卖 => write!(f, "一卖"), + Self::二买 => write!(f, "二买"), + Self::二卖 => write!(f, "二卖"), + Self::三买 => write!(f, "三买"), + Self::三卖 => write!(f, "三卖"), + Self::T1买 => write!(f, "T1买"), + Self::T1卖 => write!(f, "T1卖"), + Self::T1P买 => write!(f, "T1P买"), + Self::T1P卖 => write!(f, "T1P卖"), + Self::T2买 => write!(f, "T2买"), + Self::T2卖 => write!(f, "T2卖"), + Self::T2S买 => write!(f, "T2S买"), + Self::T2S卖 => write!(f, "T2S卖"), + Self::T3A买 => write!(f, "T3A买"), + Self::T3A卖 => write!(f, "T3A卖"), + Self::T3B买 => write!(f, "T3B买"), + Self::T3B卖 => write!(f, "T3B卖"), + } + } +} + +impl 买卖点类型 { + pub fn 是买点(&self) -> bool { + matches!( + self, + Self::一买 + | Self::二买 + | Self::三买 + | Self::T1买 + | Self::T1P买 + | Self::T2买 + | Self::T2S买 + | Self::T3A买 + | Self::T3B买 + ) + } + + pub fn 是卖点(&self) -> bool { + matches!( + self, + Self::一卖 + | Self::二卖 + | Self::三卖 + | Self::T1卖 + | Self::T1P卖 + | Self::T2卖 + | Self::T2S卖 + | Self::T3A卖 + | Self::T3B卖 + ) + } +} diff --git a/chanlun/src/types/direction.rs b/chanlun/src/types/direction.rs new file mode 100644 index 0000000..e47bfc8 --- /dev/null +++ b/chanlun/src/types/direction.rs @@ -0,0 +1,108 @@ +use serde::{Deserialize, Serialize}; + +/// 相对方向 —— K线之间的相对位置关系 +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] +pub enum 相对方向 { + #[serde(rename = "交叠向上")] + 向上, + #[serde(rename = "交叠向下")] + 向下, + #[serde(rename = "向上缺口")] + 向上缺口, + #[serde(rename = "向下缺口")] + 向下缺口, + #[serde(rename = "衔接向上")] + 衔接向上, + #[serde(rename = "衔接向下")] + 衔接向下, + #[serde(rename = "顺序包含")] + 顺, + #[serde(rename = "逆序包含")] + 逆, + #[serde(rename = "相同包含")] + 同, +} + +impl 相对方向 { + pub fn 翻转(&self) -> Self { + match self { + Self::向上 => Self::向下, + Self::向下 => Self::向上, + Self::向上缺口 => Self::向下缺口, + Self::向下缺口 => Self::向上缺口, + Self::衔接向上 => Self::衔接向下, + Self::衔接向下 => Self::衔接向上, + Self::顺 => Self::逆, + Self::逆 => Self::顺, + other => *other, + } + } + + pub fn 是否向上(&self) -> bool { + matches!(self, Self::向上 | Self::向上缺口 | Self::衔接向上) + } + + pub fn 是否向下(&self) -> bool { + matches!(self, Self::向下 | Self::向下缺口 | Self::衔接向下) + } + + pub fn 是否包含(&self) -> bool { + matches!(self, Self::顺 | Self::逆 | Self::同) + } + + pub fn 是否缺口(&self) -> bool { + matches!(self, Self::向下缺口 | Self::向上缺口) + } + + pub fn 是否衔接(&self) -> bool { + matches!(self, Self::衔接向下 | Self::衔接向上) + } + + /// 分析两个K线之间的相对方向 + pub fn 分析(前高: f64, 前低: f64, 后高: f64, 后低: f64) -> Self { + if (前高 - 后高).abs() < f64::EPSILON && (前低 - 后低).abs() < f64::EPSILON { + return Self::同; + } + if 前高 > 后高 && 前低 > 后低 { + if (前低 - 后高).abs() < f64::EPSILON { + return Self::衔接向下; + } + if 前低 > 后高 { + return Self::向下缺口; + } + return Self::向下; + } + if 前高 < 后高 && 前低 < 后低 { + if (前高 - 后低).abs() < f64::EPSILON { + return Self::衔接向上; + } + if 前高 < 后低 { + return Self::向上缺口; + } + return Self::向上; + } + if 前高 >= 后高 && 前低 <= 后低 { + return Self::顺; + } + if 前高 <= 后高 && 前低 >= 后低 { + return Self::逆; + } + panic!("无法识别的方向: 前({},{}), 后({},{})", 前高, 前低, 后高, 后低); + } +} + +impl std::fmt::Display for 相对方向 { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Self::向上 => write!(f, "相对方向.向上"), + Self::向下 => write!(f, "相对方向.向下"), + Self::向上缺口 => write!(f, "相对方向.向上缺口"), + Self::向下缺口 => write!(f, "相对方向.向下缺口"), + Self::衔接向上 => write!(f, "相对方向.衔接向上"), + Self::衔接向下 => write!(f, "相对方向.衔接向下"), + Self::顺 => write!(f, "相对方向.顺"), + Self::逆 => write!(f, "相对方向.逆"), + Self::同 => write!(f, "相对方向.同"), + } + } +} diff --git a/chanlun/src/types/fractal.rs b/chanlun/src/types/fractal.rs new file mode 100644 index 0000000..a8b873a --- /dev/null +++ b/chanlun/src/types/fractal.rs @@ -0,0 +1,109 @@ +use serde::{Deserialize, Serialize}; + +/// 分型结构 —— 三根K线构成的结构形态 +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] +pub enum 分型结构 { + #[serde(rename = "三连向上")] + 上, + #[serde(rename = "三连向下")] + 下, + #[serde(rename = "顶分型")] + 顶, + #[serde(rename = "底分型")] + 底, + #[serde(rename = "向右扩散")] + 散, +} + +impl std::fmt::Display for 分型结构 { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Self::上 => write!(f, "上"), + Self::下 => write!(f, "下"), + Self::顶 => write!(f, "顶"), + Self::底 => write!(f, "底"), + Self::散 => write!(f, "散"), + } + } +} + +impl 分型结构 { + /// 分析三根K线构成的分型结构(泛型版本) + pub fn 分析( + 左: &impl 有高低, + 中: &impl 有高低, + 右: &impl 有高低, + 可以逆序包含: bool, + 忽视顺序包含: bool, + ) -> Option { + Self::分析_内部(左.高(), 左.低(), 中.高(), 中.低(), 右.高(), 右.低(), 可以逆序包含, 忽视顺序包含) + } + + /// 分析三元素构成的分型结构(trait object 版本) + pub fn 分析_对象( + 左: &dyn 有高低, + 中: &dyn 有高低, + 右: &dyn 有高低, + 可以逆序包含: bool, + 忽视顺序包含: bool, + ) -> Option { + Self::分析_内部(左.高(), 左.低(), 中.高(), 中.低(), 右.高(), 右.低(), 可以逆序包含, 忽视顺序包含) + } + + fn 分析_内部( + 左高: f64, 左低: f64, + 中高: f64, 中低: f64, + 右高: f64, 右低: f64, + 可以逆序包含: bool, + 忽视顺序包含: bool, + ) -> Option { + use crate::types::direction::相对方向; + + let 左中关系 = 相对方向::分析(左高, 左低, 中高, 中低); + let 中右关系 = 相对方向::分析(中高, 中低, 右高, 右低); + + let 向上类 = |d: 相对方向| d.是否向上(); + let 向下类 = |d: 相对方向| d.是否向下(); + + match (左中关系, 中右关系) { + // 顺序包含 — 忽视时可以绕过 + (相对方向::顺, _) if !忽视顺序包含 => { + panic!("顺序包含: {:?} {:?}", 左中关系, 中右关系); + } + (_, 相对方向::顺) if !忽视顺序包含 => { + panic!("顺序包含: {:?} {:?}", 左中关系, 中右关系); + } + // 向上 + 向上 = 三连上 + (a, b) if 向上类(a) && 向上类(b) => Some(Self::上), + // 向上 + 向下 = 顶分型 + (a, b) if 向上类(a) && 向下类(b) => Some(Self::顶), + // 向上 + 逆序包含 = 上 + (a, 相对方向::逆) if 向上类(a) && 可以逆序包含 => Some(Self::上), + // 向下 + 向上 = 底分型 + (a, b) if 向下类(a) && 向上类(b) => Some(Self::底), + // 向下 + 向下 = 三连下 + (a, b) if 向下类(a) && 向下类(b) => Some(Self::下), + // 向下 + 逆序包含 = 下 + (a, 相对方向::逆) if 向下类(a) && 可以逆序包含 => Some(Self::下), + // 逆序包含 + 向上 = 底 + (相对方向::逆, a) if 向上类(a) && 可以逆序包含 => Some(Self::底), + // 逆序包含 + 向下 = 顶 + (相对方向::逆, a) if 向下类(a) && 可以逆序包含 => Some(Self::顶), + // 逆序包含 + 逆序包含 = 散 + (相对方向::逆, 相对方向::逆) if 可以逆序包含 => Some(Self::散), + _ => { + eprintln!( + "无法识别的分型结构: 左中={:?}, 中右={:?}", + 左中关系, 中右关系 + ); + None + } + } + } +} + +/// Trait for types that have 高 and 低 (used by 分型结构::分析) +pub trait 有高低 { + fn 高(&self) -> f64; + fn 低(&self) -> f64; +} diff --git a/chanlun/src/types/gap.rs b/chanlun/src/types/gap.rs new file mode 100644 index 0000000..cef1fd0 --- /dev/null +++ b/chanlun/src/types/gap.rs @@ -0,0 +1,51 @@ +use serde::{Deserialize, Serialize}; + +/// 缺口 —— 两个价格区间之间的空隙 +#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)] +pub struct 缺口 { + pub 高: f64, + pub 低: f64, +} + +impl 缺口 { + pub fn new(高: f64, 低: f64) -> Self { + assert!(高 > 低, "缺口高必须大于低: 高={高}, 低={低}"); + Self { 高, 低 } + } + + /// 在 [起点, 终点] 区间内居中截取一个子区间 + pub fn 居中截取区间(起点: f64, 终点: f64, 比例: f64) -> Option { + let (起点, 终点) = if 起点 <= 终点 { + (起点, 终点) + } else { + (终点, 起点) + }; + + let 总长 = 终点 - 起点; + let 偏移 = 总长 * 比例; + let 中心 = (起点 + 终点) / 2.0; + + let 下界 = 中心 - 偏移; + let 上界 = 中心 + 偏移; + + if 下界 > 终点 || 上界 < 起点 { + return None; + } + + let 下界 = 下界.max(起点); + let 上界 = 上界.min(终点); + + Some(Self::new(上界.max(下界), 上界.min(下界))) + } +} + +impl std::fmt::Display for 缺口 { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "缺口区间<{} <=> {}>", + crate::utils::format_f64_g(self.低), + crate::utils::format_f64_g(self.高) + ) + } +} diff --git a/chanlun/src/types/mod.rs b/chanlun/src/types/mod.rs new file mode 100644 index 0000000..a398ef1 --- /dev/null +++ b/chanlun/src/types/mod.rs @@ -0,0 +1,9 @@ +pub mod bsp_type; +pub mod direction; +pub mod fractal; +pub mod gap; + +pub use bsp_type::买卖点类型; +pub use direction::相对方向; +pub use fractal::分型结构; +pub use gap::缺口; diff --git a/chanlun/src/utils/datetime.rs b/chanlun/src/utils/datetime.rs new file mode 100644 index 0000000..7e0be6d --- /dev/null +++ b/chanlun/src/utils/datetime.rs @@ -0,0 +1,27 @@ +use chrono::DateTime; + +/// 将多种类型统一转为时间戳 (Unix epoch 秒) +pub fn 转化为时间戳(ts: &str) -> Option { + // 尝试解析为整数时间戳 + if let Ok(v) = ts.parse::() { + return Some(v); + } + // 尝试解析为浮点时间戳 + if let Ok(v) = ts.parse::() { + return Some(v as i64); + } + // 尝试 ISO 格式日期字符串 + if let Ok(dt) = DateTime::parse_from_rfc3339(ts) { + return Some(dt.timestamp()); + } + // 尝试 "YYYY-MM-DD HH:MM:SS" 格式 + if let Ok(dt) = chrono::NaiveDateTime::parse_from_str(ts, "%Y-%m-%d %H:%M:%S") { + return Some(dt.and_utc().timestamp()); + } + None +} + +/// 将多种类型转为时间戳数字 (i64) +pub fn 转化为时间戳_数字(ts: &str) -> Option { + 转化为时间戳(ts) +} diff --git a/chanlun/src/utils/format.rs b/chanlun/src/utils/format.rs new file mode 100644 index 0000000..a688b39 --- /dev/null +++ b/chanlun/src/utils/format.rs @@ -0,0 +1,14 @@ +/// Format f64 with Python :g semantics — strip trailing zeros, no scientific notation for common values +pub fn format_f64_g(value: f64) -> String { + if value.is_nan() { + return "nan".to_string(); + } + if value.is_infinite() { + return if value > 0.0 { "inf".to_string() } else { "-inf".to_string() }; + } + + // Use high precision then trim trailing zeros + let s = format!("{:.15}", value); + let s = s.trim_end_matches('0'); + s.trim_end_matches('.').to_string() +} diff --git a/chanlun/src/utils/mod.rs b/chanlun/src/utils/mod.rs new file mode 100644 index 0000000..6070737 --- /dev/null +++ b/chanlun/src/utils/mod.rs @@ -0,0 +1,5 @@ +pub mod datetime; +pub mod format; + +pub use datetime::{转化为时间戳, 转化为时间戳_数字}; +pub use format::format_f64_g;