myTT库非常精简,70行核心代码就实现同花顺通达信大部分技术指标公式

先看一个最简单的例子


#数字货币行情获取和指标计算演示
from  hb_hq_api import *         #数字货币行情库
from  MyTT import *              #myTT麦语言工具函数指标库#获取btc.usdt交易对120日的数据
df=get_price('btc.usdt',count=120,frequency='1d');     # ‘4h’是4小时#-----------df结果如下表(股市也基本一样)-------------------------------------------
open close high low vol
2021-05-16 48983.62 47738.24 49800.00 46500.0 1.333333e+09
2021-05-17 47738.24 43342.50 48098.66 42118.0 3.353662e+09
2021-05-18 43342.50 44093.24 45781.52 42106.0 1.793267e+09

#-------有数据了,下面开始正题 -------------
CLOSE=df.close.values;  OPEN=df.open.values
HIGH=df.high.values;    LOW=df.low.values             #基础数据定义MA5=MA(CLOSE,5)                                       #获取5日均线序列
MA10=MA(CLOSE,10)                                     #获取10日均线序列print('BTC5日均线', MA5[-1] )                          # 只取最后一个数
print('BTC10日均线',RET(MA10))                         # RET(MA10) == MA10[-1]
print('今天5日线是否上穿10日线',RET(CROSS(MA5,MA10)))
print('最近5天收盘价全都大于10日线吗?',EVERY(CLOSE>MA10,5) )

MyTT库中的部分工具函数

MA(CLOSE, 5)             # 取得收盘价5日平均线
  • 加权移动平均计算:EMA
EMA(CLOSE, 5)            # 为了精度 ,  EMA至少需要120周期
  • 中国式的SMA计算:SMA
SMA(CLOSE, 5)            # 为了精度 ,  SMA至少需要120周期
  • 返回序列标准差:STD
STD(CLOSE, 5)             # 返回收盘价5日内标准差
  • 平均绝对偏差:AVEDEV
AVEDEV(CLOSE, 5)    # 序列与其平均值的绝对差的平均值
  • 金叉判断:CROSS
CROSS(MA(CLOSE, 5), MA(CLOSE, 10))    # 5日均线上穿10日均线
  • n天内满足条件的天数:COUNT
COUNT(CLOSE > OPEN, 10)           # 最近10天收阳线的天数
  • n天内全部满足条件的天数:EVERY
EVERY(CLOSE >OPEN, 5)           # 最近5天都是收阳线
  • n天内是否至少满足条件一次:EXIST

  • n天内最大值:HHV

HHV(MAX(OPEN, CLOSE), 20)        # 最近20天K线实体的最高价
  • n天内最小值:LLV
LLV(MIN(OPEN, CLOSE), 60)          # 最近60天K线实体的最低价
  • 求和n日数据 SUM
SUM(CLOSE, 10)                            # 求和10天的收盘价
  • 条件 IF
