**前言: 本文使用的是1.10版本 , 可通过TradingView.version()查看当前版本.
附上开发文档地址:https://zlq4863947.gitbooks.i...**

一、修改datafeed.js为export导出,并在vue文件引入TradingView内部代码charting_library.min.js和datafeed.js.

前端开发者常用的 9 个 JavaScript 图表库

datafeed.js

// 导出核心函数,提供vue组件调用初始化k线图
export default {
UDFCompatibleDatafeed: Datafeeds.UDFCompatibleDatafeed,
}

vue 组件

// 这是我的路径,请根据自己的路径去配置
import "../../../static/charting_library/charting_library.min.js";
import Datafeeds from "../../../static/charting_library/datafeed/udf/datafeed.js";

二、初始化k线图函数

data(){
return{
widget: null,
}
}
,
methods:{
createWidget() {
var _this = this;
this.$nextTick(function() {
let widget = new TradingView.widget({
symbol: 'BTC-USDT',//商品名称
interval: "15",//默认显示时间分辨率15分钟
container_id: "tv_chart_container",//k线div容器id
//调用datafeed初始化函数
datafeed: new Datafeeds.UDFCompatibleDatafeed(
'https://demo_feed.tradingview.com',//后台地址
10000, //轮询时间(毫秒)
),
library_path: "/static/charting_library/", //static文件夹的路径
locale: 'zh', //语言
fullscreen: true, //显示图表是否占用窗口中所有可用的空间
//禁用图表某个功能,参考:https://tradingview.gitee.io/featuresets/
disabled_features: [
"use_localstorage_for_settings",
"left_toolbar", //隐藏左边工具栏
"header_saveload",
"header_symbol_search", //隐藏搜索框
"header_interval_dialog_button", //隐藏设置周期按钮
"timeframes_toolbar", //隐藏底部刻度栏
"header_chart_type", //隐藏k线样式选择
// "header_indicators", //隐藏指标按钮
"header_fullscreen_button",
"header_undo_redo", //隐藏撤销重做按钮
"header_compare", //隐藏比较/增加商品按钮
"header_screenshot", //隐藏截屏按钮
"header_resolutions",
"edit_buttons_in_legend",
"pane_context_menu",
"legend_context_menu",
"adaptive_logo",
"display_market_status",
"volume_force_overlay"
],
//启用图表某个功能
enabled_features: ["study_templates", "move_logo_to_main_pane"],
charts_storage_url: "https://saveload.tradingview.com",
charts_storage_api_version: "1.1",//版本
timezone: "Asia/Shanghai",//时区
user_id: "public_user_id",
});
_this.widget = widget; //保存图表对象
});
},
// 更新图表
updateWidget(item) {
this.removeWidget();
this.createWidget();
},
//销毁图表
removeWidget() {
if (this.widget) {
this.widget = null;
}
},
destroyed() {
this.removeWidget();
}
},
mounted(){
this.$nextTick(()=>{
this.updateWidget();
}) }

三、Datafeed.js简单介绍

