当前位置: 首页 > news >正文

章丘公司做网站出格做网站

章丘公司做网站,出格做网站,wordpress后台没有小工具,wordpress 根据id获取文章在上一章中介绍了如何通过实时行情推送的Tick数据合成1分钟K线#xff0c;并且如何通过1分钟K线来合成更大周期的K线。本章主要介绍如何将K线通过numpy缓存到Array#xff0c;形成时间序列#xff0c;并且同时生成一些技术指标。 首先 导入包 talib主要用于计算各种技术分析…在上一章中介绍了如何通过实时行情推送的Tick数据合成1分钟K线并且如何通过1分钟K线来合成更大周期的K线。本章主要介绍如何将K线通过numpy缓存到Array形成时间序列并且同时生成一些技术指标。 首先 导入包 talib主要用于计算各种技术分析指标若要看它如何计算指标只有打开WingIDE中Python Shell用help功能就可以了。 想拓展的朋友可以看看这里talib金融库怎么用 import numpy as np import talib from vnpy.trader.vtConstant import * from vnpy.trader.app.ctaStrategy.ctaBase import * 定义类ArrayManager 其作用是对K线时间序列的维护以及计算常用的技术指标 2.1 初始化参数 其中默认缓存size为100。开始初始化缓存计数缓存大小100初始化状态为FalseFalse表示缓存计数缓存size。创建numpy的Array开盘价最高价最低价收盘价和成交量都是由一系列默认为100为0的数组构成。 class ArrayManager(object):K线序列管理工具负责 1. K线时间序列的维护 2. 常用技术指标的计算#2.1---------------------------------------------------------------------- def __init__(self, size100): Constructor self.count 0 # 缓存计数 self.size size # 缓存大小 self.inited False # True if countsize self.openArray np.zeros(size) # OHLC self.highArray np.zeros(size) self.lowArray np.zeros(size) self.closeArray np.zeros(size) self.volumeArray np.zeros(size) 2.2 定义K线更新函数updateBar 注意区分与BarGenerator的updateBar函数区别。BarGenerater是K线的生成器是ArrayManager 即 K线管理器的基础。 当第1根K线缓存下来就开始跑下面的逻辑判断了 if not self.inited and self.count self.size: 判断的格式为‘非a为真 且b为真’在这里aself.initedFalse, 非aTrue所以逻辑判断简化为当count100为真时初始化状态变成True 第1根K线 countcount0111100为False在100列所有为0的数组全部前移1位插入最新的openhighclose和volume。此时有99列为0的数组 第2根K线 countcount1122100为False在100列数组全部前移1位插入最新的openhighclose和volume。此时有98列为0的数组 。。。。。。 第99根K线 countcount9819999100为False在100列数组全部前移1位插入最新的openhighclose和volume。此时有1列为0的数组 第100根K线 countcount991100100100为True立刻更新self.inited为True通知交易系统界面初始化成功。同时在100列数组全部前移1位插入最新的openhighclose和volume。此时100列数组全部缓存了K线数据。 #2.2---------------------------------------------------------------------- def updateBar(self, bar): 更新K线 self.count 1 if not self.inited and self.count self.size: self.inited True self.openArray[0:self.size-1] self.openArray[1:self.size] self.highArray[0:self.size-1] self.highArray[1:self.size] self.lowArray[0:self.size-1] self.lowArray[1:self.size] self.closeArray[0:self.size-1] self.closeArray[1:self.size] self.volumeArray[0:self.size-1] self.volumeArray[1:self.size] self.openArray[-1] bar.open self.highArray[-1] bar.high self.lowArray[-1] bar.low self.closeArray[-1] bar.close self.volumeArray[-1] bar.volume 2.3 定义属性函数 ‘ property’可以将python定义的函数“当做”属性访问从而提供更加友好访问方式。将包含100个K线数据的开盘价最高价最低价收盘价和成交量的方法变成类的属性使他们跟容易访问和在需要的时候调用 #2.3---------------------------------------------------------------------- property def open(self): 获取开盘价序列 return self.openArray #---------------------------------------------------------------------- property def high(self): 获取最高价序列 return self.highArray #---------------------------------------------------------------------- property def low(self): 获取最低价序列 return self.lowArray #---------------------------------------------------------------------- property def close(self): 获取收盘价序列 return self.closeArray #---------------------------------------------------------------------- property def volume(self): 获取成交量序列 return self.volumeArray 2.4 常用技术指标的计算 现在要用talib库来计算各种技术指标。 talib的简称是Technical Analysis Library主要功能是计算股价的技术分析指标。作为一套被业界广泛应用的开源技术分析库包含技术指标计算和K线模式识别等TA-Lib自2001年发布以来已经有了十多年的历史。TA-Lib中一共包含大约125个技术指标的计算函数同时提供了包括C/C、Java、Perl、Python等多种语言的API。 talib使用起来非常方便只要输入参数就能得到其技术指标的数值了。为了方便演示需要打开WingIDE的python Shell界面 例子1均线计算 简单移动平均线Simple Moving AverageSMA又称“算术移动平均线”是指对特定期间的收盘价进行简单平均化的意思。一般所提及之移动平均线即指简单移动平均线(SMA)。 简单移动平均线沿用最简单的统计学方式将过去某特定时间内的价格取其平均值。简单移动平均线计算方法如同其名——简单。它只是将每日得到的平均值连成一线并随时间移动每一支烛因而得到相同的数值。 在python Shell中输入然后回车 import talib help(talib.SMA) 在talib中均线函数SMA入参2个一个是收盘价第二个是计算均线的周期默认周期是30出参是计算出来的均值 定义函数sma注意这里函数名称是小写Python大小写区分入参是周期数n和array默认值为False。调用talib的SMA函数计算均线。若array为默认值即False则只计算最新一条均线的数值否则若arrayTrue计算出所有均线数值。 def sma(self, n, arrayFalse): 简单均线 result talib.SMA(self.close, n) if array: return result return result[-1] 例子2 RSI计算 RSI指标(Relative Strength Index) 是由韦尔斯.怀尔德(Welles Wilder)提出的是衡量证券自身内在相对强度的指标。它是根据一定时期内上涨和下跌幅度之和的比率制作出的一种技术曲线。能够反映出市场在一定时期内的景气程度。 同理在Python Shell中输入 help(talib.RSI) 回车 在talib中RSI函数入参2个一个是收盘价第二个是统计周期默认周期是14出参是RSI值 定义函数rsi入参是周期数n和array默认值为False。调用talib的RSI函数计算均线。若array为默认值即False则只计算最新的RSI值否则若arrayTrue计算出所有RSI值。 def rsi(self, n, arrayFalse): RSI指标 result talib.RSI(self.close, n) if array: return result return result[-1] 在talib中包含了很多新奇的技术指标有兴趣的小伙伴们可以自行添加噢 ≧▽≦y (/≧▽≦/) (≧▽≦) #2.4---------------------------------------------------------------------- def sma(self, n, arrayFalse): 简单均线 result talib.SMA(self.close, n) if array: return result return result[-1] #---------------------------------------------------------------------- def std(self, n, arrayFalse): 标准差 result talib.STDDEV(self.close, n) if array: return result return result[-1] #---------------------------------------------------------------------- def cci(self, n, arrayFalse): CCI指标 result talib.CCI(self.high, self.low, self.close, n) if array: return result return result[-1] #---------------------------------------------------------------------- def atr(self, n, arrayFalse): ATR指标 result talib.ATR(self.high, self.low, self.close, n) if array: return result return result[-1] #---------------------------------------------------------------------- def rsi(self, n, arrayFalse): RSI指标 result talib.RSI(self.close, n) if array: return result return result[-1] #---------------------------------------------------------------------- def macd(self, fastPeriod, slowPeriod, signalPeriod, arrayFalse): MACD指标 macd, signal, hist talib.MACD(self.close, fastPeriod, slowPeriod, signalPeriod) if array: return macd, signal, hist return macd[-1], signal[-1], hist[-1] #---------------------------------------------------------------------- def adx(self, n, arrayFalse): ADX指标 result talib.ADX(self.high, self.low, self.close, n) if array: return result return result[-1] #---------------------------------------------------------------------- def boll(self, n, dev, arrayFalse): 布林通道 mid self.sma(n, array) std self.std(n, array) up mid std * dev down mid - std * dev return up, down #---------------------------------------------------------------------- def keltner(self, n, dev, arrayFalse): 肯特纳通道 mid self.sma(n, array) atr self.atr(n, array) up mid atr * dev down mid - atr * dev return up, down #---------------------------------------------------------------------- def donchian(self, n, arrayFalse): 唐奇安通道 up talib.MAX(self.high, n) down talib.MIN(self.low, n) if array: return up, down return up[-1], down[-1]
http://www.pierceye.com/news/687777/