IF(OPEN > CLOSE, OPEN, CLOSE)        #如果 开盘>收盘  返回OPEN ,否则返回CLOSE
def MACD(CLOSE,SHORT=12,LONG=26,M=9):    # EMA的关系,CLOSE取120日,结果能精确到雪球小数点2位DIF = EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);  DEA = EMA(DIF,M);      MACD=(DIF-DEA)*2return RD(DIF),RD(DEA),RD(MACD)
def KDJ(CLOSE,HIGH,LOW, N=9,M1=3,M2=3):   RSV = (CLOSE - LLV(LOW, N)) / (HHV(HIGH, N) - LLV(LOW, N)) * 100K = EMA(RSV, (M1*2-1));    D = EMA(K,(M2*2-1));        J=K*3-D*2return K, D, J
def RSI(CLOSE, N=24):      DIF = CLOSE-REF(CLOSE,1) return RD(SMA(MAX(DIF,0), N) / SMA(ABS(DIF), N) * 100)
def WR(CLOSE, HIGH, LOW, N=10, N1=6):            #W&R 威廉指标WR = (HHV(HIGH, N) - CLOSE) / (HHV(HIGH, N) - LLV(LOW, N)) * 100WR1 = (HHV(HIGH, N1) - CLOSE) / (HHV(HIGH, N1) - LLV(LOW, N1)) * 100return RD(WR), RD(WR1)
def BIAS(CLOSE,L1=6, L2=12, L3=24):  # BIAS乖离率BIAS1 = (CLOSE - MA(CLOSE, L1)) / MA(CLOSE, L1) * 100BIAS2 = (CLOSE - MA(CLOSE, L2)) / MA(CLOSE, L2) * 100BIAS3 = (CLOSE - MA(CLOSE, L3)) / MA(CLOSE, L3) * 100return RD(BIAS1), RD(BIAS2), RD(BIAS3)
def BOLL(CLOSE,N=20, P=2):            #BOLL布林带    MID = MA(CLOSE, N); UPPER = MID + STD(CLOSE, N) * PLOWER = MID - STD(CLOSE, N) * Preturn RD(UPPER), RD(MID), RD(LOWER)
def PSY(CLOSE,N=12, M=6):  PSY=COUNT(CLOSE>REF(CLOSE,1),N)/N*100PSYMA=MA(PSY,M)return RD(PSY),RD(PSYMA)
def CCI(CLOSE,HIGH,LOW,N=14):  TP=(HIGH+LOW+CLOSE)/3return (TP-MA(TP,N))/(0.015*AVEDEV(TP,N))
def ATR(CLOSE,HIGH,LOW, N=20):   #真实波动N日平均值TR = MAX(MAX((HIGH - LOW), ABS(REF(CLOSE, 1) - HIGH)), ABS(REF(CLOSE, 1) - LOW))return MA(TR, N)

因为语法的问题,条件与是& ,条件或是|


# 收盘价在10日均线上 且10日均线在20日均线上
(C > MA(C, 10)) & (MA(C, 10) > MA(C, 20))# 收阳线 或 收盘价大于昨收
(C > O) | (C > REF(C, 1))

BOLL带指标数据获取和做图演示 (上证综指)

up,mid,lower=BOLL(CLOSE)                                        #获取布林带数据 plt.figure(figsize=(15,8))
plt.plot(CLOSE,label='上证');    plt.plot(up,label='up');        #画图显示
plt.plot(mid,label='mid');      plt.plot(lower,label='lower');

项目地址:https://github.com/mpquant/MyTT

