博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue使用tradingview开发K线图相关问题
阅读量:5159 次
发布时间:2019-06-13

本文共 3226 字,大约阅读时间需要 10 分钟。

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

1.TradingView中文开发文档

2.vue开源项目:

3.图表库内容说明:

/charting_library 包含所有的库文件。
/charting_library/charting_library.min.js 包含外部图表库widget 接口。不建议修改该文件。
/charting_library/charting_library.min.d.ts 包含TypeScript 定义的widget接口
/charting_library/datafeed-api.d.ts 包含TypeScript 定义的data feed接口。
/charting_library/datafeeds/udf/datafeed.js 包含UDF-compatible 的datafeed包装器(用于实现JS API以连接图表库通过UDF传输数据)。例子中的datafeed包装器实现了脉冲实时仿真数据。您可以自由编辑此文件。
/charting_library/static 文件夹中存储图表库内部资源,不适用于其他目的。
/index.html 为使用Charting Library widget 的html例子。
/test.html 为不同的图表库自定义功能使用的示例。
/mobile*.html 也是Widget自定义的示例。

------------

1、tradingview虽然是开源免费,可也是仅限于一些基本的图表服务,但这也基本上够用了。使用之前,需要进入tradingview官网去申请他的chart_library(https://cn.tradingview.com/HTML5-stock-forex-bitcoin-charting-library/ ), 申请步骤比较最复杂的,需要下载它的一份协议,签名盖章之后扫描上传上去,然后填写一堆表单(邮箱公司地址等等),如果填写都ok的话,会在一两天之内回复你的邮箱,是github的链接(已授权过的,不然会报404)。

2、github授权之后,你就可以clone到本地运行之后,可以看到demo的效果。

demo中的代码都是使用的tradingview官方的UDF接口来获取数据的。这有很大的局限性,后台一般不会提供专门的接口。可以参照(https://b.aitrade.ga/books/tradingview/book/UDF.html ), 去开发一个接口供使用前端代码会少很多。

3、可以参考开源项目完成数据对接,

------------------

使用中可能遇到的问题:
1.隐藏、显示功能按钮
// disabled_features: ['header_symbol_search'],
// enabled_features: [],

2.vue中使用TradingView页面闪白解决方案

闪白是iframe所引起的,解决方案:
1).找到\static\tradeView\charting_library\static\tv-chart.xxxx.html 这个文件
2).打开文件后直接在前面加上下面代码即可:
<style>
#loading-indicator,body.chart-page {
background: 0 0
}
</style>

3).TradingView全屏显示后,依旧保持可打开/关闭全屏功能

将TradingView自带的全屏按钮给隐藏起来,然后自定义图表实现逻辑
(1).首先将header_fullscreen_button如下配置
disabled_features: [
"header_fullscreen_button", //隐藏头部全屏按钮
]

(2).然后再chartReady函数里进行如下代码配置即可:

const buttonEvent = widget.createButton({align: "right"});const button = buttonEvent[0];button.title = '打开/关闭全屏';button.className = 'button fullscreen iconed apply-common-tooltip';buttonEvent.append($('')); //图片地址button.onclick = function() {    const tvid = $('#tv_chart_container')[0];    if (tvid.className === 'tv_chart_container_full') {        tvid.className = '';        return;    }    tvid.className = 'tv_chart_container_full';}

 

4.TradingView K线和成交量没有自适应区域显示,ma线显示会错乱,高低不齐

很可能是后台数据结构的原因
高开低收等字段必须是number类型,千万不要是string字符串类型

5.Trading View 自定义初始化指标线(平均移动线等),设置颜色

只需要在 studies_overrides 中配置颜色即可
studies_overrides: {
"MA Cross.short:plot.color": "#6B3798",
"MA Cross.long:plot.color": "#708957",
},
如果你还想继续自定义指标线的话,那就要在onchartready中进行配置
//默认展示MA Cross
widget.chart().createStudy("MA Cross", false, false, [10, 20]);
//修改k线图的颜色
overrides: {
'symbolWatermarkProperties.color' : 'rgba( 85, 85, 85, 0)',
'paneProperties.topMargin': 20,
'paneProperties.crossHairProperties.color': '#626c73',
'paneProperties.legendProperties.showLegend': false,

//K线图的颜色

'mainSeriesProperties.candleStyle.upColor':'#ca4141',
'mainSeriesProperties.candleStyle.downColor':'#25796a',
'mainSeriesProperties.candleStyle.drawWick':true,
'mainSeriesProperties.candleStyle.drawBorder':true,
//涨的最高最低线颜色
'mainSeriesProperties.candleStyle.wickUpColor':'#ca4141',
//跌的最高最低线颜色
'mainSeriesProperties.candleStyle.wickDownColor':'#25796a',
//涨的外边线
'mainSeriesProperties.candleStyle.borderUpColor': "#ca4141",
//跌的外边线
'mainSeriesProperties.candleStyle.borderDownColor': "#25796a",
}

转载于:https://www.cnblogs.com/zdz8207/p/vue-tradingview-issu.html

你可能感兴趣的文章
python Termux Android 开发介绍
查看>>
开源框架中常用的php函数
查看>>
Java语法糖初探(三)--变长参数
查看>>
Liunx常用命令(Mile)
查看>>
nginx 的提升多个小文件访问的性能模块
查看>>
C#语言学习:变量的声明与初始化的范围(对比C++)
查看>>
D. Buy a Ticket(优先队列+dijkstra)
查看>>
set&map
查看>>
git解决一个电脑多用户情况(win7)
查看>>
《高级软件测试》实践作业4学习记录12月28日
查看>>
集合类总结
查看>>
spring boot开发REST接口
查看>>
[读书笔记] Python数据分析 (二) 引言
查看>>
4.AE中的缩放,书签
查看>>
CVE-2014-6321 && MS14-066 Microsoft Schannel Remote Code Execution Vulnerability Analysis
查看>>
网络攻防 第七周学习总结
查看>>
关于_weblogic.xml的sessionID配置
查看>>
给一次重新选择的机会_您还会选择程序员吗?
查看>>
Storm Trident示例CombinerAggregator
查看>>
MFC中lib和dll的区别
查看>>