相关文章:

  • 站长平台怎么添加网站网站中文名注册
  • 唐四薪php网站开发答案想制作一个网站要多少钱
  • ppt网站建设答案东台网页定制
  • 做网站 侵权如何制作手机版网站
  • 代发网站建设app网站软件
  • 家居企业网站建设如何国家企业信息公示系统全国
  • 网站平台如何推广wordpress登录页面显示ip
  • 如何做网站百度排名优化推广的目的是什么
  • 重庆忠县网站建设公司哪家专业芷江建设局的工作人员网站
  • 戴尔电脑网站建设方案范文室内设计方案图
  • 餐厅网站建设策划方案网站建设存在的具体问题
  • 竞价页面网站做优化广告商对接平台
  • 网站后台如何修改密码wordpress调整页面布局
  • 东莞热点网站建设莱州人才网
  • 线上渠道推广网站的优化哪个好
  • 群晖可以做网站服务器微信朋友圈怎么发链接那种网页怎么制作
  • wordpress 公司网站网站和公众号的区别
  • 数据库跟网站seo流程
  • 网站首页关键词设置网站的整体风格
  • wordpress源码站整站源码制作wordpress插件
  • 海口网站建设就q479185700上墙网站空间后台怎么进入
  • 四川电子有限公司 - 手机网站如何做网站家具导购
  • 网站经营性备案修改wordpress自带小工具
  • 网站怎么建设可以发图评论网站建设制作公
  • 做销售的网站设计公司是做什么的
  • 建设专业网站的利弊海淀区seo招聘信息
  • 吴江区住房与建设局网站网站开发怎么对接客户
  • frontpage2007网站建设网站开发需要redis
  • 国内做网站多少钱ui中有哪些做的好看的网站
  • 金湖建设工程质量监督网站网页设计 网站建设 哪个好