同花顺通达信公式指标改写成python实现代码,纯numpy,无循环!相关推荐

  1. 通达信公式改写成python代码的最简实现方式

    MyTT MyTT是您量化工具箱里的瑞士军刀,精炼而高效,它将通达信,同花顺,文华麦语言等指标公式indicators,最简移植到Python中,核心库单个文件,仅百行代码,实现和转换同花顺通达信所有 ...

  2. 70行代码实现同花顺,通达信,麦语言大部分技术指标公式

    MyTT是什么? MyTT将通达信,同花顺,文华麦语言等指标公式indicators,最简移植到Python中,核心库单个文件,仅百行代码,实现所有常见指标MACD,RSI,BOLL,ATR,KDJ, ...

  3. 通达信版弘历软件指标_中线公式指标(副图 通达信 贴图)明确文字提示,辅助判断中线走势下载_通达信公式...

    中线公式指标(副图 通达信 贴图)明确文字提示,辅助判断中线走势下载详细说明 第一股票公式网()告诉您:当前正要下载:中线公式指标(副图 通达信 贴图)明确文字提示,辅助判断中线走势下载 中线公式指标 ...

  4. 通达信 python插件选股_自己做量化交易软件(20)通达信公式选股程序的实现

    自己做量化交易软件(20)通达信公式选股程序的实现 1.用小白2很好实现.首先获取板块中股票,存放在列表中.例如获取"上证50" import HP_tdx as htdx fro ...

  5. 自己做量化交易软件(19)通达信公式转Python代码的程序

    ** 自己做量化交易软件(19)通达信公式转Python代码 ** 小白量化平台框架是本地化量化平台,用户的策略在用户自己电脑中执行,操作习惯仿股票软件,指标算法支持类通达信指标,回测也支持通达信大智 ...

  6. 通达信波段王指标公式主图_通达信精选指标——组合波段王果断买入井喷金叉突破均线流公式...

    通达信精选指标--组合波段王果断买入井喷金叉突破均线流公式 Var59:=1/WINNER(CLOSE); Var33:=MA(CLOSE,13); Var34:=100-ABS((CLOSE-Var ...

  7. 通达信BS指标公式,使用SLOPE斜率函数

    本文介绍了通达信SLOPE斜率函数的详细计算方法,并结合通达信BS指标公式学习了解SLOPE斜率函数的使用方法. 通达信有两个斜率相关的函数,ATAN和SLOPE.ATAN计算反正切值,SLOPE计算 ...

  8. 通达信SSL指标公式

    以下是通达信SSL指标公式源码和使用说明 使用说明如下: 识别支撑位和阻力位:通过绘制SSL指标的结果,可以直观地观察到价格相对稳定的水平.支撑位通常表明价格有可能反弹,而阻力位则表明价格有可能下跌. ...

  9. bs公式matlab画图,简单BS主图指标 通达信公式(附图)

    JJ:=(CLOSE+HIGH+LOW)/3; E:=EMA(JJ,5); D:=REF(E,1); AA1:=AMOUNT/V; BB1:=L CC1:=(C-REF(C,1))/REF(C,1)* ...

  10. 自己做量化交易软件(34)小白量化实战7--投资理念与通达信公式回测(2)

    自己做量化交易软件(34)小白量化实战7–投资理念与通达信公式回测(2) 投资通俗地讲就是"财富变压器".投资是使资本和财富生长的源泉.没有证券市场和期货市场时投资者当投出一元钱时 ...

最新文章

  1. xpath技术解析xml以及案例模拟用户登录效果
  2. golang 代码安全审计
  3. C语言中的extern关键字用法
  4. 【Android 插件化】Hook 插件化框架总结 ( 插件包管理 | Hook Activity 启动流程 | Hook 插件包资源加载 ) ★★★
  5. ASP.NET Core 新核心对象WebHost(一)
  6. c语言编辑的库存管理软件,C语言课程设计,商品库存管理系统怎么做啊?
  7. python 示例_带有示例的Python列表copy()方法
  8. Spring为啥默认把bean设计成单例的
  9. NSAttributedString
  10. 转发给上海的朋友们!程序员写了一款抢菜插件!这个抢菜插件让上海很多朋友成功抢了一个月的菜!感谢!...
  11. OpenCV 直方图基础
  12. Windows程式开发设计指南--开始
  13. ARM指令集 mov指令,ldr=伪指令,地址访问指令ldr,str,位运算指令and,orr,eor,bic,逻辑位移指令lsl,lsr
  14. Intel Barefoot Academy - P4实战特训营
  15. Filtered off site request to
  16. 无人机动力测试台:150kg级-Flight Stand 150
  17. 中国企业说专列国庆开行 北京地铁一号线披上中国红迎国庆
  18. 18年华为没有一项原创的发明
  19. 前端 数组转字符串,字符串转数组
  20. matplotlib.pyplot超详细入门总结

热门文章

  1. BIGEMAP如何将高程数据(等高线)转换成xi'an80或者beijing54坐标系
  2. RFSoC应用笔记 - RF数据转换器 -15- API使用指南之Libmetal与结构体说明
  3. stc c语言子程序库,STC15 系列宏晶单片机的样例程序 - 下载 - 搜珍网
  4. 电脑打印机都正常,打印机无法打印
  5. python语法错误怎么办_Python中出现语法错误时解决方法
  6. 良品铺子的2021:营收创新高后的“战术调整”
  7. EBT 道客巴巴的加密与破解 - 实用组合工具箱
  8. 华丽的Flutter的demo----新闻阅读+音乐+短视频+小说
  9. 时延估计器的蒙特卡洛仿真分析
  10. 移动端浏览器识别PHP,PHP判断访客是否移动端浏览器访问