From 657fc19c153fd3327fa7563272bb5a1cf554220e Mon Sep 17 00:00:00 2001 From: liihuu Date: Fri, 27 Sep 2024 02:19:43 +0800 Subject: [PATCH] Updates --- 404.html | 23 + CNAME | 1 + assets/app.Bwcp49g2.js | 1 + .../chunks/@localSearchIndexen-US.KlCGKX-t.js | 1 + .../chunks/@localSearchIndexroot.CaCbrMu3.js | 1 + assets/chunks/Chart.CUfUC5Xd.js | 835 ++++++++++++++++++ assets/chunks/Explain.DIhli_ql.js | 1 + .../chunks/ProjectModuleExplain.Mru5asfp.js | 1 + assets/chunks/VPLocalSearchBox.Bwu7ltL5.js | 7 + assets/chunks/framework.DSL-p2JV.js | 18 + assets/chunks/index.2N59qz5x.js | 2 + assets/chunks/index.BctrBkfQ.js | 1 + assets/chunks/index.Beo6SUhZ.js | 2 + assets/chunks/index.C8LFhaa8.js | 2 + assets/chunks/index.CHLRQ6wz.js | 2 + assets/chunks/index.Cf2bjNLT.js | 2 + assets/chunks/index.D6EQ12tN.js | 2 + assets/chunks/index.Dcprv0co.js | 2 + assets/chunks/index.DoT1aT7U.js | 2 + assets/chunks/index.oO48MgpC.js | 2 + assets/chunks/index.ovulclUw.js | 2 + assets/chunks/metadata.11dcc6e3.js | 1 + assets/chunks/theme.TzJERBRK.js | 2 + assets/chunks/wechat.DrOZvozD.js | 1 + assets/chunks/wechat_pay_qr_code.D_lYdydw.js | 1 + assets/customize.md.7QgzgixA.js | 1 + assets/customize.md.7QgzgixA.lean.js | 1 + assets/en-US_customize.md.CeeQpRWl.js | 1 + assets/en-US_customize.md.CeeQpRWl.lean.js | 1 + assets/en-US_guide_changelog.md.Dxcvdcef.js | 1 + .../en-US_guide_changelog.md.Dxcvdcef.lean.js | 1 + assets/en-US_guide_chart-api.md.BkDZq4IT.js | 415 +++++++++ .../en-US_guide_chart-api.md.BkDZq4IT.lean.js | 415 +++++++++ assets/en-US_guide_custom-axis.md.BGiVLvU-.js | 76 ++ ...n-US_guide_custom-axis.md.BGiVLvU-.lean.js | 76 ++ assets/en-US_guide_data-source.md.Csc1OS-q.js | 16 + ...n-US_guide_data-source.md.Csc1OS-q.lean.js | 16 + assets/en-US_guide_environment.md.DJIzP9Pa.js | 4 + ...n-US_guide_environment.md.DJIzP9Pa.lean.js | 4 + assets/en-US_guide_figure.md.ot49wrDt.js | 244 +++++ assets/en-US_guide_figure.md.ot49wrDt.lean.js | 244 +++++ assets/en-US_guide_hot-key.md.XstEzyUM.js | 1 + .../en-US_guide_hot-key.md.XstEzyUM.lean.js | 1 + assets/en-US_guide_i18n.md.Bbw6zY8t.js | 10 + assets/en-US_guide_i18n.md.Bbw6zY8t.lean.js | 10 + assets/en-US_guide_indicator.md.Dawr8_Vq.js | 243 +++++ .../en-US_guide_indicator.md.Dawr8_Vq.lean.js | 243 +++++ .../en-US_guide_instance-api.md.BjbPhLfD.js | 527 +++++++++++ ...-US_guide_instance-api.md.BjbPhLfD.lean.js | 527 +++++++++++ .../en-US_guide_introduction.md.CsfoCQo0.js | 1 + ...-US_guide_introduction.md.CsfoCQo0.lean.js | 1 + assets/en-US_guide_overlay.md.fHTVoVvf.js | 228 +++++ .../en-US_guide_overlay.md.fHTVoVvf.lean.js | 228 +++++ assets/en-US_guide_quick-start.md.DjE452b9.js | 192 ++++ ...n-US_guide_quick-start.md.DjE452b9.lean.js | 192 ++++ assets/en-US_guide_styles.md.IMTByYQY.js | 526 +++++++++++ assets/en-US_guide_styles.md.IMTByYQY.lean.js | 526 +++++++++++ assets/en-US_guide_v8-to-v9.md.ddEqE0Vn.js | 1 + .../en-US_guide_v8-to-v9.md.ddEqE0Vn.lean.js | 1 + assets/en-US_index.md.CdmPl99x.js | 1 + assets/en-US_index.md.CdmPl99x.lean.js | 1 + assets/en-US_more_faq.md.DQiAekkc.js | 5 + assets/en-US_more_faq.md.DQiAekkc.lean.js | 5 + assets/en-US_more_feedback.md.CL4Qb9kJ.js | 1 + .../en-US_more_feedback.md.CL4Qb9kJ.lean.js | 1 + ...n-US_more_local-development.md.BR-TqRbK.js | 2 + ...more_local-development.md.BR-TqRbK.lean.js | 2 + assets/en-US_sample_axis.md.45GltXMK.js | 129 +++ assets/en-US_sample_axis.md.45GltXMK.lean.js | 129 +++ assets/en-US_sample_basic.md.DHIM9tgv.js | 28 + assets/en-US_sample_basic.md.DHIM9tgv.lean.js | 28 + .../en-US_sample_candle-type.md.pcvHIi0v.js | 75 ++ ...-US_sample_candle-type.md.pcvHIi0v.lean.js | 75 ++ assets/en-US_sample_data.md.q_cJvvki.js | 49 + assets/en-US_sample_data.md.q_cJvvki.lean.js | 49 + assets/en-US_sample_i18n.md.DRCsxcNb.js | 79 ++ assets/en-US_sample_i18n.md.DRCsxcNb.lean.js | 79 ++ assets/en-US_sample_indicator.md.CoOSTif6.js | 126 +++ ...en-US_sample_indicator.md.CoOSTif6.lean.js | 126 +++ assets/en-US_sample_overlay.md.rL__HVok.js | 96 ++ .../en-US_sample_overlay.md.rL__HVok.lean.js | 96 ++ assets/en-US_sample_theme.md.Ci6f1PhO.js | 169 ++++ assets/en-US_sample_theme.md.Ci6f1PhO.lean.js | 169 ++++ assets/en-US_sample_timezone.md.eq1R28dC.js | 70 ++ .../en-US_sample_timezone.md.eq1R28dC.lean.js | 70 ++ assets/en-US_sample_tooltip.md.3hv073Yw.js | 149 ++++ .../en-US_sample_tooltip.md.3hv073Yw.lean.js | 149 ++++ assets/en-US_sponsor.md.B7kPf9Ed.js | 1 + assets/en-US_sponsor.md.B7kPf9Ed.lean.js | 1 + assets/guide_changelog.md.Dr9EvcMG.js | 1 + assets/guide_changelog.md.Dr9EvcMG.lean.js | 1 + assets/guide_chart-api.md.BO0EApnm.js | 415 +++++++++ assets/guide_chart-api.md.BO0EApnm.lean.js | 415 +++++++++ assets/guide_custom-axis.md.CclwillF.js | 94 ++ assets/guide_custom-axis.md.CclwillF.lean.js | 94 ++ assets/guide_data-source.md.BBHuBdZH.js | 16 + assets/guide_data-source.md.BBHuBdZH.lean.js | 16 + assets/guide_environment.md.BVezHuOo.js | 4 + assets/guide_environment.md.BVezHuOo.lean.js | 4 + assets/guide_figure.md.YALxk5fQ.js | 243 +++++ assets/guide_figure.md.YALxk5fQ.lean.js | 243 +++++ assets/guide_hot-key.md.BCqBjXEe.js | 1 + assets/guide_hot-key.md.BCqBjXEe.lean.js | 1 + assets/guide_i18n.md.BaWkQ9Ke.js | 10 + assets/guide_i18n.md.BaWkQ9Ke.lean.js | 10 + assets/guide_indicator.md.Bx8Xb2xL.js | 247 ++++++ assets/guide_indicator.md.Bx8Xb2xL.lean.js | 247 ++++++ assets/guide_instance-api.md.CzSDI5iq.js | 533 +++++++++++ assets/guide_instance-api.md.CzSDI5iq.lean.js | 533 +++++++++++ assets/guide_introduction.md.CeKWbWWZ.js | 1 + assets/guide_introduction.md.CeKWbWWZ.lean.js | 1 + assets/guide_overlay.md.DcZru8Cd.js | 228 +++++ assets/guide_overlay.md.DcZru8Cd.lean.js | 228 +++++ assets/guide_quick-start.md.CY5OW8NL.js | 192 ++++ assets/guide_quick-start.md.CY5OW8NL.lean.js | 192 ++++ assets/guide_styles.md.BMit2YwO.js | 550 ++++++++++++ assets/guide_styles.md.BMit2YwO.lean.js | 550 ++++++++++++ assets/guide_v8-to-v9.md.Djsg7IqF.js | 1 + assets/guide_v8-to-v9.md.Djsg7IqF.lean.js | 1 + assets/index.md.DvoAa-an.js | 1 + assets/index.md.DvoAa-an.lean.js | 1 + .../inter-italic-cyrillic-ext.r48I6akx.woff2 | Bin 0 -> 43112 bytes assets/inter-italic-cyrillic.By2_1cv3.woff2 | Bin 0 -> 31300 bytes assets/inter-italic-greek-ext.1u6EdAuj.woff2 | Bin 0 -> 17404 bytes assets/inter-italic-greek.DJ8dCoTZ.woff2 | Bin 0 -> 32564 bytes assets/inter-italic-latin-ext.CN1xVJS-.woff2 | Bin 0 -> 120840 bytes assets/inter-italic-latin.C2AdPX0b.woff2 | Bin 0 -> 74784 bytes assets/inter-italic-vietnamese.BSbpV94h.woff2 | Bin 0 -> 14884 bytes .../inter-roman-cyrillic-ext.BBPuwvHQ.woff2 | Bin 0 -> 40488 bytes assets/inter-roman-cyrillic.C5lxZ8CY.woff2 | Bin 0 -> 29164 bytes assets/inter-roman-greek-ext.CqjqNYQ-.woff2 | Bin 0 -> 16272 bytes assets/inter-roman-greek.BBVDIX6e.woff2 | Bin 0 -> 29920 bytes assets/inter-roman-latin-ext.4ZJIpNVo.woff2 | Bin 0 -> 110160 bytes assets/inter-roman-latin.Di8DUHzh.woff2 | Bin 0 -> 67792 bytes assets/inter-roman-vietnamese.BjW4sHH5.woff2 | Bin 0 -> 14072 bytes assets/more_faq.md.jD8drqKw.js | 5 + assets/more_faq.md.jD8drqKw.lean.js | 5 + assets/more_feedback.md.0APC3uzY.js | 1 + assets/more_feedback.md.0APC3uzY.lean.js | 1 + assets/more_local-development.md.CbDSmSMM.js | 2 + ...more_local-development.md.CbDSmSMM.lean.js | 2 + assets/sample_axis.md.DL4QJR4z.js | 129 +++ assets/sample_axis.md.DL4QJR4z.lean.js | 129 +++ assets/sample_basic.md.9glQKJaK.js | 28 + assets/sample_basic.md.9glQKJaK.lean.js | 28 + assets/sample_candle-type.md.DSMOj8ZC.js | 75 ++ assets/sample_candle-type.md.DSMOj8ZC.lean.js | 75 ++ assets/sample_data.md.B-kDfmvb.js | 49 + assets/sample_data.md.B-kDfmvb.lean.js | 49 + assets/sample_i18n.md.1BTTNsoj.js | 79 ++ assets/sample_i18n.md.1BTTNsoj.lean.js | 79 ++ assets/sample_indicator.md.ChL3VIyk.js | 126 +++ assets/sample_indicator.md.ChL3VIyk.lean.js | 126 +++ assets/sample_overlay.md.rtXhvoMF.js | 96 ++ assets/sample_overlay.md.rtXhvoMF.lean.js | 96 ++ assets/sample_theme.md.B-qLFv3p.js | 169 ++++ assets/sample_theme.md.B-qLFv3p.lean.js | 169 ++++ assets/sample_timezone.md.DYu_qbRI.js | 70 ++ assets/sample_timezone.md.DYu_qbRI.lean.js | 70 ++ assets/sample_tooltip.md.BP4CrYBq.js | 149 ++++ assets/sample_tooltip.md.BP4CrYBq.lean.js | 149 ++++ assets/sponsor.md.SLwybD6_.js | 1 + assets/sponsor.md.SLwybD6_.lean.js | 1 + assets/style.DX2ELXU9.css | 1 + customize.html | 27 + en-US/customize.html | 27 + en-US/guide/changelog.html | 26 + en-US/guide/chart-api.html | 440 +++++++++ en-US/guide/custom-axis.html | 101 +++ en-US/guide/data-source.html | 41 + en-US/guide/environment.html | 29 + en-US/guide/figure.html | 269 ++++++ en-US/guide/hot-key.html | 26 + en-US/guide/i18n.html | 35 + en-US/guide/indicator.html | 268 ++++++ en-US/guide/instance-api.html | 552 ++++++++++++ en-US/guide/introduction.html | 26 + en-US/guide/overlay.html | 253 ++++++ en-US/guide/quick-start.html | 217 +++++ en-US/guide/styles.html | 552 ++++++++++++ en-US/guide/v8-to-v9.html | 26 + en-US/index.html | 26 + en-US/more/faq.html | 30 + en-US/more/feedback.html | 27 + en-US/more/local-development.html | 28 + en-US/sample/axis.html | 155 ++++ en-US/sample/basic.html | 54 ++ en-US/sample/candle-type.html | 101 +++ en-US/sample/data.html | 75 ++ en-US/sample/i18n.html | 105 +++ en-US/sample/indicator.html | 152 ++++ en-US/sample/overlay.html | 122 +++ en-US/sample/theme.html | 195 ++++ en-US/sample/timezone.html | 96 ++ en-US/sample/tooltip.html | 175 ++++ en-US/sponsor.html | 27 + guide/changelog.html | 26 + guide/chart-api.html | 440 +++++++++ guide/custom-axis.html | 119 +++ guide/data-source.html | 41 + guide/environment.html | 29 + guide/figure.html | 268 ++++++ guide/hot-key.html | 26 + guide/i18n.html | 35 + guide/indicator.html | 272 ++++++ guide/instance-api.html | 558 ++++++++++++ guide/introduction.html | 26 + guide/overlay.html | 253 ++++++ guide/quick-start.html | 217 +++++ guide/styles.html | 576 ++++++++++++ guide/v8-to-v9.html | 26 + hashmap.json | 1 + images/alipay_qr_code.png | Bin 0 -> 79346 bytes images/box.png | Bin 0 -> 2973 bytes images/expand.png | Bin 0 -> 1429 bytes images/logo.svg | 1 + images/logo_hero.svg | 1 + images/module.png | Bin 0 -> 34208 bytes images/qq_group_qr_code.png | Bin 0 -> 95941 bytes images/rocket.png | Bin 0 -> 2892 bytes images/sponsors/Northstar.png | Bin 0 -> 48661 bytes images/sponsors/flameOnYou.jpg | Bin 0 -> 75794 bytes images/style.jpg | Bin 0 -> 379304 bytes images/wechat.jpeg | Bin 0 -> 76224 bytes images/wechat_pay_qr_code.png | Bin 0 -> 83620 bytes index.html | 26 + more/faq.html | 30 + more/feedback.html | 27 + more/local-development.html | 28 + sample/axis.html | 155 ++++ sample/basic.html | 54 ++ sample/candle-type.html | 101 +++ sample/data.html | 75 ++ sample/i18n.html | 105 +++ sample/indicator.html | 152 ++++ sample/overlay.html | 122 +++ sample/theme.html | 195 ++++ sample/timezone.html | 96 ++ sample/tooltip.html | 175 ++++ sponsor.html | 27 + 240 files changed, 23448 insertions(+) create mode 100644 404.html create mode 100644 CNAME create mode 100644 assets/app.Bwcp49g2.js create mode 100644 assets/chunks/@localSearchIndexen-US.KlCGKX-t.js create mode 100644 assets/chunks/@localSearchIndexroot.CaCbrMu3.js create mode 100644 assets/chunks/Chart.CUfUC5Xd.js create mode 100644 assets/chunks/Explain.DIhli_ql.js create mode 100644 assets/chunks/ProjectModuleExplain.Mru5asfp.js create mode 100644 assets/chunks/VPLocalSearchBox.Bwu7ltL5.js create mode 100644 assets/chunks/framework.DSL-p2JV.js create mode 100644 assets/chunks/index.2N59qz5x.js create mode 100644 assets/chunks/index.BctrBkfQ.js create mode 100644 assets/chunks/index.Beo6SUhZ.js create mode 100644 assets/chunks/index.C8LFhaa8.js create mode 100644 assets/chunks/index.CHLRQ6wz.js create mode 100644 assets/chunks/index.Cf2bjNLT.js create mode 100644 assets/chunks/index.D6EQ12tN.js create mode 100644 assets/chunks/index.Dcprv0co.js create mode 100644 assets/chunks/index.DoT1aT7U.js create mode 100644 assets/chunks/index.oO48MgpC.js create mode 100644 assets/chunks/index.ovulclUw.js create mode 100644 assets/chunks/metadata.11dcc6e3.js create mode 100644 assets/chunks/theme.TzJERBRK.js create mode 100644 assets/chunks/wechat.DrOZvozD.js create mode 100644 assets/chunks/wechat_pay_qr_code.D_lYdydw.js create mode 100644 assets/customize.md.7QgzgixA.js create mode 100644 assets/customize.md.7QgzgixA.lean.js create mode 100644 assets/en-US_customize.md.CeeQpRWl.js create mode 100644 assets/en-US_customize.md.CeeQpRWl.lean.js create mode 100644 assets/en-US_guide_changelog.md.Dxcvdcef.js create mode 100644 assets/en-US_guide_changelog.md.Dxcvdcef.lean.js create mode 100644 assets/en-US_guide_chart-api.md.BkDZq4IT.js create mode 100644 assets/en-US_guide_chart-api.md.BkDZq4IT.lean.js create mode 100644 assets/en-US_guide_custom-axis.md.BGiVLvU-.js create mode 100644 assets/en-US_guide_custom-axis.md.BGiVLvU-.lean.js create mode 100644 assets/en-US_guide_data-source.md.Csc1OS-q.js create mode 100644 assets/en-US_guide_data-source.md.Csc1OS-q.lean.js create mode 100644 assets/en-US_guide_environment.md.DJIzP9Pa.js create mode 100644 assets/en-US_guide_environment.md.DJIzP9Pa.lean.js create mode 100644 assets/en-US_guide_figure.md.ot49wrDt.js create mode 100644 assets/en-US_guide_figure.md.ot49wrDt.lean.js create mode 100644 assets/en-US_guide_hot-key.md.XstEzyUM.js create mode 100644 assets/en-US_guide_hot-key.md.XstEzyUM.lean.js create mode 100644 assets/en-US_guide_i18n.md.Bbw6zY8t.js create mode 100644 assets/en-US_guide_i18n.md.Bbw6zY8t.lean.js create mode 100644 assets/en-US_guide_indicator.md.Dawr8_Vq.js create mode 100644 assets/en-US_guide_indicator.md.Dawr8_Vq.lean.js create mode 100644 assets/en-US_guide_instance-api.md.BjbPhLfD.js create mode 100644 assets/en-US_guide_instance-api.md.BjbPhLfD.lean.js create mode 100644 assets/en-US_guide_introduction.md.CsfoCQo0.js create mode 100644 assets/en-US_guide_introduction.md.CsfoCQo0.lean.js create mode 100644 assets/en-US_guide_overlay.md.fHTVoVvf.js create mode 100644 assets/en-US_guide_overlay.md.fHTVoVvf.lean.js create mode 100644 assets/en-US_guide_quick-start.md.DjE452b9.js create mode 100644 assets/en-US_guide_quick-start.md.DjE452b9.lean.js create mode 100644 assets/en-US_guide_styles.md.IMTByYQY.js create mode 100644 assets/en-US_guide_styles.md.IMTByYQY.lean.js create mode 100644 assets/en-US_guide_v8-to-v9.md.ddEqE0Vn.js create mode 100644 assets/en-US_guide_v8-to-v9.md.ddEqE0Vn.lean.js create mode 100644 assets/en-US_index.md.CdmPl99x.js create mode 100644 assets/en-US_index.md.CdmPl99x.lean.js create mode 100644 assets/en-US_more_faq.md.DQiAekkc.js create mode 100644 assets/en-US_more_faq.md.DQiAekkc.lean.js create mode 100644 assets/en-US_more_feedback.md.CL4Qb9kJ.js create mode 100644 assets/en-US_more_feedback.md.CL4Qb9kJ.lean.js create mode 100644 assets/en-US_more_local-development.md.BR-TqRbK.js create mode 100644 assets/en-US_more_local-development.md.BR-TqRbK.lean.js create mode 100644 assets/en-US_sample_axis.md.45GltXMK.js create mode 100644 assets/en-US_sample_axis.md.45GltXMK.lean.js create mode 100644 assets/en-US_sample_basic.md.DHIM9tgv.js create mode 100644 assets/en-US_sample_basic.md.DHIM9tgv.lean.js create mode 100644 assets/en-US_sample_candle-type.md.pcvHIi0v.js create mode 100644 assets/en-US_sample_candle-type.md.pcvHIi0v.lean.js create mode 100644 assets/en-US_sample_data.md.q_cJvvki.js create mode 100644 assets/en-US_sample_data.md.q_cJvvki.lean.js create mode 100644 assets/en-US_sample_i18n.md.DRCsxcNb.js create mode 100644 assets/en-US_sample_i18n.md.DRCsxcNb.lean.js create mode 100644 assets/en-US_sample_indicator.md.CoOSTif6.js create mode 100644 assets/en-US_sample_indicator.md.CoOSTif6.lean.js create mode 100644 assets/en-US_sample_overlay.md.rL__HVok.js create mode 100644 assets/en-US_sample_overlay.md.rL__HVok.lean.js create mode 100644 assets/en-US_sample_theme.md.Ci6f1PhO.js create mode 100644 assets/en-US_sample_theme.md.Ci6f1PhO.lean.js create mode 100644 assets/en-US_sample_timezone.md.eq1R28dC.js create mode 100644 assets/en-US_sample_timezone.md.eq1R28dC.lean.js create mode 100644 assets/en-US_sample_tooltip.md.3hv073Yw.js create mode 100644 assets/en-US_sample_tooltip.md.3hv073Yw.lean.js create mode 100644 assets/en-US_sponsor.md.B7kPf9Ed.js create mode 100644 assets/en-US_sponsor.md.B7kPf9Ed.lean.js create mode 100644 assets/guide_changelog.md.Dr9EvcMG.js create mode 100644 assets/guide_changelog.md.Dr9EvcMG.lean.js create mode 100644 assets/guide_chart-api.md.BO0EApnm.js create mode 100644 assets/guide_chart-api.md.BO0EApnm.lean.js create mode 100644 assets/guide_custom-axis.md.CclwillF.js create mode 100644 assets/guide_custom-axis.md.CclwillF.lean.js create mode 100644 assets/guide_data-source.md.BBHuBdZH.js create mode 100644 assets/guide_data-source.md.BBHuBdZH.lean.js create mode 100644 assets/guide_environment.md.BVezHuOo.js create mode 100644 assets/guide_environment.md.BVezHuOo.lean.js create mode 100644 assets/guide_figure.md.YALxk5fQ.js create mode 100644 assets/guide_figure.md.YALxk5fQ.lean.js create mode 100644 assets/guide_hot-key.md.BCqBjXEe.js create mode 100644 assets/guide_hot-key.md.BCqBjXEe.lean.js create mode 100644 assets/guide_i18n.md.BaWkQ9Ke.js create mode 100644 assets/guide_i18n.md.BaWkQ9Ke.lean.js create mode 100644 assets/guide_indicator.md.Bx8Xb2xL.js create mode 100644 assets/guide_indicator.md.Bx8Xb2xL.lean.js create mode 100644 assets/guide_instance-api.md.CzSDI5iq.js create mode 100644 assets/guide_instance-api.md.CzSDI5iq.lean.js create mode 100644 assets/guide_introduction.md.CeKWbWWZ.js create mode 100644 assets/guide_introduction.md.CeKWbWWZ.lean.js create mode 100644 assets/guide_overlay.md.DcZru8Cd.js create mode 100644 assets/guide_overlay.md.DcZru8Cd.lean.js create mode 100644 assets/guide_quick-start.md.CY5OW8NL.js create mode 100644 assets/guide_quick-start.md.CY5OW8NL.lean.js create mode 100644 assets/guide_styles.md.BMit2YwO.js create mode 100644 assets/guide_styles.md.BMit2YwO.lean.js create mode 100644 assets/guide_v8-to-v9.md.Djsg7IqF.js create mode 100644 assets/guide_v8-to-v9.md.Djsg7IqF.lean.js create mode 100644 assets/index.md.DvoAa-an.js create mode 100644 assets/index.md.DvoAa-an.lean.js create mode 100644 assets/inter-italic-cyrillic-ext.r48I6akx.woff2 create mode 100644 assets/inter-italic-cyrillic.By2_1cv3.woff2 create mode 100644 assets/inter-italic-greek-ext.1u6EdAuj.woff2 create mode 100644 assets/inter-italic-greek.DJ8dCoTZ.woff2 create mode 100644 assets/inter-italic-latin-ext.CN1xVJS-.woff2 create mode 100644 assets/inter-italic-latin.C2AdPX0b.woff2 create mode 100644 assets/inter-italic-vietnamese.BSbpV94h.woff2 create mode 100644 assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 create mode 100644 assets/inter-roman-cyrillic.C5lxZ8CY.woff2 create mode 100644 assets/inter-roman-greek-ext.CqjqNYQ-.woff2 create mode 100644 assets/inter-roman-greek.BBVDIX6e.woff2 create mode 100644 assets/inter-roman-latin-ext.4ZJIpNVo.woff2 create mode 100644 assets/inter-roman-latin.Di8DUHzh.woff2 create mode 100644 assets/inter-roman-vietnamese.BjW4sHH5.woff2 create mode 100644 assets/more_faq.md.jD8drqKw.js create mode 100644 assets/more_faq.md.jD8drqKw.lean.js create mode 100644 assets/more_feedback.md.0APC3uzY.js create mode 100644 assets/more_feedback.md.0APC3uzY.lean.js create mode 100644 assets/more_local-development.md.CbDSmSMM.js create mode 100644 assets/more_local-development.md.CbDSmSMM.lean.js create mode 100644 assets/sample_axis.md.DL4QJR4z.js create mode 100644 assets/sample_axis.md.DL4QJR4z.lean.js create mode 100644 assets/sample_basic.md.9glQKJaK.js create mode 100644 assets/sample_basic.md.9glQKJaK.lean.js create mode 100644 assets/sample_candle-type.md.DSMOj8ZC.js create mode 100644 assets/sample_candle-type.md.DSMOj8ZC.lean.js create mode 100644 assets/sample_data.md.B-kDfmvb.js create mode 100644 assets/sample_data.md.B-kDfmvb.lean.js create mode 100644 assets/sample_i18n.md.1BTTNsoj.js create mode 100644 assets/sample_i18n.md.1BTTNsoj.lean.js create mode 100644 assets/sample_indicator.md.ChL3VIyk.js create mode 100644 assets/sample_indicator.md.ChL3VIyk.lean.js create mode 100644 assets/sample_overlay.md.rtXhvoMF.js create mode 100644 assets/sample_overlay.md.rtXhvoMF.lean.js create mode 100644 assets/sample_theme.md.B-qLFv3p.js create mode 100644 assets/sample_theme.md.B-qLFv3p.lean.js create mode 100644 assets/sample_timezone.md.DYu_qbRI.js create mode 100644 assets/sample_timezone.md.DYu_qbRI.lean.js create mode 100644 assets/sample_tooltip.md.BP4CrYBq.js create mode 100644 assets/sample_tooltip.md.BP4CrYBq.lean.js create mode 100644 assets/sponsor.md.SLwybD6_.js create mode 100644 assets/sponsor.md.SLwybD6_.lean.js create mode 100644 assets/style.DX2ELXU9.css create mode 100644 customize.html create mode 100644 en-US/customize.html create mode 100644 en-US/guide/changelog.html create mode 100644 en-US/guide/chart-api.html create mode 100644 en-US/guide/custom-axis.html create mode 100644 en-US/guide/data-source.html create mode 100644 en-US/guide/environment.html create mode 100644 en-US/guide/figure.html create mode 100644 en-US/guide/hot-key.html create mode 100644 en-US/guide/i18n.html create mode 100644 en-US/guide/indicator.html create mode 100644 en-US/guide/instance-api.html create mode 100644 en-US/guide/introduction.html create mode 100644 en-US/guide/overlay.html create mode 100644 en-US/guide/quick-start.html create mode 100644 en-US/guide/styles.html create mode 100644 en-US/guide/v8-to-v9.html create mode 100644 en-US/index.html create mode 100644 en-US/more/faq.html create mode 100644 en-US/more/feedback.html create mode 100644 en-US/more/local-development.html create mode 100644 en-US/sample/axis.html create mode 100644 en-US/sample/basic.html create mode 100644 en-US/sample/candle-type.html create mode 100644 en-US/sample/data.html create mode 100644 en-US/sample/i18n.html create mode 100644 en-US/sample/indicator.html create mode 100644 en-US/sample/overlay.html create mode 100644 en-US/sample/theme.html create mode 100644 en-US/sample/timezone.html create mode 100644 en-US/sample/tooltip.html create mode 100644 en-US/sponsor.html create mode 100644 guide/changelog.html create mode 100644 guide/chart-api.html create mode 100644 guide/custom-axis.html create mode 100644 guide/data-source.html create mode 100644 guide/environment.html create mode 100644 guide/figure.html create mode 100644 guide/hot-key.html create mode 100644 guide/i18n.html create mode 100644 guide/indicator.html create mode 100644 guide/instance-api.html create mode 100644 guide/introduction.html create mode 100644 guide/overlay.html create mode 100644 guide/quick-start.html create mode 100644 guide/styles.html create mode 100644 guide/v8-to-v9.html create mode 100644 hashmap.json create mode 100644 images/alipay_qr_code.png create mode 100644 images/box.png create mode 100644 images/expand.png create mode 100644 images/logo.svg create mode 100644 images/logo_hero.svg create mode 100644 images/module.png create mode 100644 images/qq_group_qr_code.png create mode 100644 images/rocket.png create mode 100644 images/sponsors/Northstar.png create mode 100644 images/sponsors/flameOnYou.jpg create mode 100644 images/style.jpg create mode 100644 images/wechat.jpeg create mode 100644 images/wechat_pay_qr_code.png create mode 100644 index.html create mode 100644 more/faq.html create mode 100644 more/feedback.html create mode 100644 more/local-development.html create mode 100644 sample/axis.html create mode 100644 sample/basic.html create mode 100644 sample/candle-type.html create mode 100644 sample/data.html create mode 100644 sample/i18n.html create mode 100644 sample/indicator.html create mode 100644 sample/overlay.html create mode 100644 sample/theme.html create mode 100644 sample/timezone.html create mode 100644 sample/tooltip.html create mode 100644 sponsor.html diff --git a/404.html b/404.html new file mode 100644 index 0000000..0ec90bc --- /dev/null +++ b/404.html @@ -0,0 +1,23 @@ + + + + + + 404 | KLineChart + + + + + + + + + + + + +
+ + + + \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..92fb39c --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +v9.klinecharts.com \ No newline at end of file diff --git a/assets/app.Bwcp49g2.js b/assets/app.Bwcp49g2.js new file mode 100644 index 0000000..fa2f48e --- /dev/null +++ b/assets/app.Bwcp49g2.js @@ -0,0 +1 @@ +import{R as p}from"./chunks/theme.TzJERBRK.js";import{R as o,aa as u,ab as l,ac as c,ad as f,ae as d,af as m,ag as h,ah as g,ai as A,aj as v,d as P,u as R,v as w,s as y,ak as C,al as b,am as E,a8 as S}from"./chunks/framework.DSL-p2JV.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),b(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function j(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(l,e);const t=c(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function D(){return g(T)}function _(){let e=o,a;return A(t=>{let n=v(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&j().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{j as createApp}; diff --git a/assets/chunks/@localSearchIndexen-US.KlCGKX-t.js b/assets/chunks/@localSearchIndexen-US.KlCGKX-t.js new file mode 100644 index 0000000..cf1fb9c --- /dev/null +++ b/assets/chunks/@localSearchIndexen-US.KlCGKX-t.js @@ -0,0 +1 @@ +const e='{"documentCount":227,"nextId":227,"documentIds":{"0":"/en-US/guide/changelog#📠-change-log","1":"/en-US/guide/changelog#_9-8-10","2":"/en-US/guide/changelog#_9-8-9","3":"/en-US/guide/changelog#_9-8-8","4":"/en-US/guide/changelog#_9-8-7","5":"/en-US/guide/changelog#_9-8-6","6":"/en-US/guide/changelog#_9-8-5","7":"/en-US/guide/changelog#_9-8-3","8":"/en-US/guide/changelog#_9-8-2","9":"/en-US/guide/changelog#_9-8-1","10":"/en-US/guide/changelog#_9-8-0","11":"/en-US/guide/changelog#_9-7-1","12":"/en-US/guide/changelog#_9-7-0","13":"/en-US/guide/changelog#_9-6-0","14":"/en-US/guide/changelog#_9-5-4","15":"/en-US/guide/changelog#_9-5-3","16":"/en-US/guide/changelog#_9-5-2","17":"/en-US/guide/changelog#_9-5-1","18":"/en-US/guide/changelog#_9-5-0","19":"/en-US/guide/changelog#_9-4-0","20":"/en-US/guide/changelog#_9-3-0","21":"/en-US/guide/changelog#_9-2-2","22":"/en-US/guide/changelog#_9-2-1","23":"/en-US/guide/changelog#_9-2-0","24":"/en-US/guide/changelog#_9-1-3","25":"/en-US/guide/changelog#_9-1-2","26":"/en-US/guide/changelog#_9-1-1","27":"/en-US/guide/changelog#_9-1-0","28":"/en-US/guide/changelog#_9-0-1","29":"/en-US/guide/changelog#_9-0-0","30":"/en-US/guide/changelog#_8-x","31":"/en-US/guide/changelog#_7-x","32":"/en-US/guide/changelog#_6-x","33":"/en-US/guide/changelog#_5-x","34":"/en-US/guide/changelog#_4-x","35":"/en-US/guide/chart-api#chart-api","36":"/en-US/guide/chart-api#init-ds-options","37":"/en-US/guide/chart-api#dispose-dcs","38":"/en-US/guide/chart-api#registerlocale-locale-locales","39":"/en-US/guide/chart-api#getoverlayclass","40":"/en-US/guide/chart-api#getsupportedlocales","41":"/en-US/guide/chart-api#registerstyles-name-styles","42":"/en-US/guide/chart-api#registerfigure-figure","43":"/en-US/guide/chart-api#getsupportedfigures","44":"/en-US/guide/chart-api#getfigureclass-name","45":"/en-US/guide/chart-api#registerindicator-indicator","46":"/en-US/guide/chart-api#getsupportedindicators","47":"/en-US/guide/chart-api#registeroverlay-overlay","48":"/en-US/guide/chart-api#getsupportedoverlays","49":"/en-US/guide/chart-api#registerxaxis-axis-9-8-0","50":"/en-US/guide/chart-api#registeryaxis-axis-9-8-0","51":"/en-US/guide/chart-api#version","52":"/en-US/guide/chart-api#utils","53":"/en-US/guide/chart-api#utils-clone-target","54":"/en-US/guide/chart-api#utils-merge-target-source","55":"/en-US/guide/chart-api#utils-isstring-value","56":"/en-US/guide/chart-api#utils-isnumber-value","57":"/en-US/guide/chart-api#utils-isvalid-value","58":"/en-US/guide/chart-api#utils-isobject-value","59":"/en-US/guide/chart-api#utils-isfunction-value","60":"/en-US/guide/chart-api#utils-isboolean-value","61":"/en-US/guide/chart-api#utils-formatvalue-value-key-defaultvalue","62":"/en-US/guide/chart-api#utils-formatprecision-value","63":"/en-US/guide/chart-api#utils-formatbignumber-value","64":"/en-US/guide/chart-api#utils-formatdate-datetimeformat-timestamp-format","65":"/en-US/guide/chart-api#utils-formatthousands-value-sign","66":"/en-US/guide/chart-api#utils-formatfolddecimal-value-threshold-9-8-0","67":"/en-US/guide/chart-api#utils-calctextwidth-text-size-weight-family-9-3-0","68":"/en-US/guide/chart-api#utils-getlinearslopeintercept-coordinate1-coordinate2","69":"/en-US/guide/chart-api#utils-getlinearyfromcoordinates-coordinate1-coordinate2-targetcoordinate","70":"/en-US/guide/chart-api#utils-getlinearyfromslopeintercept-kb-targetcoordinate","71":"/en-US/guide/chart-api#utils-checkcoordinateonarc-coordinate-arc","72":"/en-US/guide/chart-api#utils-checkcoordinateoncircle-coordinate-circle","73":"/en-US/guide/chart-api#utils-checkcoordinateonline-coordinate-line","74":"/en-US/guide/chart-api#utils-checkcoordinateonpolygon-coordinate-polygon","75":"/en-US/guide/chart-api#utils-checkcoordinateonrect-coordinate-rect","76":"/en-US/guide/chart-api#utils-checkcoordinateontext-coordinate-text-styles","77":"/en-US/guide/chart-api#utils-drawarc-ctx-arc-styles","78":"/en-US/guide/chart-api#utils-drawcircle-ctx-circle-styles","79":"/en-US/guide/chart-api#utils-drawline-ctx-line-styles","80":"/en-US/guide/chart-api#utils-drawpolygon-ctx-polygon-styles","81":"/en-US/guide/chart-api#utils-drawrect-ctx-rect-styles","82":"/en-US/guide/chart-api#utils-drawrecttext-ctx-recttext-styles","83":"/en-US/guide/chart-api#utils-drawrecttext-ctx-recttext-styles-1","84":"/en-US/guide/custom-axis#custom-axis-9-8-0","85":"/en-US/guide/custom-axis#input-params-introduction","86":"/en-US/guide/custom-axis#usage","87":"/en-US/guide/custom-axis#using-init-of-chart-api","88":"/en-US/guide/custom-axis#using-createindicator-of-instance-api","89":"/en-US/guide/custom-axis#using-setpaneoptions-of-instance-api","90":"/en-US/guide/data-source#📚-data","91":"/en-US/guide/environment#🏝️-environment","92":"/en-US/guide/environment#browser-support","93":"/en-US/guide/environment#polyfill","94":"/en-US/guide/figure#figure","95":"/en-US/guide/figure#example-of-use","96":"/en-US/guide/figure#built-in-figures","97":"/en-US/guide/figure#arc","98":"/en-US/guide/figure#circle","99":"/en-US/guide/figure#line","100":"/en-US/guide/figure#rect","101":"/en-US/guide/figure#text","102":"/en-US/guide/figure#recttext","103":"/en-US/guide/figure#customize-figure","104":"/en-US/guide/figure#attribute-description","105":"/en-US/guide/figure#example","106":"/en-US/guide/figure#step-1","107":"/en-US/guide/figure#step-2","108":"/en-US/guide/hot-key#⌨️-hot-key","109":"/en-US/guide/i18n#🌏-internationalization","110":"/en-US/guide/i18n#adding-new-language","111":"/en-US/guide/i18n#use-new-language","112":"/en-US/guide/indicator#technical-indicator","113":"/en-US/guide/indicator#built-in-technical-indicators","114":"/en-US/guide/indicator#custom-technical-indicators","115":"/en-US/guide/indicator#attribute-description","116":"/en-US/guide/indicator#step-1","117":"/en-US/guide/indicator#step-2","118":"/en-US/guide/instance-api#instance-api","119":"/en-US/guide/instance-api#getdom-paneid-position","120":"/en-US/guide/instance-api#getsize-paneid-position","121":"/en-US/guide/instance-api#setstyles-styles","122":"/en-US/guide/instance-api#getstyles","123":"/en-US/guide/instance-api#setpricevolumeprecision-priceprecision-volumeprecision","124":"/en-US/guide/instance-api#settimezone-timezone","125":"/en-US/guide/instance-api#gettimezone","126":"/en-US/guide/instance-api#setzoomenabled-enabled","127":"/en-US/guide/instance-api#iszoomenabled","128":"/en-US/guide/instance-api#setscrollenabled-enabled","129":"/en-US/guide/instance-api#isscrollenabled","130":"/en-US/guide/instance-api#setoffsetrightdistance-distance","131":"/en-US/guide/instance-api#getoffsetrightdistance-9-2-0","132":"/en-US/guide/instance-api#setmaxoffsetleftdistance-9-7-0","133":"/en-US/guide/instance-api#setmaxoffsetrightdistance-9-7-0","134":"/en-US/guide/instance-api#setleftminvisiblebarcount-barcount","135":"/en-US/guide/instance-api#setrightminvisiblebarcount-barcount","136":"/en-US/guide/instance-api#setbarspace-space","137":"/en-US/guide/instance-api#getbarspace","138":"/en-US/guide/instance-api#getvisiblerange","139":"/en-US/guide/instance-api#applynewdata-datalist-more-callback","140":"/en-US/guide/instance-api#applymoredata-datalist-more-callback","141":"/en-US/guide/instance-api#updatedata-data-callback","142":"/en-US/guide/instance-api#getdatalist","143":"/en-US/guide/instance-api#cleardata","144":"/en-US/guide/instance-api#loadmore-cb","145":"/en-US/guide/instance-api#setloaddatacallback-cb-9-8-0","146":"/en-US/guide/instance-api#createindicator-value-isstack-paneoptions-callback","147":"/en-US/guide/instance-api#overrideindicator-override-paneid-callback","148":"/en-US/guide/instance-api#getindicatorbypaneid-paneid-name","149":"/en-US/guide/instance-api#removeindicator-paneid-name","150":"/en-US/guide/instance-api#createoverlay-value-paneid","151":"/en-US/guide/instance-api#getoverlaybyid-id","152":"/en-US/guide/instance-api#overrideoverlay-override","153":"/en-US/guide/instance-api#removeoverlay-remove","154":"/en-US/guide/instance-api#scrollbydistance-distance-animationduration","155":"/en-US/guide/instance-api#scrolltorealtime-animationduration","156":"/en-US/guide/instance-api#scrolltodataindex-dataindex-animationduration","157":"/en-US/guide/instance-api#scrolltotimestamp-timestamp-animationduration","158":"/en-US/guide/instance-api#zoomatcoordinate-scale-coordinate-animationduration","159":"/en-US/guide/instance-api#zoomatdataindex-scale-dataindex-animationduration","160":"/en-US/guide/instance-api#zoomattimestamp-scale-timestamp-animationduration","161":"/en-US/guide/instance-api#setpaneoptions-options","162":"/en-US/guide/instance-api#executeaction-type-data-9-2-0","163":"/en-US/guide/instance-api#subscribeaction-type-callback","164":"/en-US/guide/instance-api#unsubscribeaction-type-callback","165":"/en-US/guide/instance-api#converttopixel-value-finder","166":"/en-US/guide/instance-api#convertfrompixel-coordinate-finder","167":"/en-US/guide/instance-api#getconvertpictureurl-includeoverlay-type-backgroundcolor","168":"/en-US/guide/instance-api#resize","169":"/en-US/guide/introduction#📃-introduction","170":"/en-US/guide/introduction#what-s-klinechart","171":"/en-US/guide/introduction#features","172":"/en-US/guide/overlay#overlay","173":"/en-US/guide/overlay#built-in-overlay-types","174":"/en-US/guide/overlay#custom-overlays","175":"/en-US/guide/overlay#attribute-description","176":"/en-US/guide/overlay#example","177":"/en-US/guide/quick-start#🚀-quick-start","178":"/en-US/guide/quick-start#get-klinechart","179":"/en-US/guide/quick-start#create-the-first-chart","180":"/en-US/guide/styles#🎨-style","181":"/en-US/guide/styles#picture-explanation","182":"/en-US/guide/styles#default-full-configuration","183":"/en-US/guide/v8-to-v9#🛠️-from-v8-to-v9","184":"/en-US/guide/v8-to-v9#import-adjustment","185":"/en-US/guide/v8-to-v9#design-adjustment","186":"/en-US/guide/v8-to-v9#style-configuration-adjustment","187":"/en-US/guide/v8-to-v9#api-adjustment","188":"/en-US/guide/v8-to-v9#chart-api","189":"/en-US/guide/v8-to-v9#instance-api","190":"/en-US/guide/v8-to-v9#shape-help-api","191":"/en-US/guide/v8-to-v9#customized-technical-indicator-adjustment","192":"/en-US/more/feedback#💬-feedback","193":"/en-US/more/feedback#github","194":"/en-US/more/feedback#telegram","195":"/en-US/more/feedback#wechat-discussion-group","196":"/en-US/more/local-development#local-development","197":"/en-US/more/local-development#introduction","198":"/en-US/more/local-development#notice","199":"/en-US/more/local-development#file-directory-description","200":"/en-US/more/local-development#module-dependencies","201":"/en-US/more/local-development#development","202":"/en-US/more/local-development#installation-dependencies","203":"/en-US/more/local-development#npm-execute-command-description","204":"/en-US/more/local-development#debug","205":"/en-US/more/faq#🙋-faq","206":"/en-US/more/faq#after-the-chart-is-initialized-only-one-line-can-be-seen","207":"/en-US/more/faq#the-candle-shows-a-line-no-fluctuation-what-to-do","208":"/en-US/more/faq#how-to-create-a-real-time-chart","209":"/en-US/more/faq#built-in-technical-indicators-calculated-data-is-not-what-you-want-how-to-do","210":"/en-US/more/faq#what-if-i-want-to-create-an-indicator-other-than-the-built-in-technical-indicator","211":"/en-US/more/faq#want-to-mark-the-point-of-sale-how-should-do","212":"/en-US/sample/axis#axis","213":"/en-US/sample/basic#basic","214":"/en-US/sample/candle-type#candle-type","215":"/en-US/sample/data#data","216":"/en-US/sample/i18n#i18n","217":"/en-US/sample/indicator#indicator","218":"/en-US/sample/overlay#overlay","219":"/en-US/sample/theme#theme","220":"/en-US/sample/timezone#timezone","221":"/en-US/sample/tooltip#tooltip","222":"/en-US/sponsor#❤️-sponsor","223":"/en-US/sponsor#sponsor-channels","224":"/en-US/sponsor#alipay","225":"/en-US/sponsor#wechat-pay","226":"/en-US/sponsor#cryptocurrency"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[3,1,1],"1":[3,3,49],"2":[2,3,16],"3":[2,3,33],"4":[3,3,16],"5":[3,3,38],"6":[3,3,22],"7":[3,3,40],"8":[3,3,27],"9":[3,3,40],"10":[3,3,49],"11":[3,3,19],"12":[3,3,28],"13":[3,3,54],"14":[3,3,25],"15":[3,3,9],"16":[3,3,27],"17":[3,3,29],"18":[3,3,48],"19":[3,3,27],"20":[3,3,40],"21":[2,3,14],"22":[3,3,19],"23":[3,3,52],"24":[3,3,52],"25":[3,3,34],"26":[2,3,17],"27":[3,3,29],"28":[3,3,10],"29":[2,3,160],"30":[2,3,11],"31":[2,3,11],"32":[2,3,11],"33":[2,3,10],"34":[2,3,10],"35":[2,1,1],"36":[4,2,130],"37":[3,2,26],"38":[4,2,28],"39":[2,2,14],"40":[2,2,12],"41":[4,2,19],"42":[3,2,36],"43":[2,2,11],"44":[3,2,9],"45":[3,2,109],"46":[2,2,10],"47":[3,2,126],"48":[2,2,9],"49":[5,2,24],"50":[5,2,24],"51":[2,2,11],"52":[1,2,6],"53":[4,3,7],"54":[5,3,11],"55":[4,3,11],"56":[4,3,11],"57":[4,3,11],"58":[4,3,12],"59":[4,3,11],"60":[4,3,11],"61":[6,3,28],"62":[4,3,9],"63":[4,3,18],"64":[6,3,20],"65":[5,3,11],"66":[7,3,11],"67":[9,3,12],"68":[5,3,29],"69":[6,3,24],"70":[5,3,26],"71":[5,3,31],"72":[5,3,25],"73":[5,3,21],"74":[5,3,20],"75":[5,3,24],"76":[6,3,48],"77":[6,3,39],"78":[6,3,41],"79":[6,3,31],"80":[6,3,38],"81":[6,3,44],"82":[6,3,68],"83":[6,3,20],"84":[5,1,16],"85":[3,5,37],"86":[1,5,35],"87":[5,6,32],"88":[5,6,19],"89":[5,6,20],"90":[2,1,55],"91":[2,1,1],"92":[2,2,26],"93":[1,2,1],"94":[1,1,49],"95":[3,1,38],"96":[3,1,15],"97":[1,4,38],"98":[1,4,42],"99":[1,4,42],"100":[1,4,46],"101":[1,4,71],"102":[1,4,16],"103":[2,1,27],"104":[2,3,43],"105":[1,3,14],"106":[2,4,46],"107":[2,4,62],"108":[3,1,17],"109":[2,1,28],"110":[3,2,40],"111":[3,2,18],"112":[2,1,16],"113":[4,2,50],"114":[3,2,27],"115":[2,4,231],"116":[2,6,54],"117":[2,6,105],"118":[2,1,1],"119":[4,2,22],"120":[4,2,28],"121":[3,2,31],"122":[2,2,14],"123":[4,2,23],"124":[3,2,29],"125":[2,2,10],"126":[3,2,10],"127":[2,2,9],"128":[3,2,13],"129":[2,2,10],"130":[3,2,17],"131":[4,2,15],"132":[4,2,16],"133":[4,2,16],"134":[3,2,14],"135":[3,2,14],"136":[3,2,14],"137":[2,2,13],"138":[2,2,11],"139":[5,2,72],"140":[5,2,58],"141":[4,2,60],"142":[2,2,27],"143":[2,2,29],"144":[3,2,36],"145":[5,2,29],"146":[6,2,159],"147":[5,2,166],"148":[4,2,38],"149":[4,2,33],"150":[4,2,104],"151":[3,2,17],"152":[3,2,146],"153":[3,2,22],"154":[4,2,17],"155":[3,2,18],"156":[4,2,22],"157":[4,2,18],"158":[5,2,32],"159":[5,2,26],"160":[5,2,21],"161":[3,2,62],"162":[6,2,16],"163":[4,2,27],"164":[4,2,35],"165":[4,2,53],"166":[4,2,41],"167":[5,2,39],"168":[2,2,30],"169":[2,1,1],"170":[4,2,11],"171":[1,2,67],"172":[1,1,15],"173":[4,1,16],"174":[2,1,19],"175":[2,3,263],"176":[1,3,85],"177":[3,1,1],"178":[2,3,77],"179":[4,3,190],"180":[2,1,26],"181":[2,2,1],"182":[3,2,226],"183":[5,1,23],"184":[2,5,15],"185":[2,5,13],"186":[3,5,46],"187":[2,5,1],"188":[2,7,14],"189":[2,7,89],"190":[3,7,8],"191":[4,5,55],"192":[2,1,1],"193":[1,2,10],"194":[1,2,5],"195":[3,2,13],"196":[2,1,1],"197":[1,2,19],"198":[1,2,1],"199":[3,3,1],"200":[2,3,76],"201":[1,2,1],"202":[2,2,28],"203":[4,2,29],"204":[1,2,26],"205":[2,1,1],"206":[12,2,13],"207":[11,2,15],"208":[8,2,9],"209":[15,2,12],"210":[15,2,9],"211":[11,2,21],"212":[1,1,174],"213":[1,1,64],"214":[2,1,154],"215":[1,1,79],"216":[1,1,153],"217":[1,1,204],"218":[1,1,170],"219":[1,1,195],"220":[1,1,145],"221":[1,1,179],"222":[2,1,80],"223":[2,2,1],"224":[1,3,1],"225":[2,3,1],"226":[1,3,9]},"averageFieldLength":[3.2863436123348015,2.5110132158590313,38.44493392070485],"storedFields":{"0":{"title":"📠 Change Log","titles":[]},"1":{"title":"9.8.10","titles":["📠 Change Log"]},"2":{"title":"9.8.9","titles":["📠 Change Log"]},"3":{"title":"9.8.8","titles":["📠 Change Log"]},"4":{"title":"9.8.7","titles":["📠 Change Log"]},"5":{"title":"9.8.6","titles":["📠 Change Log"]},"6":{"title":"9.8.5","titles":["📠 Change Log"]},"7":{"title":"9.8.3","titles":["📠 Change Log"]},"8":{"title":"9.8.2","titles":["📠 Change Log"]},"9":{"title":"9.8.1","titles":["📠 Change Log"]},"10":{"title":"9.8.0","titles":["📠 Change Log"]},"11":{"title":"9.7.1","titles":["📠 Change Log"]},"12":{"title":"9.7.0","titles":["📠 Change Log"]},"13":{"title":"9.6.0","titles":["📠 Change Log"]},"14":{"title":"9.5.4","titles":["📠 Change Log"]},"15":{"title":"9.5.3","titles":["📠 Change Log"]},"16":{"title":"9.5.2","titles":["📠 Change Log"]},"17":{"title":"9.5.1","titles":["📠 Change Log"]},"18":{"title":"9.5.0","titles":["📠 Change Log"]},"19":{"title":"9.4.0","titles":["📠 Change Log"]},"20":{"title":"9.3.0","titles":["📠 Change Log"]},"21":{"title":"9.2.2","titles":["📠 Change Log"]},"22":{"title":"9.2.1","titles":["📠 Change Log"]},"23":{"title":"9.2.0","titles":["📠 Change Log"]},"24":{"title":"9.1.3","titles":["📠 Change Log"]},"25":{"title":"9.1.2","titles":["📠 Change Log"]},"26":{"title":"9.1.1","titles":["📠 Change Log"]},"27":{"title":"9.1.0","titles":["📠 Change Log"]},"28":{"title":"9.0.1","titles":["📠 Change Log"]},"29":{"title":"9.0.0","titles":["📠 Change Log"]},"30":{"title":"8.x","titles":["📠 Change Log"]},"31":{"title":"7.x","titles":["📠 Change Log"]},"32":{"title":"6.x","titles":["📠 Change Log"]},"33":{"title":"5.x","titles":["📠 Change Log"]},"34":{"title":"4.x","titles":["📠 Change Log"]},"35":{"title":"Chart API","titles":[]},"36":{"title":"init(ds, options)","titles":["Chart API"]},"37":{"title":"dispose(dcs)","titles":["Chart API"]},"38":{"title":"registerLocale(locale, locales)","titles":["Chart API"]},"39":{"title":"getOverlayClass()","titles":["Chart API"]},"40":{"title":"getSupportedLocales()","titles":["Chart API"]},"41":{"title":"registerStyles(name, styles)","titles":["Chart API"]},"42":{"title":"registerFigure(figure)","titles":["Chart API"]},"43":{"title":"getSupportedFigures()","titles":["Chart API"]},"44":{"title":"getFigureClass(name)","titles":["Chart API"]},"45":{"title":"registerIndicator(indicator)","titles":["Chart API"]},"46":{"title":"getSupportedIndicators()","titles":["Chart API"]},"47":{"title":"registerOverlay(overlay)","titles":["Chart API"]},"48":{"title":"getSupportedOverlays()","titles":["Chart API"]},"49":{"title":"registerXAxis(axis) ^9.8.0","titles":["Chart API"]},"50":{"title":"registerYAxis(axis) ^9.8.0","titles":["Chart API"]},"51":{"title":"version()","titles":["Chart API"]},"52":{"title":"utils","titles":["Chart API"]},"53":{"title":"utils.clone(target)","titles":["Chart API","utils"]},"54":{"title":"utils.merge(target, source)","titles":["Chart API","utils"]},"55":{"title":"utils.isString(value)","titles":["Chart API","utils"]},"56":{"title":"utils.isNumber(value)","titles":["Chart API","utils"]},"57":{"title":"utils.isValid(value)","titles":["Chart API","utils"]},"58":{"title":"utils.isObject(value)","titles":["Chart API","utils"]},"59":{"title":"utils.isFunction(value)","titles":["Chart API","utils"]},"60":{"title":"utils.isBoolean(value)","titles":["Chart API","utils"]},"61":{"title":"utils.formatValue(value, key, defaultValue)","titles":["Chart API","utils"]},"62":{"title":"utils.formatPrecision(value)","titles":["Chart API","utils"]},"63":{"title":"utils.formatBigNumber(value)","titles":["Chart API","utils"]},"64":{"title":"utils.formatDate(dateTimeFormat, timestamp, format)","titles":["Chart API","utils"]},"65":{"title":"utils.formatThousands(value, sign)","titles":["Chart API","utils"]},"66":{"title":"utils.formatFoldDecimal(value, threshold) ^9.8.0","titles":["Chart API","utils"]},"67":{"title":"utils.calcTextWidth(text, size, weight, family) ^9.3.0","titles":["Chart API","utils"]},"68":{"title":"utils.getLinearSlopeIntercept(coordinate1, coordinate2)","titles":["Chart API","utils"]},"69":{"title":"utils.getLinearYFromCoordinates(coordinate1, coordinate2, targetCoordinate)","titles":["Chart API","utils"]},"70":{"title":"utils.getLinearYFromSlopeIntercept(kb, targetCoordinate)","titles":["Chart API","utils"]},"71":{"title":"utils.checkCoordinateOnArc(coordinate, arc)","titles":["Chart API","utils"]},"72":{"title":"utils.checkCoordinateOnCircle(coordinate, circle)","titles":["Chart API","utils"]},"73":{"title":"utils.checkCoordinateOnLine(coordinate, line)","titles":["Chart API","utils"]},"74":{"title":"utils.checkCoordinateOnPolygon(coordinate, polygon)","titles":["Chart API","utils"]},"75":{"title":"utils.checkCoordinateOnRect(coordinate, rect)","titles":["Chart API","utils"]},"76":{"title":"utils.checkCoordinateOnText(coordinate, text, styles)","titles":["Chart API","utils"]},"77":{"title":"utils.drawArc(ctx, arc, styles)","titles":["Chart API","utils"]},"78":{"title":"utils.drawCircle(ctx, circle, styles)","titles":["Chart API","utils"]},"79":{"title":"utils.drawLine(ctx, line, styles)","titles":["Chart API","utils"]},"80":{"title":"utils.drawPolygon(ctx, polygon, styles)","titles":["Chart API","utils"]},"81":{"title":"utils.drawRect(ctx, rect, styles)","titles":["Chart API","utils"]},"82":{"title":"utils.drawRectText(ctx, rectText, styles)","titles":["Chart API","utils"]},"83":{"title":"utils.drawRectText(ctx, rectText, styles)","titles":["Chart API","utils"]},"84":{"title":"Custom Axis ^9.8.0","titles":[]},"85":{"title":"Input params introduction","titles":["Custom Axis ^9.8.0"]},"86":{"title":"Usage","titles":["Custom Axis ^9.8.0"]},"87":{"title":"Using init of chart api","titles":["Custom Axis ^9.8.0","Usage"]},"88":{"title":"Using createIndicator of instance api","titles":["Custom Axis ^9.8.0","Usage"]},"89":{"title":"Using setPaneOptions of instance api","titles":["Custom Axis ^9.8.0","Usage"]},"90":{"title":"📚 Data","titles":[]},"91":{"title":"🏝️ Environment","titles":[]},"92":{"title":"Browser support","titles":["🏝️ Environment"]},"93":{"title":"Polyfill","titles":["🏝️ Environment"]},"94":{"title":"Figure","titles":[]},"95":{"title":"Example of use","titles":["Figure"]},"96":{"title":"Built-in figures","titles":["Figure"]},"97":{"title":"arc","titles":["Figure","Built-in figures"]},"98":{"title":"circle","titles":["Figure","Built-in figures"]},"99":{"title":"line","titles":["Figure","Built-in figures"]},"100":{"title":"rect","titles":["Figure","Built-in figures"]},"101":{"title":"text","titles":["Figure","Built-in figures"]},"102":{"title":"rectText","titles":["Figure","Built-in figures"]},"103":{"title":"Customize figure","titles":["Figure"]},"104":{"title":"Attribute description","titles":["Figure","Customize figure"]},"105":{"title":"Example","titles":["Figure","Customize figure"]},"106":{"title":"Step.1","titles":["Figure","Customize figure","Example"]},"107":{"title":"Step.2","titles":["Figure","Customize figure","Example"]},"108":{"title":"⌨️ Hot Key","titles":[]},"109":{"title":"🌏 Internationalization","titles":[]},"110":{"title":"Adding new language","titles":["🌏 Internationalization"]},"111":{"title":"Use new language","titles":["🌏 Internationalization"]},"112":{"title":"Technical indicator","titles":[]},"113":{"title":"Built-in technical indicators","titles":["Technical indicator"]},"114":{"title":"Custom Technical Indicators","titles":["Technical indicator"]},"115":{"title":"Attribute description","titles":["Technical indicator","Custom Technical Indicators"]},"116":{"title":"Step.1","titles":["Technical indicator","Custom Technical Indicators","Attribute description"]},"117":{"title":"Step.2","titles":["Technical indicator","Custom Technical Indicators","Attribute description"]},"118":{"title":"Instance API","titles":[]},"119":{"title":"getDom(paneId, position)","titles":["Instance API"]},"120":{"title":"getSize(paneId, position)","titles":["Instance API"]},"121":{"title":"setStyles(styles)","titles":["Instance API"]},"122":{"title":"getStyles()","titles":["Instance API"]},"123":{"title":"setPriceVolumePrecision(pricePrecision, volumePrecision)","titles":["Instance API"]},"124":{"title":"setTimezone(timezone)","titles":["Instance API"]},"125":{"title":"getTimezone()","titles":["Instance API"]},"126":{"title":"setZoomEnabled(enabled)","titles":["Instance API"]},"127":{"title":"isZoomEnabled()","titles":["Instance API"]},"128":{"title":"setScrollEnabled(enabled)","titles":["Instance API"]},"129":{"title":"isScrollEnabled()","titles":["Instance API"]},"130":{"title":"setOffsetRightDistance(distance)","titles":["Instance API"]},"131":{"title":"getOffsetRightDistance() ^9.2.0","titles":["Instance API"]},"132":{"title":"setMaxOffsetLeftDistance() ^9.7.0","titles":["Instance API"]},"133":{"title":"setMaxOffsetRightDistance() ^9.7.0","titles":["Instance API"]},"134":{"title":"setLeftMinVisibleBarCount(barCount)","titles":["Instance API"]},"135":{"title":"setRightMinVisibleBarCount(barCount)","titles":["Instance API"]},"136":{"title":"setBarSpace(space)","titles":["Instance API"]},"137":{"title":"getBarSpace()","titles":["Instance API"]},"138":{"title":"getVisibleRange()","titles":["Instance API"]},"139":{"title":"applyNewData(dataList, more, callback)","titles":["Instance API"]},"140":{"title":"applyMoreData(dataList, more, callback)","titles":["Instance API"]},"141":{"title":"updateData(data, callback)","titles":["Instance API"]},"142":{"title":"getDataList()","titles":["Instance API"]},"143":{"title":"clearData()","titles":["Instance API"]},"144":{"title":"loadMore(cb)","titles":["Instance API"]},"145":{"title":"setLoadDataCallback(cb) ^9.8.0","titles":["Instance API"]},"146":{"title":"createIndicator(value, isStack, paneOptions, callback)","titles":["Instance API"]},"147":{"title":"overrideIndicator(override, paneId, callback)","titles":["Instance API"]},"148":{"title":"getIndicatorByPaneId(paneId, name)","titles":["Instance API"]},"149":{"title":"removeIndicator(paneId, name)","titles":["Instance API"]},"150":{"title":"createOverlay(value, paneId)","titles":["Instance API"]},"151":{"title":"getOverlayById(id)","titles":["Instance API"]},"152":{"title":"overrideOverlay(override)","titles":["Instance API"]},"153":{"title":"removeOverlay(remove)","titles":["Instance API"]},"154":{"title":"scrollByDistance(distance, animationDuration)","titles":["Instance API"]},"155":{"title":"scrollToRealTime(animationDuration)","titles":["Instance API"]},"156":{"title":"scrollToDataIndex(dataIndex, animationDuration)","titles":["Instance API"]},"157":{"title":"scrollToTimestamp(timestamp, animationDuration)","titles":["Instance API"]},"158":{"title":"zoomAtCoordinate(scale, coordinate, animationDuration)","titles":["Instance API"]},"159":{"title":"zoomAtDataIndex(scale, dataIndex, animationDuration)","titles":["Instance API"]},"160":{"title":"zoomAtTimestamp(scale, timestamp, animationDuration)","titles":["Instance API"]},"161":{"title":"setPaneOptions(options)","titles":["Instance API"]},"162":{"title":"executeAction(type, data) ^9.2.0","titles":["Instance API"]},"163":{"title":"subscribeAction(type, callback)","titles":["Instance API"]},"164":{"title":"unsubscribeAction(type, callback)","titles":["Instance API"]},"165":{"title":"convertToPixel(value, finder)","titles":["Instance API"]},"166":{"title":"convertFromPixel(coordinate, finder)","titles":["Instance API"]},"167":{"title":"getConvertPictureUrl(includeOverlay, type, backgroundColor)","titles":["Instance API"]},"168":{"title":"resize()","titles":["Instance API"]},"169":{"title":"📃 Introduction","titles":[]},"170":{"title":"What\'s KLineChart?","titles":["📃 Introduction"]},"171":{"title":"Features","titles":["📃 Introduction"]},"172":{"title":"Overlay","titles":[]},"173":{"title":"Built-in overlay types","titles":["Overlay"]},"174":{"title":"Custom overlays","titles":["Overlay"]},"175":{"title":"Attribute description","titles":["Overlay","Custom overlays"]},"176":{"title":"Example","titles":["Overlay","Custom overlays"]},"177":{"title":"🚀 Quick Start","titles":[]},"178":{"title":"Get KLineChart","titles":["🚀 Quick Start"]},"179":{"title":"Create the first chart","titles":["🚀 Quick Start"]},"180":{"title":"🎨 Style","titles":[]},"181":{"title":"Picture explanation","titles":["🎨 Style"]},"182":{"title":"Default full configuration","titles":["🎨 Style"]},"183":{"title":"🛠️ From V8 to V9","titles":[]},"184":{"title":"Import adjustment","titles":["🛠️ From V8 to V9"]},"185":{"title":"Design adjustment","titles":["🛠️ From V8 to V9"]},"186":{"title":"Style configuration adjustment","titles":["🛠️ From V8 to V9"]},"187":{"title":"API adjustment","titles":["🛠️ From V8 to V9"]},"188":{"title":"Chart API","titles":["🛠️ From V8 to V9","API adjustment"]},"189":{"title":"Instance API","titles":["🛠️ From V8 to V9","API adjustment"]},"190":{"title":"Shape help API","titles":["🛠️ From V8 to V9","API adjustment"]},"191":{"title":"Customized technical indicator adjustment","titles":["🛠️ From V8 to V9"]},"192":{"title":"💬 Feedback","titles":[]},"193":{"title":"Github","titles":["💬 Feedback"]},"194":{"title":"Telegram","titles":["💬 Feedback"]},"195":{"title":"Wechat discussion group","titles":["💬 Feedback"]},"196":{"title":"Local Development","titles":[]},"197":{"title":"Introduction","titles":["Local Development"]},"198":{"title":"Notice","titles":["Local Development"]},"199":{"title":"File directory description","titles":["Local Development","Notice"]},"200":{"title":"Module dependencies","titles":["Local Development","Notice"]},"201":{"title":"Development","titles":["Local Development"]},"202":{"title":"Installation dependencies","titles":["Local Development","Development"]},"203":{"title":"NPM Execute command description","titles":["Local Development","Development"]},"204":{"title":"Debug","titles":["Local Development","Development"]},"205":{"title":"🙋 FAQ","titles":[]},"206":{"title":"After the chart is initialized, only one line can be seen?","titles":["🙋 FAQ"]},"207":{"title":"The candle shows a line, no fluctuation, what to do?","titles":["🙋 FAQ"]},"208":{"title":"How to create a real-time chart?","titles":["🙋 FAQ"]},"209":{"title":"Built-in technical indicators, calculated data is not what you want, how to do?","titles":["🙋 FAQ"]},"210":{"title":"What if I want to create an indicator other than the built-in technical indicator?","titles":["🙋 FAQ"]},"211":{"title":"Want to mark the point of sale, how should do?","titles":["🙋 FAQ"]},"212":{"title":"Axis","titles":[]},"213":{"title":"Basic","titles":[]},"214":{"title":"Candle Type","titles":[]},"215":{"title":"Data","titles":[]},"216":{"title":"I18n","titles":[]},"217":{"title":"Indicator","titles":[]},"218":{"title":"Overlay","titles":[]},"219":{"title":"Theme","titles":[]},"220":{"title":"Timezone","titles":[]},"221":{"title":"Tooltip","titles":[]},"222":{"title":"❤️ Sponsor","titles":[]},"223":{"title":"Sponsor Channels","titles":["❤️ Sponsor"]},"224":{"title":"Alipay","titles":["❤️ Sponsor","Sponsor Channels"]},"225":{"title":"Wechat Pay","titles":["❤️ Sponsor","Sponsor Channels"]},"226":{"title":"Cryptocurrency","titles":["❤️ Sponsor","Sponsor Channels"]}},"dirtCount":0,"index":[["☕️",{"2":{"222":1}}],["❤️",{"0":{"222":1},"1":{"223":1,"224":1,"225":1,"226":1}}],["指标信息提示",{"2":{"221":1}}],["基础信息提示",{"2":{"221":1}}],["矩形框",{"2":{"221":1}}],["默认",{"2":{"221":1}}],["不显示",{"2":{"221":1}}],["跟随十字光标",{"2":{"221":1}}],["总是显示",{"2":{"221":1}}],["芝加哥",{"2":{"220":1}}],["柏林",{"2":{"220":1}}],["上海",{"2":{"220":1}}],["红涨绿跌",{"2":{"219":1}}],["绿涨红跌",{"2":{"219":1}}],["深色",{"2":{"219":1}}],["浅色",{"2":{"219":1}}],["自定义",{"2":{"218":1}}],["圆",{"2":{"218":1}}],["内置",{"2":{"218":1}}],["内部",{"2":{"212":1}}],["价格线",{"2":{"218":1}}],["副图指标",{"2":{"217":1}}],["主图指标",{"2":{"217":1}}],["🥑",{"2":{"217":1}}],["🥭",{"2":{"217":1}}],["🥝",{"2":{"217":1}}],["🥥",{"2":{"217":1}}],["繁体中文",{"2":{"216":1}}],["简体中文",{"2":{"216":1}}],["面积图",{"2":{"214":1}}],["跌空心",{"2":{"214":1}}],["涨空心",{"2":{"214":1}}],["全空心",{"2":{"214":1}}],["全实心",{"2":{"214":1}}],["反向",{"2":{"212":1}}],["正向",{"2":{"212":1}}],["对数轴",{"2":{"212":1}}],["百分比轴",{"2":{"212":1}}],["线性轴",{"2":{"212":1}}],["外部",{"2":{"212":1}}],["左侧",{"2":{"212":1}}],["右侧",{"2":{"212":1}}],["在实际项目中根据情况进行调整",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["以下仅仅是为了协助代码演示",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["销毁图表",{"2":{"179":1}}],["quick",{"0":{"177":1},"1":{"178":1,"179":1},"2":{"179":2}}],["quantity",{"2":{"175":1}}],["j++",{"2":{"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["join",{"2":{"195":1}}],["jsimport",{"2":{"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["jsximport",{"2":{"179":1}}],["js",{"2":{"178":1,"179":2,"202":2}}],["jsdelivr",{"2":{"178":1,"179":1}}],["just",{"2":{"178":1}}],["jpeg",{"2":{"167":2}}],["j",{"2":{"117":6,"212":2,"213":2,"214":2,"215":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2}}],["javascripthtml",{"2":{"213":1,"215":1}}],["javascripthtmlcss",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["javascriptchart",{"2":{"146":1,"147":1,"150":1,"152":1,"161":1,"208":1}}],["javascript",{"2":{"95":1,"107":1,"116":1,"117":1,"175":1,"176":1,"178":1,"179":1,"182":1}}],["漲幅",{"2":{"110":1}}],["成交額",{"2":{"110":1}}],["成交量",{"2":{"110":1,"216":1}}],["收",{"2":{"110":1,"216":1}}],["低",{"2":{"110":1,"216":1}}],["高",{"2":{"110":1,"216":1}}],["開",{"2":{"110":1,"216":1}}],["時間",{"2":{"110":1,"216":1}}],["←",{"2":{"108":1}}],["→",{"2":{"108":1}}],["⌨️",{"0":{"108":1}}],["🌟",{"2":{"222":1}}],["🍍",{"2":{"217":1}}],["🍑",{"2":{"217":1}}],["🍒",{"2":{"217":1}}],["🍈",{"2":{"217":1}}],["🍓",{"2":{"217":1}}],["🍇",{"2":{"217":1}}],["🍉",{"2":{"217":1}}],["🍌",{"2":{"217":1}}],["🍋",{"2":{"217":1}}],["🍊",{"2":{"217":1}}],["🍐",{"2":{"217":1}}],["🍎",{"2":{"217":1}}],["🍏",{"2":{"217":2}}],["🎨",{"0":{"180":1},"1":{"181":1,"182":1},"2":{"171":1}}],["🌏",{"0":{"109":1},"1":{"110":1,"111":1}}],["🏝️",{"0":{"91":1},"1":{"92":1,"93":1}}],["🆕",{"2":{"10":4,"12":2,"13":3,"17":2,"18":2,"19":3,"20":3,"23":5,"27":2,"29":1}}],["`performeventmovefordrawing`",{"2":{"175":1}}],["`createpointfigures`",{"2":{"175":2}}],["`weak",{"2":{"175":1}}],["`normal`",{"2":{"175":1}}],["`ma$",{"2":{"117":2}}],["`strong",{"2":{"175":1}}],["`stroke",{"2":{"98":1,"99":1,"100":1,"101":1}}],["`stroke`",{"2":{"98":1,"99":1,"100":1,"101":1}}],["`solid`",{"2":{"97":1,"99":1}}],["`fill`",{"2":{"98":1,"99":1,"100":1,"101":1}}],["`dashed`",{"2":{"97":1,"99":1}}],["`",{"2":{"87":3,"88":1,"89":1,"117":2,"179":1}}],["`$",{"2":{"87":3,"88":1,"89":1}}],["+=",{"2":{"212":1,"213":1,"214":1,"215":3,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["+098syuqtzi0ynzll",{"2":{"194":1}}],["+",{"2":{"68":1,"107":5,"108":5,"117":2,"176":1,"212":9,"213":9,"214":9,"215":9,"216":9,"217":11,"218":10,"219":9,"220":9,"221":9}}],["===",{"2":{"107":5,"176":1,"218":1,"219":2}}],["=",{"2":{"61":1,"68":1,"95":1,"107":14,"117":6,"139":1,"141":1,"176":3,"179":8,"212":31,"213":16,"214":22,"215":22,"216":22,"217":39,"218":25,"219":28,"220":22,"221":35}}],["=>",{"2":{"36":3,"37":1,"38":1,"39":1,"40":1,"41":1,"42":3,"43":1,"44":1,"45":9,"46":1,"47":20,"48":1,"49":2,"50":2,"51":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"85":1,"97":1,"98":1,"99":2,"100":1,"101":1,"104":2,"107":2,"115":6,"117":5,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":2,"140":2,"141":2,"142":1,"143":1,"144":2,"145":3,"146":10,"147":13,"148":1,"149":1,"150":29,"151":1,"152":15,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":2,"163":2,"164":2,"165":1,"166":1,"167":1,"168":1,"175":17,"176":1,"179":13,"212":8,"214":2,"215":3,"216":2,"217":7,"218":3,"219":2,"220":2,"221":8}}],["kinecharts",{"2":{"183":1}}],["kdj",{"2":{"113":1}}],["kb",{"0":{"70":1},"2":{"70":1}}],["kx",{"2":{"68":1}}],["k",{"2":{"68":1,"115":2,"139":1,"140":1,"141":1,"212":2,"213":2,"214":2,"215":2,"216":2,"217":2,"218":2,"219":4,"220":2,"221":2}}],["klinechart",{"0":{"170":1,"178":1},"2":{"170":1,"178":1,"193":2,"195":1,"197":1,"222":2}}],["klinecharts",{"2":{"23":2,"36":1,"94":1,"95":1,"103":1,"110":1,"114":1,"174":1,"175":1,"178":7,"179":8,"183":1,"184":3,"190":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1}}],["klinedata>",{"2":{"145":1}}],["klinedatalist",{"2":{"115":2,"117":4,"191":4,"217":2}}],["klinedata",{"2":{"45":1,"115":11,"117":2,"145":1,"146":1,"147":1,"217":2}}],["keywords",{"2":{"179":1}}],["key",{"0":{"61":1,"108":1},"2":{"45":2,"47":6,"61":1,"110":1,"111":1,"115":1,"116":2,"117":5,"146":2,"147":2,"175":2,"176":1,"182":1,"212":17,"214":8,"216":5,"217":1,"218":5,"219":6,"220":5,"221":13}}],["^9",{"0":{"49":1,"50":1,"66":1,"67":1,"84":1,"131":1,"132":1,"133":1,"145":1,"162":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1},"2":{"36":2,"47":2,"139":1,"140":1,"141":1,"146":3,"147":1,"152":2,"161":2}}],[">`",{"2":{"179":1}}],[">=",{"2":{"117":1}}],[">",{"2":{"36":1,"45":4,"47":4,"49":1,"50":1,"73":1,"74":1,"79":1,"80":1,"85":2,"99":2,"115":2,"139":1,"140":1,"142":1,"146":4,"147":4,"150":3,"152":1,"165":2,"166":1,"175":4,"178":1,"179":13,"195":1,"212":2,"213":1,"214":2,"215":1,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2}}],["||",{"2":{"107":2,"117":1}}],["|",{"2":{"36":7,"37":2,"45":5,"47":17,"49":1,"50":1,"62":1,"63":1,"65":1,"66":1,"67":1,"76":10,"77":1,"78":4,"79":1,"80":4,"81":4,"82":13,"85":2,"97":1,"98":3,"99":4,"100":3,"101":5,"115":5,"119":2,"120":2,"121":1,"144":1,"145":1,"146":17,"147":14,"150":8,"152":3,"153":1,"163":7,"164":7,"165":2,"166":2,"175":9,"182":54}}],["hu",{"2":{"222":1}}],["https",{"2":{"175":1,"178":1,"179":1,"193":2,"194":1,"222":1}}],["htmlid",{"2":{"189":1}}],["html>",{"2":{"179":2}}],["html",{"2":{"178":1,"179":1,"189":1}}],["html5",{"2":{"92":1}}],["htmlelement",{"2":{"36":1,"37":1,"119":1,"121":1}}],["hide",{"2":{"221":1}}],["hierarchy",{"2":{"200":1}}],["historical",{"2":{"139":1,"140":2}}],["hint",{"2":{"115":1}}],["highly",{"2":{"170":1,"171":1}}],["highest",{"2":{"90":1}}],["high",{"2":{"38":1,"90":1,"100":1,"110":1,"115":2,"139":1,"140":1,"141":1,"142":1,"175":1,"179":70,"182":3,"212":3,"213":3,"214":3,"215":5,"216":4,"217":3,"218":3,"219":3,"220":3,"221":3}}],["hk",{"2":{"110":1,"216":2}}],["homepage",{"2":{"222":3}}],["hope",{"2":{"222":1}}],["hoped",{"2":{"117":1}}],["hooks",{"2":{"179":1}}],["hold",{"2":{"175":3}}],["hot",{"0":{"108":1}}],["how",{"0":{"208":1,"209":1,"211":1},"2":{"94":1,"112":1,"172":1,"175":1,"176":1,"222":1}}],["horizontalstraightline",{"2":{"173":1}}],["horizontalsegment",{"2":{"173":1}}],["horizontalrayline",{"2":{"173":1}}],["horizontal",{"2":{"29":1,"76":1,"82":1,"182":2}}],["hh",{"2":{"64":1}}],["help",{"0":{"190":1},"2":{"183":1}}],["helper",{"2":{"52":1}}],["helvetica",{"2":{"182":12,"217":1}}],["head>",{"2":{"179":2}}],["here",{"2":{"87":3,"88":1,"89":1,"117":2,"143":1}}],["height",{"2":{"29":2,"36":1,"75":3,"81":3,"82":3,"85":1,"100":1,"101":2,"106":3,"107":8,"115":2,"120":1,"146":6,"161":6,"175":1,"179":7,"186":2,"206":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["halfgapbar",{"2":{"115":1,"175":1}}],["halfbar",{"2":{"115":1,"175":1}}],["handle",{"2":{"171":1,"175":2}}],["handling",{"2":{"27":1,"47":1}}],["hanging",{"2":{"76":1,"82":1}}],["has",{"2":{"29":1,"106":2,"109":1,"115":1,"139":1,"140":1,"141":1,"144":1,"176":1,"206":1,"211":1}}],["have",{"2":{"20":1,"38":1,"105":1,"152":1,"204":1}}],["↩️",{"2":{"17":1}}],["global",{"2":{"175":2,"178":1}}],["globally",{"2":{"103":1,"114":1,"115":3,"174":1}}],["gzip",{"2":{"171":1}}],["green",{"2":{"219":15}}],["grid",{"2":{"182":1,"200":1}}],["group",{"0":{"195":1},"2":{"152":1,"153":1,"195":1}}],["groupid",{"2":{"150":3,"152":3,"153":2}}],["graph",{"2":{"42":1,"43":2,"44":1,"104":2,"115":3}}],["graphic",{"2":{"20":1,"115":2,"175":3,"176":1}}],["graphics",{"2":{"1":1,"45":2,"104":1,"115":1,"147":2,"153":1,"175":6,"176":1}}],["gt",{"2":{"139":1,"141":1}}],["given",{"2":{"115":1}}],["github",{"0":{"193":1},"2":{"30":1,"31":1,"32":1,"33":1,"34":1,"193":2,"222":1}}],["good",{"2":{"222":1}}],["go",{"2":{"30":1,"31":1,"32":1,"33":1,"34":1}}],["gapbar",{"2":{"115":1,"175":1,"217":1}}],["gaps",{"2":{"115":1,"175":1}}],["gap",{"2":{"29":1,"36":1,"130":1,"131":1,"132":1,"133":1,"146":3,"161":3,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["gendata",{"2":{"212":2,"213":2,"214":2,"215":4,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2}}],["generally",{"2":{"115":1,"143":1}}],["generated",{"2":{"176":1}}],["generate",{"2":{"103":1,"114":1,"203":2}}],["generation",{"2":{"20":1}}],["getelementbyid",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":3,"220":1,"221":1}}],["getalphablue",{"2":{"182":1}}],["getconvertpictureurl",{"0":{"167":1}}],["getdatalist",{"0":{"142":1},"2":{"215":1}}],["getdom",{"0":{"119":1},"2":{"189":3}}],["getbarspace",{"0":{"137":1}}],["gettime",{"2":{"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["gettimezone",{"0":{"125":1}}],["gettechnicalindicatortemplate",{"2":{"29":1}}],["gettechnicalindicatorbypaneid",{"2":{"29":1,"189":2}}],["getlinearyfromslopeintercept",{"0":{"70":1}}],["getlinearyfromcoordinates",{"0":{"69":1}}],["getlinearslopeintercept",{"0":{"68":1}}],["getlocal",{"2":{"29":1}}],["get",{"0":{"178":1},"2":{"36":1,"39":1,"40":1,"43":1,"44":1,"46":1,"48":1,"51":1,"61":1,"68":1,"69":1,"70":1,"95":1,"115":1,"119":1,"120":1,"122":1,"124":1,"125":1,"131":1,"138":1,"142":1,"151":1,"167":1,"171":1}}],["getheight",{"2":{"29":1,"189":1}}],["getwidth",{"2":{"29":1,"189":1}}],["getindicatorbypaneid",{"0":{"148":1},"2":{"29":1,"189":1}}],["getvisiblerange",{"0":{"138":1},"2":{"29":1}}],["gets",{"2":{"137":1}}],["getstyles",{"0":{"122":1},"2":{"29":1,"189":1}}],["getstyleoptions",{"2":{"29":1,"189":1}}],["getsize",{"0":{"120":1},"2":{"29":2,"189":1}}],["getsupportedoverlays",{"0":{"48":1}}],["getsupportedindicators",{"0":{"46":1}}],["getsupportedfigures",{"0":{"43":1}}],["getsupportedlocales",{"0":{"40":1}}],["getsupportlocales",{"2":{"29":1}}],["getsupportoverlays",{"2":{"29":1}}],["getsupportfigures",{"2":{"29":1,"175":1}}],["getfigureclass",{"0":{"44":1},"2":{"29":1,"94":1,"95":1}}],["getoverlaybyid",{"0":{"151":1},"2":{"29":1}}],["getoverlayclass",{"0":{"39":1},"2":{"17":1}}],["getoffsetrightdistance",{"0":{"131":1},"2":{"23":1}}],["4px",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["430px",{"2":{"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["45",{"2":{"182":3,"219":1}}],["42",{"2":{"179":7}}],["4986",{"2":{"179":7}}],["4980",{"2":{"179":7}}],["4988",{"2":{"179":7}}],["4985",{"2":{"179":7}}],["4981",{"2":{"179":14}}],["4964",{"2":{"179":21}}],["4961",{"2":{"179":35}}],["4963",{"2":{"179":7}}],["4962",{"2":{"179":7}}],["4968",{"2":{"179":14}}],["4966",{"2":{"179":14}}],["4975",{"2":{"179":7}}],["4974",{"2":{"179":7}}],["4973",{"2":{"179":14}}],["4971",{"2":{"179":7}}],["4979",{"2":{"179":21}}],["4972",{"2":{"179":21}}],["4970",{"2":{"179":7}}],["4977",{"2":{"179":42}}],["4976",{"2":{"179":14}}],["40k",{"2":{"171":1}}],["40",{"2":{"113":1,"182":3,"219":1}}],["4",{"0":{"14":1,"19":1,"34":1},"2":{"34":1,"115":1,"147":1,"182":48,"212":2,"213":2,"214":2,"215":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2}}],["ue900",{"2":{"182":2}}],["utf",{"2":{"179":1}}],["utils",{"0":{"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1},"1":{"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1},"2":{"13":2,"20":1,"23":2,"83":2,"190":1}}],["umd",{"2":{"178":2,"179":1,"203":13}}],["url",{"2":{"167":1}}],["usdt",{"2":{"226":2}}],["using",{"0":{"87":1,"88":1,"89":1}}],["usage",{"0":{"86":1},"1":{"87":1,"88":1,"89":1}}],["us",{"2":{"36":1,"38":1,"109":2,"175":1,"216":1}}],["useeffect",{"2":{"179":4}}],["used",{"2":{"87":2,"88":1,"89":1,"95":1,"115":3,"145":1,"175":2,"176":2,"211":1}}],["uses",{"2":{"87":3,"88":1,"89":1}}],["use",{"0":{"95":1,"111":1},"2":{"29":6,"83":1,"86":2,"92":1,"102":1,"103":1,"109":1,"114":1,"139":1,"141":1,"144":1,"174":1,"176":1,"178":2,"184":1,"186":1,"188":1,"189":3,"202":1,"204":2,"222":2}}],["upper",{"2":{"200":1}}],["upgrade",{"2":{"183":3}}],["upcolor",{"2":{"147":2,"182":5,"219":10}}],["up",{"2":{"115":1,"182":1,"203":1,"214":2}}],["update",{"2":{"141":1,"200":1}}],["updates",{"2":{"26":1}}],["updatedata",{"0":{"141":1},"2":{"23":1,"90":1,"215":4}}],["upwickcolor",{"2":{"23":1,"182":1,"219":2}}],["upbordercolor",{"2":{"23":1,"182":1,"219":2}}],["uniformly",{"2":{"184":1}}],["unique",{"2":{"42":1,"45":1,"47":1,"104":1,"147":1,"152":1,"175":1}}],["unsubscribe",{"2":{"164":1}}],["unsubscribeaction",{"0":{"164":1},"2":{"27":1,"189":1}}],["unsynchronized",{"2":{"4":1}}],["under",{"2":{"18":1,"171":1,"222":1}}],["zero",{"2":{"171":2}}],["z",{"2":{"115":1,"147":1}}],["zone",{"2":{"36":2,"124":4,"125":1}}],["zoom",{"2":{"29":1,"108":2,"146":1,"158":1,"161":1}}],["zoomattimestamp",{"0":{"160":1},"2":{"1":1}}],["zoomatdataindex",{"0":{"159":1},"2":{"1":1}}],["zoomatcoordinate",{"0":{"158":1},"2":{"1":1}}],["zooming",{"2":{"1":2,"108":1}}],["zh",{"2":{"36":1,"38":1,"109":1,"110":1,"216":3}}],["zlevel",{"2":{"12":2,"19":1,"47":2,"115":1,"146":1,"147":3,"150":3,"152":3,"175":1}}],["v2",{"2":{"222":1}}],["v9",{"0":{"183":1},"1":{"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1}}],["v8",{"0":{"183":1},"1":{"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1}}],["vue",{"2":{"179":1}}],["var",{"2":{"179":1}}],["variable",{"2":{"178":1}}],["valid",{"2":{"47":1,"57":1,"146":1,"152":1,"175":1}}],["values",{"2":{"45":1,"115":2,"146":1,"147":1,"165":1,"166":1,"175":3,"186":1,"191":1}}],["value",{"0":{"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"65":1,"66":1,"146":1,"150":1,"165":1},"2":{"13":1,"20":1,"36":2,"45":3,"47":1,"49":1,"50":1,"55":2,"56":2,"57":2,"58":2,"59":2,"60":3,"61":3,"62":1,"63":1,"65":1,"66":1,"69":1,"70":1,"71":2,"72":2,"75":2,"76":2,"77":3,"78":3,"79":1,"80":1,"81":3,"82":3,"85":2,"86":1,"97":2,"98":2,"100":3,"101":3,"104":1,"106":3,"115":8,"116":2,"117":4,"146":6,"147":3,"150":6,"152":3,"161":2,"165":7,"166":2,"175":7,"182":14,"189":5,"191":3}}],["vr",{"2":{"113":1}}],["v10",{"2":{"83":1,"102":1}}],["void",{"2":{"37":1,"38":1,"41":1,"42":2,"45":1,"47":3,"49":1,"50":1,"54":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"104":1,"123":1,"124":1,"126":1,"128":1,"130":1,"132":1,"133":1,"134":1,"135":1,"136":1,"139":2,"140":2,"141":2,"143":1,"144":2,"145":3,"146":1,"147":2,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":2,"163":2,"164":2,"168":1,"175":2,"179":2}}],["vol",{"2":{"9":1,"113":1,"217":1,"219":1,"221":1}}],["volumeprecision",{"0":{"123":1},"2":{"123":2,"207":1}}],["volume",{"2":{"4":1,"38":1,"45":2,"90":2,"110":1,"115":1,"123":3,"139":1,"140":1,"141":1,"142":1,"146":1,"147":2,"175":1,"179":70,"182":2,"212":3,"213":3,"214":3,"215":4,"216":4,"217":3,"218":3,"219":3,"220":3,"221":3}}],["vite",{"2":{"204":1}}],["via",{"2":{"180":1}}],["visible",{"2":{"45":3,"47":3,"115":4,"134":1,"135":1,"138":1,"146":1,"147":4,"150":3,"152":4,"175":2}}],["visiblerange",{"2":{"23":1,"115":2,"191":2,"217":2}}],["viewport",{"2":{"85":1,"179":1,"191":2}}],["view",{"2":{"33":1,"34":1,"200":2}}],["verify",{"2":{"203":1}}],["very",{"2":{"146":1,"222":1}}],["verticalstraightline",{"2":{"173":1}}],["verticalsegment",{"2":{"173":1}}],["verticalrayline",{"2":{"173":1}}],["vertical",{"2":{"14":1,"29":1,"76":1,"82":1,"182":2}}],["version",{"0":{"51":1},"2":{"11":1,"51":1,"139":1,"140":1,"141":1,"144":1,"178":1}}],["would",{"2":{"222":1}}],["works",{"2":{"165":1,"166":1}}],["was",{"2":{"197":1}}],["want",{"0":{"209":1,"210":1,"211":1},"2":{"182":1}}],["wrap",{"2":{"212":2,"214":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2}}],["written",{"2":{"197":1}}],["wr",{"2":{"113":1}}],["what",{"0":{"170":1,"207":1,"209":1,"210":1}}],["while",{"2":{"123":1}}],["which",{"2":{"84":1,"115":1,"121":1,"146":1,"175":7,"176":1,"211":1}}],["whether",{"2":{"71":1,"72":1,"74":1,"75":1,"104":1,"126":1,"127":1,"128":1,"129":1,"139":1,"140":1,"146":1,"161":1,"175":2,"180":1}}],["wheel",{"2":{"9":1}}],["where",{"2":{"5":1,"9":1,"115":1,"175":1}}],["when",{"2":{"1":1,"3":1,"5":1,"9":2,"14":1,"24":2,"47":1,"87":2,"88":1,"89":1,"95":1,"115":1,"117":2,"121":1,"146":2,"148":1,"149":1,"150":1,"152":1,"164":1,"175":1,"182":1}}],["wechat",{"0":{"195":1,"225":1}}],["website",{"2":{"178":1,"222":1}}],["web",{"2":{"175":1}}],["webview",{"2":{"92":1}}],["we",{"2":{"106":1}}],["weight",{"0":{"67":1},"2":{"67":1,"76":3,"82":3,"101":1,"182":10}}],["weak",{"2":{"47":3,"150":3,"152":4,"175":3}}],["well",{"2":{"24":1}}],["widget",{"2":{"200":2}}],["width=device",{"2":{"179":1}}],["width",{"2":{"7":1,"9":1,"20":1,"67":1,"75":3,"81":3,"82":3,"85":1,"100":2,"101":2,"106":3,"107":8,"115":4,"120":1,"136":1,"137":1,"175":2,"179":8}}],["window",{"2":{"115":3,"119":1,"120":1,"146":8,"147":2,"148":4,"149":3,"150":2,"161":7,"165":1,"166":1,"175":1,"179":1}}],["will",{"2":{"36":1,"37":1,"83":1,"102":1,"115":5,"123":1,"124":1,"139":1,"141":3,"143":1,"148":1,"149":1,"152":1,"165":1,"168":2,"175":1,"183":1,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1}}],["with",{"2":{"12":1,"90":2,"105":1,"115":3,"117":3,"146":1,"150":1,"168":1,"171":1,"175":4,"200":1,"211":1,"222":1}}],["yarn",{"2":{"178":1,"202":1}}],["yaxis",{"2":{"2":1,"29":6,"45":3,"115":6,"119":2,"120":2,"146":1,"147":1,"175":2,"182":1,"186":6,"189":1,"191":4,"212":4,"217":2}}],["ydis",{"2":{"107":2,"176":3,"218":3}}],["your",{"2":{"179":1}}],["you",{"0":{"209":1},"2":{"86":1,"90":2,"94":1,"103":1,"106":1,"109":2,"110":1,"111":1,"114":1,"115":4,"171":1,"175":4,"178":3,"180":2,"183":2,"197":3,"202":1,"204":1,"209":1,"222":3}}],["yyyy",{"2":{"64":1}}],["y",{"2":{"7":1,"9":1,"24":1,"29":1,"47":2,"50":1,"68":3,"69":4,"70":2,"71":4,"72":4,"73":2,"74":2,"75":4,"76":4,"77":3,"78":3,"79":1,"80":1,"81":3,"82":3,"87":1,"88":1,"89":1,"97":2,"98":2,"99":2,"100":2,"101":2,"104":1,"106":3,"107":12,"115":2,"152":1,"158":1,"165":4,"166":3,"175":7,"176":2,"217":2,"218":2}}],["35",{"2":{"179":7,"182":2}}],["31",{"2":{"179":7}}],["33",{"2":{"179":7,"182":6}}],["34",{"2":{"113":1,"179":7}}],["30",{"2":{"113":3,"146":1,"179":7,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["3",{"0":{"7":1,"15":1,"20":1,"24":1,"67":1},"2":{"113":3,"146":1,"161":2,"176":1,"182":4,"212":3,"213":3,"214":3,"215":3,"216":3,"217":3,"218":4,"219":3,"220":3,"221":3}}],["rgba",{"2":{"182":17,"219":2}}],["rise",{"2":{"219":6}}],["rippleradius",{"2":{"182":1}}],["ripplecolor",{"2":{"182":1}}],["rich",{"2":{"171":1,"178":1}}],["rigideroverlay",{"2":{"29":1}}],["right",{"2":{"6":1,"47":1,"76":1,"82":2,"85":1,"101":1,"108":1,"115":4,"120":1,"130":1,"131":1,"133":1,"135":1,"152":1,"175":4,"182":4,"212":2}}],["rsi",{"2":{"113":1}}],["round",{"2":{"212":3,"213":3,"214":3,"215":4,"216":3,"217":3,"218":3,"219":3,"220":3,"221":3}}],["root",{"2":{"119":3,"120":3,"189":1,"202":1}}],["roc",{"2":{"113":1}}],["rollback",{"2":{"17":1}}],["run",{"2":{"92":2,"202":1,"203":20}}],["rules",{"2":{"12":1,"203":1,"221":3}}],["random",{"2":{"212":4,"213":4,"214":4,"215":6,"216":4,"217":5,"218":4,"219":4,"220":4,"221":4}}],["range",{"2":{"85":3,"138":1}}],["rayline",{"2":{"173":1}}],["radius",{"2":{"71":1,"72":1,"77":1,"78":1,"81":1,"82":1,"97":1,"98":1,"176":2,"182":2,"212":1,"214":1,"216":1,"217":1,"218":3,"219":1,"220":1,"221":1}}],["ratio",{"2":{"20":2}}],["r",{"2":{"71":2,"72":2,"77":2,"78":2,"97":1,"98":1,"176":1,"218":1}}],["reward",{"2":{"222":1}}],["red",{"2":{"219":15}}],["redrawn",{"2":{"143":1}}],["requires",{"2":{"202":1,"204":1}}],["required",{"2":{"90":7,"104":1,"146":1,"162":1,"175":8,"176":1}}],["retrieve",{"2":{"200":1}}],["returns",{"2":{"175":1}}],["returning",{"2":{"145":1,"150":1}}],["returned",{"2":{"115":1,"117":1,"142":1,"148":2,"149":1,"153":1}}],["return",{"2":{"36":1,"104":1,"107":1,"115":1,"117":4,"122":1,"146":1,"150":1,"151":1,"152":1,"175":4,"176":2,"179":5,"182":1,"191":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":3,"218":3,"219":1,"220":1,"221":1}}],["reverse",{"2":{"182":1,"212":5}}],["repeated",{"2":{"143":1}}],["replace",{"2":{"117":1}}],["resizing",{"2":{"168":1}}],["resize",{"0":{"168":1}}],["respond",{"2":{"117":1}}],["response",{"2":{"18":1}}],["results",{"2":{"117":1}}],["result",{"2":{"115":1,"217":3}}],["react",{"2":{"179":1}}],["reactvueangularpreactsolidsveltevanilla",{"2":{"179":1}}],["read",{"2":{"94":1}}],["realdataindex",{"2":{"115":1}}],["realx",{"2":{"115":1}}],["real",{"0":{"208":1},"2":{"115":4}}],["realrange",{"2":{"85":1}}],["realto",{"2":{"23":1,"85":1,"115":1,"138":1}}],["realfrom",{"2":{"23":1,"85":1,"115":1,"138":1}}],["recalculate",{"2":{"168":1}}],["recommended",{"2":{"94":1,"178":1}}],["recttext",{"0":{"82":1,"83":1,"102":1},"2":{"82":2,"96":1,"182":1}}],["rectangle",{"2":{"75":2,"81":2}}],["rect",{"0":{"75":1,"81":1,"100":1},"2":{"1":1,"17":1,"23":2,"75":2,"81":2,"96":1,"115":1,"182":4,"200":1,"221":2}}],["relevant",{"2":{"200":1}}],["release",{"2":{"33":1,"34":1}}],["related",{"2":{"29":1}}],["regularity",{"2":{"212":1}}],["regenerate",{"2":{"45":1,"115":1,"147":1}}],["regeneratefigures",{"2":{"29":1,"45":2,"115":1,"117":1,"146":1,"147":3,"191":1}}],["regenerateplots",{"2":{"29":1,"191":1}}],["register",{"2":{"86":1}}],["registeryaxis",{"0":{"50":1},"2":{"84":1,"146":1}}],["registerxaxis",{"0":{"49":1},"2":{"84":1}}],["registered",{"2":{"36":1,"121":1}}],["registerstyles",{"0":{"41":1},"2":{"29":1,"36":1,"121":1,"219":3}}],["registerlocale",{"0":{"38":1},"2":{"29":1,"110":2,"216":2}}],["registerfigure",{"0":{"42":1},"2":{"29":1,"103":1}}],["registeroverlay",{"0":{"47":1},"2":{"5":1,"29":1,"174":1,"188":1,"218":2}}],["registerindicator",{"0":{"45":1},"2":{"5":1,"29":1,"114":1,"188":1,"217":2}}],["remove",{"0":{"153":1},"2":{"149":2,"153":2}}],["removehtml",{"2":{"29":1,"189":1}}],["removetag",{"2":{"29":1,"189":1}}],["removetechnicalindicator",{"2":{"29":1,"189":1}}],["removeannotation",{"2":{"29":1,"189":1}}],["removeshape",{"2":{"29":1,"189":1}}],["removeindicator",{"0":{"149":1},"2":{"29":1,"189":1}}],["removeoverlay",{"0":{"153":1},"2":{"29":2,"189":1}}],["reference",{"2":{"175":1}}],["refer",{"2":{"36":2,"41":1,"109":1,"115":7,"121":1,"122":1,"124":1,"139":1,"140":1,"141":1,"142":1,"183":1,"185":1}}],["refreshing",{"2":{"24":1}}],["refactoring",{"2":{"29":1}}],["refactor",{"2":{"13":1}}],["rendering",{"2":{"12":2,"26":1}}],["render",{"2":{"7":1,"29":1,"191":1}}],["55",{"2":{"179":7}}],["56",{"2":{"179":7}}],["53",{"2":{"179":14}}],["5000",{"2":{"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["50",{"2":{"113":1}}],["5",{"0":{"6":1,"14":1,"15":1,"16":1,"17":1,"18":1,"33":1},"2":{"33":1,"47":2,"113":3,"116":2,"117":1,"147":2,"152":2,"182":4}}],["n",{"2":{"182":2}}],["ngondestroy",{"2":{"179":1}}],["ngafterviewinit",{"2":{"179":1}}],["npmyarnpnpmbuncdn",{"2":{"178":1}}],["npm",{"0":{"203":1},"2":{"178":2,"179":1,"202":2,"203":10,"204":1}}],["neue",{"2":{"182":12,"217":1}}],["net",{"2":{"178":1,"179":1}}],["necessary",{"2":{"143":1,"175":5,"222":1}}],["next",{"2":{"115":2}}],["nesting",{"2":{"61":1}}],["needed",{"2":{"175":1,"200":1}}],["need",{"2":{"90":2,"94":1,"103":1,"109":1,"114":1,"115":4,"139":1,"147":1,"152":1,"175":4}}],["needdefaultyaxisfigure",{"2":{"47":2,"150":3,"152":3,"175":1,"218":1}}],["needdefaultxaxisfigure",{"2":{"47":2,"150":3,"152":3,"175":1,"218":1}}],["needdefaultpointfigure",{"2":{"47":2,"150":3,"152":3,"175":1,"218":1}}],["needs",{"2":{"45":1,"47":3,"92":2,"95":1,"116":1,"117":3,"147":1,"152":3,"166":1,"167":1,"175":1,"182":1}}],["newdata",{"2":{"215":10}}],["new",{"0":{"110":1,"111":1},"2":{"1":1,"29":4,"95":1,"110":1,"111":1,"139":1,"146":1,"204":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["null",{"2":{"115":4,"144":1,"146":2,"147":3,"150":1,"152":1}}],["nullable",{"2":{"39":1,"145":1}}],["number>",{"2":{"70":1,"78":1,"80":1,"81":1}}],["numbers",{"2":{"36":1,"45":1,"63":1,"147":1}}],["number",{"2":{"36":8,"45":5,"47":6,"49":2,"50":2,"51":1,"56":1,"62":2,"63":1,"64":1,"65":1,"66":2,"67":3,"68":4,"69":7,"70":3,"71":7,"72":5,"73":4,"74":4,"75":6,"76":6,"77":7,"78":4,"79":4,"80":3,"81":6,"82":13,"85":16,"90":7,"97":7,"98":5,"99":8,"100":7,"101":13,"104":2,"115":30,"117":2,"120":6,"123":2,"130":1,"131":1,"132":1,"133":1,"134":2,"135":2,"136":1,"137":1,"138":4,"139":7,"140":7,"141":7,"142":7,"144":1,"146":10,"147":6,"150":10,"152":5,"154":2,"155":2,"156":2,"157":2,"158":4,"159":3,"160":3,"161":4,"165":10,"166":10,"175":29}}],["name=",{"2":{"179":4}}],["namely",{"2":{"68":1,"116":2}}],["name",{"0":{"41":1,"44":1,"148":1,"149":1},"2":{"36":3,"38":1,"39":2,"41":3,"42":3,"44":3,"45":5,"47":3,"49":3,"50":3,"85":2,"86":2,"87":4,"88":2,"89":2,"94":1,"95":3,"104":2,"107":1,"113":3,"115":7,"117":1,"121":1,"124":1,"125":1,"146":6,"147":6,"148":3,"149":3,"150":4,"152":4,"153":3,"161":4,"175":2,"176":2,"189":5,"191":1,"211":1,"217":11,"218":3}}],["naming",{"2":{"18":1}}],["none",{"2":{"113":2,"182":2,"212":2,"214":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":3}}],["non",{"2":{"90":1}}],["normal",{"2":{"45":2,"47":2,"115":2,"146":1,"147":2,"150":2,"152":2,"175":2,"182":14,"212":1}}],["no",{"0":{"207":1},"2":{"24":1,"29":1,"37":1,"115":1,"117":1,"139":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"175":1,"184":1,"222":1}}],["nochangecolor",{"2":{"147":2,"182":5,"219":4}}],["nochangewickcolor",{"2":{"23":1,"182":1}}],["nochangebordercolor",{"2":{"23":1,"182":1}}],["node",{"2":{"11":1,"202":2}}],["notify",{"2":{"200":1}}],["notice",{"0":{"198":1},"1":{"199":1,"200":1}}],["note",{"2":{"95":1,"117":1,"139":1,"140":1,"141":1,"144":1,"168":1,"195":1}}],["notes",{"2":{"33":1,"34":1}}],["not",{"0":{"209":1},"2":{"5":1,"8":1,"11":1,"14":1,"24":2,"36":1,"45":1,"47":1,"115":3,"117":1,"124":1,"143":2,"147":1,"152":1,"175":14,"178":1,"204":1}}],["mtm",{"2":{"113":1}}],["much",{"2":{"222":2}}],["must",{"2":{"90":1}}],["multiple",{"2":{"13":2,"171":2,"178":1}}],["migrated",{"2":{"190":1}}],["millisecond",{"2":{"90":1}}],["middle",{"2":{"76":1,"82":1,"158":1,"182":2}}],["min",{"2":{"178":1,"179":1,"215":1}}],["minimum",{"2":{"45":1,"115":1,"134":1,"135":1,"146":1,"147":1,"161":1}}],["minheight",{"2":{"36":1,"146":3,"161":3}}],["minvalue",{"2":{"10":1,"45":2,"115":1,"146":1,"147":3}}],["mm",{"2":{"64":2}}],["me",{"2":{"194":1}}],["meta",{"2":{"179":5}}],["metric",{"2":{"147":1}}],["method",{"2":{"1":2,"3":1,"27":1,"29":11,"42":1,"45":4,"47":2,"59":1,"94":1,"115":4,"139":2,"144":1,"146":1,"147":4,"148":1,"149":1,"151":1,"153":1,"163":1,"164":1,"168":1,"180":2,"182":2,"189":1,"191":4,"209":1}}],["methods",{"2":{"1":1,"11":1,"19":1,"29":6,"52":1,"107":1,"115":4,"175":2,"178":1,"191":1}}],["merging",{"2":{"121":1}}],["merged",{"2":{"185":1,"186":1,"191":1}}],["merge",{"0":{"54":1},"2":{"13":1,"54":1}}],["meaning",{"2":{"175":1}}],["mean",{"2":{"116":2}}],["median",{"2":{"115":1}}],["made",{"2":{"180":1,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["manipulate",{"2":{"200":1}}],["manage",{"2":{"200":1}}],["management",{"2":{"178":2,"202":1}}],["manager",{"2":{"11":1,"202":1}}],["many",{"2":{"175":1}}],["manually",{"2":{"143":1}}],["matter",{"2":{"222":1}}],["matched",{"2":{"141":1}}],["math",{"2":{"107":2,"176":3,"212":8,"213":8,"214":8,"215":13,"216":8,"217":10,"218":11,"219":8,"220":8,"221":8}}],["maintitle",{"2":{"217":3}}],["mainindicators",{"2":{"217":2}}],["main",{"2":{"119":2,"120":2,"146":1,"147":1,"148":1,"149":1,"150":1,"161":1,"189":1,"217":1}}],["map",{"2":{"117":2,"217":1}}],["mapping",{"2":{"10":1}}],["ma5",{"2":{"116":2,"117":1}}],["ma2",{"2":{"116":2,"117":2}}],["ma10",{"2":{"116":3,"117":1}}],["ma1",{"2":{"116":3,"117":2}}],["macd",{"2":{"113":1,"217":1}}],["makes",{"2":{"178":1}}],["make",{"2":{"94":1}}],["ma",{"2":{"88":1,"113":1,"116":1,"117":5,"146":1,"217":1,"221":1}}],["magnet`",{"2":{"175":2}}],["magnet",{"2":{"47":5,"150":5,"152":6,"175":5}}],["max",{"2":{"215":1}}],["maximum",{"2":{"45":1,"115":1,"132":1,"133":1,"147":1}}],["maxvalue",{"2":{"10":1,"45":2,"115":1,"146":1,"147":3}}],["mark",{"0":{"211":1}}],["marginend",{"2":{"182":2,"186":2}}],["marginbottom",{"2":{"182":4}}],["marginright",{"2":{"182":4}}],["margintop",{"2":{"182":4}}],["marginleft",{"2":{"182":4}}],["marginstart",{"2":{"182":2}}],["margins",{"2":{"146":1,"161":1}}],["margin",{"2":{"29":2,"146":2,"161":2,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":2}}],["marinend",{"2":{"29":2}}],["marinstart",{"2":{"29":2,"186":2}}],["may",{"2":{"5":1,"8":1,"168":1,"197":1}}],["mozilla",{"2":{"175":1}}],["more",{"0":{"139":1,"140":1},"2":{"90":2,"139":3,"140":4,"144":1,"145":1}}],["mouse",{"2":{"47":2,"152":2,"175":2}}],["moving",{"2":{"47":1,"108":1}}],["movement",{"2":{"175":3}}],["moveto",{"2":{"107":2}}],["move",{"2":{"47":4,"108":2,"152":3,"175":2}}],["moved",{"2":{"5":1}}],["mobile",{"2":{"18":1,"92":1,"171":2}}],["model",{"2":{"175":1}}],["models",{"2":{"171":1}}],["mode",{"2":{"47":5,"150":3,"152":6,"175":5}}],["modesensitivity",{"2":{"18":1,"47":2,"150":3,"152":3,"175":1}}],["modules",{"2":{"200":1}}],["module",{"0":{"200":1},"2":{"13":1,"168":1,"203":7}}],["modify",{"2":{"9":1}}],["erc20",{"2":{"226":1}}],["error",{"2":{"1":1,"2":1,"11":2,"13":2,"15":1,"21":1}}],["eth",{"2":{"226":1}}],["etc",{"2":{"36":1,"45":1,"63":1,"95":1,"147":1,"178":1,"200":2}}],["europe",{"2":{"220":1}}],["esm",{"2":{"203":5}}],["e11d74",{"2":{"182":1}}],["ededed",{"2":{"182":2}}],["ecosystem",{"2":{"178":1}}],["easier",{"2":{"178":1}}],["each",{"2":{"117":2,"168":1}}],["else",{"2":{"107":1,"219":1}}],["elements",{"2":{"94":1}}],["element",{"2":{"36":2,"37":2}}],["emoji",{"2":{"217":3}}],["email",{"2":{"222":1}}],["ema",{"2":{"113":1}}],["emv",{"2":{"90":1,"113":1}}],["empty",{"2":{"24":1}}],["english",{"2":{"216":1}}],["enabled",{"0":{"126":1,"128":1},"2":{"126":1,"128":1}}],["entire",{"2":{"119":1,"120":1,"168":1}}],["enter",{"2":{"47":1,"152":1}}],["en",{"2":{"36":1,"38":1,"109":2,"175":1,"216":1}}],["endpoint",{"2":{"115":1}}],["endangle",{"2":{"71":2,"77":2,"97":1}}],["end",{"2":{"27":1,"47":2,"71":1,"76":1,"77":1,"82":1,"97":1,"115":2,"152":2,"175":2}}],["environment",{"0":{"91":1},"1":{"92":1,"93":1},"2":{"23":1,"202":1}}],["explanation",{"0":{"181":1}}],["export",{"2":{"179":4}}],["exist",{"2":{"165":1}}],["exists",{"2":{"152":1}}],["execution",{"2":{"162":1}}],["execute",{"0":{"203":1},"2":{"162":1}}],["executeaction",{"0":{"162":1},"2":{"23":1}}],["example",{"0":{"95":1,"105":1,"176":1},"1":{"106":1,"107":1},"2":{"45":1,"110":1,"115":5,"146":1,"147":2,"150":1,"152":1,"161":1,"182":1}}],["extended",{"2":{"45":1,"47":1,"115":1,"147":1,"152":1,"171":1,"175":1}}],["extenddata",{"2":{"5":1,"45":2,"47":2,"115":1,"146":1,"147":3,"150":3,"152":3,"175":1}}],["extension",{"2":{"29":4,"175":1,"188":2}}],["ef5350",{"2":{"22":1,"147":2}}],["effect",{"2":{"5":1,"11":1}}],["events",{"2":{"18":1,"25":3,"175":1}}],["event",{"2":{"9":1,"17":2,"18":1,"21":1,"24":1,"25":1,"27":1,"42":1,"47":30,"104":2,"150":56,"152":56,"175":31,"200":1}}],["6px",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["686d76",{"2":{"182":4}}],["62",{"2":{"179":7}}],["66",{"2":{"179":14}}],["64",{"2":{"179":7}}],["61",{"2":{"179":14}}],["600px",{"2":{"179":10}}],["600",{"2":{"179":4,"215":1}}],["60",{"2":{"113":2,"212":5,"213":5,"214":5,"215":5,"216":5,"217":5,"218":5,"219":5,"220":5,"221":5}}],["6",{"0":{"5":1,"13":1,"32":1},"2":{"32":1,"36":1,"113":9,"146":1,"182":6}}],["76808f",{"2":{"182":2}}],["76",{"2":{"179":7}}],["72",{"2":{"179":7}}],["70",{"2":{"179":7}}],["74",{"2":{"179":7}}],["77",{"2":{"179":7}}],["7",{"0":{"4":1,"11":1,"12":1,"31":1,"132":1,"133":1},"2":{"31":1,"147":1,"182":6,"183":1,"219":2}}],["flex",{"2":{"212":2,"214":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2}}],["floor",{"2":{"212":1,"213":1,"214":1,"215":1,"216":1,"217":2,"218":1,"219":1,"220":1,"221":1}}],["fluctuation",{"0":{"207":1}}],["flag",{"2":{"146":1,"161":1}}],["feedback",{"0":{"192":1},"1":{"193":1,"194":1,"195":1}}],["fefefe",{"2":{"182":1}}],["features",{"0":{"171":1},"2":{"29":1}}],["f2f3f5",{"2":{"182":1}}],["fff",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["ffffff",{"2":{"167":1,"182":6,"219":1}}],["ff9600",{"2":{"147":1,"182":1}}],["f00",{"2":{"150":1,"152":1}}],["full",{"0":{"182":1}}],["functions",{"2":{"171":1}}],["function",{"2":{"144":1,"150":14,"152":14,"171":1,"179":1,"212":5,"213":1,"214":2,"215":2,"216":2,"217":3,"218":2,"219":2,"220":2,"221":5}}],["future",{"2":{"8":1,"10":1}}],["fall",{"2":{"219":6}}],["false",{"2":{"88":1,"146":1,"147":1,"150":5,"152":5,"182":11,"212":2,"217":1,"221":1}}],["faq",{"0":{"205":1},"1":{"206":1,"207":1,"208":1,"209":1,"210":1,"211":1}}],["fast",{"2":{"171":1}}],["factor",{"2":{"158":1,"159":1,"160":1}}],["family",{"0":{"67":1},"2":{"67":1,"76":2,"82":2,"101":1,"182":10}}],["fail",{"2":{"9":1}}],["f92855",{"2":{"22":1,"182":4,"219":1}}],["fruits",{"2":{"217":2}}],["frequent",{"2":{"168":1}}],["free",{"2":{"16":1,"222":1}}],["from",{"0":{"183":1},"1":{"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1},"2":{"61":1,"85":1,"115":7,"138":1,"164":1,"175":2,"178":1,"179":11,"183":1,"184":1,"200":2,"212":1,"213":1,"214":1,"215":1,"216":1,"217":3,"218":1,"219":1,"220":1,"221":1}}],["frame",{"2":{"18":1,"98":1,"99":1,"100":1,"101":1}}],["foxmail",{"2":{"222":1}}],["follow",{"2":{"182":2,"221":2}}],["following",{"2":{"109":1,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["fold",{"2":{"9":1,"36":1,"66":1,"175":1}}],["folding",{"2":{"3":1,"5":1,"10":1}}],["fontfamily",{"2":{"182":2}}],["font",{"2":{"76":1,"82":1,"101":1,"212":1,"214":1,"216":1,"217":2,"218":1,"219":1,"220":1,"221":1}}],["foreach",{"2":{"117":1,"212":4,"214":1,"216":1,"217":2,"218":1,"219":1,"220":1,"221":4}}],["form",{"2":{"200":1}}],["formed",{"2":{"69":1,"70":1}}],["formatfolddecimal",{"0":{"66":1}}],["formatthousands",{"0":{"65":1}}],["formatting",{"2":{"10":1,"62":1}}],["formatprecision",{"0":{"62":1}}],["formatvalue",{"0":{"61":1},"2":{"61":1}}],["formats",{"2":{"36":1}}],["format",{"0":{"64":1},"2":{"36":2,"45":1,"63":1,"64":3,"65":1,"66":1,"90":1,"115":2,"117":1,"147":1,"175":1}}],["formatdate",{"0":{"64":1},"2":{"36":2}}],["formatbignumber",{"0":{"63":1},"2":{"23":1,"36":2}}],["force",{"2":{"27":1}}],["forward",{"2":{"10":1,"145":2}}],["for",{"2":{"7":1,"10":1,"12":1,"23":1,"25":2,"30":1,"31":1,"32":1,"36":2,"41":1,"42":1,"45":3,"46":1,"47":3,"48":1,"90":1,"104":1,"110":1,"115":9,"121":1,"139":1,"140":1,"141":1,"142":1,"145":1,"146":1,"147":3,"152":1,"162":1,"175":4,"178":1,"182":1,"185":1,"202":1,"210":1,"212":3,"213":2,"214":3,"215":2,"216":3,"217":4,"218":3,"219":3,"220":3,"221":3,"222":1}}],["fish2016",{"2":{"197":1}}],["final",{"2":{"200":1}}],["financial",{"2":{"170":1}}],["finder",{"0":{"165":1,"166":1},"2":{"165":2,"166":2,"189":4}}],["file",{"0":{"199":1}}],["files",{"2":{"171":1,"203":3}}],["filter",{"2":{"165":1,"166":1}}],["filltext",{"2":{"217":1}}],["fills",{"2":{"206":1}}],["fillstyle",{"2":{"107":1}}],["filled",{"2":{"107":1,"176":1}}],["fillet",{"2":{"100":1,"101":1}}],["fill`",{"2":{"98":1,"99":1,"100":1,"101":1}}],["fill",{"2":{"78":2,"80":2,"81":2,"82":2,"90":1,"98":2,"99":2,"100":2,"101":2,"106":4,"107":5,"146":4,"147":6,"168":1,"176":2,"182":34,"218":1,"219":4}}],["field",{"2":{"90":6,"104":1,"175":1}}],["fields",{"2":{"90":2,"175":1}}],["first",{"0":{"179":1},"2":{"25":1,"106":1,"116":2,"144":1,"179":1}}],["figureindex",{"2":{"24":1}}],["figurekey",{"2":{"24":1}}],["figure",{"0":{"42":1,"94":1,"103":1},"1":{"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":2,"105":2,"106":2,"107":2},"2":{"7":1,"16":1,"17":1,"21":1,"25":2,"26":1,"42":5,"44":1,"45":1,"47":3,"94":3,"95":4,"97":1,"98":1,"99":2,"100":1,"101":1,"103":2,"104":3,"107":1,"115":1,"147":1,"152":3,"200":1}}],["figures",{"0":{"96":1},"1":{"97":1,"98":1,"99":1,"100":1,"101":1,"102":1},"2":{"1":1,"29":1,"45":2,"47":3,"94":2,"96":1,"103":1,"115":3,"116":3,"117":4,"146":1,"147":3,"191":1,"217":1}}],["fixed",{"2":{"90":1,"101":2,"182":2}}],["fix",{"2":{"1":3,"2":2,"3":2,"4":1,"5":3,"6":2,"7":1,"8":1,"9":2,"10":3,"11":2,"12":2,"13":2,"14":2,"15":1,"16":1,"18":1,"21":1,"24":2,"25":2,"26":1,"28":1}}],["1b1b1f",{"2":{"219":1}}],["1m",{"2":{"36":1,"45":1,"63":1,"147":1}}],["1k",{"2":{"36":1,"45":1,"63":1,"147":1}}],["16px",{"2":{"217":1}}],["1677ff",{"2":{"182":11,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["16098",{"2":{"150":1,"152":1}}],["1614171202000",{"2":{"150":1,"152":1}}],["1614171282000",{"2":{"150":1,"152":1}}],["16",{"2":{"29":1,"179":7}}],["17",{"2":{"28":1,"217":1}}],["150",{"2":{"182":6}}],["1587660540000",{"2":{"179":7}}],["1587660480000",{"2":{"179":7}}],["1587660420000",{"2":{"179":7}}],["1587660360000",{"2":{"179":7}}],["1587660300000",{"2":{"179":7}}],["1587660240000",{"2":{"179":7}}],["1587660180000",{"2":{"179":7}}],["1587660120000",{"2":{"179":7}}],["1587660060000",{"2":{"179":7}}],["1587660000000",{"2":{"179":7}}],["15",{"2":{"18":1,"24":1,"182":1}}],["192",{"2":{"182":3,"219":1}}],["191",{"2":{"179":7}}],["197",{"2":{"179":7}}],["194",{"2":{"179":7}}],["19",{"2":{"15":1,"179":7}}],["119",{"2":{"182":4}}],["11",{"2":{"13":1}}],["184",{"2":{"179":7}}],["18987",{"2":{"150":1,"152":1}}],["18",{"2":{"11":1,"16":1}}],["135",{"2":{"179":7}}],["13",{"2":{"9":1,"20":1,"113":1}}],["1",{"0":{"9":1,"11":1,"17":1,"22":1,"24":1,"25":1,"26":2,"27":1,"28":1,"106":1,"116":1},"2":{"61":1,"107":1,"117":3,"146":4,"147":4,"150":1,"152":1,"161":4,"176":2,"182":37,"213":1,"215":2,"218":2,"219":4}}],["12px",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["12345678910111213141516171819202122",{"2":{"221":1}}],["1234567891011121314151617181920212223242526html",{"2":{"179":1}}],["12345678910111213141516171819202122232425262728html",{"2":{"213":1}}],["12345678910111213141516171819202122232425262728svelte",{"2":{"179":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051html",{"2":{"220":1}}],["1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677html",{"2":{"218":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126html",{"2":{"221":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150html",{"2":{"219":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110html",{"2":{"212":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107html",{"2":{"217":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960html",{"2":{"216":1}}],["1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556html",{"2":{"214":1}}],["12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849html",{"2":{"215":1}}],["123456789101112131415161718192021222324252627282930313233",{"2":{"179":1}}],["1234567891011121314151617181920212223242526272829jsximport",{"2":{"179":1}}],["1234567891011121314151617181920212223242526272829tsimport",{"2":{"179":1}}],["123456789101112131415161718192021222324252627jsximport",{"2":{"179":1}}],["1234567891011121314151617181920212223242526vue",{"2":{"179":1}}],["123456789101112131415161718",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1}}],["123css",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["12",{"2":{"7":1,"10":1,"11":1,"12":2,"113":9,"179":7,"182":12}}],["142",{"2":{"182":3,"219":1}}],["14",{"2":{"3":1,"6":1,"13":1,"17":1,"26":1,"113":3,"179":7}}],["10px",{"2":{"212":2,"214":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2}}],["105",{"2":{"179":7}}],["100",{"2":{"146":1,"161":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["100k",{"2":{"115":1}}],["100000",{"2":{"115":1}}],["1000000",{"2":{"36":1,"45":1,"63":1,"147":1}}],["1000",{"2":{"36":1,"45":1,"63":1,"115":1,"147":1,"182":1,"212":4,"213":4,"214":4,"215":4,"216":4,"217":4,"218":4,"219":4,"220":4,"221":4}}],["10",{"0":{"1":1},"2":{"4":1,"25":1,"113":7,"116":2,"117":1,"182":2,"212":1,"213":1,"214":1,"215":3,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["svelte",{"2":{"179":1}}],["src=",{"2":{"178":1,"179":1}}],["sqrt",{"2":{"176":1,"218":1}}],["sma",{"2":{"113":1}}],["smooth",{"2":{"8":1,"171":1,"182":7}}],["switching",{"2":{"111":1}}],["scan",{"2":{"195":1}}],["scalable",{"2":{"171":1}}],["scaling",{"2":{"158":1,"159":1,"160":1}}],["scale=1",{"2":{"179":1}}],["scaled",{"2":{"127":1}}],["scale",{"0":{"158":1,"159":1,"160":1},"2":{"126":1,"158":3,"159":3,"160":3}}],["scoordinates",{"2":{"176":1}}],["scheme",{"2":{"109":1}}],["script>",{"2":{"178":1,"179":6}}],["script",{"2":{"178":1,"179":2}}],["scrolltotimestamp",{"0":{"157":1}}],["scrolltodataindex",{"0":{"156":1}}],["scrolltorealtime",{"0":{"155":1}}],["scrollbydistance",{"0":{"154":1}}],["scrollzoomenabled",{"2":{"36":1,"146":3,"161":3}}],["scroll",{"2":{"29":1,"146":1,"154":1,"155":1,"156":1,"157":1,"161":1}}],["scrolling",{"2":{"18":1,"128":1,"129":1}}],["screen",{"2":{"20":1}}],["sale",{"0":{"211":1}}],["sample",{"2":{"182":2}}],["samplecircle",{"2":{"176":2}}],["same",{"2":{"83":1,"102":1,"117":1,"141":1,"146":1,"165":1}}],["sar",{"2":{"113":1}}],["saved",{"2":{"29":1}}],["slope",{"2":{"68":1,"70":1}}],["ss",{"2":{"64":1}}],["shift",{"2":{"108":4}}],["shows",{"0":{"207":1},"2":{"200":1}}],["showparams",{"2":{"182":1}}],["showtype",{"2":{"182":2,"221":4}}],["showrule",{"2":{"182":2,"221":4}}],["show",{"2":{"182":27}}],["showname",{"2":{"147":1,"182":1}}],["short",{"2":{"45":1,"115":1,"147":1}}],["shortname",{"2":{"45":2,"115":1,"117":1,"146":1,"147":2}}],["shouldcheckparamcount",{"2":{"191":1}}],["should",{"0":{"211":1},"2":{"45":1,"117":1,"147":1}}],["shouldformatbignumber",{"2":{"45":2,"115":1,"146":1,"147":3}}],["shouldohlc",{"2":{"45":2,"115":1,"146":1,"147":3}}],["shanghai",{"2":{"36":1,"124":1,"220":2}}],["shapes",{"2":{"200":1}}],["shape",{"0":{"190":1},"2":{"29":2,"185":1,"186":1}}],["s",{"0":{"170":1},"2":{"39":1,"222":1}}],["sort",{"2":{"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["so",{"2":{"107":1,"116":1,"117":1,"176":1,"178":1}}],["source",{"0":{"54":1},"2":{"54":1,"115":8,"142":1}}],["some",{"2":{"36":1,"115":4,"146":1,"147":1,"175":2}}],["solid",{"2":{"29":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"97":1,"98":1,"99":2,"100":1,"101":1,"106":3,"107":1,"146":2,"147":5,"150":1,"152":1,"179":1,"182":37,"214":2,"219":4}}],["situation",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["since",{"2":{"139":1,"140":1,"141":1,"144":1}}],["single",{"2":{"136":1,"137":1,"141":1,"200":1}}],["sign",{"0":{"65":1},"2":{"65":1}}],["size",{"0":{"67":1},"2":{"29":2,"67":1,"76":3,"77":2,"79":2,"82":4,"97":2,"98":1,"99":3,"100":1,"101":3,"106":1,"115":4,"147":1,"150":1,"152":1,"168":2,"175":3,"182":31,"186":2,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["side",{"2":{"18":1,"132":1,"133":1}}],["simple",{"2":{"171":1,"184":1}}],["simpletag",{"2":{"16":1,"25":1,"173":1}}],["simpleannotation",{"2":{"16":1,"25":1,"173":1,"211":2}}],["standard",{"2":{"182":4,"221":2}}],["started",{"2":{"171":1}}],["starting",{"2":{"75":2,"76":2,"77":1,"81":2,"82":2,"100":2,"101":2,"115":1}}],["startangle",{"2":{"71":2,"77":2,"97":1}}],["start",{"0":{"177":1},"1":{"178":1,"179":1},"2":{"47":2,"71":1,"76":1,"82":1,"97":1,"115":3,"152":2,"175":2,"179":3}}],["step",{"0":{"106":1,"107":1,"116":1,"117":1},"2":{"175":1}}],["steps",{"2":{"47":1,"175":1,"176":1}}],["straightline",{"2":{"173":1}}],["strokestyle",{"2":{"107":1}}],["stroke",{"2":{"78":2,"80":2,"81":2,"82":2,"98":2,"99":2,"100":2,"101":2,"106":4,"107":4,"146":4,"147":4,"176":1,"182":25,"214":6,"218":1}}],["strong",{"2":{"47":2,"150":2,"152":2,"175":2}}],["strings",{"2":{"182":1}}],["string>",{"2":{"36":1}}],["string",{"2":{"13":1,"18":1,"36":11,"37":1,"38":7,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":16,"46":1,"47":13,"48":1,"49":3,"50":3,"51":1,"55":1,"61":1,"62":2,"63":2,"64":2,"65":3,"66":2,"67":3,"76":3,"77":1,"78":2,"79":1,"80":2,"81":2,"82":5,"85":5,"97":1,"98":2,"99":3,"100":2,"101":5,"104":1,"115":14,"119":1,"120":1,"121":1,"124":1,"125":1,"146":23,"147":19,"148":2,"149":2,"150":11,"151":1,"152":4,"153":4,"161":2,"165":1,"166":1,"167":3,"175":6,"182":1}}],["style=",{"2":{"179":7,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["styles",{"0":{"41":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"121":1},"2":{"7":1,"13":2,"36":4,"41":2,"42":2,"45":5,"47":9,"76":3,"77":3,"78":3,"79":3,"80":3,"81":3,"82":3,"83":2,"95":3,"97":1,"98":1,"99":2,"100":1,"101":1,"104":2,"106":1,"107":4,"115":2,"121":3,"122":1,"146":3,"147":6,"150":3,"152":4,"175":3,"176":1,"180":1,"189":2,"191":2,"218":1}}],["style",{"0":{"180":1,"186":1},"1":{"181":1,"182":1},"2":{"2":1,"3":1,"10":1,"13":2,"14":2,"16":1,"17":1,"18":1,"22":1,"23":1,"24":1,"29":4,"36":1,"41":4,"77":3,"78":4,"79":3,"80":4,"81":4,"82":4,"97":2,"98":3,"99":5,"100":3,"101":3,"104":2,"106":5,"107":5,"115":11,"121":3,"122":1,"146":2,"147":5,"150":1,"152":1,"171":1,"175":6,"176":2,"180":1,"182":23,"186":1,"208":1,"217":1,"218":1,"219":6}}],["sending",{"2":{"222":1}}],["sensitivity",{"2":{"18":1,"47":1,"152":1,"175":1}}],["serving",{"2":{"200":1}}],["series",{"2":{"45":3,"115":2,"123":1,"146":1,"147":4}}],["segment",{"2":{"150":3,"152":3,"173":1}}],["second",{"2":{"116":1}}],["selector",{"2":{"179":1}}],["select",{"2":{"175":1,"176":1}}],["selected",{"2":{"47":1,"152":1}}],["selections",{"2":{"176":1}}],["selection",{"2":{"25":1}}],["seen",{"0":{"206":1}}],["see",{"2":{"36":1,"42":1,"47":1,"115":3,"175":1,"180":1,"197":1,"206":1,"210":1}}],["setindicatortooltipshowtype",{"2":{"221":2}}],["setindicatortooltipshowrule",{"2":{"221":2}}],["setinside",{"2":{"212":2}}],["setcandletooltipshowtype",{"2":{"221":2}}],["setcandletooltipshowrule",{"2":{"221":2}}],["setcustomapi",{"2":{"29":1}}],["setmainindicator",{"2":{"217":2}}],["setmaxoffsetleftdistance",{"0":{"132":1}}],["setmaxoffsetrightdistance",{"0":{"133":1},"2":{"12":1}}],["setreverse",{"2":{"212":2}}],["setrightminvisiblebarcount",{"0":{"135":1}}],["settheme",{"2":{"219":2}}],["settype",{"2":{"212":2,"214":2}}],["settimeout",{"2":{"215":2}}],["settimezone",{"0":{"124":1},"2":{"220":3}}],["settings",{"2":{"208":1}}],["setting",{"2":{"123":1}}],["setup>",{"2":{"179":1}}],["setbarspace",{"0":{"136":1}}],["setzoomenabled",{"0":{"126":1}}],["setposition",{"2":{"212":2}}],["setpricevolumeprecision",{"0":{"123":1},"2":{"207":1}}],["setpaneoptions",{"0":{"89":1,"161":1},"2":{"20":1,"29":1,"86":1,"161":1}}],["setlang",{"2":{"216":2}}],["setloaddatacallback",{"0":{"145":1},"2":{"144":1}}],["setlocale",{"2":{"29":1,"111":1,"216":1}}],["setleftminvisiblebarcount",{"0":{"134":1}}],["setlinedash",{"2":{"107":2}}],["set",{"2":{"36":1,"99":2,"115":3,"121":1,"124":2,"126":1,"128":1,"130":1,"132":1,"133":1,"134":1,"135":1,"136":1,"144":1,"145":1,"147":1,"161":1,"207":1}}],["setsubindicator",{"2":{"217":2}}],["setscrollenabled",{"0":{"128":1}}],["setshapeoptions",{"2":{"29":1,"189":1}}],["setstyles",{"0":{"121":1},"2":{"29":1,"180":1,"189":1,"208":1,"212":4,"214":1,"219":1,"221":4}}],["setstyleoptions",{"2":{"29":1,"189":1}}],["setoffsetrightdistance",{"0":{"130":1},"2":{"29":1,"189":1}}],["setoffsetrightspace",{"2":{"29":1,"189":1}}],["separator",{"2":{"13":1,"17":1,"36":1,"65":1,"175":1,"182":1}}],["such",{"2":{"36":2,"61":1,"63":1,"64":1,"95":1,"124":1,"200":3}}],["success",{"2":{"23":1,"139":1,"140":1,"141":1,"146":1,"147":1}}],["supported",{"2":{"40":1,"43":1,"162":1}}],["supports",{"2":{"18":1,"19":1,"20":1,"27":1,"36":1,"92":1,"108":1,"119":1,"120":1,"121":1,"178":1,"182":1}}],["support",{"0":{"92":1},"2":{"7":1,"10":4,"16":1,"17":1,"23":1,"25":1,"29":1,"36":1,"41":1,"46":1,"48":1,"61":1,"84":1,"115":1,"171":1,"210":1}}],["subtitle",{"2":{"217":4}}],["subindicators",{"2":{"217":2}}],["subordinate",{"2":{"200":1}}],["subkey",{"2":{"117":1}}],["subscribing",{"2":{"164":1}}],["subscribe",{"2":{"163":1}}],["subscribeaction",{"0":{"163":1},"2":{"1":1,"27":1,"139":1,"141":1,"189":1}}],["subsequent",{"2":{"117":1,"146":1}}],["sub",{"2":{"1":1,"86":1,"191":1,"217":1}}],["sponsoring",{"2":{"222":1}}],["sponsor",{"0":{"222":1,"223":1},"1":{"223":1,"224":2,"225":2,"226":2},"2":{"222":1}}],["span",{"2":{"217":2,"221":2}}],["space",{"0":{"136":1},"2":{"136":1,"189":1}}],["spaces",{"2":{"6":1}}],["special",{"2":{"47":2,"146":1,"147":1,"148":1,"149":1,"150":1,"161":1,"175":1}}],["specified",{"2":{"105":1,"115":2,"156":1,"157":1,"160":1}}],["specifies",{"2":{"45":2,"147":2}}],["specify",{"2":{"86":2}}],["specifying",{"2":{"5":1}}],["2px",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["2196f3",{"2":{"182":2}}],["2000",{"2":{"215":1}}],["204",{"2":{"179":7}}],["20",{"2":{"113":6,"147":1,"179":21,"215":1}}],["2023",{"2":{"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1}}],["2024",{"2":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":2}}],["230",{"2":{"182":3}}],["23",{"2":{"27":1}}],["249",{"2":{"182":3,"219":1}}],["243",{"2":{"182":6}}],["2432435",{"2":{"147":1}}],["24",{"2":{"23":1,"113":4}}],["2dc08e",{"2":{"22":1,"182":4,"219":1}}],["27",{"2":{"22":1}}],["255",{"2":{"182":4}}],["25",{"2":{"19":1,"182":2}}],["22px",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["22",{"2":{"14":1,"182":4}}],["26a69a",{"2":{"22":1,"147":2}}],["26",{"2":{"8":1,"113":3}}],["2",{"0":{"8":1,"16":1,"21":2,"22":1,"23":1,"25":1,"107":1,"117":1,"131":1,"162":1},"2":{"107":11,"113":4,"116":1,"139":1,"140":1,"141":1,"146":1,"147":6,"150":3,"152":3,"161":1,"176":1,"182":52,"212":4,"213":4,"214":4,"215":4,"216":4,"217":4,"218":5,"219":12,"220":4,"221":4}}],["28",{"2":{"2":1,"179":21}}],["0xd2c3911654db861e0a2e17415e11a209c1fc3594",{"2":{"226":2}}],["000000",{"2":{"179":1}}],["02",{"2":{"27":1,"28":1,"29":1,"179":7}}],["08",{"2":{"17":1}}],["09",{"2":{"14":1,"15":1,"16":1,"179":7}}],["01c5c4",{"2":{"182":1}}],["01",{"2":{"10":1,"182":1}}],["0",{"0":{"10":1,"12":1,"13":1,"18":1,"19":1,"20":1,"23":1,"27":1,"28":1,"29":2,"49":1,"50":1,"66":1,"67":1,"84":1,"131":1,"132":1,"133":1,"145":1,"162":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1},"2":{"36":2,"47":2,"117":1,"139":2,"140":2,"141":2,"144":1,"146":5,"147":1,"150":1,"152":3,"161":4,"176":3,"182":23,"212":3,"213":3,"214":3,"215":3,"216":3,"217":3,"218":6,"219":3,"220":3,"221":4}}],["03",{"2":{"8":1,"9":1,"10":1,"26":1}}],["04",{"2":{"6":1,"7":1,"10":1,"21":1,"22":1,"23":1,"24":1,"25":1}}],["07",{"2":{"5":1}}],["05",{"2":{"2":1,"3":1,"4":1,"5":1,"19":1,"20":1,"21":1}}],["06",{"2":{"1":2,"18":1,"179":7}}],["dts",{"2":{"203":2}}],["d9d9d9",{"2":{"182":6}}],["d>>",{"2":{"115":1}}],["dma",{"2":{"113":1}}],["dmi",{"2":{"113":1}}],["dd",{"2":{"64":1}}],["during",{"2":{"47":1,"175":4}}],["duplicate",{"2":{"7":1}}],["dcs",{"0":{"37":1},"2":{"37":2}}],["dark",{"2":{"219":3}}],["date",{"2":{"36":1,"64":1,"175":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["datetimeformat",{"0":{"64":1},"2":{"36":2,"64":2,"175":3}}],["datasource",{"2":{"191":2}}],["dataindex",{"0":{"156":1,"159":1},"2":{"47":1,"115":1,"150":2,"152":1,"156":2,"159":2,"165":4,"166":2,"175":3}}],["datalist",{"0":{"139":1,"140":1},"2":{"45":1,"90":2,"115":1,"139":2,"140":2,"145":1,"146":1,"147":1,"212":3,"213":3,"214":3,"215":6,"216":3,"217":3,"218":3,"219":3,"220":3,"221":3}}],["data",{"0":{"90":1,"141":1,"162":1,"209":1,"215":1},"2":{"1":1,"7":1,"10":1,"24":1,"45":4,"47":1,"61":1,"90":4,"115":27,"117":3,"139":6,"140":5,"141":7,"142":3,"143":2,"144":1,"145":5,"146":3,"147":4,"152":1,"156":1,"159":1,"162":3,"163":1,"164":1,"165":1,"175":4,"200":2,"217":3}}],["dashvalue",{"2":{"29":1,"186":1}}],["dashedvalue",{"2":{"29":1,"77":2,"79":2,"97":1,"99":1,"106":2,"147":1,"150":1,"152":1,"182":12,"186":1}}],["dashed",{"2":{"29":1,"77":2,"78":2,"79":2,"80":2,"81":2,"82":2,"97":1,"98":1,"99":2,"100":1,"101":1,"106":4,"107":1,"146":2,"147":2,"182":22,"186":1}}],["does",{"2":{"204":1}}],["doctype",{"2":{"179":1}}],["docs",{"2":{"175":1}}],["document",{"2":{"94":1,"112":1,"172":1,"183":2,"197":1,"212":6,"214":3,"216":3,"217":6,"218":3,"219":5,"220":3,"221":9}}],["do",{"0":{"207":1,"209":1,"211":1},"2":{"110":1,"115":5,"175":6}}],["dotted",{"2":{"97":1,"98":1,"99":2,"100":1,"101":1}}],["domid",{"2":{"87":2}}],["dom",{"2":{"36":1,"37":1,"119":1,"189":1,"200":1}}],["double",{"2":{"27":1,"47":1,"152":1,"175":1}}],["downcolor",{"2":{"147":2,"182":5,"219":10}}],["down",{"2":{"115":1,"175":2,"182":1,"214":2}}],["downwickcolor",{"2":{"23":1,"182":1,"219":2}}],["downbordercolor",{"2":{"23":1,"182":1,"219":2}}],["download",{"2":{"11":1,"178":3}}],["drag",{"2":{"175":3}}],["dragged",{"2":{"146":1,"161":1}}],["dragging",{"2":{"47":1,"128":1,"129":1,"152":1}}],["dragenabled",{"2":{"36":1,"146":3,"161":3}}],["drawrecttext",{"0":{"82":1,"83":1},"2":{"83":2}}],["drawrect",{"0":{"81":1}}],["drawpolygon",{"0":{"80":1}}],["drawline",{"0":{"79":1}}],["drawcircle",{"0":{"78":1}}],["drawarc",{"0":{"77":1}}],["draw",{"2":{"29":1,"42":2,"45":2,"47":2,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"95":2,"104":2,"107":4,"115":1,"146":1,"147":3,"152":2,"175":3,"191":1,"217":1}}],["drawn",{"2":{"25":1,"115":2,"152":1}}],["drawing",{"2":{"1":1,"8":2,"10":1,"27":1,"42":1,"45":1,"47":2,"115":1,"143":1,"147":1,"152":2,"171":1,"175":4,"176":1}}],["drop",{"2":{"18":1}}],["ds",{"0":{"36":1},"2":{"13":1,"36":2,"86":1,"180":1}}],["dir",{"2":{"202":1}}],["directory",{"0":{"199":1}}],["directly",{"2":{"176":1}}],["direction",{"2":{"29":1}}],["diagram",{"2":{"200":1}}],["diamond",{"2":{"105":1,"107":3}}],["div>",{"2":{"179":1,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["div",{"2":{"179":7,"212":3,"213":1,"214":3,"215":1,"216":3,"217":3,"218":3,"219":3,"220":3,"221":4}}],["dividing",{"2":{"18":1}}],["dimensions",{"2":{"115":1,"120":1,"175":1}}],["different",{"2":{"10":1,"141":1}}],["discussion",{"0":{"195":1}}],["discussions",{"2":{"193":2}}],["distribution",{"2":{"200":1}}],["distinguished",{"2":{"184":1}}],["dist",{"2":{"178":1,"179":1}}],["distance",{"0":{"130":1,"154":1},"2":{"6":1,"115":8,"130":1,"132":1,"133":1,"154":4,"155":1,"175":4,"189":1}}],["dispose",{"0":{"37":1},"2":{"179":11}}],["displayed",{"2":{"115":2}}],["displaying",{"2":{"24":1}}],["display",{"2":{"6":1,"7":1,"8":1,"9":1,"10":2,"13":2,"14":2,"19":1,"23":1,"24":1,"45":1,"90":1,"115":2,"116":1,"147":1,"182":2,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":2,"222":2}}],["demonstration",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["debugging",{"2":{"204":1}}],["debug",{"0":{"204":1},"2":{"204":1}}],["dev",{"2":{"203":3}}],["developers",{"2":{"195":1}}],["developer",{"2":{"175":1}}],["development",{"0":{"196":1,"201":1},"1":{"197":1,"198":1,"199":1,"200":1,"201":1,"202":2,"203":2,"204":2},"2":{"23":1,"171":1,"178":2,"203":4}}],["deleting",{"2":{"200":1}}],["deleted",{"2":{"83":1,"102":1}}],["delete",{"2":{"29":8,"47":1,"152":1,"175":2,"186":1,"188":1,"189":5,"191":1}}],["determined",{"2":{"191":1}}],["determine",{"2":{"106":1,"116":1,"117":1,"176":1}}],["details",{"2":{"36":1,"42":1,"47":1,"121":1,"139":1,"140":1,"141":1,"175":1,"185":1,"210":1}}],["definition",{"2":{"171":1}}],["define",{"2":{"106":2}}],["defined",{"2":{"87":1}}],["defaulted",{"2":{"139":1,"140":1,"146":2,"148":1,"158":1,"161":2,"167":3,"175":8}}],["defaultticks",{"2":{"85":1}}],["defaultvalue",{"0":{"61":1},"2":{"61":1,"182":2}}],["defaultstyles",{"2":{"45":2,"115":3,"146":2,"147":2,"175":1,"191":3}}],["defaultzlevel",{"2":{"19":1}}],["default",{"0":{"182":1},"2":{"6":1,"7":2,"22":1,"47":3,"85":1,"109":1,"113":3,"115":10,"119":2,"120":2,"139":1,"140":1,"146":5,"147":1,"148":1,"149":1,"150":1,"152":3,"154":2,"155":2,"156":2,"157":2,"158":3,"159":2,"160":2,"161":3,"164":1,"167":2,"175":12,"176":1,"179":3,"207":1}}],["dependencies",{"0":{"200":1,"202":1},"2":{"171":1,"202":1}}],["dependency",{"2":{"11":1,"202":1,"203":2}}],["deprecated",{"2":{"83":1,"102":1,"139":1,"140":1,"141":1,"144":1}}],["design",{"0":{"185":1}}],["description",{"0":{"104":1,"115":1,"175":1,"199":1,"203":1},"1":{"116":1,"117":1},"2":{"179":1}}],["describes",{"2":{"94":1}}],["deselected",{"2":{"47":1,"152":1}}],["destroyed",{"2":{"37":1}}],["destroys",{"2":{"37":1}}],["deep",{"2":{"53":1}}],["deeprequired",{"2":{"24":1}}],["deeppartial",{"2":{"24":1}}],["decimalfoldthreshold",{"2":{"36":2,"175":1}}],["decimals",{"2":{"10":1}}],["decimal",{"2":{"3":1,"5":1,"9":1,"36":1,"66":1,"175":1,"207":1}}],["declarations",{"2":{"22":1}}],["declaration",{"2":{"2":1,"16":1,"18":1}}],["px",{"2":{"217":1}}],["purpose",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["push",{"2":{"212":2,"213":2,"214":2,"215":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2}}],["pnpm",{"2":{"178":1,"202":1}}],["png",{"2":{"167":1}}],["picture",{"0":{"181":1},"2":{"146":1,"147":1,"148":1,"149":1,"150":1,"161":1}}],["piece",{"2":{"141":1,"144":1}}],["pixel",{"2":{"20":1}}],["p",{"2":{"117":2}}],["pvt",{"2":{"113":1}}],["psy",{"2":{"113":1}}],["personal",{"2":{"222":1}}],["perform",{"2":{"200":1}}],["performpoint",{"2":{"175":1}}],["performpointindex",{"2":{"175":1}}],["performance",{"2":{"168":1}}],["performeventmovefordrawing",{"2":{"47":2,"175":1}}],["performeventpressedmove",{"2":{"47":2,"175":1}}],["periods",{"2":{"116":1}}],["percentage",{"2":{"2":1,"146":2,"161":2,"182":1,"212":2}}],["powerful",{"2":{"171":1}}],["polyfill",{"0":{"93":1}}],["polygon",{"0":{"74":1,"80":1},"2":{"74":2,"80":4,"96":1,"99":1,"182":1,"200":1}}],["pointer",{"2":{"182":1}}],["point",{"0":{"211":1},"2":{"47":2,"69":1,"70":1,"71":2,"72":2,"73":1,"74":1,"75":4,"76":4,"81":2,"82":2,"100":2,"101":2,"106":2,"115":1,"152":2,"158":2,"175":5,"176":2,"180":1,"182":2}}],["points",{"2":{"47":3,"68":2,"69":1,"150":3,"152":3,"175":5,"189":1}}],["positions",{"2":{"212":2}}],["position",{"0":{"119":1,"120":1},"2":{"13":1,"23":1,"36":1,"87":1,"119":2,"120":3,"146":2,"155":1,"159":1,"182":4,"189":5,"212":2}}],["possible",{"2":{"1":1,"128":1,"129":1}}],["plugin",{"2":{"222":1}}],["plotting",{"2":{"200":1}}],["plots",{"2":{"29":1,"191":1}}],["please",{"2":{"36":1,"83":1,"92":1,"102":1,"121":1,"124":1,"139":1,"140":1,"141":1,"142":1,"168":1,"183":1,"184":1,"185":1,"186":1,"188":1,"189":3,"222":1}}],["pay",{"0":{"225":1}}],["payment",{"2":{"222":1}}],["parallellfilineline",{"2":{"173":1}}],["param",{"2":{"117":4}}],["params",{"0":{"85":1},"2":{"45":2,"47":5,"49":1,"50":1,"85":1,"113":3,"115":2,"117":2,"145":3,"146":2,"147":2,"175":1,"191":2}}],["parameters",{"2":{"5":1,"24":1,"36":1,"45":1,"98":1,"100":1,"115":1,"116":2,"117":3,"147":2,"150":1,"152":1,"175":3}}],["parameter",{"2":{"1":2,"3":1,"13":2,"24":1,"71":1,"72":1,"75":1,"76":1,"77":2,"78":2,"79":2,"80":2,"81":2,"82":2,"86":2,"97":1,"99":2,"101":1,"115":3,"117":2,"146":1,"189":3}}],["participates",{"2":{"175":2}}],["part",{"2":{"94":1}}],["padding",{"2":{"82":4,"101":4,"212":2,"214":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2}}],["paddingright",{"2":{"82":2,"101":1,"182":9}}],["paddingbottom",{"2":{"29":2,"82":2,"101":1,"182":9,"186":2}}],["paddingtop",{"2":{"29":2,"82":2,"101":1,"182":9,"186":2}}],["paddingleft",{"2":{"14":1,"82":2,"101":1,"182":9,"217":1}}],["panes",{"2":{"200":1}}],["paneid",{"0":{"119":1,"120":1,"147":1,"148":1,"149":1,"150":1},"2":{"19":1,"115":1,"119":2,"120":2,"147":2,"148":2,"149":2,"150":2,"165":2,"166":2,"189":19,"211":1}}],["pane",{"2":{"18":1,"89":1,"146":3,"147":2,"148":1,"149":1,"150":1,"161":2,"200":1,"217":1,"221":1}}],["paneoptions",{"0":{"146":1},"2":{"13":2,"86":3,"146":2,"189":2}}],["packages",{"2":{"178":1}}],["package",{"2":{"11":1,"178":2,"202":1}}],["preact",{"2":{"179":1}}],["prev",{"2":{"115":1}}],["previous",{"2":{"115":1,"183":1}}],["prevent",{"2":{"47":1,"152":1}}],["press",{"2":{"47":4,"152":3,"175":2}}],["precision",{"2":{"3":1,"4":2,"45":3,"62":2,"115":2,"123":3,"146":1,"147":4,"175":4,"207":2}}],["production",{"2":{"203":4}}],["prod",{"2":{"203":1}}],["project",{"2":{"202":1,"204":4,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["process",{"2":{"175":2}}],["processing",{"2":{"47":1}}],["provided",{"2":{"178":1}}],["provide",{"2":{"171":1,"222":1}}],["professional",{"2":{"170":1}}],["prompt",{"2":{"117":1}}],["promise",{"2":{"45":1,"115":2,"146":1,"147":1}}],["properties",{"2":{"104":2,"175":1}}],["property",{"2":{"18":1}}],["prices",{"2":{"212":7,"213":7,"214":7,"215":7,"216":7,"217":7,"218":7,"219":7,"220":7,"221":7}}],["pricechannelline",{"2":{"173":1}}],["priceline",{"2":{"173":1,"218":1}}],["priceprecision",{"0":{"123":1},"2":{"123":2,"207":1}}],["pricemark",{"2":{"29":1,"182":1,"219":2}}],["price",{"2":{"4":1,"14":1,"45":2,"90":4,"115":1,"116":1,"123":3,"146":1,"147":3,"175":2,"207":1,"218":1}}],["css",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["cjs",{"2":{"203":2}}],["cdn",{"2":{"178":2,"179":1}}],["ci",{"2":{"173":1}}],["circles",{"2":{"29":1,"147":1,"182":1,"186":1,"219":2}}],["circle",{"0":{"72":1,"78":1,"98":1},"2":{"29":1,"71":2,"72":6,"77":2,"78":6,"95":1,"96":1,"97":2,"98":2,"176":5,"182":1,"186":1,"200":1,"218":5}}],["cb",{"0":{"144":1,"145":1},"2":{"144":2,"145":2}}],["cycle",{"2":{"116":2}}],["cci",{"2":{"113":1}}],["center",{"2":{"71":2,"72":2,"76":1,"77":2,"78":2,"82":1,"97":2,"98":2,"106":2,"212":1,"214":1,"216":1,"217":2,"218":1,"219":1,"220":1,"221":1}}],["certain",{"2":{"61":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"154":1,"158":1,"159":1,"175":1}}],["c",{"2":{"61":3}}],["ctx",{"0":{"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1},"2":{"42":1,"77":2,"78":2,"79":2,"80":2,"81":2,"82":2,"83":2,"95":2,"104":1,"107":21,"115":1,"191":2,"217":4}}],["cn",{"2":{"36":1,"38":1,"109":1,"179":1,"216":1}}],["cup",{"2":{"222":1}}],["currentstep",{"2":{"175":1}}],["currently",{"2":{"108":1,"109":1,"141":1}}],["currentcolor",{"2":{"107":2}}],["current",{"2":{"51":1,"115":2,"142":1,"164":1,"175":1}}],["cursor",{"2":{"24":1,"115":2}}],["customxaxisname",{"2":{"87":2}}],["customyaxisname",{"2":{"87":2,"88":2,"89":2}}],["customizable",{"2":{"170":1}}],["customization",{"2":{"20":1,"105":1}}],["customizing",{"2":{"87":2,"88":1,"89":1}}],["customized",{"0":{"191":1}}],["customize",{"0":{"103":1},"1":{"104":1,"105":1,"106":1,"107":1},"2":{"36":1,"94":1,"112":1,"172":1,"174":1,"180":1}}],["customapi",{"2":{"36":2}}],["custom",{"0":{"84":1,"114":1,"174":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1,"115":1,"116":1,"117":1,"175":1,"176":1},"2":{"3":1,"10":1,"13":1,"17":1,"18":1,"29":2,"36":1,"45":2,"49":1,"50":1,"84":1,"94":1,"103":1,"107":1,"114":1,"115":2,"117":1,"147":2,"176":1,"182":2,"186":1,"210":1,"217":3,"218":1}}],["chicago",{"2":{"220":2}}],["child",{"2":{"182":1,"221":1}}],["chinese",{"2":{"110":1}}],["checking",{"2":{"206":1}}],["checkcoordinateontext",{"0":{"76":1}}],["checkcoordinateonrect",{"0":{"75":1}}],["checkcoordinateonpolygon",{"0":{"74":1}}],["checkcoordinateonline",{"0":{"73":1}}],["checkcoordinateoncircle",{"0":{"72":1}}],["checkcoordinateonarc",{"0":{"71":1}}],["checks",{"2":{"42":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"72":1,"74":1,"75":1}}],["checkeventon",{"2":{"42":2,"104":1,"107":2}}],["check",{"2":{"21":2,"30":1,"31":1,"32":1,"71":1,"73":1,"76":1,"104":1}}],["channels",{"0":{"223":1},"1":{"224":1,"225":1,"226":1}}],["changing",{"2":{"22":1}}],["changes",{"2":{"180":1}}],["changed",{"2":{"29":25,"117":2,"186":10,"188":1,"189":11,"191":4}}],["change",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1},"2":{"7":1,"17":1,"29":1,"30":1,"31":1,"32":1,"110":1,"115":1,"117":1,"191":2}}],["chat",{"2":{"195":1}}],["charset=",{"2":{"179":1}}],["character",{"2":{"5":1}}],["chartcomponent",{"2":{"179":1}}],["chartstore",{"2":{"200":2}}],["charts",{"2":{"38":1,"210":1}}],["chart",{"0":{"35":1,"87":1,"179":1,"188":1,"206":1,"208":1},"1":{"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1},"2":{"5":1,"6":3,"8":1,"9":1,"13":1,"17":1,"20":1,"24":2,"27":1,"29":3,"36":3,"37":4,"39":1,"40":1,"46":1,"48":1,"51":1,"84":2,"86":1,"90":3,"92":1,"94":3,"96":1,"103":1,"109":1,"111":1,"112":1,"114":1,"115":1,"119":1,"120":1,"125":1,"130":1,"131":1,"132":1,"133":1,"136":1,"137":1,"139":2,"140":1,"142":1,"143":2,"145":1,"146":2,"158":1,"162":1,"163":1,"164":1,"167":1,"168":2,"170":1,"171":1,"172":1,"174":1,"176":1,"179":36,"180":3,"200":3,"206":1,"207":1,"209":1,"211":1,"212":8,"213":4,"214":5,"215":9,"216":5,"217":6,"218":5,"219":8,"220":5,"221":10}}],["clean",{"2":{"203":3}}],["cleared",{"2":{"143":1}}],["cleardata",{"0":{"143":1},"2":{"139":1}}],["clear",{"2":{"139":1,"143":1}}],["click",{"2":{"47":3,"152":3,"175":4,"212":4,"214":1,"216":1,"217":2,"218":1,"219":1,"220":1,"221":4,"222":1}}],["clicking",{"2":{"27":1}}],["classname",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":2}}],["class",{"2":{"44":1,"95":1,"179":1}}],["clarity",{"2":{"10":1}}],["closing",{"2":{"116":1,"182":1}}],["closesums",{"2":{"117":5}}],["closepath",{"2":{"107":2}}],["close",{"2":{"38":1,"90":2,"110":1,"117":4,"139":1,"140":1,"141":1,"142":1,"179":70,"182":5,"212":4,"213":4,"214":4,"215":7,"216":5,"217":5,"218":4,"219":4,"220":4,"221":4}}],["clone",{"0":{"53":1},"2":{"13":1}}],["code",{"2":{"203":1,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["commonjs",{"2":{"203":3}}],["command",{"0":{"203":1}}],["com",{"2":{"193":2,"222":2}}],["combined",{"2":{"189":1}}],["compression",{"2":{"171":1}}],["components",{"2":{"200":1}}],["component",{"2":{"115":4,"175":2,"179":2}}],["composed",{"2":{"68":1,"94":1}}],["completely",{"2":{"222":1}}],["completes",{"2":{"179":1}}],["complete",{"2":{"111":1,"122":1,"171":1,"175":1,"176":2}}],["completed",{"2":{"86":1,"107":1,"117":1}}],["complex",{"2":{"94":1}}],["core",{"2":{"179":1,"197":1,"203":2}}],["corresponds",{"2":{"165":1}}],["corresponding",{"2":{"47":1,"61":1,"117":1,"175":8,"176":2,"189":1}}],["cost",{"2":{"171":1}}],["copy",{"2":{"53":1}}],["collection",{"2":{"52":1}}],["color",{"2":{"45":2,"76":3,"77":3,"78":4,"79":3,"80":4,"81":4,"82":5,"97":2,"98":3,"99":5,"100":3,"101":4,"106":4,"107":2,"115":2,"146":4,"147":5,"150":1,"152":1,"167":1,"179":1,"182":39,"191":3,"212":2,"214":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2}}],["coord",{"2":{"49":1,"50":1,"85":2}}],["coordinates",{"2":{"73":1,"74":1,"79":1,"80":1,"99":4,"104":1,"165":1,"166":1,"175":1,"176":7,"218":7}}],["coordinate2",{"0":{"68":1,"69":1},"2":{"68":1,"69":1}}],["coordinate1",{"0":{"68":1,"69":1},"2":{"68":1,"69":1}}],["coordinate",{"0":{"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"158":1,"166":1},"2":{"10":1,"42":2,"45":2,"68":1,"69":2,"70":1,"71":4,"72":4,"73":2,"74":2,"75":4,"76":4,"86":1,"97":2,"98":2,"100":2,"101":2,"104":1,"106":2,"107":3,"115":2,"146":1,"147":1,"158":4,"165":1,"166":3,"175":1,"189":1}}],["coverage",{"2":{"24":1}}],["console",{"2":{"150":14,"152":14}}],["consistent",{"2":{"117":2,"146":1,"150":1,"175":3}}],["constructor",{"2":{"175":1}}],["constant",{"2":{"68":1,"70":1}}],["const",{"2":{"61":1,"95":1,"107":5,"117":3,"176":3,"179":6,"212":19,"213":9,"214":13,"215":12,"216":13,"217":23,"218":16,"219":17,"220":13,"221":20}}],["connecting",{"2":{"116":1}}],["configure",{"2":{"176":1,"182":1}}],["configured",{"2":{"115":1,"116":1}}],["configuration",{"0":{"182":1,"186":1},"2":{"2":1,"3":1,"13":1,"17":1,"18":1,"20":1,"23":1,"29":3,"36":1,"38":1,"41":2,"45":1,"115":1,"116":1,"121":2,"122":1,"146":1,"147":1,"161":2,"171":1,"175":1}}],["conversion",{"2":{"115":4,"175":2}}],["convertfrompixel",{"0":{"166":1},"2":{"189":1}}],["convert",{"2":{"165":1,"166":1}}],["converttopixel",{"0":{"165":1},"2":{"189":1,"217":2}}],["converttimestamptopixel",{"2":{"19":1}}],["converttimestampfrompixel",{"2":{"19":1}}],["converted",{"2":{"45":2,"147":2,"165":2,"166":1,"167":2}}],["context",{"2":{"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"95":2,"104":1,"115":1}}],["content=",{"2":{"179":4}}],["content",{"2":{"36":2,"76":1,"82":1,"101":1}}],["container",{"2":{"36":1,"87":1,"119":2,"120":1,"168":1,"200":2,"206":2,"212":7,"214":7,"216":7,"217":7,"218":7,"219":7,"220":7,"221":10}}],["cryptocurrency",{"0":{"226":1}}],["cryptotooltop",{"2":{"7":1}}],["cr",{"2":{"113":1}}],["creating",{"2":{"146":1}}],["creation",{"2":{"45":1,"47":1,"104":1,"147":1,"152":1,"175":1,"179":1,"204":1}}],["createelement",{"2":{"212":5,"214":2,"216":2,"217":5,"218":2,"219":2,"220":2,"221":8}}],["creates",{"2":{"47":3,"150":1}}],["createshape",{"2":{"29":1,"189":1}}],["createyaxisfigures",{"2":{"47":2,"175":1}}],["createxaxisfigures",{"2":{"47":2,"175":1}}],["createpointfigures",{"2":{"47":2,"175":1,"176":1,"218":1}}],["create",{"0":{"179":1,"208":1,"210":1},"2":{"45":1,"49":1,"50":1,"85":1,"103":1,"114":1,"115":1,"146":1,"147":1,"175":3,"176":1,"200":2,"204":1}}],["createhtml",{"2":{"29":1,"189":1}}],["createticks",{"2":{"49":2,"50":2,"85":1}}],["createtooltipdatasource",{"2":{"45":2,"115":1,"146":1,"147":2,"191":2}}],["createtag",{"2":{"29":1,"189":1}}],["createtechnicalindicator",{"2":{"29":1,"189":1}}],["createannotation",{"2":{"29":1,"189":1}}],["createoverlay",{"0":{"150":1},"2":{"19":1,"29":2,"150":1,"151":1,"153":1,"189":1,"211":1,"218":3}}],["createindicator",{"0":{"88":1,"146":1},"2":{"13":1,"20":1,"29":1,"36":1,"86":1,"146":1,"148":1,"149":1,"189":1,"209":1,"217":2,"219":1,"221":2}}],["created",{"2":{"5":1,"211":1}}],["cross",{"2":{"24":1,"115":3,"182":2,"221":2}}],["crosshair",{"2":{"14":1,"29":2,"115":1,"182":1,"191":2,"200":1}}],["carried",{"2":{"200":1}}],["carefully",{"2":{"94":1}}],["caution",{"2":{"168":1}}],["caused",{"2":{"9":1}}],["calls",{"2":{"151":1,"168":1}}],["calling",{"2":{"148":1,"149":1,"153":1}}],["call",{"2":{"139":1,"143":1,"168":1,"207":1}}],["callback",{"0":{"139":1,"140":1,"141":1,"146":1,"147":1,"163":1,"164":1},"2":{"1":2,"3":1,"13":1,"23":1,"24":1,"86":1,"117":1,"139":4,"140":3,"141":4,"144":2,"145":4,"146":3,"147":3,"163":3,"164":3,"175":13,"182":1,"189":2}}],["calculated",{"0":{"209":1}}],["calculates",{"2":{"116":2}}],["calculate",{"2":{"67":1,"115":1}}],["calculation",{"2":{"9":1,"45":2,"115":5,"116":2,"117":5,"147":2}}],["calcparms",{"2":{"45":1,"115":1,"146":1,"147":1}}],["calcparamstext",{"2":{"45":1,"115":1,"146":1,"147":1,"191":1}}],["calcparams",{"2":{"9":1,"29":1,"45":2,"115":1,"116":2,"117":4,"146":1,"147":3}}],["calc",{"2":{"29":1,"45":2,"113":3,"115":1,"117":1,"146":1,"147":3,"191":1,"209":1,"217":1}}],["calctechnicalindicator",{"2":{"29":1,"191":1}}],["calctextwidth",{"0":{"67":1},"2":{"20":1}}],["cancel",{"2":{"164":1,"175":1}}],["canvastextbaseline",{"2":{"101":1}}],["canvastextalign",{"2":{"101":1}}],["canvasgradient",{"2":{"78":1,"80":1,"81":1,"101":1}}],["canvas",{"2":{"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"92":2,"95":2,"104":1,"115":1,"200":1}}],["canvasrenderingcontext2d",{"2":{"42":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"104":1,"115":1}}],["can",{"0":{"206":1},"2":{"36":3,"37":1,"84":1,"86":1,"94":1,"105":1,"106":2,"109":1,"110":1,"111":1,"115":1,"121":1,"127":1,"130":1,"131":1,"139":1,"140":1,"146":6,"148":1,"150":1,"154":1,"155":1,"156":1,"157":1,"158":2,"159":1,"160":1,"161":5,"165":1,"166":1,"167":3,"171":1,"175":12,"176":1,"178":2,"180":2,"182":3,"202":1,"204":1,"209":1,"211":2,"222":2}}],["cannot",{"2":{"3":1,"5":1,"117":1}}],["candles",{"2":{"134":1,"135":1}}],["candlesticks",{"2":{"115":2,"175":2,"200":1}}],["candlestick",{"2":{"115":2,"136":1,"137":1,"175":2}}],["candle",{"0":{"207":1,"214":1},"2":{"3":1,"7":2,"10":1,"12":2,"13":1,"14":1,"17":1,"18":1,"19":1,"23":8,"29":3,"36":1,"87":1,"89":1,"146":1,"147":2,"148":1,"149":1,"150":1,"161":1,"182":6,"186":3,"208":1,"214":5,"217":1,"219":2,"221":3}}],["ts",{"2":{"204":1}}],["t",{"2":{"194":1}}],["trc20",{"2":{"226":1}}],["transparent",{"2":{"182":2}}],["traditional",{"2":{"110":1}}],["true",{"2":{"115":1,"139":1,"140":1,"146":2,"147":2,"150":1,"152":1,"161":2,"175":1,"182":29,"212":2,"215":2,"217":1,"218":3}}],["trix",{"2":{"113":1}}],["triggered",{"2":{"115":1,"175":2}}],["triggering",{"2":{"25":2}}],["trigger",{"2":{"9":1,"17":2,"175":1}}],["two",{"2":{"68":1,"69":1,"106":1,"107":1,"109":1,"116":1,"207":1}}],["targetcoordinate",{"0":{"69":1,"70":1},"2":{"69":1,"70":1}}],["target",{"0":{"53":1,"54":1},"2":{"53":1,"54":1}}],["tagid",{"2":{"189":1}}],["tag",{"2":{"29":1,"185":1,"186":1,"189":1}}],["takes",{"2":{"61":1}}],["take",{"2":{"5":1,"117":1,"178":1}}],["tickline",{"2":{"182":2}}],["ticktext",{"2":{"182":2}}],["ticks",{"2":{"49":1,"50":1,"85":2}}],["ticketext",{"2":{"29":8,"186":8}}],["tip",{"2":{"45":1,"147":1,"221":2}}],["title>",{"2":{"179":1}}],["title>quick",{"2":{"179":1}}],["title",{"2":{"45":3,"115":2,"116":2,"117":4,"146":3,"147":3,"182":13,"191":2}}],["times",{"2":{"116":2}}],["timestamp",{"0":{"64":1,"157":1,"160":1},"2":{"36":1,"47":1,"64":1,"90":2,"139":1,"140":1,"141":2,"142":1,"144":3,"150":4,"152":3,"157":4,"160":4,"165":5,"166":2,"175":6,"179":70,"212":5,"213":5,"214":5,"215":7,"216":5,"217":5,"218":5,"219":5,"220":5,"221":5}}],["timezone",{"0":{"124":1,"220":1},"2":{"36":3,"124":2,"220":2}}],["time",{"0":{"208":1},"2":{"8":1,"10":2,"25":1,"36":2,"38":1,"110":1,"117":1,"124":4,"125":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"165":1,"175":1,"182":5,"216":1}}],["typo",{"2":{"18":1}}],["type=",{"2":{"179":1}}],["types",{"0":{"173":1},"2":{"24":2,"27":1,"40":1,"164":1,"167":1,"182":2,"212":2,"221":3}}],["typescriptklinecharts",{"2":{"110":1}}],["typescriptnew",{"2":{"97":1,"98":1,"99":2,"100":1,"101":1}}],["typescriptsetpaneoptions",{"2":{"89":1}}],["typescriptcreateindicator",{"2":{"88":1}}],["typescriptinit",{"2":{"87":1}}],["typescript",{"2":{"2":1,"15":1,"16":1,"18":1,"22":1,"24":1,"28":1,"29":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"85":1,"90":1,"104":1,"115":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"171":1,"175":1,"203":2}}],["type",{"0":{"162":1,"163":1,"164":1,"167":1,"214":1},"2":{"1":1,"2":1,"10":1,"14":1,"18":1,"21":1,"29":1,"36":2,"41":1,"43":1,"45":2,"47":6,"87":2,"106":1,"115":10,"116":2,"117":3,"122":1,"139":1,"140":1,"141":1,"142":1,"145":2,"146":3,"147":2,"150":1,"162":2,"163":2,"164":2,"167":3,"171":1,"175":8,"176":1,"182":4,"189":3,"208":1,"212":2,"214":2,"218":1}}],["telegram",{"0":{"194":1}}],["tells",{"2":{"139":1,"140":1}}],["terminals",{"2":{"171":1}}],["terminal",{"2":{"92":1}}],["term",{"2":{"68":1,"70":1}}],["technicalindicator",{"2":{"29":4,"186":3,"191":1}}],["technical",{"0":{"112":1,"113":1,"114":1,"191":1,"209":1,"210":1},"1":{"113":1,"114":1,"115":2,"116":2,"117":2},"2":{"16":1,"29":6,"45":2,"46":1,"90":1,"94":1,"112":2,"114":3,"115":11,"116":1,"123":1,"146":3,"147":1,"148":2,"149":2,"210":1}}],["textalign",{"2":{"217":1}}],["textweight",{"2":{"182":2}}],["textfamily",{"2":{"182":2}}],["textsize",{"2":{"182":2}}],["textmargin",{"2":{"182":2}}],["text",{"0":{"67":1,"76":1,"101":1},"2":{"13":1,"14":1,"16":1,"24":1,"29":4,"45":2,"49":1,"50":1,"67":2,"76":7,"82":5,"83":2,"85":2,"96":1,"101":2,"102":2,"115":4,"146":2,"147":2,"179":1,"182":10,"200":1,"212":17,"214":8,"216":5,"217":2,"218":4,"219":6,"220":5,"221":13}}],["template>",{"2":{"179":2}}],["templates",{"2":{"18":1,"182":1}}],["template",{"2":{"13":1,"29":1,"179":1,"188":4}}],["turnover",{"2":{"13":1,"90":2,"110":1,"139":1,"140":1,"141":1,"142":1,"212":2,"213":2,"214":2,"215":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2}}],["tofixed",{"2":{"212":4,"213":4,"214":4,"215":4,"216":4,"217":4,"218":4,"219":4,"220":4,"221":4}}],["together",{"2":{"200":2}}],["tooling",{"2":{"178":1}}],["tools",{"2":{"178":2}}],["tooltip",{"0":{"221":1},"2":{"3":1,"7":2,"13":1,"17":1,"18":1,"23":2,"29":2,"115":1,"182":2,"186":3,"221":4}}],["total",{"2":{"47":1,"175":1}}],["totalstep",{"2":{"47":2,"175":1,"176":1,"218":1}}],["top",{"2":{"36":2,"76":1,"82":2,"85":1,"101":1,"115":4,"120":1,"146":5,"161":4,"175":2,"200":1,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":2,"222":1}}],["to",{"0":{"183":1,"207":1,"208":1,"209":1,"210":1,"211":1},"1":{"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1},"2":{"7":2,"8":1,"9":3,"10":1,"22":2,"23":1,"25":1,"27":1,"29":25,"30":2,"31":2,"32":2,"33":2,"34":2,"36":2,"41":1,"45":4,"47":2,"68":1,"85":1,"86":2,"90":3,"92":3,"94":3,"95":1,"103":4,"109":2,"110":1,"112":1,"114":3,"115":16,"116":1,"117":5,"121":1,"122":1,"124":1,"126":1,"130":1,"131":1,"134":1,"135":1,"138":1,"139":2,"140":1,"141":1,"142":1,"143":2,"145":1,"146":1,"147":6,"148":1,"151":1,"152":3,"155":1,"156":1,"157":1,"158":1,"161":1,"163":1,"164":1,"165":4,"166":2,"167":1,"171":1,"172":1,"174":1,"175":16,"176":4,"178":2,"182":2,"183":4,"185":1,"186":11,"188":1,"189":16,"190":1,"191":6,"195":1,"200":4,"202":1,"206":1,"207":1,"212":1,"214":1,"216":1,"217":3,"218":1,"219":1,"220":1,"221":1,"222":2}}],["thjptqmfgavm12ke1jzc5mlxiapp6qxmci",{"2":{"226":1}}],["those",{"2":{"222":1}}],["thousandsseparator",{"2":{"36":2,"175":1}}],["thousands",{"2":{"23":1,"36":1,"65":1,"175":1}}],["thousandth",{"2":{"5":1}}],["thank",{"2":{"197":1}}],["than",{"0":{"210":1},"2":{"146":2,"161":2}}],["that",{"2":{"3":1,"5":1,"92":1,"105":1,"115":3,"117":2,"130":1,"131":1,"146":1,"147":1,"148":1,"149":1,"152":2,"175":2,"222":1}}],["think",{"2":{"222":1}}],["this",{"2":{"90":1,"94":1,"110":1,"112":1,"115":1,"139":1,"140":1,"144":1,"146":1,"168":1,"172":1,"179":1,"183":1,"197":2,"204":1}}],["thickness",{"2":{"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"101":1}}],["three",{"2":{"106":1,"167":1,"176":1,"222":1}}],["threshold",{"0":{"66":1},"2":{"36":1,"66":1,"175":1}}],["through",{"2":{"36":1,"84":1,"90":1,"94":1,"103":1,"110":1,"111":1,"114":1,"121":1,"174":1,"178":1,"189":1,"208":1}}],["theme",{"0":{"219":1},"2":{"179":1,"219":4}}],["then",{"2":{"103":1,"114":1,"174":1}}],["these",{"2":{"96":1}}],["there",{"2":{"24":1,"95":1,"117":2,"139":1,"140":1}}],["the",{"0":{"179":1,"206":1,"207":1,"210":1,"211":1},"2":{"1":7,"3":5,"4":1,"5":1,"6":2,"7":1,"8":3,"9":4,"10":5,"12":6,"13":5,"14":5,"16":2,"18":4,"19":1,"20":3,"22":1,"23":3,"24":6,"25":5,"26":2,"27":3,"28":1,"29":8,"30":1,"31":1,"32":1,"33":1,"34":1,"36":5,"37":1,"40":2,"41":1,"42":2,"43":2,"45":2,"47":5,"51":2,"61":2,"68":2,"69":2,"70":4,"71":7,"72":6,"73":1,"76":1,"77":6,"78":7,"79":1,"80":1,"84":1,"86":5,"87":7,"88":3,"89":3,"90":5,"92":2,"94":5,"95":3,"96":1,"97":6,"98":6,"100":4,"101":4,"103":3,"104":6,"105":1,"106":14,"109":3,"111":1,"112":2,"114":2,"115":36,"116":10,"117":14,"119":4,"120":4,"121":1,"122":2,"123":2,"124":2,"125":1,"130":3,"131":3,"132":3,"133":3,"134":2,"135":2,"136":2,"137":2,"139":5,"140":3,"141":3,"142":3,"143":4,"144":2,"146":11,"147":4,"148":5,"149":4,"150":3,"151":2,"152":4,"153":2,"156":3,"157":1,"158":3,"159":2,"160":1,"161":5,"164":3,"165":6,"166":1,"167":7,"168":4,"171":2,"172":2,"174":2,"175":49,"176":9,"178":3,"180":4,"182":3,"183":1,"186":1,"189":4,"191":6,"195":1,"197":1,"200":9,"202":2,"203":1,"204":1,"206":3,"207":1,"209":1,"211":2,"212":4,"214":4,"216":4,"217":4,"218":4,"219":4,"220":4,"221":4,"222":5}}],["older",{"2":{"183":1}}],["obtain",{"2":{"148":1,"189":1}}],["obtained",{"2":{"94":1}}],["obv",{"2":{"113":1}}],["objects",{"2":{"175":2,"182":1}}],["object",{"2":{"36":2,"41":1,"42":2,"45":23,"47":20,"49":1,"50":1,"54":3,"58":1,"121":2,"122":1,"146":21,"147":19,"148":1,"149":1,"150":32,"151":1,"152":15,"165":1,"166":1,"182":1}}],["own",{"2":{"87":1}}],["other",{"0":{"210":1},"2":{"69":1,"109":1,"116":2,"117":1,"176":1,"222":1}}],["o",{"2":{"61":2}}],["outline",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["outside",{"2":{"212":1}}],["out",{"2":{"47":1,"108":1,"152":1,"171":1,"175":1,"200":1}}],["output",{"2":{"23":1}}],["operations",{"2":{"146":1,"200":1}}],["operation",{"2":{"45":1,"147":1,"175":3}}],["opening",{"2":{"182":1}}],["open",{"2":{"38":1,"90":2,"110":1,"139":1,"140":1,"141":1,"142":1,"179":70,"182":4,"212":3,"213":3,"214":3,"215":3,"216":4,"217":3,"218":3,"219":3,"220":3,"221":3}}],["option",{"2":{"189":2}}],["optional",{"2":{"36":1,"90":1,"97":1,"98":1,"99":2,"100":1,"101":1,"147":1}}],["options",{"0":{"36":1,"161":1},"2":{"13":2,"20":3,"29":3,"36":5,"45":1,"47":1,"86":3,"87":2,"106":2,"111":1,"147":1,"152":1,"161":2,"163":1,"164":1,"175":1,"180":1,"186":1,"189":1,"191":1}}],["optimization",{"2":{"17":1}}],["optimize",{"2":{"1":2,"3":1,"6":1,"7":4,"8":2,"9":2,"10":2,"12":1,"13":2,"16":3,"17":1,"18":3,"19":1,"20":3,"21":1,"22":2,"23":2,"24":3,"25":1,"26":1,"27":1}}],["organization",{"2":{"222":1}}],["organizations",{"2":{"222":1}}],["org",{"2":{"175":1}}],["original",{"2":{"155":1}}],["order",{"2":{"143":1}}],["or",{"2":{"36":2,"37":1,"45":1,"47":1,"86":1,"111":1,"123":1,"145":1,"146":1,"147":1,"150":1,"152":1,"165":1,"166":1,"178":2,"180":2,"182":4,"183":1,"202":1,"204":1,"209":1,"222":3}}],["ohlc",{"2":{"10":1,"12":1,"45":1,"115":1,"147":1,"182":2,"214":2,"219":2}}],["occasional",{"2":{"6":1}}],["overwrite",{"2":{"152":1}}],["overwritten",{"2":{"141":1}}],["overridetechnicalindicator",{"2":{"189":1}}],["override",{"0":{"147":1,"152":1},"2":{"147":2,"152":2,"189":3,"209":1}}],["overrides",{"2":{"146":1}}],["overrideindicator",{"0":{"147":1},"2":{"29":1,"146":1,"147":1,"189":1,"209":1}}],["overrideoverlay",{"0":{"152":1},"2":{"29":2,"150":1,"152":1,"189":1}}],["overridden",{"2":{"3":1,"147":1,"152":1}}],["overlayevent",{"2":{"175":14}}],["overlayperformeventparams",{"2":{"175":1}}],["overlaycreatefigurescallback",{"2":{"175":2}}],["overlayconstructor>",{"2":{"39":1}}],["overlaytechnicalindicator",{"2":{"29":1}}],["overlayfigureignoreeventtype",{"2":{"47":6,"175":2}}],["overlayfigure",{"2":{"18":1}}],["overlaystyle",{"2":{"175":2}}],["overlays",{"0":{"174":1},"1":{"175":1,"176":1},"2":{"5":1,"11":1,"16":1,"25":1,"48":1,"94":1,"152":1,"172":1,"211":1}}],["overlay",{"0":{"47":1,"172":1,"173":1,"218":1},"1":{"173":1,"174":1,"175":1,"176":1},"2":{"3":1,"8":1,"10":1,"12":1,"13":2,"18":1,"19":1,"24":1,"25":1,"27":1,"29":2,"39":2,"47":6,"147":1,"150":2,"151":1,"152":2,"153":1,"167":1,"172":1,"174":2,"175":7,"176":1,"182":1,"185":2,"186":1,"211":1}}],["onload",{"2":{"179":1}}],["only",{"0":{"206":1},"2":{"9":1,"47":1,"103":1,"106":2,"108":1,"114":1,"141":1,"143":1,"146":1,"152":1,"162":1,"165":1,"166":1,"171":1,"175":1,"178":1,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["onunmounted",{"2":{"179":2}}],["onmount",{"2":{"179":4}}],["onmounted",{"2":{"179":2}}],["onmouseleave",{"2":{"47":2,"150":3,"152":3,"175":1}}],["onmouseenter",{"2":{"47":2,"150":3,"152":3,"175":1}}],["onpanedrag",{"2":{"163":2,"164":2,"189":1}}],["onpressedmoveend",{"2":{"47":2,"150":3,"152":3,"175":1}}],["onpressedmovestart",{"2":{"47":2,"150":3,"152":3,"175":1}}],["onpressedmoving",{"2":{"47":2,"150":3,"152":3,"175":1}}],["ontooltipiconclick",{"2":{"163":2,"164":2}}],["onvisiblerangechange",{"2":{"163":2,"164":2,"189":1}}],["one",{"0":{"206":1},"2":{"54":1,"116":2,"167":1,"171":1,"175":1}}],["onselected",{"2":{"47":2,"150":3,"152":3,"175":1}}],["onscroll",{"2":{"1":1,"163":2,"164":2,"189":1}}],["onremoved",{"2":{"47":2,"150":3,"152":3,"175":1}}],["onrightclick",{"2":{"47":2,"150":3,"152":3,"175":1}}],["ondestroy",{"2":{"179":4}}],["ondeselected",{"2":{"47":2,"150":3,"152":3,"175":1}}],["ondataready",{"2":{"139":1,"141":1,"163":2,"164":2}}],["ondrawend",{"2":{"47":2,"150":3,"152":3,"175":1}}],["ondrawing",{"2":{"47":2,"150":3,"152":3,"175":1}}],["ondrawstart",{"2":{"47":2,"150":3,"152":3,"175":1}}],["ondoubleclick",{"2":{"18":1,"47":2,"150":3,"152":3,"175":1}}],["oncleanup",{"2":{"179":2}}],["onclick",{"2":{"47":2,"150":3,"152":3,"175":1}}],["oncrosshairchange",{"2":{"162":2,"163":2,"164":2,"189":1}}],["once",{"2":{"37":1}}],["oncandlebarclick",{"2":{"27":1,"163":2,"164":2}}],["on",{"2":{"9":1,"10":1,"18":1,"24":1,"42":1,"47":2,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"92":3,"94":1,"104":1,"132":1,"133":1,"137":1,"146":1,"152":1,"160":1,"165":1,"166":1,"175":4,"180":1,"222":3}}],["onzoom",{"2":{"1":1,"163":2,"164":2,"189":1}}],["official",{"2":{"222":1}}],["offsetbottom",{"2":{"7":1,"23":1,"182":3}}],["offsetright",{"2":{"7":1,"182":3}}],["offsettop",{"2":{"7":1,"182":3}}],["offsetleft",{"2":{"7":1,"182":3}}],["offset",{"2":{"6":1,"182":2}}],["of",{"0":{"87":1,"88":1,"89":1,"95":1,"211":1},"2":{"1":4,"3":1,"4":1,"5":1,"6":1,"8":1,"9":1,"10":3,"12":1,"13":3,"14":3,"16":1,"18":1,"19":1,"20":1,"23":1,"24":4,"25":2,"26":1,"27":1,"28":1,"36":1,"51":1,"52":1,"61":1,"68":2,"69":1,"70":1,"71":4,"72":4,"77":4,"78":4,"85":1,"86":1,"94":2,"95":1,"97":4,"98":4,"99":2,"100":2,"101":2,"104":3,"106":2,"115":7,"116":3,"117":4,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":2,"137":1,"139":2,"140":2,"141":3,"142":1,"143":1,"144":2,"146":4,"147":1,"148":1,"149":1,"150":2,"156":1,"158":1,"159":1,"161":2,"165":1,"167":2,"168":1,"171":1,"175":12,"176":2,"178":2,"182":1,"186":1,"200":1,"204":1,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1}}],["amount",{"2":{"222":1}}],["america",{"2":{"220":1}}],["at",{"2":{"158":1,"159":1,"165":1}}],["attributes",{"2":{"10":1,"19":1,"29":1,"39":1,"106":1,"117":1}}],["attribute",{"0":{"104":1,"115":1,"175":1},"1":{"116":1,"117":1},"2":{"1":1,"12":1,"29":6,"95":1,"106":1,"191":2}}],["attrs",{"2":{"1":1,"7":1,"18":1,"42":2,"45":2,"47":6,"95":2,"97":1,"98":1,"99":2,"100":1,"101":1,"104":2,"107":4,"115":1,"146":1,"147":1,"175":2,"176":1,"218":1}}],["adopts",{"2":{"202":1}}],["advantage",{"2":{"178":1}}],["adjustments",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["adjustment",{"0":{"184":1,"185":1,"186":1,"187":1,"191":1},"1":{"188":1,"189":1,"190":1}}],["adjust",{"2":{"146":1,"161":1}}],["address",{"2":{"222":1}}],["addeventlistener",{"2":{"212":4,"214":1,"216":1,"217":2,"218":1,"219":1,"220":1,"221":4}}],["added",{"2":{"20":1,"29":1}}],["addition",{"2":{"178":1,"200":1}}],["additionally",{"2":{"139":1}}],["adding",{"0":{"110":1},"2":{"7":1,"10":1,"110":1,"111":1,"200":1}}],["addtechnicalindicatortemplate",{"2":{"29":2,"188":1}}],["add",{"2":{"1":1,"7":1,"12":2,"13":2,"17":2,"18":2,"19":2,"20":1,"23":4,"24":1,"27":1,"29":3,"38":1,"41":1,"42":1,"45":1,"47":1,"49":1,"50":1,"103":2,"110":1,"114":2,"139":1,"140":1,"174":2,"178":2,"195":1}}],["addshapetemplate",{"2":{"29":2,"188":1}}],["adds",{"2":{"1":1,"13":1}}],["affect",{"2":{"168":1}}],["affected",{"2":{"123":1}}],["afterviewinit",{"2":{"179":2}}],["after",{"0":{"206":1},"2":{"5":1,"25":1,"83":1,"86":1,"102":1,"111":1,"115":1,"167":1}}],["ao",{"2":{"113":1}}],["above",{"2":{"200":1}}],["about",{"2":{"115":2,"175":2}}],["absoluteyaxis",{"2":{"189":1}}],["absolute",{"2":{"165":3,"166":3,"189":1}}],["abs",{"2":{"107":2,"176":2,"218":2}}],["abandonment",{"2":{"29":1}}],["avoid",{"2":{"143":1}}],["average",{"2":{"116":1}}],["avp",{"2":{"90":1,"113":1}}],["available",{"2":{"37":1,"132":1,"133":1}}],["alipay",{"0":{"224":1}}],["alignment",{"2":{"76":2,"82":2,"101":1}}],["align",{"2":{"76":2,"82":2,"101":1,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["alphagreen",{"2":{"219":7}}],["alphared",{"2":{"219":7}}],["alphabetic",{"2":{"76":1,"82":1}}],["always",{"2":{"168":1,"182":4,"206":1,"221":2}}],["also",{"2":{"123":1,"178":3,"200":1}}],["allow",{"2":{"178":1}}],["all",{"2":{"23":1,"29":2,"94":1,"147":1,"148":1,"149":1,"164":1,"186":1,"190":1,"214":2}}],["auto",{"2":{"145":1,"182":2}}],["automatically",{"2":{"36":1,"124":1}}],["auxiliary",{"2":{"45":1,"147":1}}],["actual",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["activeradius",{"2":{"182":1}}],["activebordersize",{"2":{"182":1}}],["activebordercolor",{"2":{"182":1}}],["activebackgroundcolor",{"2":{"182":3}}],["activecolor",{"2":{"182":1}}],["actions",{"2":{"163":1,"164":1}}],["action",{"2":{"162":1}}],["achieved",{"2":{"84":1}}],["account",{"2":{"222":1}}],["accomplished",{"2":{"110":1}}],["according",{"2":{"68":1,"148":1,"165":1,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["accuracy",{"2":{"9":1}}],["acquisition",{"2":{"20":1}}],["apache",{"2":{"222":1}}],["appreciated",{"2":{"222":1}}],["appendchild",{"2":{"212":5,"214":2,"216":2,"217":5,"218":2,"219":2,"220":2,"221":8}}],["appended",{"2":{"141":1}}],["app",{"2":{"179":1}}],["applynewdata",{"0":{"139":1},"2":{"23":1,"24":1,"90":1,"179":7,"212":1,"213":1,"214":1,"215":2,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["applymoredata",{"0":{"140":1},"2":{"7":1,"23":1,"90":1,"215":1}}],["apis",{"2":{"20":1,"36":1,"190":1}}],["apissetmaxoffsetleftdistance",{"2":{"12":1}}],["api",{"0":{"35":1,"87":1,"88":1,"89":1,"118":1,"187":1,"188":1,"189":1,"190":1},"1":{"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"188":1,"189":1,"190":1},"2":{"5":1,"13":2,"17":1,"19":1,"20":1,"23":3,"24":1,"29":3,"36":1,"84":1,"86":2,"90":1,"111":1,"140":1,"144":1,"146":1,"171":1,"211":1}}],["arc",{"0":{"71":1,"77":1,"97":1},"2":{"26":1,"71":4,"77":5,"95":1,"96":1,"182":1}}],["are",{"2":{"25":1,"29":3,"45":1,"47":1,"94":2,"96":1,"116":2,"117":1,"147":1,"150":1,"152":1,"163":1,"164":1,"175":5,"176":1,"183":1,"184":1,"185":1,"186":2,"189":1,"190":1,"191":1}}],["area",{"2":{"6":1,"8":1,"14":1,"24":1,"115":2,"182":2,"200":1,"208":1,"214":2}}],["arrays",{"2":{"19":1}}],["array",{"2":{"3":1,"7":1,"24":1,"36":2,"45":3,"47":4,"49":1,"50":1,"70":1,"73":1,"74":1,"78":1,"79":1,"80":2,"81":1,"85":2,"99":2,"115":5,"139":2,"140":2,"142":1,"146":3,"147":3,"150":3,"152":1,"165":3,"166":3,"175":4,"182":3}}],["assisting",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["assemble",{"2":{"200":2}}],["asia",{"2":{"36":1,"124":1,"220":1}}],["as",{"2":{"5":1,"24":2,"36":2,"61":1,"63":1,"64":1,"83":1,"95":1,"102":1,"116":1,"117":2,"124":1,"171":1,"175":1,"200":5}}],["angular",{"2":{"179":1}}],["angle",{"2":{"71":2,"77":2,"97":2}}],["animation",{"2":{"154":2,"155":2,"156":2,"157":2,"158":2,"159":2,"160":2,"182":1}}],["animationduration",{"0":{"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1},"2":{"154":2,"155":2,"156":2,"157":2,"158":2,"159":2,"160":2,"182":1}}],["another",{"2":{"54":1}}],["annotation",{"2":{"29":1,"185":1,"186":1,"189":1}}],["any>",{"2":{"115":1}}],["any>>",{"2":{"115":1}}],["any",{"2":{"29":1,"42":2,"45":3,"47":19,"53":2,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":3,"76":1,"82":1,"101":1,"104":4,"115":6,"146":3,"147":3,"150":2,"152":1,"162":1,"163":1,"164":1,"175":7}}],["an",{"0":{"210":1},"2":{"3":1,"5":3,"8":1,"9":2,"24":1,"36":1,"58":1,"77":1,"94":1,"121":1,"139":1,"140":1,"146":1,"150":3,"165":3,"166":3,"167":1,"174":1,"182":3,"222":1}}],["and",{"2":{"1":2,"4":1,"5":1,"7":3,"8":1,"10":2,"11":1,"12":1,"13":1,"16":2,"19":2,"20":1,"22":1,"23":5,"24":3,"25":2,"27":1,"29":9,"36":5,"38":1,"45":2,"47":4,"68":2,"70":1,"83":1,"84":1,"86":1,"90":2,"92":1,"94":2,"95":1,"102":1,"103":2,"105":1,"106":5,"107":1,"108":1,"109":1,"112":1,"114":2,"115":1,"116":3,"121":1,"123":1,"128":1,"129":1,"141":1,"143":1,"146":1,"147":2,"148":1,"152":3,"163":1,"164":1,"165":1,"171":4,"172":1,"174":1,"175":9,"176":1,"178":1,"182":3,"184":1,"186":4,"189":6,"195":1,"200":5,"203":4,"204":1,"212":1,"214":1,"216":1,"217":1,"218":1,"219":3,"220":1,"221":1,"222":2}}],["a",{"0":{"207":1,"208":1},"2":{"1":1,"36":3,"37":2,"38":1,"41":1,"42":1,"45":1,"47":1,"52":1,"55":2,"56":2,"57":1,"58":1,"59":2,"60":2,"61":3,"69":1,"70":1,"71":1,"72":2,"73":1,"74":2,"75":2,"76":1,"81":1,"90":2,"92":1,"94":1,"95":1,"103":1,"104":2,"105":3,"106":5,"107":3,"112":1,"114":2,"115":4,"117":2,"136":1,"137":1,"144":1,"146":5,"152":1,"154":1,"158":1,"159":1,"161":2,"163":1,"170":1,"172":1,"175":3,"176":3,"178":1,"180":2,"182":4,"189":1,"202":1,"204":3,"211":1,"222":1}}],["axisline",{"2":{"182":2}}],["axisoptions",{"2":{"20":1,"36":1,"86":2,"87":2,"88":1,"89":1,"146":3,"161":3}}],["axis",{"0":{"49":1,"50":1,"84":1,"212":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1},"2":{"1":1,"7":1,"9":1,"10":2,"24":1,"29":1,"47":4,"49":5,"50":5,"69":1,"71":2,"72":2,"75":2,"76":2,"77":2,"78":2,"81":2,"82":2,"84":3,"85":1,"86":1,"87":2,"88":1,"89":1,"97":2,"98":2,"100":2,"101":2,"106":2,"115":4,"146":2,"152":2,"161":1,"165":2,"166":1,"175":9,"212":3}}],["xxxxxxxx",{"2":{"150":1,"152":1}}],["xxx",{"2":{"117":2,"191":8}}],["xdis",{"2":{"107":2,"176":3,"218":3}}],["x3c",{"2":{"36":2,"39":1,"45":4,"47":4,"49":1,"50":1,"70":1,"73":1,"74":1,"78":1,"79":1,"80":2,"81":1,"85":2,"99":2,"107":1,"115":7,"139":1,"140":1,"142":1,"145":1,"146":4,"147":4,"150":3,"152":1,"165":2,"166":2,"175":4,"178":2,"179":32,"212":5,"213":3,"214":5,"215":3,"216":5,"217":6,"218":5,"219":5,"220":5,"221":5}}],["xaxis",{"2":{"9":1,"19":1,"29":6,"36":1,"45":3,"87":1,"115":6,"146":1,"147":1,"175":2,"182":1,"186":6,"191":4,"217":2}}],["x",{"0":{"30":1,"31":1,"32":1,"33":1,"34":1},"2":{"1":1,"10":1,"30":1,"31":1,"32":1,"33":1,"34":1,"47":2,"49":1,"68":2,"69":3,"70":1,"71":4,"72":4,"73":2,"74":2,"75":4,"76":4,"77":3,"78":3,"79":1,"80":1,"81":3,"82":3,"87":1,"97":2,"98":2,"99":2,"100":2,"101":2,"104":1,"106":3,"107":12,"115":3,"152":1,"158":1,"165":2,"166":2,"175":4,"176":2,"183":4,"217":2,"218":2}}],["i18n",{"0":{"216":1}}],["i++",{"2":{"212":1,"213":1,"214":1,"215":1,"216":1,"217":2,"218":1,"219":1,"220":1,"221":1}}],["iconfont",{"2":{"182":2}}],["icon",{"2":{"182":4}}],["icons",{"2":{"29":2,"182":2}}],["illustrate",{"2":{"176":1}}],["image",{"2":{"167":3}}],["improving",{"2":{"197":1}}],["implements",{"2":{"179":1}}],["implement",{"2":{"107":1}}],["implementation",{"2":{"13":1,"47":1,"85":1}}],["important",{"2":{"94":1,"146":1}}],["import",{"0":{"184":1},"2":{"15":1,"179":7,"184":1,"204":2,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["i",{"0":{"210":1},"2":{"117":5,"212":2,"213":2,"214":2,"215":2,"216":2,"217":6,"218":2,"219":2,"220":2,"221":2,"222":1}}],["if",{"0":{"210":1},"2":{"36":1,"42":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"73":1,"76":1,"90":1,"92":1,"94":1,"107":3,"109":1,"115":3,"117":4,"124":1,"141":2,"149":1,"152":1,"165":1,"175":1,"176":1,"183":1,"197":1,"206":1,"218":1,"219":2,"222":3}}],["ignoreevent",{"2":{"47":6,"175":2}}],["ignore",{"2":{"25":1,"175":1}}],["id=",{"2":{"179":7,"212":2,"213":1,"214":2,"215":1,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2}}],["identification",{"2":{"146":1,"152":1}}],["identifies",{"2":{"146":1}}],["identifier",{"2":{"42":1,"45":1,"47":1,"104":1,"147":1,"150":1,"152":1,"175":1}}],["ideographic",{"2":{"76":1,"82":1}}],["id",{"0":{"151":1},"2":{"18":1,"20":1,"36":2,"37":1,"87":1,"89":1,"115":1,"119":1,"120":1,"146":6,"147":3,"148":5,"149":4,"150":6,"151":4,"152":6,"153":4,"161":6,"165":1,"166":1,"182":4,"189":2,"217":1,"221":1}}],["its",{"2":{"87":1}}],["it",{"2":{"3":1,"8":1,"36":3,"83":1,"86":1,"92":2,"94":1,"95":1,"102":1,"103":3,"114":3,"115":2,"117":3,"121":2,"124":1,"127":1,"141":4,"143":2,"146":2,"150":1,"152":1,"161":1,"165":2,"166":1,"167":1,"170":1,"174":3,"175":1,"176":1,"178":4,"182":3}}],["items",{"2":{"36":1,"116":1,"212":1,"214":3,"216":3,"217":1,"218":3,"219":3,"220":3,"221":1}}],["item",{"2":{"1":1,"86":1,"117":1,"182":1,"191":1}}],["isdashed",{"2":{"191":1}}],["iszoomenabled",{"0":{"127":1}}],["isboolean",{"0":{"60":1}}],["isfunction",{"0":{"59":1}}],["isobject",{"0":{"58":1}}],["isnumber",{"0":{"56":1}}],["isvalid",{"0":{"57":1},"2":{"23":1}}],["isscrollenabled",{"0":{"129":1}}],["isstroke",{"2":{"191":1}}],["isstring",{"0":{"55":1}}],["isstack",{"0":{"146":1},"2":{"13":1,"20":1,"86":1,"146":2,"189":2}}],["issues",{"2":{"193":2}}],["issue",{"2":{"1":3,"2":1,"3":2,"4":1,"5":3,"6":1,"7":1,"8":1,"9":2,"10":3,"12":1,"13":2,"14":2,"16":1,"18":1,"24":2,"25":2}}],["is",{"0":{"206":1,"209":1},"2":{"1":1,"3":1,"14":1,"24":2,"29":23,"42":1,"45":2,"47":2,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"83":1,"92":1,"94":1,"95":2,"102":1,"104":2,"105":1,"106":12,"107":1,"109":1,"110":1,"115":12,"116":2,"117":7,"119":2,"120":2,"121":1,"123":1,"128":1,"129":1,"139":3,"140":3,"141":2,"143":2,"144":2,"146":10,"147":3,"148":1,"149":1,"150":1,"152":2,"154":1,"155":1,"156":1,"157":1,"158":2,"159":1,"160":1,"161":2,"163":1,"164":2,"165":1,"166":1,"167":3,"170":1,"175":4,"176":2,"178":2,"182":3,"186":9,"188":1,"189":11,"191":5,"200":1,"207":1,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1}}],["innertext",{"2":{"212":4,"214":1,"216":1,"217":4,"218":1,"219":1,"220":1,"221":6}}],["insideoutside",{"2":{"212":2}}],["inside",{"2":{"182":1,"212":3}}],["installation",{"0":{"202":1}}],["install",{"2":{"178":2,"202":2}}],["instantiate",{"2":{"95":1}}],["instance",{"0":{"88":1,"89":1,"118":1,"189":1},"1":{"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1},"2":{"1":2,"12":1,"13":1,"19":1,"20":1,"23":2,"27":1,"29":14,"36":2,"37":1,"86":1,"175":1,"180":1}}],["instead",{"2":{"29":6,"83":1,"87":3,"88":1,"89":1,"102":1,"139":1,"141":1,"144":1,"186":1,"188":1,"189":3}}],["invalid",{"2":{"175":1}}],["invalidity",{"2":{"26":1}}],["individuals",{"2":{"222":1}}],["indicatortitle",{"2":{"221":3}}],["indicatorbuttoncontainer",{"2":{"221":6}}],["indicatorfigure",{"2":{"115":1}}],["indicatorfigurestyle",{"2":{"115":1}}],["indicatorfigureattrs",{"2":{"115":1}}],["indicatorfigureattrscallbackcoordinate",{"2":{"115":1}}],["indicatorfigureattrscallbackdata",{"2":{"115":1}}],["indicatordata",{"2":{"115":3}}],["indicatorstyle",{"2":{"115":4}}],["indicators",{"0":{"113":1,"114":1,"209":1},"1":{"115":1,"116":1,"117":1},"2":{"11":1,"16":1,"46":1,"90":1,"94":1,"112":1,"149":1,"171":1,"210":2}}],["indicator",{"0":{"45":1,"112":1,"191":1,"210":2,"217":1},"1":{"113":1,"114":1,"115":1,"116":1,"117":1},"2":{"1":1,"4":1,"7":1,"9":1,"10":2,"12":1,"13":1,"20":1,"29":11,"36":2,"45":9,"112":1,"114":3,"115":24,"116":1,"117":1,"123":1,"146":6,"147":5,"148":2,"149":1,"182":1,"186":3,"191":3,"200":1,"217":4,"219":2,"221":3}}],["index",{"2":{"115":8,"156":1,"159":1,"165":2,"175":4,"184":2,"204":1,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["info",{"2":{"49":1,"50":1,"85":2,"221":2}}],["information",{"2":{"42":1,"45":3,"47":2,"71":1,"72":1,"75":1,"76":1,"103":1,"114":1,"115":8,"146":1,"147":3,"148":1,"151":1,"152":1,"161":1,"175":6,"176":1,"222":1}}],["integration",{"2":{"171":1}}],["interested",{"2":{"197":1}}],["internationalized",{"2":{"182":1}}],["internationalization",{"0":{"109":1},"1":{"110":1,"111":1}}],["internal",{"2":{"20":2}}],["interact",{"2":{"90":1}}],["introduces",{"2":{"112":1,"172":1}}],["introduction",{"0":{"85":1,"169":1,"197":1},"1":{"170":1,"171":1},"2":{"28":1}}],["into",{"2":{"36":2,"54":1,"63":2,"96":1,"167":1,"185":1,"186":1,"189":1,"191":1}}],["intl",{"2":{"36":1,"64":1,"175":2}}],["input",{"0":{"85":1},"2":{"24":1,"36":1,"146":1}}],["includeoverlay",{"0":{"167":1},"2":{"167":2}}],["include",{"2":{"115":1,"167":1,"175":1,"182":2}}],["increments",{"2":{"36":1}}],["increment",{"2":{"16":1,"41":1,"115":1}}],["incorrect",{"2":{"5":1,"14":1}}],["initial",{"2":{"179":1}}],["initialized",{"0":{"206":1}}],["initialize",{"2":{"9":2,"36":1}}],["init",{"0":{"36":1,"87":1},"2":{"13":1,"86":1,"111":1,"179":12,"180":1,"212":2,"213":2,"214":2,"215":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2}}],["ineffective",{"2":{"10":1}}],["in",{"0":{"96":1,"113":1,"173":1,"209":1,"210":1},"1":{"97":1,"98":1,"99":1,"100":1,"101":1,"102":1},"2":{"1":2,"2":1,"3":1,"4":1,"6":1,"9":2,"16":1,"17":1,"18":1,"23":1,"25":2,"26":1,"29":1,"36":2,"38":1,"68":1,"86":1,"90":1,"94":1,"103":1,"108":1,"109":1,"112":2,"114":1,"115":8,"117":3,"143":1,"146":1,"158":1,"168":1,"171":1,"172":2,"174":1,"175":9,"176":1,"178":1,"197":1,"200":2,"211":1,"212":2,"214":2,"216":2,"217":2,"218":3,"219":2,"220":2,"221":2}}],["inaccurate",{"2":{"1":1,"25":1}}],["let",{"2":{"212":3,"213":3,"214":3,"215":3,"216":3,"217":4,"218":3,"219":3,"220":3,"221":3}}],["length",{"2":{"176":1,"182":2,"212":3,"213":3,"214":3,"215":4,"216":3,"217":3,"218":4,"219":3,"220":3,"221":3}}],["less",{"2":{"146":2,"161":2}}],["left",{"2":{"76":1,"82":2,"85":1,"101":1,"108":1,"115":4,"120":1,"130":1,"131":1,"132":1,"134":1,"175":2,"182":5,"212":2}}],["level",{"2":{"47":1,"115":1,"147":1,"152":1,"175":1}}],["li888",{"2":{"222":1}}],["license",{"2":{"222":1}}],["light",{"2":{"219":3}}],["lightweight",{"2":{"170":1,"171":1}}],["link",{"2":{"204":1,"222":1}}],["lint",{"2":{"203":2}}],["liner",{"2":{"212":1}}],["linecolor",{"2":{"182":1}}],["linewidth",{"2":{"107":1}}],["lineto",{"2":{"107":6}}],["linesize",{"2":{"182":1}}],["lines",{"2":{"29":1,"147":1,"182":1,"186":2}}],["line",{"0":{"73":1,"79":1,"99":1,"206":1,"207":1},"2":{"1":1,"8":1,"14":1,"18":1,"21":1,"25":1,"29":2,"68":1,"69":1,"70":1,"73":2,"78":1,"79":5,"80":1,"81":1,"82":1,"96":1,"97":1,"98":1,"99":2,"100":1,"101":1,"106":3,"115":2,"116":5,"117":3,"139":1,"140":1,"141":1,"150":1,"152":1,"171":1,"180":1,"182":4,"186":1,"200":1,"212":2,"213":2,"214":2,"215":2,"216":2,"217":2,"218":3,"219":4,"220":2,"221":2}}],["liihuu",{"2":{"193":2}}],["like",{"2":{"103":1,"114":1,"171":1,"174":1}}],["list",{"2":{"36":2,"124":1}}],["labels",{"2":{"186":1}}],["lang",{"2":{"216":2}}],["lang=",{"2":{"179":1}}],["languages",{"2":{"109":1}}],["language",{"0":{"110":1,"111":1},"2":{"36":1,"38":3,"40":1,"109":1,"110":2,"111":2}}],["layer",{"2":{"167":1,"200":2}}],["layout",{"2":{"9":1,"13":1,"36":3,"86":1,"87":1}}],["large",{"2":{"45":1,"63":1,"115":1,"147":1,"222":1}}],["lastdata",{"2":{"215":2}}],["lastvaluemark",{"2":{"29":1,"182":1}}],["last",{"2":{"29":1,"141":1,"182":1,"219":2,"221":1}}],["latest",{"2":{"14":1}}],["loadmoretimer",{"2":{"215":1}}],["loadmore",{"0":{"144":1},"2":{"215":1}}],["load",{"2":{"92":1,"144":1,"145":1}}],["location",{"2":{"156":1}}],["located",{"2":{"115":1,"175":1}}],["localized",{"2":{"40":1}}],["localization",{"2":{"38":1}}],["local",{"0":{"196":1},"1":{"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1},"2":{"36":1,"124":1}}],["locales",{"0":{"38":1},"2":{"38":2,"110":1}}],["locale",{"0":{"38":1},"2":{"36":2,"38":2}}],["locked",{"2":{"47":1,"152":1}}],["lock",{"2":{"47":2,"150":3,"152":3,"175":2}}],["lower",{"2":{"200":1}}],["lowest",{"2":{"90":1}}],["low",{"2":{"38":1,"90":1,"110":1,"139":1,"140":1,"141":1,"142":1,"179":70,"182":3,"212":3,"213":3,"214":3,"215":5,"216":4,"217":3,"218":3,"219":3,"220":3,"221":3}}],["longer",{"2":{"29":1,"37":1,"184":1}}],["long",{"2":{"10":1}}],["logo",{"2":{"222":2}}],["logarithm",{"2":{"212":1}}],["log",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1},"2":{"23":1,"30":1,"31":1,"32":1,"150":14,"152":14,"182":1,"212":1}}],["bc1qnwzukszzk5xfk0zs3sr8etzgctgnrtqts43jzp3khe6gm7xazprsp4y6n3",{"2":{"226":1}}],["btc",{"2":{"226":1}}],["build",{"2":{"203":16}}],["built",{"0":{"96":1,"113":1,"173":1,"209":1,"210":1},"1":{"97":1,"98":1,"99":1,"100":1,"101":1,"102":1},"2":{"9":1,"16":1,"17":1,"25":2,"26":1,"36":1,"38":1,"92":1,"94":1,"96":1,"103":1,"109":1,"112":1,"114":1,"115":4,"171":1,"172":1,"174":1,"175":3,"176":1,"203":8,"211":1,"218":1}}],["business",{"2":{"200":1}}],["button",{"2":{"212":24,"214":9,"216":9,"217":14,"218":9,"219":9,"220":9,"221":26}}],["buttoncontainer",{"2":{"212":7,"214":4,"216":4,"217":7,"218":4,"219":4,"220":4}}],["but",{"2":{"178":1}}],["bun",{"2":{"178":1}}],["bmp",{"2":{"167":1}}],["bbi",{"2":{"113":1}}],["brar",{"2":{"113":1}}],["browser",{"0":{"92":1},"2":{"92":1}}],["browsers",{"2":{"10":1}}],["bias",{"2":{"113":1}}],["big",{"2":{"36":1}}],["b",{"2":{"61":2,"68":2}}],["body>",{"2":{"179":2}}],["box",{"2":{"171":1}}],["boundary",{"2":{"145":1}}],["bounding",{"2":{"45":3,"85":1,"115":4,"146":1,"147":1,"175":1,"191":2}}],["boll",{"2":{"113":1,"147":2,"217":1}}],["bordered",{"2":{"176":1}}],["borderradius",{"2":{"81":2,"82":2,"100":1,"101":1,"182":8}}],["border",{"2":{"78":4,"80":4,"81":5,"82":5,"98":3,"99":3,"100":4,"101":4,"105":1,"106":5,"107":1,"176":1,"212":2,"214":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2}}],["borderdashedvalue",{"2":{"78":2,"80":2,"81":2,"82":2,"98":1,"99":1,"100":1,"101":1,"107":2,"147":2,"182":11,"219":4}}],["bordersize",{"2":{"78":2,"80":2,"81":2,"82":2,"98":1,"99":1,"100":1,"101":1,"106":2,"107":2,"147":2,"182":13,"219":4}}],["borderstyle",{"2":{"29":4,"78":2,"80":2,"81":2,"82":2,"98":1,"99":1,"100":1,"101":1,"106":2,"107":2,"147":2,"182":11,"219":4}}],["bordercolor",{"2":{"78":2,"80":2,"81":2,"82":2,"98":1,"99":1,"100":1,"101":1,"106":2,"107":2,"182":10}}],["bool",{"2":{"60":1}}],["boolean",{"2":{"36":2,"42":1,"45":4,"47":25,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"104":2,"115":4,"126":1,"127":1,"128":1,"129":1,"139":1,"140":1,"145":1,"146":7,"147":4,"150":38,"152":19,"161":2,"165":1,"166":1,"167":1,"175":22}}],["bottom",{"2":{"36":2,"76":1,"82":2,"85":1,"87":1,"101":1,"115":4,"120":1,"146":5,"161":4,"175":2,"200":1}}],["background",{"2":{"82":1,"101":1,"105":1,"106":2,"167":1,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["backgroundcolor",{"0":{"167":1},"2":{"82":2,"101":1,"167":2,"182":7,"219":2}}],["backward",{"2":{"10":1,"145":2}}],["bash",{"2":{"202":1}}],["bashbun",{"2":{"178":1}}],["bashpnpm",{"2":{"178":1}}],["bashyarn",{"2":{"178":1}}],["bashnpm",{"2":{"178":1}}],["basetitle",{"2":{"221":3}}],["basebuttoncontainer",{"2":{"221":6}}],["baseprice",{"2":{"212":3,"213":3,"214":3,"215":3,"216":3,"217":3,"218":3,"219":3,"220":3,"221":3}}],["based",{"2":{"92":1,"152":1}}],["baseline",{"2":{"76":2,"82":2,"101":1}}],["basevalue",{"2":{"45":2,"115":1,"146":2,"147":2}}],["base",{"2":{"24":1,"115":1,"221":1}}],["basically",{"2":{"171":1,"180":1}}],["basic",{"0":{"213":1},"2":{"1":1,"42":1,"43":1,"94":1,"176":1,"200":1}}],["barcount",{"0":{"134":1,"135":1},"2":{"134":1,"135":1}}],["barspace",{"2":{"45":3,"115":3,"146":1,"147":1,"175":1,"191":1,"217":2}}],["bars",{"2":{"29":1,"147":1,"182":1,"186":1,"219":2}}],["bar",{"2":{"12":2,"20":1,"23":6,"29":1,"115":1,"175":1,"182":1,"186":1,"219":2}}],["by",{"2":{"7":1,"22":1,"39":1,"40":1,"43":1,"69":1,"70":1,"115":2,"148":1,"151":1,"153":1,"176":1,"191":1,"209":1,"222":1}}],["blue",{"2":{"182":1}}],["blurry",{"2":{"1":1,"12":1}}],["blank",{"2":{"6":1,"184":1}}],["berlin",{"2":{"220":2}}],["best",{"2":{"117":1}}],["between",{"2":{"115":1,"175":1}}],["beginpath",{"2":{"107":3}}],["benchmark",{"2":{"101":1}}],["been",{"2":{"29":1,"139":1,"140":1,"141":1,"144":1,"152":1}}],["being",{"2":{"5":1}}],["be",{"0":{"206":1},"2":{"3":1,"5":1,"8":1,"36":3,"37":2,"83":1,"84":1,"90":1,"94":1,"95":1,"102":1,"115":6,"117":4,"121":1,"123":1,"127":1,"130":1,"131":1,"139":1,"140":1,"141":3,"143":1,"146":6,"147":1,"148":2,"150":1,"152":2,"154":1,"155":1,"156":1,"157":1,"158":2,"159":1,"160":1,"161":5,"165":3,"166":2,"167":3,"171":1,"175":13,"176":1,"180":1,"182":3,"197":1,"211":2,"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1}}],["🙋",{"0":{"205":1},"1":{"206":1,"207":1,"208":1,"209":1,"210":1,"211":1}}],["💬",{"0":{"192":1},"1":{"193":1,"194":1,"195":1}}],["🛡",{"2":{"171":1}}],["📱",{"2":{"171":1}}],["💪",{"2":{"171":1}}],["🚀",{"0":{"177":1},"1":{"178":1,"179":1},"2":{"171":1}}],["📦",{"2":{"171":1}}],["📃",{"0":{"169":1},"1":{"170":1,"171":1}}],["📚",{"0":{"90":1}}],["🗑",{"2":{"29":1}}],["👉",{"2":{"29":1}}],["🛠️",{"0":{"183":1},"1":{"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1}}],["🛠",{"2":{"29":1}}],["🖋️",{"2":{"13":1}}],["💄",{"2":{"1":2,"3":1,"6":1,"7":4,"8":2,"9":2,"10":2,"12":1,"13":2,"16":3,"17":1,"18":2,"19":1,"20":3,"21":1,"22":2,"23":2,"24":3,"25":1,"26":1,"27":1}}],["🐞",{"2":{"1":3,"2":2,"3":2,"4":1,"5":3,"6":2,"7":1,"8":1,"9":2,"10":3,"11":2,"12":2,"13":2,"14":2,"15":1,"16":1,"18":2,"21":1,"24":2,"25":2,"26":1,"28":1}}],["📠",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1}}],["8px",{"2":{"212":1,"214":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["800",{"2":{"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1}}],["85",{"2":{"182":3,"219":1}}],["88",{"2":{"179":7}}],["888888",{"2":{"147":2,"182":14,"219":4}}],["89",{"2":{"179":7}}],["8",{"0":{"1":1,"2":1,"3":2,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"30":1,"49":1,"50":1,"66":1,"84":1,"145":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1},"2":{"7":1,"30":1,"36":1,"139":1,"140":1,"141":1,"144":1,"146":1,"150":1,"152":1,"161":1,"179":1,"182":7,"183":2}}],["96",{"2":{"179":7}}],["935ebd",{"2":{"182":1}}],["93",{"2":{"179":21}}],["94",{"2":{"179":7}}],["99",{"2":{"179":14}}],["9",{"0":{"1":1,"2":2,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1},"2":{"113":3,"139":1,"140":1,"141":1,"144":1,"183":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/assets/chunks/@localSearchIndexroot.CaCbrMu3.js b/assets/chunks/@localSearchIndexroot.CaCbrMu3.js new file mode 100644 index 0000000..d09607d --- /dev/null +++ b/assets/chunks/@localSearchIndexroot.CaCbrMu3.js @@ -0,0 +1 @@ +const e='{"documentCount":230,"nextId":230,"documentIds":{"0":"/guide/changelog#📠-更新日志","1":"/guide/changelog#_9-8-10","2":"/guide/changelog#_9-8-9","3":"/guide/changelog#_9-8-8","4":"/guide/changelog#_9-8-7","5":"/guide/changelog#_9-8-6","6":"/guide/changelog#_9-8-5","7":"/guide/changelog#_9-8-3","8":"/guide/changelog#_9-8-2","9":"/guide/changelog#_9-8-1","10":"/guide/changelog#_9-8-0","11":"/guide/changelog#_9-7-2","12":"/guide/changelog#_9-7-1","13":"/guide/changelog#_9-7-0","14":"/guide/changelog#_9-6-0","15":"/guide/changelog#_9-5-4","16":"/guide/changelog#_9-5-3","17":"/guide/changelog#_9-5-2","18":"/guide/changelog#_9-5-1","19":"/guide/changelog#_9-5-0","20":"/guide/changelog#_9-4-0","21":"/guide/changelog#_9-3-0","22":"/guide/changelog#_9-2-2","23":"/guide/changelog#_9-2-1","24":"/guide/changelog#_9-2-0","25":"/guide/changelog#_9-1-3","26":"/guide/changelog#_9-1-2","27":"/guide/changelog#_9-1-1","28":"/guide/changelog#_9-1-0","29":"/guide/changelog#_9-0-1","30":"/guide/changelog#_9-0-0","31":"/guide/changelog#_8-x","32":"/guide/changelog#_7-x","33":"/guide/changelog#_6-x","34":"/guide/changelog#_5-x","35":"/guide/changelog#_4-x","36":"/guide/custom-axis#自定义坐标轴-9-8-0","37":"/guide/custom-axis#入参说明","38":"/guide/custom-axis#使用说明","39":"/guide/custom-axis#使用-init-方法","40":"/guide/custom-axis#使用-createindicator-方法","41":"/guide/custom-axis#使用-setpaneoptions-方法","42":"/guide/data-source#📚-数据","43":"/guide/chart-api#图表api","44":"/guide/chart-api#init-ds-options","45":"/guide/chart-api#dispose-dcs","46":"/guide/chart-api#registerlocale-locale-locales","47":"/guide/chart-api#getoverlayclass","48":"/guide/chart-api#getsupportedlocales","49":"/guide/chart-api#registerstyles-name-styles","50":"/guide/chart-api#registerfigure-figure","51":"/guide/chart-api#getsupportedfigures","52":"/guide/chart-api#getfigureclass-name","53":"/guide/chart-api#registerindicator-indicator","54":"/guide/chart-api#getsupportedindicators","55":"/guide/chart-api#registeroverlay-overlay","56":"/guide/chart-api#getsupportedoverlays","57":"/guide/chart-api#registerxaxis-axis-9-8-0","58":"/guide/chart-api#registeryaxis-axis-9-8-0","59":"/guide/chart-api#version","60":"/guide/chart-api#utils","61":"/guide/chart-api#utils-clone-target","62":"/guide/chart-api#utils-merge-target-source","63":"/guide/chart-api#utils-isstring-value","64":"/guide/chart-api#utils-isnumber-value","65":"/guide/chart-api#utils-isvalid-value","66":"/guide/chart-api#utils-isobject-value","67":"/guide/chart-api#utils-isfunction-value","68":"/guide/chart-api#utils-isboolean-value","69":"/guide/chart-api#utils-formatvalue-value-key-defaultvalue","70":"/guide/chart-api#utils-formatprecision-value","71":"/guide/chart-api#utils-formatbignumber-value","72":"/guide/chart-api#utils-formatdate-datetimeformat-timestamp-format","73":"/guide/chart-api#utils-formatthousands-value-sign","74":"/guide/chart-api#utils-formatfolddecimal-value-threshold-9-8-0","75":"/guide/chart-api#utils-calctextwidth-text-size-weight-family-9-3-0","76":"/guide/chart-api#utils-getlinearslopeintercept-coordinate1-coordinate2","77":"/guide/chart-api#utils-getlinearyfromcoordinates-coordinate1-coordinate2-targetcoordinate","78":"/guide/chart-api#utils-getlinearyfromslopeintercept-kb-targetcoordinate","79":"/guide/chart-api#utils-checkcoordinateonarc-coordinate-arc","80":"/guide/chart-api#utils-checkcoordinateoncircle-coordinate-circle","81":"/guide/chart-api#utils-checkcoordinateonline-coordinate-line","82":"/guide/chart-api#utils-checkcoordinateonpolygon-coordinate-polygon","83":"/guide/chart-api#utils-checkcoordinateonrect-coordinate-rect","84":"/guide/chart-api#utils-checkcoordinateontext-coordinate-text-styles","85":"/guide/chart-api#utils-drawarc-ctx-arc-styles","86":"/guide/chart-api#utils-drawcircle-ctx-circle-styles","87":"/guide/chart-api#utils-drawline-ctx-line-styles","88":"/guide/chart-api#utils-drawpolygon-ctx-polygon-styles","89":"/guide/chart-api#utils-drawrect-ctx-rect-styles","90":"/guide/chart-api#utils-drawtext-ctx-text-styles","91":"/guide/chart-api#utils-drawrecttext-ctx-recttext-styles","92":"/guide/environment#🏝️-环境要求","93":"/guide/environment#浏览器支持","94":"/guide/environment#兼容处理","95":"/guide/hot-key#⌨️-快捷键","96":"/guide/figure#基础图形","97":"/guide/figure#使用示例","98":"/guide/figure#内置基础图形","99":"/guide/figure#arc","100":"/guide/figure#circle","101":"/guide/figure#line","102":"/guide/figure#polygon","103":"/guide/figure#rect","104":"/guide/figure#text","105":"/guide/figure#recttext","106":"/guide/figure#自定义基础图形","107":"/guide/figure#属性说明","108":"/guide/figure#示例","109":"/guide/figure#步骤一","110":"/guide/figure#步骤二","111":"/guide/i18n#🌏-国际化","112":"/guide/i18n#增加语言包","113":"/guide/i18n#使用语言包","114":"/guide/indicator#技术指标","115":"/guide/indicator#内置技术指标","116":"/guide/indicator#自定义技术指标","117":"/guide/indicator#属性说明","118":"/guide/indicator#示例","119":"/guide/indicator#步骤一","120":"/guide/indicator#步骤二","121":"/guide/introduction#📃-介绍","122":"/guide/introduction#什么是-klinechart","123":"/guide/introduction#特性","124":"/guide/instance-api#实例api","125":"/guide/instance-api#getdom-paneid-position","126":"/guide/instance-api#getsize-paneid-position","127":"/guide/instance-api#setstyles-styles","128":"/guide/instance-api#getstyles","129":"/guide/instance-api#setpricevolumeprecision-priceprecision-volumeprecision","130":"/guide/instance-api#settimezone-timezone","131":"/guide/instance-api#gettimezone","132":"/guide/instance-api#setzoomenabled-enabled","133":"/guide/instance-api#iszoomenabled","134":"/guide/instance-api#setscrollenabled-enabled","135":"/guide/instance-api#isscrollenabled","136":"/guide/instance-api#setoffsetrightdistance-distance","137":"/guide/instance-api#getoffsetrightdistance-9-2-0","138":"/guide/instance-api#setmaxoffsetleftdistance-9-7-0","139":"/guide/instance-api#setmaxoffsetrightdistance-9-7-0","140":"/guide/instance-api#setleftminvisiblebarcount-barcount","141":"/guide/instance-api#setrightminvisiblebarcount-barcount","142":"/guide/instance-api#setbarspace-space","143":"/guide/instance-api#getbarspace","144":"/guide/instance-api#getvisiblerange","145":"/guide/instance-api#applynewdata-datalist-more-callback","146":"/guide/instance-api#applymoredata-datalist-more-callback","147":"/guide/instance-api#updatedata-data-callback","148":"/guide/instance-api#getdatalist","149":"/guide/instance-api#cleardata","150":"/guide/instance-api#loadmore-cb","151":"/guide/instance-api#setloaddatacallback-cb-9-8-0","152":"/guide/instance-api#createindicator-value-isstack-paneoptions-callback","153":"/guide/instance-api#overrideindicator-override-paneid-callback","154":"/guide/instance-api#getindicatorbypaneid-paneid-name","155":"/guide/instance-api#removeindicator-paneid-name","156":"/guide/instance-api#createoverlay-value-paneid","157":"/guide/instance-api#getoverlaybyid-id","158":"/guide/instance-api#overrideoverlay-override","159":"/guide/instance-api#removeoverlay-remove","160":"/guide/instance-api#scrollbydistance-distance-animationduration","161":"/guide/instance-api#scrolltorealtime-animationduration","162":"/guide/instance-api#scrolltodataindex-dataindex-animationduration","163":"/guide/instance-api#scrolltotimestamp-timestamp-animationduration","164":"/guide/instance-api#zoomatcoordinate-scale-coordinate-animationduration","165":"/guide/instance-api#zoomatdataindex-scale-dataindex-animationduration","166":"/guide/instance-api#zoomattimestamp-scale-timestamp-animationduration","167":"/guide/instance-api#setpaneoptions-options","168":"/guide/instance-api#executeaction-type-data-9-2-0","169":"/guide/instance-api#subscribeaction-type-callback","170":"/guide/instance-api#unsubscribeaction-type-callback","171":"/guide/instance-api#converttopixel-value-finder","172":"/guide/instance-api#convertfrompixel-coordinate-finder","173":"/guide/instance-api#getconvertpictureurl-includeoverlay-type-backgroundcolor","174":"/guide/instance-api#resize","175":"/guide/overlay#覆盖物","176":"/guide/overlay#内置覆盖物类型","177":"/guide/overlay#自定义覆盖物","178":"/guide/overlay#属性说明","179":"/guide/overlay#示例","180":"/guide/quick-start#🚀-快速上手","181":"/guide/quick-start#获取klinechart","182":"/guide/quick-start#创建第一个图表","183":"/guide/styles#🎨-样式配置","184":"/guide/styles#图解说明","185":"/guide/styles#默认完整配置","186":"/guide/v8-to-v9#🛠️-从-v8-到-v9","187":"/guide/v8-to-v9#引入调整","188":"/guide/v8-to-v9#设计调整","189":"/guide/v8-to-v9#样式配置调整","190":"/guide/v8-to-v9#api调整","191":"/guide/v8-to-v9#图表api","192":"/guide/v8-to-v9#实例api","193":"/guide/v8-to-v9#图形辅助api","194":"/guide/v8-to-v9#自定义技术指标调整","195":"/more/faq#🙋-常见问题","196":"/more/faq#初始化图表后-只能看到一条线-是怎么回事","197":"/more/faq#蜡烛柱显示趋近于一条线-看不到波动-怎么办","198":"/more/faq#分时图怎么创建","199":"/more/faq#内置的技术指标-计算出来的数据不是想要的-怎么办","200":"/more/faq#想创建一个内置技术指标之外的指标-怎么办","201":"/more/faq#想标记一下买卖点-该怎么做","202":"/more/feedback#💬-反馈和共建","203":"/more/feedback#github","204":"/more/feedback#telegram","205":"/more/feedback#微信讨论群","206":"/more/local-development#本地开发","207":"/more/local-development#摘要","208":"/more/local-development#须知","209":"/more/local-development#文件目录说明","210":"/more/local-development#模块依赖关系","211":"/more/local-development#开发","212":"/more/local-development#安装依赖","213":"/more/local-development#npm-执行命令说明","214":"/more/local-development#调试","215":"/sample/axis#坐标轴","216":"/sample/basic#基础展示","217":"/sample/candle-type#蜡烛类型","218":"/sample/data#数据加载","219":"/sample/i18n#多语言","220":"/sample/indicator#技术指标","221":"/sample/overlay#覆盖物","222":"/sample/theme#主题","223":"/sample/timezone#时区","224":"/sample/tooltip#提示条","225":"/sponsor#❤️-赞助","226":"/sponsor#赞助渠道","227":"/sponsor#支付宝","228":"/sponsor#微信支付","229":"/sponsor#加密资产"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[2,1,1],"1":[3,2,31],"2":[2,2,13],"3":[2,2,14],"4":[3,2,6],"5":[3,2,17],"6":[3,2,9],"7":[3,2,25],"8":[3,2,10],"9":[3,2,11],"10":[3,2,11],"11":[3,2,18],"12":[3,2,7],"13":[3,2,11],"14":[3,2,29],"15":[3,2,12],"16":[3,2,6],"17":[3,2,11],"18":[3,2,13],"19":[3,2,17],"20":[3,2,13],"21":[3,2,21],"22":[2,2,8],"23":[3,2,11],"24":[3,2,31],"25":[3,2,16],"26":[3,2,10],"27":[2,2,8],"28":[3,2,9],"29":[3,2,6],"30":[2,2,117],"31":[2,2,7],"32":[2,2,7],"33":[2,2,7],"34":[2,2,5],"35":[2,2,5],"36":[4,1,8],"37":[1,4,49],"38":[1,4,21],"39":[3,5,21],"40":[3,5,12],"41":[3,5,13],"42":[2,1,35],"43":[1,1,1],"44":[4,1,84],"45":[3,1,14],"46":[4,1,19],"47":[2,1,9],"48":[2,1,5],"49":[4,1,13],"50":[3,1,25],"51":[2,1,5],"52":[3,1,8],"53":[3,1,85],"54":[2,1,5],"55":[3,1,106],"56":[2,1,5],"57":[5,1,22],"58":[5,1,22],"59":[2,1,5],"60":[1,1,2],"61":[4,2,6],"62":[5,2,8],"63":[4,2,7],"64":[4,2,7],"65":[4,2,7],"66":[4,2,7],"67":[4,2,7],"68":[4,2,7],"69":[6,2,19],"70":[4,2,9],"71":[4,2,10],"72":[6,2,19],"73":[5,2,9],"74":[7,2,9],"75":[9,2,11],"76":[5,2,15],"77":[6,2,10],"78":[5,2,12],"79":[5,2,20],"80":[5,2,16],"81":[5,2,14],"82":[5,2,14],"83":[5,2,18],"84":[6,2,43],"85":[6,2,35],"86":[6,2,40],"87":[6,2,31],"88":[6,2,38],"89":[6,2,44],"90":[6,2,74],"91":[6,2,10],"92":[2,1,1],"93":[1,2,11],"94":[1,2,1],"95":[2,1,10],"96":[1,1,10],"97":[1,1,25],"98":[1,1,9],"99":[1,2,31],"100":[1,2,35],"101":[1,2,28],"102":[1,2,36],"103":[1,2,39],"104":[1,2,65],"105":[1,2,5],"106":[1,1,6],"107":[1,2,28],"108":[1,2,2],"109":[1,3,33],"110":[1,3,53],"111":[2,1,8],"112":[1,2,28],"113":[1,2,8],"114":[1,1,2],"115":[1,1,48],"116":[1,1,6],"117":[1,2,182],"118":[1,2,5],"119":[1,3,29],"120":[1,3,63],"121":[2,1,1],"122":[3,2,3],"123":[1,2,24],"124":[1,1,1],"125":[4,1,16],"126":[4,1,23],"127":[3,1,14],"128":[2,1,6],"129":[4,1,15],"130":[3,1,13],"131":[2,1,5],"132":[3,1,7],"133":[2,1,5],"134":[3,1,7],"135":[2,1,5],"136":[3,1,7],"137":[4,1,5],"138":[4,1,7],"139":[4,1,7],"140":[3,1,7],"141":[3,1,7],"142":[3,1,7],"143":[2,1,5],"144":[2,1,9],"145":[5,1,43],"146":[5,1,34],"147":[4,1,36],"148":[2,1,16],"149":[2,1,9],"150":[3,1,20],"151":[5,1,26],"152":[6,1,125],"153":[5,1,130],"154":[4,1,17],"155":[4,1,17],"156":[4,1,87],"157":[3,1,8],"158":[3,1,117],"159":[3,1,23],"160":[4,1,12],"161":[3,1,11],"162":[4,1,12],"163":[4,1,12],"164":[5,1,18],"165":[5,1,14],"166":[5,1,14],"167":[3,1,47],"168":[6,1,11],"169":[4,1,21],"170":[4,1,22],"171":[4,1,31],"172":[4,1,27],"173":[5,1,20],"174":[2,1,10],"175":[1,1,2],"176":[1,1,16],"177":[1,1,6],"178":[1,2,199],"179":[1,2,46],"180":[2,1,1],"181":[1,2,44],"182":[1,2,189],"183":[2,1,9],"184":[1,2,1],"185":[1,2,227],"186":[5,1,12],"187":[1,5,8],"188":[1,5,5],"189":[1,5,33],"190":[1,5,1],"191":[1,6,9],"192":[1,6,71],"193":[1,6,3],"194":[1,5,39],"195":[2,1,1],"196":[4,2,3],"197":[4,2,6],"198":[2,2,7],"199":[4,2,2],"200":[3,2,3],"201":[3,2,7],"202":[2,1,1],"203":[1,2,10],"204":[1,2,5],"205":[1,2,7],"206":[1,1,1],"207":[1,1,8],"208":[1,1,1],"209":[1,2,1],"210":[1,2,39],"211":[1,1,1],"212":[1,2,16],"213":[2,2,27],"214":[1,2,14],"215":[1,1,174],"216":[1,1,64],"217":[1,1,154],"218":[1,1,79],"219":[1,1,153],"220":[1,1,204],"221":[1,1,170],"222":[1,1,195],"223":[1,1,145],"224":[1,1,179],"225":[2,1,33],"226":[1,2,1],"227":[1,3,1],"228":[1,3,1],"229":[1,3,9]},"averageFieldLength":[2.7217391304347824,1.7434782608695647,27.691304347826094],"storedFields":{"0":{"title":"📠 更新日志","titles":[]},"1":{"title":"9.8.10","titles":["📠 更新日志"]},"2":{"title":"9.8.9","titles":["📠 更新日志"]},"3":{"title":"9.8.8","titles":["📠 更新日志"]},"4":{"title":"9.8.7","titles":["📠 更新日志"]},"5":{"title":"9.8.6","titles":["📠 更新日志"]},"6":{"title":"9.8.5","titles":["📠 更新日志"]},"7":{"title":"9.8.3","titles":["📠 更新日志"]},"8":{"title":"9.8.2","titles":["📠 更新日志"]},"9":{"title":"9.8.1","titles":["📠 更新日志"]},"10":{"title":"9.8.0","titles":["📠 更新日志"]},"11":{"title":"9.7.2","titles":["📠 更新日志"]},"12":{"title":"9.7.1","titles":["📠 更新日志"]},"13":{"title":"9.7.0","titles":["📠 更新日志"]},"14":{"title":"9.6.0","titles":["📠 更新日志"]},"15":{"title":"9.5.4","titles":["📠 更新日志"]},"16":{"title":"9.5.3","titles":["📠 更新日志"]},"17":{"title":"9.5.2","titles":["📠 更新日志"]},"18":{"title":"9.5.1","titles":["📠 更新日志"]},"19":{"title":"9.5.0","titles":["📠 更新日志"]},"20":{"title":"9.4.0","titles":["📠 更新日志"]},"21":{"title":"9.3.0","titles":["📠 更新日志"]},"22":{"title":"9.2.2","titles":["📠 更新日志"]},"23":{"title":"9.2.1","titles":["📠 更新日志"]},"24":{"title":"9.2.0","titles":["📠 更新日志"]},"25":{"title":"9.1.3","titles":["📠 更新日志"]},"26":{"title":"9.1.2","titles":["📠 更新日志"]},"27":{"title":"9.1.1","titles":["📠 更新日志"]},"28":{"title":"9.1.0","titles":["📠 更新日志"]},"29":{"title":"9.0.1","titles":["📠 更新日志"]},"30":{"title":"9.0.0","titles":["📠 更新日志"]},"31":{"title":"8.x","titles":["📠 更新日志"]},"32":{"title":"7.x","titles":["📠 更新日志"]},"33":{"title":"6.x","titles":["📠 更新日志"]},"34":{"title":"5.x","titles":["📠 更新日志"]},"35":{"title":"4.x","titles":["📠 更新日志"]},"36":{"title":"自定义坐标轴 ^9.8.0","titles":[]},"37":{"title":"入参说明","titles":["自定义坐标轴 ^9.8.0"]},"38":{"title":"使用说明","titles":["自定义坐标轴 ^9.8.0"]},"39":{"title":"使用 init 方法","titles":["自定义坐标轴 ^9.8.0","使用说明"]},"40":{"title":"使用 createIndicator 方法","titles":["自定义坐标轴 ^9.8.0","使用说明"]},"41":{"title":"使用 setPaneOptions 方法","titles":["自定义坐标轴 ^9.8.0","使用说明"]},"42":{"title":"📚 数据","titles":[]},"43":{"title":"图表API","titles":[]},"44":{"title":"init(ds, options)","titles":["图表API"]},"45":{"title":"dispose(dcs)","titles":["图表API"]},"46":{"title":"registerLocale(locale, locales)","titles":["图表API"]},"47":{"title":"getOverlayClass()","titles":["图表API"]},"48":{"title":"getSupportedLocales()","titles":["图表API"]},"49":{"title":"registerStyles(name, styles)","titles":["图表API"]},"50":{"title":"registerFigure(figure)","titles":["图表API"]},"51":{"title":"getSupportedFigures()","titles":["图表API"]},"52":{"title":"getFigureClass(name)","titles":["图表API"]},"53":{"title":"registerIndicator(indicator)","titles":["图表API"]},"54":{"title":"getSupportedIndicators()","titles":["图表API"]},"55":{"title":"registerOverlay(overlay)","titles":["图表API"]},"56":{"title":"getSupportedOverlays()","titles":["图表API"]},"57":{"title":"registerXAxis(axis) ^9.8.0","titles":["图表API"]},"58":{"title":"registerYAxis(axis) ^9.8.0","titles":["图表API"]},"59":{"title":"version()","titles":["图表API"]},"60":{"title":"utils","titles":["图表API"]},"61":{"title":"utils.clone(target)","titles":["图表API","utils"]},"62":{"title":"utils.merge(target, source)","titles":["图表API","utils"]},"63":{"title":"utils.isString(value)","titles":["图表API","utils"]},"64":{"title":"utils.isNumber(value)","titles":["图表API","utils"]},"65":{"title":"utils.isValid(value)","titles":["图表API","utils"]},"66":{"title":"utils.isObject(value)","titles":["图表API","utils"]},"67":{"title":"utils.isFunction(value)","titles":["图表API","utils"]},"68":{"title":"utils.isBoolean(value)","titles":["图表API","utils"]},"69":{"title":"utils.formatValue(value, key, defaultValue)","titles":["图表API","utils"]},"70":{"title":"utils.formatPrecision(value)","titles":["图表API","utils"]},"71":{"title":"utils.formatBigNumber(value)","titles":["图表API","utils"]},"72":{"title":"utils.formatDate(dateTimeFormat, timestamp, format)","titles":["图表API","utils"]},"73":{"title":"utils.formatThousands(value, sign)","titles":["图表API","utils"]},"74":{"title":"utils.formatFoldDecimal(value, threshold) ^9.8.0","titles":["图表API","utils"]},"75":{"title":"utils.calcTextWidth(text, size, weight, family) ^9.3.0","titles":["图表API","utils"]},"76":{"title":"utils.getLinearSlopeIntercept(coordinate1, coordinate2)","titles":["图表API","utils"]},"77":{"title":"utils.getLinearYFromCoordinates(coordinate1, coordinate2, targetCoordinate)","titles":["图表API","utils"]},"78":{"title":"utils.getLinearYFromSlopeIntercept(kb, targetCoordinate)","titles":["图表API","utils"]},"79":{"title":"utils.checkCoordinateOnArc(coordinate, arc)","titles":["图表API","utils"]},"80":{"title":"utils.checkCoordinateOnCircle(coordinate, circle)","titles":["图表API","utils"]},"81":{"title":"utils.checkCoordinateOnLine(coordinate, line)","titles":["图表API","utils"]},"82":{"title":"utils.checkCoordinateOnPolygon(coordinate, polygon)","titles":["图表API","utils"]},"83":{"title":"utils.checkCoordinateOnRect(coordinate, rect)","titles":["图表API","utils"]},"84":{"title":"utils.checkCoordinateOnText(coordinate, text, styles)","titles":["图表API","utils"]},"85":{"title":"utils.drawArc(ctx, arc, styles)","titles":["图表API","utils"]},"86":{"title":"utils.drawCircle(ctx, circle, styles)","titles":["图表API","utils"]},"87":{"title":"utils.drawLine(ctx, line, styles)","titles":["图表API","utils"]},"88":{"title":"utils.drawPolygon(ctx, polygon, styles)","titles":["图表API","utils"]},"89":{"title":"utils.drawRect(ctx, rect, styles)","titles":["图表API","utils"]},"90":{"title":"utils.drawText(ctx, text, styles)","titles":["图表API","utils"]},"91":{"title":"utils.drawRectText(ctx, rectText, styles)","titles":["图表API","utils"]},"92":{"title":"🏝️ 环境要求","titles":[]},"93":{"title":"浏览器支持","titles":["🏝️ 环境要求"]},"94":{"title":"兼容处理","titles":["🏝️ 环境要求"]},"95":{"title":"⌨️ 快捷键","titles":[]},"96":{"title":"基础图形","titles":[]},"97":{"title":"使用示例","titles":["基础图形"]},"98":{"title":"内置基础图形","titles":["基础图形"]},"99":{"title":"arc","titles":["基础图形","内置基础图形"]},"100":{"title":"circle","titles":["基础图形","内置基础图形"]},"101":{"title":"line","titles":["基础图形","内置基础图形"]},"102":{"title":"polygon","titles":["基础图形","内置基础图形"]},"103":{"title":"rect","titles":["基础图形","内置基础图形"]},"104":{"title":"text","titles":["基础图形","内置基础图形"]},"105":{"title":"rectText","titles":["基础图形","内置基础图形"]},"106":{"title":"自定义基础图形","titles":["基础图形"]},"107":{"title":"属性说明","titles":["基础图形","自定义基础图形"]},"108":{"title":"示例","titles":["基础图形","自定义基础图形"]},"109":{"title":"步骤一","titles":["基础图形","自定义基础图形","示例"]},"110":{"title":"步骤二","titles":["基础图形","自定义基础图形","示例"]},"111":{"title":"🌏 国际化","titles":[]},"112":{"title":"增加语言包","titles":["🌏 国际化"]},"113":{"title":"使用语言包","titles":["🌏 国际化"]},"114":{"title":"技术指标","titles":[]},"115":{"title":"内置技术指标","titles":["技术指标"]},"116":{"title":"自定义技术指标","titles":["技术指标"]},"117":{"title":"属性说明","titles":["技术指标","自定义技术指标"]},"118":{"title":"示例","titles":["技术指标","自定义技术指标"]},"119":{"title":"步骤一","titles":["技术指标","自定义技术指标","示例"]},"120":{"title":"步骤二","titles":["技术指标","自定义技术指标","示例"]},"121":{"title":"📃 介绍","titles":[]},"122":{"title":"什么是 KLineChart?","titles":["📃 介绍"]},"123":{"title":"特性","titles":["📃 介绍"]},"124":{"title":"实例API","titles":[]},"125":{"title":"getDom(paneId, position)","titles":["实例API"]},"126":{"title":"getSize(paneId, position)","titles":["实例API"]},"127":{"title":"setStyles(styles)","titles":["实例API"]},"128":{"title":"getStyles()","titles":["实例API"]},"129":{"title":"setPriceVolumePrecision(pricePrecision, volumePrecision)","titles":["实例API"]},"130":{"title":"setTimezone(timezone)","titles":["实例API"]},"131":{"title":"getTimezone()","titles":["实例API"]},"132":{"title":"setZoomEnabled(enabled)","titles":["实例API"]},"133":{"title":"isZoomEnabled()","titles":["实例API"]},"134":{"title":"setScrollEnabled(enabled)","titles":["实例API"]},"135":{"title":"isScrollEnabled()","titles":["实例API"]},"136":{"title":"setOffsetRightDistance(distance)","titles":["实例API"]},"137":{"title":"getOffsetRightDistance() ^9.2.0","titles":["实例API"]},"138":{"title":"setMaxOffsetLeftDistance() ^9.7.0","titles":["实例API"]},"139":{"title":"setMaxOffsetRightDistance() ^9.7.0","titles":["实例API"]},"140":{"title":"setLeftMinVisibleBarCount(barCount)","titles":["实例API"]},"141":{"title":"setRightMinVisibleBarCount(barCount)","titles":["实例API"]},"142":{"title":"setBarSpace(space)","titles":["实例API"]},"143":{"title":"getBarSpace()","titles":["实例API"]},"144":{"title":"getVisibleRange()","titles":["实例API"]},"145":{"title":"applyNewData(dataList, more, callback)","titles":["实例API"]},"146":{"title":"applyMoreData(dataList, more, callback)","titles":["实例API"]},"147":{"title":"updateData(data, callback)","titles":["实例API"]},"148":{"title":"getDataList()","titles":["实例API"]},"149":{"title":"clearData()","titles":["实例API"]},"150":{"title":"loadMore(cb)","titles":["实例API"]},"151":{"title":"setLoadDataCallback(cb) ^9.8.0","titles":["实例API"]},"152":{"title":"createIndicator(value, isStack, paneOptions, callback)","titles":["实例API"]},"153":{"title":"overrideIndicator(override, paneId, callback)","titles":["实例API"]},"154":{"title":"getIndicatorByPaneId(paneId, name)","titles":["实例API"]},"155":{"title":"removeIndicator(paneId, name)","titles":["实例API"]},"156":{"title":"createOverlay(value, paneId)","titles":["实例API"]},"157":{"title":"getOverlayById(id)","titles":["实例API"]},"158":{"title":"overrideOverlay(override)","titles":["实例API"]},"159":{"title":"removeOverlay(remove)","titles":["实例API"]},"160":{"title":"scrollByDistance(distance, animationDuration)","titles":["实例API"]},"161":{"title":"scrollToRealTime(animationDuration)","titles":["实例API"]},"162":{"title":"scrollToDataIndex(dataIndex, animationDuration)","titles":["实例API"]},"163":{"title":"scrollToTimestamp(timestamp, animationDuration)","titles":["实例API"]},"164":{"title":"zoomAtCoordinate(scale, coordinate, animationDuration)","titles":["实例API"]},"165":{"title":"zoomAtDataIndex(scale, dataIndex, animationDuration)","titles":["实例API"]},"166":{"title":"zoomAtTimestamp(scale, timestamp, animationDuration)","titles":["实例API"]},"167":{"title":"setPaneOptions(options)","titles":["实例API"]},"168":{"title":"executeAction(type, data) ^9.2.0","titles":["实例API"]},"169":{"title":"subscribeAction(type, callback)","titles":["实例API"]},"170":{"title":"unsubscribeAction(type, callback)","titles":["实例API"]},"171":{"title":"convertToPixel(value, finder)","titles":["实例API"]},"172":{"title":"convertFromPixel(coordinate, finder)","titles":["实例API"]},"173":{"title":"getConvertPictureUrl(includeOverlay, type, backgroundColor)","titles":["实例API"]},"174":{"title":"resize()","titles":["实例API"]},"175":{"title":"覆盖物","titles":[]},"176":{"title":"内置覆盖物类型","titles":["覆盖物"]},"177":{"title":"自定义覆盖物","titles":["覆盖物"]},"178":{"title":"属性说明","titles":["覆盖物","自定义覆盖物"]},"179":{"title":"示例","titles":["覆盖物","自定义覆盖物"]},"180":{"title":"🚀 快速上手","titles":[]},"181":{"title":"获取KLineChart","titles":["🚀 快速上手"]},"182":{"title":"创建第一个图表","titles":["🚀 快速上手"]},"183":{"title":"🎨 样式配置","titles":[]},"184":{"title":"图解说明","titles":["🎨 样式配置"]},"185":{"title":"默认完整配置","titles":["🎨 样式配置"]},"186":{"title":"🛠️ 从 V8 到 V9","titles":[]},"187":{"title":"引入调整","titles":["🛠️ 从 V8 到 V9"]},"188":{"title":"设计调整","titles":["🛠️ 从 V8 到 V9"]},"189":{"title":"样式配置调整","titles":["🛠️ 从 V8 到 V9"]},"190":{"title":"API调整","titles":["🛠️ 从 V8 到 V9"]},"191":{"title":"图表API","titles":["🛠️ 从 V8 到 V9","API调整"]},"192":{"title":"实例API","titles":["🛠️ 从 V8 到 V9","API调整"]},"193":{"title":"图形辅助API","titles":["🛠️ 从 V8 到 V9","API调整"]},"194":{"title":"自定义技术指标调整","titles":["🛠️ 从 V8 到 V9"]},"195":{"title":"🙋 常见问题","titles":[]},"196":{"title":"初始化图表后,只能看到一条线,是怎么回事?","titles":["🙋 常见问题"]},"197":{"title":"蜡烛柱显示趋近于一条线,看不到波动,怎么办?","titles":["🙋 常见问题"]},"198":{"title":"分时图怎么创建?","titles":["🙋 常见问题"]},"199":{"title":"内置的技术指标,计算出来的数据不是想要的,怎么办?","titles":["🙋 常见问题"]},"200":{"title":"想创建一个内置技术指标之外的指标,怎么办?","titles":["🙋 常见问题"]},"201":{"title":"想标记一下买卖点,该怎么做?","titles":["🙋 常见问题"]},"202":{"title":"💬 反馈和共建","titles":[]},"203":{"title":"Github","titles":["💬 反馈和共建"]},"204":{"title":"Telegram","titles":["💬 反馈和共建"]},"205":{"title":"微信讨论群","titles":["💬 反馈和共建"]},"206":{"title":"本地开发","titles":[]},"207":{"title":"摘要","titles":["本地开发"]},"208":{"title":"须知","titles":["本地开发"]},"209":{"title":"文件目录说明","titles":["本地开发","须知"]},"210":{"title":"模块依赖关系","titles":["本地开发","须知"]},"211":{"title":"开发","titles":["本地开发"]},"212":{"title":"安装依赖","titles":["本地开发","开发"]},"213":{"title":"NPM 执行命令说明","titles":["本地开发","开发"]},"214":{"title":"调试","titles":["本地开发","开发"]},"215":{"title":"坐标轴","titles":[]},"216":{"title":"基础展示","titles":[]},"217":{"title":"蜡烛类型","titles":[]},"218":{"title":"数据加载","titles":[]},"219":{"title":"多语言","titles":[]},"220":{"title":"技术指标","titles":[]},"221":{"title":"覆盖物","titles":[]},"222":{"title":"主题","titles":[]},"223":{"title":"时区","titles":[]},"224":{"title":"提示条","titles":[]},"225":{"title":"❤️ 赞助","titles":[]},"226":{"title":"赞助渠道","titles":["❤️ 赞助"]},"227":{"title":"支付宝","titles":["❤️ 赞助","赞助渠道"]},"228":{"title":"微信支付","titles":["❤️ 赞助","赞助渠道"]},"229":{"title":"加密资产","titles":["❤️ 赞助","赞助渠道"]}},"dirtCount":0,"index":[["微信支付",{"0":{"228":1}}],["微信讨论群",{"0":{"205":1}}],["支付宝",{"0":{"227":1}}],["支持字符串模版",{"2":{"185":1}}],["支持多种下载方式",{"2":{"181":1}}],["支持合并",{"2":{"127":1}}],["支持root",{"2":{"125":1,"126":1}}],["支持移动端",{"2":{"123":1}}],["支持嵌套",{"2":{"69":1}}],["支持事件选择",{"2":{"26":1}}],["支持千分符显示",{"2":{"24":1}}],["支持数组",{"2":{"20":1}}],["支持增量",{"2":{"17":1,"44":1,"49":1,"117":1}}],["支持向前和向后添加数据",{"2":{"10":1}}],["支持长小数折叠",{"2":{"10":1}}],["支持指标绘制到未来时间",{"2":{"10":1}}],["支持自定义坐标轴",{"2":{"10":1}}],["发送邮件到",{"2":{"225":1}}],["首页",{"2":{"225":1}}],["首先确定计算参数",{"2":{"119":1}}],["那就真的太感谢了",{"2":{"225":1}}],["☕️",{"2":{"225":1}}],["希望你能在",{"2":{"225":1}}],["希望提示的和参数一样",{"2":{"120":1}}],["许可的开源项目",{"2":{"225":1}}],["赞助渠道",{"0":{"226":1},"1":{"227":1,"228":1,"229":1}}],["赞助额前三名",{"2":{"225":1}}],["赞助",{"0":{"225":1},"1":{"226":1,"227":1,"228":1,"229":1}}],["❤️",{"0":{"225":1},"1":{"226":1,"227":1,"228":1,"229":1}}],["跟随十字光标",{"2":{"224":1}}],["芝加哥",{"2":{"223":1}}],["柏林",{"2":{"223":1}}],["红涨绿跌",{"2":{"222":1}}],["绿涨红跌",{"2":{"222":1}}],["深色",{"2":{"222":1}}],["深度复制",{"2":{"61":1}}],["浅色",{"2":{"222":1}}],["主页链接等信息",{"2":{"225":1}}],["主题",{"0":{"222":1}}],["主图指标",{"2":{"220":1}}],["主图的窗口id",{"2":{"152":1,"153":1,"154":1,"155":1,"156":1,"167":1}}],["价格线",{"2":{"221":1}}],["价格精度",{"2":{"129":1,"178":1}}],["副图指标",{"2":{"220":1}}],["🥑",{"2":{"220":1}}],["🥭",{"2":{"220":1}}],["🥝",{"2":{"220":1}}],["🥥",{"2":{"220":1}}],["繁体中文",{"2":{"219":1}}],["多语言",{"0":{"219":1}}],["多边形",{"2":{"210":1}}],["多边形参数",{"2":{"88":1}}],["跌空心",{"2":{"217":1}}],["涨空心",{"2":{"217":1}}],["全空心",{"2":{"217":1}}],["全实心",{"2":{"217":1}}],["全局添加",{"2":{"177":1}}],["反向",{"2":{"215":1}}],["反馈和共建",{"0":{"202":1},"1":{"203":1,"204":1,"205":1}}],["正向",{"2":{"215":1}}],["百分比轴",{"2":{"215":1}}],["内部",{"2":{"215":1}}],["内置",{"2":{"221":1}}],["内置的覆盖物有一个simpleannotation",{"2":{"201":1}}],["内置的技术指标",{"0":{"199":1}}],["内置的右击删除将无效",{"2":{"178":1}}],["内置覆盖物类型",{"0":{"176":1}}],["内置多种指标和画线模型",{"2":{"123":1}}],["内置一些转换方法",{"2":{"117":4,"178":2}}],["内置技术指标",{"0":{"115":1}}],["内置基础图形",{"0":{"98":1},"1":{"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1}}],["内置支持zh",{"2":{"44":1}}],["外部",{"2":{"215":1}}],["以下仅仅是为了协助代码演示",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["以一个填充带边框的圆来具体说明如何配置",{"2":{"179":1}}],["以一个名为",{"2":{"118":1}}],["以一个可以有边框和背景菱形来具体说明自定义",{"2":{"108":1}}],["入口文件的方式进行调试",{"2":{"214":1}}],["入参说明",{"0":{"37":1}}],["入参是空数组时不刷新问题",{"2":{"25":1}}],["引入",{"2":{"214":1}}],["引入调整",{"0":{"187":1}}],["依赖文件",{"2":{"213":2}}],["生成",{"2":{"213":1}}],["生产环境模块",{"2":{"213":1}}],["打包成",{"2":{"213":4}}],["检验代码规则",{"2":{"213":1}}],["检查一下容器是否有高度",{"2":{"196":1}}],["检查某个坐标点是否在文字上",{"2":{"84":1}}],["检查某个坐标点是否在矩形上",{"2":{"83":1}}],["检查某个坐标点是否在多边形上",{"2":{"82":1}}],["检查某个坐标点是否在线上",{"2":{"81":1}}],["检查某个坐标点是否在圆上",{"2":{"80":1}}],["检查某个坐标点是否在圆弧上",{"2":{"79":1}}],["检查某个值是否有效",{"2":{"65":1}}],["检查某个值是否是bool值",{"2":{"68":1}}],["检查某个值是否是方法",{"2":{"67":1}}],["检查某个值是否是对象",{"2":{"66":1}}],["检查某个值是否是数字",{"2":{"64":1}}],["检查某个值是否是字符串",{"2":{"63":1}}],["检查事件是否在图形上",{"2":{"50":1}}],["运行",{"2":{"213":10}}],["项目根目录下执行",{"2":{"212":1}}],["项目采用依赖",{"2":{"212":1}}],["环境",{"2":{"212":1}}],["环境要求",{"0":{"92":1},"1":{"93":1,"94":1}}],["安装依赖",{"0":{"212":1}}],["还进行事件分发",{"2":{"210":1}}],["形成最终的图表",{"2":{"210":1}}],["进行项目创建",{"2":{"214":1}}],["进行清理打包好的文件",{"2":{"213":1}}],["进行组装到一起",{"2":{"210":1}}],["进行单一业务绘制",{"2":{"210":1}}],["进行更改",{"2":{"183":1}}],["矩形框",{"2":{"224":1}}],["矩形",{"2":{"210":1}}],["矩形参数",{"2":{"83":1,"89":1}}],["模块",{"2":{"213":6}}],["模块依赖关系",{"0":{"210":1}}],["模式灵敏度",{"2":{"55":1,"158":1,"178":1}}],["模式",{"2":{"55":1,"158":1,"178":2}}],["文本",{"2":{"210":1}}],["文件目录说明",{"0":{"209":1}}],["文字内容",{"2":{"84":1,"90":1,"104":1}}],["文字参数",{"2":{"84":1,"90":1}}],["须知",{"0":{"208":1},"1":{"209":1,"210":1}}],["编写的此文档",{"2":{"207":1}}],["编组id",{"2":{"158":1,"159":1}}],["感谢",{"2":{"207":1}}],["核心感兴趣",{"2":{"207":1}}],["你可以使用",{"2":{"212":1,"214":1}}],["你可以通过",{"2":{"181":1}}],["你可能会对改进",{"2":{"207":1}}],["摘要",{"0":{"207":1}}],["本地开发",{"0":{"206":1},"1":{"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1}}],["本文档将帮助你从",{"2":{"186":1}}],["本文档介绍了图表内置的覆盖物和如何自定义一个覆盖物",{"2":{"175":1}}],["本文档介绍了图表内置的技术指标和如何自定义一个技术指标",{"2":{"114":1}}],["加密资产",{"0":{"229":1}}],["加入群聊",{"2":{"205":1}}],["加载边界的数据",{"2":{"151":1}}],["加载",{"2":{"93":1}}],["备注",{"2":{"205":1}}],["扫一扫",{"2":{"205":1}}],["该怎么做",{"0":{"201":1}}],["该方法自版本9",{"2":{"146":1,"150":1}}],["想标记一下买卖点",{"0":{"201":1}}],["想创建一个内置技术指标之外的指标",{"0":{"200":1}}],["想显示时间",{"2":{"185":1}}],["通过样式设置",{"2":{"198":1}}],["通过图表实例",{"2":{"42":1}}],["分时图怎么创建",{"0":{"198":1}}],["分割线事件响应回退",{"2":{"18":1}}],["怎么办",{"0":{"197":1,"199":1,"200":1}}],["看不到波动",{"0":{"197":1}}],["初始化图表后",{"0":{"196":1}}],["初始化一个图表",{"2":{"44":1}}],["常见问题",{"0":{"195":1},"1":{"196":1,"197":1,"198":1,"199":1,"200":1,"201":1}}],["子项方法color",{"2":{"194":1}}],["合并成一个方法getsize",{"2":{"192":1}}],["合并为candle",{"2":{"189":1}}],["更改为dashed",{"2":{"189":1}}],["更新数据",{"2":{"147":1}}],["更新日志",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1}}],["设计调整",{"0":{"188":1}}],["设置下精度",{"2":{"197":1}}],["设置窗口配置",{"2":{"167":1}}],["设置自动加载数据回调方法",{"2":{"151":1}}],["设置加载更多回调函数",{"2":{"150":1}}],["设置右边最小可见的蜡烛数量",{"2":{"141":1}}],["设置左边最小可见的蜡烛数量",{"2":{"140":1}}],["设置图表单根蜡烛柱的宽度",{"2":{"142":1}}],["设置图表右边最大可空出来的间隙",{"2":{"139":1}}],["设置图表右边可以空出来的间隙",{"2":{"136":1}}],["设置图表左边最大可空出来的间隙",{"2":{"138":1}}],["设置是否可以拖拽滚动",{"2":{"134":1}}],["设置是否缩放",{"2":{"132":1}}],["设置时区",{"2":{"130":1}}],["设置价格和数量精度",{"2":{"129":1}}],["设置样式配置",{"2":{"127":1}}],["到",{"0":{"186":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1}}],["配置",{"2":{"185":1}}],["提示条",{"0":{"224":1}}],["提示",{"2":{"185":2}}],["提供完整的类型定义文件",{"2":{"123":1}}],["面积图",{"2":{"185":1,"210":1,"217":1}}],["蜡烛类型",{"0":{"217":1}}],["蜡烛图类型",{"2":{"185":1}}],["蜡烛图",{"2":{"185":1}}],["蜡烛柱显示趋近于一条线",{"0":{"197":1}}],["蜡烛柱",{"2":{"185":1}}],["蜡烛柱不包含蜡烛柱之间间隙的尺寸",{"2":{"117":1,"178":1}}],["蜡烛柱尺寸",{"2":{"117":1,"178":1}}],["蜡烛柱的尺寸信息",{"2":{"117":1,"178":1}}],["蜡烛柱默认宽度改为8",{"2":{"7":1}}],["网格线",{"2":{"185":1,"210":1}}],["网站",{"2":{"181":1}}],["quick",{"2":{"182":2}}],["销毁图表",{"2":{"182":1}}],["销毁一个图表",{"2":{"45":1}}],["享受整个生态圈和工具链带来的诸多好处",{"2":{"181":1}}],["推荐使用包管理工具的方式进行开发",{"2":{"181":1}}],["所以需要",{"2":{"212":1}}],["所以你可以在任何一个前端框架中使用",{"2":{"182":1}}],["所以也可以从",{"2":{"181":1}}],["所有的api都迁移至klinecharts",{"2":{"193":1}}],["所有线的样式选项dash",{"2":{"189":1}}],["所有dashvalue变更为dashedvalue",{"2":{"30":1}}],["所有line",{"2":{"30":1}}],["所有visiblerange新增realfrom和realto",{"2":{"24":1}}],["版本升级到",{"2":{"186":1}}],["版本",{"2":{"181":1,"186":1}}],["另外",{"2":{"181":1}}],["另一个计算10个周期时间的均值",{"2":{"119":1}}],["包管理工具下载",{"2":{"181":1}}],["或",{"2":{"181":2}}],["或者直接引入",{"2":{"214":1}}],["或者更老的版本",{"2":{"186":1}}],["或者图表实例方法setstyles",{"2":{"183":1}}],["或者",{"2":{"129":1,"185":2,"212":1}}],["或者setlocale",{"2":{"113":1}}],["或者使用实例方法",{"2":{"38":1}}],["快速上手",{"0":{"180":1},"1":{"181":1,"182":1}}],["快捷键",{"0":{"95":1}}],["其它选择使用默认样式",{"2":{"179":1}}],["选择边框且填充",{"2":{"179":1}}],["选中回调事件",{"2":{"178":1}}],["选中事件",{"2":{"55":1,"158":1}}],["确定对应点生成的圆的坐标",{"2":{"179":1}}],["确定其它属性",{"2":{"120":1}}],["完成一个圆的绘制需要三个步骤",{"2":{"179":1}}],["完成语言切换",{"2":{"113":1}}],["双击回调事件",{"2":{"178":1}}],["双击事件",{"2":{"55":1,"158":1}}],["处理按住移动操作",{"2":{"178":1}}],["处理在绘制过程中移动操作",{"2":{"178":1}}],["事件所在点的信息",{"2":{"178":1}}],["事件所在点的索引",{"2":{"178":1}}],["事件的坐标",{"2":{"107":1}}],["非必须",{"2":{"178":12}}],["非必须字段",{"2":{"42":2}}],["作为覆盖物创建的唯一标识",{"2":{"178":1}}],["必须字段",{"2":{"178":1}}],["必要字段",{"2":{"42":5,"107":1}}],["名称",{"2":{"178":1,"179":1}}],["名字",{"2":{"50":1,"117":1}}],["频繁调用可能会影响到性能",{"2":{"174":1}}],["总是显示",{"2":{"224":1}}],["总是会填充容器大小",{"2":{"174":1}}],["总共需要多少步操作才行绘制完成",{"2":{"178":1}}],["总的实现步骤",{"2":{"55":1}}],["调试",{"0":{"214":1}}],["调用setpricevolumeprecision",{"2":{"197":1}}],["调用请谨慎",{"2":{"174":1}}],["调用createoverlay方法是返回的标识",{"2":{"157":1,"159":1}}],["调整图表大小",{"2":{"174":1}}],["三种中的一种",{"2":{"173":1}}],["转换后的图片类型",{"2":{"173":1}}],["只能看到一条线",{"0":{"196":1}}],["只作用于y轴",{"2":{"171":1,"172":1}}],["只需要生成一个技术指标信息",{"2":{"116":1}}],["只需要生成基础图形信息",{"2":{"106":1}}],["过滤条件",{"2":{"171":1,"172":1}}],["对于赞助",{"2":{"225":1}}],["对数轴",{"2":{"215":1}}],["对chartstore里面的数据进行操作",{"2":{"210":1}}],["对pane进行管理",{"2":{"210":1}}],["对象类型为",{"2":{"185":1}}],["对应y轴的值",{"2":{"171":1,"178":3}}],["对齐方式",{"2":{"104":1}}],["订阅时的回调方法",{"2":{"170":1}}],["订阅图表动作",{"2":{"169":1}}],["执行命令说明",{"0":{"213":1}}],["执行动作需要的数据",{"2":{"168":1}}],["执行图表动作",{"2":{"168":1}}],["轴名字",{"2":{"167":1}}],["轴上是否可以滚动缩放",{"2":{"152":1,"167":1}}],["在实际项目中根据情况进行调整",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["在指定时间戳上缩放",{"2":{"166":1}}],["在某个位置缩放",{"2":{"165":1}}],["在某个坐标点缩放",{"2":{"164":1}}],["动画时间",{"2":{"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1}}],["移除图形",{"2":{"159":1}}],["移除技术指标",{"2":{"155":1}}],["移动绘制过程中触发",{"2":{"178":1}}],["移动端",{"2":{"123":1}}],["移动事件过程中特殊处理方法",{"2":{"55":1}}],["\\tbars",{"2":{"153":1}}],["覆盖已绘制的覆盖物",{"2":{"158":1}}],["覆盖技术指标信息",{"2":{"153":1}}],["覆盖物实例",{"2":{"178":1}}],["覆盖物",{"0":{"175":1,"221":1},"1":{"176":1,"177":1,"178":1,"179":1},"2":{"185":1}}],["覆盖物标识",{"2":{"158":1}}],["覆盖物名称",{"2":{"159":1}}],["覆盖物名或者对象",{"2":{"156":1}}],["覆盖物名",{"2":{"55":1,"158":1}}],["覆盖物信息",{"2":{"55":1}}],["覆盖物支持双击强制结束绘制",{"2":{"28":1}}],["特殊的id",{"2":{"152":1,"153":1,"154":1,"155":1,"156":1,"167":1}}],["特性",{"0":{"123":1}}],["此项目没有调试项目",{"2":{"214":1}}],["此外",{"2":{"210":1}}],["此方法会重新计算整个图表各个模块的大小",{"2":{"174":1}}],["此方法会清空图表数据",{"2":{"145":1}}],["此参数对应图表实例方法",{"2":{"152":1}}],["边距",{"2":{"152":1,"167":1}}],["边框虚线参数",{"2":{"100":1,"102":1,"103":1,"104":1}}],["边框虚线参数值",{"2":{"86":1,"88":1,"89":1,"90":1}}],["边框尺寸",{"2":{"100":1,"102":1,"103":1,"104":1}}],["边框圆角尺寸",{"2":{"90":1}}],["边框圆角值",{"2":{"89":1,"103":1,"104":1}}],["边框样式",{"2":{"86":1,"88":1,"89":1,"90":1,"100":1,"102":1,"103":1,"104":1}}],["边框粗细",{"2":{"86":1,"88":1,"89":1,"90":1}}],["边框颜色",{"2":{"86":1,"88":1,"89":1,"90":1,"100":1,"102":1,"103":1,"104":1}}],["都需要此标识",{"2":{"152":1}}],["后续对该窗口的一些操作",{"2":{"152":1}}],["后续计算参数发生变化的时候",{"2":{"120":1}}],["类型有",{"2":{"185":2}}],["类型为klinecharts",{"2":{"178":1}}],["类型参与",{"2":{"178":2}}],["类型参阅",{"2":{"117":6}}],["类型参阅样式",{"2":{"49":1}}],["类型是",{"2":{"173":1}}],["类型和图表方法overrideindicator的入参一致",{"2":{"152":1}}],["类型",{"2":{"151":1}}],["回调参数和`performeventmovefordrawing`一致",{"2":{"178":1}}],["回调参数",{"2":{"151":1}}],["回调方法",{"2":{"151":2}}],["回调方法新增参数",{"2":{"1":1}}],["为了避免重复绘制",{"2":{"149":1}}],["清空图表数据",{"2":{"149":1}}],["单条k线数据",{"2":{"147":1}}],["相同则覆盖",{"2":{"147":1}}],["请提供付款账号或地址",{"2":{"225":1}}],["请通过getdom",{"2":{"192":1}}],["请统一使用import",{"2":{"187":1}}],["请先参考之前的升级文档升级到",{"2":{"186":1}}],["请使用",{"2":{"145":1,"147":1,"150":1}}],["请用overrideoverlay",{"2":{"192":1}}],["请用overlay代替",{"2":{"189":1}}],["请用removeoverlay",{"2":{"192":1}}],["请用registeroverlay",{"2":{"191":1}}],["请用createoverlay",{"2":{"192":1}}],["请用text代替",{"2":{"105":1}}],["请用",{"2":{"93":1}}],["请用utils",{"2":{"91":1}}],["自版本9",{"2":{"145":1,"147":1}}],["自定义",{"2":{"221":1}}],["自定义显示",{"2":{"185":1}}],["自定义一个覆盖物",{"2":{"177":1}}],["自定义一些api",{"2":{"44":1}}],["自定义覆盖物",{"0":{"177":1},"1":{"178":1,"179":1}}],["自定义绘制",{"2":{"117":1}}],["自定义绘制方法",{"2":{"53":1,"153":1}}],["自定义技术指标调整",{"0":{"194":1}}],["自定义技术指标",{"0":{"116":1},"1":{"117":1,"118":1,"119":1,"120":1}}],["自定义基础图形",{"0":{"106":1},"1":{"107":1,"108":1,"109":1,"110":1}}],["自定义布局",{"2":{"44":1}}],["自定义坐标轴",{"0":{"36":1},"1":{"37":1,"38":1,"39":1,"40":1,"41":1}}],["自定义扩展",{"2":{"30":2}}],["成功回调",{"2":{"145":1,"146":1,"147":1,"153":1}}],["成交額",{"2":{"112":1}}],["成交额",{"2":{"42":1}}],["成交量",{"2":{"42":1,"112":1,"219":1}}],["告诉图表还有没有更多历史数据",{"2":{"145":1,"146":1}}],["不显示",{"2":{"224":1}}],["不再区分klinecharts",{"2":{"187":1}}],["不受前端框架限制",{"2":{"182":1}}],["不仅可在开发环境轻松调试",{"2":{"181":1}}],["不触发事件",{"2":{"178":1}}],["不同则追加",{"2":{"147":1}}],["不需要额外调用cleardata方法",{"2":{"145":1}}],["不生效问题",{"2":{"11":1}}],["数组的子项类型为",{"2":{"185":1}}],["数量精度",{"2":{"129":1,"178":1}}],["数据加载",{"0":{"218":1}}],["数据的索引",{"2":{"162":1,"165":1}}],["数据类型详情可参阅数据源",{"2":{"145":1,"146":1,"147":1}}],["数据索引",{"2":{"117":1,"171":1,"178":3}}],["数据源",{"2":{"117":8}}],["数据信息",{"2":{"117":1}}],["数据",{"0":{"42":1}}],["也可放心地在生产环境打包部署使用",{"2":{"181":1}}],["也可以是数组",{"2":{"171":1,"172":1}}],["也可以是id组成的数组",{"2":{"159":1}}],["也可以是object",{"2":{"44":1}}],["也提供了",{"2":{"181":1}}],["也会受影响",{"2":{"129":1}}],["详情请查阅覆盖物",{"2":{"188":1}}],["详情可参阅样式",{"2":{"127":1}}],["详情参阅技术指标",{"2":{"200":1}}],["详情参阅",{"2":{"178":1}}],["详情参阅覆盖物",{"2":{"55":1}}],["详情参阅基础图形",{"2":{"50":1}}],["详情参阅样式",{"2":{"44":1}}],["位置",{"2":{"126":1,"152":1}}],["缺省则取消当前类型所有",{"2":{"170":1}}],["缺省则在图表中间位置缩放",{"2":{"164":1}}],["缺省则无动画",{"2":{"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1}}],["缺省则删除对应窗口上所有的",{"2":{"159":1}}],["缺省则删除所有",{"2":{"159":1}}],["缺省则返回所有",{"2":{"154":1}}],["缺省则设置所有",{"2":{"153":1}}],["缺省则是root",{"2":{"125":1,"126":1}}],["缺省则是整个图表容器",{"2":{"125":1,"126":1}}],["缺省将显示name",{"2":{"117":1}}],["窗口是否可以拖拽调整高度",{"2":{"152":1,"167":1}}],["窗口最小高度",{"2":{"152":1,"167":1}}],["窗口高度",{"2":{"152":1,"167":1}}],["窗口配置信息",{"2":{"152":1,"167":1}}],["窗口id",{"2":{"125":1,"126":1,"152":1,"153":1,"154":1,"155":1,"156":1,"159":1,"167":1,"171":1,"172":1}}],["窗口尺寸信息",{"2":{"37":1,"117":2,"178":1}}],["搞定多端",{"2":{"123":1}}],["功能扩展随心所欲",{"2":{"123":1}}],["功能强大",{"2":{"123":1}}],["丰富的样式配置和api",{"2":{"123":1}}],["零依赖",{"2":{"123":1}}],["轻量流畅",{"2":{"123":1}}],["简体中文",{"2":{"219":1}}],["简单快速集成",{"2":{"123":1}}],["简短名字",{"2":{"53":1,"153":1}}],["什么是",{"0":{"122":1}}],["介绍",{"0":{"121":1},"1":{"122":1,"123":1}}],["介绍如何去做自定义技术指标",{"2":{"118":1}}],["每个key需要和figures中的子项key对应的值一致",{"2":{"120":1}}],["j++",{"2":{"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["jsimport",{"2":{"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["jsximport",{"2":{"182":1}}],["js",{"2":{"181":1,"182":2,"212":2}}],["jsdelivr",{"2":{"181":1,"182":1}}],["jpeg",{"2":{"173":2}}],["j",{"2":{"120":6,"215":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2,"222":2,"223":2,"224":2}}],["javascripthtml",{"2":{"216":1,"218":1}}],["javascripthtmlcss",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["javascriptchart",{"2":{"152":1,"153":1,"156":1,"158":1,"167":1,"198":1}}],["javascript",{"2":{"97":1,"110":1,"119":1,"120":1,"178":1,"179":1,"182":1,"185":1}}],["用图表api创建即可createoverlay",{"2":{"201":1}}],["用",{"2":{"120":1,"214":1}}],["用于回传数据给图表",{"2":{"151":1}}],["用于生成样式",{"2":{"117":1}}],["用于生成自定义图形的属性",{"2":{"117":1}}],["用于tooltip显示",{"2":{"117":1}}],["用于取计算结果中值",{"2":{"117":1}}],["用于创建的唯一标识",{"2":{"55":1,"158":1}}],["用于创建和操作的唯一标识",{"2":{"53":1,"153":1}}],["用于显示",{"2":{"53":1,"117":1,"153":1}}],["第二条线",{"2":{"119":1}}],["第一条线",{"2":{"119":1}}],["因此figures配置为",{"2":{"119":1}}],["则依据索引转换",{"2":{"171":1}}],["则会以id为依据去覆盖",{"2":{"158":1}}],["则会移除所有",{"2":{"155":1}}],["则figures配置的图形不会绘制",{"2":{"117":1}}],["则不会显示",{"2":{"117":1}}],["则需要为该字段填充数据",{"2":{"42":1}}],["十字光标线",{"2":{"210":1}}],["十字光标垂直线及文字",{"2":{"185":1}}],["十字光标水平线及文字",{"2":{"185":1}}],["十字光标",{"2":{"185":1}}],["十字光标交叉点所在的窗口id",{"2":{"117":1}}],["十字光标的信息",{"2":{"117":1}}],["会在计算参数发生变化后触发",{"2":{"117":1}}],["参阅",{"2":{"117":3}}],["参数finder",{"2":{"192":1}}],["参数type选项变更为onzoom",{"2":{"192":1}}],["参数position选项变更为root",{"2":{"192":1}}],["参数paneoptions新增position",{"2":{"14":1}}],["参数和返回值和`createpointfigures`一致",{"2":{"178":2}}],["参数和overrideoverlay一致",{"2":{"156":1}}],["参数options新增layout",{"2":{"14":1}}],["参数",{"2":{"5":1,"38":2,"145":1,"147":1}}],["技术图表实例",{"2":{"117":1}}],["技术指标名",{"2":{"154":1,"155":1}}],["技术指标名或者技术指标对象",{"2":{"152":1}}],["技术指标需要展示两个周期的收盘价平均值连起来的线",{"2":{"119":1}}],["技术指标实例",{"2":{"117":3}}],["技术指标数据",{"2":{"117":1}}],["技术指标",{"0":{"114":1,"220":1},"1":{"115":1,"116":1,"117":1,"118":1,"119":1,"120":1},"2":{"118":1,"185":1}}],["技术指标信息",{"2":{"53":1}}],["技术指标删除属性shouldcheckparamcount",{"2":{"30":1}}],["技术指标模版不再保存相关属性",{"2":{"30":1}}],["技术指标属性render变更为draw",{"2":{"30":1}}],["技术指标属性regenerateplots变更为regeneratefigures",{"2":{"30":1}}],["技术指标属性calctechnicalindicator变更为calc",{"2":{"30":1}}],["技术指标属性calcparams",{"2":{"30":1}}],["技术指标属性plots变更为figures",{"2":{"30":1}}],["下边距",{"2":{"152":1,"167":1}}],["下一个图形的数据",{"2":{"117":1}}],["下内边距",{"2":{"90":1,"104":1}}],["上海",{"2":{"223":1}}],["上图是按照下层作为上层的容器",{"2":{"210":1}}],["上边距",{"2":{"152":1,"167":1}}],["上一个图形的数据",{"2":{"117":1}}],["上内边距",{"2":{"90":1,"104":1}}],["一般情况下不用手动调用",{"2":{"149":1}}],["一般用于type是",{"2":{"117":1}}],["一个图表",{"2":{"123":1}}],["一个计算5个周期时间的均值",{"2":{"119":1}}],["一条名为",{"2":{"119":1}}],["一条为",{"2":{"119":1}}],["一旦销毁",{"2":{"45":1}}],["将使用超大logo展示",{"2":{"225":1}}],["将widget组装到一起",{"2":{"210":1}}],["将相关的",{"2":{"210":1}}],["将坐标转换成值",{"2":{"172":1}}],["将值转换成坐标",{"2":{"171":1}}],["将以这个值上下去绘制",{"2":{"117":1}}],["将一个对象合并到另一个对象",{"2":{"62":1}}],["系列",{"2":{"117":1}}],["层级",{"2":{"117":1,"153":1}}],["比如100000是否需要格式化100k",{"2":{"117":1}}],["从上到下列出图表模块层级",{"2":{"210":1}}],["从",{"0":{"186":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1},"2":{"210":1}}],["从1000开始格式化",{"2":{"117":1}}],["从某个值取对应的值",{"2":{"69":1}}],["无论数额多少",{"2":{"225":1}}],["无特殊含义",{"2":{"178":1}}],["无",{"2":{"115":2}}],["无法生效问题",{"2":{"5":1}}],["漲幅",{"2":{"112":1}}],["收",{"2":{"112":1,"219":1}}],["收盘价",{"2":{"42":1}}],["低",{"2":{"112":1,"219":1}}],["開",{"2":{"112":1,"219":1}}],["時間",{"2":{"112":1,"219":1}}],["例如删除和添加操作",{"2":{"210":1}}],["例如",{"2":{"112":1,"185":1}}],["去完成",{"2":{"112":1}}],["去github上查看",{"2":{"31":1,"32":1,"33":1,"34":1,"35":1}}],["增加语言包通过klinecharts",{"2":{"112":1}}],["增加语言包",{"0":{"112":1}}],["默认",{"2":{"224":1}}],["默认完整配置",{"0":{"185":1}}],["默认样式",{"2":{"178":1}}],["默认null",{"2":{"117":2}}],["默认的技术指标样式",{"2":{"117":3}}],["默认为true",{"2":{"145":1,"146":1}}],["默认为null",{"2":{"117":2}}],["默认为",{"2":{"117":1,"152":1,"173":2}}],["默认为4",{"2":{"117":1}}],["默认计算参数",{"2":{"115":3}}],["默认语言是en",{"2":{"111":1}}],["默认生成的分割文字信息",{"2":{"37":1}}],["目前只会匹配当前最后一条数据的时间戳",{"2":{"147":1}}],["目前图表内置了en",{"2":{"111":1}}],["目前快捷键仅支持移动和缩放",{"2":{"95":1}}],["国际化",{"0":{"111":1},"1":{"112":1,"113":1}}],["实际终点数据索引",{"2":{"117":2}}],["实际起点数据索引",{"2":{"117":2}}],["实现checkeventon和draw两个方法",{"2":{"110":1}}],["实例化并绘制",{"2":{"97":1}}],["实例apiapplynewdata",{"2":{"24":1}}],["实例api新增getoffsetrightdistance和executeaction",{"2":{"24":1}}],["实例api",{"0":{"124":1,"192":1},"1":{"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1},"2":{"20":1}}],["实例方法removetechnicalindicator变更为removeindicator",{"2":{"30":1}}],["实例方法gettechnicalindicatorbypaneid变更为getindicatorbypaneid",{"2":{"30":1}}],["实例方法getstyleoptions变更为getstyles",{"2":{"30":1}}],["实例方法overlaytechnicalindicator变更为overlayindicator",{"2":{"30":1}}],["实例方法createtechnicalindicator变更为createindicator",{"2":{"30":1}}],["实例方法createindicator",{"2":{"14":1}}],["实例方法setoffsetrightspace变更为setoffsetrightdistance",{"2":{"30":1}}],["实例方法setpaneoptions",{"2":{"30":1}}],["实例方法setstyleoptions变更为setstyles",{"2":{"30":1}}],["实例方法新增setmaxoffsetleftdistance和setmaxoffsetrightdistance",{"2":{"13":1}}],["步骤二",{"0":{"110":1,"120":1}}],["步骤一",{"0":{"109":1,"119":1}}],["我们可以定义三个选项stroke",{"2":{"109":1}}],["先确定属性和样式",{"2":{"109":1}}],["示例",{"0":{"108":1,"118":1,"179":1},"1":{"109":1,"110":1,"119":1,"120":1},"2":{"152":1,"153":1,"156":1,"158":1,"167":1,"185":2}}],["返回值由",{"2":{"194":1}}],["返回值是一个标识窗口的字符串",{"2":{"152":1}}],["返回一个字符串类型的标识",{"2":{"156":1}}],["返回一个boolean值",{"2":{"107":1}}],["返回数据类型可参阅数据源",{"2":{"148":1}}],["返回数据个数需要和klinedatalist的数据个数一致",{"2":{"120":1}}],["返回完整类型参阅样式",{"2":{"128":1}}],["返回类型参阅figures",{"2":{"117":1}}],["返回图表实例",{"2":{"44":1}}],["校验事件是否在图形上",{"2":{"107":1}}],["然后通过klinecharts",{"2":{"106":1,"116":1,"177":1}}],["同时打包",{"2":{"213":3}}],["同时技术指标系列是",{"2":{"129":1}}],["同text",{"2":{"105":1}}],["同utils",{"2":{"91":1}}],["基础信息提示",{"2":{"224":1}}],["基础展示",{"0":{"216":1}}],["基础图形可以通过图表方法klinecharts",{"2":{"96":1}}],["基础图形是图表重要的组成部分",{"2":{"96":1}}],["基础图形",{"0":{"96":1},"1":{"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1}}],["基础图形信息",{"2":{"50":1}}],["基本图形",{"2":{"210":1}}],["基本都可以自定义样式",{"2":{"183":1}}],["基本零成本上手",{"2":{"123":1}}],["基准值",{"2":{"117":1}}],["基准",{"2":{"104":1}}],["虚线参数",{"2":{"99":1,"101":1}}],["虚线参数值",{"2":{"85":1,"87":1}}],["属性plots变更为figures",{"2":{"194":1}}],["属性说明",{"0":{"107":1,"117":1,"178":1}}],["属性",{"2":{"97":1,"109":1}}],["等进行下载",{"2":{"181":1}}],["等",{"2":{"97":1,"210":1}}],["需要创建新的工程",{"2":{"214":1}}],["需要返回一个数组",{"2":{"185":1}}],["需要返回一个boolean类型的值",{"2":{"178":1}}],["需要转换的值",{"2":{"171":1,"172":1}}],["需要覆盖的参数",{"2":{"158":1}}],["需要覆盖的一些参数",{"2":{"153":1}}],["需要在有画布上下文的情况下使用",{"2":{"97":1}}],["需要运行在支持",{"2":{"93":1}}],["注意",{"2":{"97":1,"120":1,"145":1,"146":1,"147":1,"150":1,"174":1}}],["这样你的第一个图表就创建完成了",{"2":{"182":1}}],["这样一个自定义覆盖物就完成了",{"2":{"179":1}}],["这样一个自定义指标就完成了",{"2":{"120":1}}],["这样一个自定义的基础图形就完成了",{"2":{"110":1}}],["这非常重要",{"2":{"152":1}}],["这里只是清除数据",{"2":{"149":1}}],["这里每一项的数据格式应该是",{"2":{"120":1}}],["这里计算不能及时响应",{"2":{"120":1}}],["这里的",{"2":{"39":3,"40":1,"41":1}}],["这篇文档介绍了内置的基本图形和如何自定义一个基础图形",{"2":{"96":1}}],["建议仔细阅读",{"2":{"96":1}}],["缩放比例",{"2":{"164":1,"165":1,"166":1}}],["缩放不准确问题",{"2":{"1":1}}],["缩小",{"2":{"95":1}}],["放大",{"2":{"95":1}}],["左侧",{"2":{"215":1}}],["左移",{"2":{"95":1}}],["左内边距",{"2":{"90":1,"104":1}}],["←",{"2":{"95":1}}],["→",{"2":{"95":1}}],["⌨️",{"0":{"95":1}}],["兼容处理",{"0":{"94":1}}],["构建",{"2":{"93":1}}],["浏览器支持",{"0":{"93":1}}],["🌟",{"2":{"225":1}}],["🍍",{"2":{"220":1}}],["🍑",{"2":{"220":1}}],["🍒",{"2":{"220":1}}],["🍈",{"2":{"220":1}}],["🍓",{"2":{"220":1}}],["🍇",{"2":{"220":1}}],["🍉",{"2":{"220":1}}],["🍌",{"2":{"220":1}}],["🍋",{"2":{"220":1}}],["🍊",{"2":{"220":1}}],["🍐",{"2":{"220":1}}],["🍎",{"2":{"220":1}}],["🍏",{"2":{"220":2}}],["🎨",{"0":{"183":1},"1":{"184":1,"185":1},"2":{"123":1}}],["🌏",{"0":{"111":1},"1":{"112":1,"113":1}}],["🏝️",{"0":{"92":1},"1":{"93":1,"94":1}}],["🆕",{"2":{"10":4,"13":2,"14":3,"18":2,"19":2,"20":3,"21":3,"24":5,"28":2,"30":1}}],["已废弃",{"2":{"91":1,"105":1,"145":1,"146":1,"147":1,"150":1}}],["背景色",{"2":{"90":1,"104":1,"173":1}}],["右侧",{"2":{"215":1}}],["右击回调事件",{"2":{"178":1}}],["右击事件",{"2":{"55":1,"158":1}}],["右移",{"2":{"95":1}}],["右内边距",{"2":{"90":1,"104":1}}],["线性轴",{"2":{"215":1}}],["线样式",{"2":{"87":1}}],["线参数",{"2":{"87":1}}],["粗细",{"2":{"85":1,"87":1,"104":1}}],["弧样式",{"2":{"85":1}}],["画布上下文",{"2":{"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"97":1,"107":1,"117":1}}],["权重",{"2":{"84":1,"90":1}}],["字体",{"2":{"84":1,"90":1,"104":1}}],["尺寸",{"2":{"84":1,"90":1,"99":1,"101":1,"104":1}}],["颜色",{"2":{"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1}}],["垂直对齐方式",{"2":{"84":1,"90":1}}],["水平对齐方式",{"2":{"84":1,"90":1}}],["结束角度",{"2":{"79":1,"85":1,"99":1}}],["起始点y轴坐标值",{"2":{"103":1,"104":1}}],["起始点y轴值",{"2":{"83":1,"84":1,"89":1,"90":1}}],["起始点x轴坐标值",{"2":{"103":1,"104":1}}],["起始点x轴值",{"2":{"83":1,"84":1,"89":1,"90":1}}],["起始角度",{"2":{"79":1,"85":1}}],["起点数据索引",{"2":{"117":2}}],["起点",{"2":{"37":1}}],["半径",{"2":{"79":1,"80":1,"85":1,"86":1,"99":1,"100":1}}],["圆",{"2":{"221":1}}],["圆心y轴坐标值",{"2":{"99":1,"100":1}}],["圆心x轴坐标值",{"2":{"99":1,"100":1}}],["圆心的y轴值",{"2":{"79":1,"80":1,"85":1,"86":1}}],["圆心的x轴值",{"2":{"79":1,"80":1,"85":1,"86":1}}],["圆参数",{"2":{"80":1,"86":1}}],["圆弧参数",{"2":{"79":1,"85":1}}],["+=",{"2":{"215":1,"216":1,"217":1,"218":3,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["+098syuqtzi0ynzll",{"2":{"204":1}}],["+",{"2":{"76":1,"95":5,"110":5,"120":2,"179":1,"215":9,"216":9,"217":9,"218":9,"219":9,"220":11,"221":10,"222":9,"223":9,"224":9}}],["即可",{"2":{"181":1}}],["即可使用图表方法",{"2":{"38":1}}],["即全局样式配置中的overlay",{"2":{"178":1}}],["即全局设置的技术指标样式",{"2":{"117":3}}],["即调用createindicator方法时返回的窗口标识",{"2":{"154":1,"155":1}}],["即title的值需要改变",{"2":{"120":1}}],["即",{"2":{"119":2}}],["即y",{"2":{"76":1}}],["获取到对应的dom后操作",{"2":{"192":1}}],["获取klinechart",{"0":{"181":1}}],["获取可见区间范围",{"2":{"144":1}}],["获取样式配置",{"2":{"128":1}}],["获取尺寸",{"2":{"126":1}}],["获取dom容器",{"2":{"125":1}}],["获取基础图形实例",{"2":{"97":1}}],["获取",{"2":{"96":1}}],["获取一个点在斜率和常数项形成的线上的y轴坐标值",{"2":{"78":1}}],["获取一个点在另外两个坐标点形成的线上的y轴坐标值",{"2":{"77":1}}],["获取点组成的线的斜率和常数项",{"2":{"76":1}}],["获取图表转换成图片后的图片url",{"2":{"173":1}}],["获取图表目前的数据源",{"2":{"148":1}}],["获取图表单根蜡烛柱的宽度",{"2":{"143":1}}],["获取图表右边可以空出来的间隙",{"2":{"137":1}}],["获取图表时区名",{"2":{"131":1}}],["获取图表当前版本号",{"2":{"59":1}}],["获取图表支持的覆盖物",{"2":{"56":1}}],["获取图表支持的技术指标",{"2":{"54":1}}],["获取图表支持的基础图形类型",{"2":{"51":1}}],["获取图表支持的本地化语言类型",{"2":{"48":1}}],["获取图形类",{"2":{"52":1}}],["根据需要通知下级组件进行更新",{"2":{"210":1}}],["根据id获取覆盖物信息",{"2":{"157":1}}],["根据窗口id获取技术指标信息",{"2":{"154":1}}],["根据两个坐标点",{"2":{"76":1}}],["根据覆盖物名称获取图表内覆盖物的属性",{"2":{"47":1}}],["y轴线",{"2":{"185":1}}],["y轴",{"2":{"185":1}}],["y轴组件",{"2":{"117":2,"178":1}}],["yarn",{"2":{"181":1,"212":1}}],["yaxis",{"2":{"2":1,"30":3,"53":3,"117":6,"125":2,"126":2,"152":1,"153":1,"178":2,"185":1,"189":3,"194":4,"215":4,"220":2}}],["ydis",{"2":{"110":2,"179":3,"221":3}}],["y是中心点y轴坐标值",{"2":{"109":1}}],["y",{"2":{"76":2,"77":3,"78":1,"79":3,"80":3,"81":2,"82":2,"83":3,"84":3,"85":2,"86":2,"87":1,"88":1,"89":2,"90":2,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"110":12,"164":1,"171":2,"172":2,"178":1,"179":2,"220":2,"221":2}}],["yyyy",{"2":{"72":1}}],["取消回调事件",{"2":{"178":1}}],["取消订阅图表动作",{"2":{"170":1}}],["取消选中事件",{"2":{"55":1,"158":1}}],["取c的值",{"2":{"69":1}}],["===",{"2":{"110":5,"179":1,"221":1,"222":2}}],["=",{"2":{"69":1,"76":1,"97":1,"110":14,"120":6,"145":1,"147":1,"179":3,"182":8,"215":31,"216":16,"217":22,"218":22,"219":22,"220":39,"221":25,"222":28,"223":22,"224":35}}],["=>",{"2":{"37":1,"44":3,"45":1,"46":1,"47":1,"48":1,"49":1,"50":3,"51":1,"52":1,"53":9,"54":1,"55":20,"56":1,"57":2,"58":2,"59":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":2,"110":2,"117":6,"120":5,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":2,"146":2,"147":2,"148":1,"149":1,"150":2,"151":3,"152":10,"153":13,"154":1,"155":1,"156":29,"157":1,"158":15,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":2,"169":2,"170":2,"171":1,"172":1,"173":1,"174":1,"178":17,"179":1,"182":13,"215":8,"217":2,"218":3,"219":2,"220":7,"221":3,"222":2,"223":2,"224":8}}],["辅助方法集合",{"2":{"60":1}}],["鼠标移出事件",{"2":{"55":1,"158":1,"178":1}}],["鼠标移入事件",{"2":{"55":1,"158":1,"178":1}}],["按住拖动结束回调事件",{"2":{"178":1}}],["按住拖动回调事件",{"2":{"178":1}}],["按住拖动开始回调事件",{"2":{"178":1}}],["按住某个操作点移动过程中触发",{"2":{"178":1}}],["按住移动结束事件",{"2":{"55":1,"158":1}}],["按住移动中事件",{"2":{"55":1,"158":1}}],["按住移动事件特殊处理方法",{"2":{"55":1}}],["按住开始移动事件",{"2":{"55":1,"158":1}}],["点一个",{"2":{"225":1}}],["点击回调事件",{"2":{"178":1}}],["点击事件",{"2":{"55":1,"158":1}}],["点信息",{"2":{"55":1,"158":1,"178":2}}],["开发环境和生产环境模块并生成",{"2":{"213":1}}],["开发环境和生产环境模块",{"2":{"213":2}}],["开发环境模块",{"2":{"213":1}}],["开发",{"0":{"211":1},"1":{"212":1,"213":1,"214":1}}],["开盘和收盘",{"2":{"185":1}}],["开盘价",{"2":{"42":1}}],["开箱即用",{"2":{"123":1}}],["开始角度",{"2":{"99":1}}],["开始绘制事件",{"2":{"55":1,"158":1}}],["仅支持",{"2":{"168":1}}],["仅仅在创建新的窗口时有效",{"2":{"152":1}}],["仅",{"2":{"55":1,"158":1,"178":1}}],["越靠前显示",{"2":{"55":1}}],["will",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["widget",{"2":{"210":1}}],["width=device",{"2":{"182":1}}],["width是宽度",{"2":{"109":1}}],["width",{"2":{"37":1,"83":2,"89":2,"90":2,"103":1,"104":1,"109":1,"110":8,"117":2,"126":1,"178":1,"182":8}}],["window",{"2":{"182":1}}],["wrap",{"2":{"215":2,"217":2,"219":2,"220":2,"221":2,"222":2,"223":2,"224":2}}],["wr",{"2":{"115":1}}],["web",{"2":{"178":1}}],["webview",{"2":{"93":1}}],["weight",{"0":{"75":1},"2":{"75":1,"84":2,"90":2,"104":1,"185":10}}],["weak",{"2":{"55":3,"156":3,"158":4,"178":3}}],["zh",{"2":{"112":1,"178":1,"219":3}}],["zlevel",{"2":{"55":2,"117":1,"152":1,"153":3,"156":3,"158":3,"178":1}}],["zoomattimestamp",{"0":{"166":1},"2":{"1":1}}],["zoomatdataindex",{"0":{"165":1},"2":{"1":1}}],["zoomatcoordinate",{"0":{"164":1},"2":{"1":1}}],["创建dom容器",{"2":{"210":1}}],["创建canvas",{"2":{"210":1}}],["创建第一个图表",{"0":{"182":1}}],["创建时候的id",{"2":{"159":1}}],["创建覆盖物",{"2":{"156":1}}],["创建一个技术指标",{"2":{"152":1}}],["创建一个自定义技术指标",{"2":{"116":1}}],["创建一个自定义基础图形",{"2":{"106":1}}],["创建自定义提示文字",{"2":{"117":1}}],["创建自定义提示信息方法",{"2":{"53":1,"153":1}}],["创建分割文字",{"2":{"57":1,"58":1}}],["创建分割文字方法实现",{"2":{"37":1}}],["创建y轴上的图形",{"2":{"55":1,"178":1}}],["创建x轴上的图形",{"2":{"55":1,"178":1}}],["创建点对应的图形信息",{"2":{"179":1}}],["创建点对应的图形",{"2":{"55":1,"178":1}}],["重新生成数图形配置方法",{"2":{"117":1}}],["重新生成图形信息方法",{"2":{"53":1,"153":1}}],["重构窗口之间的分割线模块",{"2":{"14":1}}],["计算出来的数据不是想要的",{"0":{"199":1}}],["计算结果",{"2":{"120":1}}],["计算文字宽度",{"2":{"75":1}}],["计算方法",{"2":{"53":1,"117":1,"153":1}}],["计算参数最好取回调参数calcparams",{"2":{"120":1}}],["计算参数是2个",{"2":{"119":1}}],["计算参数文字",{"2":{"117":1}}],["计算参数",{"2":{"53":1,"117":2,"153":1}}],["指定的轴的名字",{"2":{"152":1}}],["指定的最大值",{"2":{"117":1}}],["指定的最小值",{"2":{"117":1}}],["指定高",{"2":{"104":1}}],["指定宽",{"2":{"104":1}}],["指定最大值",{"2":{"53":1,"153":1}}],["指定最小值",{"2":{"53":1,"153":1}}],["指标信息提示",{"2":{"224":1}}],["指标等等",{"2":{"210":1}}],["指标创建完成回调方法",{"2":{"152":1}}],["指标简短名称",{"2":{"117":1}}],["指标系列",{"2":{"53":1,"153":1}}],["指标名",{"2":{"53":1,"115":3,"117":1,"153":1}}],["指标图形配置支持自定义",{"2":{"21":1}}],["指标新增zlevel属性",{"2":{"13":1}}],["扩展数据",{"2":{"53":1,"55":1,"117":1,"153":1,"158":1,"178":1}}],["精度",{"2":{"53":1,"117":1,"153":1,"178":1}}],["k",{"2":{"215":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2,"222":4,"223":2,"224":2}}],["k线数据",{"2":{"117":2}}],["kdj",{"2":{"115":1}}],["kb",{"0":{"78":1},"2":{"78":1}}],["kx",{"2":{"76":1}}],["klinechart",{"0":{"122":1},"2":{"122":1,"181":1,"182":1,"203":2,"205":1,"207":1,"225":2}}],["klinecharts",{"2":{"24":1,"97":1,"181":7,"182":8,"186":2,"187":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1}}],["klinedata>",{"2":{"151":1}}],["klinedatalist",{"2":{"117":2,"120":3,"194":4,"220":2}}],["klinedata",{"2":{"53":1,"117":11,"120":2,"151":1,"152":1,"153":1,"220":2}}],["keywords",{"2":{"182":1}}],["key",{"0":{"69":1},"2":{"53":2,"55":6,"69":1,"112":1,"113":1,"117":1,"119":2,"120":4,"152":2,"153":2,"178":2,"179":1,"185":1,"215":17,"217":8,"219":5,"220":1,"221":5,"222":6,"223":5,"224":13}}],["绘制结束回调事件",{"2":{"178":1}}],["绘制结束事件",{"2":{"55":1,"158":1}}],["绘制过程中回调事件",{"2":{"178":1}}],["绘制开始回调事件",{"2":{"178":1}}],["绘制边框的菱形",{"2":{"110":1}}],["绘制填充的菱形",{"2":{"110":1}}],["绘制",{"2":{"107":1}}],["绘制带背景的文字",{"2":{"90":1}}],["绘制矩形",{"2":{"89":1}}],["绘制多边形",{"2":{"88":1}}],["绘制线",{"2":{"87":1}}],["绘制圆",{"2":{"86":1}}],["绘制圆弧",{"2":{"85":1}}],["绘制中事件",{"2":{"55":1,"158":1}}],["绘制层级",{"2":{"55":1,"158":1,"178":1}}],["绘制方法",{"2":{"50":1}}],["绘制模糊问题",{"2":{"1":1}}],["唯一标识",{"2":{"50":1}}],["添加开发者",{"2":{"205":1}}],["添加历史更多数据",{"2":{"146":1}}],["添加新数据",{"2":{"145":1}}],["添加到图表即可和内置覆盖物一样去使用",{"2":{"177":1}}],["添加到图表即可和内置技术指标一样去使用",{"2":{"116":1}}],["添加到图表即可和内置基础图形一样去使用",{"2":{"106":1}}],["添加一个中文繁体的语言包",{"2":{"112":1}}],["添加一个自定义y轴",{"2":{"58":1}}],["添加一个自定义x轴",{"2":{"57":1}}],["添加一个覆盖物",{"2":{"55":1}}],["添加一个技术指标",{"2":{"53":1}}],["添加一个基础图形",{"2":{"50":1}}],["添加一个样式配置",{"2":{"49":1}}],["添加一个本地化语言",{"2":{"46":1}}],["添加重复数据问题",{"2":{"7":1}}],["元素id或者图表实例",{"2":{"45":1}}],["小数折叠阈值",{"2":{"44":1,"178":1}}],["千分符",{"2":{"44":1,"178":1}}],["格式化折叠小数",{"2":{"74":1}}],["格式化精度",{"2":{"70":1}}],["格式化大的数字",{"2":{"44":1,"71":1}}],["格式化日期和时间的对象的构造器",{"2":{"178":1}}],["格式化日期千分符",{"2":{"73":1}}],["格式化日期",{"2":{"44":1,"72":1}}],["如k线柱",{"2":{"210":1}}],["如圆",{"2":{"210":1}}],["如const",{"2":{"69":1}}],["如1000转换成1k",{"2":{"44":1,"53":1,"71":1,"153":1}}],["如果能够打赏一杯",{"2":{"225":1}}],["如果你觉得插件还不错",{"2":{"225":1}}],["如果你看到此处",{"2":{"207":1}}],["如果你是",{"2":{"186":1}}],["如果dataindex和timestamp同时存在",{"2":{"171":1}}],["如果id存在",{"2":{"158":1}}],["如果缺省",{"2":{"155":1}}],["如果有值的情况下",{"2":{"120":1}}],["如果不是",{"2":{"120":1}}],["如果不设置会自动获取本机时区",{"2":{"44":1,"130":1}}],["如果无值",{"2":{"120":1}}],["如果返回true",{"2":{"117":1,"178":1}}],["如果name无值",{"2":{"117":1}}],["如果给定",{"2":{"117":1}}],["如果需要将组织官网或者个人主页展示在",{"2":{"225":1}}],["如果需要使用其他语言",{"2":{"111":1}}],["如果需要制作复杂的自定义技术指标和覆盖物",{"2":{"96":1}}],["如果需要运行在移动端",{"2":{"93":1}}],["如果需要展示技术指标",{"2":{"42":1}}],["如",{"2":{"44":1,"72":1,"97":1,"130":1}}],["语言配置",{"2":{"46":1}}],["语言名",{"2":{"46":1}}],["语言",{"2":{"44":1}}],["容器",{"2":{"44":1}}],["gendata",{"2":{"215":2,"216":2,"217":2,"218":4,"219":2,"220":2,"221":2,"222":2,"223":2,"224":2}}],["getelementbyid",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":3,"223":1,"224":1}}],["getwidth",{"2":{"192":1}}],["getalphablue",{"2":{"185":1}}],["getconvertpictureurl",{"0":{"173":1}}],["getindicatorbypaneid",{"0":{"154":1}}],["getdatalist",{"0":{"148":1},"2":{"218":1}}],["getdom",{"0":{"125":1},"2":{"192":1}}],["getbarspace",{"0":{"143":1}}],["getoffsetrightdistance",{"0":{"137":1}}],["getoverlayclass",{"0":{"47":1}}],["getoverlaybyid",{"0":{"157":1},"2":{"30":1}}],["gettime",{"2":{"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["gettimezone",{"0":{"131":1}}],["gettechnicalindicatorbypaneid",{"2":{"192":1}}],["gettechnicalindicatortemplate",{"2":{"30":1}}],["getlinearyfromslopeintercept",{"0":{"78":1}}],["getlinearyfromcoordinates",{"0":{"77":1}}],["getlinearslopeintercept",{"0":{"76":1}}],["getlocal",{"2":{"30":1}}],["getheight",{"2":{"30":1}}],["getvisiblerange",{"0":{"144":1},"2":{"30":1}}],["getstyleoptions",{"2":{"192":1}}],["getstyles",{"0":{"128":1}}],["getsize",{"0":{"126":1},"2":{"30":1}}],["getsupportedoverlays",{"0":{"56":1}}],["getsupportedindicators",{"0":{"54":1}}],["getsupportedfigures",{"0":{"51":1}}],["getsupportedlocales",{"0":{"48":1}}],["getsupportlocales",{"2":{"30":1}}],["getsupportoverlays",{"2":{"30":1}}],["getsupportfigures返回值中的一种",{"2":{"178":1}}],["getsupportfigures",{"2":{"30":1}}],["getfigureclass",{"0":{"52":1},"2":{"30":1,"96":1,"97":1}}],["github",{"0":{"203":1},"2":{"203":2,"225":1}}],["green",{"2":{"222":15}}],["grid",{"2":{"185":1}}],["groupid",{"2":{"156":3,"158":3,"159":2}}],["global",{"2":{"178":1}}],["gt",{"2":{"145":1,"147":1}}],["gzip压缩下仅40k",{"2":{"123":1}}],["gapbar",{"2":{"117":1,"178":1,"220":1}}],["gap",{"2":{"44":1,"152":3,"167":3,"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["最新值标记",{"2":{"185":1}}],["最新价标记",{"2":{"185":1}}],["最新价线不显示问题",{"2":{"15":1}}],["最低价标记",{"2":{"185":1}}],["最低价",{"2":{"42":1}}],["最高价标记",{"2":{"185":1}}],["最高价",{"2":{"42":1}}],["毫秒级别",{"2":{"42":1}}],["代替即可",{"2":{"120":1}}],["代替",{"2":{"39":2,"40":1,"41":1,"91":1,"145":1,"147":1,"150":1,"191":1,"192":3}}],["`strong",{"2":{"178":1}}],["`stroke",{"2":{"100":1,"102":1,"103":1,"104":1}}],["`stroke`",{"2":{"100":1,"102":1,"103":1,"104":1}}],["`weak",{"2":{"178":1}}],["`ma$",{"2":{"120":2}}],["`dashed`",{"2":{"99":1,"101":1}}],["`",{"2":{"39":3,"40":1,"41":1,"120":2,"182":1}}],["`$",{"2":{"39":3,"40":1,"41":1}}],["方法render",{"2":{"194":1}}],["方法regenerateplots",{"2":{"194":1}}],["方法createtooltipdatasource",{"2":{"194":1}}],["方法calctechnicalindicator",{"2":{"194":1}}],["方法",{"0":{"39":1,"40":1,"41":1}}],["使用完全免费",{"2":{"225":1}}],["使用全局变量",{"2":{"181":1}}],["使用语言包",{"0":{"113":1}}],["使用示例",{"0":{"97":1}}],["使用自定义x轴时的",{"2":{"39":1}}],["使用自定义y轴时的",{"2":{"39":1,"40":1,"41":1}}],["使用自己定义的容器id代替",{"2":{"39":1}}],["使用",{"0":{"39":1,"40":1,"41":1}}],["使用说明",{"0":{"38":1},"1":{"39":1,"40":1,"41":1}}],["来安装依赖",{"2":{"212":1}}],["来和图表进行数据交互",{"2":{"42":1}}],["来指定",{"2":{"38":1}}],["来指定坐标轴",{"2":{"38":1}}],["来实现",{"2":{"36":1}}],[">`",{"2":{"182":1}}],[">=",{"2":{"120":1}}],[">",{"2":{"37":2,"44":1,"53":4,"55":4,"57":1,"58":1,"81":1,"82":1,"87":1,"88":1,"101":1,"102":1,"117":2,"145":1,"146":1,"148":1,"152":4,"153":4,"156":3,"158":1,"171":2,"172":1,"178":4,"181":1,"182":13,"205":1,"215":2,"216":1,"217":2,"218":1,"219":2,"220":2,"221":2,"222":2,"223":2,"224":2}}],["展示的文字",{"2":{"37":2}}],["||",{"2":{"110":2,"120":1}}],["|",{"2":{"37":2,"44":7,"45":2,"53":5,"55":17,"57":1,"58":1,"70":1,"71":1,"73":1,"74":1,"75":1,"84":10,"85":1,"86":4,"87":1,"88":4,"89":4,"90":13,"99":1,"100":3,"101":1,"102":3,"103":3,"104":5,"117":5,"125":2,"126":2,"127":1,"150":1,"151":1,"152":17,"153":14,"156":8,"158":3,"159":1,"169":7,"170":7,"171":2,"172":2,"178":9,"185":54}}],["值小余1则是百分比",{"2":{"152":2,"167":2}}],["值信息",{"2":{"117":1}}],["值越大越靠前显示",{"2":{"158":1,"178":1}}],["值越大",{"2":{"55":1}}],["值",{"2":{"37":2}}],["坐标轴",{"0":{"215":1}}],["坐标轴名字",{"2":{"37":1,"57":1,"58":1}}],["坐标点",{"2":{"164":1}}],["坐标点信息",{"2":{"79":1,"80":1,"83":1,"84":1}}],["坐标集合",{"2":{"101":1,"102":1}}],["坐标信息",{"2":{"57":1,"58":1}}],["坐标位置",{"2":{"37":2}}],["距离",{"2":{"160":1}}],["距离底部距离",{"2":{"37":1,"117":2,"178":1}}],["距离顶部距离",{"2":{"37":1,"117":2,"178":1}}],["距离右边距离",{"2":{"37":1,"117":2,"178":1}}],["距离左边距离",{"2":{"37":1,"117":2,"178":1}}],["高可扩展",{"2":{"123":1}}],["高度",{"2":{"83":1,"89":1,"90":1,"103":1}}],["高",{"2":{"37":1,"112":1,"117":2,"178":1,"219":1}}],["宽度",{"2":{"83":1,"89":1,"90":1,"103":1}}],["宽",{"2":{"37":1,"117":2,"178":1}}],["真实数据索引",{"2":{"117":1}}],["真实的x坐标",{"2":{"117":1}}],["真实区间长度",{"2":{"37":1}}],["真实终点",{"2":{"37":1}}],["真实起点",{"2":{"37":1}}],["区间长度",{"2":{"37":1}}],["区间相关的信息",{"2":{"37":1}}],["终点数据索引",{"2":{"117":2}}],["终点",{"2":{"37":1}}],["n",{"2":{"185":2}}],["ngondestroy",{"2":{"182":1}}],["ngafterviewinit",{"2":{"182":1}}],["npmyarnpnpmbuncdn",{"2":{"181":1}}],["npm",{"0":{"213":1},"2":{"181":2,"182":1,"212":2,"213":10,"214":1}}],["neue",{"2":{"185":12,"220":1}}],["net",{"2":{"181":1,"182":1}}],["next",{"2":{"117":1}}],["newdata",{"2":{"218":10}}],["new",{"2":{"97":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["needdefaultyaxisfigure",{"2":{"55":2,"156":3,"158":3,"178":1,"221":1}}],["needdefaultxaxisfigure",{"2":{"55":2,"156":3,"158":3,"178":1,"221":1}}],["needdefaultpointfigure",{"2":{"55":2,"156":3,"158":3,"178":1,"221":1}}],["node",{"2":{"212":2}}],["none",{"2":{"185":2,"215":2,"217":2,"219":2,"220":2,"221":2,"222":2,"223":2,"224":3}}],["normal",{"2":{"53":2,"55":2,"117":2,"152":1,"153":2,"156":2,"158":2,"178":2,"185":14,"215":1}}],["nochangecolor",{"2":{"153":2,"185":5,"222":4}}],["nochangewickcolor",{"2":{"24":1,"185":1}}],["nochangebordercolor",{"2":{"24":1,"185":1}}],["null",{"2":{"150":1,"152":2,"153":3,"156":1,"158":1}}],["nullable",{"2":{"47":1,"151":1}}],["number>",{"2":{"78":1,"86":1,"88":1,"89":1}}],["number",{"2":{"37":16,"42":7,"44":8,"53":5,"55":6,"57":2,"58":2,"70":2,"71":1,"72":1,"73":1,"74":2,"75":3,"76":4,"77":7,"78":3,"79":7,"80":5,"81":4,"82":4,"83":6,"84":6,"85":7,"86":4,"87":4,"88":3,"89":6,"90":13,"99":7,"100":5,"101":4,"102":4,"103":7,"104":13,"107":2,"117":32,"126":6,"129":2,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":4,"145":7,"146":7,"147":7,"148":7,"150":1,"152":10,"153":6,"156":10,"158":5,"160":2,"161":2,"162":2,"163":2,"164":4,"165":3,"166":3,"167":4,"171":10,"172":10,"178":29}}],["name=",{"2":{"182":4}}],["name为基础图形名字",{"2":{"97":1}}],["name",{"0":{"49":1,"52":1,"154":1,"155":1},"2":{"37":1,"38":2,"39":4,"40":2,"41":2,"44":1,"47":1,"49":2,"50":2,"52":2,"53":3,"55":2,"57":2,"58":2,"96":1,"97":1,"107":1,"110":1,"117":2,"120":1,"152":5,"153":4,"154":2,"155":2,"156":3,"158":3,"159":2,"167":3,"178":1,"179":1,"192":5,"194":1,"201":1,"220":11,"221":3}}],["^9",{"0":{"36":1,"57":1,"58":1,"74":1,"75":1,"137":1,"138":1,"139":1,"151":1,"168":1},"1":{"37":1,"38":1,"39":1,"40":1,"41":1},"2":{"44":2,"55":2,"145":1,"146":1,"147":1,"152":3,"153":1,"158":2,"167":2}}],["的组织或个人",{"2":{"225":1}}],["的包管理器管理",{"2":{"212":1}}],["的浏览器上",{"2":{"93":1}}],["的版本记录",{"2":{"34":1,"35":1}}],["的",{"2":{"31":1,"32":1,"33":1}}],["x轴分割线",{"2":{"185":2}}],["x轴分割文字",{"2":{"185":2}}],["x轴线",{"2":{"185":1}}],["x轴",{"2":{"185":1}}],["x轴组件",{"2":{"117":2,"178":1}}],["xxxxxxxx",{"2":{"156":1,"158":1}}],["xxx",{"2":{"120":2,"194":8}}],["xdis",{"2":{"110":2,"179":3,"221":3}}],["x是中心点x轴坐标值",{"2":{"109":1}}],["x3c",{"2":{"37":2,"44":2,"47":1,"53":4,"55":4,"57":1,"58":1,"78":1,"81":1,"82":1,"86":1,"87":1,"88":2,"89":1,"101":1,"102":1,"110":1,"117":7,"145":1,"146":1,"148":1,"151":1,"152":4,"153":4,"156":3,"158":1,"171":2,"172":2,"178":4,"181":2,"182":32,"215":5,"216":3,"217":5,"218":3,"219":5,"220":6,"221":5,"222":5,"223":5,"224":5}}],["x",{"0":{"31":1,"32":1,"33":1,"34":1,"35":1},"2":{"31":1,"32":1,"33":1,"34":1,"35":1,"76":2,"77":3,"78":1,"79":3,"80":3,"81":2,"82":2,"83":3,"84":3,"85":2,"86":2,"87":1,"88":1,"89":2,"90":2,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"110":12,"164":1,"171":2,"172":2,"178":1,"179":2,"186":4,"220":2,"221":2}}],["xaxis",{"2":{"30":3,"39":1,"44":1,"53":3,"117":6,"152":1,"153":1,"178":2,"185":1,"189":3,"194":4,"220":2}}],["xaxis新增方法converttimestampfrompixel和converttimestamptopixel",{"2":{"20":1}}],["删除属性shouldcheckparamcount",{"2":{"194":1}}],["删除gettechnicalindicatorbypaneid",{"2":{"192":1}}],["删除setshapeoptions",{"2":{"192":1}}],["删除shape",{"2":{"30":2,"189":1}}],["删除removeshape",{"2":{"192":1}}],["删除createhtml",{"2":{"192":1}}],["删除createshape",{"2":{"192":1}}],["删除candle",{"2":{"30":1}}],["删除extension",{"2":{"191":1}}],["删除回调事件",{"2":{"178":1}}],["删除一个html元素",{"2":{"159":1}}],["删除事件",{"2":{"55":1,"158":1}}],["删除实例方法createhtml",{"2":{"30":1}}],["删除实例方法createshape",{"2":{"30":1}}],["删除实例方法setshapeoptions",{"2":{"30":1}}],["删除实例方法removeshape",{"2":{"30":1}}],["删除实例方法getwidth",{"2":{"30":1}}],["改用overlay",{"2":{"30":2}}],["改用overrideoverlay",{"2":{"30":1}}],["改用removeoverlay",{"2":{"30":1}}],["改用createoverlay",{"2":{"30":1}}],["改用getsize",{"2":{"30":1}}],["废弃",{"2":{"30":1}}],["hu",{"2":{"225":1}}],["hide",{"2":{"224":1}}],["high",{"2":{"42":1,"46":1,"112":1,"145":1,"146":1,"147":1,"148":1,"182":70,"185":3,"215":3,"216":3,"217":3,"218":5,"219":4,"220":3,"221":3,"222":3,"223":3,"224":3}}],["helvetica",{"2":{"185":12,"220":1}}],["head>",{"2":{"182":2}}],["height是高度",{"2":{"109":1}}],["height",{"2":{"37":1,"44":1,"83":2,"89":2,"90":2,"103":1,"104":1,"109":1,"110":8,"117":2,"126":1,"152":3,"167":3,"178":1,"182":7,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["height变更为yaxis",{"2":{"30":1,"189":1}}],["height变更为xaxis",{"2":{"30":1,"189":1}}],["hooks",{"2":{"182":1}}],["horizontalstraightline",{"2":{"176":1}}],["horizontalsegment",{"2":{"176":1}}],["horizontalrayline",{"2":{"176":1}}],["horizontal",{"2":{"30":1,"185":2}}],["https",{"2":{"178":1,"181":1,"182":1,"203":2,"204":1,"225":1}}],["html>",{"2":{"182":2}}],["html",{"2":{"181":1,"182":1,"192":1}}],["htmlid",{"2":{"159":1,"192":1}}],["html5",{"2":{"93":1}}],["htmlelement",{"2":{"44":1,"45":1,"125":1,"127":1}}],["halfgapbar",{"2":{"117":1,"178":1}}],["halfbar",{"2":{"117":1,"178":1}}],["hanging",{"2":{"84":1,"90":1}}],["hk",{"2":{"112":1,"219":2}}],["hh",{"2":{"72":1}}],["变更为draw",{"2":{"194":1}}],["变更为",{"2":{"194":1}}],["变更为createtooltipdatasource",{"2":{"194":1}}],["变更为createindicator",{"2":{"192":1}}],["变更为calc",{"2":{"194":1}}],["变更为regeneratefigures",{"2":{"194":1}}],["变更为registerindicator",{"2":{"191":1}}],["变更为removeindicator",{"2":{"192":1}}],["变更为overrideindicator",{"2":{"192":1}}],["变更为setoffsetrightdistance",{"2":{"192":1}}],["变更为setstyles",{"2":{"192":1}}],["变更为getindicatorbypaneid",{"2":{"192":1}}],["变更为getstyles",{"2":{"192":1}}],["变更为getdom",{"2":{"192":1}}],["变更为支持任意类型",{"2":{"30":1}}],["变更",{"2":{"30":1}}],["bc1qnwzukszzk5xfk0zs3sr8etzgctgnrtqts43jzp3khe6gm7xazprsp4y6n3",{"2":{"229":1}}],["btc",{"2":{"229":1}}],["berlin",{"2":{"223":2}}],["be",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["beginpath",{"2":{"110":3}}],["built",{"2":{"221":1}}],["build",{"2":{"213":16}}],["button",{"2":{"215":24,"217":9,"219":9,"220":14,"221":9,"222":9,"223":9,"224":26}}],["buttoncontainer",{"2":{"215":7,"217":4,"219":4,"220":7,"221":4,"222":4,"223":4}}],["bun",{"2":{"181":1}}],["blank和klinecharts",{"2":{"187":1}}],["blue",{"2":{"185":1}}],["bmp",{"2":{"173":1}}],["bbi",{"2":{"115":1}}],["brar",{"2":{"115":1}}],["bias",{"2":{"115":1}}],["b中的k和b",{"2":{"76":1}}],["b",{"2":{"69":2}}],["bash",{"2":{"212":1}}],["bashbun",{"2":{"181":1}}],["bashpnpm",{"2":{"181":1}}],["bashyarn",{"2":{"181":1}}],["bashnpm",{"2":{"181":1}}],["base",{"2":{"224":1}}],["basetitle",{"2":{"224":3}}],["basebuttoncontainer",{"2":{"224":6}}],["baseprice",{"2":{"215":3,"216":3,"217":3,"218":3,"219":3,"220":3,"221":3,"222":3,"223":3,"224":3}}],["baseline",{"2":{"84":2,"90":2,"104":1}}],["basevalue",{"2":{"53":2,"117":1,"152":2,"153":2}}],["background",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["backgroundcolor",{"0":{"173":1},"2":{"90":2,"104":1,"173":2,"185":7,"222":2}}],["backward",{"2":{"151":1}}],["barcount",{"0":{"140":1,"141":1},"2":{"140":1,"141":1}}],["barspace",{"2":{"53":3,"117":3,"152":1,"153":1,"178":1,"194":1,"220":2}}],["bars",{"2":{"30":1,"185":1,"189":1,"222":2}}],["bar变更为indicator",{"2":{"30":1,"189":1}}],["bar",{"2":{"24":6,"117":1,"178":1,"185":1,"222":2}}],["body>",{"2":{"182":2}}],["boll",{"2":{"115":1,"153":2,"220":1}}],["border",{"2":{"215":2,"217":2,"219":2,"220":2,"221":2,"222":2,"223":2,"224":2}}],["borderradius",{"2":{"89":2,"90":2,"103":1,"104":1,"185":8}}],["borderdashedvalue",{"2":{"86":2,"88":2,"89":2,"90":2,"100":1,"102":1,"103":1,"104":1,"110":2,"153":2,"185":11,"222":4}}],["bordersize是边框尺寸",{"2":{"109":1}}],["bordersize",{"2":{"86":2,"88":2,"89":2,"90":2,"100":1,"102":1,"103":1,"104":1,"109":1,"110":2,"153":2,"185":13,"222":4}}],["borderstyle是边框样式",{"2":{"109":1}}],["borderstyle",{"2":{"30":4,"86":2,"88":2,"89":2,"90":2,"100":1,"102":1,"103":1,"104":1,"109":1,"110":2,"153":2,"185":11,"222":4}}],["bordercolor是边框颜色",{"2":{"109":1}}],["bordercolor",{"2":{"86":2,"88":2,"89":2,"90":2,"100":1,"102":1,"103":1,"104":1,"109":1,"110":2,"185":10}}],["boolean",{"2":{"44":2,"50":1,"53":4,"55":25,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"107":1,"117":4,"132":1,"133":1,"134":1,"135":1,"145":1,"146":1,"151":1,"152":7,"153":4,"156":38,"158":19,"167":2,"171":1,"172":1,"173":1,"178":21}}],["bottom",{"2":{"37":1,"39":1,"44":2,"84":1,"90":1,"117":2,"126":1,"152":4,"167":3,"178":1}}],["bounding",{"2":{"37":1,"53":3,"117":4,"152":1,"153":1,"178":1,"194":2}}],["li888",{"2":{"225":1}}],["light",{"2":{"222":3}}],["link",{"2":{"214":1}}],["lint",{"2":{"213":2}}],["liner",{"2":{"215":1}}],["linecolor",{"2":{"185":1}}],["linewidth",{"2":{"110":1}}],["lineto",{"2":{"110":6}}],["linesize",{"2":{"185":1}}],["lines",{"2":{"30":1,"153":1,"185":1,"189":1}}],["line变更为indicator",{"2":{"30":1,"189":1}}],["line",{"0":{"81":1,"87":1,"101":1},"2":{"1":1,"81":1,"87":2,"98":1,"119":2,"120":3,"156":1,"158":1,"185":4,"215":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":3,"222":4,"223":2,"224":2}}],["liihuu",{"2":{"203":2}}],["let",{"2":{"215":3,"216":3,"217":3,"218":3,"219":3,"220":4,"221":3,"222":3,"223":3,"224":3}}],["length",{"2":{"179":1,"185":2,"215":3,"216":3,"217":3,"218":4,"219":3,"220":3,"221":4,"222":3,"223":3,"224":3}}],["left",{"2":{"37":1,"84":1,"90":1,"117":2,"126":1,"178":1,"185":5,"215":2}}],["loadmoretimer",{"2":{"218":1}}],["loadmore",{"0":{"150":1},"2":{"218":1}}],["lock",{"2":{"55":2,"156":3,"158":3,"178":1}}],["locales",{"0":{"46":1},"2":{"46":2,"112":1}}],["locale",{"0":{"46":1},"2":{"44":2,"46":2}}],["low",{"2":{"42":1,"46":1,"112":1,"145":1,"146":1,"147":1,"148":1,"182":70,"185":3,"215":3,"216":3,"217":3,"218":5,"219":4,"220":3,"221":3,"222":3,"223":3,"224":3}}],["logo",{"2":{"225":1}}],["logarithm",{"2":{"215":1}}],["log",{"2":{"31":1,"32":1,"33":1,"156":14,"158":14,"185":1,"215":1}}],["lang",{"2":{"219":2}}],["lang=",{"2":{"182":1}}],["labels和candle",{"2":{"189":1}}],["layout",{"2":{"38":1,"39":1,"44":2}}],["lastdata",{"2":{"218":2}}],["lastvaluemark",{"2":{"30":1,"185":1}}],["last",{"2":{"30":1,"185":1,"222":2,"224":1}}],["span",{"2":{"220":2,"224":2}}],["space",{"0":{"142":1},"2":{"142":1,"192":1}}],["sub",{"2":{"220":1}}],["subtitle",{"2":{"220":4}}],["subindicators",{"2":{"220":2}}],["subscribeaction",{"0":{"169":1},"2":{"1":1,"145":1,"147":1,"192":1}}],["smooth",{"2":{"185":7}}],["sma",{"2":{"115":1}}],["svelte",{"2":{"182":1}}],["src=",{"2":{"181":1,"182":1}}],["sqrt",{"2":{"179":1,"221":1}}],["samplecircle",{"2":{"179":2}}],["sar",{"2":{"115":1}}],["script>",{"2":{"181":1,"182":6}}],["script",{"2":{"181":1,"182":2}}],["scrolltotimestamp",{"0":{"163":1}}],["scrolltodataindex",{"0":{"162":1}}],["scrolltorealtime",{"0":{"161":1}}],["scrollbydistance",{"0":{"160":1}}],["scrollzoomenabled",{"2":{"44":1,"152":3,"167":3}}],["scale=1",{"2":{"182":1}}],["scale",{"0":{"164":1,"165":1,"166":1},"2":{"164":2,"165":2,"166":2}}],["sort",{"2":{"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["solid是实线",{"2":{"109":1}}],["solid",{"2":{"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"110":1,"152":2,"153":5,"156":1,"158":1,"182":1,"185":37,"217":2,"222":4}}],["source",{"0":{"62":1},"2":{"62":1}}],["situation",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["simple",{"2":{"187":1}}],["simpletag",{"2":{"176":1}}],["simpleannotation",{"2":{"176":1,"201":1}}],["sign",{"0":{"73":1},"2":{"73":1}}],["size",{"0":{"75":1},"2":{"30":2,"75":1,"84":2,"85":2,"87":2,"90":2,"99":1,"101":1,"104":1,"153":1,"156":1,"158":1,"185":31,"189":2,"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["ss",{"2":{"72":1}}],["separator",{"2":{"185":1}}],["selector",{"2":{"182":1}}],["segment",{"2":{"156":3,"158":3,"176":1}}],["series",{"2":{"53":2,"117":1,"152":1,"153":3}}],["setindicatortooltipshowtype",{"2":{"224":2}}],["setindicatortooltipshowrule",{"2":{"224":2}}],["setinside",{"2":{"215":2}}],["setcandletooltipshowtype",{"2":{"224":2}}],["setcandletooltipshowrule",{"2":{"224":2}}],["setcustomapi",{"2":{"30":1}}],["setmainindicator",{"2":{"220":2}}],["setmaxoffsetrightdistance",{"0":{"139":1}}],["setmaxoffsetleftdistance",{"0":{"138":1}}],["setreverse",{"2":{"215":2}}],["setrightminvisiblebarcount",{"0":{"141":1}}],["settheme",{"2":{"222":2}}],["settimeout",{"2":{"218":2}}],["settimezone",{"0":{"130":1},"2":{"223":3}}],["settype",{"2":{"215":2,"217":2}}],["setoffsetrightspace",{"2":{"192":1}}],["setoffsetrightdistance",{"0":{"136":1}}],["setup>",{"2":{"182":1}}],["setbarspace",{"0":{"142":1}}],["setsubindicator",{"2":{"220":2}}],["setstyleoptions",{"2":{"192":1}}],["setstyles",{"0":{"127":1},"2":{"198":1,"215":4,"217":1,"222":1,"224":4}}],["setscrollenabled",{"0":{"134":1}}],["setzoomenabled",{"0":{"132":1}}],["setposition",{"2":{"215":2}}],["setpricevolumeprecision",{"0":{"129":1}}],["setpaneoptions",{"0":{"41":1,"167":1},"2":{"38":1,"167":1}}],["setlang",{"2":{"219":2}}],["setloaddatacallback",{"0":{"151":1},"2":{"150":1}}],["setlocale",{"2":{"30":1,"219":1}}],["setleftminvisiblebarcount",{"0":{"140":1}}],["setlinedash",{"2":{"110":2}}],["shape",{"2":{"188":1}}],["shanghai",{"2":{"44":1,"130":1,"223":2}}],["shift",{"2":{"95":4}}],["showparams",{"2":{"185":1}}],["showtype",{"2":{"185":2,"224":4}}],["showrule",{"2":{"185":2,"224":4}}],["show",{"2":{"185":27}}],["showname",{"2":{"153":1,"185":1}}],["shouldformatbignumber",{"2":{"53":2,"117":1,"152":1,"153":3}}],["shouldohlc",{"2":{"53":2,"117":1,"152":1,"153":3}}],["shortname",{"2":{"53":2,"117":1,"120":1,"152":1,"153":2}}],["standard",{"2":{"185":4,"224":2}}],["start",{"2":{"84":1,"90":1,"182":3}}],["startangle",{"2":{"79":2,"85":2,"99":1}}],["straightline",{"2":{"176":1}}],["strokestyle",{"2":{"110":1}}],["stroke只有边框",{"2":{"109":1}}],["stroke",{"2":{"86":2,"88":2,"89":2,"90":2,"100":2,"102":2,"103":2,"104":2,"109":2,"110":4,"152":4,"153":4,"179":1,"185":25,"217":6,"221":1}}],["strong",{"2":{"55":2,"156":2,"158":2,"178":2}}],["string>",{"2":{"44":1}}],["string",{"2":{"37":5,"44":11,"45":1,"46":7,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":16,"54":1,"55":13,"56":1,"57":3,"58":3,"59":1,"69":1,"70":2,"71":2,"72":2,"73":3,"74":2,"75":3,"84":3,"85":1,"86":2,"87":1,"88":2,"89":2,"90":5,"99":1,"100":2,"101":1,"102":2,"103":2,"104":5,"107":1,"117":14,"125":1,"126":1,"127":1,"130":1,"131":1,"152":22,"153":19,"154":2,"155":2,"156":10,"157":1,"158":4,"159":4,"167":2,"171":1,"172":1,"173":3,"178":6}}],["style=",{"2":{"182":7,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["style是样式类型",{"2":{"109":1}}],["style",{"2":{"85":2,"86":2,"87":2,"88":2,"89":2,"90":2,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"109":1,"110":5,"152":2,"153":5,"156":1,"158":1,"179":1,"185":23,"220":1,"221":1,"222":6}}],["styles",{"0":{"49":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"127":1},"2":{"44":2,"49":2,"50":2,"53":4,"55":8,"84":2,"85":2,"86":2,"87":2,"88":2,"89":2,"90":2,"91":2,"97":2,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"110":4,"117":2,"127":2,"152":3,"153":5,"156":3,"158":3,"178":3,"179":1,"183":1,"192":2,"194":1,"221":1}}],["style选项变更为solid和dashed",{"2":{"30":1}}],["rules",{"2":{"224":3}}],["run",{"2":{"213":10}}],["rise",{"2":{"222":6}}],["rippleradius",{"2":{"185":1}}],["ripplecolor",{"2":{"185":1}}],["right",{"2":{"37":1,"84":1,"90":1,"117":2,"126":1,"178":1,"185":4,"215":2}}],["rigisteroverlay",{"2":{"30":1}}],["rgba",{"2":{"185":17,"222":2}}],["random",{"2":{"215":4,"216":4,"217":4,"218":6,"219":4,"220":5,"221":4,"222":4,"223":4,"224":4}}],["range",{"2":{"37":2}}],["radius",{"2":{"179":2,"185":2,"215":1,"217":1,"219":1,"220":1,"221":3,"222":1,"223":1,"224":1}}],["rayline",{"2":{"176":1}}],["round",{"2":{"215":3,"216":3,"217":3,"218":4,"219":3,"220":3,"221":3,"222":3,"223":3,"224":3}}],["root",{"2":{"125":1,"126":1}}],["roc",{"2":{"115":1}}],["rsi",{"2":{"115":1}}],["r",{"2":{"79":2,"80":2,"85":2,"86":2,"99":1,"100":1,"179":1,"221":1}}],["red",{"2":{"222":15}}],["result",{"2":{"220":3}}],["resize",{"0":{"174":1}}],["reverse",{"2":{"185":1,"215":5}}],["react",{"2":{"182":1}}],["reactvueangularpreactsolidsveltevanilla",{"2":{"182":1}}],["realdataindex",{"2":{"117":1}}],["realx",{"2":{"117":1}}],["realrange",{"2":{"37":1}}],["realto",{"2":{"37":1,"117":2,"144":1}}],["realfrom",{"2":{"37":1,"117":2,"144":1}}],["reference",{"2":{"178":1}}],["return",{"2":{"110":1,"120":4,"156":1,"158":1,"179":2,"182":5,"215":1,"216":1,"217":1,"218":1,"219":1,"220":3,"221":3,"222":1,"223":1,"224":1}}],["regularity",{"2":{"215":1}}],["regeneratefigures",{"2":{"53":2,"117":1,"120":1,"152":1,"153":3}}],["registerfigure全局添加",{"2":{"106":1}}],["registerfigure",{"0":{"50":1}}],["registeryaxis",{"0":{"58":1},"2":{"36":1,"152":1}}],["registerxaxis",{"0":{"57":1},"2":{"36":1}}],["registerstyles注册的样式名",{"2":{"44":1}}],["registerstyles",{"0":{"49":1},"2":{"30":1,"222":3}}],["registerlocale",{"0":{"46":1},"2":{"30":1,"112":2,"219":2}}],["registeroverlay",{"0":{"55":1},"2":{"5":1,"177":1,"221":2}}],["registerindicator全局添加",{"2":{"116":1}}],["registerindicator",{"0":{"53":1},"2":{"5":1,"220":2}}],["removetechnicalindicator",{"2":{"192":1}}],["removetag",{"2":{"30":1,"192":1}}],["remove",{"0":{"159":1},"2":{"159":1}}],["removeindicator",{"0":{"155":1}}],["removehtml",{"2":{"30":1,"192":1}}],["removeannotation",{"2":{"30":1,"192":1}}],["removeoverlay",{"0":{"159":1},"2":{"30":1}}],["recttext",{"0":{"91":1,"105":1},"2":{"98":1,"185":1}}],["rect",{"0":{"83":1,"89":1,"103":1},"2":{"1":1,"24":2,"83":2,"89":2,"98":1,"117":1,"185":4,"210":1,"224":2}}],["滚动到指定时间戳",{"2":{"163":1}}],["滚动到指定的位置",{"2":{"162":1}}],["滚动到最初的位置",{"2":{"161":1}}],["滚动一定的距离",{"2":{"160":1}}],["滚动",{"2":{"30":1}}],["新特性",{"2":{"30":1}}],["新增candle",{"2":{"30":1}}],["新增实例方法",{"2":{"30":1}}],["新增基图表方法registerfigure",{"2":{"30":1}}],["新增y轴方向缩放",{"2":{"30":1}}],["新增figurekey和figureindex",{"2":{"25":1}}],["新增options",{"2":{"21":1}}],["新增图表api",{"2":{"21":1}}],["新增属性modesensitivity",{"2":{"19":1}}],["新增",{"2":{"7":1}}],["新增回调参数",{"2":{"1":1}}],["日志输出",{"2":{"24":1}}],["ue900",{"2":{"185":2}}],["utf",{"2":{"182":1}}],["utils",{"0":{"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1},"1":{"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1},"2":{"21":1,"24":2,"193":1}}],["umd",{"2":{"181":2,"182":1,"213":11}}],["unsubscribeaction",{"0":{"170":1}}],["usdt",{"2":{"229":2}}],["useeffect",{"2":{"182":4}}],["us和zh",{"2":{"111":1}}],["us",{"2":{"44":1,"46":1,"111":1,"219":1}}],["up",{"2":{"185":1,"217":2}}],["upcolor",{"2":{"153":2,"185":5,"222":10}}],["updatedata",{"0":{"147":1},"2":{"218":4}}],["upwickcolor",{"2":{"24":1,"185":1,"222":2}}],["upbordercolor",{"2":{"24":1,"185":1,"222":2}}],["fruits",{"2":{"220":2}}],["from",{"2":{"37":1,"117":2,"144":1,"182":11,"187":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":3,"221":1,"222":1,"223":1,"224":1}}],["flex",{"2":{"215":2,"217":2,"219":2,"220":2,"221":2,"222":2,"223":2,"224":2}}],["floor",{"2":{"215":1,"216":1,"217":1,"218":1,"219":1,"220":2,"221":1,"222":1,"223":1,"224":1}}],["fefefe",{"2":{"185":1}}],["f2f3f5",{"2":{"185":1}}],["foxmail",{"2":{"225":1}}],["font",{"2":{"215":1,"217":1,"219":1,"220":2,"221":1,"222":1,"223":1,"224":1}}],["fontfamily",{"2":{"185":2}}],["following",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["follow",{"2":{"185":2,"224":2}}],["for",{"2":{"215":3,"216":2,"217":3,"218":2,"219":3,"220":4,"221":3,"222":3,"223":3,"224":3}}],["forward",{"2":{"151":1}}],["foreach",{"2":{"120":1,"215":4,"217":1,"219":1,"220":2,"221":1,"222":1,"223":1,"224":4}}],["formatfolddecimal",{"0":{"74":1}}],["formatthousands",{"0":{"73":1}}],["format格式",{"2":{"72":1}}],["formatprecision",{"0":{"70":1}}],["formatvalue",{"0":{"69":1},"2":{"69":1}}],["format",{"0":{"72":1},"2":{"44":1,"72":1}}],["formatdate",{"0":{"72":1},"2":{"44":2}}],["formatbignumber",{"0":{"71":1},"2":{"24":1,"44":2}}],["fff",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["ffffff",{"2":{"173":1,"185":6,"222":1}}],["ff9600",{"2":{"153":1,"185":1}}],["function",{"2":{"156":14,"158":14,"182":1,"215":5,"216":1,"217":2,"218":2,"219":2,"220":3,"221":2,"222":2,"223":2,"224":5}}],["f00",{"2":{"156":1,"158":1}}],["fish2016",{"2":{"207":1}}],["fixed",{"2":{"185":2}}],["fibonacciline",{"2":{"176":1}}],["finder",{"0":{"171":1,"172":1},"2":{"171":2,"172":2,"192":2}}],["filltext",{"2":{"220":1}}],["fillstyle",{"2":{"110":1}}],["fill又有边框又有背景",{"2":{"109":1}}],["fill只有背景",{"2":{"109":1}}],["fill`",{"2":{"100":1,"102":1,"103":1,"104":1}}],["fill",{"2":{"86":2,"88":2,"89":2,"90":2,"100":2,"102":2,"103":2,"104":2,"109":2,"110":5,"152":4,"153":6,"179":1,"185":34,"221":1,"222":4}}],["figure",{"0":{"50":1},"2":{"50":2,"52":1,"97":2,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"210":1}}],["figures",{"2":{"1":1,"53":2,"117":1,"119":2,"120":3,"152":1,"153":3,"220":1}}],["fall",{"2":{"222":6}}],["false",{"2":{"40":1,"152":1,"153":1,"156":5,"158":5,"185":11,"215":2,"220":1,"224":1}}],["family",{"0":{"75":1},"2":{"75":1,"84":2,"90":2,"104":1,"185":10}}],["f92855",{"2":{"23":1,"185":4,"222":1}}],["erc20",{"2":{"229":1}}],["eth",{"2":{"229":1}}],["europe",{"2":{"223":1}}],["esm",{"2":{"213":5}}],["e11d74",{"2":{"185":1}}],["ededed",{"2":{"185":2}}],["extension",{"2":{"191":1}}],["extenddata",{"2":{"5":1,"53":2,"55":2,"117":1,"152":1,"153":3,"156":3,"158":3,"178":1}}],["export",{"2":{"182":4}}],["executeaction",{"0":{"168":1}}],["ef5350",{"2":{"153":2}}],["ef5350变更为",{"2":{"23":1}}],["english",{"2":{"219":1}}],["en",{"2":{"219":1}}],["enabled",{"0":{"132":1,"134":1},"2":{"132":1,"134":1}}],["end",{"2":{"84":1,"90":1}}],["endangle",{"2":{"79":2,"85":2,"99":1}}],["emoji",{"2":{"220":3}}],["ema",{"2":{"115":1}}],["emv",{"2":{"42":1,"115":1}}],["else",{"2":{"110":1,"222":1}}],["event",{"2":{"55":14,"156":56,"158":42,"178":14}}],["↩️",{"2":{"18":1}}],["样式",{"2":{"53":1,"55":1,"84":1,"85":1,"86":2,"87":1,"88":2,"89":2,"90":2,"97":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"109":1,"117":5,"153":1,"158":1,"178":3}}],["样式名",{"2":{"49":1}}],["样式列表",{"2":{"44":1}}],["样式配置调整",{"0":{"189":1}}],["样式配置",{"0":{"183":1},"1":{"184":1,"185":1},"2":{"30":3,"49":1,"127":1}}],["样式配置新增candle",{"2":{"24":1}}],["样式配置candle",{"2":{"18":1,"19":1}}],["样式candle",{"2":{"14":1}}],["v9",{"0":{"186":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1}}],["v8",{"0":{"186":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1}}],["var",{"2":{"182":1}}],["values",{"2":{"53":1,"117":1,"152":1,"153":1,"189":1,"194":1}}],["value",{"0":{"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"73":1,"74":1,"152":1,"156":1,"171":1},"2":{"14":1,"21":1,"37":2,"38":1,"44":1,"53":1,"55":1,"57":1,"58":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"70":1,"71":1,"73":1,"74":1,"117":1,"152":3,"153":1,"156":6,"158":3,"171":5,"172":2,"178":3,"185":13,"192":5,"194":2}}],["vite",{"2":{"214":1}}],["view",{"2":{"210":2}}],["viewport",{"2":{"182":1,"194":2}}],["visiblerange",{"2":{"117":2,"194":2,"220":2}}],["visible",{"2":{"53":2,"55":2,"117":1,"152":1,"153":3,"156":3,"158":3,"178":1}}],["vue",{"2":{"182":1}}],["vr",{"2":{"115":1}}],["v10之后会删除",{"2":{"91":1,"105":1}}],["version",{"0":{"59":1}}],["verticalstraightline",{"2":{"176":1}}],["verticalsegment",{"2":{"176":1}}],["verticalrayline",{"2":{"176":1}}],["vertical",{"2":{"15":1,"30":1,"185":2}}],["vol",{"2":{"115":1,"220":1,"222":1,"224":1}}],["volumeprecision",{"0":{"129":1},"2":{"129":2,"197":1}}],["volume",{"2":{"42":1,"46":1,"53":2,"112":1,"117":1,"129":1,"145":1,"146":1,"147":1,"148":1,"152":1,"153":2,"178":1,"182":70,"185":2,"215":3,"216":3,"217":3,"218":4,"219":4,"220":3,"221":3,"222":3,"223":3,"224":3}}],["void",{"2":{"45":1,"46":1,"49":1,"50":2,"53":1,"55":3,"57":1,"58":1,"62":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"107":1,"129":1,"130":1,"132":1,"134":1,"136":1,"138":1,"139":1,"140":1,"141":1,"142":1,"145":2,"146":2,"147":2,"149":1,"150":2,"151":3,"152":1,"153":2,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":2,"169":2,"170":2,"174":1,"178":2,"182":2}}],["4px",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["430px",{"2":{"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["45",{"2":{"185":3,"222":1}}],["42",{"2":{"182":7}}],["4986",{"2":{"182":7}}],["4980",{"2":{"182":7}}],["4988",{"2":{"182":7}}],["4985",{"2":{"182":7}}],["4981",{"2":{"182":14}}],["4964",{"2":{"182":21}}],["4961",{"2":{"182":35}}],["4963",{"2":{"182":7}}],["4962",{"2":{"182":7}}],["4968",{"2":{"182":14}}],["4966",{"2":{"182":14}}],["4975",{"2":{"182":7}}],["4974",{"2":{"182":7}}],["4973",{"2":{"182":14}}],["4971",{"2":{"182":7}}],["4979",{"2":{"182":21}}],["4972",{"2":{"182":21}}],["4970",{"2":{"182":7}}],["4977",{"2":{"182":42}}],["4976",{"2":{"182":14}}],["40",{"2":{"115":1,"185":3,"222":1}}],["4",{"0":{"15":1,"20":1,"35":1},"2":{"35":1,"153":1,"185":48,"215":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2,"222":2,"223":2,"224":2}}],["items",{"2":{"215":1,"217":3,"219":3,"220":1,"221":3,"222":3,"223":3,"224":1}}],["i++",{"2":{"215":1,"216":1,"217":1,"218":1,"219":1,"220":2,"221":1,"222":1,"223":1,"224":1}}],["iconfont",{"2":{"185":2}}],["icon",{"2":{"185":4}}],["icons",{"2":{"30":2,"185":2}}],["implements",{"2":{"182":1}}],["import",{"2":{"182":7,"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["i",{"2":{"120":5,"215":2,"216":2,"217":2,"218":2,"219":2,"220":6,"221":2,"222":2,"223":2,"224":2}}],["if",{"2":{"110":3,"120":1,"179":1,"221":1,"222":2}}],["ignoreevent",{"2":{"55":6,"178":2}}],["id=",{"2":{"182":7,"215":2,"216":1,"217":2,"218":1,"219":2,"220":2,"221":2,"222":2,"223":2,"224":2}}],["ideographic",{"2":{"84":1,"90":1}}],["id",{"0":{"157":1},"2":{"41":1,"44":1,"152":3,"156":3,"157":2,"158":3,"159":2,"167":3,"185":4,"192":2,"220":1,"224":1}}],["info",{"2":{"224":2}}],["innertext",{"2":{"215":4,"217":1,"219":1,"220":4,"221":1,"222":1,"223":1,"224":6}}],["in",{"2":{"215":2,"217":2,"219":2,"220":2,"221":3,"222":2,"223":2,"224":2}}],["index",{"2":{"187":2,"214":1,"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["indicatortitle",{"2":{"224":3}}],["indicatorbuttoncontainer",{"2":{"224":6}}],["indicatorfigure",{"2":{"117":1}}],["indicatorfigurestyle",{"2":{"117":1}}],["indicatorfigureattrs",{"2":{"117":1}}],["indicatorfigureattrscallbackcoordinate",{"2":{"117":1}}],["indicatorfigureattrscallbackdata",{"2":{"117":1}}],["indicatorstyle",{"2":{"117":4}}],["indicatordata",{"2":{"117":3}}],["indicator",{"0":{"53":1},"2":{"7":1,"30":2,"44":2,"53":5,"117":8,"152":3,"153":3,"185":1,"194":3,"220":4,"222":2,"224":3}}],["insideoutside",{"2":{"215":2}}],["inside",{"2":{"185":1,"215":3}}],["install",{"2":{"181":2,"212":1}}],["includeoverlay",{"0":{"173":1},"2":{"173":2}}],["intl",{"2":{"44":1,"72":1,"178":2}}],["initial",{"2":{"182":1}}],["init",{"0":{"39":1,"44":1},"2":{"38":1,"113":1,"182":12,"215":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2,"222":2,"223":2,"224":2}}],["is",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["isdashed合并成styles",{"2":{"194":1}}],["issues",{"2":{"203":2}}],["isscrollenabled",{"0":{"135":1}}],["isstroke",{"2":{"194":1}}],["isstring",{"0":{"63":1}}],["isstack",{"0":{"152":1},"2":{"14":1,"21":1,"38":1,"152":2,"192":2}}],["iszoomenabled",{"0":{"133":1}}],["isboolean",{"0":{"68":1}}],["isfunction",{"0":{"67":1}}],["isobject",{"0":{"66":1}}],["isvalid",{"0":{"65":1}}],["isvalid和klinecharts",{"2":{"24":1}}],["isnumber",{"0":{"64":1}}],["dts",{"2":{"213":2}}],["d9d9d9",{"2":{"185":6}}],["d>>",{"2":{"117":1}}],["dma",{"2":{"115":1}}],["dmi",{"2":{"115":1}}],["div>",{"2":{"182":1,"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["div",{"2":{"182":7,"215":3,"216":1,"217":3,"218":1,"219":3,"220":3,"221":3,"222":3,"223":3,"224":4}}],["display",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":2}}],["dispose",{"0":{"45":1},"2":{"182":11}}],["discussions",{"2":{"203":2}}],["dist",{"2":{"181":1,"182":1}}],["distance",{"0":{"136":1,"160":1},"2":{"136":1,"138":1,"139":1,"160":2,"161":1,"192":1}}],["diamond",{"2":{"110":1}}],["dark",{"2":{"222":3}}],["dashvalue更改为dashedvalue",{"2":{"189":1}}],["dashed是虚线",{"2":{"109":1}}],["dashedvalue是虚线值",{"2":{"109":1}}],["dashedvalue",{"2":{"85":2,"87":2,"99":1,"101":1,"109":1,"153":1,"156":1,"158":1,"185":12}}],["dashed",{"2":{"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"110":1,"152":2,"153":2,"185":22}}],["date",{"2":{"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["datetimeformat",{"0":{"72":1},"2":{"44":2,"72":2,"178":3}}],["datasource",{"2":{"194":2}}],["dataindex",{"0":{"162":1,"165":1},"2":{"55":1,"117":1,"156":2,"158":1,"162":2,"165":2,"171":3,"172":2,"178":3}}],["datalist",{"0":{"145":1,"146":1},"2":{"42":2,"53":1,"117":1,"145":2,"146":2,"151":1,"152":1,"153":1,"215":3,"216":3,"217":3,"218":6,"219":3,"220":3,"221":3,"222":3,"223":3,"224":3}}],["data",{"0":{"147":1,"168":1},"2":{"1":1,"42":1,"53":3,"69":1,"117":2,"147":2,"151":2,"152":3,"153":3,"168":2,"169":1,"170":1,"220":3}}],["dd",{"2":{"72":1}}],["drawtext",{"0":{"90":1},"2":{"91":2}}],["drawrecttext",{"0":{"91":1}}],["drawrect",{"0":{"89":1}}],["drawpolygon",{"0":{"88":1}}],["drawline",{"0":{"87":1}}],["drawcircle",{"0":{"86":1}}],["drawarc",{"0":{"85":1}}],["draw",{"2":{"50":2,"53":2,"97":1,"107":1,"110":1,"117":1,"152":1,"153":3,"220":1}}],["dragenabled",{"2":{"44":1,"152":3,"167":3}}],["dcs",{"0":{"45":1},"2":{"45":2}}],["document",{"2":{"215":6,"217":3,"219":3,"220":6,"221":3,"222":5,"223":3,"224":9}}],["doctype",{"2":{"182":1}}],["docs",{"2":{"178":1}}],["domid",{"2":{"39":2}}],["down",{"2":{"185":1,"217":2}}],["downcolor",{"2":{"153":2,"185":5,"222":10}}],["downwickcolor",{"2":{"24":1,"185":1,"222":2}}],["downbordercolor",{"2":{"24":1,"185":1,"222":2}}],["demonstration",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["dev",{"2":{"213":3}}],["developer",{"2":{"178":1}}],["description",{"2":{"182":1}}],["decimalfoldthreshold",{"2":{"44":2,"178":1}}],["default",{"2":{"152":1,"167":1,"182":3}}],["defaultvalue",{"0":{"69":1},"2":{"69":1,"185":2}}],["defaultstyles",{"2":{"53":2,"117":3,"152":2,"153":2,"178":1,"194":3}}],["defaultticks",{"2":{"37":1}}],["defaultzlevel和zlevel",{"2":{"20":1}}],["deeprequired",{"2":{"25":1}}],["ds",{"0":{"44":1},"2":{"14":1,"38":1,"44":2,"183":1}}],["图解说明",{"0":{"184":1}}],["图形辅助api",{"0":{"193":1}}],["图形类型",{"2":{"117":1,"178":1}}],["图形的样式",{"2":{"107":2}}],["图形的属性",{"2":{"107":2}}],["图形配置",{"2":{"53":1,"153":1}}],["图形名字",{"2":{"107":1}}],["图形名",{"2":{"52":1}}],["图形属性支持数组",{"2":{"7":1}}],["图表支持自定义技术指标",{"2":{"200":1}}],["图表支持自定义坐标轴",{"2":{"36":1}}],["图表默认价格精度为两位小数",{"2":{"197":1}}],["图表总是会填充容器",{"2":{"196":1}}],["图表之间的分割线",{"2":{"185":1}}],["图表上看到的不管是点还是线",{"2":{"183":1}}],["图表上所有的元素都是由基础图形组成",{"2":{"96":1}}],["图表不会重绘",{"2":{"149":1}}],["图表内置了基础图形",{"2":{"179":1}}],["图表内置了这些基础图形",{"2":{"98":1}}],["图表内置了zh",{"2":{"46":1}}],["图表基于",{"2":{"93":1}}],["图表将不再可用",{"2":{"45":1}}],["图表所需要的数据必须是固定格式",{"2":{"42":1}}],["图表实例方法subscribeaction和unsubscribeaction类型新增oncandlebarclick",{"2":{"28":1}}],["图表api",{"0":{"43":1,"191":1},"1":{"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1},"2":{"21":1}}],["图表方法extension",{"2":{"30":2}}],["图表方法新增getoverlayclass",{"2":{"18":1}}],["图表方法init",{"2":{"14":1}}],["显示",{"2":{"11":1}}],["me",{"2":{"204":1}}],["meta",{"2":{"182":5}}],["merge",{"0":{"62":1}}],["merge实现",{"2":{"14":1}}],["mtm",{"2":{"115":1}}],["middle",{"2":{"84":1,"90":1,"185":2}}],["min",{"2":{"181":1,"182":1,"218":1}}],["minheight",{"2":{"44":1,"152":3,"167":3}}],["minvalue",{"2":{"11":1,"53":2,"117":1,"152":1,"153":3}}],["mm",{"2":{"72":2}}],["mozilla",{"2":{"178":1}}],["moveto",{"2":{"110":2}}],["modesensitivity",{"2":{"55":2,"156":3,"158":3,"178":1}}],["mode",{"2":{"55":3,"156":3,"158":4,"178":3}}],["more",{"0":{"145":1,"146":1},"2":{"42":2,"145":2,"146":2,"151":1}}],["max",{"2":{"218":1}}],["maxvalue",{"2":{"11":1,"53":2,"117":1,"152":1,"153":3}}],["made",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["maintitle",{"2":{"220":3}}],["mainindicators",{"2":{"220":2}}],["main和yaxis",{"2":{"192":1}}],["main",{"2":{"125":2,"126":2,"220":1}}],["map",{"2":{"120":2,"220":1}}],["ma5",{"2":{"119":2,"120":1}}],["ma2",{"2":{"119":2,"120":2}}],["ma10",{"2":{"119":3,"120":1}}],["ma1",{"2":{"119":3,"120":2}}],["macd",{"2":{"115":1,"220":1}}],["math",{"2":{"110":2,"179":3,"215":8,"216":8,"217":8,"218":13,"219":8,"220":10,"221":11,"222":8,"223":8,"224":8}}],["magnet`",{"2":{"178":2}}],["magnet",{"2":{"55":5,"156":5,"158":6,"178":5}}],["ma",{"2":{"40":1,"115":1,"118":1,"119":1,"120":5,"152":1,"220":1,"224":1}}],["marginbottom",{"2":{"185":4}}],["marginright",{"2":{"185":4}}],["margintop",{"2":{"185":4}}],["marginleft",{"2":{"185":4}}],["margin",{"2":{"30":2,"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":2}}],["marginend",{"2":{"30":2,"185":2,"189":2}}],["marginstart",{"2":{"30":2,"185":2,"189":2}}],["导致图表无法初始化问题",{"2":{"9":1}}],["导致小数折叠不对问题",{"2":{"5":1}}],["可用于扩展字段",{"2":{"178":1}}],["可缺省",{"2":{"145":1,"146":1,"152":5,"154":1,"156":1,"164":1,"167":4,"173":3,"178":16}}],["可见区域信息",{"2":{"117":2}}],["可选项为`normal`",{"2":{"178":1}}],["可选项为",{"2":{"169":1,"170":1}}],["可选项`fill`",{"2":{"100":1,"102":1,"103":1,"104":1}}],["可选项`solid`",{"2":{"99":1,"101":1}}],["可选项有",{"2":{"53":1,"55":1,"153":1,"158":1}}],["可选配置项",{"2":{"44":1}}],["可以使用覆盖物",{"2":{"201":1}}],["可以直接使用",{"2":{"179":1}}],["可以缺省",{"2":{"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1}}],["可以通过图表api",{"2":{"113":1}}],["可以通过图表方法createindicator或者overrideindicator重写calc即可",{"2":{"199":1}}],["可以通过图表方法init",{"2":{"183":1}}],["可以通过图表方法",{"2":{"36":1}}],["可以这样做",{"2":{"112":1}}],["可以参考下面的方案",{"2":{"111":1}}],["可以定义两个选项solid和dashed",{"2":{"109":1}}],["可以是国际化的",{"2":{"185":1}}],["可以是回调方法也可以是数组",{"2":{"185":1}}],["可以是当个对象",{"2":{"171":1,"172":1}}],["可以是单个id",{"2":{"159":1}}],["可以是通过registerstyles注册进去的样式名",{"2":{"127":1}}],["可以是通过klinecharts",{"2":{"44":1}}],["可以是一个promise",{"2":{"117":1}}],["可以是dom元素",{"2":{"45":1}}],["可以是dom元素或者元素id",{"2":{"44":1}}],["可以无法拖动问题",{"2":{"5":1}}],["可能不对问题",{"2":{"8":1}}],["america",{"2":{"223":1}}],["actual",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["activeradius",{"2":{"185":1}}],["activebordersize",{"2":{"185":1}}],["activebordercolor",{"2":{"185":1}}],["activebackgroundcolor",{"2":{"185":3}}],["activecolor",{"2":{"185":1}}],["according",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["adjustments",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["addeventlistener",{"2":{"215":4,"217":1,"219":1,"220":2,"221":1,"222":1,"223":1,"224":4}}],["add",{"2":{"181":2}}],["addshapetemplate",{"2":{"30":1,"191":1}}],["addshapetemplate变更为registeroverlay",{"2":{"30":1}}],["addtechnicalindicatortemplate",{"2":{"30":1,"191":1}}],["addtechnicalindicatortemplate变更为registerindicator",{"2":{"30":1}}],["assisting",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["asia",{"2":{"44":1,"130":1,"223":1}}],["auto",{"2":{"185":2}}],["afterviewinit",{"2":{"182":2}}],["ao",{"2":{"115":1}}],["absoluteyaxis变更为finder",{"2":{"192":1}}],["absolute",{"2":{"171":2,"172":2,"192":1}}],["abs",{"2":{"110":2,"179":2,"221":2}}],["alphagreen",{"2":{"222":7}}],["alphared",{"2":{"222":7}}],["alphabetic",{"2":{"84":1,"90":1}}],["all",{"2":{"217":2}}],["always",{"2":{"185":4,"224":2}}],["align",{"2":{"84":2,"90":2,"104":1,"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["area",{"2":{"185":2,"198":1,"217":2}}],["arc",{"0":{"79":1,"85":1,"99":1},"2":{"79":2,"85":2,"97":1,"98":1,"185":1}}],["array",{"2":{"37":2,"44":2,"53":3,"55":4,"57":1,"58":1,"78":1,"81":1,"82":1,"86":1,"87":1,"88":2,"89":1,"101":1,"102":1,"117":5,"145":1,"146":1,"148":1,"152":3,"153":3,"156":3,"158":1,"171":2,"172":2,"178":4}}],["a",{"2":{"69":2,"185":2}}],["and",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":3,"223":1,"224":1}}],["animation",{"2":{"185":1}}],["animationduration",{"0":{"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1},"2":{"160":2,"161":2,"162":2,"163":2,"164":2,"165":2,"166":2,"185":1}}],["angular",{"2":{"182":1}}],["any>",{"2":{"117":1}}],["any>>",{"2":{"117":1}}],["any",{"2":{"50":2,"53":3,"55":19,"61":2,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":3,"84":1,"90":1,"104":1,"107":3,"117":6,"152":3,"153":3,"156":2,"158":1,"168":1,"169":1,"170":1,"178":7}}],["annotation",{"2":{"30":1,"188":1,"189":1,"192":1}}],["avp",{"2":{"42":1,"115":1}}],["axisline",{"2":{"185":2}}],["axis",{"0":{"57":1,"58":1},"2":{"36":2,"57":2,"58":2,"152":2,"215":3}}],["axisoptions",{"2":{"21":1,"38":2,"39":2,"40":1,"41":1,"44":1,"152":3,"167":3}}],["apache",{"2":{"225":1}}],["appendchild",{"2":{"215":5,"217":2,"219":2,"220":5,"221":2,"222":2,"223":2,"224":8}}],["app",{"2":{"182":1}}],["applynewdata",{"0":{"145":1},"2":{"25":1,"42":1,"182":7,"215":1,"216":1,"217":1,"218":2,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["applymoredata和updatedata新增成功回调入参callback",{"2":{"24":1}}],["applymoredata",{"0":{"146":1},"2":{"7":1,"42":1,"218":1}}],["api调整",{"0":{"190":1},"1":{"191":1,"192":1,"193":1}}],["api",{"2":{"30":3,"42":1}}],["attrs",{"2":{"1":1,"50":2,"53":2,"55":6,"90":1,"97":2,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":2,"110":4,"117":1,"152":1,"153":1,"178":2,"179":1,"221":1}}],["outline",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["outside",{"2":{"215":1}}],["of",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["offset",{"2":{"185":2}}],["offsetbottom",{"2":{"7":1,"24":1,"185":3}}],["offsetright",{"2":{"7":1,"185":3}}],["offsettop",{"2":{"7":1,"185":3}}],["offsetleft",{"2":{"7":1,"185":3}}],["org",{"2":{"178":1}}],["obv",{"2":{"115":1}}],["objects",{"2":{"178":1}}],["object",{"2":{"44":1,"49":1,"50":2,"53":23,"55":20,"57":1,"58":1,"62":2,"127":1,"128":1,"152":19,"153":19,"154":1,"155":1,"156":30,"157":1,"158":15}}],["o",{"2":{"69":2}}],["open",{"2":{"42":1,"46":1,"112":1,"145":1,"146":1,"147":1,"148":1,"182":70,"185":4,"215":3,"216":3,"217":3,"218":3,"219":4,"220":3,"221":3,"222":3,"223":3,"224":3}}],["options新增属性gap",{"2":{"30":1}}],["options",{"0":{"44":1,"167":1},"2":{"14":1,"21":2,"30":1,"38":3,"39":2,"44":3,"113":1,"167":2,"183":1,"192":1,"194":1}}],["overridetechnicalindicator",{"2":{"192":1}}],["override",{"0":{"153":1,"158":1},"2":{"153":2,"158":2,"192":3}}],["overrideindicator",{"0":{"153":1},"2":{"153":1}}],["overrideoverlay",{"0":{"158":1},"2":{"30":1,"158":1}}],["overlayevent",{"2":{"178":14}}],["overlayperformeventparams",{"2":{"178":1}}],["overlaycreatefigurescallback",{"2":{"178":2}}],["overlayconstructor>",{"2":{"47":1}}],["overlaystyle",{"2":{"178":2}}],["overlayfigureignoreeventtype",{"2":{"55":6,"178":2}}],["overlayfigure中的attrs类型声明",{"2":{"19":1}}],["overlay",{"0":{"55":1},"2":{"55":2,"178":2,"185":1}}],["overlay新增属性paneid",{"2":{"20":1}}],["overlay新增事件ondoubleclick",{"2":{"19":1}}],["ohlc",{"2":{"11":1,"185":2,"217":2,"222":2}}],["only",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["onload",{"2":{"182":1}}],["onunmounted",{"2":{"182":2}}],["onmount",{"2":{"182":4}}],["onmounted",{"2":{"182":2}}],["onmouseleave",{"2":{"55":2,"156":3,"158":3,"178":1}}],["onmouseenter",{"2":{"55":2,"156":3,"158":3,"178":1}}],["onpanedrag",{"2":{"169":2,"170":2}}],["onpressedmoveend",{"2":{"55":2,"156":3,"158":3,"178":1}}],["onpressedmovestart",{"2":{"55":2,"156":3,"158":3,"178":1}}],["onpressedmoving",{"2":{"55":2,"156":3,"158":3,"178":1}}],["ontooltipiconclick",{"2":{"169":2,"170":2}}],["onvisiblerangechange和onpanedrag",{"2":{"192":1}}],["onvisiblerangechange",{"2":{"169":2,"170":2}}],["oncleanup",{"2":{"182":2}}],["onclick",{"2":{"55":2,"156":3,"158":3,"178":1}}],["oncandlebarclick",{"2":{"169":2,"170":2}}],["oncrosshairchange",{"2":{"168":2,"169":2,"170":2,"192":1}}],["onselected",{"2":{"55":2,"156":3,"158":3,"178":1}}],["onscroll",{"2":{"1":1,"169":2,"170":2,"192":1}}],["onremoved",{"2":{"55":2,"156":3,"158":3,"178":1}}],["onrightclick",{"2":{"55":2,"156":3,"158":3,"178":1}}],["ondestroy",{"2":{"182":4}}],["ondeselected",{"2":{"55":2,"156":3,"158":3,"178":1}}],["ondataready",{"2":{"145":1,"147":1,"169":2,"170":2}}],["ondoubleclick",{"2":{"55":2,"156":3,"158":3,"178":1}}],["ondrawend",{"2":{"55":2,"156":3,"158":3,"178":1}}],["ondrawing",{"2":{"55":2,"156":3,"158":3,"178":1}}],["ondrawstart",{"2":{"55":2,"156":3,"158":3,"178":1}}],["onzoom",{"2":{"1":1,"169":2,"170":2}}],["35",{"2":{"182":7,"185":2}}],["31",{"2":{"182":7}}],["33",{"2":{"182":7,"185":6}}],["34",{"2":{"115":1,"182":7}}],["30",{"2":{"115":3,"152":1,"182":7,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["3",{"0":{"7":1,"16":1,"21":1,"25":1,"75":1},"2":{"115":3,"152":1,"167":2,"179":1,"185":4,"215":3,"216":3,"217":3,"218":3,"219":3,"220":3,"221":4,"222":3,"223":3,"224":3}}],["55",{"2":{"182":7}}],["56",{"2":{"182":7}}],["53",{"2":{"182":14}}],["5000",{"2":{"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["50",{"2":{"115":1}}],["5",{"0":{"6":1,"15":1,"16":1,"17":1,"18":1,"19":1,"34":1},"2":{"34":1,"55":2,"115":3,"119":1,"120":1,"153":2,"158":2,"185":4}}],["6px",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["686d76",{"2":{"185":4}}],["62",{"2":{"182":7}}],["66",{"2":{"182":14}}],["64",{"2":{"182":7}}],["61",{"2":{"182":14}}],["600px",{"2":{"182":10}}],["600",{"2":{"182":4,"218":1}}],["60",{"2":{"115":2,"215":5,"216":5,"217":5,"218":5,"219":5,"220":5,"221":5,"222":5,"223":5,"224":5}}],["6",{"0":{"5":1,"14":1,"33":1},"2":{"33":1,"44":1,"115":9,"152":1,"185":6}}],["76808f",{"2":{"185":2}}],["76",{"2":{"182":7}}],["72",{"2":{"182":7}}],["70",{"2":{"182":7}}],["74",{"2":{"182":7}}],["77",{"2":{"182":7}}],["7",{"0":{"4":1,"11":1,"12":1,"13":1,"32":1,"138":1,"139":1},"2":{"32":1,"153":1,"185":6,"186":1,"222":2}}],["px",{"2":{"220":1}}],["purpose",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["push",{"2":{"215":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2,"222":2,"223":2,"224":2}}],["pnpm",{"2":{"181":1,"212":1}}],["png",{"2":{"173":1}}],["p",{"2":{"120":2}}],["pvt",{"2":{"115":1}}],["psy",{"2":{"115":1}}],["performpoint",{"2":{"178":1}}],["performpointindex",{"2":{"178":1}}],["performeventmovefordrawing",{"2":{"55":2,"178":1}}],["performeventpressedmove",{"2":{"55":2,"178":1}}],["percentage",{"2":{"2":1,"185":1,"215":2}}],["pointer",{"2":{"185":1}}],["point",{"2":{"185":2}}],["points对应的坐标信息",{"2":{"178":1}}],["points",{"2":{"55":2,"156":3,"158":3,"178":2,"192":1}}],["polygon",{"0":{"82":1,"88":1,"102":1},"2":{"82":1,"88":2,"98":1,"185":1,"210":1}}],["positions",{"2":{"215":2}}],["position",{"0":{"125":1,"126":1},"2":{"39":1,"44":1,"125":2,"126":2,"152":2,"185":4,"192":4,"215":2}}],["position和candle",{"2":{"24":1}}],["project",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["prod",{"2":{"213":1}}],["promise",{"2":{"53":1,"117":1,"152":1,"153":1}}],["preact",{"2":{"182":1}}],["prev",{"2":{"117":1}}],["precision",{"2":{"3":1,"53":2,"70":1,"117":1,"152":1,"153":3,"178":1}}],["prices",{"2":{"215":7,"216":7,"217":7,"218":7,"219":7,"220":7,"221":7,"222":7,"223":7,"224":7}}],["pricechannelline",{"2":{"176":1}}],["priceline",{"2":{"176":1,"221":1}}],["priceprecision",{"0":{"129":1},"2":{"129":2,"197":1}}],["price",{"2":{"53":2,"117":1,"129":1,"152":1,"153":3,"178":1,"221":1}}],["pricemark",{"2":{"30":1,"185":1,"222":2}}],["parallelstraightline",{"2":{"176":1}}],["param",{"2":{"120":4}}],["params",{"2":{"37":1,"53":2,"55":5,"57":1,"58":1,"117":2,"120":2,"151":2,"152":2,"153":2,"178":1,"194":2}}],["paneid",{"0":{"125":1,"126":1,"153":1,"154":1,"155":1,"156":1},"2":{"117":1,"125":2,"126":2,"153":2,"154":2,"155":2,"156":2,"159":1,"171":2,"172":2,"192":19,"201":1}}],["pane",{"2":{"41":1,"152":2,"153":2,"154":1,"155":1,"156":1,"167":2,"210":1,"220":1,"224":1}}],["paneoptions",{"0":{"152":1},"2":{"14":1,"38":3,"152":2,"192":2}}],["padding",{"2":{"215":2,"217":2,"219":2,"220":2,"221":2,"222":2,"223":2,"224":2}}],["paddingbottom",{"2":{"90":2,"104":1,"185":9}}],["paddingbottom变更为yaxis",{"2":{"30":1,"189":1}}],["paddingbottom变更为xaxis",{"2":{"30":1,"189":1}}],["paddingright",{"2":{"90":2,"104":1,"185":9}}],["paddingtop",{"2":{"90":2,"104":1,"185":9}}],["paddingtop变更为yaxis",{"2":{"30":1,"189":1}}],["paddingtop变更为xaxis",{"2":{"30":1,"189":1}}],["paddingleft",{"2":{"90":2,"104":1,"185":9,"220":1}}],["paddingleft显示不对问题",{"2":{"15":1}}],["css",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["cjs",{"2":{"213":2}}],["cdn",{"2":{"181":2,"182":1}}],["cb",{"0":{"150":1,"151":1},"2":{"150":2,"151":2}}],["click",{"2":{"215":4,"217":1,"219":1,"220":2,"221":1,"222":1,"223":1,"224":4}}],["clean",{"2":{"213":2}}],["cleardata",{"0":{"149":1}}],["classname",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":2}}],["class",{"2":{"182":1}}],["clone",{"0":{"61":1}}],["clone和utils",{"2":{"14":1}}],["closesums",{"2":{"120":5}}],["closepath",{"2":{"110":2}}],["close",{"2":{"42":1,"46":1,"112":1,"120":4,"145":1,"146":1,"147":1,"148":1,"182":70,"185":5,"215":4,"216":4,"217":4,"218":7,"219":5,"220":5,"221":4,"222":4,"223":4,"224":4}}],["cci",{"2":{"115":1}}],["cn",{"2":{"178":1,"182":1,"219":1}}],["cn两种语言",{"2":{"111":1}}],["cn和en",{"2":{"44":1,"46":1}}],["currentstep",{"2":{"178":1}}],["current",{"2":{"117":1}}],["currentcolor",{"2":{"110":2}}],["customapi",{"2":{"44":2}}],["customxaxisname",{"2":{"39":2}}],["customyaxisname",{"2":{"39":2,"40":2,"41":2}}],["custom支持字符串模版",{"2":{"19":1}}],["custom新增内置涨跌幅支持",{"2":{"18":1}}],["custom新增turnover字符串模版",{"2":{"14":1}}],["custom",{"2":{"3":1,"185":1,"189":1,"220":3,"221":1}}],["center",{"2":{"84":1,"90":1,"215":1,"217":1,"219":1,"220":2,"221":1,"222":1,"223":1,"224":1}}],["c",{"2":{"69":2}}],["child",{"2":{"224":1}}],["chicago",{"2":{"223":2}}],["checkcoordinateontext",{"0":{"84":1}}],["checkcoordinateonrect",{"0":{"83":1}}],["checkcoordinateonpolygon",{"0":{"82":1}}],["checkcoordinateonline",{"0":{"81":1}}],["checkcoordinateoncircle",{"0":{"80":1}}],["checkcoordinateonarc",{"0":{"79":1}}],["checkeventon",{"2":{"50":2,"107":1,"110":1}}],["charset=",{"2":{"182":1}}],["chartstore",{"2":{"210":1}}],["chartcomponent",{"2":{"182":1}}],["chart",{"2":{"44":1,"45":1,"182":35,"210":1,"215":8,"216":4,"217":5,"218":9,"219":5,"220":6,"221":5,"222":8,"223":5,"224":10}}],["change",{"2":{"31":1,"32":1,"33":1,"112":1}}],["ctx",{"0":{"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1},"2":{"50":1,"85":2,"86":2,"87":2,"88":2,"89":2,"90":2,"91":2,"97":2,"107":1,"110":21,"117":1,"194":2,"220":4}}],["code",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["commonjs",{"2":{"213":3}}],["com",{"2":{"203":2,"225":2}}],["component",{"2":{"182":2}}],["core",{"2":{"182":1,"213":2}}],["container",{"2":{"215":7,"217":7,"219":7,"220":7,"221":7,"222":7,"223":7,"224":10}}],["content=",{"2":{"182":4}}],["content中的内容和options参考实例方法",{"2":{"44":1}}],["content",{"2":{"44":1}}],["convertfrompixel",{"0":{"172":1}}],["converttopixel",{"0":{"171":1},"2":{"192":1,"220":2}}],["console",{"2":{"156":14,"158":14}}],["const",{"2":{"97":1,"110":5,"120":3,"179":3,"182":6,"215":19,"216":9,"217":13,"218":12,"219":13,"220":23,"221":16,"222":17,"223":13,"224":20}}],["color是颜色",{"2":{"109":1}}],["color",{"2":{"53":2,"84":2,"85":2,"86":2,"87":2,"88":2,"89":2,"90":2,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"109":1,"110":2,"117":2,"152":4,"153":5,"156":1,"158":1,"182":1,"185":39,"194":2,"215":2,"217":2,"219":2,"220":2,"221":2,"222":2,"223":2,"224":2}}],["coordinates",{"2":{"81":1,"82":1,"87":1,"88":1,"101":1,"102":1,"178":1,"179":7,"221":7}}],["coordinate2",{"0":{"76":1,"77":1},"2":{"76":1,"77":1}}],["coordinate1",{"0":{"76":1,"77":1},"2":{"76":1,"77":1}}],["coordinate",{"0":{"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"164":1,"172":1},"2":{"50":2,"53":2,"79":2,"80":2,"81":1,"82":1,"83":2,"84":2,"107":1,"110":3,"117":1,"152":1,"153":1,"164":2,"172":2,"192":1}}],["coord",{"2":{"37":2,"57":1,"58":1}}],["circle",{"0":{"80":1,"86":1,"100":1},"2":{"80":2,"86":2,"97":1,"98":1,"179":2,"185":1,"210":1,"221":5}}],["circles",{"2":{"30":1,"153":1,"185":1,"189":1,"222":2}}],["circle变更为indicator",{"2":{"30":1,"189":1}}],["cross",{"2":{"185":2,"224":2}}],["crosshair",{"2":{"30":2,"117":1,"185":1,"194":2}}],["cr",{"2":{"115":1}}],["createelement",{"2":{"215":5,"217":2,"219":2,"220":5,"221":2,"222":2,"223":2,"224":8}}],["createyaxisfigures",{"2":{"55":2,"178":1}}],["createxaxisfigures",{"2":{"55":2,"178":1}}],["createpointfigures",{"2":{"55":2,"178":1,"179":1,"221":1}}],["createtechnicalindicator",{"2":{"192":1}}],["createtooltipdatasource",{"2":{"53":2,"117":1,"152":1,"153":2}}],["createticks",{"2":{"37":1,"57":2,"58":2}}],["createtag",{"2":{"30":1,"192":1}}],["createannotation",{"2":{"30":1,"192":1}}],["createindicator",{"0":{"40":1,"152":1},"2":{"21":1,"38":1,"44":1,"152":1,"220":2,"222":1,"224":2}}],["createoverlay",{"0":{"156":1},"2":{"20":1,"30":1,"156":1,"221":3}}],["cryptotooltop",{"2":{"7":1}}],["canvastextbaseline",{"2":{"104":1}}],["canvastextalign",{"2":{"104":1}}],["canvas",{"2":{"93":2}}],["canvasgradient",{"2":{"86":1,"88":1,"89":1,"104":1}}],["canvasrenderingcontext2d",{"2":{"50":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"107":1,"117":1}}],["candle",{"2":{"3":1,"7":1,"11":1,"24":6,"30":1,"39":1,"41":1,"44":1,"152":1,"153":2,"154":1,"155":1,"156":1,"167":1,"185":6,"189":1,"198":1,"217":5,"220":1,"222":2,"224":3}}],["calcparms",{"2":{"53":1,"117":1,"152":1,"153":1}}],["calcparamstext",{"2":{"53":1,"117":1,"152":1,"153":1,"194":1}}],["calcparams",{"2":{"53":2,"117":1,"119":2,"120":3,"152":1,"153":3}}],["calc",{"2":{"53":2,"117":1,"120":1,"152":1,"153":3,"220":1}}],["calctextwidth",{"0":{"75":1},"2":{"21":1}}],["callback",{"0":{"145":1,"146":1,"147":1,"152":1,"153":1,"169":1,"170":1},"2":{"14":1,"38":1,"145":3,"146":2,"147":3,"151":2,"152":2,"153":2,"169":2,"170":2,"192":2}}],["ts",{"2":{"214":1}}],["t",{"2":{"204":1}}],["trc20",{"2":{"229":1}}],["transparent",{"2":{"185":2}}],["true",{"2":{"152":2,"153":2,"156":1,"158":1,"167":2,"185":29,"215":2,"218":2,"220":1,"221":3}}],["trix",{"2":{"115":1}}],["thjptqmfgavm12ke1jzc5mlxiapp6qxmci",{"2":{"229":1}}],["the",{"2":{"215":4,"217":4,"219":4,"220":4,"221":4,"222":4,"223":4,"224":4}}],["theme",{"2":{"182":1,"222":4}}],["threshold",{"0":{"74":1},"2":{"74":1}}],["thousandsseparator",{"2":{"44":2,"178":1}}],["targetcoordinate",{"0":{"77":1,"78":1},"2":{"77":1,"78":1}}],["target",{"0":{"61":1,"62":1},"2":{"61":1,"62":1}}],["tagid",{"2":{"192":1}}],["tag合并成overlay",{"2":{"188":1}}],["tag",{"2":{"30":1,"189":1,"192":1}}],["turnover",{"2":{"42":1,"112":1,"145":1,"146":1,"147":1,"148":1,"215":2,"216":2,"217":2,"218":2,"219":2,"220":2,"221":2,"222":2,"223":2,"224":2}}],["tip",{"2":{"224":2}}],["tickline",{"2":{"185":2}}],["ticktext",{"2":{"30":8,"185":2,"189":8}}],["title和value可以是字符串或者对象",{"2":{"185":1}}],["title>",{"2":{"182":1}}],["title>quick",{"2":{"182":1}}],["title",{"2":{"53":3,"117":2,"119":2,"120":3,"152":3,"153":3,"185":12,"194":2}}],["time",{"2":{"46":1,"112":1,"185":4,"219":1}}],["timezone",{"0":{"130":1},"2":{"44":2,"130":2,"223":2}}],["timestamp为第一条数据的时间戳",{"2":{"150":1}}],["timestamp",{"0":{"72":1,"163":1,"166":1},"2":{"42":1,"44":1,"55":1,"72":1,"145":1,"146":1,"147":1,"148":1,"150":1,"156":4,"158":3,"163":2,"166":2,"171":3,"172":2,"178":3,"182":70,"215":5,"216":5,"217":5,"218":7,"219":5,"220":5,"221":5,"222":5,"223":5,"224":5}}],["tofixed",{"2":{"215":4,"216":4,"217":4,"218":4,"219":4,"220":4,"221":4,"222":4,"223":4,"224":4}}],["totalstep",{"2":{"55":2,"178":1,"179":1,"221":1}}],["top",{"2":{"37":1,"44":2,"84":1,"90":1,"117":2,"126":1,"152":4,"167":3,"178":1,"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":2}}],["to",{"2":{"37":1,"117":2,"144":1,"215":1,"217":1,"219":1,"220":3,"221":1,"222":1,"223":1,"224":1}}],["tooltip",{"2":{"3":1,"7":2,"14":1,"18":1,"19":1,"24":2,"30":2,"185":2,"189":3,"224":4}}],["telegram",{"0":{"204":1}}],["template",{"2":{"182":1,"191":4}}],["template>",{"2":{"182":2}}],["technicalindicator",{"2":{"30":4,"189":3,"194":1}}],["textalign",{"2":{"220":1}}],["textweight",{"2":{"185":2}}],["textfamily",{"2":{"185":2}}],["textsize",{"2":{"185":2}}],["textoffset",{"2":{"185":2}}],["text",{"0":{"75":1,"84":1,"90":1,"104":1},"2":{"15":1,"30":4,"37":2,"53":2,"57":1,"58":1,"75":1,"84":4,"90":3,"91":2,"98":1,"104":1,"117":2,"152":2,"153":2,"182":1,"185":10,"210":1,"215":17,"217":8,"219":5,"220":2,"221":4,"222":6,"223":5,"224":13}}],["text配置",{"2":{"14":1}}],["types",{"2":{"215":2,"224":3}}],["typescript开发",{"2":{"123":1}}],["typescriptklinecharts",{"2":{"112":1}}],["typescriptnew",{"2":{"99":1,"100":1,"101":1,"102":1,"103":1,"104":1}}],["typescriptsetpaneoptions",{"2":{"41":1}}],["typescriptcreateindicator",{"2":{"40":1}}],["typescriptinit",{"2":{"39":1}}],["typescript重构",{"2":{"30":1}}],["typescript",{"2":{"2":1,"37":1,"42":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"107":1,"117":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"178":1,"213":2}}],["type=",{"2":{"182":1}}],["type对应的图形的样式",{"2":{"178":1}}],["type对应的图形的属性",{"2":{"178":1}}],["type是area时",{"2":{"15":1}}],["type",{"0":{"168":1,"169":1,"170":1,"173":1},"2":{"1":1,"2":1,"11":1,"39":2,"44":2,"53":2,"55":6,"117":1,"119":2,"120":3,"151":2,"152":2,"153":2,"168":2,"169":2,"170":2,"173":2,"178":2,"179":1,"185":2,"192":2,"198":1,"215":2,"217":2,"221":1}}],["1b1b1f",{"2":{"222":1}}],["16px",{"2":{"220":1}}],["1677ff",{"2":{"185":11,"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["16098",{"2":{"156":1,"158":1}}],["1614171202000",{"2":{"156":1,"158":1}}],["1614171282000",{"2":{"156":1,"158":1}}],["16",{"2":{"30":1,"182":7}}],["17",{"2":{"29":1,"220":1}}],["150",{"2":{"185":6}}],["1587660540000",{"2":{"182":7}}],["1587660480000",{"2":{"182":7}}],["1587660420000",{"2":{"182":7}}],["1587660360000",{"2":{"182":7}}],["1587660300000",{"2":{"182":7}}],["1587660240000",{"2":{"182":7}}],["1587660180000",{"2":{"182":7}}],["1587660120000",{"2":{"182":7}}],["1587660060000",{"2":{"182":7}}],["1587660000000",{"2":{"182":7}}],["15",{"2":{"19":1,"25":1,"185":1}}],["192",{"2":{"185":3,"222":1}}],["191",{"2":{"182":7}}],["197",{"2":{"182":7}}],["194",{"2":{"182":7}}],["19",{"2":{"16":1,"182":7}}],["119",{"2":{"185":4}}],["11",{"2":{"14":1}}],["184",{"2":{"182":7}}],["18987",{"2":{"156":1,"158":1}}],["18",{"2":{"12":1,"17":1}}],["135",{"2":{"182":7}}],["13",{"2":{"9":1,"21":1,"115":1}}],["1",{"0":{"9":1,"12":1,"18":1,"23":1,"25":1,"26":1,"27":2,"28":1,"29":1},"2":{"69":1,"110":1,"120":3,"152":2,"153":4,"156":1,"158":1,"167":2,"179":2,"185":37,"216":1,"218":2,"221":2,"222":4}}],["12px",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["12345678910111213141516171819202122",{"2":{"224":1}}],["1234567891011121314151617181920212223242526html",{"2":{"182":1}}],["12345678910111213141516171819202122232425262728html",{"2":{"216":1}}],["12345678910111213141516171819202122232425262728svelte",{"2":{"182":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051html",{"2":{"223":1}}],["1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677html",{"2":{"221":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126html",{"2":{"224":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150html",{"2":{"222":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110html",{"2":{"215":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107html",{"2":{"220":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960html",{"2":{"219":1}}],["1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556html",{"2":{"217":1}}],["12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849html",{"2":{"218":1}}],["123456789101112131415161718192021222324252627282930313233",{"2":{"182":1}}],["1234567891011121314151617181920212223242526272829jsximport",{"2":{"182":1}}],["1234567891011121314151617181920212223242526272829tsimport",{"2":{"182":1}}],["123456789101112131415161718192021222324252627jsximport",{"2":{"182":1}}],["1234567891011121314151617181920212223242526vue",{"2":{"182":1}}],["123456789101112131415161718",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1}}],["123css",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["12",{"2":{"7":1,"11":1,"12":1,"13":2,"115":9,"182":7,"185":12}}],["142",{"2":{"185":3,"222":1}}],["14",{"2":{"3":1,"6":1,"14":1,"18":1,"27":1,"115":3,"182":7}}],["10px",{"2":{"215":2,"217":2,"219":2,"220":2,"221":2,"222":2,"223":2,"224":2}}],["105",{"2":{"182":7}}],["1000",{"2":{"185":1,"215":4,"216":4,"217":4,"218":4,"219":4,"220":4,"221":4,"222":4,"223":4,"224":4}}],["1000000转换为1m等",{"2":{"44":1,"53":1,"71":1,"153":1}}],["100",{"2":{"152":1,"167":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["10",{"0":{"1":1},"2":{"4":1,"26":1,"115":7,"119":1,"120":1,"185":2,"215":1,"216":1,"217":1,"218":3,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["中获取数据",{"2":{"210":1}}],["中的overlay",{"2":{"178":2}}],["中的",{"2":{"152":1}}],["中的indicator",{"2":{"117":4}}],["中的入参value和options",{"2":{"44":1}}],["中的子项",{"2":{"1":1,"38":1}}],["中声明问题",{"2":{"2":1}}],["错误",{"2":{"2":1}}],["2px",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["2196f3",{"2":{"185":2}}],["2000",{"2":{"218":1}}],["204",{"2":{"182":7}}],["20",{"2":{"115":6,"153":1,"182":21,"218":1}}],["2023",{"2":{"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1}}],["2024",{"2":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1}}],["230",{"2":{"185":3}}],["23",{"2":{"28":1}}],["249",{"2":{"185":3,"222":1}}],["243",{"2":{"185":6}}],["2432435",{"2":{"153":1}}],["24",{"2":{"24":1,"115":4}}],["2dc08e",{"2":{"23":1,"185":4,"222":1}}],["27",{"2":{"23":1}}],["255",{"2":{"185":4}}],["25",{"2":{"20":1,"185":2}}],["22px",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["22",{"2":{"15":1,"185":4}}],["26a69a",{"2":{"153":2}}],["26a69a变更为",{"2":{"23":1}}],["26",{"2":{"8":1,"115":3}}],["2",{"0":{"8":1,"11":1,"17":1,"22":2,"23":1,"24":1,"26":1,"137":1,"168":1},"2":{"110":11,"115":4,"145":1,"146":1,"147":1,"152":1,"153":6,"156":3,"158":3,"167":1,"179":1,"185":52,"215":4,"216":4,"217":4,"218":4,"219":4,"220":4,"221":5,"222":12,"223":4,"224":4,"225":1}}],["28",{"2":{"2":1,"182":21}}],["0xd2c3911654db861e0a2e17415e11a209c1fc3594",{"2":{"229":2}}],["000000",{"2":{"182":1}}],["0开始",{"2":{"145":1,"146":1,"147":1,"150":1}}],["02",{"2":{"28":1,"29":1,"30":1,"182":7}}],["08",{"2":{"18":1}}],["09",{"2":{"15":1,"16":1,"17":1,"182":7}}],["01c5c4",{"2":{"185":1}}],["01",{"2":{"11":1,"185":1}}],["0",{"0":{"10":1,"13":1,"14":1,"19":1,"20":1,"21":1,"24":1,"28":1,"29":1,"30":2,"36":1,"57":1,"58":1,"74":1,"75":1,"137":1,"138":1,"139":1,"151":1,"168":1},"1":{"37":1,"38":1,"39":1,"40":1,"41":1},"2":{"44":2,"55":2,"120":1,"145":1,"146":1,"147":1,"152":5,"153":1,"156":1,"158":3,"167":4,"179":3,"185":23,"215":3,"216":3,"217":3,"218":3,"219":3,"220":3,"221":6,"222":3,"223":3,"224":4,"225":1}}],["03",{"2":{"8":1,"9":1,"10":1,"27":1}}],["04",{"2":{"6":1,"7":1,"10":1,"22":1,"23":1,"24":1,"25":1,"26":1}}],["07",{"2":{"5":1}}],["05",{"2":{"2":1,"3":1,"4":1,"5":1,"20":1,"21":1,"22":1}}],["06",{"2":{"1":2,"19":1,"182":7}}],["优化事件处理",{"2":{"28":1}}],["优化渲染更新",{"2":{"27":1}}],["优化覆盖物图形事件忽略",{"2":{"26":1}}],["优化覆盖物事件回调参数",{"2":{"25":1}}],["优化覆盖物回调方法中的参数",{"2":{"3":1}}],["优化开发环境下",{"2":{"24":1}}],["优化api",{"2":{"24":1}}],["优化typescript覆盖物样式类型",{"2":{"25":1}}],["优化typescript声明",{"2":{"23":1}}],["优化typescript下",{"2":{"19":1}}],["优化默认样式",{"2":{"23":1}}],["优化默认显示",{"2":{"7":1}}],["优化类型检查",{"2":{"22":1}}],["优化内部id生成",{"2":{"21":1}}],["优化内部获取屏幕像素比",{"2":{"21":1}}],["优化内置覆盖物simpleannotation和simpletag",{"2":{"17":1}}],["优化bar宽度比例",{"2":{"21":1}}],["优化蜡烛柱显示",{"2":{"20":1}}],["优化分割线事件响应灵敏度",{"2":{"19":1}}],["优化移动端阻尼滚动掉帧问题",{"2":{"19":1}}],["优化技术指标自由样式",{"2":{"17":1}}],["优化utils",{"2":{"14":1}}],["优化ohlc蜡烛柱渲染",{"2":{"13":1}}],["优化绘制清晰度",{"2":{"11":1}}],["优化滚轮事件触发",{"2":{"9":1}}],["优化y轴小数折叠显示时计算的宽度准确度",{"2":{"9":1}}],["优化y轴渲染",{"2":{"7":1}}],["优化平滑曲线绘制",{"2":{"8":1}}],["优化面积图显示",{"2":{"8":1,"25":1}}],["优化基础图形rect事件响应",{"2":{"18":1}}],["优化基础图形text",{"2":{"17":1}}],["优化基础图形",{"2":{"7":1}}],["优化样式overlay",{"2":{"14":1}}],["优化样式",{"2":{"7":1,"11":1}}],["优化图表默认右偏移距离",{"2":{"6":1}}],["优化指标属性",{"2":{"1":1}}],["优化实例方法",{"2":{"1":1}}],["时有效",{"2":{"55":1,"158":1,"178":1}}],["时区",{"0":{"223":1}}],["时区对应名字列表请参阅时区列表",{"2":{"44":1,"130":1}}],["时区名",{"2":{"44":1,"130":1}}],["时间戳",{"2":{"42":1,"163":1,"166":1,"171":1,"178":3}}],["时",{"2":{"1":1,"5":1}}],["是采用",{"2":{"225":1}}],["是怎么回事",{"0":{"196":1}}],["是往前加载还是往后加载",{"2":{"151":1}}],["是一个回调方法",{"2":{"150":1,"169":1}}],["是一个k线数据数组",{"2":{"145":1,"146":1}}],["是一个方法",{"2":{"117":2}}],["是一款可高度自定义的专业级轻量金融图表",{"2":{"122":1}}],["是创建的唯一标识",{"2":{"107":1}}],["是否忽略事件",{"2":{"178":1}}],["是否锁定",{"2":{"178":1}}],["是否锁定不让拖动",{"2":{"55":1,"158":1}}],["是否是绝对坐标",{"2":{"171":1,"172":1}}],["是否覆盖",{"2":{"152":1}}],["是否可以拖拽滚动",{"2":{"135":1}}],["是否可以缩放",{"2":{"133":1}}],["是否可见",{"2":{"53":1,"55":1,"117":1,"153":1,"158":1,"178":1}}],["是否需要包含浮层",{"2":{"173":1}}],["是否需要格式化大数据值",{"2":{"117":1}}],["是否需要格式化大的数字",{"2":{"53":1,"153":1}}],["是否需要ohlc",{"2":{"117":1}}],["是否需要ohlc辅助图形",{"2":{"53":1,"153":1}}],["是否需要默认的y轴上的图形",{"2":{"55":1,"158":1,"178":1}}],["是否需要默认的x轴上的图形",{"2":{"55":1,"158":1,"178":1}}],["是否需要默认的点对应的图形",{"2":{"55":1,"158":1,"178":1}}],["是数组时无法覆盖问题",{"2":{"3":1}}],["是",{"2":{"1":1,"55":1,"158":1,"178":1}}],["当是一个方法时",{"2":{"185":1}}],["当是对象时",{"2":{"127":1,"152":1,"156":1}}],["当前步骤",{"2":{"178":1}}],["当前图形的数据",{"2":{"117":1}}],["当计算参数改变时",{"2":{"120":1}}],["当添加完语言包后",{"2":{"113":1}}],["当注册完成之后",{"2":{"38":1}}],["当",{"2":{"1":1}}],["和convertfrompixel",{"2":{"192":1}}],["和unsubscribeaction",{"2":{"192":1}}],["和updatedata",{"2":{"42":1}}],["和getheight",{"2":{"192":1}}],["和配置项",{"2":{"119":1}}],["和基础类型deeppartial",{"2":{"25":1}}],["和setpaneoptions",{"2":{"21":1}}],["和",{"2":{"1":2,"5":1,"7":1,"11":1,"36":1,"38":1,"42":1,"53":1,"55":1,"153":1,"158":1,"169":1,"170":1}}],["修复内置基础图形arc不生效问题",{"2":{"27":1}}],["修复内置基础图形line触发事件不准确问题",{"2":{"26":1}}],["修复内置覆盖物simpleannotation和simpletag绘制完成后第一次触发事件问题",{"2":{"26":1}}],["修复内置指标vol修改calcparams时出错问题",{"2":{"9":1}}],["修复无数据时y轴上十字光标文字不显示问题",{"2":{"25":1}}],["修复窗口id命名拼写错误",{"2":{"19":1}}],["修复typescript引入问题",{"2":{"29":1}}],["修复typescript声明问题",{"2":{"17":1}}],["修复ts下引入问题",{"2":{"16":1}}],["修复样式crosshair",{"2":{"15":1}}],["修复样式candle",{"2":{"15":1}}],["修复样式配置",{"2":{"2":1,"3":1}}],["修复多个指标样式显示不对问题",{"2":{"14":1}}],["修复多个覆盖物样式显示不对问题",{"2":{"14":1}}],["修复蜡烛柱模糊问题",{"2":{"13":1}}],["修复包管理器下载node版本依赖问题",{"2":{"12":1}}],["修复覆盖物zlevel渲染规则",{"2":{"13":1}}],["修复覆盖物x轴上显示问题",{"2":{"11":1}}],["修复覆盖物绘制到未来时间",{"2":{"8":1}}],["修复指标和覆盖物方法不执行问题",{"2":{"12":1}}],["修复指标属性",{"2":{"11":1}}],["修复指标精度不同步价格数量精度问题",{"2":{"4":1}}],["修复不同浏览器格式化时间问题",{"2":{"10":1}}],["修复初始化layout只指定xaxis时",{"2":{"9":1}}],["修复图表偶发会空白问题",{"2":{"6":1}}],["修复图表api",{"2":{"5":1,"25":1}}],["修复面积图显示问题",{"2":{"6":1}}],["修复创建覆盖物后",{"2":{"5":1}}],["修复千分符指定",{"2":{"5":1}}],["修复小数折叠不准确问题",{"2":{"3":1}}],["修复",{"2":{"2":1,"7":1}}],["修复x轴缩放可能出错问题",{"2":{"1":1}}],["修复实例方法",{"2":{"1":1}}],["修复基础图形line事件检查可能导致错误问题",{"2":{"22":1}}],["修复基础图形",{"2":{"1":1}}],["💬",{"0":{"202":1},"1":{"203":1,"204":1,"205":1}}],["🙋",{"0":{"195":1},"1":{"196":1,"197":1,"198":1,"199":1,"200":1,"201":1}}],["🛡",{"2":{"123":1}}],["📱",{"2":{"123":1}}],["💪",{"2":{"123":1}}],["🚀",{"0":{"180":1},"1":{"181":1,"182":1},"2":{"123":1}}],["📦",{"2":{"123":1}}],["📃",{"0":{"121":1},"1":{"122":1,"123":1}}],["📚",{"0":{"42":1}}],["🗑",{"2":{"30":1}}],["👉",{"2":{"30":1}}],["🛠️",{"0":{"186":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1}}],["🛠",{"2":{"30":1}}],["🖋️",{"2":{"14":1}}],["💄",{"2":{"1":2,"3":1,"6":1,"7":4,"8":2,"9":2,"11":2,"13":1,"14":2,"17":3,"18":1,"19":2,"20":1,"21":3,"22":1,"23":2,"24":2,"25":3,"26":1,"27":1,"28":1}}],["🐞",{"2":{"1":3,"2":2,"3":2,"4":1,"5":3,"6":2,"7":1,"8":1,"9":2,"10":1,"11":2,"12":2,"13":2,"14":2,"15":2,"16":1,"17":1,"19":2,"22":1,"25":2,"26":2,"27":1,"29":1}}],["📠",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1}}],["8px",{"2":{"215":1,"217":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["800",{"2":{"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1}}],["85",{"2":{"185":3,"222":1}}],["88",{"2":{"182":7}}],["888888",{"2":{"153":2,"185":14,"222":4}}],["89",{"2":{"182":7}}],["8",{"0":{"1":1,"2":1,"3":2,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"31":1,"36":1,"57":1,"58":1,"74":1,"151":1},"1":{"37":1,"38":1,"39":1,"40":1,"41":1},"2":{"31":1,"44":1,"145":1,"146":1,"147":1,"150":1,"152":1,"156":1,"158":1,"167":1,"182":1,"185":7,"186":2}}],["96",{"2":{"182":7}}],["935ebd",{"2":{"185":1}}],["93",{"2":{"182":21}}],["94",{"2":{"182":7}}],["99",{"2":{"182":14}}],["9",{"0":{"1":1,"2":2,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1},"2":{"115":3,"186":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/assets/chunks/Chart.CUfUC5Xd.js b/assets/chunks/Chart.CUfUC5Xd.js new file mode 100644 index 0000000..f187a2d --- /dev/null +++ b/assets/chunks/Chart.CUfUC5Xd.js @@ -0,0 +1,835 @@ +import{_ as oR,o as nD,c as uR,j as Ft,r as xke,t as Dke,u as fke,p as aR,v as pke,q as gke,x as Fke,b as yke,e as mke,G as Qx,w as Zx,k as eD}from"./framework.DSL-p2JV.js";const hke=500,Eke=20,Cke=300,vke="https://stackblitz.com",rY=["angular-cli","create-react-app","html","javascript","node","polymer","typescript","vue"],bke=["project","search","ports","settings"],Ake=["light","dark"],Rke=["editor","preview"],tY={clickToLoad:ue=>ki("ctl",ue),devToolsHeight:ue=>aY("devtoolsheight",ue),forceEmbedLayout:ue=>ki("embed",ue),hideDevTools:ue=>ki("hidedevtools",ue),hideExplorer:ue=>ki("hideExplorer",ue),hideNavigation:ue=>ki("hideNavigation",ue),openFile:ue=>rD("file",ue),showSidebar:ue=>Bke("showSidebar",ue),sidebarView:ue=>nR("sidebarView",ue,bke),startScript:ue=>rD("startScript",ue),terminalHeight:ue=>aY("terminalHeight",ue),theme:ue=>nR("theme",ue,Ake),view:ue=>nR("view",ue,Rke),zenMode:ue=>ki("zenMode",ue),organization:ue=>`${rD("orgName",ue==null?void 0:ue.name)}&${rD("orgProvider",ue==null?void 0:ue.provider)}`,crossOriginIsolated:ue=>ki("corp",ue)};function sY(ue={}){const ge=Object.entries(ue).map(([pe,ke])=>ke!=null&&tY.hasOwnProperty(pe)?tY[pe](ke):"").filter(Boolean);return ge.length?`?${ge.join("&")}`:""}function ki(ue,ge){return ge===!0?`${ue}=1`:""}function Bke(ue,ge){return typeof ge=="boolean"?`${ue}=${ge?"1":"0"}`:""}function aY(ue,ge){if(typeof ge=="number"&&!Number.isNaN(ge)){const pe=Math.min(100,Math.max(0,ge));return`${ue}=${encodeURIComponent(Math.round(pe))}`}return""}function nR(ue,ge="",pe=[]){return pe.includes(ge)?`${ue}=${encodeURIComponent(ge)}`:""}function rD(ue,ge){return(Array.isArray(ge)?ge:[ge]).filter(ke=>typeof ke=="string"&&ke.trim()!=="").map(ke=>`${ue}=${encodeURIComponent(ke)}`).join("&")}function iY(){return Math.random().toString(36).slice(2,6)+Math.random().toString(36).slice(2,6)}function dR(ue,ge){return`${oY(ge)}${ue}${sY(ge)}`}function lR(ue,ge){const pe={forceEmbedLayout:!0};return ge&&typeof ge=="object"&&Object.assign(pe,ge),`${oY(pe)}${ue}${sY(pe)}`}function oY(ue={}){return(typeof ue.origin=="string"?ue.origin:vke).replace(/\/$/,"")}function cR(ue,ge,pe){if(!ge||!ue||!ue.parentNode)throw new Error("Invalid Element");ue.id&&(ge.id=ue.id),ue.className&&(ge.className=ue.className),wke(ge,pe),Ske(ue,ge,pe),ue.replaceWith(ge)}function xR(ue){if(typeof ue=="string"){const ge=document.getElementById(ue);if(!ge)throw new Error(`Could not find element with id '${ue}'`);return ge}else if(ue instanceof HTMLElement)return ue;throw new Error(`Invalid element: ${ue}`)}function DR(ue){return ue&&ue.newWindow===!1?"_self":"_blank"}function wke(ue,ge={}){const pe=Object.hasOwnProperty.call(ge,"height")?`${ge.height}`:`${Cke}`,ke=Object.hasOwnProperty.call(ge,"width")?`${ge.width}`:void 0;ue.setAttribute("height",pe),ke?ue.setAttribute("width",ke):ue.setAttribute("style","width:100%;")}function Ske(ue,ge,pe={}){var We,Cr;const ke=((Cr=(We=ue.allow)==null?void 0:We.split(";"))==null?void 0:Cr.map($r=>$r.trim()))??[];pe.crossOriginIsolated&&!ke.includes("cross-origin-isolated")&&ke.push("cross-origin-isolated"),ke.length>0&&(ge.allow=ke.join("; "))}class jke{constructor(ge){this.pending={},this.port=ge,this.port.onmessage=this.messageListener.bind(this)}request({type:ge,payload:pe}){return new Promise((ke,We)=>{const Cr=iY();this.pending[Cr]={resolve:ke,reject:We},this.port.postMessage({type:ge,payload:{...pe,__reqid:Cr}})})}messageListener(ge){var _r;if(typeof((_r=ge.data.payload)==null?void 0:_r.__reqid)!="string")return;const{type:pe,payload:ke}=ge.data,{__reqid:We,__success:Cr,__error:$r}=ke;this.pending[We]&&(Cr?this.pending[We].resolve(this.cleanResult(ke)):this.pending[We].reject($r?`${pe}: ${$r}`:pe),delete this.pending[We])}cleanResult(ge){const pe={...ge};return delete pe.__reqid,delete pe.__success,delete pe.__error,Object.keys(pe).length?pe:null}}class Tke{constructor(ge,pe){this.editor={openFile:ke=>this._rdc.request({type:"SDK_OPEN_FILE",payload:{path:ke}}),setCurrentFile:ke=>this._rdc.request({type:"SDK_SET_CURRENT_FILE",payload:{path:ke}}),setTheme:ke=>this._rdc.request({type:"SDK_SET_UI_THEME",payload:{theme:ke}}),setView:ke=>this._rdc.request({type:"SDK_SET_UI_VIEW",payload:{view:ke}}),showSidebar:(ke=!0)=>this._rdc.request({type:"SDK_TOGGLE_SIDEBAR",payload:{visible:ke}})},this.preview={origin:"",getUrl:()=>this._rdc.request({type:"SDK_GET_PREVIEW_URL",payload:{}}).then(ke=>(ke==null?void 0:ke.url)??null),setUrl:(ke="/")=>{if(typeof ke!="string"||!ke.startsWith("/"))throw new Error(`Invalid argument: expected a path starting with '/', got '${ke}'`);return this._rdc.request({type:"SDK_SET_PREVIEW_URL",payload:{path:ke}})}},this._rdc=new jke(ge),Object.defineProperty(this.preview,"origin",{value:typeof pe.previewOrigin=="string"?pe.previewOrigin:null,writable:!1})}applyFsDiff(ge){const pe=ke=>ke!==null&&typeof ke=="object";if(!pe(ge)||!pe(ge.create))throw new Error("Invalid diff object: expected diff.create to be an object.");if(!Array.isArray(ge.destroy))throw new Error("Invalid diff object: expected diff.destroy to be an array.");return this._rdc.request({type:"SDK_APPLY_FS_DIFF",payload:ge})}getDependencies(){return this._rdc.request({type:"SDK_GET_DEPS_SNAPSHOT",payload:{}})}getFsSnapshot(){return this._rdc.request({type:"SDK_GET_FS_SNAPSHOT",payload:{}})}}const aD=[];class Pke{constructor(ge){this.id=iY(),this.element=ge,this.pending=new Promise((pe,ke)=>{const We=({data:sr,ports:mr})=>{(sr==null?void 0:sr.action)==="SDK_INIT_SUCCESS"&&sr.id===this.id&&(this.vm=new Tke(mr[0],sr.payload),pe(this.vm),$r())},Cr=()=>{var sr;(sr=this.element.contentWindow)==null||sr.postMessage({action:"SDK_INIT",id:this.id},"*")};function $r(){window.clearInterval(nr),window.removeEventListener("message",We)}window.addEventListener("message",We),Cr();let _r=0;const nr=window.setInterval(()=>{if(this.vm){$r();return}if(_r>=Eke){$r(),ke("Timeout: Unable to establish a connection with the StackBlitz VM"),aD.forEach((sr,mr)=>{sr.id===this.id&&aD.splice(mr,1)});return}_r++,Cr()},hke)}),aD.push(this)}}const Ike=ue=>{const ge=ue instanceof Element?"element":"id";return aD.find(pe=>pe[ge]===ue)??null};function kke(ue,ge){const pe=document.createElement("input");return pe.type="hidden",pe.name=ue,pe.value=ge,pe}function _ke(ue){return ue.replace(/\[/g,"%5B").replace(/\]/g,"%5D")}function uY({template:ue,title:ge,description:pe,dependencies:ke,files:We,settings:Cr}){if(!rY.includes(ue)){const sr=rY.map(mr=>`'${mr}'`).join(", ");console.warn(`Unsupported project.template: must be one of ${sr}`)}const $r=[],_r=(sr,mr,or="")=>{$r.push(kke(sr,typeof mr=="string"?mr:or))};_r("project[title]",ge),typeof pe=="string"&&pe.length>0&&_r("project[description]",pe),_r("project[template]",ue,"javascript"),ke&&(ue==="node"?console.warn("Invalid project.dependencies: dependencies must be provided as a 'package.json' file when using the 'node' template."):_r("project[dependencies]",JSON.stringify(ke))),Cr&&_r("project[settings]",JSON.stringify(Cr)),Object.entries(We).forEach(([sr,mr])=>{_r(`project[files][${_ke(sr)}]`,mr)});const nr=document.createElement("form");return nr.method="POST",nr.setAttribute("style","display:none!important;"),nr.append(...$r),nr}function Oke(ue,ge){const pe=uY(ue);return pe.action=lR("/run",ge),pe.id="sb_run",` + + + + ${pe.outerHTML} + + + + + + + + + + + + + +
Skip to content

定制化服务

免费版

免费的专业级K线组件

¥ 0

  • 高度可扩展的核心图表
  • 功能完善的Pro版图表
  • 完善的开发文档
  • 开发讨论微信群

联系开发者加入开发讨论群。

赞助版

全方位解答遇到的问题

赞助¥ 500

  • 免费版所有服务
  • 更多的示例代码
  • 首页赞助商广告位
  • 一对一答疑

在赞助页对项目进行捐赠,完成之后联系开发者加入专属答疑群。

定制版

专属定制,扩展开发

¥ 面议

  • 赞助版所有服务
  • UI定制开发
  • 扩展定制开发
  • 其它图表相关定制开发

联系开发者,讨论具体需求。

+ + + + \ No newline at end of file diff --git a/en-US/customize.html b/en-US/customize.html new file mode 100644 index 0000000..0b71dc6 --- /dev/null +++ b/en-US/customize.html @@ -0,0 +1,27 @@ + + + + + + KLineChart + + + + + + + + + + + + + + + + +
Skip to content

Customized Service

Free

Free professional K Line component

$ 0

  • Highly scalable core chart
  • Full features Pro version chart
  • Complete development documents
  • Development discussion WeChat group

Contact the developer to join the development discussion group.

Sponsor

Comprehensive answers to development issues

Sponsor$ 78

  • All services in the free version
  • More sample codes
  • Homepage sponsor advertising space
  • One-on-one Q&A

Sponsor to the project on the sponsorship page, and after completion, contact the developer to join the exclusive Q&A group.

Customized

Exclusive customization and extended development

$ Discussion

  • All services of the sponsored version
  • UI custom development
  • Extended custom development
  • Other chart custom development

Contact developers to discuss specific requirements.

+ + + + \ No newline at end of file diff --git a/en-US/guide/changelog.html b/en-US/guide/changelog.html new file mode 100644 index 0000000..b698aa7 --- /dev/null +++ b/en-US/guide/changelog.html @@ -0,0 +1,26 @@ + + + + + + 📠 Change Log | KLineChart + + + + + + + + + + + + + + + +
Skip to content

📠 Change Log

9.8.10

2024-06-06

  • 🐞 Fix the issue of blurry drawing of basic graphics rect, line.
  • 🐞 Fix the inaccurate zooming issue of instance methods zoomAtCoordinate, zoomAtDataIndex and zoomAtTimestamp.
  • 🐞 Fix the issue of possible error in x-axis zooming.
  • 💄 Optimize the instance method subscribeAction. When type is 'onScroll' and 'onZoom', the callback method adds a new parameter.
  • 💄 Optimize the sub-item attrs in the indicator attribute figures. Add callback parameter data.

9.8.9

2024-05-28

  • 🐞 Fix style configuration yAxis.type: 'percentage' error.
  • 🐞 Fix declaration issue in typescript.

9.8.8

2024-05-14

  • 🐞 Fix the issue that the style configuration candle.tooltip.custom cannot be overridden when it is an array.
  • 🐞 Fix the issue of decimal folding.
  • 💄 Optimize the parameter precision in the overlay callback method.

9.8.7

2024-05-10

  • 🐞 Fix the issue of unsynchronized price and volume precision in indicator precision.

9.8.6

2024-05-07

  • 🐞 Fix an issue that chart API registerIndicator and registerOverlay parameters extendData cannot take effect.
  • 🐞 Fix an issue of incorrect decimal folding when specifying . as the thousandth character.
  • 🐞 Fix an issue where overlays may not be moved after being created.

9.8.5

2024-04-14

  • 💄 Optimize the default right offset distance of the chart.
  • 🐞 Fix area chart display issue.
  • 🐞 Fix occasional blank spaces in chart.

9.8.3

2024-04-12

  • 💄 Optimize styles by adding offsetLeft, offsetTop, offsetRight and offsetBottom to candle.tooltip and indicator.tooltip.
  • 💄 Optimize figure and support array for attrs.
  • 💄 Optimize y-axis render.
  • 💄 Optimize default display, change the default candle width to 8.
  • 🐞 Fix applyMoreData add duplicate data issue. @cryptotooltop

9.8.2

2024-03-26

  • 💄 Optimize the display of the area chart.
  • 💄 Optimize smooth line drawing.
  • 🐞 Fix the overlay and drawing it to future time may not be an issue.

9.8.1

2024-03-13

  • 🐞 Fix an issue where initialize only xAxis in layout caused the chart to fail to initialize.
  • 🐞 Fix an issue when modify the built-in indicator VOL to calcParams.
  • 💄 Optimize the accuracy of width calculation when display decimal fold on the y-axis.
  • 💄 Optimize wheel event trigger.

9.8.0

2024-03-04

  • 🆕 Support custom coordinate axis.
  • 🆕 Support indicator mapping to future time.
  • 🆕 Support folding long decimals.
  • 🆕 Support adding data forward and backward.
  • 🐞 Fix formatting time issue for different browsers.

2024-01-12

  • 🐞 Fix the issue of ineffective indicator attributes minValue and maxValue.
  • 🐞 Fix the display issue on the x-axis of the overlay.
  • 💄 Optimize the display of style candle.type: 'ohlc'.
  • 💄 Optimize drawing clarity.

9.7.1

2023-12-18

  • 🐞 Fix indicators and overlays methods not effect error.
  • 🐞 Fix package manager download node version dependency error.

9.7.0

2023-12-12

  • 🆕 Add instance apissetMaxOffsetLeftDistance and setMaxOffsetRightDistance.
  • 🆕 Add indicator attribute zLevel.
  • 💄 Optimize the rendering of the ohlc candle bar.
  • 🐞 Fix the blurry issue with the candle bar.
  • 🐞 Fix the rendering rules for the zLevel overlay.

9.6.0

2023-11-14

  • 🖋️ Refactor the separator module.
  • 🆕 Chart api init(ds, options), parameter options add layout.
  • 🆕 Instance api createIndicator(value, isStack, paneOptions, callback), parameter PaneOptions add position.
  • 🆕 Style candle.tooltip.custom adds turnover string template.
  • 💄 Optimize the style overlay.text configuration.
  • 💄 Optimize the implementation of utils.clone and utils.merge.
  • 🐞 Fix the issue of multiple overlay styles display error.
  • 🐞 Fix the issue of multiple indicator styles display error.

9.5.4

2023-09-22

  • 🐞 Fix the issue of not display the latest price line when the style candle.type is area.
  • 🐞 Fix the issue of incorrect display of the style crosshair.vertical.text.paddingLeft.

9.5.3

2023-09-19

  • 🐞 Fix typescript import error.

9.5.2

2023-09-18

  • 💄 Optimize the figure text.
  • 💄 Optimize built-in overlays simpleAnnotation and simpleTag.
  • 💄 Optimize the free style of technical indicators and support increment.
  • 🐞 Fix typescript declaration issue.

9.5.1

2023-08-14

  • 🆕 Add chart api getOverlayClass.
  • 🆕 Style configuration candle.tooltip.custom add built-in support change.
  • 💄 Optimize figure rect event trigger.
  • ↩️ Separator event trigger optimization rollback.

9.5.0

2023-06-15

  • 🆕 Overlay add event onDoubleClick, add property modeSensitivity.
  • 🆕 Style configuration candle.tooltip.custom supports string templates.
  • 🐞 Optimize the scrolling frame drop issue on the mobile side.
  • 🐞 Fix pane id naming typo.
  • 💄 Optimize the response sensitivity of dividing line events.
  • 💄 Optimize the attrs type declaration in OverlayFigure under typescript.

9.4.0

2023-05-25

  • 🆕 Instance API 'createOverlay' supports arrays.
  • 🆕 overlay add attributes paneId, defaultZLevel and zLevel.
  • 🆕 xAxis add methods convertTimestampFromPixel and convertTimestampToPixel.
  • 💄 Optimize the display of candle.

9.3.0

2023-05-13

  • 🆕 Add chart API utils.calcTextWidth.
  • 🆕 The instance APIs createIndicator(value, isStack, options) and setPaneOptions(options) have added options. axisOptions.
  • 🆕 The indicator graphic configuration supports customization.
  • 💄 Optimize the bar width ratio.
  • 💄 Optimize internal acquisition of screen pixel ratio.
  • 💄 Optimize internal ID generation.

9.2.2

2023-05-04

  • 🐞 Fix figure line check event error.
  • 💄 Optimize type check.

9.2.1

2023-04-27

  • 💄 Optimize the default style by changing #EF5350 to #F92855 and #26A69A to #2DC08E.
  • 💄 Optimize typescript declarations.

9.2.0

2023-04-24

  • 🆕 Add instance API getOffsetRightDistance and executeAction.
  • 🆕 Add success callback for instance API applyNewData, applyMoreData and updateData.
  • 🆕 Support the display of thousands.
  • 🆕 Add style configuration candle.bar.upBorderColor, candle.bar.downBorderColor, candle.bar.noChangeBorderColor, candle.bar.upWickColor, candle.bar.downWickColor, candle.bar.noChangeWickColor, candle.tooltip.rect.position and candle.tooltip.rect.offsetBottom.
  • 🆕 Add realFrom and realTo to all visibleRange.
  • 💄 Optimize API, klinecharts.utils.isValid and klinecharts.utils.formatBigNumber.
  • 💄 Optimize the log output in the development environment.

9.1.3

2023-04-15

  • 🐞 Fix the issue of not refreshing when the input parameter of the chart API applyNewData is an empty array.
  • 🐞 Fix the issue of cross cursor text not displaying on the y-axis when there is no data.
  • 💄 Optimize the display of area chart.
  • 💄 Optimize coverage event callback parameters and add figureKey and figureIndex.
  • 💄 Optimize typescript overlay style types, as well as base types DeepPartial and DeepRequired.

9.1.2

2023-04-10

  • 🐞 Fix the issue of inaccurate triggering events for the built-in figure line.
  • 🐞 Fix the issue of triggering events for the first time after the simpleAnnotation and simpleTag built-in overlays are drawn.
  • 💄 Optimize overlay figure to ignore events and support event selection.

9.1.1

2023-03-14

  • 🐞 Fix the invalidity of the built-in figure arc.
  • 💄 Optimize rendering updates.

9.1.0

2023-02-23

  • 🆕 The chart instance method subscribeAction and unsubscribeAction types add onCandleBarClick.
  • 🆕 The overlay supports double-clicking to force the end of drawing.
  • 💄 Optimize event handling.

9.0.1

2023-02-17 🐞 Fix the introduction of typescript.

9.0.0

2023-02-16

  • 🛠 Typescript refactoring.
  • 🆕 New features
    • Add Y axis direction zoom and scroll.
    • API
      • New chart methods registerFigure, getSupportFigures, getFigureClass, rigiderOverlay, getSupportOverlays, registerLocale, getSupportLocales, registerStyles are added.
      • New instance methods, getSize, setLocale, getLocal, setCustomApi, getVisibleRange, createOverlay, getOverlayById, overrideOverlay, removeOverlay.
    • Style Configuration
      • Add candle.priceMark.last.text.borderStyle, candle.tooltip.icons, indicator.lastValueMark.text.borderStyle, indicator.tooltip.icons, crosshair.horizontal. text.borderStyle, crosshair.vertical.text.borderStyle.
  • 👉 Change
    • API
      • Chart method extension.addTechnicalIndicatorTemplate is changed to registerIndicator.
      • Chart method extension.addShapeTemplate is changed to registerOverlay.
      • Instance method setStyleOptions is changed to setStyles.
      • Instance method getStyleOptions is changed to getStyles.
      • Instance method setPaneOptions(options), options add new attribute gap.
      • Instance method setOffsetRightSpace is changed to setOffsetRightDistance.
      • Instance method createTechnicalIndicator is changed to createIndicator
      • Instance method overlayTechnicalIndicator is changed to overrideIndicator.
      • Instance method getTechnicalIndicatorByPaneId is changed to getIndicatorByPaneId.
      • Instance method removeTechnicalIndicator is changed to removeIndicator.
    • Style Configuration
      • All line.style options are changed to solid and dashed.
      • All dashValue is changed to dashedValue.
      • xAxis.height is changed to xAxis.size, xAxis.tickeText.paddingTop is changed to xAxis.tickeText.marinStart, and xAxis.tickeText.paddingBottom is changed to xAxis.tickeText.marinEnd.
      • yAxis.height is changed to yAxis.size, yAxis.tickeText.paddingTop is changed to yAxis.tickeText.marinStart, and yAxis.tickeText.paddingBottom is changed to yAxis.tickeText.marinEnd.
      • technicalIndicator.bar is changed to indicator.bars, technicalIndicator.line is changed to indicator.linestechnicalIndicator.circle is changed to indicator.circles
    • Custom Extension
      • The technical indicator attribute calcParams has been changed to support any type.
      • The technical indicator attribute plots is changed to figures.
      • The technical indicator attribute regeneratePlots is changed to' regeneratefigures'.
      • The technical indicator attribute calcTechnicalIndicator is changed to calc.
      • The technical indicator attribute render is changed to 'draw'.
  • 🗑 Abandonment
    • API
      • Delete instance methods getWidth, getHeight, and use getSize instead.
      • Delete instance methods createShape, createAnnotation, createTag, and use createOverlay instead.
      • Delete instance methods removeShape, removeAnnotation, removeTag. Use removeOverlay instead.
      • Delete the instance method setShapeOptions and use overrideOverlay instead.
      • Delete instance methods createHtml, removeHtml, addTechnicalIndicatorTemplate, getTechnicalIndicatorTemplate, addShapeTemplate.
    • Style Configuration
      • Delete shape, annotation, tag and use overlay instead.
      • Delete candle.margintechnicalIndicator.margin
    • Custom Extension
      • The related attributes are no longer saved in the technical indicator template.
      • Delete Shape and use Overlay instead.

8.x

Go to Github to check the change log for 8.x.

7.x

Go to Github to check the change log for 7.x.

6.x

Go to Github to check the change log for 6.x.

5.x

Go to Github to view the 5.x release notes.

4.x

Go to Github to view the 4.x release notes.

+ + + + \ No newline at end of file diff --git a/en-US/guide/chart-api.html b/en-US/guide/chart-api.html new file mode 100644 index 0000000..3c60ca1 --- /dev/null +++ b/en-US/guide/chart-api.html @@ -0,0 +1,440 @@ + + + + + + Chart API | KLineChart + + + + + + + + + + + + + + + +
Skip to content

Chart API

init(ds, options)

typescript
(
+   ds: string | HTMLElement,
+   options?: {
+      layout?: Array<{
+         type: 'candle' | 'indicator' | 'xAxis'
+         content: Array<Indicator | string>
+         options: {
+            id?: string
+            height?: number
+            minHeight?: number
+            dragEnabled?: boolean
+            position?: 'top' | 'bottom'
+            gap?: {
+               top?: number
+               bottom?: number
+            }
+            axisOptions?: {
+               name?: string
+               scrollZoomEnabled?: boolean
+            }
+         }
+      }>
+      locale?: string
+      timezone?: string
+      styles?: string | object
+      customApi?: {
+         formatDate?: (dateTimeFormat: Intl.DateTimeFormat, timestamp: number, format: string, type: number) => string
+         formatBigNumber?: (value: string | number) => string
+      }
+      thousandsSeparator?: string
+      decimalFoldThreshold?: number
+   }
+) => Chart

Initialize a chart and return the chart instance.

  • ds container, can be dom element or element id.
  • options optional configuration items.
    • layout custom layout, content and options refer to the input parameters value and options in the instance api createIndicator. ^9.6.0
    • locale language, built-in support for zh-CN and en-US.
    • timezone time zone name, such as 'Asia/Shanghai', if not set, it will automatically get the local time zone, please refer to timezone list.
    • styles It can be the style name registered through klinecharts.registerStyles, or it can be an object, a list of styles, see styles for details, and supports increments.
    • customApi customize some APIs.
      • formatDate formats a date.
      • formatBigNumber format big numbers, such as 1000 into 1k, 1000000 into 1M, etc.\
    • thousandsSeparator thousands separator
    • decimalFoldThreshold decimal fold threshold ^9.8.0

dispose(dcs)

typescript
(dcs: HTMLElement | Chart | string) => void

Destroys a chart, once destroyed the chart will no longer be available.

  • dcs can be a dom element, element id or chart instance.

registerLocale(locale, locales)

typescript
(
+   locale: string,
+   locales: {
+     time: string
+     open: string
+     high: string
+     low: string
+     close: string
+     volume: string
+   }
+) => void

Add a localization language. Charts have built-in zh-CN and en-US.

  • locale language name
  • locales language configuration

getOverlayClass()

typescript
(name: string) => Nullable<OverlayConstructor>

Get chart's overlay attributes by overlay name.

getSupportedLocales()

typescript
() => string[]

Get the localized language types supported by the chart.

registerStyles(name, styles)

typescript
(
+   name: string,
+   styles: object
+) => void

Add a style configuration.

  • name style name
  • styles style configuration, refer to style for the type, support increment.

registerFigure(figure)

typescript
(
+   figure: {
+      name: string
+      draw: (ctx: CanvasRenderingContext2D, attrs: any, styles: object) => void
+      checkEventOn: (coordinate: Coordinate, attrs: any, styles: object) => boolean
+   }
+) => void

Add a figure.

  • figure Basic figure information, see figure for details
    • name name, unique identifier
    • draw drawing method
    • checkEventOn checks if the event is on the graph

getSupportedFigures()

typescript
() => string[]

Get the basic graph type supported by the graph.

getFigureClass(name)

typescript
(name: string) => Figure

Get graph class.

  • name name

registerIndicator(indicator)

typescript
(
+   indicator: {
+      name: string
+      shortName?: string
+      precision?: number
+      calcParams?: any[]
+      shouldOhlc?: boolean
+      shouldFormatBigNumber?: boolean
+      visible?: boolean
+      extendData?: any
+      series?: 'normal' | 'price' | 'volume'
+      figures?: Array<{
+         key: string
+         title?: string
+         type?: string
+         baseValue?: number
+         attrs?: ({
+            data: object
+            coordinate: object
+            bounding: object
+            barSpace: object
+            xAxis: object
+            yAxis: object
+         }) => object
+         styles?: (
+            data: object,
+            indicator: object,
+            defaultStyles: object
+         ) => object
+      }>
+      minValue?: number
+      maxValue?: number
+      styles?: object
+      calc: (dataList: KLineData[], indicator: object) => Promise<object[]> | object[]
+      regenerateFigures?: (calcParms: any[]) => Array<{
+         key: string
+         title?: string
+         type?: string
+         baseValue?: number
+         styles?: (
+            data: object
+            indicator: object
+            defaultStyles: object
+         ) => object
+         attrs: (
+            coordinate: object
+            bounding: Bounding
+            barSpace: BarSpace
+            xAxis: XAxis
+            yAxis: YAxis
+         ) => object
+      }>
+      createTooltipDataSource?: (params: object) => {
+         name?: string
+         calcParamsText?: string
+         values?: Array<{
+            title: string | {
+               text: string
+               color: string
+            }
+            value: string | {
+               text: string
+               color: string
+            }
+         }>
+      }
+      draw?: (params: object) => boolean
+   }
+) => void

Add a technical indicator.

  • indicator technical indicator information
    • name indicator name, unique identifier for creation and operation
    • shortName short name for display
    • precision precision
    • calcParams calculation parameters
    • shouldOhlc needs ohlc auxiliary graphics
    • shouldFormatBigNumber should format large numbers. For example, 1000 is converted to 1k, 1000000 is converted to 1M, etc.
    • visible visible or not
    • extendData extended data
    • series indicator series, options are 'normal', 'price' and 'volume'
    • figures graphics configuration
    • minValue specifies the minimum value
    • maxValue specifies the maximum value
    • styles styles
    • calc calculation method
    • regenerateFigures method to regenerate figure information
    • createTooltipDataSource method to create custom tip information
    • draw custom drawing method

getSupportedIndicators()

typescript
() => string[]

Get technical indicators for chart support.

registerOverlay(overlay)

typescript
(
+   overlay: {
+      name: string
+      totalStep?: number
+      lock?: boolean
+      visible?: boolean
+      zLevel?: number
+      needDefaultPointFigure?: boolean
+      needDefaultXAxisFigure?: boolean
+      needDefaultYAxisFigure?: boolean
+      mode?: 'normal' | 'weak_magnet' | 'strong_magnet'
+      modeSensitivity?: number
+      points?: Array<{ timestamp: number, dataIndex?: number, value?: number }>
+      extendData?: any
+      styles?: object
+      createPointFigures?: (params: object) => {
+         key?: string
+         type: string
+         attrs: any | any[]
+         styles?: any
+         ignoreEvent?: boolean | OverlayFigureIgnoreEventType[]
+      } | Array<{
+         key?: string
+         type: string
+         attrs: any | any[]
+         styles?: any
+         ignoreEvent?: boolean | OverlayFigureIgnoreEventType[]
+      }>
+      createXAxisFigures?: (params: object) => {
+         key?: string
+         type: string
+         attrs: any | any[]
+         styles?: any
+         ignoreEvent?: boolean | OverlayFigureIgnoreEventType[]
+      } | Array<{
+         key?: string,
+         type: string,
+         attrs: any | any[]
+         styles?: any
+         ignoreEvent?: boolean | OverlayFigureIgnoreEventType[]
+      }>
+      createYAxisFigures?: (params: object) => {
+         key?: string
+         type: string
+         attrs: any | any[]
+         styles?: any
+         ignoreEvent?: boolean | OverlayFigureIgnoreEventType[]
+      } | Array<{
+         key?: string
+         type: string
+         attrs: any | any[]
+         styles?: any
+         ignoreEvent?: boolean | OverlayFigureIgnoreEventType[]
+      }>
+      performEventPressedMove?: (params: object) => void
+      performEventMoveForDrawing?: (params: object) => void
+      onDrawStart?: (event: object) => boolean
+      onDrawing?: (event: object) => boolean
+      onDrawEnd?: (event: object) => boolean
+      onClick?: (event: object) => boolean
+      onDoubleClick?: (event: object) => boolean
+      onRightClick?: (event: object) => boolean
+      onPressedMoveStart?: (event: object) => boolean
+      onPressedMoving?: (event: object) => boolean
+      onPressedMoveEnd?: (event: object) => boolean,
+      onMouseEnter?: (event: object) => boolean
+      onMouseLeave?: (event: object) => boolean
+      onRemoved?: (event: object) => boolean
+      onSelected?: (event: object) => boolean
+      onDeselected?: (event: object) => boolean
+   }
+) => void

Add a overlay.

  • overlay overlay information, see overlay for details
    • name overlay name, unique identifier for creation
    • totalStep total implementation steps
    • lock is locked to prevent dragging
    • visible visible or not
    • zLevel draw level
    • needDefaultPointFigure needs the default point figure
    • needDefaultXAxisFigure needs the default x-axis figure
    • needDefaultYAxisFigure needs the default y-axis figure
    • mode mode, options are 'normal', 'weak_magnet' and 'strong_magnet'
    • modeSensitivity mode sensitivity, only valid when mode is weak_magnet ^9.5.0
    • points point information
    • extendData extended data
    • styles styles
    • createPointFigures creates figures corresponding to points
    • createXAxisFigures creates figures on the x-axis
    • createYAxisFigures creates figures on the y-axis
    • performEventPressedMove special handling method for press and move event
    • performEventMoveForDrawing special processing method during moving event
    • onDrawStart start drawing event
    • onDrawing drawing event
    • onDrawEnd draw end event
    • onClick click event
    • onDoubleClick double click event ^9.5.0
    • onRightClick right click event
    • onPressedMoveStart press start move event
    • onPressedMoving Press and move event
    • onPressedMoveEnd Press and move end event
    • onMouseEnter mouse enter event
    • onMouseLeave mouse out event
    • onRemoved delete event
    • onSelected selected event
    • onDeselected deselected event

getSupportedOverlays()

typescript
() => string[]

Get overlays for chart support.

registerXAxis(axis) ^9.8.0

typescript
(
+  axis: {
+    name: string
+    createTicks: (params: object) => Array<{
+      coord: number
+      value: number | string
+      text: string
+    }>
+  }
+) => void

Add custom x-axis.

  • axis axis info
    • name axis name
    • createTicks create ticks

registerYAxis(axis) ^9.8.0

typescript
(
+  axis: {
+    name: string
+    createTicks: (params: object) => Array<{
+      coord: number
+      value: number | string
+      text: string
+    }>
+  }
+) => void

Add custom y-axis.

  • axis axis info
    • name axis name
    • createTicks create ticks

version()

typescript
() => string

Get the current version number of the chart.

utils

A collection of helper methods.

utils.clone(target)

typescript
(target: any) => any

deep copy.

utils.merge(target, source)

typescript
(target: object, source: object) => void

Merge one object into another.

utils.isString(value)

typescript
(value: any) => boolean

Checks if a value is a string.

utils.isNumber(value)

typescript
(value: any) => boolean

Checks if a value is a number.

utils.isValid(value)

typescript
(value: any) => boolean

Checks if a value is valid.

utils.isObject(value)

typescript
(value: any) => boolean

Checks if a value is an object.

utils.isFunction(value)

typescript
(value: any) => boolean

Checks if a value is a method.

utils.isBoolean(value)

typescript
(value: any) => boolean

Checks if a value is a bool value.

utils.formatValue(value, key, defaultValue)

typescript
(data: any, key: string, defaultValue?: any) => any

Get the corresponding value from a certain value, support nesting, such as const o = { a: { b: { c: 1 } } }, formatValue(o, 'a.b.c') takes the value of c .

utils.formatPrecision(value)

typescript
(value: string | number, precision?: number) => string

Formatting precision.

utils.formatBigNumber(value)

typescript
(value: string | number) => string

Format large numbers, such as 1000 into 1k, 1000000 into 1M, etc.

utils.formatDate(dateTimeFormat, timestamp, format)

typescript
(dateTimeFormat: Intl.DateTimeFormat, timestamp: number, format: string) => string

Format date. format, such as 'YYYY-MM-DD HH:mm:ss'.

utils.formatThousands(value, sign)

typescript
(value: string | number, sign: string) => string

Format thousands separator.

utils.formatFoldDecimal(value, threshold) ^9.8.0

typescript
(value: string | number, threshold: number) => string

Format fold decimal.

utils.calcTextWidth(text, size, weight, family) ^9.3.0

typescript
(text: string, size?: number, weight?: string | number, family?: string) => number

Calculate text width.

utils.getLinearSlopeIntercept(coordinate1, coordinate2)

typescript
(
+   coordinate1: {
+      x: number
+      y: number
+   },
+   coordinate2: {
+      x: number
+      y: number
+   }
+) => []

According to two coordinate points, get the slope and constant term of the line composed of points, namely k and b in y = kx + b.

utils.getLinearYFromCoordinates(coordinate1, coordinate2, targetCoordinate)

typescript
(
+  coordinate1: {
+      x: number
+      y: number
+   },
+   coordinate2: {
+      x: number
+      y: number
+   },
+   targetCoordinate: {
+      x: number
+      y: number
+   }
+) => number

Get the y-axis coordinate value of a point on the line formed by two other coordinate points.

utils.getLinearYFromSlopeIntercept(kb, targetCoordinate)

typescript
(
+   kb: Array<number>,
+   targetCoordinate: {
+      x: number
+      y: number
+   }
+) => number

Get the y-coordinate value of a point on the line formed by the slope and the constant term.

utils.checkCoordinateOnArc(coordinate, arc)

typescript
(
+   coordinate: {
+      x: number
+      y: number
+   },
+   arc: {
+      x: number
+      y: number
+      r: number
+      startAngle: number
+      endAngle: number
+   }
+) => boolean

Check whether a certain coordinate point is on the arc.

  • coordinate coordinate point information
  • arc arc parameter
    • x the x-axis value of the center of the circle
    • y the y-axis value of the center of the circle
    • r radius
    • startAngle start angle
    • endAngle end angle

utils.checkCoordinateOnCircle(coordinate, circle)

typescript
(
+   coordinate: {
+      x: number
+      y: number
+   },
+   circle: {
+      x: number
+      y: number
+      r: number
+   }
+) => boolean

Checks whether a certain coordinate point is on a circle.

  • coordinate coordinate point information
  • circle circle parameter
    • x the x-axis value of the center of the circle
    • y the y-axis value of the center of the circle
    • r radius

utils.checkCoordinateOnLine(coordinate, line)

typescript
(
+   coordinate: {
+      x: number
+      y: number
+   },
+   line: {
+      coordinates: Array<{
+         x: number
+         y: number
+      }>
+   }
+) => boolean

Check if a certain coordinate point is on the line.

utils.checkCoordinateOnPolygon(coordinate, polygon)

typescript
(
+   coordinate: {
+      x: number
+      y: number
+   },
+   polygon: {
+      coordinates: Array<{
+         x: number
+         y: number
+      }>
+   }
+) => boolean

Checks whether a certain coordinate point is on a polygon.

utils.checkCoordinateOnRect(coordinate, rect)

typescript
(
+   coordinate: {
+      x: number
+      y: number
+   },
+   rect: {
+      x: number
+      y: number
+      width: number
+      height: number
+   }
+) => boolean

Checks whether a certain coordinate point is on a rectangle.

  • coordinate coordinate point information
  • rect rectangle parameter
    • x starting point x-axis value
    • y starting point y-axis value
    • width width
    • height height

utils.checkCoordinateOnText(coordinate, text, styles)

typescript
(
+   coordinate: {
+      x: number
+      y: number
+   },
+   text: {
+      x: number
+      y: number
+      text: any
+      align?: 'center' | 'end' | 'left' | 'right' | 'start'
+      baseline?: 'alphabetic' | 'bottom' | 'hanging' | 'ideographic' | 'middle' | 'top'
+   },
+   styles: {
+      color?: string
+      size?: number
+      family?: string
+      weight?: number | string
+   }
+) => boolean

Check if a certain coordinate point is on the text.

  • coordinate coordinate point information
  • text text parameter
    • x starting point x-axis value
    • y starting point y-axis value
    • text text content
    • align horizontal alignment
    • baseline vertical alignment
  • styles styles
    • color color
    • size size
    • family font
    • weight weight

utils.drawArc(ctx, arc, styles)

typescript
(
+   ctx: CanvasRenderingContext2D,
+   arc: {
+      x: number
+      y: number
+      r: number
+      startAngle: number
+      endAngle: number
+   },
+   styles: {
+      style?: 'solid' | 'dashed'
+      size?: number
+      color?: string
+      dashedValue?: number[]
+   }
+) => void

Draw an arc.

  • ctx canvas context
  • arc arc parameter
    • x the x-axis value of the center of the circle
    • y the y-axis value of the center of the circle
    • r radius
    • startAngle starting angle
    • endAngle end angle
  • styles styles
    • style arc style
    • size thickness
    • color color
    • dashedValue Dashed parameter value

utils.drawCircle(ctx, circle, styles)

typescript
(
+   ctx: CanvasRenderingContext2D,
+   circle: {
+      x: number
+      y: number
+      r: number
+   },
+   styles: {
+      style?: 'stroke' | 'fill' | 'stroke_fill'
+      color?: string | CanvasGradient
+      borderColor?: string
+      borderSize?: number
+      borderStyle?: 'solid' | 'dashed'
+      borderDashedValue?: Array<number>
+   }
+) => void

Draw the circle.

  • ctx canvas context
  • circle circle parameter
    • x the x-axis value of the center of the circle
    • y the y-axis value of the center of the circle
    • r radius
  • styles styles
    • style style
    • color color
    • borderColor border color
    • borderSize border thickness
    • borderStyle border style
    • borderDashedValue border dashed line parameter value

utils.drawLine(ctx, line, styles)

typescript
(
+   ctx: CanvasRenderingContext2D,
+   line: {
+      coordinates: Array<{
+         x: number
+         y: number
+      }>
+   },
+   styles: {
+      style?: 'solid' | 'dashed'
+      size?: number
+      color?: string
+      dashedValue?: number[]
+   }
+) => void

Draw the line.

  • ctx canvas context
  • line line parameter
  • styles styles
    • style line style
    • size thickness
    • color color
    • dashedValue Dashed parameter value

utils.drawPolygon(ctx, polygon, styles)

typescript
(
+   ctx: CanvasRenderingContext2D,
+   polygon: {
+      coordinates: Array<{
+         x: number
+         y: number
+      }>
+   },
+   styles: {
+      style?: 'stroke' | 'fill' | 'stroke_fill'
+      color?: string | CanvasGradient
+      borderColor?: string
+      borderSize?: number
+      borderStyle?: 'solid' | 'dashed'
+      borderDashedValue?: Array<number>
+   }
+) => void

Draw the polygon.

  • ctx canvas context
  • polygon polygon parameter
  • styles styles
    • style style
    • color color
    • borderColor border color
    • borderSize border thickness
    • borderStyle border style
    • borderDashedValue border dashed line parameter value

utils.drawRect(ctx, rect, styles)

typescript
(
+   ctx: CanvasRenderingContext2D,
+   rect: {
+      x: number
+      y: number
+      width: number
+      height: number
+   },
+   styles: {
+      style?: 'stroke' | 'fill' | 'stroke_fill'
+      color?: string | CanvasGradient
+      borderColor?: string
+      borderSize?: number
+      borderStyle?: 'solid' | 'dashed'
+      borderDashedValue?: Array<number>
+      borderRadius?: number
+   }
+) => void

Draw a rectangle.

  • ctx canvas context
  • rect rectangle parameter
    • x starting point x-axis value
    • y starting point y-axis value
    • width width
    • height height
  • styles styles
    • style style
    • color color
    • borderColor border color
    • borderSize border thickness
    • borderStyle border style
    • borderDashedValue border dashed line parameter value
    • borderRadius border radius

utils.drawRectText(ctx, rectText, styles)

typescript
(
+   ctx: CanvasRenderingContext2D,
+   rectText: {
+      x: number
+      y: number
+      text: any
+      width?: number
+      height?: number
+      align?: 'center' | 'end' | 'left' | 'right' | 'start'
+      baseline?: 'alphabetic' | 'bottom' | 'hanging' | 'ideographic' | 'middle' | 'top'
+   },
+   styles: {
+      style?: 'stroke' | 'fill' | 'stroke_fill'
+      color?: string
+      size?: number
+      family?: string
+      weight?: number | string
+      paddingLeft?: number
+      paddingTop?: number
+      paddingRight?: number
+      paddingBottom?: number
+      borderStyle?: 'solid' | 'dashed'
+      borderDashedValue?: number[]
+      borderSize?: number
+      borderColor?: string
+      borderRadius?: number
+      backgroundColor?: string
+   }
+) => void

Draw text.

  • ctx canvas context
  • rectText text parameter
    • x starting point x-axis value
    • y starting point y-axis value
    • text text content
    • width width
    • height height
    • align horizontal alignment
    • baseline vertical alignment
  • styles styles
    • style style
    • color color
    • size size
    • family font
    • weight weight
    • paddingLeft left padding,
    • paddingTop top padding,
    • paddingRight right padding,
    • paddingBottom bottom padding,
    • borderColor border color
    • borderSize border thickness
    • borderStyle border style
    • borderRadius border radius size
    • borderDashedValue border dashed line parameter value
    • backgroundColor background color

utils.drawRectText(ctx, rectText, styles)

Same as utils.drawRectText(ctx, text, styles), it is deprecated and will be deleted after v10. Please use utils.drawRectText(ctx, text, styles) instead.

+ + + + \ No newline at end of file diff --git a/en-US/guide/custom-axis.html b/en-US/guide/custom-axis.html new file mode 100644 index 0000000..417ae43 --- /dev/null +++ b/en-US/guide/custom-axis.html @@ -0,0 +1,101 @@ + + + + + + Custom Axis ^9.8.0 | KLineChart + + + + + + + + + + + + + + + +
Skip to content

Custom Axis ^9.8.0

Chart support custom axis, which can be achieved through the chart api registerXAxis(axis) and registerYAxis(axis).

Input params introduction

typescript
{
+  // axis name
+  name: string
+  // implementation of create ticks
+  createTicks: (params: {
+    // range info
+    range: {
+      from: number
+      to: number
+      range: number
+      realFrom: number
+      realTo: number
+      realRange: number
+    }
+    // viewport
+    bounding: {
+      width: number
+      height: number
+      left: number
+      right: number
+      top: number
+      bottom: number
+    }
+    // default ticks info
+    defaultTicks: Array<{
+      coord: number
+      value: number | string
+      text: string
+    }>
+  }) => Array<{
+    coord: number
+    value: number | string
+    text: string
+  }>
+}

Usage

After register completed, you can use the sub item options.axisOptions.name in the options.layout parameter of the chart api init(ds, options) to specify the coordinate axis, or use the instance api createIndicator(value, isStack, paneOptions, callback) and setPaneOptions(paneOptions) parameter paneOptions.axisOptions.name to specify it.

Using init of chart api

typescript
init(
+  // The domId here uses its own defined container ID instead
+  `${domId}`,
+  {
+    layout: [
+      {
+        type: 'candle',
+        options: {
+          axisOptions: {
+            // The customYAxisName here uses the name used when customizing the y-axis instead
+            name: `${customYAxisName}`
+          }
+        }
+      },
+      {
+        type: 'xAxis',
+        options: {
+          position: 'bottom',
+          axisOptions: {
+            // The customXAxisName here uses the name used when customizing the x-axis instead
+            name: `${customXAxisName}`
+          }
+        }
+      }
+    ]
+  }
+)

Using createIndicator of instance api

typescript
createIndicator(
+  'MA',
+  false,
+  {
+    axisOptions: {
+      // The customYAxisName here uses the name used when customizing the y-axis instead
+      name: `${customYAxisName}`
+    }
+  }
+)

Using setPaneOptions of instance api

typescript
setPaneOptions({
+  id: 'candle_pane',
+  axisOptions: {
+    // The customYAxisName here uses the name used when customizing the y-axis instead
+    name: `${customYAxisName}`
+  }
+})
+ + + + \ No newline at end of file diff --git a/en-US/guide/data-source.html b/en-US/guide/data-source.html new file mode 100644 index 0000000..40bf60a --- /dev/null +++ b/en-US/guide/data-source.html @@ -0,0 +1,41 @@ + + + + + + 📚 Data | KLineChart + + + + + + + + + + + + + + + +
Skip to content

📚 Data

The data required for the chart must be in a fixed format. Through the chart API applyNewData(dataList, more), applyMoreData(dataList, more) and updateData(data) to interact data with the chart.

typescript
{
+  // Timestamp, millisecond, required fields
+  timestamp: number
+  // Open price, required fields
+  open: number
+  // Close price, required field
+  close: number
+  // Highest price, required field
+  high: number
+  // Lowest price, required field
+  low: number
+  // volume, optional field
+  volume: number
+  // Turnover, a non-required field, if you need to display the technical indicators 'EMV' and 'AVP', you need to fill this field with data.
+  turnover: number
+}
+ + + + \ No newline at end of file diff --git a/en-US/guide/environment.html b/en-US/guide/environment.html new file mode 100644 index 0000000..fabd4df --- /dev/null +++ b/en-US/guide/environment.html @@ -0,0 +1,29 @@ + + + + + + 🏝️ Environment | KLineChart + + + + + + + + + + + + + + + +
Skip to content

🏝️ Environment

Browser support

The chart is built based on html5 canvas and needs to run on a browser that supports canvas. If it needs to run on the mobile terminal, please use webview to load it.

Polyfill

core.js

The internal collection of the chart uses Map for compatibility with unsupported older browsers.

javascript
import 'core.js';
+import { init } from 'klincharts';

Intl.js

Charts rely on Intl, some browsers do not have this API.

javascript
import 'intl';
+import 'intl/local-data/jsonp/en';
+import { init } from 'klincharts';
+ + + + \ No newline at end of file diff --git a/en-US/guide/figure.html b/en-US/guide/figure.html new file mode 100644 index 0000000..5bbf64f --- /dev/null +++ b/en-US/guide/figure.html @@ -0,0 +1,269 @@ + + + + + + Figure | KLineChart + + + + + + + + + + + + + + + +
Skip to content

Figure

Figure are an important part of the chart. All elements on the chart are composed of figures. If you need to make complex custom technical indicators and overlays, it is recommended to read carefully. This document describes the built-in figures and how to customize a figure. The basic figure can be obtained through the chart method klinecharts.getFigureClass(name).

Example of use

Note

It needs to be used when there is a canvas context.

javascript
// Get the figure class
+// name is the name of the figure, such as 'arc', 'circle', etc.
+const Figure = klinecharts.getFigureClass(name)
+// instantiate and draw
+// attrs attribute
+// styles styles
+// ctx canvas context
+new Figure(attrs, styles).draw(ctx)

Built-in figures

These figures are built into the chart, arc, circle, line, polygon, rect, text, rectText.

arc

typescript
new ({
+   attrs: {
+     // The x-axis coordinate value of the center of the circle
+     x: number
+     // The y-axis coordinate value of the center of the circle
+     y: number
+     // radius
+     r: number
+     // start angle
+     startAngle: number
+     // end angle
+     endAngle: number
+   },
+   styles: {
+     // style, optional `solid`, `dashed`
+     style?: 'solid' | 'dashed'
+     // size
+     size?: number
+     // color
+     color?: string
+     // dotted line parameter
+     dashedValue?: number[]
+   }
+}) => Figure

circle

typescript
new ({
+   attrs: {
+     // The x-axis coordinate value of the center of the circle
+     x: number
+     // The y-axis coordinate value of the center of the circle
+     y: number
+     // radius
+     r: number
+   },
+   styles: {
+     // style, optional `fill`, `stroke`, `stroke_fill`
+     style?: 'fill' | 'stroke' | 'stroke_fill'
+     // color
+     color?: string
+     // border style
+     borderStyle?: 'solid' | 'dashed'
+     // border color
+     borderColor?: string
+     // frame size
+     borderSize?: number
+     // border dotted line parameters
+     borderDashedValue?: number[]
+   }
+}) => Figure

line

typescript
new ({
+  attrs: {
+    // set of coordinates
+    coordinates: Array<{
+      x: number
+      y: number
+    }>
+  },
+  styles: {
+    // style, optional `solid`, `dashed`
+    style?: 'solid' | 'dashed'
+    // size
+    size?: number
+    // color
+    color?: string
+    // dotted line parameter
+    dashedValue?: number[]
+  }
+}) => Figure

###polygon

typescript
new ({
+  attrs: {
+    // set of coordinates
+    coordinates: Array<{
+      x: number
+      y: number
+    }>
+  },
+  styles: {
+    // style, optional `fill`, `stroke`, `stroke_fill`
+    style?: 'fill' | 'stroke' | 'stroke_fill'
+    // color
+    color?: string
+    // border style
+    borderStyle?: 'solid' | 'dashed'
+    // border color
+    borderColor?: string
+    // frame size
+    borderSize?: number
+    // border dotted line parameter
+    borderDashedValue?: number[]
+  }
+}) => Figure

rect

typescript
new ({
+  attrs: {
+    // The x-axis coordinate value of the starting point
+    x: number
+    // The y-axis coordinate value of the starting point
+    y: number
+    // width
+    width: number
+    // high
+    height: number
+  },
+  styles: {
+    // style, optional `fill`, `stroke`, `stroke_fill`
+    style?: 'fill' | 'stroke' | 'stroke_fill'
+    // color
+    color?: string
+    // border style
+    borderStyle?: 'solid' | 'dashed'
+    // border color
+    borderColor?: string
+    // frame size
+    borderSize?: number
+    // border dotted line parameters
+    borderDashedValue?: number[]
+    // Border fillet value
+    borderRadius?: number
+  }
+}) => Figure

text

typescript
new ({
+  attrs: {
+    // The x-axis coordinate value of the starting point
+    x: number
+    // The y-axis coordinate value of the starting point
+    y: number
+    // Fixed width
+    width: number
+    // Fixed height
+    height: number
+    // text content
+    text: any
+    // alignment
+    align: CanvasTextAlign
+     // benchmark
+    baseline: CanvasTextBaseline
+  },
+  styles: {
+    // style, optional `fill`, `stroke`, `stroke_fill`
+    style?: 'fill' | 'stroke' | 'stroke_fill'
+    // color
+    color?: string
+    // size
+    size?: number
+    // font
+    family?: string
+    // thickness
+    weight?: string | number
+    // left padding
+    paddingLeft?: number
+    // right padding
+    paddingRight?: number
+    // top padding
+    paddingTop?: number
+    // Bottom padding
+    paddingBottom?: number
+    // border style
+    borderStyle?: 'solid' | 'dashed'
+    // border color
+    borderColor?: string
+    // frame size
+    borderSize?: number
+    // border dotted line parameter
+    borderDashedValue?: number[]
+    // Border fillet value
+    borderRadius?: number
+    // background color
+    backgroundColor?: string | CanvasGradient
+  }
+}) => Figure

rectText

Same as text, it is deprecated and will be deleted after v10. Please use text instead.

Customize figure

To create a custom figure, you only need to generate the figure information, and then add it globally through klinecharts.registerFigure, and add it to the chart to use it like the built-in figures.

Attribute description

typescript
{
+  // Figure name, a required field, is the unique identifier for creation
+  name: string
+
+  // Check whether the event is on the graph, return a boolean value
+  checkEventOn: (
+    // coordinates of the event
+    coordinate: {
+      x: number
+      y: number
+    },
+    // graphics properties
+    attrs: any,
+     // style of the graph
+    styles: any
+  ) => boolean
+
+  // draw
+  draw: (
+    // canvas context
+    ctx: CanvasRenderingContext2D,
+    // figure properties
+    attrs: any,
+    // style of the figure
+    styles: any
+  ) => void
+}

Example

The customization is specified with a diamond that can have a border and a background.

Step.1

First determine the attributes and styles. Attribute { x, y, width, height }, x is the x-axis coordinate value of the center point, y is the y-axis coordinate value of the center point, width is the width, and height is the height. Style { style, color, borderStyle, borderSize, borderColor, dashedValue }, style is the style type, we can define three options stroke, fill, stroke_fill, stroke has only a border, fill Only the background, stroke_fill has a border and a background, color is the color, borderStyle is the border style, you can define two options solid and dashed, solid is a solid line, dashed is a dashed line, borderSize is the border size, borderColor is the border color, and dashedValue is the dashed line value.

Step.2

Implement checkEventOn and draw two methods.

javascript
{
+   name: 'diamond',
+   checkEventOn: (coordinate, attrs) => {
+     const { x, y, width, height } = attrs
+     const xDis = Math.abs(coordinate.x - x)
+     const yDis = Math.abs(coordinate.y - y)
+     return xDis * height + yDis * width < width * height / 2
+   },
+   draw: (ctx, attrs, styles) => {
+     const { x, y, width, height } = attrs
+     const {
+       style = 'fill',
+       color = 'currentColor',
+       borderSize = 1,
+       borderColor = 'currentColor',
+       borderStyle = 'solid,
+       borderDashedValue = [2, 2]
+     } = styles
+     // Draw a filled diamond
+     if (style === 'fill' || styles.style === 'stroke_fill') {
+       ctx.fillStyle = color
+       ctx.beginPath()
+       ctx.moveTo(x - width / 2, y)
+       ctx.lineTo(x, y - height / 2)
+       ctx.lineTo(x + width / 2, y)
+       ctx.lineTo(x, y + height / 2)
+       ctx. closePath()
+       ctx.fill()
+     }
+     // Draw a border diamond
+     if (style === 'stroke' || styles.style === 'stroke_fill') {
+       ctx.strokeStyle = borderColor
+       ctx.lineWidth = borderSize
+       if (borderStyle === 'dashed') {
+         ctx.setLineDash(borderDashedValue)
+       } else {
+         ctx. setLineDash([])
+       }
+       ctx.beginPath()
+       ctx.beginPath()
+       ctx.moveTo(x - width / 2, y)
+       ctx.lineTo(x, y - height / 2)
+       ctx.lineTo(x + width / 2, y)
+       ctx.lineTo(x, y + height / 2)
+       ctx. closePath()
+       ctx.stroke()
+     }
+   }
+}

So a custom figure is completed.

+ + + + \ No newline at end of file diff --git a/en-US/guide/hot-key.html b/en-US/guide/hot-key.html new file mode 100644 index 0000000..45aecfb --- /dev/null +++ b/en-US/guide/hot-key.html @@ -0,0 +1,26 @@ + + + + + + ⌨️ Hot Key | KLineChart + + + + + + + + + + + + + + + +
Skip to content

⌨️ Hot Key

Currently only supports moving and zooming.

  • shift + move right
  • shift + move left
  • shift + + zoom in
  • shift + - zoom out
+ + + + \ No newline at end of file diff --git a/en-US/guide/i18n.html b/en-US/guide/i18n.html new file mode 100644 index 0000000..911f31a --- /dev/null +++ b/en-US/guide/i18n.html @@ -0,0 +1,35 @@ + + + + + + 🌏 Internationalization | KLineChart + + + + + + + + + + + + + + + +
Skip to content

🌏 Internationalization

Currently, the chart has two built-in en-US and zh-CN. The default language is en-US. If you need to use other languages, you can refer to the following scheme.

Adding new language

Adding new language is accomplished through klinecharts.registerLocale(key, locales).

For example, to add traditional Chinese language, you can do this,

typescript
klinecharts.registerLocale('zh-HK', {
+  time: '時間:',
+  open: '開:',
+  high: '高:',
+  low: '低:',
+  close: '收:',
+  volume: '成交量:',
+  turnover: '成交額:',
+  change: '漲幅:'
+})

Use new language

After adding new language, you can complete language switching through the chart API init(options) or setLocale(key).

+ + + + \ No newline at end of file diff --git a/en-US/guide/indicator.html b/en-US/guide/indicator.html new file mode 100644 index 0000000..5f85bef --- /dev/null +++ b/en-US/guide/indicator.html @@ -0,0 +1,268 @@ + + + + + + Technical indicator | KLineChart + + + + + + + + + + + + + + + +
Skip to content

Technical indicator

This document introduces the built-in technical indicators in the chart and how to customize a technical indicator.

Built-in technical indicators

NameDefault calc paramsNameDefault calc paramsNameDefault calc params
MA[5, 10, 30, 60]BIAS[6, 12, 24]VR[24, 30]
EMA[6, 12, 20]BRAR[26]WR[6, 10, 14]
SMA[12, 2]CCI[13]MTM[6, 10]
BBI[3, 6, 12, 24]DMI[14, 6]EMV[14, 9]
VOL[5, 10, 20]CR[26, 10, 20, 40, 60]SAR[2, 2, 20]
MACD[12, 26, 9]PSY[12, 6]AO[5, 34]
BOLL[20, 2]DMA[10, 50, 10]ROC[12, 6]
KDJ[9, 3, 3]TRIX[12, 20]PVTNone
RSI[6, 12, 24]OBV[30]AVPNone

Custom Technical Indicators

To create a custom technical indicator, you only need to generate a technical indicator information, and then add it globally through klinecharts.registerIndicator, add it to the chart and use it like the built-in technical indicator.

Attribute description

typescript
{
+  // indicator name
+  name: string
+  // The short name of the indicator, used for display, the name will be displayed by default
+  shortName?: string
+  // precision, default is 4
+  precision?: number
+  // calculation parameter
+  calcParams?: any[]
+  // Do you need ohlc
+  shouldOhlc?: boolean
+  // Do you need to format large data values, starting from 1000, for example, do you need to format 100K for 100000
+  shouldFormatBigNumber?: boolean
+  // Do you need visible
+  visible?: boolean
+  // z level
+  zLevel?: number
+  // extended data
+  extendData?: any
+  // series, default is 'normal'
+  series?: 'normal' | 'price' | 'volume'
+  // Data information
+  figures?: Array<{
+    // Used to get the median value of the calculation result
+    key: string
+    // for tooltip display
+    title?: string
+    // graphic type
+    type?: string
+    // Base value, if given, it will be drawn up and down with this value, generally used when the type is 'rect'
+    baseValue?: number
+    // is a method
+    attrs?: ({
+      data: IndicatorFigureAttrsCallbackData
+      coordinate: IndicatorFigureAttrsCallbackCoordinate
+      bounding: Bounding
+      barSpace: BarSpace
+      xAxis: XAxis
+      yAxis: YAxis
+    }) => IndicatorFigureAttrs
+    // is a method
+    styles?: (
+      data: {
+        // The data of the previous graph
+        prev: {
+          // k-line data, type refer to [data source]
+          kLineData?: KLineData,
+          // technical indicator data
+          indicatorData?: any
+        },
+        // data of the current graph
+        current: {
+          kLineData?: KLineData
+          indicatorData?: any
+        },
+        // Data for the next graph
+        next: {
+          kLineData?: KLineData,
+          indicatorData?: any
+        }
+      },
+      // technical chart example
+      indicator: Indicator
+      // The default technical indicator style, that is, the technical indicator style set globally, refer to the indicator in [Style]
+      defaultStyles: IndicatorStyle
+    ) => IndicatorFigureStyle
+  }>,
+  // The specified minimum value, default null
+  minValue?: number
+  // The specified maximum value, default null
+  maxValue?: number
+  // style, support increment, default is null, type refer to indicator in [style]
+  styles?: IndicatorStyle
+  // calculation method, can be a promise
+  calc: (
+    // data source, see [data source] for type
+    dataList: KLineData[],
+    // technical indicator example
+    indicator: indicator
+  ) => Promise<Array<any>> | Array<any>
+  // Regenerate figure graphic configuration method, which will be triggered after the calculation parameters change, refer to figures for the return type, the default is null
+  regenerateFigures?: (
+    // calculation parameter
+    calcParms: any[]
+  ) => Array<IndicatorFigure<D>>
+  // Create a custom hint text
+  createTooltipDataSource?: (params: {
+    // data source, see [data source] for type
+    kLineDataList: KLineData[]
+    // technical indicator example
+    indicator: Indicator
+    // Visible area information
+    visibleRange: {
+      // start data index
+      from: number
+      // end data index
+      to: number
+      // real start data index
+      realFrom: number
+      // real end data index
+      realTo: number
+    },
+    // window size information
+    bounding: {
+      // width
+      width: number
+      // high
+      height: number
+      // distance to the left
+      left: number
+      // distance to the right
+      right: number
+      // distance from top
+      top: number
+      // distance from bottom
+      bottom: number
+    },
+    // Information about the cross cursor
+    crosshair: {
+      // The window id where the cross point of the cross cursor is located
+      paneId?: string
+      // real x coordinate
+      realX?: number
+      // k-line data, type refer to [data source]
+      kLineData?: KLineData
+      // data index
+      dataIndex?: number
+      // real data index
+      realDataIndex?: number
+    },
+    // The default technical indicator style, that is, the technical indicator style set globally, refer to the indicator in [Style]
+    defaultStyles: IndicatorStyle
+    // x-axis component, some built-in conversion methods
+    xAxis: XAxis
+    // y-axis component, with some built-in conversion methods
+    yAxis: YAxis
+  }) => ({
+    // name
+    name?: string
+    // Calculate the parameter text, if name has no value, it will not be displayed
+    calcParamsText?: string
+    // value information
+    values?: Array<{
+      title: string | {
+        text: string
+        color: string
+      }
+      value: string | {
+        text: string
+        color: string
+      }
+    }>
+  }),
+  // Custom drawing, if true is returned, the graphics configured by figures will not be drawn
+  draw?: (params: {
+    // canvas context
+    ctx: CanvasRenderingContext2D
+    // data source, see [data source] for type
+    kLineDataList: KLineData[]
+    // technical indicator example
+    indicator: Indicator
+    // Visible area information
+    visibleRange: {
+      // start data index
+      from: number
+      // endpoint data index
+      to: number
+    },
+    // window size information
+    bounding: {
+      // width
+      width: number
+      // high
+      height: number
+      // distance to the left
+      left: number
+      // distance to the right
+      right: number
+      // distance from top
+      top: number
+      // distance from bottom
+      bottom: number
+    },
+    // information about the size of the candlestick
+    barSpace: {
+      // candlestick size
+      bar: number
+      halfBar: number
+      // candlesticks do not include dimensions of gaps between candlesticks
+      gapBar: number
+      halfGapBar: number
+    },
+    // The default technical indicator style, that is, the technical indicator style set globally, refer to the indicator in [Style]
+    defaultStyles: IndicatorStyle
+    // x-axis component, some built-in conversion methods
+    xAxis: XAxis
+    // y-axis component, with some built-in conversion methods
+    yAxis: YAxis
+  }) => boolean
+}

Step.1

First determine the calculation parameters (calcParams) and configuration items (figures). The 'MA' technical indicator needs to display the line connecting the average closing price of the two periods, one is 'ma1' and the other is 'ma2'. So figures are configured as:

javascript
{
+   // The calculation parameters are 2, one calculates the mean value of 5 cycle times, namely 'ma1', and the other calculates the mean value of 10 cycle times, namely 'ma10'
+   calcParams: [5, 10],
+   figures: [
+     // first line 'ma5'
+     { key: 'ma1', title: 'MA5: ', type: 'line' },
+     // second line 'ma10'
+     { key: 'ma2', title: 'MA10: ', type: 'line' }
+   ]
+}

Step.2

Determine other attributes

javascript
{
+   name: 'MA',
+   shortName: 'MA',
+   calcParams: [5, 10],
+   figures: [
+     { key: 'ma1', title: 'MA5: ', type: 'line' },
+     { key: 'ma2', title: 'MA10: ', type: 'line' }
+   ],
+   // When the calculation parameters are changed, it is hoped that the prompt is the same as the parameters, that is, the value of title needs to be changed
+   regenerateFigures: (params) => {
+     return params. map((p, i) => {
+       return { key: `ma${i + 1}`, title: `MA${p}: `, type: 'line' }
+     })
+   },
+   // Calculation results
+   calc: (kLineDataList, { calcParams, figures }) => {
+     // Note: The number of returned data needs to be consistent with the number of data in kLineDataList. If there is no value, replace it with {}.
+     // It is best to take the callback parameter calcParams as the calculation parameter. If not, when the subsequent calculation parameters change, the calculation here cannot respond in time
+     const closeSums = []
+     return kLineDataList. map((kLineData, i) => {
+       const ma = {}
+       const close = kLineData. close
+       calcParams.forEach((param, j) => {
+         closeSums[j] = (closeSums[j] || 0) + close
+         if (i >= param - 1) {
+           ma[figures[j].key] = closeSums[j] / param
+           closeSums[j] -= kLineDataList[i - (param - 1)].close
+         }
+       })
+       // If there is a value, the data format of each item here should be { ma1: xxx, ma2: xxx }
+       // Each key needs to be consistent with the value corresponding to the subkey in figures
+       return ma
+     })
+   }
+}

So a custom indicator is completed.

+ + + + \ No newline at end of file diff --git a/en-US/guide/instance-api.html b/en-US/guide/instance-api.html new file mode 100644 index 0000000..9339ff1 --- /dev/null +++ b/en-US/guide/instance-api.html @@ -0,0 +1,552 @@ + + + + + + Instance API | KLineChart + + + + + + + + + + + + + + + +
Skip to content

Instance API

getDom(paneId, position)

typescript
(paneId?: string, position?: 'root' | 'main' | 'yAxis') => HTMLElement

Get the dom container.

  • paneId window id, the default is the entire chart container
  • position supports root, main, yAxis, the default is root

getSize(paneId, position)

typescript
(paneId?: string, position?: 'root' | 'main' | 'yAxis') => {
+   width: number
+   height: number
+   left: number
+   top: number
+   right: number
+   bottom: number
+}

Get the dimensions.

  • paneId window id, the default is the entire chart container
  • position position, supports root, main, yAxis, the default is root

setStyles(styles)

typescript
(styles: string | object) => HTMLElement

Set style configuration.

  • styles style configuration, which can be the style name registered through registerStyles. When it is an object, please refer to styles for details, and it supports merging.

getStyles()

typescript
() => object

Get the style configuration, return the complete type refer to styles.

setPriceVolumePrecision(pricePrecision, volumePrecision)

typescript
(pricePrecision: number, volumePrecision: number) => void

Setting the price and volume precision, while the technical indicator series is 'price' or 'volume' will also be affected.

  • pricePrecision price precision
  • volumePrecision volume precision

setTimezone(timezone)

typescript
(timezone: string) => void

Set the time zone.

  • timezone time zone name, such as 'Asia/Shanghai', if not set, it will automatically get the local time zone, please refer to Time Zone List.

getTimezone()

typescript
() => string

Get the chart time zone name.

setZoomEnabled(enabled)

typescript
(enabled: boolean) => void

Set whether to scale.

isZoomEnabled()

typescript
() => boolean

Whether it can be scaled.

setScrollEnabled(enabled)

typescript
(enabled: boolean) => void

Set whether dragging and scrolling is possible.

isScrollEnabled()

typescript
() => boolean

Whether dragging and scrolling is possible.

setOffsetRightDistance(distance)

typescript
(distance: number) => void

Set the gap that can be left to the right of the chart.

getOffsetRightDistance() ^9.2.0

typescript
() => number

Get the gap that can be left to the right of the chart.

setMaxOffsetLeftDistance() ^9.7.0

typescript
(distance: number) => void

Set the maximum available gap on the left side of the chart.

setMaxOffsetRightDistance() ^9.7.0

typescript
(distance: number) => void

Set the maximum available gap on the right side of the chart.

setLeftMinVisibleBarCount(barCount)

typescript
(barCount: number) => void

Set the minimum number of visible candles to the left.

setRightMinVisibleBarCount(barCount)

typescript
(barCount: number) => void

Set the minimum number of visible candles to the right.

setBarSpace(space)

typescript
(space: number) => void

Set the width of a single candlestick of the chart.

getBarSpace()

typescript
() => number

Gets the width of a single candlestick on the chart.

getVisibleRange()

typescript
() => {
+  from: number
+  to: number
+  realFrom: number
+  realTo: number
+}

Get visible range.

applyNewData(dataList, more, callback)

typescript
(
+  dataList: Array<{
+    timestamp: number
+    open: number
+    close: number
+    high: number
+    low: number
+    volume?: number
+    turnover?: number
+  }>,
+  more?: boolean,
+  callback?: () => void
+) => void

Add new data, this method will clear the chart data, no need to call the clearData method additionally.

  • dataList is an array of K-line data. For details of the data type, please refer to data
  • more tells the chart whether there is more historical data, can be defaulted, the default is true
  • callback success callback ^9.2.0

Note

callback has been deprecated since version 9.8.0, use subscribeAction('onDataReady', () => {}) instead.

applyMoreData(dataList, more, callback)

typescript
(
+  dataList: Array<{
+    timestamp: number
+    open: number
+    close: number
+    high: number
+    low: number
+    volume?: number
+    turnover?: number
+  }>,
+  more?: boolean,
+  callback?: () => void
+) => void

Add more historical data.

  • dataList is an array of K-line data. For details of the data type, please refer to data
  • more tells the chart whether there is more historical data, can be defaulted, the default is true
  • callback success callback ^9.2.0

Note

This api has been deprecated since version 9.8.0.

updateData(data, callback)

typescript
(
+  data: {
+    timestamp: number
+    open: number
+    close: number
+    high: number
+    low: number
+    volume?: number
+    turnover?: number
+  },
+  callback?: () => void
+) => void

Update data. Currently, only the timestamp of the last piece of data will be matched. If it is the same, it will be overwritten, and if it is different, it will be appended.

  • data single k-line data, please refer to data for details of data type
  • callback success callback ^9.2.0

Note

callback has been deprecated since version 9.8.0, use subscribeAction('onDataReady', () => {}) instead.

getDataList()

typescript
() => Array<{
+  timestamp: number
+  open: number
+  close: number
+  high: number
+  low: number
+  volume?: number
+  turnover?: number
+}>

Get the current data source of the chart. For the returned data type, please refer to data.

clearData()

typescript
() => void

Clear the data of the chart. Generally, it is not necessary to call it manually. In order to avoid repeated drawing, the data is only cleared here, and the chart will not be redrawn.

loadMore(cb)

typescript
(cb: (timestamp: number | null) => void) => void

Set load more callback function.

  • cb is a callback method, timestamp is the timestamp of the first piece of data

Note

This api has been deprecated since version 9.8.0, use setLoadDataCallback instead.

setLoadDataCallback(cb) ^9.8.0

typescript
(
+  cb: (params: { 
+    type: 'forward' | 'backward'
+    data: Nullable<KLineData>
+    callback: (dataList: KLineData[], more?: boolean) => void
+  }) => void
+) => void

Set auto load data callback

  • cb callback
    • params params
      • type forward or backward
      • data boundary data
      • callback used for returning data to chart

createIndicator(value, isStack, paneOptions, callback)

typescript
(
+  value: string | {
+    name: string
+    shortName?: string
+    precision?: number
+    calcParams?: any[]
+    shouldOhlc?: boolean
+    shouldFormatBigNumber?: boolean
+    visible?: boolean
+    zLevel?: number
+    extendData?: any
+    series?: 'normal' | 'price' | 'volume'
+    figures?: Array<{
+      key: string
+      title?: string
+      type?: string
+      baseValue?: number
+      attrs?: ({
+        data: object
+        coordinate: object
+        bounding: object
+        barSpace: object
+        xAxis: object
+        yAxis: object
+      }) => object
+      styles?: (
+        data: object,
+        indicator: object,
+        defaultStyles: object
+      ) => ({
+        style?: 'solid' | 'dashed' | 'stroke' | 'fill' | 'stroke_fill'
+        color?: string
+      })
+    }>
+    minValue?: number
+    maxValue?: number
+    styles?: object
+    calc?: (dataList: KLineData[], indicator: object) => Promise<object[]> | object[]
+    regenerateFigures?: (calcParms: any[]) => Array<{
+      key: string
+      title?: string
+      type?: string
+      baseValue?: number
+      styles?: (
+        data: object,
+        indicator: object,
+        defaultStyles: object
+      ) => ({
+        style?: 'solid' | 'dashed' | 'stroke' | 'fill' | 'stroke_fill'
+        color?: string
+      })
+    }>
+    createTooltipDataSource?: (params: object) => ({
+      name?: string
+      calcParamsText?: string
+      values?: Array<{
+        title: string | {
+          text: string
+          color: string
+        }
+        value: string | {
+          text: string
+          color: string
+        }
+      }>
+    })
+    draw?: (params: object) => boolean
+  },
+  isStack?: boolean,
+  paneOptions?: {
+    id?: string
+    height?: number
+    minHeight?: number
+    dragEnabled?: boolean
+    position?: 'top' | 'bottom'
+    gap?: {
+      top?: number
+      bottom?: number
+    }
+    axisOptions?: {
+      name?: string
+      scrollZoomEnabled?: boolean
+    }
+  } | null,
+  callback?: () => void
+) => string | null

Create a technical indicator, the return value is a string that identifies the window, which is very important, and this identification is required for some subsequent operations on the window.

  • value technical indicator name or technical indicator object, when it is an object, the type is consistent with the input parameter of the chart method overrideIndicator
  • isStack is overrides
  • paneOptions window configuration information, can be default
    • id window id, can be default
    • height window height, can be default
    • minHeight minimum height of the window, can be defaulted
    • dragEnabled Whether the window can be dragged to adjust the height, it can be defaulted
    • position Only valid when creating a new pane ^9.6.0
    • gap margins
      • top top margin, value less than 1 is a percentage
      • bottom bottom margin, value less than 1 is a percentage
    • axisOptions
      • name is same axis.name in registerYAxis(axis) of chart api, default is 'default' ^9.8.0
      • scrollZoomEnabled Scroll zoom flag ^9.3.0
  • callback success callback

Special id

'candle_pane', the window id of the main picture.

Example:

javascript
chart.createIndicator('MA', false, {
+  id: 'pane_1',
+  height: 100,
+  minHeight: 30,
+  dragEnabled: true,
+  gap: { top: 0.2, bottom: 0.1 },
+  axisOptions: { scrollZoomEnabled: true }
+}, () => {})

overrideIndicator(override, paneId, callback)

typescript
(
+  override: {
+    name: string
+    shortName?: string
+    precision?: number
+    calcParams?: any[]
+    shouldOhlc?: boolean
+    shouldFormatBigNumber?: boolean
+    visible?: boolean
+    zLevel?: number 
+    extendData?: any
+    series?: 'normal' | 'price' | 'volume'
+    figures?: Array<{
+      key: string
+      title?: string
+      type?: string
+      baseValue?: number
+      attrs?: ({
+        data: object
+        coordinate: object
+        bounding: object
+        barSpace: object
+        xAxis: object
+        yAxis: object
+      }) => object
+      styles?: (
+        data: object,
+        indicator: object,
+        defaultStyles: object
+      ) => ({
+        style?: 'solid' | 'dashed' | 'stroke' | 'fill' | 'stroke_fill'
+        color?: string
+      })
+    }>
+    minValue?: number
+    maxValue?: number
+    styles?: object
+    calc?: (dataList: KLineData[], indicator: object) => Promise<object[]> | object[]
+    regenerateFigures?: (calcParms: any[]) => Array<{
+      key: string
+      title?: string
+      type?: string
+      baseValue?: number
+      styles?: (
+        data: object,
+        indicator: object,
+        defaultStyles: object
+      ) => ({
+        style?: 'solid' | 'dashed' | 'stroke' | 'fill' | 'stroke_fill'
+        color?: string
+      })
+    }>
+    createTooltipDataSource?: (params: object) => {
+      name?: string
+      calcParamsText?: string
+      values?: Array<{
+        title: string | { text: string, color: string }
+        value: string | { text: string, color: string }
+      }>
+    }
+    draw?: (params: object) => boolean
+  },
+  paneId?: string | null,
+  callback?: () => void
+) => void

Overlay technical indicator information.

  • override some parameters that need to be overridden
    • name metric name, unique identifier for creation and operation
    • shortName short name for display
    • precision precision
    • calcParams calculation parameters
    • shouldOhlc needs ohlc auxiliary graphics
    • shouldFormatBigNumber should format large numbers. For example, 1000 is converted to 1k, 1000000 is converted to 1M, etc.
    • visible visible or not
    • zLevel z level ^9.7.0
    • extendData extended data
    • series indicator series, optional options are 'normal', 'price' and 'volume'
    • figures graphics configuration
    • minValue specifies the minimum value
    • maxValue specifies the maximum value
    • styles styles
    • calc calculation method
    • regenerateFigures method to regenerate figure information
    • createTooltipDataSource method to create custom tip information
    • draw custom drawing method
  • paneId window id, default is set to all
  • callback success callback

Special id

'candle_pane', the window id of the main picture.

Example:

javascript
chart.overrideIndicator({
+   name: 'BOLL',
+   showName: 'BOLL'
+   calcParams: [20, 5.5],
+   precision: 4,
+   shouldOhlc: true,
+   shouldFormatBigNumber: false,
+   visible: true,
+   zLevel: 1,
+   extendData: 2432435,
+   series: 'price',
+   figures: [],
+   minValue: null,
+   maxValue: null,
+   calc: () => [],
+   regenerateFigures: () => [],
+   draw: () => {},
+   styles: {
+   bars: [{
+       style: 'fill,
+       borderStyle: 'solid,
+       borderSize: 1,
+       borderDashedValue: [2, 2],
+       upColor: '#26A69A',
+       downColor: '#EF5350',
+       noChangeColor: '#888888'
+     }],
+     lines: [{
+       size: 1,
+       style: 'solid',
+       dashedValue: [2, 2],
+       color: '#FF9600'
+     }],
+     circles: [{
+       style: 'fill,
+       borderStyle: 'solid,
+       borderSize: 1,
+       borderDashedValue: [2, 2],
+       upColor: '#26A69A',
+       downColor: '#EF5350',
+       noChangeColor: '#888888'
+     }]
+   }
+}, 'candle_pane', () => {})

getIndicatorByPaneId(paneId, name)

typescript
(paneId?: string, name?: string) => object

Obtain technical indicator information according to the window id.

  • paneId window id, that is, the window ID returned when calling the createIndicator method, can be defaulted, and all will be returned by default.
  • name technical indicator name

Special id

'candle_pane', the window id of the main picture.

removeIndicator(paneId, name)

typescript
(paneId: string, name?: string) => object

Remove technical indicators.

  • paneId window id, that is, the window ID returned when calling the createIndicator method
  • name technical indicator name, if default, will remove all

Special id

'candle_pane', the window id of the main picture.

createOverlay(value, paneId)

typescript
(
+  value: string | {
+    name: string
+    id?: string
+    groupId?: string
+    lock?: boolean
+    visible?: boolean
+    zLevel?: number
+    needDefaultPointFigure?: boolean
+    needDefaultXAxisFigure?: boolean
+    needDefaultYAxisFigure?: boolean
+    mode?: 'normal' | 'weak_magnet' | 'strong_magnet'
+    modeSensitivity?: number
+    points?: Array<{
+      timestamp?: number
+      dataIndex?: number
+      value?: number
+    }>
+    extendData?: any
+    styles?: object
+    onDrawStart?: (event: object) => boolean
+    onDrawing?: (event: object) => boolean
+    onDrawEnd?: (event: object) => boolean
+    onClick?: (event: object) => boolean
+    onDoubleClick?: (event: object) => boolean
+    onRightClick?: (event: object) => boolean
+    onPressedMoveStart?: (event: object) => boolean
+    onPressedMoving?: (event: object) => boolean
+    onPressedMoveEnd?: (event: object) => boolean
+    onMouseEnter?: (event: object) => boolean
+    onMouseLeave?: (event: object) => boolean
+    onRemoved?: (event: object) => boolean
+    onSelected?: (event: object) => boolean
+    onDeselected?: (event: object) => boolean
+  } | Array<string | {
+    name: string
+    id?: string
+    groupId?: string
+    lock?: boolean
+    visible?: boolean
+    zLevel?: number
+    needDefaultPointFigure?: boolean
+    needDefaultXAxisFigure?: boolean
+    needDefaultYAxisFigure?: boolean
+    mode?: 'normal' | 'weak_magnet' | 'strong_magnet'
+    modeSensitivity?: number
+    points?: Array<{
+      timestamp?: number
+      dataIndex?: number
+      value?: number
+    }>
+    extendData?: any
+    styles?: object
+    onDrawStart?: (event: object) => boolean
+    onDrawing?: (event: object) => boolean
+    onDrawEnd?: (event: object) => boolean
+    onClick?: (event: object) => boolean
+    onDoubleClick?: (event: object) => boolean
+    onRightClick?: (event: object) => boolean
+    onPressedMoveStart?: (event: object) => boolean
+    onPressedMoving?: (event: object) => boolean
+    onPressedMoveEnd?: (event: object) => boolean
+    onMouseEnter?: (event: object) => boolean
+    onMouseLeave?: (event: object) => boolean
+    onRemoved?: (event: object) => boolean
+    onSelected?: (event: object) => boolean
+    onDeselected?: (event: object) => boolean
+  }>,
+  paneId?: string
+) => string | null

Creates an overlay, returning an identifier of type String.

  • value Overlay name or object, when it is an object, the parameters are consistent with overrideOverlay
  • paneId window id, can be default

Special id

'candle_pane', the window id of the main picture.

Example:

javascript
chart.createOverlay({
+   name: 'segment',
+   id: 'segment_1',
+   groupId: 'segment',
+   points: [
+     { timestamp: 1614171282000, value: 18987 },
+     { timestamp: 1614171202000, value: 16098 },
+   ],
+   styles: {
+     line: {
+       style: 'solid',
+       dashedValue: [2, 2],
+       color: '#f00',
+       size: 2
+     }
+   },
+   lock: false,
+   visible: true,
+   zLevel: 0,
+   mode: 'weak_magnet',
+   modeSensitivity: 8,
+   extendData: 'xxxxxxxx',
+   needDefaultPointFigure: false,
+   needDefaultXAxisFigure: false,
+   needDefaultYAxisFigure: false,
+   onDrawStart: function (event) { console. log(event) },
+   onDrawing: function (event) { console. log(event) },
+   onDrawEnd: function (event) { console. log(event) },
+   onClick: function (event) { console. log(event) },
+   onDoubleClick: function (event) { console. log(event) },
+   onRightClick: function (event) {
+     console. log(event)
+     return false
+   },
+   onMouseEnter: function (event) { console. log(event) },
+   onMouseLeave: function (event) { console. log(event) },
+   onPressedMoveStart: function (event) { console. log(event) },
+   onPressedMoving: function (event) { console. log(event) },
+   onPressedMoveEnd: function (event) { console. log(event) },
+   onRemoved: function (event) { console. log(event) },
+   onSelected: function (event) { console. log(event) },
+   onDeselected: function (event) { console. log(event) }
+})

getOverlayById(id)

typescript
(id: string) => object

Get overlay information by id.

  • id calls the createOverlay method to return the ID

overrideOverlay(override)

typescript
(
+  override: {
+    name: string
+    id?: string
+    groupId?: string
+    lock?: boolean
+    visible?: boolean
+    zLevel?: number
+    needDefaultPointFigure?: boolean
+    needDefaultXAxisFigure?: boolean
+    needDefaultYAxisFigure?: boolean
+    mode?: 'normal' | 'weak_magnet' | 'strong_magnet'
+    modeSensitivity?: number
+    points?: Array<{
+      timestamp?: number
+      dataIndex?: number
+      value?: number
+    }>
+    extendData?: any
+    styles?: object
+    onDrawStart?: (event: object) => boolean
+    onDrawing?: (event: object) => boolean
+    onDrawEnd?: (event: object) => boolean
+    onClick?: (event: object) => boolean
+    onDoubleClick?: (event: object) => boolean
+    onRightClick?: (event: object) => boolean
+    onPressedMoveStart?: (event: object) => boolean
+    onPressedMoving?: (event: object) => boolean
+    onPressedMoveEnd?: (event: object) => boolean
+    onMouseEnter?: (event: object) => boolean
+    onMouseLeave?: (event: object) => boolean
+    onRemoved?: (event: object) => boolean
+    onSelected?: (event: object) => boolean
+    onDeselected?: (event: object) => boolean
+  }
+) => string | null

Overlays that have been drawn.

  • override parameters that need to be overridden
    • name overlay name, unique identifier for creation
    • id Overlay identification, if the id exists, it will be based on the id to overwrite
    • groupId Group id
    • lock is locked to prevent dragging
    • visible visible or not
    • zLevel Draw level
    • needDefaultPointFigure needs a default point figure
    • needDefaultXAxisFigure needs the default x-axis figure
    • needDefaultYAxisFigure needs the default y-axis figure
    • mode mode, options are 'normal', 'weak_magnet' and 'strong_magnet'
    • modeSensitivity mode sensitivity, only valid when mode is weak_magnet ^9.5.0
    • points point information
    • extendData extended data
    • styles styles
    • onDrawStart start drawing event
    • onDrawing drawing event
    • onDrawEnd draw end event
    • onClick click event
    • onDoubleClick double click event ^9.5.0
    • onRightClick right click event
    • onPressedMoveStart press start move event
    • onPressedMoving Press and move event
    • onPressedMoveEnd Press and move end event
    • onMouseEnter mouse enter event
    • onMouseLeave mouse out event
    • onRemoved delete event
    • onSelected selected event
    • onDeselected deselected event

Example:

javascript
chart.overrideOverlay({
+   name: 'segment',
+   id: 'segment_1',
+   groupId: 'segment',
+   points: [
+     { timestamp: 1614171282000, value: 18987 },
+     { timestamp: 1614171202000, value: 16098 },
+   ],
+   styles: {
+     line: {
+       style: 'solid',
+       dashedValue: [2, 2],
+       color: '#f00',
+       size: 2
+     }
+   },
+   lock: false,
+   visible: true,
+   zLevel: 0,
+   mode: 'weak_magnet',
+   modeSensitivity: 8
+   extendData: 'xxxxxxxx',
+   needDefaultPointFigure: false,
+   needDefaultXAxisFigure: false,
+   needDefaultYAxisFigure: false,
+   onDrawStart: function (event) { console. log(event) },
+   onDrawing: function (event) { console. log(event) },
+   onDrawEnd: function (event) { console. log(event) },
+   onClick: function (event) { console. log(event) },
+   onDoubleClick: function (event) { console. log(event) },
+   onRightClick: function (event) {
+     console. log(event)
+     return false
+   },
+   onMouseEnter: function (event) { console. log(event) },
+   onMouseLeave: function (event) { console. log(event) },
+   onPressedMoveStart: function (event) { console. log(event) },
+   onPressedMoving: function (event) { console. log(event) },
+   onPressedMoveEnd: function (event) { console. log(event) },
+   onRemoved: function (event) { console. log(event) },
+   onSelected: function (event) { console. log(event) },
+   onDeselected: function (event) { console. log(event) }
+})

removeOverlay(remove)

typescript
(
+  remove: string | {
+    id?: string
+    groupId?: string
+    name?: string
+  }
+) => void

Remove graphics.

  • id The ID returned by calling the createOverlay method.
  • groupId Group id
  • name Overlay name

scrollByDistance(distance, animationDuration)

typescript
(distance: number, animationDuration?: number) => void

Scroll a certain distance.

  • distance distance
  • animationDuration animation time, can be default, default is no animation

scrollToRealTime(animationDuration)

typescript
(distance: number, animationDuration?: number) => void

Scroll to original position.

  • animationDuration animation time, can be default, default is no animation

scrollToDataIndex(dataIndex, animationDuration)

typescript
(dataIndex: number, animationDuration?: number) => void

Scroll to the specified location.

  • dataIndex the index of the data
  • animationDuration animation time, can be default, default is no animation

scrollToTimestamp(timestamp, animationDuration)

typescript
(timestamp: number, animationDuration?: number) => void

Scroll to the specified timestamp.

  • timestamp timestamp
  • animationDuration animation time, can be default, default is no animation

zoomAtCoordinate(scale, coordinate, animationDuration)

typescript
(
+  scale: number,
+  coordinate?: {
+    x: number
+    y: number
+  },
+  animationDuration?: number
+) => void

Scale at a certain coordinate point.

  • scale scaling factor
  • coordinate coordinate point, can be defaulted, the default is to zoom in the middle of the chart
  • animationDuration animation time, can be default, default is no animation

zoomAtDataIndex(scale, dataIndex, animationDuration)

typescript
(scale: number, dataIndex: number, animationDuration?: number) => void

Scale at a certain position.

  • scale scaling factor
  • dataIndex the index of the data
  • animationDuration animation time, can be default, default is no animation

zoomAtTimestamp(scale, timestamp, animationDuration)

typescript
(scale: number, timestamp: number, animationDuration?: number) => void

Scale on the specified timestamp.

  • scale scaling factor
  • timestamp timestamp
  • animationDuration animation time, can be default, default is no animation

setPaneOptions(options)

typescript
(
+  options: {
+    id: string
+    height?: number
+    minHeight?: number
+    dragEnabled?: boolean
+    gap?: {
+      top?: number
+      bottom?: number
+    }
+    axisOptions?: {
+      name?: string
+      scrollZoomEnabled?: boolean
+    }
+  }
+) => void

Set window configuration.

  • options window configuration information, can be default
    • id window id
    • height window height, can be default
    • minHeight minimum height of the window, can be defaulted
    • dragEnabled Whether the window can be dragged to adjust the height, it can be defaulted
    • gap margins
      • top top margin, value less than 1 is a percentage
      • bottom bottom margin, value less than 1 is a percentage
    • axisOptions
      • name axis name ^9.8.0
      • scrollZoomEnabled Scroll zoom flag ^9.3.0

Special id

'candle_pane', the window id of the main picture.

Example:

javascript
chart.setPaneOptions({
+  id: 'pane_1',
+  height: 100,
+  minHeight: 3,
+  dragEnabled: true,
+  gap: { top: 0.2, bottom: 0.1 },
+  axisOptions: { name: 'default', scrollZoomEnabled: true }
+})

executeAction(type, data) ^9.2.0

typescript
(
+   type: 'onCrosshairChange',
+   data: any => void
+) => void

Execute chart action.

  • type only supported 'onCrosshairChange'
  • data data required for execution

subscribeAction(type, callback)

typescript
(
+   type: 'onDataReady' | 'onZoom' | 'onScroll' | 'onVisibleRangeChange' | 'onCrosshairChange' | 'onCandleBarClick' | 'onTooltipIconClick' | 'onPaneDrag',
+   callback: (data?: any) => void
+) => void

Subscribe to chart actions.

  • type options are 'onDataReady', 'onZoom', 'onScroll', 'onVisibleRangeChange', 'onCandleBarClick', 'onTooltipIconClick', 'onCrosshairChange' and 'onPaneDrag'
  • callback is a callback method

unsubscribeAction(type, callback)

typescript
(
+   type: 'onDataReady' | 'onZoom' | 'onScroll' | 'onVisibleRangeChange' | 'onCrosshairChange' | 'onCandleBarClick' | 'onTooltipIconClick' | 'onPaneDrag',
+   callback?: (data?: any) => void
+) => void

Unsubscribe from chart actions.

  • type options are 'onDataReady', 'onZoom', 'onScroll', 'onVisibleRangeChange', 'onCandleBarClick', 'onTooltipIconClick', 'onCrosshairChange' and 'onPaneDrag'
  • callback is the callback method when subscribing, the default is to cancel all the current types

convertToPixel(value, finder)

typescript
(
+   value: {
+     dataIndex?: number
+     timestamp?: number
+     value?: number
+   } | Array<{
+     dataIndex?: number
+     timestamp?: number
+     value?: number
+   }>,
+   finder: {
+     paneId?: string,
+     absolute?: boolean
+   }
+) => { x: number?, y?: number } | Array<{ x?: number, y?: number }>

Convert values to coordinates.

  • value The value to be converted, it can be an object or an array
    • dataIndex data index, if dataIndex and timestamp exist at the same time, it will be converted according to the index
    • timestamp timestamp
    • value corresponds to the value of the y-axis
  • finder filter
    • paneId window id
    • absolute is an absolute coordinate, only works on the y axis

convertFromPixel(coordinate, finder)

typescript
(
+  coordinate: {
+    x?: number
+    y?: number
+  } | Array<{
+    x?: number
+    y?: number
+  },
+  finder: {
+    paneId?: string
+    absolute?: boolean
+  }
+) => {
+    dataIndex?: number
+    timestamp?: number
+    value?: number
+  } | Array<{
+    dataIndex?: number
+    timestamp?: number
+    value?: number
+  }>

Convert coordinates to values.

  • coordinate needs to be converted, it can be an object or an array
  • finder filter
    • paneId window id
    • absolute is an absolute coordinate, only works on the y axis

getConvertPictureUrl(includeOverlay, type, backgroundColor)

typescript
(includeOverlay?: boolean, type?: string, backgroundColor?: string) => string

Get the image url after the chart is converted into an image.

  • includeOverlay needs to include the overlay layer, it can be defaulted
  • type The converted image type, one of the three types of 'png', 'jpeg', 'bmp', can be defaulted, the default is 'jpeg'
  • backgroundColor background color, can be defaulted, the default is '#FFFFFF'

resize()

typescript
() => void

Resizing the chart will always fill the container size.

Note

This method will recalculate the size of each module in the entire chart, frequent calls may affect performance, please call with caution.

+ + + + \ No newline at end of file diff --git a/en-US/guide/introduction.html b/en-US/guide/introduction.html new file mode 100644 index 0000000..45853f4 --- /dev/null +++ b/en-US/guide/introduction.html @@ -0,0 +1,26 @@ + + + + + + 📃 Introduction | KLineChart + + + + + + + + + + + + + + + +
Skip to content

📃 Introduction

What's KLineChart?

KLineChart,it is a highly customizable professional lightweight financial chart.

Features

  • 📦 Out of the box: Simple and fast integration, basically zero cost to get started.
  • 🚀 Lightweight and smooth: Zero dependencies, only 40k under gzip compression.
  • 💪 Powerful functions: Built-in multiple indicators and line drawing models.
  • 🎨 Highly scalable: With rich style configuration and API, the function can be extended as you like.
  • 📱 Mobile: Support mobile, one chart, handle multiple terminals.
  • 🛡 Typescript development: Provide complete type definition files.
+ + + + \ No newline at end of file diff --git a/en-US/guide/overlay.html b/en-US/guide/overlay.html new file mode 100644 index 0000000..392e75b --- /dev/null +++ b/en-US/guide/overlay.html @@ -0,0 +1,253 @@ + + + + + + Overlay | KLineChart + + + + + + + + + + + + + + + +
Skip to content

Overlay

This document introduces the built-in overlays in the chart and how to customize a overlay.

Built-in overlay types

horizontalRayLine, horizontalSegment, horizontalStraightLine, verticalRayLine, verticalSegment, verticalStraightLine, rayLine, segment, straightLine, priceLine, priceChannelLine, parallelLfilineLine, ci , simpleAnnotation, simpleTag

Custom overlays

Customize an overlay, then add it globally through klinecharts.registerOverlay, add it to the chart and use it like the built-in overlay.

Attribute description

typescript
{
+  // Name, a required field, used as the unique identifier for overlay creation
+  name: string
+
+  // How many steps are needed in total to complete the drawing, not necessary
+  totalStep?: number
+
+  // Whether to lock, do not trigger events, not necessary
+  lock?: boolean
+
+  // Do you need visible
+  visible?: boolean
+
+  // Draw level
+  zLevel?: number
+
+  // Do you need the graphics corresponding to the default points, not necessary
+  needDefaultPointFigure?: boolean
+
+  // Do you need the graphics on the default X-axis, not necessary
+  needDefaultXAxisFigure?: boolean
+
+  // Do you need the graphics on the default Y axis, not necessary
+  needDefaultYAxisFigure?: boolean
+
+  // mode, options are `normal`, `weak_magnet`, `strong_magnet`, not required
+  mode?: 'normal' | 'weak_magnet' | 'strong_magnet'
+
+  // mode sensitivity, only valid when mode is weak_magnet
+  modeSensitivity?: number
+
+  // point information, not required
+  points?: Array<{
+    // timestamp
+    timestamp: number
+    // data index
+    dataIndex?: number
+    // corresponding to the value of the y-axis
+    value?: number
+  }>,
+
+  // Extended data, not required
+  extendData?: any
+
+  // style, not required, the type participates in the overlay in [style]
+  styles?: OverlayStyle
+
+  // Create graphics corresponding to points, not required
+  createPointFigures: ({
+    // overlay instance
+    overlay: Overlay
+    // coordinate information corresponding to points
+    coordinates: Array<{
+      x: number
+      y: number
+    }>
+    // window size information
+    bounding: {
+      // width
+      width: number
+      // high
+      height: number
+      // distance to the left
+      left: number
+      // distance to the right
+      right: number
+      // distance from top
+      top: number
+      // distance from bottom
+      bottom: number
+    }
+    // information about the size of the candlestick
+    barSpace: {
+      // candlestick size
+      bar: number
+      halfBar: number
+      // candlesticks do not include dimensions of gaps between candlesticks
+      gapBar: number
+      halfGapBar: number
+    }
+    // precision
+    precision: {
+      // price precision
+      price: number
+      // Quantity precision
+      volume: number
+    }
+    // thousands separator
+    thousandsSeparator: string
+    // decimal fold threshold
+    decimalFoldThreshold: number
+    // Constructor for objects that format date and time, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat for details
+    dateTimeFormat: Intl. DateTimeFormat
+    // The default style, that is, the overlay in the global style configuration, the type participates in the overlay in [style]
+    defaultStyles: OverlayStyle
+    // x-axis component, some built-in conversion methods
+    xAxis: XAxis
+    // y-axis component, with some built-in conversion methods
+    yAxis: YAxis
+  }) => ({
+    // No special meaning, can be used for extension fields
+    key?: string
+    // Graphic type, one of the return values of klinecharts.getSupportFigures
+    type: string
+    // The properties of the graphic corresponding to the type
+    attrs: any | any[]
+    // The style of the graphic corresponding to type
+    styles?: any
+    // Whether to ignore the event
+    ignoreEvent?: boolean | OverlayFigureIgnoreEventType[]
+  }) | Array<{
+    key?: string
+    type: string
+    attrs: any | any[]
+    styles?: any
+    ignoreEvent?: boolean | OverlayFigureIgnoreEventType[]
+  }>
+
+  // Create graphics on the X axis, not required, parameters and return values are consistent with `createPointFigures`
+  createXAxisFigures?: OverlayCreateFiguresCallback
+
+  // Create graphics on the Y axis, not required, parameters and return values are consistent with `createPointFigures`
+  createYAxisFigures?: OverlayCreateFiguresCallback
+
+  // Handle the movement operation during the drawing process, which can be defaulted and triggered during the movement drawing process
+  performEventMoveForDrawing?: ({
+    // current step
+    currentStep: number
+    // model
+    mode: 'normal' | 'weak_magnet' | 'strong_magnet'
+    // point information
+    points: Array<{
+      // timestamp
+      timestamp: number
+      // data index
+      dataIndex?: number
+      // corresponding to the value of the y-axis
+      value?: number
+    }>
+    // index of the event point
+    performPointIndex: number
+    // Information about the point where the event is located
+    performPoint: {
+      // timestamp
+      timestamp: number
+      // data index
+      dataIndex?: number
+      // corresponding to the value of the y-axis
+      value?: number
+    }
+  }) => void
+
+  // Handle the press and move operation, which can be defaulted, and is triggered during the movement of a certain operation point
+  // The callback parameters are consistent with `performEventMoveForDrawing`
+  performEventPressedMove?: (params: OverlayPerformEventParams) => void
+
+  // draw start callback event, can be default
+  onDrawStart?: (event: OverlayEvent) => boolean
+
+  // callback event during drawing, can be defaulted
+  onDrawing?: (event: OverlayEvent) => boolean
+
+  // Draw end callback event, can be default
+  onDrawEnd?: (event: OverlayEvent) => boolean
+
+  // click callback event, default
+  onClick?: (event: OverlayEvent) => boolean
+
+  // double click callback event, default
+  onDoubleClick?: (event: OverlayEvent) => boolean
+
+  // The right-click callback event, which can be defaulted, needs to return a value of type boolean. If it returns true, the built-in right-click delete will be invalid
+  onRightClick?: (event: OverlayEvent) => boolean
+
+  // Hold down and drag to start the callback event, which can be defaulted
+  onPressedMoveStart?: (event: OverlayEvent) => boolean
+
+  // Press and hold the drag callback event, which can be defaulted
+  onPressedMoving?: (event: OverlayEvent) => boolean
+
+  // Hold down and drag to end the callback event, which can be defaulted
+  onPressedMoveEnd?: (event: OverlayEvent) => boolean
+
+  // Mouse move event, can be default
+  onMouseEnter?: (event: OverlayEvent) => boolean
+
+  // Mouse out event, default
+  onMouseLeave?: (event: OverlayEvent) => boolean
+
+  // delete callback event, default
+  onRemoved?: (event: OverlayEvent) => boolean
+
+  // Select the callback event, which can be defaulted
+  onSelected?: (event: OverlayEvent) => boolean
+
+  // cancel callback event, default
+  onDeselected?: (event: OverlayEvent) => boolean
+}

Example

A filled, bordered circle is used to illustrate how to configure.

javascript
{
+   // name
+   name: 'sampleCircle',
+
+   // Three steps are required to complete the drawing of a circle
+   totalStep: 3,
+
+   // Create the graphic information corresponding to the point
+   createPointFigures: ({ scoordinates }) => {
+     if (coordinates. length === 2) {
+       const xDis = Math.abs(coordinates[0].x - coordinates[1].x)
+       const yDis = Math.abs(coordinates[0].y - coordinates[1].y)
+       // Determine the coordinates of the circle generated by the corresponding point
+       const radius = Math. sqrt(xDis * xDis + yDis * yDis)
+       // The chart has built-in basic graphics 'circle', which can be used directly
+       return {
+         key: 'sampleCircle',
+         type: 'circle',
+         attrs: {
+           ...coordinates[0],
+           r: radius
+         },
+         styles: {
+           // Select the border and fill it, other selections use the default style
+           style: 'stroke_fill'
+         }
+       }
+     }
+     return []
+   }
+}

So a custom overlay is complete.

+ + + + \ No newline at end of file diff --git a/en-US/guide/quick-start.html b/en-US/guide/quick-start.html new file mode 100644 index 0000000..1ad6c00 --- /dev/null +++ b/en-US/guide/quick-start.html @@ -0,0 +1,217 @@ + + + + + + 🚀 Quick Start | KLineChart + + + + + + + + + + + + + + + +
Skip to content

🚀 Quick Start

Get KLineChart

KLineChart supports multiple download methods. You can download it through npm, yarn, pnpm or bun package management tools. In addition, a umd version is also provided, so you can also download it from the cdn website or etc., just use the global variable klinecharts.

It is recommended to use package management tools for development. it not only makes development easier, but also allow you to take advantage of the rich ecosystem of Javascript packages and tooling.

bash
npm install klinecharts
bash
yarn add klinecharts
bash
pnpm install klinecharts
bash
bun add klinecharts
html
<script src="https://cdn.jsdelivr.net/npm/klinecharts/dist/umd/klinecharts.min.js"></script>

Create the first chart

jsx
import { useEffect } from 'react'
+import { init, dispose } from 'klinecharts'
+export default () => {
+  useEffect(() => {
+    const chart = init('chart')
+          
+    chart.applyNewData([
+      { close: 4976.16, high: 4977.99, low: 4970.12, open: 4972.89, timestamp: 1587660000000, volume: 204 },
+      { close: 4977.33, high: 4979.94, low: 4971.34, open: 4973.20, timestamp: 1587660060000, volume: 194 },
+      { close: 4977.93, high: 4977.93, low: 4974.20, open: 4976.53, timestamp: 1587660120000, volume: 197 },
+      { close: 4966.77, high: 4968.53, low: 4962.20, open: 4963.88, timestamp: 1587660180000, volume: 28 },
+      { close: 4961.56, high: 4972.61, low: 4961.28, open: 4961.28, timestamp: 1587660240000, volume: 184 },
+      { close: 4964.19, high: 4964.74, low: 4961.42, open: 4961.64, timestamp: 1587660300000, volume: 191 },
+      { close: 4968.93, high: 4972.70, low: 4964.55, open: 4966.96, timestamp: 1587660360000, volume: 105 },
+      { close: 4979.31, high: 4979.61, low: 4973.99, open: 4977.06, timestamp: 1587660420000, volume: 35 },
+      { close: 4977.02, high: 4981.66, low: 4975.14, open: 4981.66, timestamp: 1587660480000, volume: 135 },
+      { close: 4985.09, high: 4988.62, low: 4980.30, open: 4986.72, timestamp: 1587660540000, volume: 76 }
+    ])
+          
+    return () => {
+      dispose('chart')
+    }
+  }, [])
+
+  return <div id="chart" style={{ width: 600, height: 600 }}/>
+}
vue
<script setup>
+import { onMounted, onUnmounted } from 'vue'
+import { init, dispose } from 'klinecharts'
+
+onMounted(() => {
+  const chart = init('chart')
+
+  chart.applyNewData([
+    { close: 4976.16, high: 4977.99, low: 4970.12, open: 4972.89, timestamp: 1587660000000, volume: 204 },
+    { close: 4977.33, high: 4979.94, low: 4971.34, open: 4973.20, timestamp: 1587660060000, volume: 194 },
+    { close: 4977.93, high: 4977.93, low: 4974.20, open: 4976.53, timestamp: 1587660120000, volume: 197 },
+    { close: 4966.77, high: 4968.53, low: 4962.20, open: 4963.88, timestamp: 1587660180000, volume: 28 },
+    { close: 4961.56, high: 4972.61, low: 4961.28, open: 4961.28, timestamp: 1587660240000, volume: 184 },
+    { close: 4964.19, high: 4964.74, low: 4961.42, open: 4961.64, timestamp: 1587660300000, volume: 191 },
+    { close: 4968.93, high: 4972.70, low: 4964.55, open: 4966.96, timestamp: 1587660360000, volume: 105 },
+    { close: 4979.31, high: 4979.61, low: 4973.99, open: 4977.06, timestamp: 1587660420000, volume: 35 },
+    { close: 4977.02, high: 4981.66, low: 4975.14, open: 4981.66, timestamp: 1587660480000, volume: 135 },
+    { close: 4985.09, high: 4988.62, low: 4980.30, open: 4986.72, timestamp: 1587660540000, volume: 76 }
+  ])
+})
+
+onUnmounted(() => {
+  dispose('chart')
+})
+</script>
+
+<template>
+  <div id="chart" style="width:600px;height:600px"/>
+</template>
ts
import { Component, AfterViewInit, OnDestroy } from '@angular/core';
+import { init, dispose } from 'klinecharts';
+
+@Component({
+  selector: 'app-chart',
+  template: `<div id="chart" style="width:600px;height:600px"/>`,
+})
+export class ChartComponent implements AfterViewInit, OnDestroy {
+  ngAfterViewInit(): void {
+    const chart = init('chart');
+
+    chart?.applyNewData([
+      { close: 4976.16, high: 4977.99, low: 4970.12, open: 4972.89, timestamp: 1587660000000, volume: 204 },
+      { close: 4977.33, high: 4979.94, low: 4971.34, open: 4973.20, timestamp: 1587660060000, volume: 194 },
+      { close: 4977.93, high: 4977.93, low: 4974.20, open: 4976.53, timestamp: 1587660120000, volume: 197 },
+      { close: 4966.77, high: 4968.53, low: 4962.20, open: 4963.88, timestamp: 1587660180000, volume: 28 },
+      { close: 4961.56, high: 4972.61, low: 4961.28, open: 4961.28, timestamp: 1587660240000, volume: 184 },
+      { close: 4964.19, high: 4964.74, low: 4961.42, open: 4961.64, timestamp: 1587660300000, volume: 191 },
+      { close: 4968.93, high: 4972.70, low: 4964.55, open: 4966.96, timestamp: 1587660360000, volume: 105 },
+      { close: 4979.31, high: 4979.61, low: 4973.99, open: 4977.06, timestamp: 1587660420000, volume: 35 },
+      { close: 4977.02, high: 4981.66, low: 4975.14, open: 4981.66, timestamp: 1587660480000, volume: 135 },
+      { close: 4985.09, high: 4988.62, low: 4980.30, open: 4986.72, timestamp: 1587660540000, volume: 76 }
+    ]);
+  }
+
+  ngOnDestroy(): void {
+    dispose('chart');
+  }
+}
jsx
import { useEffect } from 'preact/hooks'
+import { init, dispose } from 'klinecharts'
+
+export default () => {
+  useEffect(() => {
+    const chart = init('chart')
+
+    chart.applyNewData([
+      { close: 4976.16, high: 4977.99, low: 4970.12, open: 4972.89, timestamp: 1587660000000, volume: 204 },
+      { close: 4977.33, high: 4979.94, low: 4971.34, open: 4973.20, timestamp: 1587660060000, volume: 194 },
+      { close: 4977.93, high: 4977.93, low: 4974.20, open: 4976.53, timestamp: 1587660120000, volume: 197 },
+      { close: 4966.77, high: 4968.53, low: 4962.20, open: 4963.88, timestamp: 1587660180000, volume: 28 },
+      { close: 4961.56, high: 4972.61, low: 4961.28, open: 4961.28, timestamp: 1587660240000, volume: 184 },
+      { close: 4964.19, high: 4964.74, low: 4961.42, open: 4961.64, timestamp: 1587660300000, volume: 191 },
+      { close: 4968.93, high: 4972.70, low: 4964.55, open: 4966.96, timestamp: 1587660360000, volume: 105 },
+      { close: 4979.31, high: 4979.61, low: 4973.99, open: 4977.06, timestamp: 1587660420000, volume: 35 },
+      { close: 4977.02, high: 4981.66, low: 4975.14, open: 4981.66, timestamp: 1587660480000, volume: 135 },
+      { close: 4985.09, high: 4988.62, low: 4980.30, open: 4986.72, timestamp: 1587660540000, volume: 76 }
+    ])
+
+    return () => {
+      dispose('chart')
+    }
+  }, [])
+
+  return <div id="chart" style={{ width: 600, height: 600 }}/>
+}
jsx
import { onMount, onCleanup } from 'solid-js'
+import { init, dispose } from 'klinecharts'
+
+export default () => {
+  onMount(() => {
+    const chart = init('chart')
+
+    chart.applyNewData([
+      { close: 4976.16, high: 4977.99, low: 4970.12, open: 4972.89, timestamp: 1587660000000, volume: 204 },
+      { close: 4977.33, high: 4979.94, low: 4971.34, open: 4973.20, timestamp: 1587660060000, volume: 194 },
+      { close: 4977.93, high: 4977.93, low: 4974.20, open: 4976.53, timestamp: 1587660120000, volume: 197 },
+      { close: 4966.77, high: 4968.53, low: 4962.20, open: 4963.88, timestamp: 1587660180000, volume: 28 },
+      { close: 4961.56, high: 4972.61, low: 4961.28, open: 4961.28, timestamp: 1587660240000, volume: 184 },
+      { close: 4964.19, high: 4964.74, low: 4961.42, open: 4961.64, timestamp: 1587660300000, volume: 191 },
+      { close: 4968.93, high: 4972.70, low: 4964.55, open: 4966.96, timestamp: 1587660360000, volume: 105 },
+      { close: 4979.31, high: 4979.61, low: 4973.99, open: 4977.06, timestamp: 1587660420000, volume: 35 },
+      { close: 4977.02, high: 4981.66, low: 4975.14, open: 4981.66, timestamp: 1587660480000, volume: 135 },
+      { close: 4985.09, high: 4988.62, low: 4980.30, open: 4986.72, timestamp: 1587660540000, volume: 76 }
+    ])
+  })
+
+  onCleanup(() => {
+    // 销毁图表
+    dispose('chart')
+  })
+
+  return <div id="chart" style={{ width: '600px', height: '600px' }}/>
+}
svelte
<div id="chart" style="width:600px;height:600px"/>
+
+<script>
+import { onMount, onDestroy } from 'svelte'
+
+onMount(() => {
+  const chart = init('chart')
+
+  chart.applyNewData([
+    { close: 4976.16, high: 4977.99, low: 4970.12, open: 4972.89, timestamp: 1587660000000, volume: 204 },
+    { close: 4977.33, high: 4979.94, low: 4971.34, open: 4973.20, timestamp: 1587660060000, volume: 194 },
+    { close: 4977.93, high: 4977.93, low: 4974.20, open: 4976.53, timestamp: 1587660120000, volume: 197 },
+    { close: 4966.77, high: 4968.53, low: 4962.20, open: 4963.88, timestamp: 1587660180000, volume: 28 },
+    { close: 4961.56, high: 4972.61, low: 4961.28, open: 4961.28, timestamp: 1587660240000, volume: 184 },
+    { close: 4964.19, high: 4964.74, low: 4961.42, open: 4961.64, timestamp: 1587660300000, volume: 191 },
+    { close: 4968.93, high: 4972.70, low: 4964.55, open: 4966.96, timestamp: 1587660360000, volume: 105 },
+    { close: 4979.31, high: 4979.61, low: 4973.99, open: 4977.06, timestamp: 1587660420000, volume: 35 },
+    { close: 4977.02, high: 4981.66, low: 4975.14, open: 4981.66, timestamp: 1587660480000, volume: 135 },
+    { close: 4985.09, high: 4988.62, low: 4980.30, open: 4986.72, timestamp: 1587660540000, volume: 76 }
+  ])
+})
+
+onDestroy(() => {
+  dispose('chart')
+})
+</script>
html
<!DOCTYPE html>
+<html lang="cn" >
+  <head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <meta name="theme-color" content="#000000" />
+    <meta name="keywords" content="Quick Start"/>
+    <meta name="description" content="Quick Start"/>
+    <title>Quick Start</title>
+    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/klinecharts/dist/umd/klinecharts.min.js"></script>
+  </head>
+  <body>
+    <div id="chart" style="width:600px;height:600px"></div>
+    <script>
+      window.onload = function () {
+        var chart = klinecharts.init('chart')
+
+        chart.applyNewData([
+          { close: 4976.16, high: 4977.99, low: 4970.12, open: 4972.89, timestamp: 1587660000000, volume: 204 },
+          { close: 4977.33, high: 4979.94, low: 4971.34, open: 4973.20, timestamp: 1587660060000, volume: 194 },
+          { close: 4977.93, high: 4977.93, low: 4974.20, open: 4976.53, timestamp: 1587660120000, volume: 197 },
+          { close: 4966.77, high: 4968.53, low: 4962.20, open: 4963.88, timestamp: 1587660180000, volume: 28 },
+          { close: 4961.56, high: 4972.61, low: 4961.28, open: 4961.28, timestamp: 1587660240000, volume: 184 },
+          { close: 4964.19, high: 4964.74, low: 4961.42, open: 4961.64, timestamp: 1587660300000, volume: 191 },
+          { close: 4968.93, high: 4972.70, low: 4964.55, open: 4966.96, timestamp: 1587660360000, volume: 105 },
+          { close: 4979.31, high: 4979.61, low: 4973.99, open: 4977.06, timestamp: 1587660420000, volume: 35 },
+          { close: 4977.02, high: 4981.66, low: 4975.14, open: 4981.66, timestamp: 1587660480000, volume: 135 },
+          { close: 4985.09, high: 4988.62, low: 4980.30, open: 4986.72, timestamp: 1587660540000, volume: 76 }
+        ])
+      }
+    </script>
+  </body>
+</html>

This completes your first chart creation.

+ + + + \ No newline at end of file diff --git a/en-US/guide/styles.html b/en-US/guide/styles.html new file mode 100644 index 0000000..f67533a --- /dev/null +++ b/en-US/guide/styles.html @@ -0,0 +1,552 @@ + + + + + + 🎨 Style | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

🎨 Style

Whether you see a point or a line on the chart, you can basically customize the style. Changes can be made via the chart method init(ds, options) or the chart instance method setStyles(styles).

Picture explanation

1 grid.horizontal2 grid.vertical3 candle.bar4 candle.candle.priceMark.last.line5 candle.candle.priceMark.last.text6 candle.candle.priceMark.high7 candle.candle.priceMark.low8 candle.candle.tooltip9 indicator.ohlc10 indicator.lastValueMark11 indicator.tooltip12 xAxis.axisLine13 xAxis.tickLine14 xAxis.tickText15 yAxis.axisLine16 yAxis.tickLine17 yAxis.tickText18 separator19 crosshair.horizontal.line20 crosshair.horizontal.text21 crosshair.vertical.line22 crosshair.vertical.text23 overlay

Default full configuration

javascript
{
+  grid: {
+    show: true,
+    horizontal: {
+      show: true,
+      size: 1,
+      color: '#EDEDED',
+      style: 'dashed',
+      dashedValue: [2, 2]
+    },
+    vertical: {
+      show: true,
+      size: 1,
+      color: '#EDEDED',
+      style: 'dashed',
+      dashedValue: [2, 2]
+    }
+  },
+  candle: {
+    // 'candle_solid'|'candle_stroke'|'candle_up_stroke'|'candle_down_stroke'|'ohlc'|'area'
+    type: 'candle_solid',
+    bar: {
+      upColor: '#2DC08E',
+      downColor: '#F92855',
+      noChangeColor: '#888888',
+      upBorderColor: '#2DC08E',
+      downBorderColor: '#F92855',
+      noChangeBorderColor: '#888888',
+      upWickColor: '#2DC08E',
+      downWickColor: '#F92855',
+      noChangeWickColor: '#888888'
+    },
+    area: {
+      lineSize: 2,
+      lineColor: '#2196F3',
+      smooth: false,
+      value: 'close',
+      backgroundColor: [{
+        offset: 0,
+        color: 'rgba(33, 150, 243, 0.01)'
+      }, {
+        offset: 1,
+        color: 'rgba(33, 150, 243, 0.2)'
+      }],
+      point: {
+        show: true,
+        color: blue,
+        radius: 4,
+        rippleColor: getAlphaBlue(0.3),
+        rippleRadius: 8,
+        animation: true,
+        animationDuration: 1000
+      }
+    },
+    priceMark: {
+      show: true,
+      high: {
+        show: true,
+        color: '#D9D9D9',
+        textMargin: 5,
+        textSize: 10,
+        textFamily: 'Helvetica Neue',
+        textWeight: 'normal'
+      },
+      low: {
+        show: true,
+        color: '#D9D9D9',
+        textMargin: 5,
+        textSize: 10,
+        textFamily: 'Helvetica Neue',
+        textWeight: 'normal',
+      },
+      last: {
+        show: true,
+        upColor: '#2DC08E',
+        downColor: '#F92855',
+        noChangeColor: '#888888',
+        line: {
+          show: true,
+          // 'solid' | 'dashed'
+          style: 'dashed',
+          dashedValue: [4, 4],
+          size: 1
+        },
+        text: {
+          show: true,
+          // 'fill' | 'stroke' | 'stroke_fill'
+          style: 'fill',
+          size: 12,
+          paddingLeft: 4,
+          paddingTop: 4,
+          paddingRight: 4,
+          paddingBottom: 4,
+          // 'solid' | 'dashed'
+          borderStyle: 'solid',
+          borderSize: 0,
+          borderColor: 'transparent',
+          borderDashedValue: [2, 2],
+          color: '#FFFFFF',
+          family: 'Helvetica Neue',
+          weight: 'normal',
+          borderRadius: 2
+        }
+      }
+    },
+    tooltip: {
+      offsetLeft: 4,
+      offsetTop: 6,
+      offsetRight: 4,
+      offsetBottom: 6,
+      // 'always' | 'follow_cross' | 'none'
+      showRule: 'always',
+      // 'standard' | 'rect'
+      showType: 'standard',
+      // Custom display, it can be a callback method or an array, when it is a method, it needs to return an array
+      // The child item type of the array is { title, value }
+      // title and value can be strings or objects, and the object type is { text, color }
+      // title or title.text can be an internationalized key,
+      // value or value.text supports string templates
+      // For example: want to display time, opening and closing, configure [{ title: 'time', value: '{time}' }, { title: 'open', value: '{open}' }, { title: ' close', value: '{close}' }]
+      custom: [
+        { title: 'time', value: '{time}' },
+        { title: 'open', value: '{open}' },
+        { title: 'high', value: '{high}' },
+        { title: 'low', value: '{low}' },
+        { title: 'close', value: '{close}' },
+        { title: 'volume', value: '{volume}' }
+      ],
+      defaultValue: 'n/a',
+      rect: {
+       // 'fixed' | 'pointer'
+        position: 'fixed',
+        paddingLeft: 4,
+        paddingRight: 4,
+        paddingTop: 4,
+        paddingBottom: 4,
+        offsetLeft: 4,
+        offsetTop: 4,
+        offsetRight: 4,
+        offsetBottom: 4,
+        borderRadius: 4,
+        borderSize: 1,
+        borderColor: '#f2f3f5',
+        color: '#FEFEFE'
+      },
+      text: {
+        size: 12,
+        family: 'Helvetica Neue',
+        weight: 'normal',
+        color: '#D9D9D9',
+        marginLeft: 8,
+        marginTop: 4,
+        marginRight: 8,
+        marginBottom: 4
+      },
+      // sample:
+      // [{
+      //   id: 'icon_id',
+      //   position: 'left', // types include 'left', 'middle', 'right'
+      //   marginLeft: 8,
+      //   marginTop: 6,
+      //   marginRight: 0,
+      //   marginBottom: 0,
+      //   paddingLeft: 1,
+      //   paddingTop: 1,
+      //   paddingRight: 1,
+      //   paddingBottom: 1,
+      //   icon: '\ue900',
+      //   fontFamily: 'iconfont',
+      //   size: 12,
+      //   color: '#76808F',
+      //   backgroundColor: 'rgba(33, 150, 243, 0.2)',
+      //   activeBackgroundColor: 'rgba(33, 150, 243, 0.4)'
+      // }]
+      icons: []
+    }
+  },
+  indicator: {
+    ohlc: {
+      upColor: 'rgba(45, 192, 142, .7)',
+      downColor: 'rgba(249, 40, 85, .7)',
+      noChangeColor: '#888888'
+    },
+    bars: [{
+      // 'fill' | 'stroke' | 'stroke_fill'
+      style: 'fill',
+      // 'solid' | 'dashed'
+      borderStyle: 'solid',
+      borderSize: 1,
+      borderDashedValue: [2, 2],
+      upColor: 'rgba(45, 192, 142, .7)',
+      downColor: 'rgba(249, 40, 85, .7)',
+      noChangeColor: '#888888'
+    }],
+    lines: [
+      {
+        // 'solid' | 'dashed'
+        style: 'solid',
+        smooth: false,
+        size: 1,
+        dashedValue: [2, 2],
+        color: '#FF9600'
+      }, {
+        style: 'solid',
+        smooth: false,
+        size: 1,
+        dashedValue: [2, 2],
+        color: '#935EBD'
+      }, {
+        style: 'solid',
+        smooth: false,
+        size: 1,
+        dashedValue: [2, 2],
+        color: '#2196F3'
+      }, {
+        style: 'solid',
+        smooth: false,
+        size: 1,
+        dashedValue: [2, 2],
+        color: '#E11D74'
+      }, {
+        style: 'solid',
+        smooth: false,
+        size: 1,
+        dashedValue: [2, 2],
+        color: '#01C5C4'
+      }
+    ],
+    circles: [{
+      // 'fill' | 'stroke' | 'stroke_fill'
+      style: 'fill',
+      // 'solid' | 'dashed'
+      borderStyle: 'solid',
+      borderSize: 1,
+      borderDashedValue: [2, 2],
+      upColor: 'rgba(45, 192, 142, .7)',
+      downColor: 'rgba(249, 40, 85, .7)',
+      noChangeColor: '#888888'
+    }],
+    lastValueMark: {
+      show: false,
+      text: {
+        show: false,
+        // 'fill' | 'stroke' | 'stroke_fill'
+        style: 'fill',
+        color: '#FFFFFF',
+        size: 12,
+        family: 'Helvetica Neue',
+        weight: 'normal',
+        // 'solid' | 'dashed'
+        borderStyle: 'solid',
+        borderSize: 1,
+        borderDashedValue: [2, 2],
+        paddingLeft: 4,
+        paddingTop: 4,
+        paddingRight: 4,
+        paddingBottom: 4,
+        borderRadius: 2
+      }
+    },
+    tooltip: {
+      offsetLeft: 4,
+      offsetTop: 6,
+      offsetRight: 4,
+      offsetBottom: 6,
+      // 'always' | 'follow_cross' | 'none'
+      showRule: 'always',
+      // 'standard' | 'rect'
+      showType: 'standard',
+      showName: true,
+      showParams: true,
+      defaultValue: 'n/a',
+      text: {
+        size: 12,
+        family: 'Helvetica Neue',
+        weight: 'normal',
+        color: '#D9D9D9',
+        marginTop: 4,
+        marginRight: 8,
+        marginBottom: 4,
+        marginLeft: 8
+      },
+      // sample:
+      // [{
+      //   id: 'icon_id',
+      //   position: 'left', // types include 'left', 'middle', 'right'
+      //   marginLeft: 8,
+      //   marginTop: 6,
+      //   marginRight: 0,
+      //   marginBottom: 0,
+      //   paddingLeft: 1,
+      //   paddingTop: 1,
+      //   paddingRight: 1,
+      //   paddingBottom: 1,
+      //   icon: '\ue900',
+      //   fontFamily: 'iconfont',
+      //   size: 12,
+      //   color: '#76808F',
+      //   backgroundColor: 'rgba(33, 150, 243, 0.2)',
+      //   activeBackgroundColor: 'rgba(33, 150, 243, 0.4)'
+      // }]
+      icons: []
+    }
+  },
+  xAxis: {
+    show: true,
+    size: 'auto',
+    axisLine: {
+      show: true,
+      color: '#888888',
+      size: 1
+    },
+    tickText: {
+      show: true,
+      color: '#D9D9D9',
+      family: 'Helvetica Neue',
+      weight: 'normal',
+      size: 12,
+      marginStart: 4,
+      marginEnd: 4
+    },
+    tickLine: {
+      show: true,
+      size: 1,
+      length: 3,
+      color: '#888888'
+    }
+  },
+  yAxis: {
+    show: true,
+    size: 'auto',
+    // 'left' | 'right'
+    position: 'right',
+    // 'normal' | 'percentage' | 'log'
+    type: 'normal',
+    inside: false,
+    reverse: false,
+    axisLine: {
+      show: true,
+      color: '#888888',
+      size: 1
+    },
+    tickText: {
+      show: true,
+      color: '#D9D9D9',
+      family: 'Helvetica Neue',
+      weight: 'normal',
+      size: 12,
+      marginStart: 4,
+      marginEnd: 4
+    },
+    tickLine: {
+      show: true,
+      size: 1,
+      length: 3,
+      color: '#888888'
+    }
+  },
+  separator: {
+    size: 1,
+    color: '#888888',
+    fill: true,
+    activeBackgroundColor: 'rgba(230, 230, 230, .15)'
+  },
+  crosshair: {
+    show: true,
+    horizontal: {
+      show: true,
+      line: {
+        show: true,
+        // 'solid'|'dashed'
+        style: 'dashed',
+        dashedValue: [4, 2],
+        size: 1,
+        color: '#888888'
+      },
+      text: {
+        show: true,
+        // 'fill' | 'stroke' | 'stroke_fill'
+        style: 'fill',
+        color: '#FFFFFF',
+        size: 12,
+        family: 'Helvetica Neue',
+        weight: 'normal',
+        // 'solid' | 'dashed'
+        borderStyle: 'solid',
+        borderDashedValue: [2, 2],
+        borderSize: 1,
+        borderColor: '#686D76',
+        borderRadius: 2,
+        paddingLeft: 4,
+        paddingRight: 4,
+        paddingTop: 4,
+        paddingBottom: 4,
+        backgroundColor: '#686D76'
+      }
+    },
+    vertical: {
+      show: true,
+      line: {
+        show: true,
+        // 'solid'|'dashed'
+        style: 'dashed',
+        dashedValue: [4, 2],
+        size: 1,
+        color: '#888888'
+      },
+      text: {
+        show: true,
+        // 'fill' | 'stroke' | 'stroke_fill'
+        style: 'fill',
+        color: '#FFFFFF',
+        size: 12,
+        family: 'Helvetica Neue',
+        weight: 'normal',
+        // 'solid' | 'dashed'
+        borderStyle: 'solid',
+        borderDashedValue: [2, 2],
+        borderSize: 1,
+        borderColor: '#686D76',
+        borderRadius: 2,
+        paddingLeft: 4,
+        paddingRight: 4,
+        paddingTop: 4,
+        paddingBottom: 4,
+        backgroundColor: '#686D76'
+      }
+    }
+  },
+  overlay: {
+    point: {
+      color: '#1677FF',
+      borderColor: 'rgba(22, 119, 255, 0.35)',
+      borderSize: 1,
+      radius: 5,
+      activeColor: '#1677FF',
+      activeBorderColor: 'rgba(22, 119, 255, 0.35)',
+      activeBorderSize: 3,
+      activeRadius: 5
+    },
+    line: {
+      // 'solid' | 'dashed'
+      style: 'solid',
+      smooth: false,
+      color: '#1677FF',
+      size: 1,
+      dashedValue: [2, 2]
+    },
+    rect: {
+      // 'fill' | 'stroke' | 'stroke_fill'
+      style: 'fill',
+      color: 'rgba(22, 119, 255, 0.25)',
+      borderColor: '#1677FF',
+      borderSize: 1,
+      borderRadius: 0,
+      // 'solid' | 'dashed'
+      borderStyle: 'solid',
+      borderDashedValue: [2, 2]
+    },
+    polygon: {
+      // 'fill' | 'stroke' | 'stroke_fill'
+      style: 'fill',
+      color: '#1677FF',
+      borderColor: '#1677FF',
+      borderSize: 1,
+      // 'solid' | 'dashed'
+      borderStyle: 'solid',
+      borderDashedValue: [2, 2]
+    },
+    circle: {
+      // 'fill' | 'stroke' | 'stroke_fill'
+      style: 'fill',
+      color: 'rgba(22, 119, 255, 0.25)',
+      borderColor: '#1677FF',
+      borderSize: 1,
+      // 'solid' | 'dashed'
+      borderStyle: 'solid',
+      borderDashedValue: [2, 2]
+    },
+    arc: {
+      // 'solid' | 'dashed'
+      style: 'solid',
+      color: '#1677FF',
+      size: 1,
+      dashedValue: [2, 2]
+    },
+    text: {
+      // 'fill' | 'stroke' | 'stroke_fill'
+      style: 'fill',
+      color: '#FFFFFF',
+      size: 12,
+      family: 'Helvetica Neue',
+      weight: 'normal',
+      // 'solid' | 'dashed'
+      borderStyle: 'solid',
+      borderDashedValue: [2, 2],
+      borderSize: 0,
+      borderRadius: 2,
+      borderColor: '#1677FF',
+      paddingLeft: 0,
+      paddingRight: 0,
+      paddingTop: 0,
+      paddingBottom: 0,
+      backgroundColor: 'transparent'
+    },
+    rectText: {
+      // 'fill' | 'stroke' | 'stroke_fill'
+      style: 'fill',
+      color: '#FFFFFF',
+      size: 12,
+      family: 'Helvetica Neue',
+      weight: 'normal',
+      // 'solid' | 'dashed'
+      borderStyle: 'solid',
+      borderDashedValue: [2, 2],
+      borderSize: 1,
+      borderRadius: 2,
+      borderColor: '#1677FF',
+      paddingLeft: 4,
+      paddingRight: 4,
+      paddingTop: 4,
+      paddingBottom: 4,
+      backgroundColor: '#1677FF'
+    }
+  }
+}
+ + + + \ No newline at end of file diff --git a/en-US/guide/v8-to-v9.html b/en-US/guide/v8-to-v9.html new file mode 100644 index 0000000..5edef49 --- /dev/null +++ b/en-US/guide/v8-to-v9.html @@ -0,0 +1,26 @@ + + + + + + 🛠️ From V8 to V9 | KLineChart + + + + + + + + + + + + + + + +
Skip to content

🛠️ From V8 to V9

This document will help you upgrade from kinecharts 8.x to klinecharts 9.x. If you are 7.x or older, please refer to the previous upgrade document to upgrade to 8.x.

Import adjustment

klinecharts/index.blank' and klinecharts/index.simple are no longer distinguished. Please use import {...} from klinecharts uniformly.

Design adjustment

shape, annotation, tag are merged into overlay. Please refer to overlay for details.

Style configuration adjustment

  • The style options of all lines are changed to dashed and dashValue to dashedValue.
  • candle.tooltip.labels and candle.tooltip.values are merged into candle.tooltip.custom.
  • xAxis.height is changed to xAxis.size, xAxis.tickeText.paddingTop is changed to xAxis.tickeText.marinStart, and xAxis.tickeText.paddingBottom is changed to xAxis.tickeText.marginEnd.
  • yAxis.height is changed to yAxis.size, yAxis.tickeText.paddingTop is changed to yAxis.tickeText.marinStart, and yAxis.tickeText.paddingBottom is changed to yAxis.tickeText.marginEnd.
  • technicalIndicator.bar is changed to indicator.bars, technicalIndicator.line is changed to indicator.linestechnicalIndicator.circle is changed to indicator.circles.
  • Delete shape, annotation, tag, please use overlay instead.

API adjustment

Chart API

  • extension.addTechnicalIndicatorTemplate(template) is changed to registerIndicator(template).
  • Delete extension.addShapeTemplate(template), please use registerOverlay(template) instead.

Instance API

  • getDom({paneId, position}) is changed to getDom(paneId, position), and the parameter position option is changed to root, main and yAxis.
  • getWidth() and getHeight() are combined into a method 'getSize(paneId, position).
  • setStyleOptions(styles) is changed to setStyles(styles).
  • getStyleOptions() is changed to getStyles().
  • setOffsetRightSpace(space) is changed to setOffsetRightDistance(distance).
  • createTechnicalIndicator(value, isStack, paneOptions) is changed to createIndicator(value, isStack, paneOptions).
  • overrideTechnicalIndicator(override, paneId) is changed to overrideIndicator(override, paneId).
  • getTechnicalIndicatorByPaneId(paneId, name) is changed to getIndicatorByPaneId(paneId, name).
  • removeTechnicalIndicator(paneId, name) is changed to removeIndicator(paneId, name).
  • subscribeAction(type, callback) and unsubscribeAction(type, callback). The parameter type option is changed to onZoom, onScroll, onCrosshairChange, onVisibleRangeChange and onPaneDrag.
  • convertToPixel(value, finder) and convertFromPixel(coordinate, finder), the parameter finder.absoluteYAxis is changed to finder.absolute.
  • To delete createShape(value, paneId), createAnnotation(annotation, paneId), createTag(tag, paneId), please use createOverlay(value, paneId) instead.
  • To delete removeShape(id), removeAnnotation(paneId, points), removeTag(paneId, tagId), please use removeOverlay(id) instead.
  • To delete setShapeOptions(options), use overrideOverlay(override) instead.
  • To delete createHtml(html, paneId), removeHtml(paneId, htmlId), please obtain the corresponding dom through getDom(paneId, position).
  • To delete getTechnicalIndicatorByPaneId(paneId, name).

Shape help API

  • All APIs are migrated to 'klinecharts.utils'.

Customized technical indicator adjustment

  • Attribute plots is changed to figures, sub item methods color, isStroke, isDashed are merged into styles.
  • Change the method 'regeneratePlots(params) to regenerateFigures(params).
  • The method calcTechnicalIndicator(kLineDataList, options) is changed to calc(kLineDataList, indicator).
  • The method createTooltipDataSource({ dataSource, viewport, crosshair, technicalIndicator, xAxis, yAxis, defaultStyles }) is changed to createTooltipDataSource({ kLineDataList, indicator, visibleRange, bounding, crosshair, defaultStyles, xAxis, yAxis }). The return value is determined by [{ title: 'xxx', value: 'xxx', color: 'xxx' } ] Change to { name: 'xxx', calcParamsText: 'xxx', values: [{ title: 'xxx', value: 'xxx', color: 'xxx' }, ...] }.
  • The method render({ctx, dataSource, viewport, styles, xAxis, yAxis}) is changed to draw({ ctx, kLineDataList, indicator, visibleRange, bounding, barSpace, defaultStyles, xAxis, yAxis }).
  • Delete the attribute shouldCheckParamCount.
+ + + + \ No newline at end of file diff --git a/en-US/index.html b/en-US/index.html new file mode 100644 index 0000000..117492a --- /dev/null +++ b/en-US/index.html @@ -0,0 +1,26 @@ + + + + + + Highly customizable professional lightweight financial chart | KLineChart + + + + + + + + + + + + + + + +
Skip to content

KLineChart

Highly customizable professional lightweight financial chart

Easy to use, lightweight and smooth, suitable for web front-end financial chart with rich scenarios.

KLineChart
+ + + + \ No newline at end of file diff --git a/en-US/more/faq.html b/en-US/more/faq.html new file mode 100644 index 0000000..c5d337e --- /dev/null +++ b/en-US/more/faq.html @@ -0,0 +1,30 @@ + + + + + + 🙋 FAQ | KLineChart + + + + + + + + + + + + + + + +
Skip to content

🙋 FAQ

After the chart is initialized, only one line can be seen?

The chart always fills the container, checking to see if the container has height.

The candle shows a line, no fluctuation, what to do?

Chart default price precision is two decimal, call setPriceVolumePrecision(pricePrecision, volumePrecision) to set the precision.

How to create a real-time chart?

Through style settings.

javascript
chart.setStyles({
+  candle: {
+    type: 'area',
+  },
+});

Built-in technical indicators, calculated data is not what you want, how to do?

You can override calc by the chart method createIndicator or overrideIndicator.

What if I want to create an indicator other than the built-in technical indicator?

Charts support custom technical indicators, see indicators for details.

Want to mark the point of sale, how should do?

Overlays can be used. The built-in overlay has a simpleAnnotation, which can be created with the chart api createOverlay({ name: 'simpleAnnotation', ... }, paneId).

+ + + + \ No newline at end of file diff --git a/en-US/more/feedback.html b/en-US/more/feedback.html new file mode 100644 index 0000000..e5c9fe7 --- /dev/null +++ b/en-US/more/feedback.html @@ -0,0 +1,27 @@ + + + + + + 💬 Feedback | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

💬 Feedback

Github

Telegram

https://t.me/+098syuQtzI0yNzll

Wechat discussion group

Scan to add developers, note KLineChart, and join the group chat.

+ + + + \ No newline at end of file diff --git a/en-US/more/local-development.html b/en-US/more/local-development.html new file mode 100644 index 0000000..2e3a271 --- /dev/null +++ b/en-US/more/local-development.html @@ -0,0 +1,28 @@ + + + + + + Local Development | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

Local Development

Introduction

If you see this, you may be interested in improving the KLineChart core. Thank you @fish2016 This document was written.

Notice

File directory description

  • dist
    //  Store compiled files
  • docs
    //  Docs directory
  • scripts
    //  Built script directory
  • src
    //  Source code directory
    • common
      //  Store some public basic files
      • utils
        //  Util directory
    • component
      //  Component directory
    • extension
      //  Some module directory that can be extended
      • figure
        //  Basic drawing directory
      • i18n
        //  International directory
      • indicator
        //  Indicator directory
      • overlay
        //  Overlay directory
      • styles
        //  Style directory
      • x-axis
        //  X-axis directory
      • y-axis
        //  Y-axis directory
    • pane
      //  Panel directory
    • store
      //  Data store directory
    • view
      //  Draw module directory
    • widget
      //  Draw module collection directory
  • tests
    //  Test module directory

Module dependencies

The above diagram shows the hierarchy of chart modules from top to bottom, with the lower layer serving as the upper layer container.

  • Figure Basic shapes, such as circle, polygon, rect, text, etc.
  • View Retrieve data from ChartStore and perform single business plotting, such as candlesticks, area, grid line, crosshair, indicator, etc
  • Widget Create canvas and assemble the relevant View together.
  • Pane Create dom container and assemble the Widget together.
  • Chart Manage the Panes, such as deleting and adding operations, to form the final chart. In addition, event distribution is also carried out to manipulate the data in ChartStore and notify subordinate components to update as needed.

Development

Installation dependencies

The project adopts a dependency Node.js The package manager for management requires Node.js environment. You can use npm, pnpm, or yarn to install dependencies.

bash
# Root dir run
+npm install

NPM Execute command description

  • lint: Run npm run lint verify code rules.
  • clean: Run npm run clean clean up the built files.
  • build-esm: Run npm run build-esm built esm module.
  • build-cjs: Run npm run build-cjs built commonjs module.
  • build-umd:dev: Run npm run build-umd:dev built umd development module.
  • build-umd:prod: Run npm run build-umd:dev built umd production module.
  • build-umd: Run npm run build-umd built umd development and production module。
  • build-core: Run npm run build-core built esm, commonjs umd development and umd production module.
  • build-dts: Run npm run build-dts generate typescript dependency files.
  • build: Run npm run build built esm, commonjs umd development and umd production module and generate typescript dependency files.

Debug

This project does not have a debugging project and requires the creation of a new project, use npm link import,or import index.ts debug. You can use vite create a project.

+ + + + \ No newline at end of file diff --git a/en-US/sample/axis.html b/en-US/sample/axis.html new file mode 100644 index 0000000..2f22615 --- /dev/null +++ b/en-US/sample/axis.html @@ -0,0 +1,155 @@ + + + + + + Axis | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

Axis

Open in a new window
js
import { init } from 'klinecharts'
+import './index.css'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+const chart = init('k-line-chart')
+chart.applyNewData(genData())
+
+function setPosition (position) {
+  chart.setStyles({
+    yAxis: {
+      position
+    }
+  })
+}
+
+function setInside (inside) {
+  chart.setStyles({
+    yAxis: {
+      inside
+    }
+  })
+}
+
+function setType (type) {
+  chart.setStyles({
+    yAxis: {
+      type
+    }
+  })
+}
+
+function setReverse (reverse) {
+  chart.setStyles({
+    yAxis: {
+      reverse
+    }
+  })
+}
+
+// 以下仅仅是为了协助代码演示,在实际项目中根据情况进行调整。
+// The following is only for the purpose of assisting in code demonstration, and adjustments will be made according to the actual situation in the project.
+const container = document.getElementById('container')
+const buttonContainer = document.createElement('div')
+buttonContainer.className = 'button-container'
+
+const positions = [
+  { key: 'right', text: '右侧-Right' },
+  { key: 'left', text: '左侧-Left' }
+]
+const insideOutside = [
+  { key: false, text: '外部-Outside' },
+  { key: true, text: '内部-Inside' }
+]
+const types = [
+  { key: 'normal', text: '线性轴-Liner Axis' },
+  { key: 'percentage', text: '百分比轴-Percentage axis' },
+  { key: 'log', text: '对数轴-Logarithm axis' },
+]
+const reverse = [
+  { key: false, text: '正向-Regularity' },
+  { key: true, text: '反向-Reverse' }
+]
+positions.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setPosition(key) })
+  buttonContainer.appendChild(button)
+})
+insideOutside.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setInside(key) })
+  buttonContainer.appendChild(button)
+})
+types.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setType(key) })
+  buttonContainer.appendChild(button)
+})
+reverse.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setReverse(key) })
+  buttonContainer.appendChild(button)
+})
+container.appendChild(buttonContainer)
html
<div id="container">
+  <div id="k-line-chart" style="height:430px">
+</div>
css
.button-container {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 8px;
+  margin-top: 10px;
+  padding: 10px 22px;
+}
+
+.button-container button {
+  padding: 2px 6px;
+  background-color: #1677FF;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  outline: none;
+  border: none;
+}
+ + + + \ No newline at end of file diff --git a/en-US/sample/basic.html b/en-US/sample/basic.html new file mode 100644 index 0000000..410875f --- /dev/null +++ b/en-US/sample/basic.html @@ -0,0 +1,54 @@ + + + + + + Basic | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

Basic

Open in a new window
js
import { init } from 'klinecharts'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+const chart = init('k-line-chart')
+chart.applyNewData(genData())
html
<div id="k-line-chart" style="height:430px"/>
+ + + + \ No newline at end of file diff --git a/en-US/sample/candle-type.html b/en-US/sample/candle-type.html new file mode 100644 index 0000000..6faf881 --- /dev/null +++ b/en-US/sample/candle-type.html @@ -0,0 +1,101 @@ + + + + + + Candle Type | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

Candle Type

Open in a new window
js
import { init } from 'klinecharts'
+import './index.css'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+const chart = init('k-line-chart')
+chart.applyNewData(genData())
+
+function setType (type) {
+  chart.setStyles({
+    candle: { type }
+  })
+}
+
+// 以下仅仅是为了协助代码演示,在实际项目中根据情况进行调整。
+// The following is only for the purpose of assisting in code demonstration, and adjustments will be made according to the actual situation in the project.
+const container = document.getElementById('container')
+const buttonContainer = document.createElement('div')
+buttonContainer.className = 'button-container'
+const items = [
+  { key: 'candle_solid', text: '全实心-All solid' },
+  { key: 'candle_stroke', text: '全空心-All stroke' },
+  { key: 'candle_up_stroke', text: '涨空心-Up stroke' },
+  { key: 'candle_down_stroke', text: '跌空心-Down stroke' },
+  { key: 'ohlc', text: 'OHLC' },
+  { key: 'area', text: '面积图-Area' }
+]
+items.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setType(key) })
+  buttonContainer.appendChild(button)
+})
+container.appendChild(buttonContainer)
html
<div id="container">
+  <div id="k-line-chart" style="height:430px">
+</div>
css
.button-container {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 8px;
+  margin-top: 10px;
+  padding: 10px 22px;
+}
+
+.button-container button {
+  padding: 2px 6px;
+  background-color: #1677FF;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  outline: none;
+  border: none;
+}
+ + + + \ No newline at end of file diff --git a/en-US/sample/data.html b/en-US/sample/data.html new file mode 100644 index 0000000..d1f4b8d --- /dev/null +++ b/en-US/sample/data.html @@ -0,0 +1,75 @@ + + + + + + Data | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

Data

Open in a new window
js
import { init } from 'klinecharts'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+const chart = init('k-line-chart')
+chart.applyNewData(genData())
+chart.loadMore((timestamp) => {
+  loadMoreTimer = setTimeout(() => {
+    chart.applyMoreData(genData(timestamp), true)
+  }, 2000)
+})
+chart.applyNewData(genData(), true)
+updateData()
+
+function updateData () {
+  setTimeout(() => {
+    const dataList = chart.getDataList()
+    const lastData = dataList[dataList.length - 1]
+    const newData = { ...lastData }
+    newData.close += (Math.random() * 20 - 10)
+    newData.high = Math.max(newData.high, newData.close)
+    newData.low = Math.min(newData.low, newData.close)
+    newData.volume += Math.round(Math.random() * 10)
+    chart.updateData(newData)
+    updateData()
+  }, 600)
+}
html
<div id="k-line-chart" style="height:430px"/>
+ + + + \ No newline at end of file diff --git a/en-US/sample/i18n.html b/en-US/sample/i18n.html new file mode 100644 index 0000000..912ae1b --- /dev/null +++ b/en-US/sample/i18n.html @@ -0,0 +1,105 @@ + + + + + + I18n | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

I18n

Open in a new window
js
import { init, registerLocale } from 'klinecharts'
+import './index.css'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+registerLocale('zh-HK', {
+  time: '時間:',
+  open: '開:',
+  high: '高:',
+  low: '低:',
+  close: '收:',
+  volume: '成交量:'
+})
+
+const chart = init('k-line-chart')
+chart.applyNewData(genData())
+
+function setLang (lang) {
+  chart.setLocale(lang)
+}
+
+// 以下仅仅是为了协助代码演示,在实际项目中根据情况进行调整。
+// The following is only for the purpose of assisting in code demonstration, and adjustments will be made according to the actual situation in the project.
+const container = document.getElementById('container')
+const buttonContainer = document.createElement('div')
+buttonContainer.className = 'button-container'
+const items = [
+  { key: 'zh-CN', text: '简体中文' },
+  { key: 'zh-HK', text: '繁体中文' },
+  { key: 'en-US', text: 'English' }
+]
+items.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setLang(key) })
+  buttonContainer.appendChild(button)
+})
+container.appendChild(buttonContainer)
html
<div id="container">
+  <div id="k-line-chart" style="height:430px">
+</div>
css
.button-container {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 8px;
+  margin-top: 10px;
+  padding: 10px 22px;
+}
+
+.button-container button {
+  padding: 2px 6px;
+  background-color: #1677FF;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  outline: none;
+  border: none;
+}
+ + + + \ No newline at end of file diff --git a/en-US/sample/indicator.html b/en-US/sample/indicator.html new file mode 100644 index 0000000..5c0fe58 --- /dev/null +++ b/en-US/sample/indicator.html @@ -0,0 +1,152 @@ + + + + + + Indicator | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

Indicator

Open in a new window
js
import { init, registerIndicator } from 'klinecharts'
+import './index.css'
+
+const fruits = [
+  '🍏', '🍎', '🍐', '🍊', '🍋', '🍌',
+  '🍉', '🍇', '🍓', '🍈', '🍒', '🍑',
+  '🍍', '🥥', '🥝', '🥭', '🥑', '🍏'
+]
+
+registerIndicator({
+  name: 'Custom',
+  figures: [
+    { key: 'emoji' }
+  ],
+  calc: (kLineDataList) => {
+    return kLineDataList.map(kLineData => ({ emoji: kLineData.close, text: fruits[Math.floor(Math.random() * 17)] }))
+  },
+  draw: ({
+    ctx,
+    barSpace,
+    visibleRange,
+    indicator,
+    xAxis,
+    yAxis
+  }) => {
+    const { from, to } = visibleRange
+
+    ctx.font = barSpace.gapBar + 'px' + ' Helvetica Neue'
+    ctx.textAlign = 'center'
+    const result = indicator.result
+    for (let i = from; i < to; i++) {
+      const data = result[i]
+      const x = xAxis.convertToPixel(i)
+      const y = yAxis.convertToPixel(data.emoji)
+      ctx.fillText(data.text, x, y)
+    }
+    return false
+  }
+})
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+const chart = init('k-line-chart')
+chart.applyNewData(genData())
+
+function setMainIndicator(name) {
+  chart.createIndicator(name, true, { id: 'candle_pane' })
+}
+
+function setSubIndicator(name) {
+  chart.createIndicator(name)
+}
+
+
+// 以下仅仅是为了协助代码演示,在实际项目中根据情况进行调整。
+// The following is only for the purpose of assisting in code demonstration, and adjustments will be made according to the actual situation in the project.
+const container = document.getElementById('container')
+const buttonContainer = document.createElement('div')
+buttonContainer.className = 'button-container'
+
+const mainIndicators = ['MA', 'BOLL', 'Custom']
+const subIndicators = ['VOL', 'MACD', 'Custom']
+
+const mainTitle = document.createElement('span')
+mainTitle.innerText = '主图指标-Main indicator: '
+buttonContainer.appendChild(mainTitle)
+mainIndicators.forEach((name) => {
+  const button = document.createElement('button')
+  button.innerText = name
+  button.addEventListener('click', () => { setMainIndicator(name) })
+  buttonContainer.appendChild(button)
+})
+
+const subTitle = document.createElement('span')
+subTitle.style.paddingLeft = '16px'
+subTitle.innerText = '副图指标-Sub indicator: '
+buttonContainer.appendChild(subTitle)
+subIndicators.forEach((name) => {
+  const button = document.createElement('button')
+  button.innerText = name
+  button.addEventListener('click', () => { setSubIndicator(name) })
+  buttonContainer.appendChild(button)
+})
+
+container.appendChild(buttonContainer)
html
<div id="container">
+  <div id="k-line-chart" style="height:430px">
+</div>
css
.button-container {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 8px;
+  margin-top: 10px;
+  padding: 10px 22px;
+}
+
+.button-container button {
+  padding: 2px 6px;
+  background-color: #1677FF;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  outline: none;
+  border: none;
+}
+ + + + \ No newline at end of file diff --git a/en-US/sample/overlay.html b/en-US/sample/overlay.html new file mode 100644 index 0000000..4c1a0b3 --- /dev/null +++ b/en-US/sample/overlay.html @@ -0,0 +1,122 @@ + + + + + + Overlay | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

Overlay

Open in a new window
js
import { init, registerOverlay } from 'klinecharts'
+import './index.css'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+registerOverlay({
+  name: 'circle',
+  needDefaultPointFigure: true,
+  needDefaultXAxisFigure: true,
+  needDefaultYAxisFigure: true,
+  totalStep: 3,
+  createPointFigures: ({ coordinates }) => {
+    if (coordinates.length === 2) {
+      const xDis = Math.abs(coordinates[0].x - coordinates[1].x)
+      const yDis = Math.abs(coordinates[0].y - coordinates[1].y)
+      const radius = Math.sqrt(xDis * xDis + yDis * yDis)
+      return {
+        key: 'circle',
+        type: 'circle',
+        attrs: {
+          ...coordinates[0],
+          r: radius
+        },
+        styles: {
+          style: 'stroke_fill'
+        }
+      }
+    }
+    return []
+  }
+})
+
+const chart = init('k-line-chart')
+chart.applyNewData(genData())
+
+function createOverlay (name) {
+  chart.createOverlay(name)
+}
+
+// 以下仅仅是为了协助代码演示,在实际项目中根据情况进行调整。
+// The following is only for the purpose of assisting in code demonstration, and adjustments will be made according to the actual situation in the project.
+const container = document.getElementById('container')
+const buttonContainer = document.createElement('div')
+buttonContainer.className = 'button-container'
+const items = [
+  { key: 'priceLine', text: '价格线(内置)-Price line(built-in)' },
+  { key: 'circle', text: '圆(自定义)-Circle(custom)' }
+]
+items.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { createOverlay(key) })
+  buttonContainer.appendChild(button)
+})
+container.appendChild(buttonContainer)
html
<div id="container">
+  <div id="k-line-chart" style="height:430px">
+</div>
css
.button-container {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 8px;
+  margin-top: 10px;
+  padding: 10px 22px;
+}
+
+.button-container button {
+  padding: 2px 6px;
+  background-color: #1677FF;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  outline: none;
+  border: none;
+}
+ + + + \ No newline at end of file diff --git a/en-US/sample/theme.html b/en-US/sample/theme.html new file mode 100644 index 0000000..529551f --- /dev/null +++ b/en-US/sample/theme.html @@ -0,0 +1,195 @@ + + + + + + Theme | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

Theme

Open in a new window
js
import { init, registerStyles } from 'klinecharts'
+import './index.css'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+const red = '#F92855'
+const green = '#2DC08E'
+
+const alphaRed = 'rgba(249, 40, 85, .7)'
+const alphaGreen = 'rgba(45, 192, 142, .7)'
+
+registerStyles('green_rise_red_fall', {
+  candle: {
+    bar: {
+      upColor: green,
+      downColor: red,
+      upBorderColor: green,
+      downBorderColor: red,
+      upWickColor: green,
+      downWickColor: red
+    },
+    priceMark: {
+      last: {
+        upColor: green,
+        downColor: red
+      }
+    }
+  },
+  indicator: {
+    ohlc: {
+      upColor: alphaGreen,
+      downColor: alphaRed
+    },
+    bars: [{
+      style: 'fill',
+      borderStyle: 'solid',
+      borderSize: 1,
+      borderDashedValue: [2, 2],
+      upColor: alphaGreen,
+      downColor: alphaRed,
+      noChangeColor: '#888888'
+    }],
+    circles: [{
+      style: 'fill',
+      borderStyle: 'solid',
+      borderSize: 1,
+      borderDashedValue: [2, 2],
+      upColor: alphaGreen,
+      downColor: alphaRed,
+      noChangeColor: '#888888'
+    }]
+  }
+})
+
+registerStyles('red_rise_green_fall', {
+  candle: {
+    bar: {
+      upColor: red,
+      downColor: green,
+      upBorderColor: red,
+      downBorderColor: green,
+      upWickColor: red,
+      downWickColor: green,
+    },
+    priceMark: {
+      last: {
+        upColor: red,
+        downColor: green,
+      }
+    }
+  },
+  indicator: {
+    ohlc: {
+      upColor: alphaRed,
+      downColor: alphaGreen
+    },
+    bars: [{
+      style: 'fill',
+      borderStyle: 'solid',
+      borderSize: 1,
+      borderDashedValue: [2, 2],
+      upColor: alphaRed,
+      downColor: alphaGreen,
+      noChangeColor: '#888888'
+    }],
+    circles: [{
+      style: 'fill',
+      borderStyle: 'solid',
+      borderSize: 1,
+      borderDashedValue: [2, 2],
+      upColor: alphaRed,
+      downColor: alphaGreen,
+      noChangeColor: '#888888'
+    }]
+  }
+})
+
+const chart = init('k-line-chart')
+chart.createIndicator('VOL')
+chart.applyNewData(genData())
+
+function setTheme (theme) {
+  chart.setStyles(theme)
+  if (theme === 'light') {
+    document.getElementById('k-line-chart').style.backgroundColor = '#ffffff'
+  } else if (theme === 'dark') {
+    document.getElementById('k-line-chart').style.backgroundColor = '#1b1b1f'
+  }
+}
+
+// 以下仅仅是为了协助代码演示,在实际项目中根据情况进行调整。
+// The following is only for the purpose of assisting in code demonstration, and adjustments will be made according to the actual situation in the project.
+const container = document.getElementById('container')
+const buttonContainer = document.createElement('div')
+buttonContainer.className = 'button-container'
+const items = [
+  { key: 'light', text: '浅色-Light' },
+  { key: 'dark', text: '深色-Dark' },
+  { key: 'green_rise_red_fall', text: '绿涨红跌-Green rise and red fall' },
+  { key: 'red_rise_green_fall', text: '红涨绿跌-Red rise and green fall' }
+]
+items.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setTheme(key) })
+  buttonContainer.appendChild(button)
+})
+container.appendChild(buttonContainer)
html
<div id="container">
+  <div id="k-line-chart" style="height:430px">
+</div>
css
.button-container {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 8px;
+  margin-top: 10px;
+  padding: 10px 22px;
+}
+
+.button-container button {
+  padding: 2px 6px;
+  background-color: #1677FF;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  outline: none;
+  border: none;
+}
+ + + + \ No newline at end of file diff --git a/en-US/sample/timezone.html b/en-US/sample/timezone.html new file mode 100644 index 0000000..3f5fcba --- /dev/null +++ b/en-US/sample/timezone.html @@ -0,0 +1,96 @@ + + + + + + Timezone | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

Timezone

Open in a new window
js
import { init } from 'klinecharts'
+import './index.css'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+const chart = init('k-line-chart')
+chart.applyNewData(genData())
+
+function setTimezone (timezone) {
+  chart.setTimezone(timezone)
+}
+
+// 以下仅仅是为了协助代码演示,在实际项目中根据情况进行调整。
+// The following is only for the purpose of assisting in code demonstration, and adjustments will be made according to the actual situation in the project.
+const container = document.getElementById('container')
+const buttonContainer = document.createElement('div')
+buttonContainer.className = 'button-container'
+const items = [
+  { key: 'Asia/Shanghai', text: '上海-Shanghai' },
+  { key: 'Europe/Berlin', text: '柏林-Berlin' },
+  { key: 'America/Chicago', text: '芝加哥-Chicago' }
+]
+items.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setTimezone(key) })
+  buttonContainer.appendChild(button)
+})
+container.appendChild(buttonContainer)
html
<div id="container">
+  <div id="k-line-chart" style="height:430px">
+</div>
css
.button-container {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 8px;
+  margin-top: 10px;
+  padding: 10px 22px;
+}
+
+.button-container button {
+  padding: 2px 6px;
+  background-color: #1677FF;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  outline: none;
+  border: none;
+}
+ + + + \ No newline at end of file diff --git a/en-US/sample/tooltip.html b/en-US/sample/tooltip.html new file mode 100644 index 0000000..01c4ac7 --- /dev/null +++ b/en-US/sample/tooltip.html @@ -0,0 +1,175 @@ + + + + + + Tooltip | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

Tooltip

Open in a new window
js
import { init } from 'klinecharts'
+import './index.css'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+const chart = init('k-line-chart')
+chart.createIndicator('MA', false, { id: 'candle_pane' })
+chart.createIndicator('VOL')
+chart.applyNewData(genData())
+
+function setCandleTooltipShowRule (showRule) {
+  chart.setStyles({
+    candle: {
+      tooltip: {
+        showRule
+      }
+    }
+  })
+}
+
+function setCandleTooltipShowType (showType) {
+  chart.setStyles({
+    candle: {
+      tooltip: {
+        showType
+      }
+    }
+  })
+}
+
+function setIndicatorTooltipShowRule (showRule) {
+  chart.setStyles({
+    indicator: {
+      tooltip: {
+        showRule
+      }
+    }
+  })
+}
+
+function setIndicatorTooltipShowType (showType) {
+  chart.setStyles({
+    indicator: {
+      tooltip: {
+        showType
+      }
+    }
+  })
+}
+
+// 以下仅仅是为了协助代码演示,在实际项目中根据情况进行调整。
+// The following is only for the purpose of assisting in code demonstration, and adjustments will be made according to the actual situation in the project.
+const container = document.getElementById('container')
+const rules = [
+  { key: 'always', text: '总是显示-Always display' },
+  { key: 'follow_cross', text: '跟随十字光标-Follow cross' },
+  { key: 'none', text: '不显示-Hide' }
+]
+const types = [
+  { key: 'standard', text: '默认-Standard' },
+  { key: 'rect', text: '矩形框-Rect' }
+]
+
+const baseButtonContainer = document.createElement('div')
+baseButtonContainer.className = 'button-container'
+const baseTitle = document.createElement('span')
+baseTitle.innerText = '基础信息提示-Base info tip: '
+baseButtonContainer.appendChild(baseTitle)
+
+rules.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setCandleTooltipShowRule(key) })
+  baseButtonContainer.appendChild(button)
+})
+
+types.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setCandleTooltipShowType(key) })
+  baseButtonContainer.appendChild(button)
+})
+container.appendChild(baseButtonContainer)
+
+const indicatorButtonContainer = document.createElement('div')
+indicatorButtonContainer.className = 'button-container'
+const indicatorTitle = document.createElement('span')
+indicatorTitle.innerText = '指标信息提示-Indicator info tip: '
+indicatorButtonContainer.appendChild(indicatorTitle)
+
+rules.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setIndicatorTooltipShowRule(key) })
+  indicatorButtonContainer.appendChild(button)
+})
+
+types.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setIndicatorTooltipShowType(key) })
+  indicatorButtonContainer.appendChild(button)
+})
+container.appendChild(indicatorButtonContainer)
html
<div id="container">
+  <div id="k-line-chart" style="height:430px">
+</div>
css
.button-container {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 8px;
+  margin-top: 10px;
+  padding: 10px 22px;
+}
+
+.button-container:last-child {
+  margin-top: 0;
+}
+
+.button-container button {
+  padding: 2px 6px;
+  background-color: #1677FF;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  outline: none;
+  border: none;
+}
+ + + + \ No newline at end of file diff --git a/en-US/sponsor.html b/en-US/sponsor.html new file mode 100644 index 0000000..c3efc28 --- /dev/null +++ b/en-US/sponsor.html @@ -0,0 +1,27 @@ + + + + + + ❤️ Sponsor | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

❤️ Sponsor

KLineChart under the Apache License V2 and completely free to use.

If you think the plugin is good, I hope you can click 🌟 on GitHub. If you can reward a cup of ☕️, that would be very much appreciated.

For organizations or individuals sponsoring KLineChart, no matter how much, if necessary, display the organization's official website or personal homepage on the https://klinecharts.com on the homepage, please provide payment account or address, logo, homepage link, and other information by sending an email to hu_li888@foxmail.com . Those with sponsor amount top three, will use large logo display.

Alipay

Wechat Pay

Cryptocurrency

  • BTC
bc1qnwzukszzk5xfk0zs3sr8etzgctgnrtqts43jzp3khe6gm7xazprsp4y6n3
  • ETH
0xd2c3911654db861e0a2e17415e11a209c1fc3594
  • USDT-ERC20
0xd2c3911654db861e0a2e17415e11a209c1fc3594
  • USDT-TRC20
THJpTQmFGaVm12KE1Jzc5mLXiApP6qXMCi
+ + + + \ No newline at end of file diff --git a/guide/changelog.html b/guide/changelog.html new file mode 100644 index 0000000..5a3af00 --- /dev/null +++ b/guide/changelog.html @@ -0,0 +1,26 @@ + + + + + + 📠 更新日志 | KLineChart + + + + + + + + + + + + + + + +
Skip to content

📠 更新日志

9.8.10

2024-06-06

  • 🐞 修复基础图形 rect, line 绘制模糊问题。
  • 🐞 修复实例方法 zoomAtCoordinatezoomAtDataIndexzoomAtTimestamp,缩放不准确问题。
  • 🐞 修复x轴缩放可能出错问题。
  • 💄 优化实例方法 subscribeAction,当 type 是 'onScroll' 和 'onZoom' 时,回调方法新增参数。
  • 💄 优化指标属性 figures 中的子项 attrs,新增回调参数 data

9.8.9

2024-05-28

  • 🐞 修复样式配置 yAxis.type: 'percentage' 错误。
  • 🐞 修复 typescript 中声明问题。

9.8.8

2024-05-14

  • 🐞 修复样式配置 candle.tooltip.custom 是数组时无法覆盖问题。
  • 🐞 修复小数折叠不准确问题。
  • 💄 优化覆盖物回调方法中的参数 precision

9.8.7

2024-05-10

  • 🐞 修复指标精度不同步价格数量精度问题。

9.8.6

2024-05-07

  • 🐞 修复图表API registerIndicatorregisterOverlay 参数 extendData 无法生效问题。
  • 🐞 修复千分符指定 . 时,导致小数折叠不对问题。
  • 🐞 修复创建覆盖物后,可以无法拖动问题。

9.8.5

2024-04-14

  • 💄 优化图表默认右偏移距离。
  • 🐞 修复面积图显示问题。
  • 🐞 修复图表偶发会空白问题。

9.8.3

2024-04-12

  • 💄 优化样式,candle.tooltipindicator.tooltip 新增 offsetLeftoffsetTopoffsetRightoffsetBottom
  • 💄 优化基础图形,图形属性支持数组。
  • 💄 优化y轴渲染。
  • 💄 优化默认显示,蜡烛柱默认宽度改为8。
  • 🐞 修复 applyMoreData 添加重复数据问题。@cryptotooltop

9.8.2

2024-03-26

  • 💄 优化面积图显示。
  • 💄 优化平滑曲线绘制。
  • 🐞 修复覆盖物绘制到未来时间,可能不对问题。

9.8.1

2024-03-13

  • 🐞 修复初始化layout只指定xAxis时,导致图表无法初始化问题。
  • 🐞 修复内置指标VOL修改calcParams时出错问题。
  • 💄 优化y轴小数折叠显示时计算的宽度准确度。
  • 💄 优化滚轮事件触发。

9.8.0

2024-03-04

  • 🆕 支持自定义坐标轴。
  • 🆕 支持指标绘制到未来时间。
  • 🆕 支持长小数折叠。
  • 🆕 支持向前和向后添加数据。
  • 🐞 修复不同浏览器格式化时间问题。

9.7.2

2024-01-12

  • 🐞 修复指标属性 minValuemaxValue 不生效问题。
  • 🐞 修复覆盖物x轴上显示问题。
  • 💄 优化样式 candle.type: 'ohlc' 显示。
  • 💄 优化绘制清晰度。

9.7.1

2023-12-18

  • 🐞 修复指标和覆盖物方法不执行问题。
  • 🐞 修复包管理器下载node版本依赖问题。

9.7.0

2023-12-12

  • 🆕 实例方法新增setMaxOffsetLeftDistancesetMaxOffsetRightDistance
  • 🆕 指标新增zLevel属性。
  • 💄 优化ohlc蜡烛柱渲染。
  • 🐞 修复蜡烛柱模糊问题。
  • 🐞 修复覆盖物zLevel渲染规则。

9.6.0

2023-11-14

  • 🖋️ 重构窗口之间的分割线模块。
  • 🆕 图表方法init(ds, options),参数options新增layout
  • 🆕 实例方法createIndicator(value, isStack, paneOptions, callback),参数paneOptions新增position
  • 🆕 样式candle.tooltip.custom新增turnover字符串模版。
  • 💄 优化样式overlay.text配置。
  • 💄 优化utils.cloneutils.merge实现。
  • 🐞 修复多个覆盖物样式显示不对问题。
  • 🐞 修复多个指标样式显示不对问题。

9.5.4

2023-09-22

  • 🐞 修复样式candle.typearea时,最新价线不显示问题。
  • 🐞 修复样式crosshair.vertical.text.paddingLeft显示不对问题。

9.5.3

2023-09-19

  • 🐞 修复ts下引入问题。

9.5.2

2023-09-18

  • 💄 优化基础图形text
  • 💄 优化内置覆盖物simpleAnnotationsimpleTag
  • 💄 优化技术指标自由样式,支持增量。
  • 🐞 修复typescript声明问题。

9.5.1

2023-08-14

  • 🆕 图表方法新增getOverlayClass
  • 🆕 样式配置candle.tooltip.custom新增内置涨跌幅支持。
  • 💄 优化基础图形rect事件响应。
  • ↩️ 分割线事件响应回退

9.5.0

2023-06-15

  • 🆕 Overlay新增事件onDoubleClick,新增属性modeSensitivity
  • 🆕 样式配置candle.tooltip.custom支持字符串模版。
  • 🐞 优化移动端阻尼滚动掉帧问题。
  • 🐞 修复窗口id命名拼写错误。
  • 💄 优化分割线事件响应灵敏度。
  • 💄 优化typescript下,OverlayFigure中的attrs类型声明。

9.4.0

2023-05-25

  • 🆕 实例api createOverlay 支持数组。
  • 🆕 overlay新增属性paneIddefaultZLevelzLevel
  • 🆕 xAxis新增方法convertTimestampFromPixelconvertTimestampToPixel
  • 💄 优化蜡烛柱显示。

9.3.0

2023-05-13

  • 🆕 新增图表API utils.calcTextWidth
  • 🆕 图表API createIndicator(value, isStack, options)setPaneOptions(options)新增options.axisOptions
  • 🆕 指标图形配置支持自定义。
  • 💄 优化bar宽度比例。
  • 💄 优化内部获取屏幕像素比。
  • 💄 优化内部id生成。

9.2.2

2023-05-04

  • 🐞 修复基础图形line事件检查可能导致错误问题。
  • 💄 优化类型检查。

9.2.1

2023-04-27

  • 💄 优化默认样式,#EF5350变更为#F92855#26A69A变更为#2DC08E
  • 💄 优化typescript声明。

9.2.0

2023-04-24

  • 🆕 实例API新增getOffsetRightDistanceexecuteAction
  • 🆕 实例APIapplyNewDataapplyMoreDataupdateData新增成功回调入参callback
  • 🆕 支持千分符显示。
  • 🆕 样式配置新增candle.bar.upBorderColorcandle.bar.downBorderColorcandle.bar.noChangeBorderColorcandle.bar.upWickColorcandle.bar.downWickColorcandle.bar.noChangeWickColorcandle.tooltip.rect.positioncandle.tooltip.rect.offsetBottom
  • 🆕 所有visibleRange新增realFromrealTo
  • 💄 优化API,klinecharts.utils.isValidklinecharts.utils.formatBigNumber
  • 💄 优化开发环境下,日志输出。

9.1.3

2023-04-15

  • 🐞 修复图表api applyNewData 入参是空数组时不刷新问题。
  • 🐞 修复无数据时y轴上十字光标文字不显示问题。
  • 💄 优化面积图显示。
  • 💄 优化覆盖物事件回调参数,新增figureKeyfigureIndex
  • 💄 优化typescript覆盖物样式类型,和基础类型DeepPartial, DeepRequired

9.1.2

2023-04-10

  • 🐞 修复内置基础图形line触发事件不准确问题。
  • 🐞 修复内置覆盖物simpleAnnotationsimpleTag绘制完成后第一次触发事件问题。
  • 💄 优化覆盖物图形事件忽略,支持事件选择。

9.1.1

2023-03-14

  • 🐞 修复内置基础图形arc不生效问题。
  • 💄 优化渲染更新。

9.1.0

2023-02-23

  • 🆕 图表实例方法subscribeActionunsubscribeAction类型新增onCandleBarClick
  • 🆕 覆盖物支持双击强制结束绘制。
  • 💄 优化事件处理。

9.0.1

2023-02-17

  • 🐞 修复typescript引入问题。

9.0.0

2023-02-16

  • 🛠 Typescript重构。
  • 🆕 新特性
    • 新增Y轴方向缩放,滚动。
    • API
      • 新增基图表方法registerFiguregetSupportFiguresgetFigureClassrigisterOverlaygetSupportOverlaysregisterLocalegetSupportLocalesregisterStyles
      • 新增实例方法,getSizesetLocalegetLocalsetCustomApigetVisibleRangecreateOverlaygetOverlayByIdoverrideOverlayremoveOverlay
    • 样式配置
      • 新增candle.priceMark.last.text.borderStylecandle.tooltip.iconsindicator.lastValueMark.text.borderStyleindicator.tooltip.iconscrosshair.horizontal.text.borderStylecrosshair.vertical.text.borderStyle
  • 👉 变更
    • API
      • 图表方法extension.addTechnicalIndicatorTemplate变更为registerIndicator
      • 图表方法extension.addShapeTemplate变更为registerOverlay
      • 实例方法setStyleOptions变更为setStyles
      • 实例方法getStyleOptions变更为getStyles
      • 实例方法setPaneOptions(options)options新增属性gap
      • 实例方法setOffsetRightSpace变更为setOffsetRightDistance
      • 实例方法createTechnicalIndicator变更为createIndicator
      • 实例方法overlayTechnicalIndicator变更为overlayIndicator
      • 实例方法getTechnicalIndicatorByPaneId变更为getIndicatorByPaneId
      • 实例方法removeTechnicalIndicator变更为removeIndicator
    • 样式配置
      • 所有line.style选项变更为soliddashed
      • 所有dashValue变更为dashedValue
      • xAxis.height变更为xAxis.sizexAxis.tickText.paddingTop变更为xAxis.tickText.marginStartxAxis.tickText.paddingBottom变更为xAxis.tickText.marginEnd
      • yAxis.height变更为yAxis.sizeyAxis.tickText.paddingTop变更为yAxis.tickText.marginStartyAxis.tickText.paddingBottom变更为yAxis.tickText.marginEnd
      • technicalIndicator.bar变更为indicator.barstechnicalIndicator.line变更为indicator.linestechnicalIndicator.circle变更为indicator.circles
    • 自定义扩展
      • 技术指标属性calcParams,变更为支持任意类型。
      • 技术指标属性plots变更为figures
      • 技术指标属性regeneratePlots变更为regeneratefigures
      • 技术指标属性calcTechnicalIndicator变更为calc
      • 技术指标属性render变更为draw
  • 🗑 废弃
    • API
      • 删除实例方法getWidthgetHeight,改用getSize
      • 删除实例方法createShapecreateAnnotationcreateTag,改用createOverlay
      • 删除实例方法removeShaperemoveAnnotationremoveTag,改用removeOverlay
      • 删除实例方法setShapeOptions,改用overrideOverlay
      • 删除实例方法createHtmlremoveHtmladdTechnicalIndicatorTemplategetTechnicalIndicatorTemplateaddShapeTemplate
    • 样式配置
      • 删除shapeannotationtag,改用overlay
      • 删除candle.margintechnicalIndicator.margin
    • 自定义扩展
      • 技术指标模版不再保存相关属性。
      • 技术指标删除属性shouldCheckParamCount
      • 删除Shape,改用Overlay

8.x

Github上查看 8.x 的 Change Log。

7.x

Github上查看 7.x 的 Change Log。

6.x

Github上查看 6.x 的 Change Log。

5.x

Github上查看 5.x 的版本记录。

4.x

Github上查看 4.x 的版本记录。

+ + + + \ No newline at end of file diff --git a/guide/chart-api.html b/guide/chart-api.html new file mode 100644 index 0000000..965966b --- /dev/null +++ b/guide/chart-api.html @@ -0,0 +1,440 @@ + + + + + + 图表API | KLineChart + + + + + + + + + + + + + + + +
Skip to content

图表API

init(ds, options)

typescript
(
+  ds: string | HTMLElement,
+  options?: {
+    layout?: Array<{
+      type: 'candle' | 'indicator' | 'xAxis'
+      content: Array<Indicator | string>
+      options: {
+        id?: string
+        height?: number
+        minHeight?: number
+        dragEnabled?: boolean
+        position?: 'top' | 'bottom'
+        gap?: {
+          top?: number
+          bottom?: number
+        }
+        axisOptions?: {
+          name?: string
+          scrollZoomEnabled?: boolean
+        }
+      }
+    }>
+    locale?: string
+    styles?: string | object
+    timezone?: string
+    customApi?: {
+      formatDate?: (dateTimeFormat: Intl.DateTimeFormat, timestamp: number, format: string, type: number) => string
+      formatBigNumber?: (value: string | number) => string
+    }
+    thousandsSeparator?: string
+    decimalFoldThreshold?: number
+  }
+) => Chart

初始化一个图表,返回图表实例。

  • ds 容器,可以是dom元素或者元素id。
  • options 可选配置项。
    • layout 自定义布局,content中的内容和options参考实例方法 createIndicator 中的入参valueoptions^9.6.0
    • locale 语言,内置支持zh-CNen-US
    • timezone 时区名,如'Asia/Shanghai',如果不设置会自动获取本机时区,时区对应名字列表请参阅时区列表
    • styles 可以是通过klinecharts.registerStyles注册的样式名,也可以是object,样式列表,详情参阅样式,支持增量。
    • customApi 自定义一些api。
      • formatDate 格式化日期。
      • formatBigNumber 格式化大的数字,如1000转换成1k,1000000转换为1M等。
    • thousandsSeparator 千分符
    • decimalFoldThreshold 小数折叠阈值 ^9.8.0

dispose(dcs)

typescript
(dcs: HTMLElement | Chart | string) => void

销毁一个图表,一旦销毁,图表将不再可用。

  • dcs 可以是dom元素、元素id或者图表实例。

registerLocale(locale, locales)

typescript
(
+  locale: string,
+  locales: {
+    time: string
+    open: string
+    high: string
+    low: string
+    close: string
+    volume: string
+  }
+) => void

添加一个本地化语言。图表内置了zh-CNen-US

  • locale 语言名
  • locales 语言配置

getOverlayClass()

typescript
(name: string) => Nullable<OverlayConstructor>

根据覆盖物名称获取图表内覆盖物的属性。

getSupportedLocales()

typescript
() => string[]

获取图表支持的本地化语言类型。

registerStyles(name, styles)

typescript
(
+  name: string,
+  styles: object
+) => void

添加一个样式配置。

  • name 样式名
  • styles 样式配置,类型参阅样式,支持增量。

registerFigure(figure)

typescript
(
+  figure: {
+    name: string
+    draw: (ctx: CanvasRenderingContext2D, attrs: any, styles: object) => void
+    checkEventOn: (coordinate: Coordinate, attrs: any, styles: object) => boolean
+  }
+) => void

添加一个基础图形。

  • figure 基础图形信息,详情参阅基础图形
    • name 名字,唯一标识
    • draw 绘制方法
    • checkEventOn 检查事件是否在图形上

getSupportedFigures()

typescript
() => string[]

获取图表支持的基础图形类型。

getFigureClass(name)

typescript
(name: string) => Figure

获取图形类

  • name 图形名

registerIndicator(indicator)

typescript
(
+  indicator: {
+    name: string
+    shortName?: string
+    precision?: number
+    calcParams?: any[]
+    shouldOhlc?: boolean
+    shouldFormatBigNumber?: boolean
+    visible?: boolean
+    extendData?: any
+    series?: 'normal' | 'price' | 'volume'
+    figures?: Array<{
+      key: string
+      title?: string
+      type?: string
+      baseValue?: number
+      attrs?: ({
+        data: object
+        coordinate: object
+        bounding: object
+        barSpace: object
+        xAxis: object
+        yAxis: object
+      }) => object
+      styles?: (
+        data: object,
+        indicator: object,
+        defaultStyles: object
+      ) => object
+    }>
+    minValue?: number
+    maxValue?: number
+    styles?: object
+    calc: (dataList: KLineData[], indicator: object) => Promise<object[]> | object[]
+    regenerateFigures?: (calcParms: any[]) => Array<{
+      key: string
+      title?: string
+      type?: string
+      baseValue?: number
+      styles?: (
+        data: object,
+        indicator: object,
+        defaultStyles: object
+      ) => object
+      attrs: (
+        coordinate: object
+        bounding: Bounding
+        barSpace: BarSpace
+        xAxis: XAxis
+        yAxis: YAxis
+      ) => object
+    }>
+    createTooltipDataSource?: (params: object) => {
+      name?: string
+      calcParamsText?: string
+      values?: Array<{
+        title: string | {
+          text: string
+          color: string
+        }
+        value: string | {
+          text: string
+          color: string
+        }
+      }>
+    }
+    draw?: (params: object) => boolean
+  }
+) => void

添加一个技术指标。

  • indicator 技术指标信息
    • name 指标名,用于创建和操作的唯一标识
    • shortName 简短名字,用于显示
    • precision 精度
    • calcParams 计算参数
    • shouldOhlc 是否需要ohlc辅助图形
    • shouldFormatBigNumber 是否需要格式化大的数字。如1000转换成1k,1000000转换为1M等
    • visible 是否可见
    • extendData 扩展数据
    • series 指标系列,可选项有'normal','price'和'volume'
    • figures 图形配置
    • minValue 指定最小值
    • maxValue 指定最大值
    • styles 样式
    • calc 计算方法
    • regenerateFigures 重新生成图形信息方法
    • createTooltipDataSource 创建自定义提示信息方法
    • draw 自定义绘制方法

getSupportedIndicators()

typescript
() => string[]

获取图表支持的技术指标

registerOverlay(overlay)

typescript
(
+  overlay: {
+    name: string
+    totalStep?: number
+    lock?: boolean
+    visible?: boolean
+    zLevel?: number
+    needDefaultPointFigure?: boolean
+    needDefaultXAxisFigure?: boolean
+    needDefaultYAxisFigure?: boolean
+    mode?: 'normal' | 'weak_magnet' | 'strong_magnet'
+    modeSensitivity?: number
+    points?: Array<{ timestamp: number, dataIndex?: number, value?: number }>
+    extendData?: any
+    styles?: object
+    createPointFigures?: (params: object) => {
+      key?: string
+      type: string
+      attrs: any | any[]
+      styles?: any
+      ignoreEvent?: boolean | OverlayFigureIgnoreEventType[]
+    } | Array<{
+      key?: string
+      type: string
+      attrs: any | any[]
+      styles?: any
+      ignoreEvent?: boolean | OverlayFigureIgnoreEventType[]
+    }>
+    createXAxisFigures?: (params: object) => {
+      key?: string
+      type: string
+      attrs: any | any[]
+      styles?: any
+      ignoreEvent?: boolean | OverlayFigureIgnoreEventType[]
+    } | Array<{
+      key?: string
+      type: string
+      attrs: any | any[]
+      styles?: any
+      ignoreEvent?: boolean | OverlayFigureIgnoreEventType[]
+    }>
+    createYAxisFigures?: (params: object) => {
+      key?: string
+      type: string
+      attrs: any | any[]
+      styles?: any
+      ignoreEvent?: boolean | OverlayFigureIgnoreEventType[]
+    } | Array<{
+      key?: string
+      type: string
+      attrs: any | any[]
+      styles?: any
+      ignoreEvent?: boolean | OverlayFigureIgnoreEventType[]
+    }>
+    performEventPressedMove?: (params: object) => void
+    performEventMoveForDrawing?: (params: object) => void
+    onDrawStart?: (event: object) => boolean
+    onDrawing?: (event: object) => boolean
+    onDrawEnd?: (event: object) => boolean
+    onClick?: (event: object) => boolean
+    onDoubleClick?: (event: object) => boolean
+    onRightClick?: (event: object) => boolean
+    onPressedMoveStart?: (event: object) => boolean
+    onPressedMoving?: (event: object) => boolean
+    onPressedMoveEnd?: (event: object) => boolean
+    onMouseEnter?: (event: object) => boolean
+    onMouseLeave?: (event: object) => boolean
+    onRemoved?: (event: object) => boolean
+    onSelected?: (event: object) => boolean
+    onDeselected?: (event: object) => boolean
+  }
+) => void

添加一个覆盖物。

  • overlay 覆盖物信息,详情参阅覆盖物
    • name 覆盖物名,用于创建的唯一标识
    • totalStep 总的实现步骤
    • lock 是否锁定不让拖动
    • visible 是否可见
    • zLevel 绘制层级,值越大,越靠前显示
    • needDefaultPointFigure 是否需要默认的点对应的图形
    • needDefaultXAxisFigure 是否需要默认的x轴上的图形
    • needDefaultYAxisFigure 是否需要默认的y轴上的图形
    • mode 模式,可选项有'normal','weak_magnet'和'strong_magnet'
    • modeSensitivity 模式灵敏度,仅 mode 是 weak_magnet 时有效 ^9.5.0
    • points 点信息
    • extendData 扩展数据
    • styles 样式
    • createPointFigures 创建点对应的图形
    • createXAxisFigures 创建x轴上的图形
    • createYAxisFigures 创建y轴上的图形
    • performEventPressedMove 按住移动事件特殊处理方法
    • performEventMoveForDrawing 移动事件过程中特殊处理方法
    • onDrawStart 开始绘制事件
    • onDrawing 绘制中事件
    • onDrawEnd 绘制结束事件
    • onClick 点击事件
    • onDoubleClick 双击事件 ^9.5.0
    • onRightClick 右击事件
    • onPressedMoveStart 按住开始移动事件
    • onPressedMoving 按住移动中事件
    • onPressedMoveEnd 按住移动结束事件
    • onMouseEnter 鼠标移入事件
    • onMouseLeave 鼠标移出事件
    • onRemoved 删除事件
    • onSelected 选中事件
    • onDeselected 取消选中事件

getSupportedOverlays()

typescript
() => string[]

获取图表支持的覆盖物

registerXAxis(axis) ^9.8.0

typescript
(
+  axis: {
+    name: string
+    createTicks: (params: object) => Array<{
+      coord: number
+      value: number | string
+      text: string
+    }>
+  }
+) => void

添加一个自定义x轴。

  • axis 坐标信息
    • name 坐标轴名字
    • createTicks 创建分割文字

registerYAxis(axis) ^9.8.0

typescript
(
+  axis: {
+    name: string
+    createTicks: (params: object) => Array<{
+      coord: number
+      value: number | string
+      text: string
+    }>
+  }
+) => void

添加一个自定义y轴。

  • axis 坐标信息
    • name 坐标轴名字
    • createTicks 创建分割文字

version()

typescript
() => string

获取图表当前版本号。

utils

辅助方法集合。

utils.clone(target)

typescript
(target: any) => any

深度复制。

utils.merge(target, source)

typescript
(target: object, source: object) => void

将一个对象合并到另一个对象。

utils.isString(value)

typescript
(value: any) => boolean

检查某个值是否是字符串。

utils.isNumber(value)

typescript
(value: any) => boolean

检查某个值是否是数字。

utils.isValid(value)

typescript
(value: any) => boolean

检查某个值是否有效。

utils.isObject(value)

typescript
(value: any) => boolean

检查某个值是否是对象。

utils.isFunction(value)

typescript
(value: any) => boolean

检查某个值是否是方法。

utils.isBoolean(value)

typescript
(value: any) => boolean

检查某个值是否是bool值。

utils.formatValue(value, key, defaultValue)

typescript
(data: any, key: string, defaultValue?: any) => any

从某个值取对应的值,支持嵌套,如const o = { a: { b: { c: 1 } } }formatValue(o, 'a.b.c')c的值。

utils.formatPrecision(value)

typescript
(value: string | number, precision?: number) => string

格式化精度。

utils.formatBigNumber(value)

typescript
(value: string | number) => string

格式化大的数字,如1000转换成1k,1000000转换为1M等。

utils.formatDate(dateTimeFormat, timestamp, format)

typescript
(dateTimeFormat: Intl.DateTimeFormat, timestamp: number, format: string) => string

格式化日期。format格式,如'YYYY-MM-DD HH:mm:ss'。

utils.formatThousands(value, sign)

typescript
(value: string | number, sign: string) => string

格式化日期千分符。

utils.formatFoldDecimal(value, threshold) ^9.8.0

typescript
(value: string | number, threshold: number) => string

格式化折叠小数。

utils.calcTextWidth(text, size, weight, family) ^9.3.0

typescript
(text: string, size?: number, weight?: string | number, family?: string) => number

计算文字宽度

utils.getLinearSlopeIntercept(coordinate1, coordinate2)

typescript
(
+  coordinate1: {
+    x: number
+    y: number
+  },
+  coordinate2: {
+    x: number
+    y: number
+  }
+) => []

根据两个坐标点,获取点组成的线的斜率和常数项,即y = kx + b中的kb

utils.getLinearYFromCoordinates(coordinate1, coordinate2, targetCoordinate)

typescript
(
+  coordinate1: {
+    x: number
+    y: number
+  },
+  coordinate2: {
+    x: number
+    y: number
+  }
+  targetCoordinate: {
+    x: number
+    y: number
+  }
+) => number

获取一个点在另外两个坐标点形成的线上的y轴坐标值。

utils.getLinearYFromSlopeIntercept(kb, targetCoordinate)

typescript
(
+  kb: Array<number>,
+  targetCoordinate: {
+    x: number
+    y: number
+  }
+) => number

获取一个点在斜率和常数项形成的线上的y轴坐标值。

utils.checkCoordinateOnArc(coordinate, arc)

typescript
(
+  coordinate: {
+    x: number
+    y: number
+  },
+  arc: {
+    x: number
+    y: number
+    r: number
+    startAngle: number
+    endAngle: number
+  }
+) => boolean

检查某个坐标点是否在圆弧上。

  • coordinate 坐标点信息
  • arc 圆弧参数
    • x 圆心的x轴值
    • y 圆心的y轴值
    • r 半径
    • startAngle 起始角度
    • endAngle 结束角度

utils.checkCoordinateOnCircle(coordinate, circle)

typescript
(
+  coordinate: {
+    x: number
+    y: number
+  },
+  circle: {
+    x: number
+    y: number
+    r: number
+  }
+) => boolean

检查某个坐标点是否在圆上。

  • coordinate 坐标点信息
  • circle 圆参数
    • x 圆心的x轴值
    • y 圆心的y轴值
    • r 半径

utils.checkCoordinateOnLine(coordinate, line)

typescript
(
+  coordinate: {
+    x: number
+    y: number
+  },
+  line: {
+    coordinates: Array<{
+      x: number
+      y: number
+    }>
+  }
+) => boolean

检查某个坐标点是否在线上。

utils.checkCoordinateOnPolygon(coordinate, polygon)

typescript
(
+  coordinate: {
+    x: number
+    y: number
+  },
+  polygon: {
+    coordinates: Array<{
+      x: number
+      y: number
+    }>
+  }
+) => boolean

检查某个坐标点是否在多边形上。

utils.checkCoordinateOnRect(coordinate, rect)

typescript
(
+  coordinate: {
+    x: number
+    y: number
+  },
+  rect: {
+    x: number
+    y: number
+    width: number
+    height: number
+  }
+) => boolean

检查某个坐标点是否在矩形上。

  • coordinate 坐标点信息
  • rect 矩形参数
    • x 起始点x轴值
    • y 起始点y轴值
    • width 宽度
    • height 高度

utils.checkCoordinateOnText(coordinate, text, styles)

typescript
(
+  coordinate: {
+    x: number
+    y: number
+  },
+  text: {
+    x: number
+    y: number
+    text: any
+    align?: 'center' | 'end' | 'left' | 'right' | 'start'
+    baseline?: 'alphabetic' | 'bottom' | 'hanging' | 'ideographic' | 'middle' | 'top'
+  },
+  styles: {
+    color?: string
+    size?: number
+    family?: string
+    weight?: number | string
+  }
+) => boolean

检查某个坐标点是否在文字上。

  • coordinate 坐标点信息
  • text 文字参数
    • x 起始点x轴值
    • y 起始点y轴值
    • text 文字内容
    • align 水平对齐方式
    • baseline 垂直对齐方式
  • styles 样式
    • color 颜色
    • size 尺寸
    • family 字体
    • weight 权重

utils.drawArc(ctx, arc, styles)

typescript
(
+  ctx: CanvasRenderingContext2D,
+  arc: {
+    x: number
+    y: number
+    r: number
+    startAngle: number
+    endAngle: number
+  },
+  styles: {
+    style?: 'solid' | 'dashed'
+    size?: number
+    color?: string
+    dashedValue?: number[]
+  }
+) => void

绘制圆弧。

  • ctx 画布上下文
  • arc 圆弧参数
    • x 圆心的x轴值
    • y 圆心的y轴值
    • r 半径
    • startAngle 起始角度
    • endAngle 结束角度
  • styles 样式
    • style 弧样式
    • size 粗细
    • color 颜色
    • dashedValue 虚线参数值

utils.drawCircle(ctx, circle, styles)

typescript
(
+  ctx: CanvasRenderingContext2D,
+  circle: {
+    x: number
+    y: number
+    r: number
+  },
+  styles: {
+    style?: 'stroke' | 'fill' | 'stroke_fill'
+    color?: string | CanvasGradient
+    borderColor?: string
+    borderSize?: number
+    borderStyle?: 'solid' | 'dashed'
+    borderDashedValue?: Array<number>
+  }
+) => void

绘制圆。

  • ctx 画布上下文
  • circle 圆参数
    • x 圆心的x轴值
    • y 圆心的y轴值
    • r 半径
  • styles 样式
    • style 样式
    • color 颜色
    • borderColor 边框颜色
    • borderSize 边框粗细
    • borderStyle 边框样式
    • borderDashedValue 边框虚线参数值

utils.drawLine(ctx, line, styles)

typescript
(
+  ctx: CanvasRenderingContext2D,
+  line: {
+    coordinates: Array<{
+      x: number
+      y: number
+    }>
+  },
+  styles: {
+    style?: 'solid' | 'dashed'
+    size?: number
+    color?: string
+    dashedValue?: number[]
+  }
+) => void

绘制线。

  • ctx 画布上下文
  • line 线参数
  • styles 样式
    • style 线样式
    • size 粗细
    • color 颜色
    • dashedValue 虚线参数值

utils.drawPolygon(ctx, polygon, styles)

typescript
(
+  ctx: CanvasRenderingContext2D,
+  polygon: {
+    coordinates: Array<{
+      x: number
+      y: number
+    }>
+  },
+  styles: {
+    style?: 'stroke' | 'fill' | 'stroke_fill'
+    color?: string | CanvasGradient
+    borderColor?: string
+    borderSize?: number
+    borderStyle?: 'solid' | 'dashed'
+    borderDashedValue?: Array<number>
+  }
+) => void

绘制多边形。

  • ctx 画布上下文
  • polygon 多边形参数
  • styles 样式
    • style 样式
    • color 颜色
    • borderColor 边框颜色
    • borderSize 边框粗细
    • borderStyle 边框样式
    • borderDashedValue 边框虚线参数值

utils.drawRect(ctx, rect, styles)

typescript
(
+  ctx: CanvasRenderingContext2D,
+  rect: {
+    x: number
+    y: number
+    width: number
+    height: number
+  },
+  styles: {
+    style?: 'stroke' | 'fill' | 'stroke_fill'
+    color?: string | CanvasGradient
+    borderColor?: string
+    borderSize?: number
+    borderStyle?: 'solid' | 'dashed'
+    borderDashedValue?: Array<number>
+    borderRadius?: number
+  }
+) => void

绘制矩形。

  • ctx 画布上下文
  • rect 矩形参数
    • x 起始点x轴值
    • y 起始点y轴值
    • width 宽度
    • height 高度
  • styles 样式
    • style 样式
    • color 颜色
    • borderColor 边框颜色
    • borderSize 边框粗细
    • borderStyle 边框样式
    • borderDashedValue 边框虚线参数值
    • borderRadius 边框圆角值

utils.drawText(ctx, text, styles)

typescript
(
+  ctx: CanvasRenderingContext2D,
+  text: {
+    x: number
+    y: number
+    text: any
+    width?: number
+    height?: number
+    align?: 'center' | 'end' | 'left' | 'right' | 'start'
+    baseline?: 'alphabetic' | 'bottom' | 'hanging' | 'ideographic' | 'middle' | 'top'
+  },
+  styles: {
+    style?: 'stroke' | 'fill' | 'stroke_fill'
+    color?: string
+    size?: number
+    family?: string
+    weight?: number | string
+    paddingLeft?: number
+    paddingTop?: number
+    paddingRight?: number
+    paddingBottom?: number
+    borderStyle?: 'solid' | 'dashed'
+    borderDashedValue?: number[]
+    borderSize?: number
+    borderColor?: string
+    borderRadius?: number
+    backgroundColor?: string
+  }
+) => void

绘制带背景的文字。

  • ctx 画布上下文
  • attrs 文字参数
    • x 起始点x轴值
    • y 起始点y轴值
    • text 文字内容
    • width 宽度
    • height 高度
    • align 水平对齐方式
    • baseline 垂直对齐方式
  • styles 样式
    • style 样式
    • color 颜色
    • size 尺寸
    • family 字体
    • weight 权重
    • paddingLeft 左内边距,
    • paddingTop 上内边距,
    • paddingRight 右内边距,
    • paddingBottom 下内边距,
    • borderColor 边框颜色
    • borderSize 边框粗细
    • borderStyle 边框样式
    • borderRadius 边框圆角尺寸
    • borderDashedValue 边框虚线参数值
    • backgroundColor 背景色

utils.drawRectText(ctx, rectText, styles)

utils.drawText(ctx, text, styles),已废弃,v10之后会删除,请用utils.drawText(ctx, text, styles)代替。

+ + + + \ No newline at end of file diff --git a/guide/custom-axis.html b/guide/custom-axis.html new file mode 100644 index 0000000..b279c38 --- /dev/null +++ b/guide/custom-axis.html @@ -0,0 +1,119 @@ + + + + + + 自定义坐标轴 ^9.8.0 | KLineChart + + + + + + + + + + + + + + + +
Skip to content

自定义坐标轴 ^9.8.0

图表支持自定义坐标轴,可以通过图表方法 registerXAxis(axis)registerYAxis(axis) 来实现。

入参说明

typescript
{
+  // 坐标轴名字
+  name: string
+  // 创建分割文字方法实现
+  createTicks: (params: {
+    // 区间相关的信息
+    range: {
+      // 起点
+      from: number
+      // 终点
+      to: number
+      // 区间长度
+      range: number
+      // 真实起点
+      realFrom: number
+      // 真实终点
+      realTo: number
+      // 真实区间长度
+      realRange: number
+    }
+    // 窗口尺寸信息
+    bounding: {
+      // 宽
+      width: number
+      // 高
+      height: number
+      // 距离左边距离
+      left: number
+      // 距离右边距离
+      right: number
+      // 距离顶部距离
+      top: number
+      // 距离底部距离
+      bottom: number
+    }
+    // 默认生成的分割文字信息
+    defaultTicks: Array<{
+      // 坐标位置
+      coord: number
+      // 值
+      value: number | string
+      // 展示的文字
+      text: string
+    }>
+  }) => Array<{
+    // 坐标位置
+    coord: number
+    // 值
+    value: number | string
+    // 展示的文字
+    text: string
+  }>
+}

使用说明

当注册完成之后,即可使用图表方法 init(ds, options) 参数 options.layout 中的子项 options.axisOptions.name 来指定坐标轴,或者使用实例方法 createIndicator(value, isStack, paneOptions, callback)setPaneOptions(paneOptions) 参数 paneOptions.axisOptions.name 来指定。

使用 init 方法

typescript
init(
+  // 这里的 domId 使用自己定义的容器id代替
+  `${domId}`,
+  {
+    layout: [
+      {
+        type: 'candle',
+        options: {
+          axisOptions: {
+            // 这里的 customYAxisName 使用自定义y轴时的 name 代替
+            name: `${customYAxisName}`
+          }
+        }
+      },
+      {
+        type: 'xAxis',
+        options: {
+          position: 'bottom',
+          axisOptions: {
+            // 这里的 customXAxisName 使用自定义x轴时的 name 代替
+            name: `${customXAxisName}`
+          }
+        }
+      }
+    ]
+  }
+)

使用 createIndicator 方法

typescript
createIndicator(
+  'MA',
+  false,
+  {
+    axisOptions: {
+      // 这里的 customYAxisName 使用自定义y轴时的 name 代替
+      name: `${customYAxisName}`
+    }
+  }
+)

使用 setPaneOptions 方法

typescript
setPaneOptions({
+  id: 'candle_pane',
+  axisOptions: {
+    // 这里的 customYAxisName 使用自定义y轴时的 name 代替
+    name: `${customYAxisName}`
+  }
+})
+ + + + \ No newline at end of file diff --git a/guide/data-source.html b/guide/data-source.html new file mode 100644 index 0000000..c86c117 --- /dev/null +++ b/guide/data-source.html @@ -0,0 +1,41 @@ + + + + + + 📚 数据 | KLineChart + + + + + + + + + + + + + + + +
Skip to content

📚 数据

图表所需要的数据必须是固定格式。通过图表实例 API applyNewData(dataList, more)applyMoreData(dataList, more)updateData(data)来和图表进行数据交互。

typescript
{
+  // 时间戳,毫秒级别,必要字段
+  timestamp: number
+  // 开盘价,必要字段
+  open: number
+  // 收盘价,必要字段
+  close: number
+  // 最高价,必要字段
+  high: number
+  // 最低价,必要字段
+  low: number
+  // 成交量,非必须字段
+  volume: number
+  // 成交额,非必须字段,如果需要展示技术指标'EMV'和'AVP',则需要为该字段填充数据。
+  turnover: number
+}
+ + + + \ No newline at end of file diff --git a/guide/environment.html b/guide/environment.html new file mode 100644 index 0000000..f06bf56 --- /dev/null +++ b/guide/environment.html @@ -0,0 +1,29 @@ + + + + + + 🏝️ 环境要求 | KLineChart + + + + + + + + + + + + + + + +
Skip to content

🏝️ 环境要求

浏览器支持

图表基于 html5 canvas 构建,需要运行在支持 canvas 的浏览器上,如果需要运行在移动端,请用 webview 加载。

兼容处理

core.js

图表内部集合使用Map,用于兼容不支持的老版浏览器。

javascript
import 'core.js';
+import { init } from 'klincharts';

Intl.js

图表依赖Intl,某些浏览器无此 API。

javascript
import 'intl';
+import 'intl/local-data/jsonp/en';
+import { init } from 'klincharts';
+ + + + \ No newline at end of file diff --git a/guide/figure.html b/guide/figure.html new file mode 100644 index 0000000..74c1e85 --- /dev/null +++ b/guide/figure.html @@ -0,0 +1,268 @@ + + + + + + 基础图形 | KLineChart + + + + + + + + + + + + + + + +
Skip to content

基础图形

基础图形是图表重要的组成部分,图表上所有的元素都是由基础图形组成,如果需要制作复杂的自定义技术指标和覆盖物,建议仔细阅读。这篇文档介绍了内置的基本图形和如何自定义一个基础图形。基础图形可以通过图表方法klinecharts.getFigureClass(name)获取。

使用示例

注意

需要在有画布上下文的情况下使用。

javascript
// 获取基础图形实例
+// name为基础图形名字,如,'arc', 'circle'等。
+const Figure = klinecharts.getFigureClass(name)
+// 实例化并绘制
+// attrs 属性
+// styles 样式
+// ctx 画布上下文
+new Figure({ attrs, styles }).draw(ctx)

内置基础图形

图表内置了这些基础图形,arccirclelinepolygonrecttextrectText

arc

typescript
new ({
+  attrs: {
+    // 圆心x轴坐标值
+    x: number
+    // 圆心y轴坐标值
+    y: number
+    // 半径
+    r: number
+    // 开始角度
+    startAngle: number
+    // 结束角度
+    endAngle: number
+  },
+  styles: {
+    // 样式,可选项`solid`,`dashed`
+    style?: 'solid' | 'dashed'
+    // 尺寸
+    size?: number
+    // 颜色
+    color?: string
+    // 虚线参数
+    dashedValue?: number[]
+  }
+}) => Figure

circle

typescript
new ({
+  attrs: {
+    // 圆心x轴坐标值
+    x: number
+    // 圆心y轴坐标值
+    y: number
+    // 半径
+    r: number
+  },
+  styles: {
+    // 样式,可选项`fill`,`stroke`,`stroke_fill`
+    style?: 'fill' | 'stroke' | 'stroke_fill'
+    // 颜色
+    color?: string
+    // 边框样式
+    borderStyle?: 'solid' | 'dashed'
+    // 边框颜色
+    borderColor?: string
+    // 边框尺寸
+    borderSize?: number
+    // 边框虚线参数
+    borderDashedValue?: number[]
+  }
+}) => Figure

line

typescript
new ({
+  attrs: {
+    // 坐标集合
+    coordinates: Array<{
+      x: number
+      y: number
+    }>
+  },
+  styles: {
+    // 样式,可选项`solid`,`dashed`
+    style?: 'solid' | 'dashed'
+    // 尺寸
+    size?: number
+    // 颜色
+    color?: string
+    // 虚线参数
+    dashedValue?: number[]
+  }
+}) => Figure

polygon

typescript
new ({
+  attrs: {
+    // 坐标集合
+    coordinates: Array<{
+      x: number
+      y: number
+    }>
+  },
+  styles: {
+    // 样式,可选项`fill`,`stroke`,`stroke_fill`
+    style?: 'fill' | 'stroke' | 'stroke_fill'
+    // 颜色
+    color?: string
+    // 边框样式
+    borderStyle?: 'solid' | 'dashed'
+    // 边框颜色
+    borderColor?: string
+    // 边框尺寸
+    borderSize?: number
+    // 边框虚线参数
+    borderDashedValue?: number[]
+  }
+}) => Figure

rect

typescript
new ({
+  attrs: {
+    // 起始点x轴坐标值
+    x: number
+    // 起始点y轴坐标值
+    y: number
+    // 宽度
+    width: number
+    // 高度
+    height: number
+  },
+  styles: {
+    // 样式,可选项`fill`,`stroke`,`stroke_fill`
+    style?: 'fill' | 'stroke' | 'stroke_fill'
+    // 颜色
+    color?: string
+    // 边框样式
+    borderStyle?: 'solid' | 'dashed',
+    // 边框颜色
+    borderColor?: string
+    // 边框尺寸
+    borderSize?: number
+    // 边框虚线参数
+    borderDashedValue?: number[]
+    // 边框圆角值
+    borderRadius?: number
+  }
+}) => Figure

text

typescript
new ({
+  attrs: {
+    // 起始点x轴坐标值
+    x: number
+    // 起始点y轴坐标值
+    y: number
+    // 文字内容
+    text: any
+    // 指定宽
+    width?: number
+    // 指定高
+    height?: number
+    // 对齐方式
+    align?: CanvasTextAlign
+    // 基准
+    baseline?: CanvasTextBaseline
+  },
+  styles: {
+    // 样式,可选项`fill`,`stroke`,`stroke_fill`
+    style?: 'fill' | 'stroke' | 'stroke_fill'
+    // 颜色
+    color?: string
+    // 尺寸
+    size?: number
+    // 字体
+    family?: string
+    // 粗细
+    weight?: string | number
+    // 左内边距
+    paddingLeft?: number
+    // 右内边距
+    paddingRight?: number
+    // 上内边距
+    paddingTop?: number
+    // 下内边距
+    paddingBottom?: number
+    // 边框样式
+    borderStyle?: 'solid' | 'dashed'
+    // 边框颜色
+    borderColor?: string
+    // 边框尺寸
+    borderSize?: number
+    // 边框虚线参数
+    borderDashedValue?: number[]
+    // 边框圆角值
+    borderRadius?: number
+    // 背景色
+    backgroundColor?: string | CanvasGradient
+  }
+}) => Figure

rectText

text,已废弃,v10之后会删除,请用text代替。

自定义基础图形

创建一个自定义基础图形,只需要生成基础图形信息,然后通过klinecharts.registerFigure全局添加,添加到图表即可和内置基础图形一样去使用。

属性说明

typescript
{
+  // 图形名字,必要字段,是创建的唯一标识
+  name: string
+
+  // 校验事件是否在图形上,返回一个boolean值
+  checkEventOn: (
+    // 事件的坐标
+    coordinate: {
+      x: number
+      y: number
+    }
+    // 图形的属性
+    attrs: any
+    // 图形的样式
+    styles: any
+  ) => boolean
+
+  // 绘制
+  draw: (
+    // 画布上下文
+    ctx: CanvasRenderingContext2D,
+    // 图形的属性
+    attrs: any,
+    // 图形的样式
+  ) => void
+}

示例

以一个可以有边框和背景菱形来具体说明自定义。

步骤一

先确定属性和样式 属性{ x, y, width, height }x是中心点x轴坐标值,y是中心点y轴坐标值,width是宽度,height是高度。 样式{ style, color, borderStyle, borderSize, borderColor, dashedValue }style是样式类型,我们可以定义三个选项strokefillstroke_fillstroke只有边框,fill只有背景,stroke_fill又有边框又有背景,color是颜色,borderStyle是边框样式,可以定义两个选项soliddashedsolid是实线,dashed是虚线,borderSize是边框尺寸,borderColor是边框颜色,dashedValue是虚线值。

步骤二

实现checkEventOndraw两个方法。

javascript
{
+  name: 'diamond',
+  checkEventOn: (coordinate, attrs) => {
+    const { x, y, width, height } = attrs
+    const xDis = Math.abs(coordinate.x - x)
+    const yDis = Math.abs(coordinate.y - y)
+    return xDis * height + yDis * width < width * height / 2
+  },
+  draw: (ctx, attrs, styles) => {
+    const { x, y, width, height } = attrs
+    const {
+      style = 'fill',
+      color = 'currentColor',
+      borderSize = 1,
+      borderColor = 'currentColor',
+      borderStyle = 'solid',
+      borderDashedValue = [2, 2]
+    } = styles
+    // 绘制填充的菱形
+    if (style === 'fill' || styles.style === 'stroke_fill') {
+      ctx.fillStyle = color
+      ctx.beginPath()
+      ctx.moveTo(x - width / 2, y)
+      ctx.lineTo(x, y - height / 2)
+      ctx.lineTo(x + width / 2, y)
+      ctx.lineTo(x, y + height / 2)
+      ctx.closePath()
+      ctx.fill()
+    }
+    // 绘制边框的菱形
+    if (style === 'stroke' || styles.style === 'stroke_fill') {
+      ctx.strokeStyle = borderColor
+      ctx.lineWidth = borderSize
+      if (borderStyle === 'dashed') {
+        ctx.setLineDash(borderDashedValue)
+      } else {
+        ctx.setLineDash([])
+      }
+      ctx.beginPath()
+      ctx.beginPath()
+      ctx.moveTo(x - width / 2, y)
+      ctx.lineTo(x, y - height / 2)
+      ctx.lineTo(x + width / 2, y)
+      ctx.lineTo(x, y + height / 2)
+      ctx.closePath()
+      ctx.stroke()
+    }
+  }
+}

这样一个自定义的基础图形就完成了。

+ + + + \ No newline at end of file diff --git a/guide/hot-key.html b/guide/hot-key.html new file mode 100644 index 0000000..54531f5 --- /dev/null +++ b/guide/hot-key.html @@ -0,0 +1,26 @@ + + + + + + ⌨️ 快捷键 | KLineChart + + + + + + + + + + + + + + + +
Skip to content

⌨️ 快捷键

目前快捷键仅支持移动和缩放。

  • shift + 右移
  • shift + 左移
  • shift + + 放大
  • shift + - 缩小
+ + + + \ No newline at end of file diff --git a/guide/i18n.html b/guide/i18n.html new file mode 100644 index 0000000..63ddedf --- /dev/null +++ b/guide/i18n.html @@ -0,0 +1,35 @@ + + + + + + 🌏 国际化 | KLineChart + + + + + + + + + + + + + + + +
Skip to content

🌏 国际化

目前图表内置了en-USzh-CN两种语言,默认语言是en-US,如果需要使用其他语言,可以参考下面的方案。

增加语言包

增加语言包通过klinecharts.registerLocale(key, locales)去完成。 例如,添加一个中文繁体的语言包,可以这样做:

typescript
klinecharts.registerLocale('zh-HK', {
+  time: '時間:',
+  open: '開:',
+  high: '高:',
+  low: '低:',
+  close: '收:',
+  volume: '成交量:',
+  turnover: '成交額:',
+  change: '漲幅:'
+})

使用语言包

当添加完语言包后,可以通过图表API init(options)或者setLocale(key),完成语言切换。

+ + + + \ No newline at end of file diff --git a/guide/indicator.html b/guide/indicator.html new file mode 100644 index 0000000..2c50ebe --- /dev/null +++ b/guide/indicator.html @@ -0,0 +1,272 @@ + + + + + + 技术指标 | KLineChart + + + + + + + + + + + + + + + +
Skip to content

技术指标

本文档介绍了图表内置的技术指标和如何自定义一个技术指标。

内置技术指标

指标名默认计算参数指标名默认计算参数指标名默认计算参数
MA[5, 10, 30, 60]BIAS[6, 12, 24]VR[24, 30]
EMA[6, 12, 20]BRAR[26]WR[6, 10, 14]
SMA[12, 2]CCI[13]MTM[6, 10]
BBI[3, 6, 12, 24]DMI[14, 6]EMV[14, 9]
VOL[5, 10, 20]CR[26, 10, 20, 40, 60]SAR[2, 2,  20]
MACD[12, 26, 9]PSY[12, 6]AO[5, 34]
BOLL[20, 2]DMA[10, 50, 10]ROC[12, 6]
KDJ[9, 3, 3]TRIX[12, 20]PVT
RSI[6, 12, 24]OBV[30]AVP

自定义技术指标

创建一个自定义技术指标,只需要生成一个技术指标信息,然后通过klinecharts.registerIndicator全局添加,添加到图表即可和内置技术指标一样去使用。

属性说明

typescript
{
+  // 指标名
+  name: string
+  // 指标简短名称,用于显示,缺省将显示name
+  shortName?: string
+  // 精度,默认为4
+  precision?: number
+  // 计算参数
+  calcParams?: any[]
+  // 是否需要ohlc
+  shouldOhlc?: boolean
+  // 是否需要格式化大数据值,从1000开始格式化,比如100000是否需要格式化100K
+  shouldFormatBigNumber?: boolean
+  // 是否可见
+  visible?: boolean
+  // 层级
+  zLevel?: number
+  // 扩展数据
+  extendData?: any
+  // 系列,默认为'normal'
+  series?: 'normal' | 'price' | 'volume'
+  // 数据信息
+  figures?: Array<{
+    // 用于取计算结果中值
+    key: string
+    // 用于tooltip显示
+    title?: string
+    // 图形类型
+    type?: string
+    // 基准值,如果给定,将以这个值上下去绘制,一般用于type是'rect'
+    baseValue?: number
+    // 是一个方法,用于生成自定义图形的属性,
+    attrs?: ({
+      data: IndicatorFigureAttrsCallbackData
+      coordinate: IndicatorFigureAttrsCallbackCoordinate
+      bounding: Bounding
+      barSpace: BarSpace
+      xAxis: XAxis
+      yAxis: YAxis
+    }) => IndicatorFigureAttrs
+    // 是一个方法,用于生成样式
+    styles?: (
+      data: {
+        // 上一个图形的数据
+        prev: {
+          // k线数据,类型参阅[数据源]
+          kLineData?: KLineData
+          // 技术指标数据
+          indicatorData?: any
+        }
+        // 当前图形的数据
+        current: {
+          kLineData?: KLineData
+          indicatorData?: any
+        }
+        // 下一个图形的数据
+        next: {
+          kLineData?: KLineData
+          indicatorData?: any
+        }
+      },
+      // 技术图表实例
+      indicator: Indicator
+      // 默认的技术指标样式,即全局设置的技术指标样式,参阅[样式]中的indicator
+      defaultStyles: IndicatorStyle
+    ) => IndicatorFigureStyle
+  }>
+  // 指定的最小值,默认null
+  minValue?: number
+  // 指定的最大值,默认null
+  maxValue?: number
+  // 样式,支持增量,默认为null,类型参阅[样式]中的indicator
+  styles?: IndicatorStyle
+  // 计算方法,可以是一个promise
+  calc: (
+    // 数据源,类型参阅[数据源]
+    dataList: KLineData[],
+    // 技术指标实例
+    indicator: Indicator
+  ) => Promise<Array<any>> | Array<any>
+  // 重新生成数图形配置方法,会在计算参数发生变化后触发,返回类型参阅figures,默认为null
+  regenerateFigures?: (
+    // 计算参数
+    calcParms: any[]
+  ) => Array<IndicatorFigure<D>>
+  // 创建自定义提示文字
+  createTooltipDataSource?: (params: {
+    // 数据源,类型参阅[数据源]
+    kLineDataList: KLineData[]
+    // 技术指标实例
+    indicator: Indicator
+    // 可见区域信息
+    visibleRange: {
+      // 起点数据索引
+      from: number
+      // 终点数据索引
+      to: number
+      // 实际起点数据索引
+      realFrom: number
+      // 实际终点数据索引
+      realTo: number
+    },
+    // 窗口尺寸信息
+    bounding: {
+      // 宽
+      width: number
+      // 高
+      height: number
+      // 距离左边距离
+      left: number
+      // 距离右边距离
+      right: number
+      // 距离顶部距离
+      top: number
+      // 距离底部距离
+      bottom: number
+    },
+    // 十字光标的信息
+    crosshair: {
+      // 十字光标交叉点所在的窗口id
+      paneId?: string
+      // 真实的x坐标
+      realX?: number
+      // k线数据,类型参阅[数据源]
+      kLineData?: KLineData
+      // 数据索引
+      dataIndex?: number
+      // 真实数据索引
+      realDataIndex?: number
+    }
+    // 默认的技术指标样式,即全局设置的技术指标样式,参阅[样式]中的indicator
+    defaultStyles: IndicatorStyle
+    // x轴组件,内置一些转换方法
+    xAxis: XAxis
+    // y轴组件,内置一些转换方法
+    yAxis: YAxis
+  }) => ({
+    // 名字
+    name?: string
+    // 计算参数文字,如果name无值,则不会显示
+    calcParamsText?: string
+    // 值信息
+    values?: Array<{
+      title: string | {
+        text: string
+        color: string
+      }
+      value: string | {
+        text: string
+        color: string
+      }
+    }>
+  }),
+  // 自定义绘制,如果返回true,则figures配置的图形不会绘制
+  draw?: (params: {
+    // 画布上下文
+    ctx: CanvasRenderingContext2D
+    // 数据源,类型参阅[数据源]
+    kLineDataList: KLineData[]
+    // 技术指标实例
+    indicator: Indicator
+    // 可见区域信息
+    visibleRange: {
+      // 起点数据索引
+      from: number
+      // 终点数据索引
+      to: number,
+      // 实际起点数据索引
+      realFrom: number
+      // 实际终点数据索引
+      realTo: number
+    },
+    // 窗口尺寸信息
+    bounding: {
+      // 宽
+      width: number
+      // 高
+      height: number
+      // 距离左边距离
+      left: number
+      // 距离右边距离
+      right: number
+      // 距离顶部距离
+      top: number
+      // 距离底部距离
+      bottom: number
+    },
+    // 蜡烛柱的尺寸信息
+    barSpace: {
+      // 蜡烛柱尺寸
+      bar: number
+      halfBar: number
+      // 蜡烛柱不包含蜡烛柱之间间隙的尺寸
+      gapBar: number
+      halfGapBar: number
+    },
+    // 默认的技术指标样式,即全局设置的技术指标样式,参阅[样式]中的indicator
+    defaultStyles: IndicatorStyle
+    // x轴组件,内置一些转换方法
+    xAxis: XAxis
+    // y轴组件,内置一些转换方法
+    yAxis: YAxis
+  }) => boolean
+}

示例

以一个名为'MA'技术指标,介绍如何去做自定义技术指标。

步骤一

首先确定计算参数(calcParams)和配置项(figures),'MA'技术指标需要展示两个周期的收盘价平均值连起来的线,一条为'ma1',一条名为'ma2'。因此figures配置为:

javascript
{
+  // 计算参数是2个,一个计算5个周期时间的均值,即'ma1',另一个计算10个周期时间的均值,即'ma10'
+  calcParams: [5, 10],
+  figures: [
+    // 第一条线'ma5'
+    { key: 'ma1', title: 'MA5: ', type: 'line' },
+    // 第二条线'ma10'
+    { key: 'ma2', title: 'MA10: ', type: 'line' }
+  ]
+}

步骤二

确定其它属性

javascript
{
+  name: 'MA',
+  shortName: 'MA',
+  calcParams: [5, 10],
+  figures: [
+    { key: 'ma1', title: 'MA5: ', type: 'line' },
+    { key: 'ma2', title: 'MA10: ', type: 'line' }
+  ],
+  // 当计算参数改变时,希望提示的和参数一样,即title的值需要改变
+  regenerateFigures: (params) => {
+    return params.map((p, i) => {
+      return { key: `ma${i + 1}`, title: `MA${p}: `, type: 'line' }
+    })
+  },
+  // 计算结果
+  calc: (kLineDataList, { calcParams, figures }) => {
+    // 注意:返回数据个数需要和kLineDataList的数据个数一致,如果无值,用{}代替即可。
+    // 计算参数最好取回调参数calcParams,如果不是,后续计算参数发生变化的时候,这里计算不能及时响应
+    const closeSums = []
+    return kLineDataList.map((kLineData, i) => {
+      const ma = {}
+      const close = kLineData. close
+      calcParams.forEach((param, j) => {
+        closeSums[j] = (closeSums[j] || 0) + close
+        if (i >= param - 1) {
+          ma[figures[j].key] = closeSums[j] / param
+          closeSums[j] -= kLineDataList[i - (param - 1)].close
+        }
+      })
+      // 如果有值的情况下,这里每一项的数据格式应该是 { ma1: xxx, ma2: xxx }
+      // 每个key需要和figures中的子项key对应的值一致
+      return ma
+    })
+  }
+}

这样一个自定义指标就完成了。

+ + + + \ No newline at end of file diff --git a/guide/instance-api.html b/guide/instance-api.html new file mode 100644 index 0000000..cb02e85 --- /dev/null +++ b/guide/instance-api.html @@ -0,0 +1,558 @@ + + + + + + 实例API | KLineChart + + + + + + + + + + + + + + + +
Skip to content

实例API

getDom(paneId, position)

typescript
(paneId?: string, position?: 'root' | 'main' | 'yAxis') => HTMLElement

获取dom容器。

  • paneId 窗口id,缺省则是整个图表容器
  • position 支持rootmainyAxis,缺省则是root

getSize(paneId, position)

typescript
(paneId?: string, position?: 'root' | 'main' | 'yAxis') => {
+  width: number
+  height: number
+  left: number
+  top: number
+  right: number
+  bottom: number
+}

获取尺寸。

  • paneId 窗口id,缺省则是整个图表容器
  • position 位置,支持rootmainyAxis,缺省则是root

setStyles(styles)

typescript
(styles: string | object) => HTMLElement

设置样式配置。

  • styles 样式配置,可以是通过registerStyles注册进去的样式名。当是对象时,详情可参阅样式,支持合并。

getStyles()

typescript
() => object

获取样式配置,返回完整类型参阅样式

setPriceVolumePrecision(pricePrecision, volumePrecision)

typescript
(pricePrecision: number, volumePrecision: number) => void

设置价格和数量精度,同时技术指标系列是'price'或者'volume'也会受影响。

  • pricePrecision 价格精度
  • volumePrecision 数量精度

setTimezone(timezone)

typescript
(timezone: string) => void

设置时区。

  • timezone 时区名,如'Asia/Shanghai',如果不设置会自动获取本机时区,时区对应名字列表请参阅时区列表

getTimezone()

typescript
() => string

获取图表时区名。

setZoomEnabled(enabled)

typescript
(enabled: boolean) => void

设置是否缩放。

isZoomEnabled()

typescript
() => boolean

是否可以缩放。

setScrollEnabled(enabled)

typescript
(enabled: boolean) => void

设置是否可以拖拽滚动。

isScrollEnabled()

typescript
() => boolean

是否可以拖拽滚动。

setOffsetRightDistance(distance)

typescript
(distance: number) => void

设置图表右边可以空出来的间隙。

getOffsetRightDistance() ^9.2.0

typescript
() => number

获取图表右边可以空出来的间隙。

setMaxOffsetLeftDistance() ^9.7.0

typescript
(distance: number) => void

设置图表左边最大可空出来的间隙。

setMaxOffsetRightDistance() ^9.7.0

typescript
(distance: number) => void

设置图表右边最大可空出来的间隙。

setLeftMinVisibleBarCount(barCount)

typescript
(barCount: number) => void

设置左边最小可见的蜡烛数量。

setRightMinVisibleBarCount(barCount)

typescript
(barCount: number) => void

设置右边最小可见的蜡烛数量。

setBarSpace(space)

typescript
(space: number) => void

设置图表单根蜡烛柱的宽度。

getBarSpace()

typescript
() => number

获取图表单根蜡烛柱的宽度。

getVisibleRange()

typescript
() => {
+  from: number
+  to: number
+  realFrom: number
+  realTo: number
+}

获取可见区间范围。

applyNewData(dataList, more, callback)

typescript
(
+  dataListArray<{
+    timestamp: number
+    open: number
+    close: number
+    high: number
+    low: number
+    volume?: number,
+    turnover?: number
+  }>,
+  more?: boolean,
+  callback?: () => void
+) => void

添加新数据,此方法会清空图表数据,不需要额外调用clearData方法。

  • dataList 是一个K线数据数组,数据类型详情可参阅数据源
  • more 告诉图表还有没有更多历史数据,可缺省,默认为true
  • callback 成功回调 ^9.2.0

注意

参数 callback 自版本9.8.0开始,已废弃,请使用 subscribeAction('onDataReady', () => {}) 代替。

applyMoreData(dataList, more, callback)

typescript
(
+  dataListArray<{
+    timestamp: number
+    open: number
+    close: number
+    high: number
+    low: number
+    volume?: number
+    turnover?: number
+  }>,
+  more?: boolean,
+  callback?: () => void
+) => void

添加历史更多数据。

  • dataList 是一个K线数据数组,数据类型详情可参阅数据源
  • more 告诉图表还有没有更多历史数据,可缺省,默认为true
  • callback 成功回调 ^9.2.0

注意

该方法自版本9.8.0开始,已废弃。

updateData(data, callback)

typescript
(
+  data: {
+    timestamp: number
+    open: number
+    close: number
+    high: number
+    low: number
+    volume?: number
+    turnover?: number
+  },
+  callback?: () => void
+) => void

更新数据,目前只会匹配当前最后一条数据的时间戳,相同则覆盖,不同则追加。

  • data 单条k线数据,数据类型详情可参阅数据源
  • callback 成功回调 ^9.2.0

注意

参数 callback 自版本9.8.0开始,已废弃,请使用 subscribeAction('onDataReady', () => {}) 代替。

getDataList()

typescript
() => Array<{
+  timestamp: number
+  open: number
+  close: number
+  high: number
+  low: number
+  volume?: number
+  turnover?: number
+}>

获取图表目前的数据源,返回数据类型可参阅数据源

clearData()

typescript
() => void

清空图表数据,一般情况下不用手动调用,为了避免重复绘制,这里只是清除数据,图表不会重绘。

loadMore(cb)

typescript
(cb: (timestamp: number | null) => void) => void

设置加载更多回调函数。

  • cb 是一个回调方法,timestamp为第一条数据的时间戳

注意

该方法自版本9.8.0开始,已废弃,请使用 setLoadDataCallback 代替。

setLoadDataCallback(cb) ^9.8.0

typescript
(
+  cb: (params: { 
+    type: 'forward' | 'backward'
+    data: Nullable<KLineData>
+    callback: (dataList: KLineData[], more?: boolean) => void
+  }) => void
+) => void

设置自动加载数据回调方法

  • cb 回调方法
    • params 回调参数
      • type 类型,是往前加载还是往后加载
      • data 加载边界的数据
      • callback 回调方法,用于回传数据给图表

createIndicator(value, isStack, paneOptions, callback)

typescript
(
+  value: string | {
+    name: string
+    shortName?: string
+    precision?: number
+    calcParams?: any[]
+    shouldOhlc?: boolean
+    shouldFormatBigNumber?: boolean
+    visible?: boolean
+    zLevel?: number
+    extendData?: any
+    series?: 'normal' | 'price' | 'volume'
+    figures?: Array<{
+      key: string
+      title?: string
+      type?: string
+      baseValue?: number
+      attrs?: ({
+        data: object
+        coordinate: object
+        bounding: object
+        barSpace: object
+        xAxis: object
+        yAxis: object
+      }) => object
+      styles?: (
+        data: object,
+        indicator: object,
+        defaultStyles: object
+      ) => ({
+        style?: 'solid' | 'dashed' | 'stroke' | 'fill' | 'stroke_fill'
+        color?: string
+      })
+    }>
+    minValue?: number
+    maxValue?: number
+    styles?: object
+    calc?: (dataList: KLineData[], indicator: object) => Promise<object[]> | object[]
+    regenerateFigures?: (calcParms: any[]) => Array<{
+      key: string
+      title?: string
+      type?: string
+      baseValue?: number
+      styles?: (
+        data: object,
+        indicator: object,
+        defaultStyles: object
+      ) => {
+        style?: 'solid' | 'dashed' | 'stroke' | 'fill' | 'stroke_fill'
+        color?: string
+      }
+    }>,
+    createTooltipDataSource?: (params: object) => {
+      name?: string
+      calcParamsText?: string
+      values?: Array<{
+        title: string | {
+          text: string
+          color: string
+        }
+        value: string | {
+          text: string
+          color: string
+        }
+      }>
+    }
+    draw?: (params: object) => boolean
+  },
+  isStack?: boolean,
+  paneOptions?: {
+    id?: string
+    height?: number
+    minHeight?: number
+    dragEnabled?: boolean
+    position?: 'top' | 'bottom'
+    gap?: {
+      top?: number
+      bottom?: number
+    }
+    axisOptions?: {
+      name?: string
+      scrollZoomEnabled?: boolean
+    }
+  } | null,
+  callback?: () => void
+) => string | null

创建一个技术指标,返回值是一个标识窗口的字符串,这非常重要,后续对该窗口的一些操作,都需要此标识。

  • value 技术指标名或者技术指标对象,当是对象时,类型和图表方法overrideIndicator的入参一致

  • isStack 是否覆盖

  • paneOptions 窗口配置信息,可缺省

    • id 窗口id,可缺省
    • height 窗口高度,可缺省
    • minHeight 窗口最小高度,可缺省
    • dragEnabled 窗口是否可以拖拽调整高度,可缺省
    • position 位置,仅仅在创建新的窗口时有效 ^9.6.0
    • gap 边距
      • top 上边距,值小余1则是百分比
      • bottom 下边距,值小余1则是百分比
    • axisOptions
      • name 指定的轴的名字,此参数对应图表实例方法 registerYAxis(axis) 中的 axis.name,默认为 'default' ^9.8.0
      • scrollZoomEnabled 轴上是否可以滚动缩放 ^9.3.0
  • callback 指标创建完成回调方法

特殊的id

'candle_pane',主图的窗口id。

示例:

javascript
chart.createIndicator('MA', false, {
+  id: 'pane_1',
+  height: 100,
+  minHeight: 30,
+  dragEnabled: true,
+  gap: { top: 0.2, bottom: 0.1 },
+  axisOptions: { scrollZoomEnabled: true }
+}, () => {})

overrideIndicator(override, paneId, callback)

typescript
(
+  override: {
+    name: string
+    shortName?: string
+    precision?: number
+    calcParams?: any[]
+    shouldOhlc?: boolean
+    shouldFormatBigNumber?: boolean
+    visible?: boolean
+    zLevel?: number
+    extendData?: any
+    series?: 'normal' | 'price' | 'volume'
+    figures?: Array<{
+      key: string
+      title?: string
+      type?: string
+      baseValue?: number
+      attrs?: ({
+        data: object
+        coordinate: object
+        bounding: object
+        barSpace: object
+        xAxis: object
+        yAxis: object
+      }) => object
+      styles?: (
+        data: object,
+        indicator: object,
+        defaultStyles: object
+      ) => {
+        style?: 'solid' | 'dashed' | 'stroke' | 'fill' | 'stroke_fill'
+        color?: string
+      }
+    }>
+    minValue?: number
+    maxValue?: number
+    styles?: object
+    calc?: (dataList: KLineData[], indicator: object) => Promise<object[]> | object[]
+    regenerateFigures?: (calcParms: any[]) => Array<{
+      key: string
+      title?: string
+      type?: string
+      baseValue?: number
+      styles?: (
+        data: object,
+        indicator: object,
+        defaultStyles: object
+      ) => {
+        style?: 'solid' | 'dashed' | 'stroke' | 'fill' | 'stroke_fill'
+        color?: string
+      }
+    }>,
+    createTooltipDataSource?: (params: object) => {
+      name?: string
+      calcParamsText?: string
+      values?: Array<{
+        title: string | {
+          text: string
+          color: string 
+        }
+        value: string | {
+          text: string
+          color: string
+        }
+      }>
+    }
+    draw?: (params: object) => boolean
+  },
+  paneId?: string | null,
+  callback?: () => void
+) => void

覆盖技术指标信息。

  • override 需要覆盖的一些参数
    • name 指标名,用于创建和操作的唯一标识
    • shortName 简短名字,用于显示
    • precision 精度
    • calcParams 计算参数
    • shouldOhlc 是否需要ohlc辅助图形
    • shouldFormatBigNumber 是否需要格式化大的数字。如1000转换成1k,1000000转换为1M等
    • visible 是否可见
    • zLevel 层级 ^9.7.0
    • extendData 扩展数据
    • series 指标系列,可选项有'normal','price'和'volume'
    • figures 图形配置
    • minValue 指定最小值
    • maxValue 指定最大值
    • styles 样式
    • calc 计算方法
    • regenerateFigures 重新生成图形信息方法
    • createTooltipDataSource 创建自定义提示信息方法
    • draw 自定义绘制方法
  • paneId 窗口id,缺省则设置所有
  • callback 成功回调

特殊的id

'candle_pane',主图的窗口id。

示例:

javascript
chart.overrideIndicator({
+  name: 'BOLL',
+  showName: 'BOLL'
+  calcParams: [20, 5.5],
+  precision: 4,
+  shouldOhlc: true,
+  shouldFormatBigNumber: false,
+  visible: true,
+  zLevel: 1,
+  extendData: 2432435,
+  series: 'price',
+  figures: [],
+  minValue: null,
+  maxValue: null,
+  calc: () => [],
+  regenerateFigures: () => [],
+  draw: () => {},
+  styles: {
+  	bars:[{
+      style: 'fill,
+      borderStyle: 'solid,
+      borderSize: 1,
+      borderDashedValue: [2, 2],
+      upColor: '#26A69A',
+      downColor: '#EF5350',
+      noChangeColor: '#888888'
+    }],
+    lines: [{
+      size: 1,
+      style: 'solid',
+      dashedValue: [2, 2],
+      color: '#FF9600'
+    }],
+    circles: [{
+      style: 'fill,
+      borderStyle: 'solid,
+      borderSize: 1,
+      borderDashedValue: [2, 2],
+      upColor: '#26A69A',
+      downColor: '#EF5350',
+      noChangeColor: '#888888'
+    }]
+  }
+}, 'candle_pane', () => {})

getIndicatorByPaneId(paneId, name)

typescript
(paneId?: string, name?: string) => object

根据窗口id获取技术指标信息。

  • paneId 窗口id,即调用createIndicator方法时返回的窗口标识,可缺省,缺省则返回所有。
  • name 技术指标名

特殊的id

'candle_pane',主图的窗口id。

removeIndicator(paneId, name)

typescript
(paneId: string, name?: string) => object

移除技术指标。

  • paneId 窗口id,即调用createIndicator方法时返回的窗口标识
  • name 技术指标名,如果缺省,则会移除所有

特殊的id

'candle_pane',主图的窗口id。

createOverlay(value, paneId)

typescript
(
+  value: string | {
+    name: string
+    id?: string
+    groupId?: string
+    lock?: boolean
+    visible?: boolean
+    zLevel?: number
+    needDefaultPointFigure?: boolean
+    needDefaultXAxisFigure?: boolean
+    needDefaultYAxisFigure?: boolean
+    mode?: 'normal' | 'weak_magnet' | 'strong_magnet'
+    modeSensitivity?: number
+    points?: Array<{
+      timestamp?: number
+      dataIndex?: number
+      value?: number
+    }>
+    extendData?: any
+    styles?: object
+    onDrawStart?: (event: object) => boolean
+    onDrawing?: (event: object) => boolean
+    onDrawEnd?: (event: object) => boolean
+    onClick?: (event: object) => boolean
+    onDoubleClick?: (event: object) => boolean
+    onRightClick?: (event: object) => boolean
+    onPressedMoveStart?: (event: object) => boolean
+    onPressedMoving?: (event: object) => boolean
+    onPressedMoveEnd?: (event: object) => boolean
+    onMouseEnter?: (event: object) => boolean
+    onMouseLeave?: (event: object) => boolean
+    onRemoved?: (event: object) => boolean
+    onSelected?: (event: object) => boolean
+    onDeselected?: (event: object) => boolean
+  } | Array<string | {
+    name: string
+    id?: string
+    groupId?: string
+    lock?: boolean
+    visible?: boolean
+    zLevel?: number
+    needDefaultPointFigure?: boolean
+    needDefaultXAxisFigure?: boolean
+    needDefaultYAxisFigure?: boolean
+    mode?: 'normal' | 'weak_magnet' | 'strong_magnet'
+    modeSensitivity?: number
+    points?: Array<{
+      timestamp?: number
+      dataIndex?: number
+      value?: number
+    }>
+    extendData?: any
+    styles?: object
+    onDrawStart?: (event: object) => boolean
+    onDrawing?: (event: object) => boolean
+    onDrawEnd?: (event: object) => boolean
+    onClick?: (event: object) => boolean
+    onDoubleClick?: (event: object) => boolean
+    onRightClick?: (event: object) => boolean
+    onPressedMoveStart?: (event: object) => boolean
+    onPressedMoving?: (event: object) => boolean
+    onPressedMoveEnd?: (event: object) => boolean
+    onMouseEnter?: (event: object) => boolean
+    onMouseLeave?: (event: object) => boolean
+    onRemoved?: (event: object) => boolean
+    onSelected?: (event: object) => boolean
+    onDeselected?: (event: object) => boolean
+  }>,
+  paneId?: string
+) => string | null

创建覆盖物,返回一个字符串类型的标识。

  • value 覆盖物名或者对象,当是对象时,参数和overrideOverlay一致
  • paneId 窗口id,可缺省

特殊的id

'candle_pane',主图的窗口id。

示例:

javascript
chart.createOverlay({
+  name: 'segment',
+  id: 'segment_1',
+  groupId: 'segment',
+  points: [
+    { timestamp: 1614171282000, value: 18987 },
+    { timestamp: 1614171202000, value: 16098 },
+  ],
+  styles: {
+    line: {
+      style: 'solid',
+      dashedValue: [2, 2],
+      color: '#f00',
+      size: 2
+    }
+  },
+  lock: false,
+  visible: true,
+  zLevel: 0,
+  mode: 'weak_magnet',
+  modeSensitivity: 8,
+  extendData: 'xxxxxxxx',
+  needDefaultPointFigure: false,
+  needDefaultXAxisFigure: false,
+  needDefaultYAxisFigure: false,
+  onDrawStart: function (event) { console.log(event) },
+  onDrawing: function (event) { console.log(event) },
+  onDrawEnd: function (event) { console.log(event) },
+  onClick: function (event) { console.log(event) },
+  onDoubleClick: function (event) { console.log(event) },
+  onRightClick: function (event) {
+    console.log(event)
+    return false
+  },
+  onMouseEnter: function (event) { console.log(event) },
+  onMouseLeave: function (event) { console.log(event) },
+  onPressedMoveStart: function (event) { console.log(event) },
+  onPressedMoving: function (event) { console.log(event) },
+  onPressedMoveEnd: function (event) { console.log(event) },
+  onRemoved: function (event) { console.log(event) },
+  onSelected: function (event) { console.log(event) },
+  onDeselected: function (event) { console.log(event) }
+})

getOverlayById(id)

typescript
(id: string) => object

根据id获取覆盖物信息。

  • id 调用createOverlay方法是返回的标识

overrideOverlay(override)

typescript
(
+  override: {
+    name: string
+    id?: string
+    groupId?: string
+    lock?: boolean
+    visible?: boolean
+    zLevel?: number
+    needDefaultPointFigure?: boolean
+    needDefaultXAxisFigure?: boolean
+    needDefaultYAxisFigure?: boolean
+    mode?: 'normal' | 'weak_magnet' | 'strong_magnet'
+    modeSensitivity?: number
+    points?: Array<{
+      timestamp?: number
+      dataIndex?: number
+      value?: number
+    }>
+    extendData?: any
+    styles?: object
+    onDrawStart?: (event: object) => boolean
+    onDrawing?: (event: object) => boolean
+    onDrawEnd?: (event: object) => boolean
+    onClick?: (event: object) => boolean
+    onDoubleClick?: (event: object) => boolean
+    onRightClick?: (event: object) => boolean
+    onPressedMoveStart?: (event: object) => boolean
+    onPressedMoving?: (event: object) => boolean
+    onPressedMoveEnd?: (event: object) => boolean
+    onMouseEnter?: (event: object) => boolean
+    onMouseLeave?: (event: object) => boolean
+    onRemoved?: (event: object) => boolean
+    onSelected?: (event: object) => boolean
+    onDeselected?: (event: object) => boolean
+  }
+) => string | null

覆盖已绘制的覆盖物。

  • override 需要覆盖的参数
    • name 覆盖物名,用于创建的唯一标识
    • id 覆盖物标识,如果id存在,则会以id为依据去覆盖
    • groupId 编组id
    • lock 是否锁定不让拖动
    • visible 是否可见
    • zLevel 绘制层级,值越大越靠前显示
    • needDefaultPointFigure 是否需要默认的点对应的图形
    • needDefaultXAxisFigure 是否需要默认的x轴上的图形
    • needDefaultYAxisFigure 是否需要默认的y轴上的图形
    • mode 模式,可选项有'normal','weak_magnet'和'strong_magnet'
    • modeSensitivity 模式灵敏度,仅 mode 是 weak_magnet 时有效 ^9.5.0
    • points 点信息
    • extendData 扩展数据
    • styles 样式
    • onDrawStart 开始绘制事件
    • onDrawing 绘制中事件
    • onDrawEnd 绘制结束事件
    • onClick 点击事件
    • onDoubleClick 双击事件 ^9.5.0
    • onRightClick 右击事件
    • onPressedMoveStart 按住开始移动事件
    • onPressedMoving 按住移动中事件
    • onPressedMoveEnd 按住移动结束事件
    • onMouseEnter 鼠标移入事件
    • onMouseLeave 鼠标移出事件
    • onRemoved 删除事件
    • onSelected 选中事件
    • onDeselected 取消选中事件

示例:

javascript
chart.overrideOverlay({
+  name: 'segment',
+  id: 'segment_1',
+  groupId: 'segment',
+  points: [
+    { timestamp: 1614171282000, value: 18987 },
+    { timestamp: 1614171202000, value: 16098 },
+  ],
+  styles: {
+    line: {
+      style: 'solid',
+      dashedValue: [2, 2],
+      color: '#f00',
+      size: 2
+    }
+  },
+  lock: false,
+  visible: true,
+  zLevel: 0,
+  mode: 'weak_magnet',
+  modeSensitivity: 8,
+  extendData: 'xxxxxxxx',
+  needDefaultPointFigure: false,
+  needDefaultXAxisFigure: false,
+  needDefaultYAxisFigure: false,
+  onDrawStart: function (event) { console.log(event) },
+  onDrawing: function (event) { console.log(event) },
+  onDrawEnd: function (event) { console.log(event) },
+  onClick: function (event) { console.log(event) },
+  onDoubleClick: function (event) { console.log(event) },
+  onRightClick: function (event) {
+    console.log(event)
+    return false
+  },
+  onMouseEnter: function (event) { console.log(event) },
+  onMouseLeave: function (event) { console.log(event) },
+  onPressedMoveStart: function (event) { console.log(event) },
+  onPressedMoving: function (event) { console.log(event) },
+  onPressedMoveEnd: function (event) { console.log(event) },
+  onRemoved: function (event) { console.log(event) },
+  onSelected: function (event) { console.log(event) },
+  onDeselected: function (event) { console.log(event) }
+})

removeOverlay(remove)

typescript
(
+  remove: string | {
+    id?: string
+    groupId?: string
+    name?: string
+  }
+) => void

移除图形。

  • id 调用createOverlay方法是返回的标识
  • groupId 编组id
  • name 覆盖物名称

删除一个html元素

  • paneId 窗口id,缺省则删除所有
  • htmlId 创建时候的id,可以是单个id,也可以是id组成的数组,缺省则删除对应窗口上所有的

scrollByDistance(distance, animationDuration)

typescript
(distance: number, animationDuration?: number) => void

滚动一定的距离。

  • distance 距离
  • animationDuration 动画时间,可以缺省,缺省则无动画

scrollToRealTime(animationDuration)

typescript
(distance: number, animationDuration?: number) => void

滚动到最初的位置。

  • animationDuration 动画时间,可以缺省,缺省则无动画

scrollToDataIndex(dataIndex, animationDuration)

typescript
(dataIndex: number, animationDuration?: number) => void

滚动到指定的位置。

  • dataIndex 数据的索引
  • animationDuration 动画时间,可以缺省,缺省则无动画

scrollToTimestamp(timestamp, animationDuration)

typescript
(timestamp: number, animationDuration?: number) => void

滚动到指定时间戳。

  • timestamp 时间戳
  • animationDuration 动画时间,可以缺省,缺省则无动画

zoomAtCoordinate(scale, coordinate, animationDuration)

typescript
(
+  scale: number,
+  coordinate?: {
+    x: number
+    y: number
+  },
+  animationDuration?: number
+) => void

在某个坐标点缩放。

  • scale 缩放比例
  • coordinate 坐标点,可缺省,缺省则在图表中间位置缩放
  • animationDuration 动画时间,可以缺省,缺省则无动画

zoomAtDataIndex(scale, dataIndex, animationDuration)

typescript
(scale: number, dataIndex: number, animationDuration?: number) => void

在某个位置缩放。

  • scale 缩放比例
  • dataIndex 数据的索引
  • animationDuration 动画时间,可以缺省,缺省则无动画

zoomAtTimestamp(scale, timestamp, animationDuration)

typescript
(scale: number, timestamp: number, animationDuration?: number) => void

在指定时间戳上缩放。

  • scale 缩放比例
  • timestamp 时间戳
  • animationDuration 动画时间,可以缺省,缺省则无动画

setPaneOptions(options)

typescript
(
+  options: {
+    id: string
+    height?: number
+    minHeight?: number
+    dragEnabled?: boolean
+    gap?: {
+      top?: number
+      bottom?: number
+    }
+    axisOptions?: {
+      name?: string
+      scrollZoomEnabled?: boolean
+    }
+  }
+) => void

设置窗口配置。

  • options 窗口配置信息,可缺省
    • id 窗口id
    • height 窗口高度,可缺省
    • minHeight 窗口最小高度,可缺省
    • dragEnabled 窗口是否可以拖拽调整高度,可缺省
    • gap 边距
      • top 上边距,值小余1则是百分比
      • bottom 下边距,值小余1则是百分比
    • axisOptions
      • name 轴名字 ^9.8.0
      • scrollZoomEnabled 轴上是否可以滚动缩放 ^9.3.0

特殊的id

'candle_pane',主图的窗口id。

示例:

javascript
chart.setPaneOptions({
+  id: 'pane_1',
+  height: 100,
+  minHeight: 3,
+  dragEnabled: true,
+  gap: { top: 0.2, bottom: 0.1 },
+  axisOptions: { name: 'default', scrollZoomEnabled: true }
+})

executeAction(type, data) ^9.2.0

typescript
(
+   type: 'onCrosshairChange',
+   data: any => void
+) => void

执行图表动作

  • type 仅支持 'onCrosshairChange'
  • data 执行动作需要的数据

subscribeAction(type, callback)

typescript
(
+  type: 'onDataReady' | 'onZoom' | 'onScroll' | 'onVisibleRangeChange' | 'onCrosshairChange' | 'onCandleBarClick' | 'onTooltipIconClick' | 'onPaneDrag',
+  callback: (data?: any) => void
+) => void

订阅图表动作。

  • type 可选项为 'onDataReady','onZoom','onScroll','onVisibleRangeChange','onCandleBarClick', 'onTooltipIconClick','onCrosshairChange'和'onPaneDrag'
  • callback 是一个回调方法

unsubscribeAction(type, callback)

typescript
(
+  type: 'onDataReady' | 'onZoom' | 'onScroll' | 'onVisibleRangeChange' | 'onCrosshairChange' | 'onCandleBarClick' | 'onTooltipIconClick' | 'onPaneDrag',
+  callback?: (data?: any) => void
+) => void

取消订阅图表动作。

  • type 可选项为 'onDataReady','onZoom','onScroll','onVisibleRangeChange','onCandleBarClick', 'onTooltipIconClick','onCrosshairChange'和'onPaneDrag'
  • callback 订阅时的回调方法,缺省则取消当前类型所有

convertToPixel(value, finder)

typescript
(
+  value: {
+    dataIndex?: number
+    timestamp?: number
+    value?: number
+  } | Array<{
+    dataIndex?: number
+    timestamp?: number
+    value?: number
+  }>,
+  finder: {
+    paneId?: string
+    absolute?: boolean
+  }
+) => { x: number?, y?: number } | Array<{ x?: number, y?: number }>

将值转换成坐标。

  • value 需要转换的值,可以是当个对象,也可以是数组
    • dataIndex 数据索引,如果dataIndextimestamp同时存在,则依据索引转换
    • timestamp 时间戳
    • value 对应y轴的值
  • finder 过滤条件
    • paneId 窗口id
    • absolute 是否是绝对坐标,只作用于y轴

convertFromPixel(coordinate, finder)

typescript
(
+  coordinate: {
+    x?: number
+    y?: number
+  } | Array<{
+    x?: number
+    y?: number
+  },
+  finder: {
+    paneId?: string
+    absolute?: boolean
+  }
+) => {
+    dataIndex?: number
+    timestamp?: number
+    value?: number
+  } | Array<{
+    dataIndex?: number
+    timestamp?: number
+    value?: number
+  }>

将坐标转换成值。

  • coordinate 需要转换的值,可以是当个对象,也可以是数组
  • finder 过滤条件
    • paneId 窗口id
    • absolute 是否是绝对坐标,只作用于y轴

getConvertPictureUrl(includeOverlay, type, backgroundColor)

typescript
(includeOverlay?: boolean, type?: string, backgroundColor?: string) => string

获取图表转换成图片后的图片url。

  • includeOverlay 是否需要包含浮层,可缺省
  • type 转换后的图片类型,类型是'png'、'jpeg'、'bmp'三种中的一种,可缺省,默认为'jpeg'
  • backgroundColor 背景色,可缺省,默认为'#FFFFFF'

resize()

typescript
() => void

调整图表大小,总是会填充容器大小。

注意

此方法会重新计算整个图表各个模块的大小,频繁调用可能会影响到性能,调用请谨慎。

+ + + + \ No newline at end of file diff --git a/guide/introduction.html b/guide/introduction.html new file mode 100644 index 0000000..b62d31e --- /dev/null +++ b/guide/introduction.html @@ -0,0 +1,26 @@ + + + + + + 📃 介绍 | KLineChart + + + + + + + + + + + + + + + +
Skip to content

📃 介绍

什么是 KLineChart?

KLineChart,是一款可高度自定义的专业级轻量金融图表。

特性

  • 📦 开箱即用:简单快速集成,基本零成本上手。
  • 🚀 轻量流畅:零依赖,Gzip压缩下仅40k。
  • 💪 功能强大:内置多种指标和画线模型。
  • 🎨 高可扩展:丰富的样式配置和API,功能扩展随心所欲。
  • 📱 移动端:支持移动端,一个图表,搞定多端。
  • 🛡 Typescript开发:提供完整的类型定义文件。
+ + + + \ No newline at end of file diff --git a/guide/overlay.html b/guide/overlay.html new file mode 100644 index 0000000..dedfa4b --- /dev/null +++ b/guide/overlay.html @@ -0,0 +1,253 @@ + + + + + + 覆盖物 | KLineChart + + + + + + + + + + + + + + + +
Skip to content

覆盖物

本文档介绍了图表内置的覆盖物和如何自定义一个覆盖物。

内置覆盖物类型

horizontalRayLine, horizontalSegment, horizontalStraightLine, verticalRayLine, verticalSegment, verticalStraightLine, rayLine, segment, straightLine, priceLine, priceChannelLine, parallelStraightLine, fibonacciLine, simpleAnnotation, simpleTag

自定义覆盖物

自定义一个覆盖物,然后通过klinecharts.registerOverlay 全局添加,添加到图表即可和内置覆盖物一样去使用。

属性说明

typescript
{
+  // 名称,必须字段,作为覆盖物创建的唯一标识
+  name: string
+
+  // 总共需要多少步操作才行绘制完成,非必须
+  totalStep?: number
+
+  // 是否锁定,不触发事件,非必须
+  lock?: boolean
+
+  // 是否可见
+  visible?: boolean
+
+  // 绘制层级,值越大越靠前显示
+  zLevel?: number
+
+  // 是否需要默认的点对应的图形,非必须
+  needDefaultPointFigure?: boolean
+
+  // 是否需要默认的X轴上的图形,非必须
+  needDefaultXAxisFigure?: boolean
+
+  // 是否需要默认的Y轴上的图形,非必须
+  needDefaultYAxisFigure?: boolean
+
+  // 模式,可选项为`normal`,`weak_magnet`,`strong_magnet`,非必须
+  mode?: 'normal' | 'weak_magnet' | 'strong_magnet'
+
+  // 模式灵敏度,仅 mode 是 weak_magnet 时有效
+  modeSensitivity?: number
+
+  // 点信息,非必须
+  points?: Array<{
+    // 时间戳
+    timestamp: number
+    // 数据索引
+    dataIndex?: number
+    // 对应y轴的值
+    value?: number
+  }>
+
+  // 扩展数据,非必须
+  extendData?: any
+
+  // 样式,非必须,类型参与[样式]中的overlay
+  styles?: OverlayStyle
+
+  // 创建点对应的图形,非必须
+  createPointFigures: ({
+    // 覆盖物实例
+    overlay: Overlay
+    // points对应的坐标信息
+    coordinates: Array<{
+      x: number
+      y: number
+    }>
+    // 窗口尺寸信息
+    bounding: {
+      // 宽
+      width: number
+      // 高
+      height: number
+      // 距离左边距离
+      left: number
+      // 距离右边距离
+      right: number
+      // 距离顶部距离
+      top: number
+      // 距离底部距离
+      bottom: number
+    }
+    // 蜡烛柱的尺寸信息
+    barSpace: {
+      // 蜡烛柱尺寸
+      bar: number
+      halfBar: number
+      // 蜡烛柱不包含蜡烛柱之间间隙的尺寸
+      gapBar: number
+      halfGapBar: number
+    }
+    // 精度
+    precision: {
+      // 价格精度
+      price: number
+      // 数量精度
+      volume: number
+    }
+    // 千分符
+    thousandsSeparator: string
+    // 小数折叠阈值
+    decimalFoldThreshold: number
+    // 格式化日期和时间的对象的构造器,详情参阅 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat
+    dateTimeFormat: Intl.DateTimeFormat
+    // 默认样式,即全局样式配置中的overlay,类型参与[样式]中的overlay
+    defaultStyles: OverlayStyle
+     // x轴组件,内置一些转换方法
+    xAxis: XAxis
+    // y轴组件,内置一些转换方法
+    yAxis: YAxis
+  }) => ({
+    // 无特殊含义,可用于扩展字段
+    key?: string
+    // 图形类型,类型为klinecharts.getSupportFigures返回值中的一种
+    type: string
+    // type对应的图形的属性
+    attrs: any | any[]
+    // type对应的图形的样式
+    styles?: any
+    // 是否忽略事件
+    ignoreEvent?: boolean | OverlayFigureIgnoreEventType[]
+  }) | Array<{
+    key?: string
+    type: string
+    attrs: any | any[]
+    styles?: any
+    ignoreEvent?: boolean | OverlayFigureIgnoreEventType[]
+  }>
+
+  // 创建X轴上的图形,非必须,参数和返回值和`createPointFigures`一致
+  createXAxisFigures?: OverlayCreateFiguresCallback
+
+  // 创建Y轴上的图形,非必须,参数和返回值和`createPointFigures`一致
+  createYAxisFigures?: OverlayCreateFiguresCallback
+
+  // 处理在绘制过程中移动操作,可缺省,移动绘制过程中触发
+  performEventMoveForDrawing?: ({
+    // 当前步骤
+    currentStep: number
+    // 模式
+    mode: 'normal' | 'weak_magnet' | 'strong_magnet'
+    // 点信息
+    points: Array<{
+      // 时间戳
+      timestamp: number
+      // 数据索引
+      dataIndex?: number
+      // 对应y轴的值
+      value?: number
+    }>
+    // 事件所在点的索引
+    performPointIndex: number
+    // 事件所在点的信息
+    performPoint: {
+      // 时间戳
+      timestamp: number
+      // 数据索引
+      dataIndex?: number
+      // 对应y轴的值
+      value?: number
+    }
+  }) => void
+
+  // 处理按住移动操作,可缺省,按住某个操作点移动过程中触发
+  // 回调参数和`performEventMoveForDrawing`一致
+  performEventPressedMove?: (params: OverlayPerformEventParams) => void
+
+  // 绘制开始回调事件,可缺省
+  onDrawStart?: (event: OverlayEvent) => boolean
+
+  // 绘制过程中回调事件,可缺省
+  onDrawing?: (event: OverlayEvent) => boolean
+
+  // 绘制结束回调事件,可缺省
+  onDrawEnd?: (event: OverlayEvent) => boolean
+
+  // 点击回调事件,可缺省
+  onClick?: (event: OverlayEvent) => boolean
+
+  // 双击回调事件,可缺省
+  onDoubleClick?: (event: OverlayEvent) => boolean
+
+  // 右击回调事件,可缺省,需要返回一个boolean类型的值,如果返回true,内置的右击删除将无效
+  onRightClick?: (event: OverlayEvent) => boolean
+
+  // 按住拖动开始回调事件,可缺省
+  onPressedMoveStart?: (event: OverlayEvent) => boolean
+
+  // 按住拖动回调事件,可缺省  
+  onPressedMoving?: (event: OverlayEvent) => boolean
+
+  // 按住拖动结束回调事件,可缺省
+  onPressedMoveEnd?: (event: OverlayEvent) => boolean
+
+  // 鼠标移入事件,可缺省
+  onMouseEnter?: (event: OverlayEvent) => boolean
+
+  // 鼠标移出事件,可缺省
+  onMouseLeave?: (event: OverlayEvent) => boolean
+
+  // 删除回调事件,可缺省
+  onRemoved?: (event: OverlayEvent) => boolean
+
+  // 选中回调事件,可缺省
+  onSelected?: (event: OverlayEvent) => boolean
+
+  // 取消回调事件,可缺省
+  onDeselected?: (event: OverlayEvent) => boolean
+}

示例

以一个填充带边框的圆来具体说明如何配置。

javascript
{
+  // 名称
+  name: 'sampleCircle',
+
+  // 完成一个圆的绘制需要三个步骤
+  totalStep: 3,
+
+  // 创建点对应的图形信息
+  createPointFigures: ({ coordinates }) => {
+    if (coordinates.length === 2) {
+      const xDis = Math.abs(coordinates[0].x - coordinates[1].x)
+      const yDis = Math.abs(coordinates[0].y - coordinates[1].y)
+      // 确定对应点生成的圆的坐标
+      const radius = Math.sqrt(xDis * xDis + yDis * yDis)
+      // 图表内置了基础图形'circle',可以直接使用
+      return {
+        key: 'sampleCircle',
+        type: 'circle',
+        attrs: {
+          ...coordinates[0],
+          r: radius
+        },
+        styles: {
+          // 选择边框且填充,其它选择使用默认样式
+          style: 'stroke_fill'
+        }
+      }
+    }
+    return []
+  }
+}

这样一个自定义覆盖物就完成了。

+ + + + \ No newline at end of file diff --git a/guide/quick-start.html b/guide/quick-start.html new file mode 100644 index 0000000..3b431a9 --- /dev/null +++ b/guide/quick-start.html @@ -0,0 +1,217 @@ + + + + + + 🚀 快速上手 | KLineChart + + + + + + + + + + + + + + + +
Skip to content

🚀 快速上手

获取KLineChart

KLineChart 支持多种下载方式,你可以通过 npmyarnpnpmbun 包管理工具下载。另外,也提供了 umd 版本,所以也可以从 cdn 网站 等进行下载,使用全局变量 klinecharts 即可。

推荐使用包管理工具的方式进行开发,不仅可在开发环境轻松调试,也可放心地在生产环境打包部署使用,享受整个生态圈和工具链带来的诸多好处。

bash
npm install klinecharts
bash
yarn add klinecharts
bash
pnpm install klinecharts
bash
bun add klinecharts
html
<script src="https://cdn.jsdelivr.net/npm/klinecharts/dist/umd/klinecharts.min.js"></script>

创建第一个图表

KLineChart 不受前端框架限制,所以你可以在任何一个前端框架中使用。

jsx
import { useEffect } from 'react'
+import { init, dispose } from 'klinecharts'
+export default () => {
+  useEffect(() => {
+    const chart = init('chart')
+          
+    chart.applyNewData([
+      { close: 4976.16, high: 4977.99, low: 4970.12, open: 4972.89, timestamp: 1587660000000, volume: 204 },
+      { close: 4977.33, high: 4979.94, low: 4971.34, open: 4973.20, timestamp: 1587660060000, volume: 194 },
+      { close: 4977.93, high: 4977.93, low: 4974.20, open: 4976.53, timestamp: 1587660120000, volume: 197 },
+      { close: 4966.77, high: 4968.53, low: 4962.20, open: 4963.88, timestamp: 1587660180000, volume: 28 },
+      { close: 4961.56, high: 4972.61, low: 4961.28, open: 4961.28, timestamp: 1587660240000, volume: 184 },
+      { close: 4964.19, high: 4964.74, low: 4961.42, open: 4961.64, timestamp: 1587660300000, volume: 191 },
+      { close: 4968.93, high: 4972.70, low: 4964.55, open: 4966.96, timestamp: 1587660360000, volume: 105 },
+      { close: 4979.31, high: 4979.61, low: 4973.99, open: 4977.06, timestamp: 1587660420000, volume: 35 },
+      { close: 4977.02, high: 4981.66, low: 4975.14, open: 4981.66, timestamp: 1587660480000, volume: 135 },
+      { close: 4985.09, high: 4988.62, low: 4980.30, open: 4986.72, timestamp: 1587660540000, volume: 76 }
+    ])
+          
+    return () => {
+      dispose('chart')
+    }
+  }, [])
+
+  return <div id="chart" style={{ width: 600, height: 600 }}/>
+}
vue
<script setup>
+import { onMounted, onUnmounted } from 'vue'
+import { init, dispose } from 'klinecharts'
+
+onMounted(() => {
+  const chart = init('chart')
+
+  chart.applyNewData([
+    { close: 4976.16, high: 4977.99, low: 4970.12, open: 4972.89, timestamp: 1587660000000, volume: 204 },
+    { close: 4977.33, high: 4979.94, low: 4971.34, open: 4973.20, timestamp: 1587660060000, volume: 194 },
+    { close: 4977.93, high: 4977.93, low: 4974.20, open: 4976.53, timestamp: 1587660120000, volume: 197 },
+    { close: 4966.77, high: 4968.53, low: 4962.20, open: 4963.88, timestamp: 1587660180000, volume: 28 },
+    { close: 4961.56, high: 4972.61, low: 4961.28, open: 4961.28, timestamp: 1587660240000, volume: 184 },
+    { close: 4964.19, high: 4964.74, low: 4961.42, open: 4961.64, timestamp: 1587660300000, volume: 191 },
+    { close: 4968.93, high: 4972.70, low: 4964.55, open: 4966.96, timestamp: 1587660360000, volume: 105 },
+    { close: 4979.31, high: 4979.61, low: 4973.99, open: 4977.06, timestamp: 1587660420000, volume: 35 },
+    { close: 4977.02, high: 4981.66, low: 4975.14, open: 4981.66, timestamp: 1587660480000, volume: 135 },
+    { close: 4985.09, high: 4988.62, low: 4980.30, open: 4986.72, timestamp: 1587660540000, volume: 76 }
+  ])
+})
+
+onUnmounted(() => {
+  dispose('chart')
+})
+</script>
+
+<template>
+  <div id="chart" style="width:600px;height:600px"/>
+</template>
ts
import { Component, AfterViewInit, OnDestroy } from '@angular/core';
+import { init, dispose } from 'klinecharts';
+
+@Component({
+  selector: 'app-chart',
+  template: `<div id="chart" style="width:600px;height:600px"/>`,
+})
+export class ChartComponent implements AfterViewInit, OnDestroy {
+  ngAfterViewInit(): void {
+    const chart = init('chart');
+
+    chart?.applyNewData([
+      { close: 4976.16, high: 4977.99, low: 4970.12, open: 4972.89, timestamp: 1587660000000, volume: 204 },
+      { close: 4977.33, high: 4979.94, low: 4971.34, open: 4973.20, timestamp: 1587660060000, volume: 194 },
+      { close: 4977.93, high: 4977.93, low: 4974.20, open: 4976.53, timestamp: 1587660120000, volume: 197 },
+      { close: 4966.77, high: 4968.53, low: 4962.20, open: 4963.88, timestamp: 1587660180000, volume: 28 },
+      { close: 4961.56, high: 4972.61, low: 4961.28, open: 4961.28, timestamp: 1587660240000, volume: 184 },
+      { close: 4964.19, high: 4964.74, low: 4961.42, open: 4961.64, timestamp: 1587660300000, volume: 191 },
+      { close: 4968.93, high: 4972.70, low: 4964.55, open: 4966.96, timestamp: 1587660360000, volume: 105 },
+      { close: 4979.31, high: 4979.61, low: 4973.99, open: 4977.06, timestamp: 1587660420000, volume: 35 },
+      { close: 4977.02, high: 4981.66, low: 4975.14, open: 4981.66, timestamp: 1587660480000, volume: 135 },
+      { close: 4985.09, high: 4988.62, low: 4980.30, open: 4986.72, timestamp: 1587660540000, volume: 76 }
+    ]);
+  }
+
+  ngOnDestroy(): void {
+    dispose('chart');
+  }
+}
jsx
import { useEffect } from 'preact/hooks'
+import { init, dispose } from 'klinecharts'
+
+export default () => {
+  useEffect(() => {
+    const chart = init('chart')
+
+    chart.applyNewData([
+      { close: 4976.16, high: 4977.99, low: 4970.12, open: 4972.89, timestamp: 1587660000000, volume: 204 },
+      { close: 4977.33, high: 4979.94, low: 4971.34, open: 4973.20, timestamp: 1587660060000, volume: 194 },
+      { close: 4977.93, high: 4977.93, low: 4974.20, open: 4976.53, timestamp: 1587660120000, volume: 197 },
+      { close: 4966.77, high: 4968.53, low: 4962.20, open: 4963.88, timestamp: 1587660180000, volume: 28 },
+      { close: 4961.56, high: 4972.61, low: 4961.28, open: 4961.28, timestamp: 1587660240000, volume: 184 },
+      { close: 4964.19, high: 4964.74, low: 4961.42, open: 4961.64, timestamp: 1587660300000, volume: 191 },
+      { close: 4968.93, high: 4972.70, low: 4964.55, open: 4966.96, timestamp: 1587660360000, volume: 105 },
+      { close: 4979.31, high: 4979.61, low: 4973.99, open: 4977.06, timestamp: 1587660420000, volume: 35 },
+      { close: 4977.02, high: 4981.66, low: 4975.14, open: 4981.66, timestamp: 1587660480000, volume: 135 },
+      { close: 4985.09, high: 4988.62, low: 4980.30, open: 4986.72, timestamp: 1587660540000, volume: 76 }
+    ])
+
+    return () => {
+      dispose('chart')
+    }
+  }, [])
+
+  return <div id="chart" style={{ width: 600, height: 600 }}/>
+}
jsx
import { onMount, onCleanup } from 'solid-js'
+import { init, dispose } from 'klinecharts'
+
+export default () => {
+  onMount(() => {
+    const chart = init('chart')
+
+    chart.applyNewData([
+      { close: 4976.16, high: 4977.99, low: 4970.12, open: 4972.89, timestamp: 1587660000000, volume: 204 },
+      { close: 4977.33, high: 4979.94, low: 4971.34, open: 4973.20, timestamp: 1587660060000, volume: 194 },
+      { close: 4977.93, high: 4977.93, low: 4974.20, open: 4976.53, timestamp: 1587660120000, volume: 197 },
+      { close: 4966.77, high: 4968.53, low: 4962.20, open: 4963.88, timestamp: 1587660180000, volume: 28 },
+      { close: 4961.56, high: 4972.61, low: 4961.28, open: 4961.28, timestamp: 1587660240000, volume: 184 },
+      { close: 4964.19, high: 4964.74, low: 4961.42, open: 4961.64, timestamp: 1587660300000, volume: 191 },
+      { close: 4968.93, high: 4972.70, low: 4964.55, open: 4966.96, timestamp: 1587660360000, volume: 105 },
+      { close: 4979.31, high: 4979.61, low: 4973.99, open: 4977.06, timestamp: 1587660420000, volume: 35 },
+      { close: 4977.02, high: 4981.66, low: 4975.14, open: 4981.66, timestamp: 1587660480000, volume: 135 },
+      { close: 4985.09, high: 4988.62, low: 4980.30, open: 4986.72, timestamp: 1587660540000, volume: 76 }
+    ])
+  })
+
+  onCleanup(() => {
+    // 销毁图表
+    dispose('chart')
+  })
+
+  return <div id="chart" style={{ width: '600px', height: '600px' }}/>
+}
svelte
<div id="chart" style="width:600px;height:600px"/>
+
+<script>
+import { onMount, onDestroy } from 'svelte'
+
+onMount(() => {
+  const chart = init('chart')
+
+  chart.applyNewData([
+    { close: 4976.16, high: 4977.99, low: 4970.12, open: 4972.89, timestamp: 1587660000000, volume: 204 },
+    { close: 4977.33, high: 4979.94, low: 4971.34, open: 4973.20, timestamp: 1587660060000, volume: 194 },
+    { close: 4977.93, high: 4977.93, low: 4974.20, open: 4976.53, timestamp: 1587660120000, volume: 197 },
+    { close: 4966.77, high: 4968.53, low: 4962.20, open: 4963.88, timestamp: 1587660180000, volume: 28 },
+    { close: 4961.56, high: 4972.61, low: 4961.28, open: 4961.28, timestamp: 1587660240000, volume: 184 },
+    { close: 4964.19, high: 4964.74, low: 4961.42, open: 4961.64, timestamp: 1587660300000, volume: 191 },
+    { close: 4968.93, high: 4972.70, low: 4964.55, open: 4966.96, timestamp: 1587660360000, volume: 105 },
+    { close: 4979.31, high: 4979.61, low: 4973.99, open: 4977.06, timestamp: 1587660420000, volume: 35 },
+    { close: 4977.02, high: 4981.66, low: 4975.14, open: 4981.66, timestamp: 1587660480000, volume: 135 },
+    { close: 4985.09, high: 4988.62, low: 4980.30, open: 4986.72, timestamp: 1587660540000, volume: 76 }
+  ])
+})
+
+onDestroy(() => {
+  dispose('chart')
+})
+</script>
html
<!DOCTYPE html>
+<html lang="cn" >
+  <head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <meta name="theme-color" content="#000000" />
+    <meta name="keywords" content="Quick Start"/>
+    <meta name="description" content="Quick Start"/>
+    <title>Quick Start</title>
+    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/klinecharts/dist/umd/klinecharts.min.js"></script>
+  </head>
+  <body>
+    <div id="chart" style="width:600px;height:600px"></div>
+    <script>
+      window.onload = function () {
+        var chart = klinecharts.init('chart')
+
+        chart.applyNewData([
+          { close: 4976.16, high: 4977.99, low: 4970.12, open: 4972.89, timestamp: 1587660000000, volume: 204 },
+          { close: 4977.33, high: 4979.94, low: 4971.34, open: 4973.20, timestamp: 1587660060000, volume: 194 },
+          { close: 4977.93, high: 4977.93, low: 4974.20, open: 4976.53, timestamp: 1587660120000, volume: 197 },
+          { close: 4966.77, high: 4968.53, low: 4962.20, open: 4963.88, timestamp: 1587660180000, volume: 28 },
+          { close: 4961.56, high: 4972.61, low: 4961.28, open: 4961.28, timestamp: 1587660240000, volume: 184 },
+          { close: 4964.19, high: 4964.74, low: 4961.42, open: 4961.64, timestamp: 1587660300000, volume: 191 },
+          { close: 4968.93, high: 4972.70, low: 4964.55, open: 4966.96, timestamp: 1587660360000, volume: 105 },
+          { close: 4979.31, high: 4979.61, low: 4973.99, open: 4977.06, timestamp: 1587660420000, volume: 35 },
+          { close: 4977.02, high: 4981.66, low: 4975.14, open: 4981.66, timestamp: 1587660480000, volume: 135 },
+          { close: 4985.09, high: 4988.62, low: 4980.30, open: 4986.72, timestamp: 1587660540000, volume: 76 }
+        ])
+      }
+    </script>
+  </body>
+</html>

这样你的第一个图表就创建完成了。

+ + + + \ No newline at end of file diff --git a/guide/styles.html b/guide/styles.html new file mode 100644 index 0000000..f05cda9 --- /dev/null +++ b/guide/styles.html @@ -0,0 +1,576 @@ + + + + + + 🎨 样式配置 | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

🎨 样式配置

图表上看到的不管是点还是线,基本都可以自定义样式。可以通过图表方法init(ds, options)或者图表实例方法setStyles(styles)进行更改。

图解说明

1 grid.horizontal2 grid.vertical3 candle.bar4 candle.candle.priceMark.last.line5 candle.candle.priceMark.last.text6 candle.candle.priceMark.high7 candle.candle.priceMark.low8 candle.candle.tooltip9 indicator.ohlc10 indicator.lastValueMark11 indicator.tooltip12 xAxis.axisLine13 xAxis.tickLine14 xAxis.tickText15 yAxis.axisLine16 yAxis.tickLine17 yAxis.tickText18 separator19 crosshair.horizontal.line20 crosshair.horizontal.text21 crosshair.vertical.line22 crosshair.vertical.text23 overlay

默认完整配置

javascript
{
+  // 网格线
+  grid: {
+    show: true,
+    horizontal: {
+      show: true,
+      size: 1,
+      color: '#EDEDED',
+      style: 'dashed',
+      dashedValue: [2, 2]
+    },
+    vertical: {
+      show: true,
+      size: 1,
+      color: '#EDEDED',
+      style: 'dashed',
+      dashedValue: [2, 2]
+    }
+  },
+  // 蜡烛图
+  candle: {
+    // 蜡烛图类型 'candle_solid'|'candle_stroke'|'candle_up_stroke'|'candle_down_stroke'|'ohlc'|'area'
+    type: 'candle_solid',
+    // 蜡烛柱
+    bar: {
+      upColor: '#2DC08E',
+      downColor: '#F92855',
+      noChangeColor: '#888888',
+      upBorderColor: '#2DC08E',
+      downBorderColor: '#F92855',
+      noChangeBorderColor: '#888888',
+      upWickColor: '#2DC08E',
+      downWickColor: '#F92855',
+      noChangeWickColor: '#888888'
+    },
+    // 面积图
+    area: {
+      lineSize: 2,
+      lineColor: '#2196F3',
+      value: 'close',
+      smooth: false,
+      backgroundColor: [{
+        offset: 0,
+        color: 'rgba(33, 150, 243, 0.01)'
+      }, {
+        offset: 1,
+        color: 'rgba(33, 150, 243, 0.2)'
+      }],
+      point: {
+        show: true,
+        color: blue,
+        radius: 4,
+        rippleColor: getAlphaBlue(0.3),
+        rippleRadius: 8,
+        animation: true,
+        animationDuration: 1000
+      }
+    },
+    priceMark: {
+      show: true,
+      // 最高价标记
+      high: {
+        show: true,
+        color: '#D9D9D9',
+        textOffset: 5,
+        textSize: 10,
+        textFamily: 'Helvetica Neue',
+        textWeight: 'normal'
+      },
+      // 最低价标记
+      low: {
+        show: true,
+        color: '#D9D9D9',
+        textOffset: 5,
+        textSize: 10,
+        textFamily: 'Helvetica Neue',
+        textWeight: 'normal',
+      },
+      // 最新价标记
+      last: {
+        show: true,
+        upColor: '#2DC08E',
+        downColor: '#F92855',
+        noChangeColor: '#888888',
+        line: {
+          show: true,
+          // 'solid' | 'dashed'
+          style: 'dashed',
+          dashedValue: [4, 4],
+          size: 1
+        },
+        text: {
+          show: true,
+          // 'fill' | 'stroke' | 'stroke_fill'
+          style: 'fill',
+          size: 12,
+          paddingLeft: 4,
+          paddingTop: 4,
+          paddingRight: 4,
+          paddingBottom: 4,
+          // 'solid' | 'dashed'
+          borderStyle: 'solid',
+          borderSize: 0,
+          borderColor: 'transparent',
+          borderDashedValue: [2, 2],
+          color: '#FFFFFF',
+          family: 'Helvetica Neue',
+          weight: 'normal',
+          borderRadius: 2
+        }
+      }
+    },
+    // 提示
+    tooltip: {
+      offsetLeft: 4,
+      offsetTop: 6,
+      offsetRight: 4,
+      offsetBottom: 6,
+      // 'always' | 'follow_cross' | 'none'
+      showRule: 'always',
+      // 'standard' | 'rect'
+      showType: 'standard',
+      // 自定义显示,可以是回调方法也可以是数组,当是一个方法时,需要返回一个数组
+      // 数组的子项类型为 { title, value }
+      // title和value可以是字符串或者对象,对象类型为 { text, color }
+      // title 或者 title.text 可以是国际化的 key,
+      // value 或者 value.text 支持字符串模版
+      // 例如:想显示时间,开盘和收盘,配置[{ title: 'time', value: '{time}' }, { title: 'open', value: '{open}' }, { title: 'close', value: '{close}' }]
+      custom: [
+        { title: 'time', value: '{time}' },
+        { title: 'open', value: '{open}' },
+        { title: 'high', value: '{high}' },
+        { title: 'low', value: '{low}' },
+        { title: 'close', value: '{close}' },
+        { title: 'volume', value: '{volume}' }
+      ],
+      defaultValue: 'n/a',
+      rect: {
+        // 'fixed' | 'pointer'
+        position: 'fixed',
+        paddingLeft: 4,
+        paddingRight: 4,
+        paddingTop: 4,
+        paddingBottom: 4,
+        offsetLeft: 4,
+        offsetTop: 4,
+        offsetRight: 4,
+        offsetBottom: 4,
+        borderRadius: 4,
+        borderSize: 1,
+        borderColor: '#f2f3f5',
+        color: '#FEFEFE'
+      },
+      text: {
+        size: 12,
+        family: 'Helvetica Neue',
+        weight: 'normal',
+        color: '#D9D9D9',
+        marginLeft: 8,
+        marginTop: 4,
+        marginRight: 8,
+        marginBottom: 4
+      },
+      // 示例:
+      // [{
+      //   id: 'icon_id',
+      //   position: 'left', // 类型有'left','middle','right'
+      //   marginLeft: 8,
+      //   marginTop: 6,
+      //   marginRight: 0,
+      //   marginBottom: 0,
+      //   paddingLeft: 1,
+      //   paddingTop: 1,
+      //   paddingRight: 1,
+      //   paddingBottom: 1,
+      //   icon: '\ue900',
+      //   fontFamily: 'iconfont',
+      //   size: 12,
+      //   color: '#76808F',
+      //   backgroundColor: 'rgba(33, 150, 243, 0.2)',
+      //   activeBackgroundColor: 'rgba(33, 150, 243, 0.4)'
+      // }]
+      icons: []
+    }
+  },
+  // 技术指标
+  indicator: {
+    ohlc: {
+      upColor: 'rgba(45, 192, 142, .7)',
+      downColor: 'rgba(249, 40, 85, .7)',
+      noChangeColor: '#888888'
+    },
+    bars: [{
+      // 'fill' | 'stroke' | 'stroke_fill'
+      style: 'fill',
+      // 'solid' | 'dashed'
+      borderStyle: 'solid',
+      borderSize: 1,
+      borderDashedValue: [2, 2],
+      upColor: 'rgba(45, 192, 142, .7)',
+      downColor: 'rgba(249, 40, 85, .7)',
+      noChangeColor: '#888888'
+    }],
+    lines: [
+      {
+        // 'solid' | 'dashed'
+        style: 'solid',
+        smooth: false,
+        size: 1,
+        dashedValue: [2, 2],
+        color: '#FF9600'
+      }, {
+        style: 'solid',
+        smooth: false,
+        size: 1,
+        dashedValue: [2, 2],
+        color: '#935EBD'
+      }, {
+        style: 'solid',
+        smooth: false,
+        size: 1,
+        dashedValue: [2, 2],
+        color: '#2196F3'
+      }, {
+        style: 'solid',
+        smooth: false,
+        size: 1,
+        dashedValue: [2, 2],
+        color: '#E11D74'
+      }, {
+        style: 'solid',
+        smooth: false,
+        size: 1,
+        dashedValue: [2, 2],
+        color: '#01C5C4'
+      }
+    ],
+    circles: [{
+      // 'fill' | 'stroke' | 'stroke_fill'
+      style: 'fill',
+      // 'solid' | 'dashed'
+      borderStyle: 'solid',
+      borderSize: 1,
+      borderDashedValue: [2, 2],
+      upColor: 'rgba(45, 192, 142, .7)',
+      downColor: 'rgba(249, 40, 85, .7)',
+      noChangeColor: '#888888'
+    }],
+    // 最新值标记
+    lastValueMark: {
+      show: false,
+      text: {
+        show: false,
+        // 'fill' | 'stroke' | 'stroke_fill'
+        style: 'fill',
+        color: '#FFFFFF',
+        size: 12,
+        family: 'Helvetica Neue',
+        weight: 'normal',
+        // 'solid' | 'dashed'
+        borderStyle: 'solid',
+        borderSize: 1,
+        borderDashedValue: [2, 2],
+        paddingLeft: 4,
+        paddingTop: 4,
+        paddingRight: 4,
+        paddingBottom: 4,
+        borderRadius: 2
+      }
+    },
+    // 提示
+    tooltip: {
+      offsetLeft: 4,
+      offsetTop: 6,
+      offsetRight: 4,
+      offsetBottom: 6,
+      // 'always' | 'follow_cross' | 'none'
+      showRule: 'always',
+      // 'standard' | 'rect'
+      showType: 'standard',
+      showName: true,
+      showParams: true,
+      defaultValue: 'n/a',
+      text: {
+        size: 12,
+        family: 'Helvetica Neue',
+        weight: 'normal',
+        color: '#D9D9D9',
+        marginTop: 4,
+        marginRight: 8,
+        marginBottom: 4,
+        marginLeft: 8
+      },
+      // 示例:
+      // [{
+      //   id: 'icon_id',
+      //   position: 'left', // 类型有'left','middle','right'
+      //   marginLeft: 8,
+      //   marginTop: 6,
+      //   marginRight: 0,
+      //   marginBottom: 0,
+      //   paddingLeft: 1,
+      //   paddingTop: 1,
+      //   paddingRight: 1,
+      //   paddingBottom: 1,
+      //   icon: '\ue900',
+      //   fontFamily: 'iconfont',
+      //   size: 12,
+      //   color: '#76808F',
+      //   backgroundColor: 'rgba(33, 150, 243, 0.2)',
+      //   activeBackgroundColor: 'rgba(33, 150, 243, 0.4)'
+      // }]
+      icons: []
+    }
+  },
+  // x轴
+  xAxis: {
+    show: true,
+    size: 'auto',
+    // x轴线
+    axisLine: {
+      show: true,
+      color: '#888888',
+      size: 1
+    },
+    // x轴分割文字
+    tickText: {
+      show: true,
+      color: '#D9D9D9',
+      family: 'Helvetica Neue',
+      weight: 'normal',
+      size: 12,
+      marginStart: 4,
+      marginEnd: 4
+    },
+    // x轴分割线
+    tickLine: {
+      show: true,
+      size: 1,
+      length: 3,
+      color: '#888888'
+    }
+  },
+  // y轴
+  yAxis: {
+    show: true,
+    size: 'auto',
+    // 'left' | 'right'
+    position: 'right',
+    // 'normal' | 'percentage' | 'log'
+    type: 'normal',
+    inside: false,
+    reverse: false,
+    // y轴线
+    axisLine: {
+      show: true,
+      color: '#888888',
+      size: 1
+    },
+    // x轴分割文字
+    tickText: {
+      show: true,
+      color: '#D9D9D9',
+      family: 'Helvetica Neue',
+      weight: 'normal',
+      size: 12,
+      marginStart: 4,
+      marginEnd: 4
+    },
+    // x轴分割线
+    tickLine: {
+      show: true,
+      size: 1,
+      length: 3,
+      color: '#888888'
+    }
+  },
+  // 图表之间的分割线
+  separator: {
+    size: 1,
+    color: '#888888',
+    fill: true,
+    activeBackgroundColor: 'rgba(230, 230, 230, .15)'
+  },
+  // 十字光标
+  crosshair: {
+    show: true,
+    // 十字光标水平线及文字
+    horizontal: {
+      show: true,
+      line: {
+        show: true,
+        // 'solid'|'dashed'
+        style: 'dashed',
+        dashedValue: [4, 2],
+        size: 1,
+        color: '#888888'
+      },
+      text: {
+        show: true,
+        // 'fill' | 'stroke' | 'stroke_fill'
+        style: 'fill',
+        color: '#FFFFFF',
+        size: 12,
+        family: 'Helvetica Neue',
+        weight: 'normal',
+        // 'solid' | 'dashed'
+        borderStyle: 'solid',
+        borderDashedValue: [2, 2],
+        borderSize: 1,
+        borderColor: '#686D76',
+        borderRadius: 2,
+        paddingLeft: 4,
+        paddingRight: 4,
+        paddingTop: 4,
+        paddingBottom: 4,
+        backgroundColor: '#686D76'
+      }
+    },
+    // 十字光标垂直线及文字
+    vertical: {
+      show: true,
+      line: {
+        show: true,
+        // 'solid'|'dashed'
+        style: 'dashed',
+        dashedValue: [4, 2],
+        size: 1,
+        color: '#888888'
+      },
+      text: {
+        show: true,
+        // 'fill' | 'stroke' | 'stroke_fill'
+        style: 'fill',
+        color: '#FFFFFF',
+        size: 12,
+        family: 'Helvetica Neue',
+        weight: 'normal',
+        // 'solid' | 'dashed'
+        borderStyle: 'solid',
+        borderDashedValue: [2, 2],
+        borderSize: 1,
+        borderColor: '#686D76',
+        borderRadius: 2,
+        paddingLeft: 4,
+        paddingRight: 4,
+        paddingTop: 4,
+        paddingBottom: 4,
+        backgroundColor: '#686D76'
+      }
+    }
+  },
+  // 覆盖物
+  overlay: {
+    point: {
+      color: '#1677FF',
+      borderColor: 'rgba(22, 119, 255, 0.35)',
+      borderSize: 1,
+      radius: 5,
+      activeColor: '#1677FF',
+      activeBorderColor: 'rgba(22, 119, 255, 0.35)',
+      activeBorderSize: 3,
+      activeRadius: 5
+    },
+    line: {
+      // 'solid' | 'dashed'
+      style: 'solid',
+      smooth: false,
+      color: '#1677FF',
+      size: 1,
+      dashedValue: [2, 2]
+    },
+    rect: {
+      // 'fill' | 'stroke' | 'stroke_fill'
+      style: 'fill',
+      color: 'rgba(22, 119, 255, 0.25)',
+      borderColor: '#1677FF',
+      borderSize: 1,
+      borderRadius: 0,
+      // 'solid' | 'dashed'
+      borderStyle: 'solid',
+      borderDashedValue: [2, 2]
+    },
+    polygon: {
+      // 'fill' | 'stroke' | 'stroke_fill'
+      style: 'fill',
+      color: '#1677FF',
+      borderColor: '#1677FF',
+      borderSize: 1,
+      // 'solid' | 'dashed'
+      borderStyle: 'solid',
+      borderDashedValue: [2, 2]
+    },
+    circle: {
+      // 'fill' | 'stroke' | 'stroke_fill'
+      style: 'fill',
+      color: 'rgba(22, 119, 255, 0.25)',
+      borderColor: '#1677FF',
+      borderSize: 1,
+      // 'solid' | 'dashed'
+      borderStyle: 'solid',
+      borderDashedValue: [2, 2]
+    },
+    arc: {
+      // 'solid' | 'dashed'
+      style: 'solid',
+      color: '#1677FF',
+      size: 1,
+      dashedValue: [2, 2]
+    },
+    text: {
+      // 'fill' | 'stroke' | 'stroke_fill'
+      style: 'fill',
+      color: '#FFFFFF',
+      size: 12,
+      family: 'Helvetica Neue',
+      weight: 'normal',
+      // 'solid' | 'dashed'
+      borderStyle: 'solid',
+      borderDashedValue: [2, 2],
+      borderSize: 0,
+      borderRadius: 2,
+      borderColor: '#1677FF',
+      paddingLeft: 0,
+      paddingRight: 0,
+      paddingTop: 0,
+      paddingBottom: 0,
+      backgroundColor: 'transparent'
+    },
+    rectText: {
+      // 'fill' | 'stroke' | 'stroke_fill'
+      style: 'fill',
+      color: '#FFFFFF',
+      size: 12,
+      family: 'Helvetica Neue',
+      weight: 'normal',
+      // 'solid' | 'dashed'
+      borderStyle: 'solid',
+      borderDashedValue: [2, 2],
+      borderSize: 1,
+      borderRadius: 2,
+      borderColor: '#1677FF',
+      paddingLeft: 4,
+      paddingRight: 4,
+      paddingTop: 4,
+      paddingBottom: 4,
+      backgroundColor: '#1677FF'
+    }
+  }
+}
+ + + + \ No newline at end of file diff --git a/guide/v8-to-v9.html b/guide/v8-to-v9.html new file mode 100644 index 0000000..5c72183 --- /dev/null +++ b/guide/v8-to-v9.html @@ -0,0 +1,26 @@ + + + + + + 🛠️ 从 V8 到 V9 | KLineChart + + + + + + + + + + + + + + + +
Skip to content

🛠️ 从 V8 到 V9

本文档将帮助你从 klinecharts 8.x 版本升级到 klinecharts 9.x 版本,如果你是 7.x 或者更老的版本,请先参考之前的升级文档升级到 8.x。

引入调整

不再区分klinecharts/index.blankklinecharts/index.simple,请统一使用import { ... } from 'klinecharts'

设计调整

shapeannotationtag合并成overlay,详情请查阅覆盖物

样式配置调整

  • 所有线的样式选项dash,更改为dasheddashValue更改为dashedValue
  • candle.tooltip.labelscandle.tooltip.values,合并为candle.tooltip.custom
  • xAxis.height变更为xAxis.sizexAxis.tickText.paddingTop变更为xAxis.tickText.marginStartxAxis.tickText.paddingBottom变更为xAxis.tickText.marginEnd
  • yAxis.height变更为yAxis.sizeyAxis.tickText.paddingTop变更为yAxis.tickText.marginStartyAxis.tickText.paddingBottom变更为yAxis.tickText.marginEnd
  • technicalIndicator.bar变更为indicator.barstechnicalIndicator.line变更为indicator.linestechnicalIndicator.circle变更为indicator.circles
  • 删除shapeannotationtag,请用overlay代替。

API调整

图表API

  • extension.addTechnicalIndicatorTemplate(template)变更为registerIndicator(template)
  • 删除extension.addShapeTemplate(template),请用registerOverlay(template)代替。

实例API

  • getDom({ paneId, position })变更为getDom(paneId, position),参数position选项变更为rootmainyAxis
  • getWidth()getHeight()合并成一个方法getSize(paneId, position)
  • setStyleOptions(styles)变更为setStyles(styles)
  • getStyleOptions()变更为getStyles()
  • setOffsetRightSpace(space)变更为setOffsetRightDistance(distance)
  • createTechnicalIndicator(value, isStack, paneOptions)变更为createIndicator(value, isStack, paneOptions)
  • overrideTechnicalIndicator(override, paneId)变更为overrideIndicator(override, paneId)
  • getTechnicalIndicatorByPaneId(paneId, name)变更为getIndicatorByPaneId(paneId, name)
  • removeTechnicalIndicator(paneId, name)变更为removeIndicator(paneId, name)
  • subscribeAction(type, callback)unsubscribeAction(type, callback),参数type选项变更为onZoomonScrollonCrosshairChangeonVisibleRangeChangeonPaneDrag
  • convertToPixel(value, finder)convertFromPixel(coordinate, finder),参数finder.absoluteYAxis变更为finder.absolute
  • 删除createShape(value, paneId)createAnnotation(annotation, paneId)createTag(tag, paneId),请用createOverlay(value, paneId)代替。
  • 删除removeShape(id)removeAnnotation(paneId, points)removeTag(paneId, tagId),请用removeOverlay(id)代替。
  • 删除setShapeOptions(options),请用overrideOverlay(override)代替。
  • 删除createHtml(html, paneId)removeHtml(paneId, htmlId),请通过getDom(paneId, position)获取到对应的dom后操作。
  • 删除getTechnicalIndicatorByPaneId(paneId, name)

图形辅助API

  • 所有的API都迁移至klinecharts.utils

自定义技术指标调整

  • 属性plots变更为figures,子项方法colorisStrokeisDashed合并成styles
  • 方法regeneratePlots(params)变更为regenerateFigures(params)
  • 方法calcTechnicalIndicator(kLineDataList, options)变更为calc(kLineDataList, indicator)
  • 方法createTooltipDataSource({ dataSource, viewport, crosshair, technicalIndicator, xAxis,yAxis, defaultStyles })变更为createTooltipDataSource({ kLineDataList, indicator, visibleRange, bounding, crosshair, defaultStyles, xAxis, yAxis }),返回值由[{ title: 'xxx', value: 'xxx', color: 'xxx' }, ...]变更为{ name: 'xxx', calcParamsText: 'xxx', values: [{ title: 'xxx', value: 'xxx', color: 'xxx' }, ...] }
  • 方法render({ ctx, dataSource, viewport, styles,xAxis, yAxis })变更为draw({ ctx, kLineDataList, indicator, visibleRange, bounding, barSpace, defaultStyles, xAxis, yAxis })
  • 删除属性shouldCheckParamCount
+ + + + \ No newline at end of file diff --git a/hashmap.json b/hashmap.json new file mode 100644 index 0000000..463744d --- /dev/null +++ b/hashmap.json @@ -0,0 +1 @@ +{"customize.md":"7QgzgixA","en-us_customize.md":"CeeQpRWl","en-us_guide_changelog.md":"Dxcvdcef","en-us_guide_chart-api.md":"BkDZq4IT","en-us_guide_custom-axis.md":"BGiVLvU-","en-us_guide_data-source.md":"Csc1OS-q","en-us_guide_environment.md":"DJIzP9Pa","en-us_guide_figure.md":"ot49wrDt","en-us_guide_hot-key.md":"XstEzyUM","en-us_guide_i18n.md":"Bbw6zY8t","en-us_guide_indicator.md":"Dawr8_Vq","en-us_guide_instance-api.md":"BjbPhLfD","en-us_guide_introduction.md":"CsfoCQo0","en-us_guide_overlay.md":"fHTVoVvf","en-us_guide_quick-start.md":"DjE452b9","en-us_guide_styles.md":"IMTByYQY","en-us_guide_v8-to-v9.md":"ddEqE0Vn","en-us_index.md":"CdmPl99x","en-us_more_faq.md":"DQiAekkc","en-us_more_feedback.md":"CL4Qb9kJ","en-us_more_local-development.md":"BR-TqRbK","en-us_sample_axis.md":"45GltXMK","en-us_sample_basic.md":"DHIM9tgv","en-us_sample_candle-type.md":"pcvHIi0v","en-us_sample_data.md":"q_cJvvki","en-us_sample_i18n.md":"DRCsxcNb","en-us_sample_indicator.md":"CoOSTif6","en-us_sample_overlay.md":"rL__HVok","en-us_sample_theme.md":"Ci6f1PhO","en-us_sample_timezone.md":"eq1R28dC","en-us_sample_tooltip.md":"3hv073Yw","en-us_sponsor.md":"B7kPf9Ed","guide_changelog.md":"Dr9EvcMG","guide_chart-api.md":"BO0EApnm","guide_custom-axis.md":"CclwillF","guide_data-source.md":"BBHuBdZH","guide_environment.md":"BVezHuOo","guide_figure.md":"YALxk5fQ","guide_hot-key.md":"BCqBjXEe","guide_i18n.md":"BaWkQ9Ke","guide_indicator.md":"Bx8Xb2xL","guide_instance-api.md":"CzSDI5iq","guide_introduction.md":"CeKWbWWZ","guide_overlay.md":"DcZru8Cd","guide_quick-start.md":"CY5OW8NL","guide_styles.md":"BMit2YwO","guide_v8-to-v9.md":"Djsg7IqF","index.md":"DvoAa-an","more_faq.md":"jD8drqKw","more_feedback.md":"0APC3uzY","more_local-development.md":"CbDSmSMM","sample_axis.md":"DL4QJR4z","sample_basic.md":"9glQKJaK","sample_candle-type.md":"DSMOj8ZC","sample_data.md":"B-kDfmvb","sample_i18n.md":"1BTTNsoj","sample_indicator.md":"ChL3VIyk","sample_overlay.md":"rtXhvoMF","sample_theme.md":"B-qLFv3p","sample_timezone.md":"DYu_qbRI","sample_tooltip.md":"BP4CrYBq","sponsor.md":"SLwybD6_"} diff --git a/images/alipay_qr_code.png b/images/alipay_qr_code.png new file mode 100644 index 0000000000000000000000000000000000000000..db2c91320e73f36e5f7d1dde39f5825b743b9c6a GIT binary patch literal 79346 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%0AYv(#W}(=b)bvfTfpGIoN-~9Y5zEeGcw!%J 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 literal 0 HcmV?d00001 diff --git a/images/box.png b/images/box.png new file mode 100644 index 0000000000000000000000000000000000000000..4b14e01e96e0e42d33ec6ecc8f1f43dd747ad032 GIT binary patch literal 2973 zcmZ8jc{o&UA3n$ovWJXyct4CKg(7+}gDi!{64@f_*k9Y5wX&7$gey2C0$K zF0w>;BZDGl>@}S4nf&ox*EiQQ=lq`Eb3gZe|99~;1P)U z0)_{n>=qcnFutpb1RC55v17>?KN>s?9l(*{#}ES7sp7xEWz++YL9#CY9tnlvSqN@{ z0Fo&IJb;*~wF=_w-zs1VR+((S0U*z=M*=WrpicrxpvVOH(m@7X;Wh}AcB>TzqFF8Q zzHO!xu&b5X1mJC-3alRZ%>dXGf0wW1M~6Q$)RoZk)KUjmPV*#Q6^2GX5KgKn4%<+sDPNU(Y! zb@esBj4Rb5W^$jF32R|G^v_!owjR8epTTML1n@8qM!*`zcMUKj47-3CP#vg|xvK>d zcbMcif6ZaoBW&|AqiHYo;a))Tj-1!hAMW2|+^8t~aUQc5z;I**!y<7*_wt&G|Ehxb z4=IK@`rXjGzq|`}Y*RM1!sy3>Xxt{x5V$UINUl^fF6C|?K0nHJn&OnPWqNfz zzIN9rZe1gUhKpHK@>|yQ{dggL%j){3O0zfXBPn*6@oVwp(BOxG zH$CL`<^o5o{!!KS%8^(ILf$qr!r4ZSFOPfK3Rwv~q50QyV3au8#xU;gm;d*hDw4!f z5C^RqJ3IAGYQ%^<`&6o>5o|Zm+`||8=LyX+l0^Z zA8Tj(^8c~%p=jdk(K^+S&SxL?u@lKtj;9Ks)_KoRhg*C-8bXGuFP36S!WXO{<@^J#~vt|n$<_XSgd#+MIfdyS};eoWm98>#9G56 z#;K$|N`(n>>-f+OT8`eEmwoaH1{H@hUM_p?ovr)SqC45m72^E9N(0**#oc>ctXR-o zovlDBnMv&s$J~u$aZ24 zc_P&CNI50;RQ{5t^JVKG_~9!+tIxw{taNo~`YxQ^BlAro_m-+3Pv;9?@l?u6%8I zkr6VP_K^}aX*-SLR{YwSov5v=cc8Mg_`LCwgLk^!#T_kWWIe0qU|>g#tyM0Ah_`sg z>!utuT%J3K*=6{ctp5d-gg6!T5v*f%Fgb?>B=ZlTj_Y^OsVK#0zh(Y>iSi;t$9V6O zp~BQxn4S9bSaXXjF5ky*d%Z~TF0w05EnvyHg>=_JI}Ba(`hn$6 zMHBi`sc$NyjuK=w9tRS-M6ZeL>~4=Zv9Ji&*!jSKakuQRa9iw;y< z=n8mWLVT#MkZ$g*Mo6ABp&k`qpV9EZt+1Hz9nz1QNu^;~eFr3Wh^EFfGs(Z^`G*qI z6BOPk8=vPdIht;|SG@U0s}-7M+7Rcv_qplPz_NzD z8p5P*T0pSTN(wp6%~QdbtEbSzpV!Y~m*?)m(Is?6+n|SN`h~-ZY9N7cA&Lh}>sIka zqa`lYojLiE*YsQT>T91%Noa~dfqmLZbnTPQFAojQBVD@Us1mtV@BBlso;b$ENF~l( zZHhgk`) zw4hD=%Tu%pSsYvSfiHz;E-~njD#xEZ3##R-Gx6cp^TUBytv=!@8Poe!7umSF#) z>+O1zuz4xBmzhSx^GLr%Ql?shtxJ*tA-ppS=vd z?!6ju0w1U-kT-*L$(PNZmPO0) zkPnp;jU%!#OQ=OWd$L)g=v9)~_50c>u{9JcLC=j`-56N2w}Mkv`T;%-$C4zLil&s2 z({j;gZ!dk)s22N)UM!17&EhBX5N4{M!hDik>HeH_BTh;gSC^Mu3JKdFgOtP0-A%or zB>E4#+7)+;Yn9hjQ^IRx>yhlvav$*ra&F?RH_m(2y(515?o8m0^iTE~?8}-j->473#|C6}+R~`Oz%AjwWK6S9 literal 0 HcmV?d00001 diff --git a/images/expand.png b/images/expand.png new file mode 100644 index 0000000000000000000000000000000000000000..9b02c24285231074ac8d361e2055bff6edc51678 GIT binary patch literal 1429 zcmV;G1#0? zyf5{FZH}I|GqZ#yf5~=F!j7J^}I0kyD#*-FZH}H^}H|kyfF2>F!{eS z|G_fF!{eT_r5ds!Zh~0FZ8=F@n|Iv z0000pbW%=J0NG1K0|%Jl1XAeI8Qt_Xrq1zXpOyLe~o zU4w;Kl2RnV;U{UtU~orTGniM9)=t2*kUFoS=Y_A-d4y?Q@B9Y;G=A597*@M7>b{b* z>R!&=4a{1Rl%bWeo&H${EtNO&2WB}kC`C^yrzez?cTdWNeGq_XZ&&=4%rr|T9Z^XEUzFWjg# zNn8?)dk=3GK5NA<%>Ki7NvF{eeh5E=AHomehwwxAA^Z^j30j<ce0<4Xa3Q$$p>| z&8C;gcXpy{W?WaP)-oZmc%1B^6F3u+a93KpkIf~CiNkKJcl^2)+b_*W;xkZ@K${O5 zeSz`G7`tpul6hZ)7CoRER-yqF34G*$&m4~RrH>mo38I%~b1p$$?LcKKNn24@zND<1QFr1C_l(BWo!J`ru(}ZJ^_#RE&~FIQ7wo)P z<(bt?;9M29L}5uhByE8s6ByHcHv%8vvDlGYN|pOrLo39xUKkR1RIOPs%;QaNjAm3b z+4uqfVagL3DW&Dkq#rS}5|vASR8os?hp#%GC;`?m@)BGbG4Cg+H|?dXwRh5A4hSphZDSPisc0^Mt|Uy52M z>K_LM@^oaox~g73(*b)=Cx*GiQuW6;NZ@r$_27Nd1NY3=h~}uJIop^-=Ei2v&_(m+ z@TYd`v)73z*7sX|2cR(kl(t>IW-zku$I6~JJjEY!)k+*YT9Ux-OATJWIZh&1%@3sx zVU|5usxc$Q0f{kB?6-(K!+gKc>P>sMx1nOHR|GlqVXlN!N~Q2a0>oMm6Xyc~Lcg{u zraIm)e`twx=f%`#PdMdSSWUw0?aX>+ j9T{P@m>5%s4LtY \ No newline at end of file diff --git a/images/logo_hero.svg b/images/logo_hero.svg new file mode 100644 index 0000000..f3fe907 --- /dev/null +++ b/images/logo_hero.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/module.png b/images/module.png new file mode 100644 index 0000000000000000000000000000000000000000..d428179f281fcbab9a4646f3b7e006f419a1170e GIT binary patch literal 34208 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 literal 0 HcmV?d00001 diff --git a/images/qq_group_qr_code.png b/images/qq_group_qr_code.png new file mode 100644 index 0000000000000000000000000000000000000000..97f4e1c62125a089e4920400cff7fce8e1fcde80 GIT binary patch literal 95941 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

pQZ0L|d;{QdUYJPiHs3Eru%JICIQ!J% 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 literal 0 HcmV?d00001 diff --git a/images/rocket.png b/images/rocket.png new file mode 100644 index 0000000000000000000000000000000000000000..8fe85a3f7738884cd2c3a6473918f3d02ca798a9 GIT binary patch literal 2892 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 U8eb5Az6We3*WiZr`pz-`149)kQvd(} literal 0 HcmV?d00001 diff --git a/images/sponsors/Northstar.png b/images/sponsors/Northstar.png new file mode 100644 index 0000000000000000000000000000000000000000..bd975cb2011b45e2f010c7fa0c07953c6dfc03b4 GIT binary patch literal 48661 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%0D`$y(Y$~pPo)Gbp!WeLfTaW>)Gs{zNq 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 literal 0 HcmV?d00001 diff --git a/images/sponsors/flameOnYou.jpg b/images/sponsors/flameOnYou.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5e545d5808ca5bde33aa3a2d7954f42750b039c6 GIT binary patch literal 75794 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

6ZVF>R?Tg}!B&mBL$pglVWbQgF|Y( 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%0AvJ$Ib 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 BL|gy> literal 0 HcmV?d00001 diff --git a/images/wechat.jpeg b/images/wechat.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..118bfbb81a8e5e1d6c0f476a6cbf82c5d522b2c1 GIT binary patch literal 76224 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%0DYHLH42!i7^NBbX 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 G+y4(vrYY+H literal 0 HcmV?d00001 diff --git a/images/wechat_pay_qr_code.png b/images/wechat_pay_qr_code.png new file mode 100644 index 0000000000000000000000000000000000000000..9511639d625e5f32e3133fd0176911c0ff363913 GIT binary patch literal 83620 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 LAis$){=W$TWos!? literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..048e775 --- /dev/null +++ b/index.html @@ -0,0 +1,26 @@ + + + + + + 可高度自定义的专业级轻量金融图表 | KLineChart + + + + + + + + + + + + + + + +

Skip to content

KLineChart

可高度自定义的专业级轻量金融图表

简单易用,轻量流畅,适用场景丰富的 Web 前端金融图表。

KLineChart
+ + + + \ No newline at end of file diff --git a/more/faq.html b/more/faq.html new file mode 100644 index 0000000..0a25d39 --- /dev/null +++ b/more/faq.html @@ -0,0 +1,30 @@ + + + + + + 🙋 常见问题 | KLineChart + + + + + + + + + + + + + + + +
Skip to content

🙋 常见问题

初始化图表后,只能看到一条线,是怎么回事?

图表总是会填充容器,检查一下容器是否有高度。

蜡烛柱显示趋近于一条线,看不到波动,怎么办?

图表默认价格精度为两位小数,调用setPriceVolumePrecision(pricePrecision, volumePrecision)设置下精度。

分时图怎么创建?

通过样式设置。

javascript
chart.setStyles({
+  candle: {
+    type: 'area',
+  },
+});

内置的技术指标,计算出来的数据不是想要的,怎么办?

可以通过图表方法createIndicator或者overrideIndicator重写calc即可。

想创建一个内置技术指标之外的指标,怎么办?

图表支持自定义技术指标,详情参阅技术指标

想标记一下买卖点,该怎么做?

可以使用覆盖物,内置的覆盖物有一个simpleAnnotation,用图表api创建即可createOverlay({ name: 'simpleAnnotation', ... }, paneId)

+ + + + \ No newline at end of file diff --git a/more/feedback.html b/more/feedback.html new file mode 100644 index 0000000..e145638 --- /dev/null +++ b/more/feedback.html @@ -0,0 +1,27 @@ + + + + + + 💬 反馈和共建 | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

💬 反馈和共建

Github

Telegram

https://t.me/+098syuQtzI0yNzll

微信讨论群

扫一扫,添加开发者,备注『 KLineChart 』,加入群聊。

+ + + + \ No newline at end of file diff --git a/more/local-development.html b/more/local-development.html new file mode 100644 index 0000000..a4f5ccb --- /dev/null +++ b/more/local-development.html @@ -0,0 +1,28 @@ + + + + + + 本地开发 | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

本地开发

摘要

如果你看到此处,你可能会对改进 KLineChart 核心感兴趣。感谢 @fish2016 编写的此文档。

须知

文件目录说明

  • dist
    //  存放编译生成的文件
  • docs
    //  文档目录
  • scripts
    //  构建的脚本目录
  • src
    //  源码目录
    • common
      //  存放公共的基础的一些文件
      • utils
        //  工具类文件夹
    • component
      //  组件文件夹
    • extension
      //  可扩展的一些模块文件夹
      • figure
        //  基础图形文件夹
      • i18n
        //  国际化文件夹
      • indicator
        //  指标文件夹
      • overlay
        //  覆盖物文件夹
      • styles
        //  样式文件夹
      • x-axis
        //  x轴文件夹
      • y-axis
        //  y轴文件夹
    • pane
      //  窗口文件夹
    • store
      //  数据存储文件夹
    • view
      //  绘制模块文件夹
    • widget
      //  绘制模块集合文件夹
  • tests
    //  测试模块文件夹

模块依赖关系

上图是按照下层作为上层的容器,从上到下列出图表模块层级。

  • Figure 基本图形,如圆(circle),多边形(polygon),矩形(rect),文本(text)等。
  • ViewChartStore 中获取数据,进行单一业务绘制,如k线柱,面积图,网格线,十字光标线,指标等等。
  • Widget 创建canvas,将相关的 View 进行组装到一起。
  • Pane 创建dom容器,将Widget组装到一起。
  • Chart 对Pane进行管理,例如删除和添加操作,形成最终的图表。此外,还进行事件分发,对ChartStore里面的数据进行操作,根据需要通知下级组件进行更新。

开发

安装依赖

项目采用依赖 Node.js 的包管理器管理,所以需要 Node.js 环境。 你可以使用 npm,pnpm 或者 yarn 来安装依赖。

bash
# 项目根目录下执行
+npm install

NPM 执行命令说明

  • lint:运行 npm run lint 检验代码规则。
  • clean:运行 npm run clean 进行清理打包好的文件。
  • build-esm:运行 npm run build-esm 打包成 esm 模块。
  • build-cjs:运行 npm run build-cjs 打包成 commonjs 模块。
  • build-umd:dev:运行 npm run build-umd:dev 打包成 umd 开发环境模块。
  • build-umd:prod:运行 npm run build-umd:dev 打包成 umd 生产环境模块。
  • build-umd:运行 npm run build-umd 同时打包 umd 开发环境和生产环境模块。
  • build-core:运行 npm run build-core 同时打包 esm 模块,commonjs 模块,umd 开发环境和生产环境模块。
  • build-dts:运行 npm run build-dts 生成 typescript 依赖文件。
  • build:运行 npm run build 同时打包 esm 模块,commonjs 模块,umd 开发环境和生产环境模块并生成 typescript 依赖文件。

调试

此项目没有调试项目,需要创建新的工程,用 npm link 引入,或者直接引入 index.ts 入口文件的方式进行调试。你可以使用 vite 进行项目创建。

+ + + + \ No newline at end of file diff --git a/sample/axis.html b/sample/axis.html new file mode 100644 index 0000000..583be08 --- /dev/null +++ b/sample/axis.html @@ -0,0 +1,155 @@ + + + + + + 坐标轴 | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

坐标轴

在新窗口中打开
js
import { init } from 'klinecharts'
+import './index.css'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+const chart = init('k-line-chart')
+chart.applyNewData(genData())
+
+function setPosition (position) {
+  chart.setStyles({
+    yAxis: {
+      position
+    }
+  })
+}
+
+function setInside (inside) {
+  chart.setStyles({
+    yAxis: {
+      inside
+    }
+  })
+}
+
+function setType (type) {
+  chart.setStyles({
+    yAxis: {
+      type
+    }
+  })
+}
+
+function setReverse (reverse) {
+  chart.setStyles({
+    yAxis: {
+      reverse
+    }
+  })
+}
+
+// 以下仅仅是为了协助代码演示,在实际项目中根据情况进行调整。
+// The following is only for the purpose of assisting in code demonstration, and adjustments will be made according to the actual situation in the project.
+const container = document.getElementById('container')
+const buttonContainer = document.createElement('div')
+buttonContainer.className = 'button-container'
+
+const positions = [
+  { key: 'right', text: '右侧-Right' },
+  { key: 'left', text: '左侧-Left' }
+]
+const insideOutside = [
+  { key: false, text: '外部-Outside' },
+  { key: true, text: '内部-Inside' }
+]
+const types = [
+  { key: 'normal', text: '线性轴-Liner Axis' },
+  { key: 'percentage', text: '百分比轴-Percentage axis' },
+  { key: 'log', text: '对数轴-Logarithm axis' },
+]
+const reverse = [
+  { key: false, text: '正向-Regularity' },
+  { key: true, text: '反向-Reverse' }
+]
+positions.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setPosition(key) })
+  buttonContainer.appendChild(button)
+})
+insideOutside.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setInside(key) })
+  buttonContainer.appendChild(button)
+})
+types.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setType(key) })
+  buttonContainer.appendChild(button)
+})
+reverse.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setReverse(key) })
+  buttonContainer.appendChild(button)
+})
+container.appendChild(buttonContainer)
html
<div id="container">
+  <div id="k-line-chart" style="height:430px">
+</div>
css
.button-container {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 8px;
+  margin-top: 10px;
+  padding: 10px 22px;
+}
+
+.button-container button {
+  padding: 2px 6px;
+  background-color: #1677FF;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  outline: none;
+  border: none;
+}
+ + + + \ No newline at end of file diff --git a/sample/basic.html b/sample/basic.html new file mode 100644 index 0000000..5b8d7d9 --- /dev/null +++ b/sample/basic.html @@ -0,0 +1,54 @@ + + + + + + 基础展示 | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

基础展示

在新窗口中打开
js
import { init } from 'klinecharts'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+const chart = init('k-line-chart')
+chart.applyNewData(genData())
html
<div id="k-line-chart" style="height:430px"/>
+ + + + \ No newline at end of file diff --git a/sample/candle-type.html b/sample/candle-type.html new file mode 100644 index 0000000..430cd7c --- /dev/null +++ b/sample/candle-type.html @@ -0,0 +1,101 @@ + + + + + + 蜡烛类型 | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

蜡烛类型

在新窗口中打开
js
import { init } from 'klinecharts'
+import './index.css'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+const chart = init('k-line-chart')
+chart.applyNewData(genData())
+
+function setType (type) {
+  chart.setStyles({
+    candle: { type }
+  })
+}
+
+// 以下仅仅是为了协助代码演示,在实际项目中根据情况进行调整。
+// The following is only for the purpose of assisting in code demonstration, and adjustments will be made according to the actual situation in the project.
+const container = document.getElementById('container')
+const buttonContainer = document.createElement('div')
+buttonContainer.className = 'button-container'
+const items = [
+  { key: 'candle_solid', text: '全实心-All solid' },
+  { key: 'candle_stroke', text: '全空心-All stroke' },
+  { key: 'candle_up_stroke', text: '涨空心-Up stroke' },
+  { key: 'candle_down_stroke', text: '跌空心-Down stroke' },
+  { key: 'ohlc', text: 'OHLC' },
+  { key: 'area', text: '面积图-Area' }
+]
+items.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setType(key) })
+  buttonContainer.appendChild(button)
+})
+container.appendChild(buttonContainer)
html
<div id="container">
+  <div id="k-line-chart" style="height:430px">
+</div>
css
.button-container {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 8px;
+  margin-top: 10px;
+  padding: 10px 22px;
+}
+
+.button-container button {
+  padding: 2px 6px;
+  background-color: #1677FF;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  outline: none;
+  border: none;
+}
+ + + + \ No newline at end of file diff --git a/sample/data.html b/sample/data.html new file mode 100644 index 0000000..b9639d4 --- /dev/null +++ b/sample/data.html @@ -0,0 +1,75 @@ + + + + + + 数据加载 | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

数据加载

在新窗口中打开
js
import { init } from 'klinecharts'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+const chart = init('k-line-chart')
+chart.applyNewData(genData())
+chart.loadMore((timestamp) => {
+  loadMoreTimer = setTimeout(() => {
+    chart.applyMoreData(genData(timestamp), true)
+  }, 2000)
+})
+chart.applyNewData(genData(), true)
+updateData()
+
+function updateData () {
+  setTimeout(() => {
+    const dataList = chart.getDataList()
+    const lastData = dataList[dataList.length - 1]
+    const newData = { ...lastData }
+    newData.close += (Math.random() * 20 - 10)
+    newData.high = Math.max(newData.high, newData.close)
+    newData.low = Math.min(newData.low, newData.close)
+    newData.volume += Math.round(Math.random() * 10)
+    chart.updateData(newData)
+    updateData()
+  }, 600)
+}
html
<div id="k-line-chart" style="height:430px"/>
+ + + + \ No newline at end of file diff --git a/sample/i18n.html b/sample/i18n.html new file mode 100644 index 0000000..9dfb162 --- /dev/null +++ b/sample/i18n.html @@ -0,0 +1,105 @@ + + + + + + 多语言 | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

多语言

在新窗口中打开
js
import { init, registerLocale } from 'klinecharts'
+import './index.css'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+registerLocale('zh-HK', {
+  time: '時間:',
+  open: '開:',
+  high: '高:',
+  low: '低:',
+  close: '收:',
+  volume: '成交量:'
+})
+
+const chart = init('k-line-chart')
+chart.applyNewData(genData())
+
+function setLang (lang) {
+  chart.setLocale(lang)
+}
+
+// 以下仅仅是为了协助代码演示,在实际项目中根据情况进行调整。
+// The following is only for the purpose of assisting in code demonstration, and adjustments will be made according to the actual situation in the project.
+const container = document.getElementById('container')
+const buttonContainer = document.createElement('div')
+buttonContainer.className = 'button-container'
+const items = [
+  { key: 'zh-CN', text: '简体中文' },
+  { key: 'zh-HK', text: '繁体中文' },
+  { key: 'en-US', text: 'English' }
+]
+items.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setLang(key) })
+  buttonContainer.appendChild(button)
+})
+container.appendChild(buttonContainer)
html
<div id="container">
+  <div id="k-line-chart" style="height:430px">
+</div>
css
.button-container {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 8px;
+  margin-top: 10px;
+  padding: 10px 22px;
+}
+
+.button-container button {
+  padding: 2px 6px;
+  background-color: #1677FF;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  outline: none;
+  border: none;
+}
+ + + + \ No newline at end of file diff --git a/sample/indicator.html b/sample/indicator.html new file mode 100644 index 0000000..659885d --- /dev/null +++ b/sample/indicator.html @@ -0,0 +1,152 @@ + + + + + + 技术指标 | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

技术指标

在新窗口中打开
js
import { init, registerIndicator } from 'klinecharts'
+import './index.css'
+
+const fruits = [
+  '🍏', '🍎', '🍐', '🍊', '🍋', '🍌',
+  '🍉', '🍇', '🍓', '🍈', '🍒', '🍑',
+  '🍍', '🥥', '🥝', '🥭', '🥑', '🍏'
+]
+
+registerIndicator({
+  name: 'Custom',
+  figures: [
+    { key: 'emoji' }
+  ],
+  calc: (kLineDataList) => {
+    return kLineDataList.map(kLineData => ({ emoji: kLineData.close, text: fruits[Math.floor(Math.random() * 17)] }))
+  },
+  draw: ({
+    ctx,
+    barSpace,
+    visibleRange,
+    indicator,
+    xAxis,
+    yAxis
+  }) => {
+    const { from, to } = visibleRange
+
+    ctx.font = barSpace.gapBar + 'px' + ' Helvetica Neue'
+    ctx.textAlign = 'center'
+    const result = indicator.result
+    for (let i = from; i < to; i++) {
+      const data = result[i]
+      const x = xAxis.convertToPixel(i)
+      const y = yAxis.convertToPixel(data.emoji)
+      ctx.fillText(data.text, x, y)
+    }
+    return false
+  }
+})
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+const chart = init('k-line-chart')
+chart.applyNewData(genData())
+
+function setMainIndicator(name) {
+  chart.createIndicator(name, true, { id: 'candle_pane' })
+}
+
+function setSubIndicator(name) {
+  chart.createIndicator(name)
+}
+
+
+// 以下仅仅是为了协助代码演示,在实际项目中根据情况进行调整。
+// The following is only for the purpose of assisting in code demonstration, and adjustments will be made according to the actual situation in the project.
+const container = document.getElementById('container')
+const buttonContainer = document.createElement('div')
+buttonContainer.className = 'button-container'
+
+const mainIndicators = ['MA', 'BOLL', 'Custom']
+const subIndicators = ['VOL', 'MACD', 'Custom']
+
+const mainTitle = document.createElement('span')
+mainTitle.innerText = '主图指标-Main indicator: '
+buttonContainer.appendChild(mainTitle)
+mainIndicators.forEach((name) => {
+  const button = document.createElement('button')
+  button.innerText = name
+  button.addEventListener('click', () => { setMainIndicator(name) })
+  buttonContainer.appendChild(button)
+})
+
+const subTitle = document.createElement('span')
+subTitle.style.paddingLeft = '16px'
+subTitle.innerText = '副图指标-Sub indicator: '
+buttonContainer.appendChild(subTitle)
+subIndicators.forEach((name) => {
+  const button = document.createElement('button')
+  button.innerText = name
+  button.addEventListener('click', () => { setSubIndicator(name) })
+  buttonContainer.appendChild(button)
+})
+
+container.appendChild(buttonContainer)
html
<div id="container">
+  <div id="k-line-chart" style="height:430px">
+</div>
css
.button-container {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 8px;
+  margin-top: 10px;
+  padding: 10px 22px;
+}
+
+.button-container button {
+  padding: 2px 6px;
+  background-color: #1677FF;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  outline: none;
+  border: none;
+}
+ + + + \ No newline at end of file diff --git a/sample/overlay.html b/sample/overlay.html new file mode 100644 index 0000000..9c71682 --- /dev/null +++ b/sample/overlay.html @@ -0,0 +1,122 @@ + + + + + + 覆盖物 | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

覆盖物

在新窗口中打开
js
import { init, registerOverlay } from 'klinecharts'
+import './index.css'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+registerOverlay({
+  name: 'circle',
+  needDefaultPointFigure: true,
+  needDefaultXAxisFigure: true,
+  needDefaultYAxisFigure: true,
+  totalStep: 3,
+  createPointFigures: ({ coordinates }) => {
+    if (coordinates.length === 2) {
+      const xDis = Math.abs(coordinates[0].x - coordinates[1].x)
+      const yDis = Math.abs(coordinates[0].y - coordinates[1].y)
+      const radius = Math.sqrt(xDis * xDis + yDis * yDis)
+      return {
+        key: 'circle',
+        type: 'circle',
+        attrs: {
+          ...coordinates[0],
+          r: radius
+        },
+        styles: {
+          style: 'stroke_fill'
+        }
+      }
+    }
+    return []
+  }
+})
+
+const chart = init('k-line-chart')
+chart.applyNewData(genData())
+
+function createOverlay (name) {
+  chart.createOverlay(name)
+}
+
+// 以下仅仅是为了协助代码演示,在实际项目中根据情况进行调整。
+// The following is only for the purpose of assisting in code demonstration, and adjustments will be made according to the actual situation in the project.
+const container = document.getElementById('container')
+const buttonContainer = document.createElement('div')
+buttonContainer.className = 'button-container'
+const items = [
+  { key: 'priceLine', text: '价格线(内置)-Price line(built-in)' },
+  { key: 'circle', text: '圆(自定义)-Circle(custom)' }
+]
+items.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { createOverlay(key) })
+  buttonContainer.appendChild(button)
+})
+container.appendChild(buttonContainer)
html
<div id="container">
+  <div id="k-line-chart" style="height:430px">
+</div>
css
.button-container {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 8px;
+  margin-top: 10px;
+  padding: 10px 22px;
+}
+
+.button-container button {
+  padding: 2px 6px;
+  background-color: #1677FF;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  outline: none;
+  border: none;
+}
+ + + + \ No newline at end of file diff --git a/sample/theme.html b/sample/theme.html new file mode 100644 index 0000000..db03bba --- /dev/null +++ b/sample/theme.html @@ -0,0 +1,195 @@ + + + + + + 主题 | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

主题

在新窗口中打开
js
import { init, registerStyles } from 'klinecharts'
+import './index.css'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+const red = '#F92855'
+const green = '#2DC08E'
+
+const alphaRed = 'rgba(249, 40, 85, .7)'
+const alphaGreen = 'rgba(45, 192, 142, .7)'
+
+registerStyles('green_rise_red_fall', {
+  candle: {
+    bar: {
+      upColor: green,
+      downColor: red,
+      upBorderColor: green,
+      downBorderColor: red,
+      upWickColor: green,
+      downWickColor: red
+    },
+    priceMark: {
+      last: {
+        upColor: green,
+        downColor: red
+      }
+    }
+  },
+  indicator: {
+    ohlc: {
+      upColor: alphaGreen,
+      downColor: alphaRed
+    },
+    bars: [{
+      style: 'fill',
+      borderStyle: 'solid',
+      borderSize: 1,
+      borderDashedValue: [2, 2],
+      upColor: alphaGreen,
+      downColor: alphaRed,
+      noChangeColor: '#888888'
+    }],
+    circles: [{
+      style: 'fill',
+      borderStyle: 'solid',
+      borderSize: 1,
+      borderDashedValue: [2, 2],
+      upColor: alphaGreen,
+      downColor: alphaRed,
+      noChangeColor: '#888888'
+    }]
+  }
+})
+
+registerStyles('red_rise_green_fall', {
+  candle: {
+    bar: {
+      upColor: red,
+      downColor: green,
+      upBorderColor: red,
+      downBorderColor: green,
+      upWickColor: red,
+      downWickColor: green,
+    },
+    priceMark: {
+      last: {
+        upColor: red,
+        downColor: green,
+      }
+    }
+  },
+  indicator: {
+    ohlc: {
+      upColor: alphaRed,
+      downColor: alphaGreen
+    },
+    bars: [{
+      style: 'fill',
+      borderStyle: 'solid',
+      borderSize: 1,
+      borderDashedValue: [2, 2],
+      upColor: alphaRed,
+      downColor: alphaGreen,
+      noChangeColor: '#888888'
+    }],
+    circles: [{
+      style: 'fill',
+      borderStyle: 'solid',
+      borderSize: 1,
+      borderDashedValue: [2, 2],
+      upColor: alphaRed,
+      downColor: alphaGreen,
+      noChangeColor: '#888888'
+    }]
+  }
+})
+
+const chart = init('k-line-chart')
+chart.createIndicator('VOL')
+chart.applyNewData(genData())
+
+function setTheme (theme) {
+  chart.setStyles(theme)
+  if (theme === 'light') {
+    document.getElementById('k-line-chart').style.backgroundColor = '#ffffff'
+  } else if (theme === 'dark') {
+    document.getElementById('k-line-chart').style.backgroundColor = '#1b1b1f'
+  }
+}
+
+// 以下仅仅是为了协助代码演示,在实际项目中根据情况进行调整。
+// The following is only for the purpose of assisting in code demonstration, and adjustments will be made according to the actual situation in the project.
+const container = document.getElementById('container')
+const buttonContainer = document.createElement('div')
+buttonContainer.className = 'button-container'
+const items = [
+  { key: 'light', text: '浅色-Light' },
+  { key: 'dark', text: '深色-Dark' },
+  { key: 'green_rise_red_fall', text: '绿涨红跌-Green rise and red fall' },
+  { key: 'red_rise_green_fall', text: '红涨绿跌-Red rise and green fall' }
+]
+items.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setTheme(key) })
+  buttonContainer.appendChild(button)
+})
+container.appendChild(buttonContainer)
html
<div id="container">
+  <div id="k-line-chart" style="height:430px">
+</div>
css
.button-container {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 8px;
+  margin-top: 10px;
+  padding: 10px 22px;
+}
+
+.button-container button {
+  padding: 2px 6px;
+  background-color: #1677FF;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  outline: none;
+  border: none;
+}
+ + + + \ No newline at end of file diff --git a/sample/timezone.html b/sample/timezone.html new file mode 100644 index 0000000..6b350fa --- /dev/null +++ b/sample/timezone.html @@ -0,0 +1,96 @@ + + + + + + 时区 | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

时区

在新窗口中打开
js
import { init } from 'klinecharts'
+import './index.css'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+const chart = init('k-line-chart')
+chart.applyNewData(genData())
+
+function setTimezone (timezone) {
+  chart.setTimezone(timezone)
+}
+
+// 以下仅仅是为了协助代码演示,在实际项目中根据情况进行调整。
+// The following is only for the purpose of assisting in code demonstration, and adjustments will be made according to the actual situation in the project.
+const container = document.getElementById('container')
+const buttonContainer = document.createElement('div')
+buttonContainer.className = 'button-container'
+const items = [
+  { key: 'Asia/Shanghai', text: '上海-Shanghai' },
+  { key: 'Europe/Berlin', text: '柏林-Berlin' },
+  { key: 'America/Chicago', text: '芝加哥-Chicago' }
+]
+items.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setTimezone(key) })
+  buttonContainer.appendChild(button)
+})
+container.appendChild(buttonContainer)
html
<div id="container">
+  <div id="k-line-chart" style="height:430px">
+</div>
css
.button-container {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 8px;
+  margin-top: 10px;
+  padding: 10px 22px;
+}
+
+.button-container button {
+  padding: 2px 6px;
+  background-color: #1677FF;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  outline: none;
+  border: none;
+}
+ + + + \ No newline at end of file diff --git a/sample/tooltip.html b/sample/tooltip.html new file mode 100644 index 0000000..71782a3 --- /dev/null +++ b/sample/tooltip.html @@ -0,0 +1,175 @@ + + + + + + 提示条 | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

提示条

在新窗口中打开
js
import { init } from 'klinecharts'
+import './index.css'
+
+function genData (timestamp = new Date().getTime(), length = 800) {
+  let basePrice = 5000
+  timestamp = Math.floor(timestamp / 1000 / 60) * 60 * 1000 - length * 60 * 1000
+  const dataList = []
+  for (let i = 0; i < length; i++) {
+    const prices = []
+    for (let j = 0; j < 4; j++) {
+      prices.push(basePrice + Math.random() * 60 - 30)
+    }
+    prices.sort()
+    const open = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const high = +(prices[3].toFixed(2))
+    const low = +(prices[0].toFixed(2))
+    const close = +(prices[Math.round(Math.random() * 3)].toFixed(2))
+    const volume = Math.round(Math.random() * 100) + 10
+    const turnover = (open + high + low + close) / 4 * volume
+    dataList.push({ timestamp, open, high,low, close, volume, turnover })
+
+    basePrice = close
+    timestamp += 60 * 1000
+  }
+  return dataList
+}
+
+const chart = init('k-line-chart')
+chart.createIndicator('MA', false, { id: 'candle_pane' })
+chart.createIndicator('VOL')
+chart.applyNewData(genData())
+
+function setCandleTooltipShowRule (showRule) {
+  chart.setStyles({
+    candle: {
+      tooltip: {
+        showRule
+      }
+    }
+  })
+}
+
+function setCandleTooltipShowType (showType) {
+  chart.setStyles({
+    candle: {
+      tooltip: {
+        showType
+      }
+    }
+  })
+}
+
+function setIndicatorTooltipShowRule (showRule) {
+  chart.setStyles({
+    indicator: {
+      tooltip: {
+        showRule
+      }
+    }
+  })
+}
+
+function setIndicatorTooltipShowType (showType) {
+  chart.setStyles({
+    indicator: {
+      tooltip: {
+        showType
+      }
+    }
+  })
+}
+
+// 以下仅仅是为了协助代码演示,在实际项目中根据情况进行调整。
+// The following is only for the purpose of assisting in code demonstration, and adjustments will be made according to the actual situation in the project.
+const container = document.getElementById('container')
+const rules = [
+  { key: 'always', text: '总是显示-Always display' },
+  { key: 'follow_cross', text: '跟随十字光标-Follow cross' },
+  { key: 'none', text: '不显示-Hide' }
+]
+const types = [
+  { key: 'standard', text: '默认-Standard' },
+  { key: 'rect', text: '矩形框-Rect' }
+]
+
+const baseButtonContainer = document.createElement('div')
+baseButtonContainer.className = 'button-container'
+const baseTitle = document.createElement('span')
+baseTitle.innerText = '基础信息提示-Base info tip: '
+baseButtonContainer.appendChild(baseTitle)
+
+rules.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setCandleTooltipShowRule(key) })
+  baseButtonContainer.appendChild(button)
+})
+
+types.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setCandleTooltipShowType(key) })
+  baseButtonContainer.appendChild(button)
+})
+container.appendChild(baseButtonContainer)
+
+const indicatorButtonContainer = document.createElement('div')
+indicatorButtonContainer.className = 'button-container'
+const indicatorTitle = document.createElement('span')
+indicatorTitle.innerText = '指标信息提示-Indicator info tip: '
+indicatorButtonContainer.appendChild(indicatorTitle)
+
+rules.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setIndicatorTooltipShowRule(key) })
+  indicatorButtonContainer.appendChild(button)
+})
+
+types.forEach(({ key, text }) => {
+  const button = document.createElement('button')
+  button.innerText = text
+  button.addEventListener('click', () => { setIndicatorTooltipShowType(key) })
+  indicatorButtonContainer.appendChild(button)
+})
+container.appendChild(indicatorButtonContainer)
html
<div id="container">
+  <div id="k-line-chart" style="height:430px">
+</div>
css
.button-container {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 8px;
+  margin-top: 10px;
+  padding: 10px 22px;
+}
+
+.button-container:last-child {
+  margin-top: 0;
+}
+
+.button-container button {
+  padding: 2px 6px;
+  background-color: #1677FF;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  outline: none;
+  border: none;
+}
+ + + + \ No newline at end of file diff --git a/sponsor.html b/sponsor.html new file mode 100644 index 0000000..340ddcc --- /dev/null +++ b/sponsor.html @@ -0,0 +1,27 @@ + + + + + + ❤️ 赞助 | KLineChart + + + + + + + + + + + + + + + + +
Skip to content

❤️ 赞助

KLineChart 是采用 Apache-2.0 许可的开源项目,使用完全免费。

如果你觉得插件还不错,希望你能在 GitHub 点一个 🌟。如果能够打赏一杯 ☕️,那就真的太感谢了。

对于赞助 KLineChart 的组织或个人,无论数额多少,如果需要将组织官网或者个人主页展示在 https://klinecharts.com 首页,请提供付款账号或地址,logo,主页链接等信息,发送邮件到 hu_li888@foxmail.com 。赞助额前三名,将使用超大logo展示。

赞助渠道

支付宝

微信支付

加密资产

  • BTC
bc1qnwzukszzk5xfk0zs3sr8etzgctgnrtqts43jzp3khe6gm7xazprsp4y6n3
  • ETH
0xd2c3911654db861e0a2e17415e11a209c1fc3594
  • USDT-ERC20
0xd2c3911654db861e0a2e17415e11a209c1fc3594
  • USDT-TRC20
THJpTQmFGaVm12KE1Jzc5mLXiApP6qXMCi
+ + + + \ No newline at end of file

8N03Eqz8 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�xf}6Hk1hYSmFnJK{LE3{8U~MVhj!O@+-O3vLCB2#gO|4ajVa@v s^H+zbH%+oNoQFNsf}dvBxRZ;e&pACGm{VbzNL%WvK9AGfgZVZ19}migOaK4? literal 0 HcmV?d00001 diff --git a/images/style.jpg b/images/style.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c1b3a2724316d5af6e81c0c27b16f6c29e0cb19e GIT binary patch literal 379304 zcmb@t2UHZ#wmv$Dh>D;fIf>*fk~1P11SAY$NFs3eb!fs@h$(tGa4eb$z>Ue%;Iio~SCSC<1VB005lZ z18}o=hh0TZ&g`wWrlQIlg})`-p#xrM9KKk$EX zzs>h_{IA>rfKi_RBK?1gdSGegYH=&He|y4QZVSIv*76pU+WZ}R{Dt5D9f$vgU39hO zZe@PlVs@Kb=6--gEo1P>k&KPDj|eoRdK zl$@60DJeA>F)`(HN@_Z~XV0EJrC?-cq-Un3e@6dTCOEf`;@`t3x__UDo|KrB{(l{A zngGQ2@kSph;Nma>?hxbP664&o0qFkf(0Dk1_3VEH+&gz~mBhLK;5OOz2>=Hd7YFYS z?vuxOckkok65;^v;NHa}zK2ip^!ZC!Ek<)^QZjyFZC#+Ai|faj*srC-_sJsqiJQn&_w&Ah<^9^u}WMvO}gkO5rr5PR&a zDTA9k8U0Tvc*k@>m;K@^&P8HO)jC-lLMMlVDsbzZV9^|!X%W6Ps`c{z zVejwLn|{n7G#ws+&^6GhA%u&LKyF>6(_iG(fcW{ihOc_={8OqDLGJmwPF5R7{{;-a zubwdLsv$W~O>oDSb5+HTA{b{zz&WYrG29z-nuM;{d5}0|qN&%BEZVleO~3T1lx36K zZT89c^HWz2h~ zTnxVq`J_`xyTn#|`djTKN=g$RoHJ%KTGS5ga&!)Jp`10lI)D1|YqDckwUEM;zHPs{ zU3R_kQuT zR!9G>p&OmO`$LIfBhq`U5`D<7ve218pXm( z5tm-XA!|$taHkJ;X$oc~x}X7Hmb~o9g3Qm2cyjj${HfOVxyucyI^`95PqVd<+n9KF zFYkUy_^I+;XT?6rJ5FNABV|m#VfIcu@bQa8khRpVR2IrIGa|nI_*V~O&fBA>pDgj0 zn%RC9D|wbokgEf2a%yJN6FIxF1Ps>e9bTkbRSun|3gMWzO7UK`d6Zs7WKpycSMV#k z!qiO=)cGAs-32*z+#=ffyvk+i7d~%Zd@EeMfQQS5LZZk^ZV+l@MElxiujAs2^|qzU zfcNEZPTzDpuArK3HP*Dx{cdCfgu!|uzDRs}iWi*L8$TPul3aKdKIBi-h^Ho=n0bcQ zq#O#Bw??Y7{rs?8!INVrj+LU5H35Gg#prdDFLb_INcI~_$g-iq^192KV>x0UA>NG9%Q8Zd!e?~yZgSU&$Us2q-t{@cFj%ZpRUxvVVKU!3kvb`x zS^L$@2I%4yHyyvy`+{LF)J$uC*@C)$^?H>yzQcu6X=#jKXvdB_8f#(yjq}n=v1%d5 z5Z86Nr+5lhX`COSj%QEC7g-Xr(Bz}?&LpF?zW}x@xR{|fgZrMBhiIwtZe(UbV|qzO zaTXcO?d_n3qDM>}`ENUWf;hd3tq8&nHZ@s&JY6V!1Exs?ICFWs$zEIzvWo20B9sDm z5~&!~4G*ThVAaKC2>WKcm74b%>|)^fO?V6)O%dH3eB8BM0nMJ{tuT^&-LHHZicJvJ zite8uq%ySLD5V&J+Ex>#7ffKqV+m%Ui=6AUry)NW7OJ<6?v0*ES=|fIssiQksq39O zNYFNka(q{GZe(18RS;%6b}}ax#PoIXIxN+=!?bsBwM-R%q>t2iZiiN6IjRT*yVKkN z8o)_aNlBNy=7e*)8-(hPm39wLjq|vYDJT6`J3Un!#xDcTbP738h~)Ta-3DpqqbeIG zx67wO;Y&XAP zS8NpsMdnnG{Nl<)55JWOw&dB*a$UuVTFA z=}E2kborg@dyo2Nw$Ci2^lI*~f9+#EkqHLMi8*OaT20vIMr;`!TF-VQKbyCvJ5^ z#wqYZH~DDHJ;Bt00(Gbx<^+_QroJ(r`1aJX-{8~=Njb=vE2948c8G8C8adS2rMy7y zoYI_l^9oMjep$x-&OGmSP=u(!=odr)@5PR4SPD5>|30d7iKrSJO2`ylzmHaDvK`ag zT&p?oja*PQ?5@rAkm%8?cdgqr(JX=#iNn!|OUQ>n!8Q*KCs7%+fWpA{ur%8gS)c5& zF={0()tqa{rpWf>vwQp@=L#W<%ekv@l8?(XA zOGz}yWlBe)cLjkEsqaJ~0#v(H>I~*va7(*VPeNigd8Lq$liAd&sW}tx0AXxkjd<3Fw6-pJ{OiQx zj!|mA5Eoi832NE*s32sOs)@F;)4l1n=r1-`8+nD0=fqF$g76M+0I*!_Nm)0UEc6kk zc`u4iGw1}bG2gC@&FR+2c%ZQc6VqE88`L)dx%Oxg={F_N35Zok{FtuL@yQc`VQDek zK%Xr3+lfCz3^&Ug(Ci3wbgVYoeIo5e{fqOxIgjh2htpj+37POze8oI#Y(VkDk2IB* zFo#>yLh^(nuap~8dO&HD&Ycb%A3wi3fx}FWXFKX_RLGmM2OyBnjw@<#7g$ZBNnoD$<91lIg#EixiAZFn2o5?y)W7#S;mM#>BcePZXq%UzEP()|M(&m`7u6jZ$Sgl#7mdA^j@dBg0UG=yFcn>m$Okte+u}8^`f9p z06mJra#K6mb(%hRee?Rqh{NHu$bY}Xl-}{u| z%a=QhtM2Lwd1&FHg3(Km#|B4UwJxyACe1yp@-$y{S;QiTRne&$vL{}tXts0w?XqhZ zzPYwP#ijIV!qV6Lja`BCZba^qOn_~9b$xG%OY(?7=?hPOwng-A5d@#ZFeZ;E~ zp9GyL2T~DEa~)ZILS5!1Keo@0E?#$ZDD-ffOlTSG=-lTO0f~b(`MOyMMfaNZF+kWD zsy{y~Rczryx{m`9`24lOQ^q#nrmvKWf$gTF;7eWHK$;v|hBM-LZxffwA?=4X*e;HZ z0YI!$FlsHAKc}fiVcF3>9P(>^waW5|=Myy4Q?nrJllr@Aoe?=w4Ook!)c{i(V~8=0 zHV>1g@zK?0P$u zh})gz+t-}(@O(g8`2dN(De=)ZcYHWB-Mq@lL1HBYXF^wdSocLEU8kZYX^-CYGuzM! zxnAc(wc9f&!7`#I$Z`yyoK6W@|>|+33NiS{-s)w6@-qCnGoEoY5%!R zU_bdq62z{6%WkExFyUxWAZ$5ijn`Q!+r=ePCfX-O`diH2bBR0Hm%C1indD4Nb`TP!O}yd77u?IXRZ1RFVzLz94GUr**>RbU-0IKoz zGKVie%R7%>JkPZ8>Nv`UBq*tSqy`6Mykc$cHSls=YM)v()9-adj$$87aG{NXCwy(D zEMLsa){>m}&Ar0uIYqylK(JAty_KRlmyIey*)ecx=y3+6`E}`Q|Rv}XADMH)QhQT z`IUrnh(Z^81p@CKP<0APWn9?S?h#n^Ad1R|?`IJ)^#+l%uF5fqD)cQCr-lD{ z{Qc-}<7Hj&n}n~4E(V4EsV+&I9TA1scNp1rYnfek$bM8$MYK%?L1mI~-NR{R8zXABkZN<4B=VcGnMjJS$og&(@Ro7Tm)CBO{I^X%VG^Rn(Jau8I?Ph0P<)kmicV5{1MD2$6`TEbY`x8W|^XFNgR%d&=w zG-L3l0jE{ugXvvvC>-~9`Wv_C{$^rQ5@KS2ygbhBWGnybZxD}InR&LUgNV%TOSp}9 z@XNr#Smb|{_!r@S3-RRnA5be(Hn$+P9)zRzJMMWNzS8^8`u^9o_}5r3M*1%gpGPZ? z%)cCbh?ZyNpYGrjm@fRgrvJ9^e^ljP1OUgnattv^{ghO|)X*<)tP;Y_t9Spm8W9kj zt)6+O9~Z7(5-;nC?Dg-S$!+NOA2W6NpZv1{|E1KwLx_aVaiIG(-Q4Ri%e2YslG(<@ zE=Zvpa7tyG=NJmfO(hw>!%+Kq(KqL))!_uXK?0|Y(QnEXr6zf1Px0;!35ENecR%-s zZDBZtJ#%&|pz3*$!VC+B;(S;%c^wJJRJn^zj4b|`a!MuJc83d^2CjrC$om+%F@=Zc zI`{JLCfBL4WN(;{)>>9$cYd_XZ|bn!r#B?T-(ay%w9znOhevqU>&kZwj{z8+JeYqI zbP0|P*Ba$vUIeAOtEjg=o}*%e5v6!P{Kj=gKs(!NMAxe`>+sE2$SjXw73Tb9Y0mx? zeX6lJ)aZHTL|Mg!V-Z?k3u{*=`aUHny?Wr)`O5>Y9Po@`)(KflrMk}OG&@&X8;rlv z-MJ01n-<{YY+cmwnkm22DCds8)k?j@5RcgmG>2H zh~TPa&CEDTrnZNUD4uT#5T#qH7tczx@ZayWQ3%IE=`*UpOLDn#9_12neTv}dfqB*9 z32P%l#T$UW@X(1poCfZ*TG_>1@Ezv;*=9sqhD%S8ND9t|=P zW>8Rj!3$CtypZ%|&2*FK4u3Gk5+#0HMo;(CaSLu|%nrU$*$qI_A+i_Z3}u(udp384 za~_A9r146UE?Y_CtS^(W748xDdI%M=3r=L93C0k~p-!|R>H@xgndxI*A3ixe>0nC5 zuO;+2{LOaCavc5sba10ld8s6^@u1YcCQW+|`AtsEag@ycz8ua|#SvMlUIMvXH{r}N zlzzR=T~gRF6`xMW^>)?ipXLMJ*mP7;h$5TnG^7~OC}hl2HkC8SGvCGMB%v2lcmt?N zk=dpD&EiIuX-6jlE5e#&T-<#lsN3fh-#$+qtt20&&yv)$GA47q0KQ%2-vBNgOcZQK z!L^wc^+cJ(0t2Ty`@Lr!u2o7J^{QWXo+r^4RO@4R8o-rPELHt=_zz!xjXVh+rAFKU zTx-e@jcub^9~0 zd42j~iQwH(>R0X?Kzirz=LS&KezOn5C*)K1P+z&(PN8Ba+a@Qr1VdjgC8>K!m0G$e zVOx$#nkF&8$AF)WEgGZD)xqQS;$X)S{E-^3;nR<~yx$_!-WR8bLI7;~ z!t!n-UDYMR+XO5T1dSY{i_CQ?9*ey1+~ffu`am*p8E$V^lNzXPD>7_qjsdzI?3YTy`RdIlk8fH5ta7-| z-?dT>jYmB(==vU?!PwNr?UyrqWm2_!a>Sk1q9>~(XrD;Y&LsE!6j4P#^p={u*R17V5Y2J2fXhNCY>r+MNZ^EUg%wlq03Jg`f#49@T&IyIoLTC=yp%V-Q<@RxgsbjUDh+%gzkQ16Gm=9@gGw zIg79GeKc}BK3>ShEI)69!wkp%t>XMrgSYERp39IbNS)2%Qm@;y(zu`)W?%3jk+x&+ zh>%K362eqkWu)STK?qY&D`&TYG-XFGkbzd>ek-{g) zVue_LROu?v7#b{Yy3iAOmrqCPSE*^0Z)}m(w5nc0>{;1o56|u_x~O&+u|~nu-5xdC z+Xta(<*Hj5B4!7|gbTg;hWpq*RMwOXEA1C2UeE23ua$GDWZzDbrzO%qU~fnt2Rh04 z*oby&6dZxQ9LnEf=Y_Fp0^=iU?Vr|gI;)COk`%dK3rgh<*>!<8w%k~Zg-&hlsI5Yi zodzE47)cLvlZm%#OeR_SXuYPNlyxl)CO>RxpW{h-J*IbFrq{0_wrj4d#^PEH3d1pzxuT-1FZOO{Ti`Rkb{Zi8@Waf z=>XBm*^&CYhn?IkCj_+Rwq5~iel>>Aq!2k%sy#8SM{-VQwUzTmWG`+29-QHqeHN?O z+^o^WOl`XYiGjS(hnyfrIzmCs+3u|yKwaSuG{=!iXVeZU)Z%9UW}){{WK&Fo8Ka3E zxmO>2qFxy6Bz}>3QJgH!>*z3gnf4a)P~tQ<;2}HvD?XjJ>+RYbfbSMK0-Lncqu3zo zv#{Vn)HOHPbndnC{=^^-Y{YPUQFt`b&vrgt-)OnhkmO$SUBh|5us0_KQ$c8^|6ydP zS)b6UUqLWxX2152WW006asSR`aUpQifz-`K;4>+4t;fqML*Wt^@o>MEro~O#%NHVz zoLp?Tm7^&Z_xzUD_5SvP&) zsn|caaOZJ+!`(5qO~E4z&d9Ck=w=Q@#@2}~G~6HXLY75}C@DPBq;$RIKHidhj)%Ui z_!_ru)-UO6vf47L)iBGtr@k%2*{e9wZ$BBCUz96R#-HAtTkElVyYEu5PABAs(%&?M zytkk-V}RY2q>Umdaew<`7|UNl$Kq8s%VcTlkT75lY5gf4*xMQO)o%M!xM|d|Fm-*> z#gd`w^AMY-vqd}w${yiMRa&?pWOh6!+6xxP=qo$c11DG@|TpEemh3l zRF)oV{>WqXjGB|uFl0>-5|NWp*wh;+_w)2?-+4f4?G8g@#xS)PG%j&%SftFnb%Drnx;ie#veQT_|%@oRG?{;-y*}&C%nTc?zMaZ-{;PkUeiBsrnHQ;kyAR z(t%^PE@aUvYKo)3O%S+C#OJ8KJLa+rWoj!F5c~Y=c3D8Sb=-)A(JZ?iPUS?7YCR%r z^CLVI@p#M*D()6s8Pyn>o^%a~smaLnle)DuuDe zD^pXho9GR+Q#W_4-&FPTdg$#PxERc~Md9OsJpZal2zH#~PsYPI=m* zvaPH-B3yyT zH%UHi{%E4V4E)*+U<+t`e470e@~~evdp@9ydOI=H)2w!Z-tsp%Q;V5QW@<-T{33d7 znHw=HQ@(NiM`lrX9Vy@iFU%kFic_GokC+anoQa`vj%-l)ibcjY+yJtyDvd1c@yW&8n@_0r{T*kp{x3A&&j%x7CVP<0Uz;%?}9NnvA# zf!C#F;c5J=pr$tE0r-hg|M zX`4QBWszA4N@Ps0Zj#3=4IQ)P+Q?q%Y47En@I)C5<{hJ)fc(g+yquV;OsP#1o}3qG zY}aPL_VZwmglcuor)5-2gDrkS@m;0)M!RWt_#ngCrN)R$=TV7H*wRW=2x#3qLNO+% zVXD|+p&@5(^?QiqS=962hUesyC>}f$pYhWxBomY1XBcp$$pt*9FK_oB7``*wRXJaE6xjYT&GrT zj{GzffnG!fJ0?1Lf>OKaF>A`y4vnR6Pkf%OW?N+%fxUNp#;Lu$*!Xo2`g4);3Cp!-|*k>YGH4 zb;5SPm@~#|4SVuEeyHymiPR$RB79V}@z|uHKTxd>_^GcgxUux_UK+jqbz*t>S^0~# zmD!45tOV@o+zp_Sx<@?mrS*YF;xGm7pdp80-EX-L2CG@_(_*i^ot-SN&Wrqp2{+S1 z45`p%2B#M_HJdY2Zpc;pzzyIR0rQRsOu~RV@Y5jQLsR-c=L0?|da7Lzp?X|M<~Vih zTay>V!aqmfJP+j%Luc~R$*kxYa7<;x+gW0#*MtLVl0usCo6Xmv!tj^$zk+9UvQMPk zM%83B4V8@DvvcFGYK!--bC>jM*wjolatg-86NW2l^qdxhMJyHPUi`Vzt$3}NVDhS$ zyr5Rk?g~#~9Fctynva}?;QaZZ-4DLlfvcy??TXv&2pL=6`IX8Cp4Jc}8fYvv^_)Wy z;Eh)qO_FT}XI~A6CU|yEMC1454AqbqBf7mp&n+w`92H1yc%q8MJqEWG$G)hk`~aVW z*+v99wK93XQDZBrcS`JyemSp$yq36rZ2xJw8Xs6dZ6=Bb@7p|&=|zYNdOce$+J+g) zkCJMX4ZYPe<}g^~So8To9>q3ZA>LT&aU5rAbHrSkanLv(6ts^PNI+=6T#IF&n26e+9h3Drw-<%fkYDs&$y?GhlpqxB@p$w!-q;K}+ z!1%@80J0rG!4k>i-4Lz0+<0NRT`j+6~FnaIJIW&u_oBn#vkd?i$G+31c9fYvVu+kV0km<eqHpSxTL@>CwR!c`?x*IX1q7dHtJzUP6@0*>0_T&zq6=R z*2%z~r9{&$GYgEM2*hk9ZdB+%1QxwC3j5d>@Zhe;gvSK+Q#CtK0i8-dZ_&^M1hG|+ z$7vn%TW-{|;mHgeLgoCG*uW~W%E&hs`>ieSS{Oa#MNhah=3>hsEKEhAApZa{ zH=C_^LI|1*-g)6O+0HtAoPq-3Bn6tt&%OcA&UE2MGc4uc;EUpOMe%l5CTzl1A}4IpPlf|(pFPE4IKQwe2;=gcS#!vg$nC0p*FmQIAfb_szoSR7u@0L zz7Oif^=XirZ%yV@Hth;mTezSnE>x`OzAn%brgN)ULaUOjPyC<2Rna25$h0K$*)pZvDv z65V5_1uiv#FJFH0-)>y5T$$whrfE$I`HFVl)54S8p4q-MMi!G)8bTcc5(V0RRJ>wy zcXn?613kapjzVr{+yHVQJl`Ej6s`HaX~lV5EwGA}>TiMlZWan|a!sNhaLVD{v=(5f z>WnoZm@g5LQj=*KUbsYj1%h)GAq$Q~%9ilE5jTKInNow!Tp^8o%rS+O4xSVl9nM_n{j~bJ z?UU<|s_)x~X?Hd{8$Ms;3tL=gZl=M>fr$?5!asLpTWr1)iah?{VdhdN$~)# zA#uSyix{OwCdrD2p8g`R%6;A;5(P+&XzAXr)G*-|a_{DS`7)v?k3_C!fBR$o%xIqW z%qO``h%fZ70v?Z7 z@I1?PK+O31)sD$`jOh8XG|zwSgTrB_Ak@qNVcx`?RY*XvmrI9)k7aUXn@fF*lHe#= z%&jLLBxOl$V)Fq@TxoHn)M*F5_a#}SeZZVqYXgXvyk}F*L`{=OJQ%T1ybO9AouAK5 zU8^+9m6po^E*9Rb+}qFo3j292RcKvGXSpTS11aZVD)y$eO%D&C+@`(bMeng0ij9DLvSr2pvIVcrr^xTWQiNzY%!}a0zJT2B}wA4eY|aWZ6y37 zH#1aSN(E21`3CUmc4r`9j(w5P_%0F@cBv=#Up ztmayPdzvS9KiKshYl4#s3?~6%Z6pY<&dCxWvXaH^h zEy4D$)YRWtx_@NE`P?1~UPul z7Rpj|5t#j3PPISQQvbgwL?8M^9%{`b=HNYMlaWE$WsJFYM4XV-l>FB(31KB51wiAd7_!y*3n`2w^m_}O3y%ZhwiTIjL|(~CZL z#2)=%{&&rFuU;ve1B{MW%z?`1crGqbcG3K>r2W(WGlRono{`c2ziLSNS4y;2<=xN4 zh&ovqLxsE8Vg{sfI`)J(|1W*YY5fkt)}eya&%^AtS|E=vkv9nwaDFZxxyixo?3#b} zo4&eb#-2Qsi>{cfje}G#J{% z_puFzb1j4|g7A zOa$*cnjc4iKNR2cnU9}4wU*#|vrH+^i_I?(aKtVMQ$ z>G@nVR1~;o1R7a|=oB$AK{VIY>$!rRJ^L3qer?{yahKXVZr*%coKrN9JtA_`I*txr zq;TuiOwG(9#vDKO0(BT7g(Hu!K5_+D-txaVP#uWMUmH$_YEK|(QHp^~09 ziQPS1`{f_=-w?^SJ>39Oe@WnbIb#=_a;O4QwrHkwkQleJyNvBMF)1wi#tG*e9j@-s zHVF`zme4JPK2Lhh$j_sypMe>>#3U(6-V?0z08Nm^HmF_>!6Pwa;voJf z{zcG;L_^d^3#g01iDE|0EIPhNctlPjf8%*9w8LNG^Vf&2f-%YPMDZHCE_qCOr=ZPM zAN+Md*^Yf?d?`?0r^h?xVLd(cd4YQ+V4vl_-co2 zw-%@?I%AP=)uIxnc29gs>f$^`;oiU&%_I}C`=~Ot$k|mtIU09re8tD>89O0+6r#jjN5#D@PhC3JfwbE!QhuR85k*FQ*%;vhY@+ogN8o+j zd4rv-b{2JwxZyuw*B?p2EFRL~M6b>-c{Ak{)Z`TC=(vg7??PuF)YAZRVHGf&+Dnk5 z&J>#NSt1Wfg_7W+@?3YHG+$=fW+7S%H{=7DTVR$qkgWB60_v@SC-}D zi(9QtrhuaXwZU{^xwA7%Un2K9rz^UPkBce@3T-|OIXEVSRhvVoQ3iq?gX%e@al60q zi9`bxEx*#eIy?daXCGeDg<@^()Rx?U5NePoG1VZ`aZ$MrMgc2=57k$%$u8~KXw!i2 zQ5`(#yYNQrc2^yj4!$vDGR6IfAA<*RuO(|xPga8-Nxo*!JHz5Cu?bao9pnkW1hVM) zXDpJuQ5X*J{y2DKfI`Bax(i@~&lJp2H4SS5&uv9<$LJSk^{Q>K)~O|hRy1=$f@QUE zCT=UF^Y$umwrWHZQwfnj1inPYX^R~;t;Vtpygc?BD}>f$OzNvU{2b!vaOg;{V{N;4 ztiCECPLy1y`u^(>jqMB)6f2HY(KpZYA02zu%SgiscKf9s`p=sM}&M@k8w{DqL*JIqJgjBT-E z;Z2cGLA$@>$$HW;ar|QrpYMM+U0B5BTrsedQ9FA)ob`vKu#k<~CH7bNM!PClswkry z2A#!VH}xz$Vm^Ds>3dJZt2xZ`!xQYxs+wjK46eUl>U^H5-Ow|V|Gi^*&C;m4s!0WW z$7BLaj0#hFO$l2L zv#_~=S!1Gy&@~o#YT+qOir_%9u)!G}ZU<=JE3(}veEKbQ2f}?V5wpICAx)H?p+jf( zGZ60Yi;2`GPJz#p?>U#Y&CvYXGbs{g8CMZSZKvs_OcMdU9)2BW9>Z=8>Abx#3~1_~ z9a##Bs+^s#*2Of-oh#`yx-B0|E39Ue@gLDJ`C6$<7$tv6@!#W|5QeJua3L2XMa24o z-#3|H{GHHS?+aVWG!Tw0d%1pLo4?G|9;+I7Vg}CRQScaF#^_c0&s2I~!^U1@+yND|)Q3TTOy7P$#6%UP%%n2Qn>4uZ`1_KL?dQEEjvM2Q38bMN2#Q2qGks;Y_ zp1_sZ3pI~f->2ABzJ-P9L5j!6%p$g5`rp<0({X>@z9`!zpFXE-oVoCTA^dii{OVD7z_#~w)wiL7d zBFSk{>19@M>a4jn&zYzLETW)NDz-y|$n%MJ=(sRcs!ZbUcKk5^52;yO5(~E8)ON@6 z#P5+AwWA}?PW5H{_{529GFl1a?0R4+Dy#)&ugB|PyVk&c!6oX@2e|}bue4mPI*jsq zeqXMWLwHryAubxC4M~!FV9Q^NkGEsaJs58WDSbJD&Y<0MaP2guDjnY5OUiR{8l0Ll+7msPWXI zvM;mNA(4eIaC5{?fU2L^@Wj1%cXBc9&4P&{A>rwn!Q)@2;@^zaaQdE+3pH8p(c&?= z)`-+BC61rud=1kMcHRYIN=t)sM44O7R_F>riDB_s+o2=s8@#BF%uEd5xVZmbqTw42 znHjeBMZLtYhFI8fM8FDDgj$EuBc2yMa!HJ%&rA@`!XLM}%;aMRY4DVpKd-^d#tT zeo8@Maf3x?l7Pv>ua1W85JMwZLwta6MOyeT~-<;jaJ0kZO0j z)4uaBZ`p&Qz_oepZYeEG=sR9ENq^%lOP(X5f-&JQb=0lJC+S@zh6riw8>P~rMs_)6J>qkK`4c{i=EDo7M>K^&=Me%*` zR~8}6kAGEizO#VE+U-v5Rw7hm#|l--)zCbmJ%1jP*vQt`SQFFDML0NN62E8UWpN`O zP}5EXV#s=C@}b)!_CNfhkiKETl$+5*)ZR0r^)M6CDG02c07@cuEGg4WA;Cr^8P$S5 z5Mv$_6a-_n)Yw=b{4#j3+ieh$ z>JM)(JQV2ruwXb-YQWB0!&{SKz(l57dSL$j@q;W^$=~K)oZo#OamhVq7hKLfFtd-H zbgb@+FqY5nDTp1K4Ri4B3$7T$Bx*!H+zNMa6CBx3v{-cwaJ?c2O*%)eDdD-{Ch&0g z6G57{xx%*WzRgx>Wzm7wls6!mk@`>jX9+$JmDh?P^M(^su>4zG5oDSR&?A{#ncWoy z<0!mO17Wv5LSiP4T5$M6ksKWxXfR`B+kV#eL_r9iUo?s-t-=gjl12PGvJRu#)0b??5JL@KCyiQVbeQZk)m(odjoi*3o_Kc z{ZUJi+H`hz2u0`VK6)vqsFH<;yU9kHEc^$*shd8$wh?Xk)d|IgexT5!j_tbWMdxdX-h+Ej&QUFxm-}9ujjfE#`lZUvG!|s~W$$LjRg* zNr=+x#gs|;gYp{n)phlCN5kq(LT9`3DRy3+&_H$Lrt>g!mS0Sgoi;2%`BV4eB0l!J z+0tcW25=lsu>}O}WvMma`R%~ppHcA)GE#^(R`5Ve6cchH0*0ZCs%v}}Uk`|N%8KEJ)sKIeS@t!u7#*88q!J#nw+S?gYzE|G=ru;|EqY07XFiiQVYTiR$R z=xSQ|kUdusv1fwwD1J26CV+~)ox;k4sdiD7H+Qz_{6G?SO)ab=(BabI0u?Iq({EZ0 z$HqasbIi($?rDonPdL_u+);GkyJ_(ys1(F(=S$Y-X=6SUE4bt{$^m+VXB!{+>d5 zuKQws%TvDiSL@h#Zji8by&jK;qw2!Eo0(wy;VQIB!e;&Rk^_gowc zsU#;G7hQ*nr89>$HjhfQ@d-4DiaoH!0Q7q5zFbdB|HhKDNhAcXz*gK?m5{|;tR9J> zQ!Y`3)razzRNVAHC=>dpRSS^ zE#4l3ey$gcF@5(l6=I6LxAXGnfO^UHWIA@dkcl^`EKT zpG33baplaW7Y^MLW&dhlH%H^-O7)A7FOle>&!z51`?i})IiZOgvj|E;d439{B`MTr z?Ca%GADQt(q%mkEH0nkoYaF+E<-w%243l#I097Cg+TXk$XHP42pQ-no9reuHV}+3n zp?8io=}mLeyHAW z-KCT4{`rd$df^V@M``g~xZT{&!q0fW8=waWM(MFERto2QxE^Fze>GR)K(#s*qx9aaJU~^be%Kolv=~tIRi>qQz7stBo6arM0%4@}U+@ zq&Q;hp>Ki;uLM}n!YtqC6%lwvO|R%O61wm)S^YqAeha~Oi=kBs^2768IsfkIk)fx4 z@US86#0a5`6AcAY6MMZZPdFaBK+N6C)B=k+J130UADlut%6$C#;LYYPp5NB8#qZc9 z_%??^n0BeM;mW_{BA!yve)_3N&Zg8HET{sIpT_mzv7`}O~@1+w|%?0_N))^ zciV*EPInOTgs5B}9KQW)pM-wz*g}CMM>bslw?3o033x5R&Q?kQbigE0*lP!7Uq2cy zn>cvgjP}Ba;s7-0&Z=(uE{u}R7Dxy>y~&cB(ZRdXc0}O2P`DK>CSY0$uG#Q6QuiU0 z)zmKo(VnsUhY^Dmtz>w6T2UZiZzos!p<7~d4Nql(C=BSSq{_$_bJ3j^K&5!)zN9kT z*eGkS(UU$?6a4|MrxcXWthkZ2Yv)tJbn${VQ^RvJF~E=U-AIdEd7r7>j%Y&w-M_lg z{pajo?LarWPfs_?W`3T9D(I6Sg%ReSdJn$Y{QL`k_@!4qtAG532nCX`S! zF=LGl*s2)or@LG^joCl@?qzE=*PV}S{M1c=P6VvafC2w0mZJ3Q7F~j6)uTM+z)z(F z5l`L-`%NFb#o)%j0Cx56Ke8()Ny5}AtAb~O!N;X$uE*s+kEtkZYvB2X2 zY;7xOU5xgy93Jpuc3~Vh9Pv!vx;|%o`uz{%h>J z=|4gIISj(GOStl`r=`o>`LZ66L*}38-7R7aApDK_J3UbP)kbf=S&Y>M2MDRz(ed5C z*l4ym%0oi&H#cjZJGn*+>y8ZyJBPrF0(*1W^#BZp^rwFCx$&}rq zq9y`H6U9S(3o^4mz!}|32F#cBO`kZuH+_x(zRERP67W^mgEEi@kCA^32!}TdKPajb zQZ`V&#AL{|5j1{35Lw8<_URX>mG`N$bsd9b@#Rm1QTO)w1B z2>{**X8V8jM{WK;mHB62$Ua>G;(=IiCIx6L?lk1^xzWN3>{rbQ$qD$0&Ry@vNBuKG zhWH7EV(d_407&bn9DrFQ@qhCbIAh~3O~)4f3(^8K;}=K^AWq|dh~Y*veoDgB`3>-; ze*m-}fzm@O8ZwY9482Jf0`t}I&qN>qw9M-d0dyCpO8bTlitn_lN}R{}jfq6=STMRH zGc0B80wAR8r$b7| zdIWMm)U3EMzVy$~hrlEv0U&?dB?WMt39|QZeEu&EspBWarz4E-6q~vc2OxztD{da` zHb9ks$%|Tp0hs<3ZbGUEh?KJhMC<`I$c zA7&4sW_sBG>PIwE%>F=@M@hSAGMx=y0|4? zKJsw#r1%F?>oq{FwW;e(by_>iSfQO`uh+NE3Y*1NXvAyDg*=!jhMv~Bk~7-yIF@*^ zdr?E?PhG`yU1E2wYR0DM*S?z<7|vn~Wfzx}+A;2!yWJImU3t0-eR(S z!#mIx{vKrE)$+Eaw5iQ0(qqx_Uf z_Za`o$z9Cuua}J|tyQC1v|j+iB;b@+jDnq^aiUj9N)@SPA=sj2Al>KbX_-By3#qVR z_%^z!-B&xME8QY)hv#|rxkpOp$p;h+>Lerw2#V6($8FT`8-n9-{ns_ z64U2Jj=0rMKgoA8^hwoWE$A2H9EDzaS}ORDCYshLVwUGbAKrZ@>m1Ik>js?VDCyox zzl>8B37V0>@KNyc+vh#f3Z=_o;