# 7、最佳做法
# 最佳做法
- - - - - -
## 创造最好的用户体验
我们喜欢我们的图表。 我们希望它们成为整个HTML5世界中最好,最美丽,响应最快,功能最强大的图表。 我们正在努力实现这些目标。
我们了解所有关于我们的图表以及使用它们创建最佳用户体验,我们很乐意与您分享我们的知识。 本文档介绍了将图表库集成到您的网站/应用程序中的几种最佳实践。 重点是始终考虑您的用户和他们的体验。
### 1. 了解图表库是什么,不是什么
图表库是一个能够显示价格,图形和技术分析工具的图表组件。 我们的图表库使图表变得神奇,仅此而已。 如果您想要一些额外的功能(如聊天,特殊的商品列表,最热门交易栏,广告等),最好的方法是在图表之外实现它们。 但是,如果要将外部功能与图表库链接,可以使用图表库的API链接它们。
### 2. 返回与库请求一样多的K线
图表库将向您的后端询问数据,并为提供每个请求所需的数据范围界限。 请遵守这些边界并尽可能完整地返回填充此范围的数据。 不要返回范围外的数据。 如果要扩展库请求的默认数据范围,请使用我们的JS API(请参阅calculateHistoryDepth)。
### 3. 返回与库请求一样多的标记
与上述K线相同。只发送符合要求范围的标记。
### 4. 不要覆盖calculateHistoryDepth()以获取超过2个屏幕的数据
图表库避免加载用户没有要求的内容。在图表中加载更多的K线,意味着需要更多的CPU和内存。这意味着的响应效率会被降低。
### 5. 不要让你的图表看起来一团糟
用户喜欢漂亮的图表。我们也是。请务必在自定义尺寸或样式时保持图表看起来不错。避免嵌入看起来与整个图表样式不同的自定义控件。
### 6. 避免制作非常小的图表
图书馆支持的最小尺寸是`600x600px`。避免使图表变的更小,因为它会看起来一团糟。请使用`mobile`预设,或者隐藏一些工具栏。
### 7. 使用适当的语言
图表库已翻译成数十种语言。使用符合用户需求的语言。
### 8. 如果您遇到问题
我们总是渴望帮助你。 但是,不幸的是,我们真的很忙,所以我们没有太多时间。 请帮助我们有效地度过时间,并始终将您的图书馆的版本更新为最新的`unstable`版本,以检查问题是否仍然发生。 如果有,请与我们联系。
另外,检查您传递给图表库的数据,并确保它符合我们的要求,如文档中所述。 要特别注意SymbolInfo的内容,因为它是最常见的发生错误的地方(根据我们的统计)。
您可以看我们的输出[demo data service](https://demo_feed.tradingview.com/quotes?symbols=AAPL) 并将其与您的对比,以确保您的后端行为是正确的。
在开发过程中始终在Widget构造函数选项中使用`debug:true`,并在生产环境中将其删除,以使代码更快地工作。
### 9. 阅读文档
我们花了很多时间为您创建这些文档,使您的生活更轻松。 请试一试。
### 10. 为您的解决方案选择适当的数据传输
注意JS API和UDF之间的差异,并选择最符合您需求的API。 如果您需要真正快速的数据更新或数据流传输,请勿使用UDF。 如果您的后端有十几个商品,请勿使用UDF用于数据分组(请参阅`supports_group_request`)。
### 11. 不要尝试嗅探我们的代码并使用未记录的功能
我们的文档中未提及的所有功能都是可以更改的主题,没有任何警告和向后兼容性。此外,您签署的法律协议严格禁止更改源代码。
### 12. 不要在您的生产网站上使用我们的演示数据源
这个数据源只是一个演示,不适合实际使用。它可能不稳定,不能承受过大的负载。
### 13. 使用API进行自定义。 避免编辑CSS。
我们不保证CSS选择器的向后兼容性。
### 14. 发送到客户端时,将服务器设置为gzip文件
这是静态HTML内容的常见最佳做法。 加载图标库的HTML文件会减少用户的等待时间。
### 15.设置charting\_library.min.js的最短到期时间
除了添加到HTML文件的`charting_library.min.js`之外,图表库中的所有文件名中都包含哈希值。 将图表库更新为较新版本时,所有文件的名称也会更改。 如果浏览器从缓存中加载`charting_library.min.js`,则该文件中的所有链接都将被破坏。 应将此文件的到期时间设置为最小值,以确保浏览器不缓存该文件。
- 序言
- 更新日志
- 1、Charting Library是什么
- 2-1、图表库内容
- 2-2、运行图表库
- 3-1、如何连接我的数据
- 3-2、JS Api
- 3-3、UDF
- 3-4、Symbology
- 3-5、交易时段
- 3-6、报价
- 4-1、定制概述
- 4-2、Widget构造器
- 4-3、Widget方法
- 4-4、图表方法
- 4-5、功能集
- 4-7、定制的使用案例
- 5-1、交易终端简介
- 5-2、交易控制器
- 5-3、经纪商API
- 5-4、交易主机
- 5-5、账户管理器
- 5-6、交易对象和常量
- 6、储存和载入图表
- 7、创建自定义指标
- 7、最佳做法
- 9、经常被问到的问题
- 10、版本变更点
- 周期
- 时间范围
- 本地化
- 覆盖
- 绘图覆盖
- 指标覆盖
- 形状与覆盖
- 订阅
- 交易元语
- 在K线上做标记
- 委托
- WatchedValue
- 指标API
- 形状API
- 容器API
- 价格坐标Api