52 Commits

Author SHA1 Message Date
YuWuKunCheng 9c972c2673 移除 配置兼容 2026-06-19 20:59:25 +08:00
YuWuKunCheng 0f69cfda79 Nothing 2026-06-16 11:57:19 +08:00
YuWuKunCheng e44f9dd837 修复 中枢完整性 2026-06-14 11:48:47 +08:00
YuWuKunCheng 1477cde86b 优化代码逻辑 v26.6.73 2026-06-12 14:41:50 +08:00
YuWuKunCheng da5222d960 添加 全局变量“扩展线段模式” 默认为 True
线段 扩展分析采用“端点高, 端点低” 作为高低取值。中枢分析时高低取值不变,此举在中枢<扩展**> 中更贴合原文同级别分级时的中枢高低取值
2026-06-10 23:21:33 +08:00
YuWuKunCheng 15a1d43b1d Nothing 2026-06-09 15:13:49 +08:00
YuWuKunCheng a8df8cd187 移除 无意义配置项 v26.6.47 2026-06-09 15:03:34 +08:00
YuWuKunCheng 9c7686d104 Nothing 2026-06-09 01:06:52 +08:00
YuWuKunCheng 34c42ecd68 修复 异常BUG 2026-06-08 23:29:00 +08:00
YuWuKunCheng 8a2afb9ed0 修复 观察者混合扩展边界问题 2026-06-07 20:45:09 +08:00
YuWuKunCheng 11d897ebaa 第十版 v26.6.44 2026-06-07 17:02:10 +08:00
YuWuKunCheng 4bf9461009 规范文件 2026-06-07 14:34:05 +08:00
YuWuKunCheng c83cddbcc4 观察者 线段分析/扩展分析 支持无限递归,保留之前序列为@property 形式
移除 某些函数的缓存机制
2026-06-07 13:34:28 +08:00
YuWuKunCheng 0a7e9dc896 观察者 线段分析/扩展分析 支持无限递归,保留之前序列为@property 形式 2026-06-06 22:02:47 +08:00
YuWuKunCheng dd40f95742 观察者 线段分析/扩展分析 支持无限递归,保留之前序列为@property 形式 2026-06-06 17:50:08 +08:00
YuWuKunCheng e33b1f0744 修复 Arc::make_mut 遗留问题
增加 基础数据对比方法
2026-06-05 16:35:31 +08:00
YuWuKunCheng 823a24d364 第九版 v26.6.17 2026-06-05 09:02:54 +08:00
YuWuKunCheng 58c85dc7cd 添加 Read the docs 配置 2026-05-31 12:05:48 +08:00
YuWuKunCheng c3e9ae8d77 Nothing v26.5.103 v26.5.103 2026-05-30 22:34:10 +08:00
YuWuKunCheng b7c4e60420 1. thread_local! 导致跨线程缓存不可见(主要问题)
kline_py.rs 中 BSP_CACHE、KLINE_IDENTITY、BAR_IDENTITY 使用了 thread_local!。主线程调用 识别买卖点() →
  买卖点信息.add() 写入的是主线程的 PySet,backtrader 策略线程读取的是自己线程独立的空 PySet。

  修复:将三个缓存从 thread_local! 改为全局 static + std::sync::LazyLock<RwLock<HashMap<...>>>

  影响分析

  这些身份缓存的影响与 KLINE_IDENTITY/BAR_IDENTITY 不同——它们只影响 Python 对象身份(is
  比较),不直接影响数据内容(因为 Rust 数据通过 Arc 共享,读写都是同一份)。

  具体后果:
  - 不同线程访问同一个 Rust Arc 会得到不同的 Python wrapper 对象
  - a is b 跨线程比较返回 False,哪怕它们包装同一个底层 Rust 对象
  - 每个线程维护一份独立缓存,内存浪费(不过 wrapper 很小)
