vespa314 / chan.py Goto Github PK
View Code? Open in Web Editor NEW开放式的缠论python实现框架,支持形态学/动力学买卖点分析计算,多级别K线联立,区间套策略,可视化绘图,多种数据接入,策略开发,交易系统对接;
License: MIT License
开放式的缠论python实现框架,支持形态学/动力学买卖点分析计算,多级别K线联立,区间套策略,可视化绘图,多种数据接入,策略开发,交易系统对接;
License: MIT License
老板,看了你发布的东西,很感兴趣,怎么联系你呢
在readme里的代码结构图,标明了有这个模块,但是代码里没有,方便补充一下吗
can_be_end
函数的作用是判断特征序列分型是否结束,并考虑线段的两种情况:特征序列中第一和第二元素间存在特征序列的缺口。其中如果存在缺口时调用find_revert_fx
函数寻找反向分型。
break_thred
参数的含义是为了判断判断特征序列缺口是否笔合,那么当线段是向上时,break_thred
应该是self.ele[0].high
,反向特征序列的第二个元素的低点低于此值即表明闭合,这个逻辑可以从find_revert_fx
函数逻辑得到佐证。
因此break_thred = self.ele[0].low if self.is_up() else self.ele[0].high
应改为
break_thred = self.ele[0].high if self.is_up() else self.ele[0].low
def can_be_end(self, bi_lst: CBiList):
"""判断特征序列分型是否结束,并考虑线段的两种情况:特征序列中第一和第二元素间存在特征序列的缺口"""
assert self.ele[1] is not None
if self.ele[1].gap: # 第二特征序列相对第一个特征序列有缺口,线段的第二种情况
assert self.ele[0] is not None
end_bi_idx = self.GetPeakBiIdx()
thred_value = bi_lst[end_bi_idx].get_end_val() #线段的端点
break_thred = self.ele[0].low if self.is_up() else self.ele[0].high #TODO:此处写错了,break_thred值是为了判断特征序列缺口是否笔合,那么当线段是向上时,break_thred应该是self.ele[0].high
return self.find_revert_fx(bi_lst, end_bi_idx+2, thred_value, break_thred)
else:
return True
git下来跑README.md的demo示例代码
chan = CChan(
code="HK.00700",
begin_time="2012-01-01",
end_time=None,
data_src=DATA_SRC.FUTU, # 数据来源,
lv_list=[KL_TYPE.K_DAY], # 多级别可以从大到小传入
config=config,
autype=AUTYPE.QFQ,
extra_kl=None,
)
里的DATA_SRC.FUTU在Chan.py里没有定义
def GetStockAPI(src):
_dict = {}
if src == DATA_SRC.BAO_STOCK:
from DataAPI.BaoStockAPI import CBaoStock
_dict[DATA_SRC.BAO_STOCK] = CBaoStock
if src == DATA_SRC.CCXT:
from DataAPI.ccxt import CCXT
_dict[DATA_SRC.CCXT] = CCXT
只有如上两个
No module named 'KLine'
No module named 'ChanConfig'
请问能更新下这两个包吗?
猛一看功能很全啊,仔细一看……
看文档功能好全面,好想用起来,哈哈
如题
tg?Discord?slack?不太清楚可以用科学上网的人的比例;
还是用我自建私用的mattermost?暂时不太想用微信或QQ。。
或者就用github的discussions吧?
from typing import Generic, Iterable, List, Optional, Self, TypeVar, Union, overload
ImportError: cannot import name 'Self' from 'typing'
main.py 画图是对的,但是这个demo里面打印出来的信息是错的,比如浪潮信息,demo里面2022/9/22出了个买点,但是实际并不是,main.py画的图应该是在10月11号。
祝大佬元旦快乐。
根据反馈,当前画图是基于matplotlib的静态图,其实查看和调试都不方便;
调用后看起来可行的是再支持一个基于plotly的画图引擎,画可交互的图。
为了方便体验和调试,不知道有没有前端大佬想一起来开发个页面工具?
后端功能基本是具备的。
大佬,v3开发进度如何了,交易引擎与策略类这两个剥离出来了吗,有打算在v3版本开放交易引擎与策略类这两个模块吗
如题,我想通过这个训练一下准确性
您好,在chan.py\DataAPI\BaoStockAPI.py line 1:
import baostock as bs
会出现标题中的问题。这部分可以共享嘛?
`Traceback (most recent call last):
File "D:\Anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 2963, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "", line 1, in
from Chan import CChan
File "D:\chan.py\Chan.py", line 12, in
from KLine.KLine_List import CKLine_List
File "D:\chan.py\KLine\KLine_List.py", line 5, in
from BuySellPoint.BSPointList import CBSPointList
File "D:\chan.py\BuySellPoint\BSPointList.py", line 8, in
from Seg.SegListComm import CSegListComm
File "D:\chan.py\Seg\SegListComm.py", line 92
if peak_bi := FindPeakBi(bi_lst[last_seg_end_bi.idx+3:], is_high=True):
^
SyntaxError: invalid syntax`
^_^语法错误是我没想到的,哈哈哈哈
rt
1.x_tick_num 没生效
建议:
only_top_lv 改为需要展示的层级,比如我日线,60分钟,30分钟,我只想看30分钟.但是其实60分钟的特殊笔需要根据上一级别或者下一级别来判断.这样我list里面就有数据了.
我学习的缠论需要同时获取上一级别和下一级别的笔和线段线.应该如何改写更加合理
1.本级别和次级别同笔的处理方式 本级别 当笔,次级别 当段
2.本级别不够笔,次级别够线段 本级别 当笔
我看回测案例中 stragety_demo2.py 的模板只有一个区间.如果是多区间
lv_list = [KL_TYPE.K_60M, KL_TYPE.K_15M, KL_TYPE.K_3M]
data_src = stockapi_cls(code, k_type = lv_list, begin_date=begin_time, end_date=end_time, autype=AUTYPE.QFQ)
如果这样写 在进行循环是会报错的 data_src.get_kl_data()
能帮写个例子吗
逐帧动画好像有问题,每帧都是新开一个窗口一闪而过,没有逐帧播放动画
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.