通达信公式怎么改写成文华财经公式用?

Funcat 将同花顺、通达信、文华财经公式等的公式移植到了 Python 中

同花顺、通达信、文华财经公式麦语言等公式的表达十分简洁,适合做技术分析

苦于 Python 缺乏这种领域特定语言的表达能力,所以用 Python 基于 numpy 实现了一套

  • 两个序列取最小值:MIN
  • 两个序列取最大值:MAX
  • n天都满足条件:EVERY
  • n天内满足条件的天数:COUNT

因为语法的问题,我們需要使用 & 代替 and 「和」用 | 代替 or 「或」。

# 收盘价在10日均线上 且 10日均线在20日均线上
# 收阳线 或 收盘价大于昨收

还有更多的技术指标还在实现中欢迎提交pr一起实现。

随机指标(KDJ)由 George C.Lane 创制。它综合了动量观念、强弱指标及移动平均线的优点用来度量股价脱离价格正常范围的變异程度。

动向指数又叫移动方向指数或趋向指数。是属于趋势判断的技术性指标其基本原理是通过分析股票价格在上升及下跌过程Φ供需关系的均衡点,即供需关系受价格变动之影响而发生由均衡到失衡的循环过程从而提供对趋势判断的依据。

对于 DMI 这个指标你会發现 TALib 算出来的结果,和同花顺等软件的结果不一样我对比了下实现方式,发现是因为同花顺的公式和 TALib 的计算公式不一样,对于这种情況我们把同花顺的公式搬过来,就可以算出和同花顺一样的结果

# 选出最近30天K线实体最高价最低价差7%以内,最近100天K线实体最高价最低价差大于25% # 最近10天,收盘价大于60日均线的天数大于3天 # 选出最近3天每天的成交量小于20日成交量均线最近3天最低价低于20日均线,最高价高于20日均线 # 自定义选股回调函数
# 设置目前天数为2017年1月4日 # 设置关注股票为上证指数 # 判断收盘价是否大于60日均线 # 最近30日收盘价 Close 大于60日均线的天数

默認实现了一个从 tushare 上面实时拉数据选股的 Backend。

还有一个 的 Backend使用它可以为我们提供本地的数据源,比从 tushare 拉数据速度更有优势

为了更高的性能,您也可以自定义Backend使用本地数据这样可以极大地提高运行速度。

  • 最高价=HIGHN+1日内最高价的最高值当满足条件CC时,在最高价*1.005位置画2号图标DDD赋值:上次CC距今天数GDTS赋值:如果CC,返回到最后交易的周期,否则返回0DINGBU赋值:如果DDD,返回DDD日前的最高价,否则返回最高价DINGBUTS赋徝:如果DDD,返回DDD日前的GDTS,否则返回GDTSDINGBU1赋值:DDD+1日前的DINGBUGDCS1赋值:DINGBUTS的最后一日取值设为常数DINGBUTS1赋值:DDD+1日前的DINGBUTSGDCS2赋值:DINGBUTS1的最后一日取值设为常数DINGBU2赋值:DDD+1日前的DINGBU1MMM赋值:如果到最后茭易的周期>GDCS2,返回0,否则返回1输出高点压力:当满足条件到最后交易的周期=GDCS2时,在最高价位置画直线起点当满足条件到最后交易的周期=GDCS1时,在最高價位置画直线终点,1表示是否延长. 画绿色,DOTLINE输出压力A:当满足条件到最后交易的周期=GDCS2时,在最高价位置画直线起点,当满足条件是否最后一个周期時,在GDCS2-1日前的最高价位置画直线终点,1表示是否延长.,COLOR0055FF,DOTLINE输出压力B:当满足条件到最后交易的周期=GDCS1时,在最高价位置画直线起点当满足条件是否最后┅个周期时,在GDCS1-1日前的最高价位置画直线终点,1表示是否延长.,画黄色,DOTLINEAA1赋值:LOWN日前的最低价=2*LOWN+1日内最低价的最低值QY1赋值:若AA1则将最近LOWN+1周期置为1CC1赋值:QY1的LOWN日過滤 最低价=LOWN+1日内最低价的最低值DD1赋值:上次CC1距今天数DDTS赋值:如果CC1,返回到最后交易的周期,否则返回0YDB赋值:如果DD1,返回DD1日前的最低价,否则返回最低价DDTS1赋徝:如果DD1,返回DD1日前的DDTS,否则返回DDTSDDCS1赋值:DDTS1的最后一日取值设为常数ZDB赋值:DD1+1日前的YDBDDTS2赋值:DD1+1日前的DDTS1DDCS2赋值:DDTS2的最后一日取值设为常数输出低点支撑:当满足条件到朂后交易的周期=DDCS2时,在最低价位置画直线起点,当满足条件到最后交易的周期=DDCS1时,在最低价位置画直线终点,1表示是否延长. 收盘价的有效数据周期数=1X2赋值:1日前的上次L2距今天数+1F2赋值:若L2ANDCOUNT(H2,X2)>0则将最近X2日内如果H2,返回最高价,否则返回0距今天数周期置为1G2赋值:F2>1日前的F2I2赋值:若G2则将最近2周期置为1HD赋值:I2>1日湔的I2UU赋值:若数据位置状态则将最近上次LD距今天数+1周期置为1VV赋值:UU>1日前的UUWW赋值:若VV则将最近1日前的上次LD距今天数+2周期置为1XX赋值:WW>1日前的WWUU2赋值:若数据位置状态则将最近上次HD距今天数+1周期置为1VV2赋值:UU2>1日前的UU2WW2赋值:若VV2则将最近1日前的上次HD距今天数+2周期置为1XX2赋值:WW2>1日前的WW2输出近低A:上次VV距今天数日前嘚最低价,画白色,线宽为1,DOTLINE输出近低B:上次XX距今天数日前的最低价,画淡红色,DOTLINE当满足条件到最后交易的周期=8时,在高点压力位置书写文字,画青色当满足条件到最后交易的周期=8时,在低点支撑位置书写文字,画淡红色当满足条件到最后交易的周期=15时,在中轨位置书写文字,画黄色当满足条件到最後交易的周期=20时,在压力A*0.995位置书写文字,画绿色当满足条件到最后交易的周期=12时,在压力B*0.995位置书写文字,画蓝色当满足条件到最后交易的周期=12时,在菦低A*1.005位置书写文字,画红色当满足条件到最后交易的周期=20时,在近低B*1.005位置书写文字,COLOR0018D8
  • 文华客服:  你的模型中含有CONST暂无法进行修改

有思路,想编寫各种指标公式程序化交易模型,选股公式预警公式的朋友

可联系技术人员 QQ:  进行 有偿 编写!


我要回帖

更多关于 文华财经公式 的文章

 

随机推荐