代码

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绘制图表的更多相关文章

  1. BotVS开发基础—2.5 绘制图表

    代码 import time import math def main(): chart = { # 用于初始化 图表的对象 'title': {'text': "line数值触发 plot ...

  2. BotVS开发基础—Python API

    代码 import json def main(): # python API列表 https://www.botvs.com/bbs-topic/443 #状态信息 LogStatus(" ...

  3. BotVS开发基础—2.5 策略交互

    一.代码部分 isOpen = False; # 是否 开仓 price = 0; # 全局变量 价格 amount = 0; # 全局变量 下单量 def exec_command(command) ...

  4. BotVS开发基础—2.1 账户、行情、K线、深度

    代码 import json def main(): Log("账号信息:", exchange.GetAccount()); # Log("K 线数据:", ...

  5. BotVS开发基础—2.7 指标MACD

    代码 def main(): while true: records = _C(exchange.GetRecords); # 获取K线数据 ,默认为策略界面设置的K线周期, _C 是一个容错的内置函 ...

  6. BotVS开发基础—2.7 指标MA

    代码 #计算一小时 MA5均线 # 时间 2017-06-29 00:00:00 -2017-06-30 00:00:00 1小时 实盘级Tick # 平台 OCKCoin BTC def main( ...

  7. BotVS开发基础—2.5 状态信息显示表格

    代码 import json def main(): #part 1 bol = True num = 10; # str = "ABC"; # 字符串 list = [1, 2, ...

  8. BotVS开发基础—2.4 获取订单、取消订单、获取未完成订单

    代码 RetryDelay = 1500; def CancelPendingOrders(exch, orderType): # 取消所有未完成的挂单, 参数1 交易所 参数2 类型 global ...

  9. BotVS开发基础—2.3 下市价单 交易

    代码 def main(): ticker = exchange.GetTicker(); Log("初始账户信息:", exchange.GetAccount()); # 用于对 ...

随机推荐

  1. mysql5.7 date类型无法设置'0000-00-00'默认值

    现象: mysql5.7之后版本datetime默认值设置'0000-00-00',出现异常:Invalid default value for 'create_time' 原因: mysql5.7之 ...

  2. ASP.NET Core 开源论坛项目 NETCoreBBS

    ASP.NET Core 轻量化开源论坛项目,ASP.NET Core Light forum NETCoreBBS 采用 ASP.NET Core + EF Core Sqlite + Bootst ...

  3. 聊天类APP功能测试总结

    做聊天类的APP 测试已经有一段时间了,也许哪天就不做了,趁今天轻松点,记录下来. 聊天类的APP都差不多,不管是微信,还是米聊,还是QQ,如果抓住了共性,测试的点都差不太多. 我用编程的术语来比方功 ...

  4. iOS开发实战-卫P嗯上网项目

    写在前面 最近闲来无事,又跟小伙伴搞起.一.键.上.网.的项目,于是这个项目就来了. 很高兴App 已经过审 有兴趣的可以玩玩牛牛数据

  5. 安装cocoaPods第三方类库

    *1 检测gem 镜像文件     输入指令: gem sources -l     回车后得到镜像地址.可能是一个,也可能有好几个,常见两个如下 https://rubygems.org/     ...

  6. 【nodejs】nodejs 的linux安装(转)

    (一) 编译好的文件 简单说就是解压后,在bin文件夹中已经存在node以及npm,如果你进入到对应文件的中执行命令行一点问题都没有,不过不是全局的,所以将这个设置为全局就好了. ./node -v ...

  7. AngularJS $compile动态生成html

    angular.module('app') .directive('compile', function ($compile) { return function (scope, element, a ...

  8. HTML5使用Canvas来绘制图形

    一.Canvas标签: 1.HTML5<canvas>元素用于图形的绘制,通过脚本(通常是javascript)来完成. 2.<canvas>标签只是图形容器,必须使用脚本来绘 ...

  9. nodeJS之URL

    前面的话 在HTTP部分,详细介绍了URL的相关知识.而nodejs中的url模块提供了一些实用函数,用于URL处理与解析.本文将详细介绍nodeJS中的URL URL对象 解析 URL 对象有以下内 ...

  10. 之前同事问到的一道python题目

    Python面试题 之前同事问了一道Python题目如下,暂时归类为面试题 题目:把类似'123.456'的字符串转换成浮点型数据 方法一: >>> print '{:.3f}'.f ...