在python中调用番茄缠论插件,可以给量化策略开发提供无限的可能。在python中调用dll有很多种方法,番茄缠论插件采用了比较原生的一种,使用cython把C++代码编译成python的包,python版本的底层使用的是同一套C++代码,同样的算法不同的封装而已,所以完全继承了C++插件的高效率计算。
python版本的文件列表,分别是不同python版本的wheel文件和一个demo文件:
dist/fqchan04-0.2.3-cp39-cp39-win_amd64.whl
dist/fqchan04-0.2.3-cp310-cp310-win_amd64.whl
dist/fqchan04-0.2.3-cp311-cp311-win_amd64.whl
dist/fqchan04-0.2.3-cp312-cp312-win_amd64.whl
demo.py
下面用python3.9举例,不同python版本使用不同的安装文件(wheel)。
pip install dist/fqchan04-0.2.3-cp39-cp39-win_amd64.whl
pip install akshare
python demo.py
下面就说明一下python版本目前所有暴露的接口。
函数说明
dist目录中是编译好的针对不同python版本的wheel文件,比如python3.9的话,运行python install fqchan04-0.2.3-cp39-cp39-win_amd64.whl进行安装。
其它python版本雷同。
demo.py是一个示例程序。
数据结构说明
# Bar表示原始的K柱
Class Bar:
pos: int # Bar所在的索引号
high: float # Bar的最高价
low: float # Bar的最低价
# StdBar表示合并后的K柱
Class StdBar:
pos: int # StdBar所在的索引号
start: int # 合并K柱在原始K柱中的开始索引号
end: int # 合并K柱在原始K柱的结束索引号
high_vertex: int # 最高点在的原始K柱索引号
low_vertex: int # 最低点在的原始K柱索引号
high: float # 合并后的high
low: float # 合并后的low
high_high: float # 原始K柱的最高价
low_low: floatv # 原始K柱的最低价
direction: float # K柱方向
factor: float # -1=底分型的底,1=顶分型顶,0=不是分型
factor_high: float # 分型区间高
factor_low: float # 分型区间低
factor_strong: float # 是否强分型
# Pivot表示中枢
Class Pivot
start: int # 中枢在原始K柱中的开始索引
end: int # 中枢在原始K柱中的结束索引
zg: float # 中枢高点价格
zd: float # 中枢低点价格
gg: float # 中枢最高点价格
dd: float # 中枢最低点价格
direction: float # 中枢方向
confirmed: bool # 是否确认中枢
# ChanOptions参数选项
Class ChanOptions
bi_mode: int # 笔模式: 4=最少满足4个K的笔,5=最少满足5个K的笔,6=大笔
bi_force_wave_stick_count: int # N等于14的时候,不强制成笔,N大于等于15的时候,N根K后必须要强制成笔,笔端点在最高最低点
接口方法说明
fq_recognise_bars
1. 入参是列表的元素个数,最高价的列表,最低价的列表
2. 出参是列表,每个元素是Bar
fq_recognise_bars(length: int, high: List[float], low: List[float]) -> List[Bar]
fq_recognise_std_bars
1. 入参是列表的元素个数,最高价的列表,最低价的列表
2. 出参是列表,每个元素是StdBar
fq_recognise_std_bars(length: int, high: List[float], low: List[float]) -> List[StdBar]
fq_recognise_swing
1. 入参是列表的元素个数,最高价的列表,最低价的列表
2. 出参是SW信号列表,每个元素是-1,0,1三种,表示是否是swing的低或者高
fq_recognise_swing(length: int, high: List[float], low: List[float]) -> List[float]
fq_recognise_bi
1. 入参是列表的元素个数,最高价的列表,最低价的列表,和笔的参数选项
2. 出参是笔信号列表,每个元素是-1,0,1三种,表示是否是bi的低或高
fq_recognise_bi(length: int, high: List[float], low: List[float], chan_options ChanOptions) -> List[float]
fq_recognise_duan
1. 入参是列表的元素个数,笔信号的列表,最高价的列表,最低价的列表
2. 出参是段信号列表,每个元素是-1,0,1三种,表示是否是段的低或者高
fq_recognise_duan(length: int, bi: List[float], high: List[float], low: List[float]) -> List[float]
fq_recognise_pivots
1. 入参是列表的元素个数,笔信号列表,段参数列表,最高价的列表,最低价的列表
2. 出参是中枢列表,每个元素是Pivot
fq_recognise_pivots(length: int, duan: List[float], bi: List[float], high: List[float], low: List[float]) -> List[Pivot]
完成的最近5个开发任务
- 番茄缠论插件:说明在python中的调用方法
安排的最近5个开发任务
- 番茄缠论插件:实现走势类型(f2)划分
- 番茄缠论插件:优化起始K线方向定义
- 番茄缠论插件:发布第一个选股模型
- 番茄量化系统:把第一个选股模型集成到系统中
- 番茄量化系统:完成第一个回测方案
如何获取
番茄缠论插件的python版本只分享给星球和纷传上的居民,可以在公众号查看加入知识星球或者纷传的方法。现有居民可以耐心等待我的邮件推送。
野生量化分享哪些工具
- 番茄缠论插件公众版,提供基本的股软上的缠论画线画段画中枢公式,是DLL公式,目前支持通达信交易师大智慧金字塔,门票是每次更新的时候,在公众号上的任意赞赏获得当次更新,每次发布的DLL的有效期都是一年。
- 番茄缠论插件应用版,所谓应用版就是在基础版本上开发一些选股和策略信号的版本,比如python版本就是其中之一,使其在python中调用就可以有更大的发挥空间,当然以后开发的选股公式也会支持在股软上使用,这个也是刚刚开始推进,目前也还没有什么太多成果,门票是加入星球或者纷传。
- 番茄量化系统,可以完全私有化部署的完整的量化交易系统,含数据分析和自动交易,此系统中包含了作者所有的开发的源码,作者自己已实盘运行1年+,门票只能单独问作者了。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/107588
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!