2026-05-30 22:15:09 +08:00
YuWuKunCheng 15dc44e8e0 回测测试 2026-05-30 20:06:59 +08:00
YuWuKunCheng bd4fceab02 全量支持 观察者在python端的重写机制 2026-05-30 15:51:18 +08:00
YuWuKunCheng af3ebf13c8 修复 “cargo clippy -- -D warnings” 产生的错误 2026-05-30 13:25:57 +08:00
YuWuKunCheng 22109d8b30 合并 工作流 2026-05-30 13:03:37 +08:00
YuWuKunCheng c2c09fc8ba 合并 工作流 v26.5.101 2026-05-30 12:17:22 +08:00
YuWuKunCheng 0eb52cc06a 添加 自动发包 2026-05-30 11:56:06 +08:00
YuWuKunCheng 1e6025a968 添加 原始chan到模块
修复 相对方向的一致性
添加 观察者.投喂原始数据
2026-05-30 11:26:59 +08:00
YuWuKunCheng 14279f3df6 完善 测试类 v26.5.94 2026-05-29 23:28:59 +08:00
YuWuKunCheng fca62f3141 修复 买卖点一致性对齐至chan.py 2026-05-29 20:42:34 +08:00
YuWuKunCheng e50172e923 修复 中枢一致性 2026-05-29 20:19:42 +08:00
YuWuKunCheng c87fb66d34 修复 分型时间戳 2026-05-29 17:30:58 +08:00
YuWuKunCheng 9900266516 修复 买卖点 2026-05-29 15:01:02 +08:00
YuWuKunCheng 5c3179eec8 第八版 v26.5.86 2026-05-29 04:05:36 +08:00
YuWuKunCheng ae57090d7f 1. Pickle 支持修复(__reduce__)
- 修复了 相对方向Py.__reduce__ 中 str() 返回 相对方向.向上 导致 getattr 失败的问题(拆分取 . 后变体名)
  - 重新编译后 __module__ 正确返回 chanlun._chanlun
  - 所有 4 个类型(相对方向、买卖点类型、分型结构、缺口)pickle 往返测试通过

  2. from_py_object 消除 163 个弃用警告

  - 给 14 个 #[derive(Clone)] 的 pyclass 添加了 from_py_object
  - #[pyclass] 中的正确写法:#[pyclass(name = "X", module = "chanlun._chanlun", from_py_object)]
  - cargo clean 重新编译后零 from_py_object 警告

  3. #[classattr] + __members__

  - 为 3 个枚举类型(相对方向、买卖点类型、分型结构)添加了 __members__ 类属性
  - __members__ 是 dict[str, 实例],行为与 Python Enum.__members__ 一致
  - 通过 pickle 反序列化的值也在 __members__.values() 中

  4. __richcmp__

  - 为 3 个枚举类型 + 缺口实现了 __richcmp__,替换手写 __eq__
  - 相对方向/分型结构:支持全部 6 种比较(基于判别值排序)
  - 买卖点类型:支持 Eq/Ne + 与字符串比较
  - 缺口:支持全部 6 种比较(按 (高, 低) 元组排序)

  5. 补充文档
2026-05-28 14:03:53 +08:00
YuWuKunCheng 52823e6c75 修复 rust 引用问题 v26.5.46 2026-05-28 01:07:16 +08:00
YuYuKunKun 4908870245 Fix link to chanlun Rust core library in README 2026-05-27 01:26:54 +08:00
YuYuKunKun d2f74d847b Remove linux-aarch64 dependency from publish job 2026-05-27 01:07:07 +08:00
YuYuKunKun 7d99802059 Delete Linux aarch64 build steps from publish.yml
Removed the Linux aarch64 build configuration from the workflow.
2026-05-27 01:05:56 +08:00
YuWuKunCheng 98f07508fa Update workflows 2026-05-27 00:59:49 +08:00
YuYuKunKun 9280041f2a Add python-source parameter to publish workflow 2026-05-26 23:46:31 +08:00
YuYuKunKun 0c74a4fb53 Update chanlun dependency version to 26.5.1 v2605.11 2026-05-26 23:36:51 +08:00
YuYuKunKun a02aef2b26 Merge pull request #1 from YuYuKunKun/ci/pypi-release
第八版
2026-05-26 23:29:06 +08:00
YuYuKunKun 9384642fd9 Merge branch 'main' into ci/pypi-release 2026-05-26 23:26:45 +08:00
YuWuKunCheng bd6fcbe0c9 第七版 2026-05-26 23:23:26 +08:00
YuWuKunCheng b34bf88ae9 第六版 2026-05-26 23:23:12 +08:00
YuWuKunCheng 4efc3a8914 第六版 2026-05-26 22:38:57 +08:00
YuWuKunCheng a67540fc95 第五版 2026-05-26 19:01:30 +08:00
YuWuKunCheng 104ecf0268 第四版 2026-05-26 11:03:05 +08:00
YuWuKunCheng 7416bfc73a 第三版 2026-05-26 09:06:28 +08:00
YuWuKunCheng bf96517c9d 第二版 2026-05-25 11:07:08 +08:00