BotVS开发基础—2.11 API绘制图表
代码
import time
chart = {
'__isStock': True, # 标记是否为一般图表,有兴趣的可以改成 false 运行看看。
'tooltip': {'xDateFormat': '%Y-%m-%d %H:%M:%S, %A'}, # 缩放工具
'title': {'text': '差价分析图'}, # 标题
'rangeSelector': { # 选择范围
'buttons': [{'type': 'hour', 'count': 1, 'text': '1h'},
{'type': 'hour', 'count': 3, 'text': '3h'},
{'type': 'hour', 'count': 8, 'text': '8h'},
{'type': 'all', 'text': 'All'}],
'selected': 0,
'inputEnabled': False
},
'xAxis': { 'type': 'datetime'}, # 坐标轴横轴 即:x轴, 当前设置的类型是 :时间
'yAxis': { # 坐标轴纵轴 即:y轴, 默认数值随数据大小调整。
'title': {'text': '差价'}, # 标题
'opposite': False, # 是否启用右边纵轴
},
'series' : [ # 数据系列,该属性保存的是 各个 数据系列(线, K线图, 标签等..)
{'name' : "line1", 'id' : "线1, buy1Price", 'data' : []}, # 索引为0, data 数组内存放的是该索引系列的 数据
{'name' : "line2", 'id' : "线2, lastPrice", 'dashStyle' : 'shortdash', 'data' : []}, # 索引为1,设置了dashStyle : 'shortdash' 即:设置 虚线。
]
};
def main():
global chart
ObjChart = Chart(chart); # 调用 Chart 函数,初始化 图表。
ObjChart.reset(); # 清空
while(true):
nowTime = int(round(time.time() * 1000)) # 获取 毫秒 的时间戳 写入X轴。
Log(nowTime)
ticker = _C(exchange.GetTicker); # 获取行情数据
buy1Price = ticker.Buy; # 从行情数据的返回值取得 买一价
lastPrice = ticker.Last + 1; # 取得最后成交价,为了2条线不重合在一起 ,我们加1
ObjChart.add(0, [nowTime, buy1Price]); # 用时间戳作为X值, 买一价 作为Y值 传入 索引0 的数据序列。
ObjChart.add(1, [nowTime, lastPrice]); # 同上。
ObjChart.update(chart); # 更新图表以显示出来。
Sleep(1000 * 60 * 5);
效果

BotVS开发基础—2.11 API绘制图表的更多相关文章
- BotVS开发基础—2.5 绘制图表
代码 import time import math def main(): chart = { # 用于初始化 图表的对象 'title': {'text': "line数值触发 plot ...
- BotVS开发基础—Python API
代码 import json def main(): # python API列表 https://www.botvs.com/bbs-topic/443 #状态信息 LogStatus(" ...
- BotVS开发基础—2.5 策略交互
一.代码部分 isOpen = False; # 是否 开仓 price = 0; # 全局变量 价格 amount = 0; # 全局变量 下单量 def exec_command(command) ...
- BotVS开发基础—2.1 账户、行情、K线、深度
代码 import json def main(): Log("账号信息:", exchange.GetAccount()); # Log("K 线数据:", ...
- BotVS开发基础—2.7 指标MACD
代码 def main(): while true: records = _C(exchange.GetRecords); # 获取K线数据 ,默认为策略界面设置的K线周期, _C 是一个容错的内置函 ...
- BotVS开发基础—2.7 指标MA
代码 #计算一小时 MA5均线 # 时间 2017-06-29 00:00:00 -2017-06-30 00:00:00 1小时 实盘级Tick # 平台 OCKCoin BTC def main( ...
- BotVS开发基础—2.5 状态信息显示表格
代码 import json def main(): #part 1 bol = True num = 10; # str = "ABC"; # 字符串 list = [1, 2, ...
- BotVS开发基础—2.4 获取订单、取消订单、获取未完成订单
代码 RetryDelay = 1500; def CancelPendingOrders(exch, orderType): # 取消所有未完成的挂单, 参数1 交易所 参数2 类型 global ...
- BotVS开发基础—2.3 下市价单 交易
代码 def main(): ticker = exchange.GetTicker(); Log("初始账户信息:", exchange.GetAccount()); # 用于对 ...
随机推荐
- mysql5.7 date类型无法设置'0000-00-00'默认值
现象: mysql5.7之后版本datetime默认值设置'0000-00-00',出现异常:Invalid default value for 'create_time' 原因: mysql5.7之 ...
- ASP.NET Core 开源论坛项目 NETCoreBBS
ASP.NET Core 轻量化开源论坛项目,ASP.NET Core Light forum NETCoreBBS 采用 ASP.NET Core + EF Core Sqlite + Bootst ...
- 聊天类APP功能测试总结
做聊天类的APP 测试已经有一段时间了,也许哪天就不做了,趁今天轻松点,记录下来. 聊天类的APP都差不多,不管是微信,还是米聊,还是QQ,如果抓住了共性,测试的点都差不太多. 我用编程的术语来比方功 ...
- iOS开发实战-卫P嗯上网项目
写在前面 最近闲来无事,又跟小伙伴搞起.一.键.上.网.的项目,于是这个项目就来了. 很高兴App 已经过审 有兴趣的可以玩玩牛牛数据
- 安装cocoaPods第三方类库
*1 检测gem 镜像文件 输入指令: gem sources -l 回车后得到镜像地址.可能是一个,也可能有好几个,常见两个如下 https://rubygems.org/ ...
- 【nodejs】nodejs 的linux安装(转)
(一) 编译好的文件 简单说就是解压后,在bin文件夹中已经存在node以及npm,如果你进入到对应文件的中执行命令行一点问题都没有,不过不是全局的,所以将这个设置为全局就好了. ./node -v ...
- AngularJS $compile动态生成html
angular.module('app') .directive('compile', function ($compile) { return function (scope, element, a ...
- HTML5使用Canvas来绘制图形
一.Canvas标签: 1.HTML5<canvas>元素用于图形的绘制,通过脚本(通常是javascript)来完成. 2.<canvas>标签只是图形容器,必须使用脚本来绘 ...
- nodeJS之URL
前面的话 在HTTP部分,详细介绍了URL的相关知识.而nodejs中的url模块提供了一些实用函数,用于URL处理与解析.本文将详细介绍nodeJS中的URL URL对象 解析 URL 对象有以下内 ...
- 之前同事问到的一道python题目
Python面试题 之前同事问了一道Python题目如下,暂时归类为面试题 题目:把类似'123.456'的字符串转换成浮点型数据 方法一: >>> print '{:.3f}'.f ...