强大的金融类图表库 TradingView 使用分享

  这段时间刚好做币圈交易所,运用到了现在最火的金融类图表库 -- TradingView ,就是强大,等大型交易所都在使用。
  
  简介:
  
  带有开放API的可下载图表库。这是一个独立的解决方案,可以将其下载,托管在自己的服务器上,连接自己的数据,在自己的网站/应用程序免费使用。
  
  适用于手机和桌面应用程序、 门户网站、博客和新闻网站。 当您想要完全控制图表并希望显示您所控制的数据时,此为最佳选择。
  
  使用教程:
  
  本教程使用的是nodejs 提供的接口,所有的数据都本地mock出来的,这样大家可以更加方便理解数据使用的问题。
  
  步骤:
  
  1.注册TradingView账号,然后申请TradingView的图表库(申请地址:https://cn.tradingview.com/how-it-works/),(注意,必须是以公司名义申请,不允许个人名义申请,如果以个人名义申请或者你所在行业经过中国区经销商了解后不需要用到tradingview将无法给你提供github的开源代码下载。源码结构如下图:)
  
  /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定义的datafeed接口。
  
  /charting_library/datafeeds/udf/ 包含UDF-compatible 的datafeed包装类(用于实现JS API通过UDF传输数据给图表库)。例子中的datafeed包装器类实现了脉冲实时仿真数据。您可以自由编辑此文件。
  
  /charting\_library/static 文件夹中存储图表库内部资源,不适用于其他目的。
  
  /index.html 为使用Charting Library widget 的html例子。
  
  /test.html 为不同的图表库自定义功能使用的示例。
  
  /mobile\*.html 也是Widget自定义的示例。
  
  然后把整个项目clone 下来到本地。
  
  2.安装nodejs  (安装教程:https://www.cnblogs.com/zhouyu2017/p/6485265.html)
  
  3.安装koa  (Koa -- 基于 Node.js 平台的下一代 web 开发框架)
  
  1
  
  $ npm i koa
  
  4.安装koa-generator  (Koa 脚手架)
  
  1
  
  $ npm i -g koa-generator
  
  5.使用koa-generator 快速创建项目
  
  1
  
  $ koa2 TrandingPiewProject && cd TrandingPiewProject && npm install
  
  koa-generator创建的项目已经集成了nodemon,所以大家可以直接使用nodemon启动项目
  
  1
  
  $ nodemon run start
  
  打开浏览器: http://localhost:3001
  
  就可以看到nodejs项目已经启动了
  
  6.在nodejs创建3个接口
  
  地址1:http://www.mingcheng178.com/  localhost:3001/api/config (存放trandingview的 datafeed配置数据)
  
  地址2:http://www.quwanyule157.com localhost:3001/api/symbols (trandingview的 商品解析数据)
  
  地址3:http://www.yongshiyule178.com  localhost:3001/api/history (trandingview的 K线数据)
  
  7.nodejs项目文件修改如下
  
  app.js (修改部分黄色标出)
  
  复制代码
  
  const Koa = require('koa')
  
  const views = require('koa-views')
  
  const json = require('koa-json')
  
  const onerror = require('koa-onerror')
  
  const bodyparser = require('koa-bodyparser')
  
  const logger = require('koa-logger')
  
  // 引入koa2-cors "允许跨域"
  
  const cors = require('koa2-cors')
  
  const index = require('./routes/index')
  
  const api = require('./routes/api')
  
  const app = new Koa()
  
  app.use(cors())
  
  // error handler
  
  onerror(app)
  
  // middlewares
  
  app.use(bodyparser({
  
  enableTypes:['json', 'form', 'text']
  
  }))
  
  app.use(json())
  
  app.use(logger())
  
  app.use(require('koa-static')(__dirname + '/public'))
  
  app.use(views(__dirname + '/views', {
  
  extension: 'pug'
  
  }))
  
  // logger
  
  app.use(async (ctx, next) => {
  
  const start = new Date()
  
  await next()
  
  const ms = new Date(www.michenggw.com) - start
  
  console.log(`${ctx.method} ${ctx.url} - ${ms}ms`)
  
  })
  
  // routes
  
  app.use(index.routes(www.mhylpt.com), index.allowedMethods())
  
  app.use(api.routes(www.trgj888.com), api.allowedMethods())
  
  // error-handling
  
  app.on('error', (err, ctx) => {
  
  console.error('server error', err, ctx)
  
  });
  
  module.exports = app
  
  复制代码

你可能感兴趣的:(强大的金融类图表库 TradingView 使用分享)