普遍主要通过修改这几个函数实现预期效果

  • Datafeeds.UDFCompatibleDatafeed.prototype.resolveSymbol - 配置商品信息结构 (文档:https://zlq4863947.gitbooks.i...
  • Datafeeds.UDFCompatibleDatafeed.prototype.getBars - 通过日期范围获取历史K线数据。图表库希望通过onHistoryCallback仅一次调用,接收所有的请求历史。而不是被多次调用。
  • Datafeeds.DataPulseUpdater - 更新后台返回k线最新的数据

emmm: 网上比较少关于TradingView引入Vue的文章,小弟不才,粗略的分享一下我的实现方法.

原文地址:https://segmentfault.com/a/1190000016879057

Vue中引入TradingView制作K线图的更多相关文章

  1. vue使用tradingview开发K线图相关问题

    vue使用tradingview开发K线图相关问题 1.TradingView中文开发文档https://b.aitrade.ga/books/tradingview/CHANGE-LOG.html2 ...

  2. 【React】react项目引入echarts插件 K线图

    参考npm文档:https://www.npmjs.com/package/echarts-for-react 由于npm上已经有针对react项目出的echarts插件,所以在这里直接安装 第一步: ...

  3. WPF中使用amCharts绘制股票K线图

    原文:WPF中使用amCharts绘制股票K线图 本想自己用GDI绘图, 通过数据直接绘制一张蜡柱图, 但觉得这样子的功能比较少, 所以到网上搜索一些能画出K线图的控件. 发现DynamicDataD ...

  4. vue 中 使用 tradingview

    加载页面时初始化方法: mounted 可以在 mounted 方法中调用 methods 的中的方法 使用 data 中的数据时,在每个方法的开始推荐先定义 var that = this 现在还不 ...

  5. K线图学习

    本博文(适合入门的股民朋友)内容来自网络,股市有风险,入市需谨慎 一.起源 K线图(Candlestick Charts)又称蜡烛图.日本线.阴阳线.棒线等,常用说法是“K线”,起源于日本十八世纪德川 ...

  6. canvas绘图,html5 k线图,股票行情图

    canvas绘图,html5 k线图,股票行情图 canvas跟其他标签一样,也可以通过css来定义样式.但这里需要注意的是:canvas的默认宽高为300px * 150px,在css中为canva ...

  7. 使用ECharts画K线图

    需引入echarts.js插件,开发环境建议选择源代码版本,该版本包含了常见的警告和错误提示.下载地址 http://echarts.baidu.com/download.html 下面是代码,注释很 ...

  8. 百度 echarts K线图使用

    看个效果图先 首先在需要插入图例的HTML中嵌入 <div id="main" style="height:400px"></div> ...

  9. highstock K线图 深入研究

    K线图,相信每个股民都不陌生,如何用SVG画好一个K线图是一个难题. 我选择用highstock做为画图组件,适当的修改了一下源码,参考了数个财经网站的案例,完成了一个不太成熟的K线图,欢迎大家批评指 ...

随机推荐

  1. 数据结构之Hyperloglog

    前置知识 调和平均数 通常我们求一堆数的平均数 就是把一堆数加起来除以这堆数的数量,如 x1, x2, x3, x4, .... ,xn的平均数 H = (x1 + x2 + x3 + x4 + xn ...

  2. Java基础:(一)数据类型

    一.包装类型 基本类型都有对应的包装类型,基本类型与其对应的包装类型之间的赋值使用自动装箱与拆箱完成. 八个基本类型:boolean/1:byte/8:char/16:short/16:int/32: ...

  3. Java基本语法和变量

    1基本语法 1.1 标识符.关键字 在程序中用于定义名称的都为标识符,如文件名称.类名称.方法名称或变量名称等. 在Java中标识符的定义格式由字母.数字._(下划线),$所组成,不能以数字开头, 不 ...

  4. 关于window.event.returnValue=false的用处

    window.event.returnValue=false放在提交表单中的onclick事件中则不会提交表单,如果放到超链接中则不执行超链接,也就是它禁止了或取消了请求,没有任何效果. 比如: if ...

  5. 模态框的理解 ,jQ: loading,进度条, 省级联动 表单验证 插件

    模态框: 打开一个弹框 不关闭它就不能做框外的操作 必须关闭或弹出另外的弹框 加载延迟loading + 进度条只要有请求 就处理一下监控ajax 全局事件jquery: $('#box').ajax ...

  6. ABAP EXCEPTION

    CX_ROOT | |--CX_STATIC_CHECK | |--CX_DYNAMIC_CHECK | | | |--CX_SY_ARITHMETIC_ERROR //运算 '&OPERAT ...

  7. ABAP系统字段

    SY是一个全局的结构体变量,在词典中已定义过.输入SE11到ABAP字典中. 输入SYST点击显示 附录D 系统字段功能列表 字段名 类型 长度 应用目的 说明 ABCDE CHAR 26 常量 字母 ...

  8. PHP实现正态分布的累积概率函数

    在实际项目中,遇到需要正态分布算法去计算一个数值在整体的分布区间,例如:  100,90,80,70,60,50,40,30,20,10共10个数,按从高到低的顺序排序,总数的10%分布区域为极高频, ...

  9. SharePoint 2016 功能比较

    SharePoint 2016中有很多功能.我们经常和客户谈论SharePoint安装时,我问他们是否计划安装SharePoint Server 2016 Standard或Enterprise.通常 ...

  10. Python3中requests库学习01(常见请求示例)

    1.请求携带参数的方式1.带数据的post data=字典对象2.带header的post headers=字典对象3.带json的post json=json对象4.带参数的post params= ...