Graflume · Alpha
Technical indicator · Extreme-environment application
Compute 45 technical indicators from OHLCV data, while also rendering supplied indicator columns through the same portable financial contract. Combine container size, input method, display capability, and user preference instead of guessing a device name. Compare mobile, watch, e-paper, monochrome, dot-matrix, and standards-based extreme environments on the same chart.
Chart family · Specialized families
Technical indicator
Compute 45 technical indicators from OHLCV data, while also rendering supplied indicator columns through the same portable financial contract.
- Quick API
technicalIndicator()- Browser snapshot
graflume/complete- mark
indicator- Presets
- 45
- OHLCV computation
- 45 computed · 0 precomputed-only
Extreme environments
Reconfigure for display, input, and device capability
Combine container size, input method, display capability, and user preference instead of guessing a device name. Compare mobile, watch, e-paper, monochrome, dot-matrix, and standards-based extreme environments on the same chart.
Fluid responsive
Reflow axes, legends, descriptions, and controls from the available container size.
960×540 · adaptive.profiles=responsive-fluidzoom-reflowshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial
Mobile
Prioritize 44px touch targets, tap tooltips, and collapsed secondary information on a narrow portrait screen.
390×844 · adaptive.profiles=mobile-touchzoom-reflowcoarse-touchvirtual-keyboardshape-rectangledisplay-colorinput-coarsemotion-fullrenderer-canvas-spatial
Smartwatch
Keep essential marks, values, and stepped controls on a tiny or round screen, with the remaining detail reflowed below.
184×224 · adaptive.profiles=smartwatchzoom-reflowreduced-effectscoarse-touchlow-resourcecutout-roundshape-rounddisplay-colorinput-coarsemotion-reducedrenderer-canvas-spatialviewport-tiny
E-book and e-paper
Prefer stable frames, strong contrast, and the data table for low-refresh e-paper displays.
758×1024 · adaptive.profiles=ebook-paperprint-pagedreduced-effectslow-resourceshape-pageddisplay-e-inkinput-keyboardmotion-staticrenderer-canvas-spatial
Monochrome
Use strokes, markers, patterns, labels, and the table so color is never the only distinction.
640×400 · adaptive.profiles=monochromereduced-effectsshape-rectangledisplay-monochromeinput-finemotion-reducedrenderer-canvas-spatial
Dot-matrix display
Reduce decoration and mark density while using strong strokes, integer labels, and stepped zoom on a low-resolution display.
320×240 · adaptive.profiles=dot-matrixzoom-reflowreduced-effectskeyboard-switchlow-resourceshape-rectangledisplay-gridinput-keyboardmotion-staticrenderer-canvas-spatialviewport-tiny
400% zoom and reflow
Reflow prose to one dimension at the 320 CSS px equivalent while retaining chart-local zoom and pan.
320×480 · adaptive.profiles=zoom-reflowzoom-reflowshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial
Foldable dual screen
Keep the chart and explanation in independent viewport segments without crossing the hinge.
720×640 · adaptive.profiles=foldable-dualfoldable-dualshape-dualdisplay-colorinput-finemotion-fullrenderer-canvas-spatial
TV and remote
Provide strong focus indication and D-pad, Enter, and Escape operation on a hoverless distance display.
1920×1080 · adaptive.profiles=tv-remotetv-remoteshape-rectangledisplay-colorinput-remotemotion-fullrenderer-canvas-spatial
Print and paged media
Pair a static chart with its description and table, hide controls, and avoid page breaks through the figure.
794×1123 · adaptive.profiles=print-pagedprint-pagedshape-pageddisplay-colorinput-finemotion-staticrenderer-canvas-spatial
Forced colors
Honor system colors and borders while retaining patterns, markers, and text as redundant cues.
640×400 · adaptive.profiles=forced-colorsforced-colorsshape-rectangledisplay-high-contrastinput-finemotion-fullrenderer-canvas-spatial
Reduced effects
Complete transitions immediately and use opaque surfaces and deferred work to reduce motion and transparency load.
640×400 · adaptive.profiles=reduced-effectsreduced-effectsshape-rectangledisplay-colorinput-finemotion-reducedrenderer-canvas-spatial
Coarse touch
Inspect values by tap without hover, keep targets at least 44px, and expose explicit zoom buttons.
390×844 · adaptive.profiles=coarse-touchcoarse-touchshape-rectangledisplay-colorinput-coarsemotion-fullrenderer-canvas-spatial
Keyboard and switch input
Reach every operation with Tab, arrows, Enter, Space, and Escape, with no drag-only action.
640×400 · adaptive.profiles=keyboard-switchkeyboard-switchshape-rectangledisplay-colorinput-keyboardmotion-fullrenderer-canvas-spatial
Low resource and slow network
Prefer progressive rendering, sampling, cancellable work, and a static fallback under constrained memory or connectivity.
640×400 · adaptive.profiles=low-resourcelow-resourceshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial
RTL document
Follow RTL logical flow for prose and tabs while keeping axes, code, and data identifiers in technical LTR order.
640×400 · adaptive.profiles=rtlrtlshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial
Vertical writing
Reflow vertical prose while keeping the chart and technical surfaces in an independent horizontal panel.
640×400 · adaptive.profiles=vertical-writingvertical-writingshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial
Ultrawide and projection
Cap chart width instead of stretching indefinitely, using panelization and readable labels on ultrawide or projected surfaces.
1920×720 · adaptive.profiles=ultrawide-projectionultrawide-projectionshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial
Screen reader and braille
Provide short and long descriptions, a semantic table, and status so Canvas or color is never the sole information path.
640×400 · adaptive.profiles=screenreader-braillescreenreader-brailleshape-nonvisualdisplay-colorinput-nonvisualmotion-fullrenderer-canvas-spatial
No scripting
A verified static preview, description, and collapsible row-data table preserve the essential information when scripting is unavailable.
640×400 · adaptive.profiles=no-scriptno-scriptshape-nonvisualdisplay-colorinput-finemotion-staticrenderer-static-fallback
XR and see-through display
Fall back safely to the ordinary 2D or WebGL panel when XR APIs are absent, duplicating depth cues in text and the table.
640×400 · adaptive.profiles=spatial-xrspatial-xrshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial
Cutout and round display
Inset titles, marks, and controls around safe areas and round display bounds so they are not clipped.
184×224 · adaptive.profiles=cutout-roundcutout-roundshape-rounddisplay-colorinput-finemotion-fullrenderer-canvas-spatialviewport-tiny
Virtual keyboard viewport
Reflow focus controls, the chart, and the active explanation when a virtual keyboard reduces the visual viewport.
390×560 · adaptive.profiles=virtual-keyboardvirtual-keyboardshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatial
Extreme environment preview
Choose a profile above to preserve the same data and ChartSpec while reconfiguring the chart for display size, input method, display capability, and user preference.
StatusLoading
adaptivecapability-drivenno-user-agent-branching
- Legend:
legend · explicit · 3 channels - Point and range highlights:
highlights[] · datum · date - Custom callouts:
annotations[] · datum · date · callout · placement:auto - Interactive selection:
selection · multiple · toggle
Loading
Extreme environment preview · Row data
Row data and zero-copy TypedArray columns share one data contract.
datetemporal | valuequantitative | openquantitative | highquantitative | lowquantitative | closequantitative | volumequantitative | lowerquantitative | upperquantitative |
|---|---|---|---|---|---|---|---|---|
| 2025-01-01 | — | 94 | 96.3 | 92.9 | 95.1 | 1070 | — | — |
| 2025-01-02 | — | 95.7997 | 97.6977 | 94.6097 | 96.4177 | 1144 | — | — |
| 2025-01-03 | — | 97.3786 | 98.8241 | 96.0986 | 97.4641 | 1217 | — | — |
| 2025-01-04 | — | 98.5624 | 100.0024 | 96.7931 | 98.1631 | 1287 | — | — |
| 2025-01-05 | — | 99.2322 | 100.7522 | 97.3747 | 98.4747 | 1353 | — | — |
| 2025-01-06 | — | 99.3404 | 100.5404 | 97.2069 | 98.3969 | 1415 | — | — |
| 2025-01-07 | — | 98.9138 | 100.1938 | 96.6843 | 97.9643 | 1470 | — | — |
| 2025-01-08 | — | 98.0461 | 99.4061 | 95.8723 | 97.2423 | 1519 | — | — |
| 2025-01-09 | — | 96.8793 | 98.3193 | 95.2192 | 96.3192 | 1562 | — | — |
| 2025-01-10 | — | 95.5793 | 97.0993 | 94.106 | 95.296 | 1598 | — | — |
| 2025-01-11 | — | 94.3096 | 95.5096 | 92.9966 | 94.2766 | 1629 | — | — |
| 2025-01-12 | — | 93.2092 | 94.6376 | 91.8392 | 93.3576 | 1656 | — | — |
| 2025-01-13 | — | 92.3761 | 93.98 | 91.2761 | 92.62 | 1679 | — | — |
| 2025-01-14 | — | 91.8609 | 93.5632 | 90.6709 | 92.1232 | 1699 | — | — |
| 2025-01-15 | — | 91.669 | 93.4216 | 90.389 | 91.9016 | 1106 | — | — |
| 2025-01-16 | — | 91.7703 | 93.1631 | 90.4003 | 91.9631 | 1126 | — | — |
| 2025-01-17 | — | 92.1131 | 93.5711 | 91.0131 | 92.2911 | 1147 | — | — |
| 2025-01-18 | — | 92.6392 | 94.2075 | 91.4492 | 92.8475 | 1173 | — | — |
| 2025-01-19 | — | 93.2948 | 95.0179 | 92.0148 | 93.5779 | 1202 | — | — |
| 2025-01-20 | 95.010705 | 94.0373 | 95.9372 | 92.6673 | 94.4172 | 1237 | 87.61991000498683 | 102.76061000498683 |
| 2025-01-21 | 95.02048500000001 | 94.8355 | 96.4956 | 93.7355 | 95.2956 | 1278 | 87.72356975114242 | 102.7042947511424 |
| 2025-01-22 | 95.00680500000001 | 95.6643 | 97.4241 | 94.4743 | 96.1441 | 1325 | 87.73019549366614 | 102.67637049366616 |
| 2025-01-23 | 94.978575 | 96.4964 | 98.2595 | 95.2164 | 96.8995 | 1378 | 87.65530093493096 | 102.68087593493098 |
| 2025-01-24 | 94.94583500000002 | 97.2947 | 98.9483 | 95.9247 | 97.5083 | 1437 | 87.62990861638244 | 102.60905861638246 |
| 2025-01-25 | 94.91859500000001 | 98.0069 | 99.5269 | 96.8299 | 97.9299 | 1502 | 87.66866532328757 | 102.4776903232876 |
| 2025-01-26 | 94.90569000000002 | 98.5662 | 99.7662 | 96.9488 | 98.1388 | 1571 | 87.70578606668838 | 102.3857860666884 |
| 2025-01-27 | 94.913735 | 98.8987 | 100.1787 | 96.8452 | 98.1252 | 1643 | 87.73081515705954 | 102.36681515705956 |
| 2025-01-28 | 94.94640000000001 | 98.9355 | 100.2955 | 96.5256 | 97.8956 | 1104 | 87.74069616116367 | 102.4357211611637 |
| 2025-01-29 | 95.00405500000002 | 98.6288 | 100.0688 | 96.3723 | 97.4723 | 1179 | 87.74070125216359 | 102.58482625216364 |
| 2025-01-30 | 95.08386000000002 | 97.9675 | 99.4875 | 95.7021 | 96.8921 | 1252 | 87.74395146776477 | 102.78610146776482 |
| 2025-01-31 | 95.18024500000003 | 96.9891 | 98.1891 | 94.9243 | 96.2043 | 1323 | 87.76732586858093 | 102.99742586858099 |
| 2025-02-01 | 95.28577500000003 | 95.7827 | 97.0627 | 94.0982 | 95.4682 | 1391 | 87.86406370630974 | 103.1356887063098 |
| 2025-02-02 | 95.39225000000002 | 94.4846 | 96.1095 | 93.3846 | 94.7495 | 1454 | 87.96736060698044 | 103.24423560698051 |
| 2025-02-03 | 95.491905 | 93.2624 | 95.5563 | 92.0724 | 94.1163 | 1511 | 87.98020389593675 | 103.40497889593685 |
| 2025-02-04 | 95.57855 | 92.2928 | 95.1545 | 91.0128 | 93.6345 | 1562 | 87.90469467973162 | 103.60674467973169 |
| 2025-02-05 | 95.648515 | 91.7342 | 94.5624 | 90.3642 | 93.3624 | 1607 | 87.76472215391769 | 103.82562215391776 |
| 2025-02-06 | 95.70125000000002 | 91.7009 | 94.6258 | 90.6009 | 93.3458 | 1645 | 87.60262317509486 | 104.03024817509495 |
| 2025-02-07 | 95.73951500000001 | 92.2427 | 94.9728 | 91.0527 | 93.6128 | 1678 | 87.4707809655088 | 104.18885596550888 |
| 2025-02-08 | 95.76915000000001 | 93.3336 | 95.6106 | 92.0536 | 94.1706 | 1706 | 87.41925098478892 | 104.27580098478902 |
| 2025-02-09 | 95.79841000000002 | 94.8731 | 96.5224 | 93.5031 | 95.0024 | 1730 | 87.4852291902426 | 104.2791291902427 |
| 2025-02-10 | 95.83699000000001 | 96.6995 | 97.8995 | 94.9672 | 96.0672 | 1138 | 87.53004770754856 | 104.36699770754868 |
| 2025-02-11 | 95.894845 | 98.6132 | 99.8932 | 96.1112 | 97.3012 | 1157 | 87.5314359231117 | 104.57643592311179 |
| 2025-02-12 | 95.980985 | 100.4064 | 101.7664 | 97.3423 | 98.6223 | 1177 | 87.50467469919093 | 104.89492469919101 |
| 2025-02-13 | 96.10237500000001 | 101.8939 | 103.3339 | 98.5661 | 99.9361 | 1198 | 87.46889235612379 | 105.29519235612388 |
| 2025-02-14 | 96.263085 | 102.9388 | 104.4588 | 100.0441 | 101.1441 | 1222 | 87.4636581924819 | 105.71938319248197 |
| 2025-02-15 | 96.46380500000001 | 103.471 | 104.671 | 100.9632 | 102.1532 | 1250 | 87.57798859552642 | 106.05631359552652 |
| 2025-02-16 | 96.7018 | 103.493 | 104.773 | 101.6051 | 102.8851 | 1283 | 87.83176627843362 | 106.26869127843369 |
| 2025-02-17 | 96.97129 | 103.0745 | 104.6454 | 101.7045 | 103.2854 | 1322 | 88.17058180613836 | 106.40025680613844 |
| 2025-02-18 | 97.264205 | 102.3366 | 104.7706 | 101.2366 | 103.3306 | 1367 | 88.42915345966136 | 106.61820345966143 |
| 2025-02-19 | 97.57121 | 101.4292 | 104.5522 | 100.2392 | 103.0322 | 1418 | 88.60499063671641 | 106.92594063671648 |
| 2025-02-20 | 97.882885 | 100.506 | 103.6378 | 99.226 | 102.4378 | 1476 | 88.70945072828692 | 107.31715072828698 |
| 2025-02-21 | 98.190885 | 99.7023 | 102.9082 | 98.3323 | 101.6282 | 1539 | 88.76582331177255 | 107.77637331177259 |
| 2025-02-22 | 98.488935 | 99.1185 | 102.0705 | 98.0185 | 100.7105 | 1607 | 88.86909564221271 | 108.21142064221274 |
| 2025-02-23 | 98.773545 | 98.8127 | 101.2485 | 97.6227 | 99.8085 | 1065 | 89.13256224018019 | 108.51036224018021 |
| 2025-02-24 | 99.04430499999998 | 98.801 | 100.5697 | 97.521 | 99.0497 | 1138 | 89.56275019870424 | 108.66730019870427 |
| 2025-02-25 | 99.30379999999998 | 99.0666 | 100.2666 | 97.1823 | 98.5523 | 1213 | 90.01033236147452 | 108.83640736147456 |
| 2025-02-26 | 99.55711499999998 | 99.5714 | 100.8514 | 97.3121 | 98.4121 | 1287 | 90.39202778754301 | 109.09670278754307 |
| 2025-02-27 | 99.81100499999998 | 100.27 | 101.63 | 97.5006 | 98.6906 | 1359 | 90.6937951895789 | 109.45079518957895 |
| 2025-02-28 | 100.07285499999998 | 101.1202 | 102.5602 | 98.1276 | 99.4076 | 1428 | 90.91298353013602 | 109.88888353013604 |
| 2025-03-01 | 100.34955499999998 | 102.0882 | 103.6082 | 99.1664 | 100.5364 | 1492 | 91.05883100040768 | 110.3903560004077 |
| 2025-03-02 | 100.64646499999996 | 103.1483 | 104.3483 | 100.9054 | 102.0054 | 1551 | 91.30599787795067 | 110.7651728779507 |
| 2025-03-03 | 100.96660499999999 | 104.2779 | 105.5579 | 102.514 | 103.704 | 1604 | 91.69710327041913 | 110.97175327041916 |
| 2025-03-04 | 101.31012999999999 | 105.4483 | 106.8528 | 104.1683 | 105.4928 | 1651 | 92.20594821241367 | 111.04569821241371 |
| 2025-03-05 | 101.67422499999998 | 106.617 | 108.658 | 105.247 | 107.218 | 1692 | 92.66985350808575 | 111.1704035080858 |
| 2025-03-06 | 102.05337499999999 | 107.7223 | 110.2471 | 106.6223 | 108.7271 | 1726 | 93.07428185385741 | 111.37735685385749 |
| 2025-03-07 | 102.44000499999997 | 108.6844 | 111.0858 | 107.4944 | 109.8858 | 1755 | 93.41169718149986 | 111.68567218149992 |
| 2025-03-08 | 102.82537499999998 | 109.4131 | 111.8725 | 108.1331 | 110.5925 | 1167 | 93.68244025926626 | 112.09929025926633 |
| 2025-03-09 | 103.20061499999997 | 109.8208 | 112.1502 | 108.4508 | 110.7902 | 1189 | 93.94591764854562 | 112.55239264854569 |
| 2025-03-10 | 103.55777999999995 | 109.8401 | 111.9139 | 108.7401 | 110.4739 | 1209 | 94.35561523193795 | 112.87204023193803 |
| 2025-03-11 | 103.89073499999995 | 109.4411 | 111.2113 | 108.2511 | 109.6913 | 1229 | 94.8863996985367 | 113.06462469853679 |
| 2025-03-12 | 104.19582999999993 | 108.6445 | 109.8445 | 107.2597 | 108.5397 | 1249 | 95.4642675062133 | 113.18574250621342 |
| 2025-03-13 | 104.47218499999993 | 107.5279 | 108.8079 | 105.7853 | 107.1553 | 1272 | 95.98610002141987 | 113.31925002141998 |
| 2025-03-14 | 104.72162999999992 | 106.2213 | 107.5813 | 104.5994 | 105.6994 | 1299 | 96.41813996016646 | 113.48376496016655 |
| 2025-03-15 | 104.94826999999991 | 104.8937 | 106.3337 | 103.1513 | 104.3413 | 1330 | 96.73713399361576 | 113.69190899361585 |
| 2025-03-16 | 105.1577899999999 | 103.7301 | 105.2501 | 101.9601 | 103.2401 | 1367 | 96.93549064417452 | 113.95059064417462 |
| 2025-03-17 | 105.35651499999992 | 102.9045 | 104.1045 | 101.1568 | 102.5268 | 1410 | 97.14729084545691 | 114.128240845457 |
| 2025-03-18 | 105.55045999999993 | 102.5519 | 103.8319 | 101.191 | 102.291 | 1459 | 97.42815622057067 | 114.18450622057075 |
| 2025-03-19 | 105.74441999999995 | 102.746 | 104.106 | 101.3798 | 102.5698 | 1515 | 97.75748990010605 | 114.16303990010613 |
| 2025-03-20 | 105.94126499999996 | 103.4854 | 104.9254 | 102.0645 | 103.3445 | 1576 | 98.10566877544214 | 114.11829377544223 |
| 2025-03-21 | 106.14154999999997 | 104.6919 | 106.2119 | 103.1721 | 104.5421 | 1030 | 98.44083709155498 | 114.10296209155509 |
| 2025-03-22 | 106.34343999999996 | 106.2211 | 107.4211 | 104.9432 | 106.0432 | 1100 | 98.73634326660587 | 114.157218266606 |
| 2025-03-23 | 106.54299999999996 | 107.8844 | 109.1644 | 106.5052 | 107.6952 | 1173 | 98.97319910762836 | 114.2978991076285 |
| 2025-03-24 | 106.73478999999995 | 109.4769 | 110.8369 | 108.0486 | 109.3286 | 1247 | 99.15697093764047 | 114.50762093764058 |
| 2025-03-25 | 106.91268499999997 | 110.8085 | 112.2485 | 109.4059 | 110.7759 | 1322 | 99.41996212761048 | 114.62851212761056 |
| 2025-03-26 | 107.07079499999995 | 111.731 | 113.4093 | 110.631 | 111.8893 | 1394 | 99.70243390229504 | 114.69935890229513 |
| 2025-03-27 | 107.20435999999995 | 112.1575 | 113.7571 | 110.9675 | 112.5571 | 1464 | 99.95383086950606 | 114.75030586950615 |
| 2025-03-28 | 107.31048999999993 | 112.0712 | 113.9951 | 110.7912 | 112.7151 | 1530 | 100.13849661953702 | 114.8010966195371 |
| 2025-03-29 | 107.38864999999994 | 111.5224 | 113.7134 | 110.1524 | 112.3534 | 1591 | 100.23687728759253 | 114.86487728759263 |
| 2025-03-30 | 107.44079999999994 | 110.615 | 112.9569 | 109.515 | 111.5169 | 1646 | 100.24957224010257 | 114.94459724010267 |
| 2025-03-31 | 107.47124499999995 | 109.4858 | 111.8202 | 108.2958 | 110.3002 | 1695 | 100.19703751273751 | 115.03311251273763 |
| 2025-04-01 | 107.48608499999996 | 108.2811 | 110.0365 | 107.0011 | 108.8365 | 1737 | 100.14021528812596 | 115.08894028812608 |
| 2025-04-02 | 107.49247999999996 | 107.1349 | 108.5632 | 105.7649 | 107.2832 | 1774 | 100.16102138155557 | 115.0536713815557 |
| 2025-04-03 | 107.49774499999997 | 106.1523 | 107.5123 | 104.7047 | 105.8047 | 1192 | 100.18324015625221 | 115.03231515625234 |
| 2025-04-04 | 107.50843499999996 | 105.4011 | 106.8411 | 103.3651 | 104.5551 | 1218 | 100.16548356385945 | 115.08795856385959 |
| 2025-04-05 | 107.52951999999996 | 104.9115 | 106.4315 | 102.3818 | 103.6618 | 1241 | 100.11322877394906 | 115.22562877394921 |
| 2025-04-06 | 107.56384999999996 | 104.6831 | 105.8831 | 101.8434 | 103.2134 | 1261 | 100.04198175233083 | 115.42738175233099 |
| 2025-04-07 | 107.61183999999994 | 104.6963 | 105.9763 | 102.1508 | 103.2508 | 1280 | 99.97514150574774 | 115.6566915057479 |
| 2025-04-08 | 107.67157999999992 | 104.9237 | 106.2837 | 102.5746 | 103.7646 | 1300 | 99.93956159466892 | 115.8668365946691 |
| 2025-04-09 | 107.73924499999991 | 105.3402 | 106.7802 | 103.4178 | 104.6978 | 1322 | 99.95850102828385 | 116.011151028284 |
| 2025-04-10 | 107.80978499999989 | 105.9275 | 107.4729 | 104.5575 | 105.9529 | 1348 | 100.03980655048221 | 116.06135655048233 |
| 2025-04-11 | 107.8777999999999 | 106.6728 | 108.6035 | 105.5728 | 107.4035 | 1377 | 100.01740388743421 | 116.17715388743434 |
| 2025-04-12 | 107.93849499999988 | 107.5628 | 110.1891 | 106.3728 | 108.9091 | 1413 | 99.8985202667108 | 116.34754526671091 |
| 2025-04-13 | 107.98852999999988 | 108.5746 | 111.6893 | 107.2946 | 110.3293 | 1454 | 99.70544790333622 | 116.55607290333633 |
| 2025-04-14 | 108.02669999999986 | 109.667 | 112.9793 | 108.297 | 111.5393 | 1501 | 99.47229536438758 | 116.78284536438771 |
| 2025-04-15 | 108.05429499999988 | 110.7753 | 113.9612 | 109.6753 | 112.4412 | 1555 | 99.27851877214053 | 116.96596877214066 |
| 2025-04-16 | 108.07512499999989 | 111.8116 | 114.1737 | 110.6216 | 112.9737 | 1001 | 99.18712377172568 | 117.06519877172579 |
| 2025-04-17 | 108.0951749999999 | 112.6734 | 114.3961 | 111.3934 | 113.1161 | 1066 | 99.2367804148895 | 117.06455541488961 |
| 2025-04-18 | 108.1219499999999 | 113.257 | 114.617 | 111.5189 | 112.8889 | 1135 | 99.34997543442199 | 117.0620254344221 |
| 2025-04-19 | 108.1635749999999 | 113.4768 | 114.9168 | 111.2494 | 112.3494 | 1207 | 99.41476728901195 | 117.18319228901203 |
| 2025-04-20 | 108.2277799999999 | 113.2836 | 114.8036 | 110.3943 | 111.5843 | 1281 | 99.43419243845523 | 117.42384243845531 |
| 2025-04-21 | 108.3209249999999 | 112.6802 | 113.8802 | 109.4194 | 110.6994 | 1356 | 99.41723347898375 | 117.76323347898384 |
| 2025-04-22 | 108.44715499999991 | 111.7293 | 113.0093 | 108.4378 | 109.8078 | 1429 | 99.37934226956118 | 118.16864226956125 |
| 2025-04-23 | 108.60785999999989 | 110.5517 | 111.9117 | 107.9188 | 109.0188 | 1500 | 99.425055375396 | 118.51068037539605 |
| 2025-04-24 | 108.80146999999988 | 109.3132 | 110.7532 | 107.2373 | 108.4273 | 1568 | 99.61459809591562 | 118.71019809591569 |
| 2025-04-25 | 109.02364999999989 | 108.203 | 109.723 | 106.8254 | 108.1054 | 1630 | 99.94801138936948 | 118.75558638936954 |
| 2025-04-26 | 109.26785499999987 | 107.406 | 109.2975 | 106.036 | 108.0975 | 1687 | 100.23254525860764 | 118.8455702586077 |
| 2025-04-27 | 109.52617499999988 | 107.0744 | 109.6972 | 105.9744 | 108.4172 | 1738 | 100.43338984663801 | 119.02073984663807 |
| 2025-04-28 | 109.79039499999988 | 107.3023 | 110.409 | 106.1123 | 109.049 | 1782 | 100.5534543551129 | 119.28770435511296 |
| 2025-04-29 | 110.05304999999987 | 108.1101 | 111.3909 | 106.8301 | 109.9509 | 1208 | 100.60838277613145 | 119.64223277613152 |
| 2025-04-30 | 110.30843499999988 | 109.4399 | 112.5806 | 108.0699 | 111.0606 | 1240 | 100.62968523097284 | 120.06236023097293 |
| 2025-05-01 | 110.55336999999989 | 111.1634 | 113.5022 | 110.0634 | 112.3022 | 1268 | 100.81440607117737 | 120.34910607117745 |
| 2025-05-02 | 110.78757999999989 | 113.1015 | 114.8733 | 111.9115 | 113.5933 | 1292 | 101.17393400431465 | 120.49500900431471 |
| 2025-05-03 | 111.0137549999999 | 115.0514 | 116.4114 | 113.5728 | 114.8528 | 1313 | 101.63813802401512 | 120.5701880240152 |
| 2025-05-04 | 111.23712999999991 | 116.8167 | 118.2567 | 114.6368 | 116.0068 | 1332 | 102.05708654641961 | 120.72353654641968 |
| 2025-05-05 | 111.4647649999999 | 118.2356 | 119.7556 | 115.8939 | 116.9939 | 1352 | 102.40855114904707 | 120.96895114904711 |
| 2025-05-06 | 111.70451999999989 | 119.2018 | 120.4018 | 116.5788 | 117.7688 | 1373 | 102.67987561318648 | 121.30800061318652 |
| 2025-05-07 | 111.96392499999988 | 119.6753 | 120.9553 | 117.0242 | 118.3042 | 1397 | 102.87107606800173 | 121.73130106800178 |
| 2025-05-08 | 112.2490599999999 | 119.682 | 121.042 | 117.2216 | 118.5916 | 1425 | 103.08586237864802 | 122.12666237864808 |
Browser API · Portable schema
Browser API
Graflume.accelerationBands()
const data = [
{
"close": 95.1,
"date": "2025-01-01",
"high": 96.3,
"low": 92.9,
"open": 94,
"value": 95.1,
"volume": 1070
},
{
"close": 96.4177,
"date": "2025-01-02",
"high": 97.6977,
"low": 94.6097,
"open": 95.7997,
"value": 96.4177,
"volume": 1144
},
{
"close": 97.4641,
"date": "2025-01-03",
"high": 98.8241,
"low": 96.0986,
"open": 97.3786,
"value": 97.4641,
"volume": 1217
},
{
"close": 98.1631,
"date": "2025-01-04",
"high": 100.0024,
"low": 96.7931,
"open": 98.5624,
"value": 98.1631,
"volume": 1287
},
{
"close": 98.4747,
"date": "2025-01-05",
"high": 100.7522,
"low": 97.3747,
"open": 99.2322,
"value": 98.4747,
"volume": 1353
},
{
"close": 98.3969,
"date": "2025-01-06",
"high": 100.5404,
"low": 97.2069,
"open": 99.3404,
"value": 98.3969,
"volume": 1415
},
{
"close": 97.9643,
"date": "2025-01-07",
"high": 100.1938,
"low": 96.6843,
"open": 98.9138,
"value": 97.9643,
"volume": 1470
},
{
"close": 97.2423,
"date": "2025-01-08",
"high": 99.4061,
"low": 95.8723,
"open": 98.0461,
"value": 97.2423,
"volume": 1519
},
{
"close": 96.3192,
"date": "2025-01-09",
"high": 98.3193,
"low": 95.2192,
"open": 96.8793,
"value": 96.3192,
"volume": 1562
},
{
"close": 95.296,
"date": "2025-01-10",
"high": 97.0993,
"low": 94.106,
"open": 95.5793,
"value": 95.296,
"volume": 1598
},
{
"close": 94.2766,
"date": "2025-01-11",
"high": 95.5096,
"low": 92.9966,
"open": 94.3096,
"value": 94.2766,
"volume": 1629
},
{
"close": 93.3576,
"date": "2025-01-12",
"high": 94.6376,
"low": 91.8392,
"open": 93.2092,
"value": 93.3576,
"volume": 1656
},
{
"close": 92.62,
"date": "2025-01-13",
"high": 93.98,
"low": 91.2761,
"open": 92.3761,
"value": 92.62,
"volume": 1679
},
{
"close": 92.1232,
"date": "2025-01-14",
"high": 93.5632,
"low": 90.6709,
"open": 91.8609,
"value": 92.1232,
"volume": 1699
},
{
"close": 91.9016,
"date": "2025-01-15",
"high": 93.4216,
"low": 90.389,
"open": 91.669,
"value": 91.9016,
"volume": 1106
},
{
"close": 91.9631,
"date": "2025-01-16",
"high": 93.1631,
"low": 90.4003,
"open": 91.7703,
"value": 91.9631,
"volume": 1126
},
{
"close": 92.2911,
"date": "2025-01-17",
"high": 93.5711,
"low": 91.0131,
"open": 92.1131,
"value": 92.2911,
"volume": 1147
},
{
"close": 92.8475,
"date": "2025-01-18",
"high": 94.2075,
"low": 91.4492,
"open": 92.6392,
"value": 92.8475,
"volume": 1173
},
{
"close": 93.5779,
"date": "2025-01-19",
"high": 95.0179,
"low": 92.0148,
"open": 93.2948,
"value": 93.5779,
"volume": 1202
},
{
"close": 94.4172,
"date": "2025-01-20",
"high": 95.9372,
"low": 92.6673,
"open": 94.0373,
"value": 94.4172,
"volume": 1237
},
{
"close": 95.2956,
"date": "2025-01-21",
"high": 96.4956,
"low": 93.7355,
"open": 94.8355,
"value": 95.2956,
"volume": 1278
},
{
"close": 96.1441,
"date": "2025-01-22",
"high": 97.4241,
"low": 94.4743,
"open": 95.6643,
"value": 96.1441,
"volume": 1325
},
{
"close": 96.8995,
"date": "2025-01-23",
"high": 98.2595,
"low": 95.2164,
"open": 96.4964,
"value": 96.8995,
"volume": 1378
},
{
"close": 97.5083,
"date": "2025-01-24",
"high": 98.9483,
"low": 95.9247,
"open": 97.2947,
"value": 97.5083,
"volume": 1437
},
{
"close": 97.9299,
"date": "2025-01-25",
"high": 99.5269,
"low": 96.8299,
"open": 98.0069,
"value": 97.9299,
"volume": 1502
},
{
"close": 98.1388,
"date": "2025-01-26",
"high": 99.7662,
"low": 96.9488,
"open": 98.5662,
"value": 98.1388,
"volume": 1571
},
{
"close": 98.1252,
"date": "2025-01-27",
"high": 100.1787,
"low": 96.8452,
"open": 98.8987,
"value": 98.1252,
"volume": 1643
},
{
"close": 97.8956,
"date": "2025-01-28",
"high": 100.2955,
"low": 96.5256,
"open": 98.9355,
"value": 97.8956,
"volume": 1104
},
{
"close": 97.4723,
"date": "2025-01-29",
"high": 100.0688,
"low": 96.3723,
"open": 98.6288,
"value": 97.4723,
"volume": 1179
},
{
"close": 96.8921,
"date": "2025-01-30",
"high": 99.4875,
"low": 95.7021,
"open": 97.9675,
"value": 96.8921,
"volume": 1252
},
{
"close": 96.2043,
"date": "2025-01-31",
"high": 98.1891,
"low": 94.9243,
"open": 96.9891,
"value": 96.2043,
"volume": 1323
},
{
"close": 95.4682,
"date": "2025-02-01",
"high": 97.0627,
"low": 94.0982,
"open": 95.7827,
"value": 95.4682,
"volume": 1391
},
{
"close": 94.7495,
"date": "2025-02-02",
"high": 96.1095,
"low": 93.3846,
"open": 94.4846,
"value": 94.7495,
"volume": 1454
},
{
"close": 94.1163,
"date": "2025-02-03",
"high": 95.5563,
"low": 92.0724,
"open": 93.2624,
"value": 94.1163,
"volume": 1511
},
{
"close": 93.6345,
"date": "2025-02-04",
"high": 95.1545,
"low": 91.0128,
"open": 92.2928,
"value": 93.6345,
"volume": 1562
},
{
"close": 93.3624,
"date": "2025-02-05",
"high": 94.5624,
"low": 90.3642,
"open": 91.7342,
"value": 93.3624,
"volume": 1607
},
{
"close": 93.3458,
"date": "2025-02-06",
"high": 94.6258,
"low": 90.6009,
"open": 91.7009,
"value": 93.3458,
"volume": 1645
},
{
"close": 93.6128,
"date": "2025-02-07",
"high": 94.9728,
"low": 91.0527,
"open": 92.2427,
"value": 93.6128,
"volume": 1678
},
{
"close": 94.1706,
"date": "2025-02-08",
"high": 95.6106,
"low": 92.0536,
"open": 93.3336,
"value": 94.1706,
"volume": 1706
},
{
"close": 95.0024,
"date": "2025-02-09",
"high": 96.5224,
"low": 93.5031,
"open": 94.8731,
"value": 95.0024,
"volume": 1730
},
{
"close": 96.0672,
"date": "2025-02-10",
"high": 97.8995,
"low": 94.9672,
"open": 96.6995,
"value": 96.0672,
"volume": 1138
},
{
"close": 97.3012,
"date": "2025-02-11",
"high": 99.8932,
"low": 96.1112,
"open": 98.6132,
"value": 97.3012,
"volume": 1157
},
{
"close": 98.6223,
"date": "2025-02-12",
"high": 101.7664,
"low": 97.3423,
"open": 100.4064,
"value": 98.6223,
"volume": 1177
},
{
"close": 99.9361,
"date": "2025-02-13",
"high": 103.3339,
"low": 98.5661,
"open": 101.8939,
"value": 99.9361,
"volume": 1198
},
{
"close": 101.1441,
"date": "2025-02-14",
"high": 104.4588,
"low": 100.0441,
"open": 102.9388,
"value": 101.1441,
"volume": 1222
},
{
"close": 102.1532,
"date": "2025-02-15",
"high": 104.671,
"low": 100.9632,
"open": 103.471,
"value": 102.1532,
"volume": 1250
},
{
"close": 102.8851,
"date": "2025-02-16",
"high": 104.773,
"low": 101.6051,
"open": 103.493,
"value": 102.8851,
"volume": 1283
},
{
"close": 103.2854,
"date": "2025-02-17",
"high": 104.6454,
"low": 101.7045,
"open": 103.0745,
"value": 103.2854,
"volume": 1322
},
{
"close": 103.3306,
"date": "2025-02-18",
"high": 104.7706,
"low": 101.2366,
"open": 102.3366,
"value": 103.3306,
"volume": 1367
},
{
"close": 103.0322,
"date": "2025-02-19",
"high": 104.5522,
"low": 100.2392,
"open": 101.4292,
"value": 103.0322,
"volume": 1418
},
{
"close": 102.4378,
"date": "2025-02-20",
"high": 103.6378,
"low": 99.226,
"open": 100.506,
"value": 102.4378,
"volume": 1476
},
{
"close": 101.6282,
"date": "2025-02-21",
"high": 102.9082,
"low": 98.3323,
"open": 99.7023,
"value": 101.6282,
"volume": 1539
},
{
"close": 100.7105,
"date": "2025-02-22",
"high": 102.0705,
"low": 98.0185,
"open": 99.1185,
"value": 100.7105,
"volume": 1607
},
{
"close": 99.8085,
"date": "2025-02-23",
"high": 101.2485,
"low": 97.6227,
"open": 98.8127,
"value": 99.8085,
"volume": 1065
},
{
"close": 99.0497,
"date": "2025-02-24",
"high": 100.5697,
"low": 97.521,
"open": 98.801,
"value": 99.0497,
"volume": 1138
},
{
"close": 98.5523,
"date": "2025-02-25",
"high": 100.2666,
"low": 97.1823,
"open": 99.0666,
"value": 98.5523,
"volume": 1213
},
{
"close": 98.4121,
"date": "2025-02-26",
"high": 100.8514,
"low": 97.3121,
"open": 99.5714,
"value": 98.4121,
"volume": 1287
},
{
"close": 98.6906,
"date": "2025-02-27",
"high": 101.63,
"low": 97.5006,
"open": 100.27,
"value": 98.6906,
"volume": 1359
},
{
"close": 99.4076,
"date": "2025-02-28",
"high": 102.5602,
"low": 98.1276,
"open": 101.1202,
"value": 99.4076,
"volume": 1428
},
{
"close": 100.5364,
"date": "2025-03-01",
"high": 103.6082,
"low": 99.1664,
"open": 102.0882,
"value": 100.5364,
"volume": 1492
},
{
"close": 102.0054,
"date": "2025-03-02",
"high": 104.3483,
"low": 100.9054,
"open": 103.1483,
"value": 102.0054,
"volume": 1551
},
{
"close": 103.704,
"date": "2025-03-03",
"high": 105.5579,
"low": 102.514,
"open": 104.2779,
"value": 103.704,
"volume": 1604
},
{
"close": 105.4928,
"date": "2025-03-04",
"high": 106.8528,
"low": 104.1683,
"open": 105.4483,
"value": 105.4928,
"volume": 1651
},
{
"close": 107.218,
"date": "2025-03-05",
"high": 108.658,
"low": 105.247,
"open": 106.617,
"value": 107.218,
"volume": 1692
},
{
"close": 108.7271,
"date": "2025-03-06",
"high": 110.2471,
"low": 106.6223,
"open": 107.7223,
"value": 108.7271,
"volume": 1726
},
{
"close": 109.8858,
"date": "2025-03-07",
"high": 111.0858,
"low": 107.4944,
"open": 108.6844,
"value": 109.8858,
"volume": 1755
},
{
"close": 110.5925,
"date": "2025-03-08",
"high": 111.8725,
"low": 108.1331,
"open": 109.4131,
"value": 110.5925,
"volume": 1167
},
{
"close": 110.7902,
"date": "2025-03-09",
"high": 112.1502,
"low": 108.4508,
"open": 109.8208,
"value": 110.7902,
"volume": 1189
},
{
"close": 110.4739,
"date": "2025-03-10",
"high": 111.9139,
"low": 108.7401,
"open": 109.8401,
"value": 110.4739,
"volume": 1209
},
{
"close": 109.6913,
"date": "2025-03-11",
"high": 111.2113,
"low": 108.2511,
"open": 109.4411,
"value": 109.6913,
"volume": 1229
},
{
"close": 108.5397,
"date": "2025-03-12",
"high": 109.8445,
"low": 107.2597,
"open": 108.6445,
"value": 108.5397,
"volume": 1249
},
{
"close": 107.1553,
"date": "2025-03-13",
"high": 108.8079,
"low": 105.7853,
"open": 107.5279,
"value": 107.1553,
"volume": 1272
},
{
"close": 105.6994,
"date": "2025-03-14",
"high": 107.5813,
"low": 104.5994,
"open": 106.2213,
"value": 105.6994,
"volume": 1299
},
{
"close": 104.3413,
"date": "2025-03-15",
"high": 106.3337,
"low": 103.1513,
"open": 104.8937,
"value": 104.3413,
"volume": 1330
},
{
"close": 103.2401,
"date": "2025-03-16",
"high": 105.2501,
"low": 101.9601,
"open": 103.7301,
"value": 103.2401,
"volume": 1367
},
{
"close": 102.5268,
"date": "2025-03-17",
"high": 104.1045,
"low": 101.1568,
"open": 102.9045,
"value": 102.5268,
"volume": 1410
},
{
"close": 102.291,
"date": "2025-03-18",
"high": 103.8319,
"low": 101.191,
"open": 102.5519,
"value": 102.291,
"volume": 1459
},
{
"close": 102.5698,
"date": "2025-03-19",
"high": 104.106,
"low": 101.3798,
"open": 102.746,
"value": 102.5698,
"volume": 1515
},
{
"close": 103.3445,
"date": "2025-03-20",
"high": 104.9254,
"low": 102.0645,
"open": 103.4854,
"value": 103.3445,
"volume": 1576
},
{
"close": 104.5421,
"date": "2025-03-21",
"high": 106.2119,
"low": 103.1721,
"open": 104.6919,
"value": 104.5421,
"volume": 1030
},
{
"close": 106.0432,
"date": "2025-03-22",
"high": 107.4211,
"low": 104.9432,
"open": 106.2211,
"value": 106.0432,
"volume": 1100
},
{
"close": 107.6952,
"date": "2025-03-23",
"high": 109.1644,
"low": 106.5052,
"open": 107.8844,
"value": 107.6952,
"volume": 1173
},
{
"close": 109.3286,
"date": "2025-03-24",
"high": 110.8369,
"low": 108.0486,
"open": 109.4769,
"value": 109.3286,
"volume": 1247
},
{
"close": 110.7759,
"date": "2025-03-25",
"high": 112.2485,
"low": 109.4059,
"open": 110.8085,
"value": 110.7759,
"volume": 1322
},
{
"close": 111.8893,
"date": "2025-03-26",
"high": 113.4093,
"low": 110.631,
"open": 111.731,
"value": 111.8893,
"volume": 1394
},
{
"close": 112.5571,
"date": "2025-03-27",
"high": 113.7571,
"low": 110.9675,
"open": 112.1575,
"value": 112.5571,
"volume": 1464
},
{
"close": 112.7151,
"date": "2025-03-28",
"high": 113.9951,
"low": 110.7912,
"open": 112.0712,
"value": 112.7151,
"volume": 1530
},
{
"close": 112.3534,
"date": "2025-03-29",
"high": 113.7134,
"low": 110.1524,
"open": 111.5224,
"value": 112.3534,
"volume": 1591
},
{
"close": 111.5169,
"date": "2025-03-30",
"high": 112.9569,
"low": 109.515,
"open": 110.615,
"value": 111.5169,
"volume": 1646
},
{
"close": 110.3002,
"date": "2025-03-31",
"high": 111.8202,
"low": 108.2958,
"open": 109.4858,
"value": 110.3002,
"volume": 1695
},
{
"close": 108.8365,
"date": "2025-04-01",
"high": 110.0365,
"low": 107.0011,
"open": 108.2811,
"value": 108.8365,
"volume": 1737
},
{
"close": 107.2832,
"date": "2025-04-02",
"high": 108.5632,
"low": 105.7649,
"open": 107.1349,
"value": 107.2832,
"volume": 1774
},
{
"close": 105.8047,
"date": "2025-04-03",
"high": 107.5123,
"low": 104.7047,
"open": 106.1523,
"value": 105.8047,
"volume": 1192
},
{
"close": 104.5551,
"date": "2025-04-04",
"high": 106.8411,
"low": 103.3651,
"open": 105.4011,
"value": 104.5551,
"volume": 1218
},
{
"close": 103.6618,
"date": "2025-04-05",
"high": 106.4315,
"low": 102.3818,
"open": 104.9115,
"value": 103.6618,
"volume": 1241
},
{
"close": 103.2134,
"date": "2025-04-06",
"high": 105.8831,
"low": 101.8434,
"open": 104.6831,
"value": 103.2134,
"volume": 1261
},
{
"close": 103.2508,
"date": "2025-04-07",
"high": 105.9763,
"low": 102.1508,
"open": 104.6963,
"value": 103.2508,
"volume": 1280
},
{
"close": 103.7646,
"date": "2025-04-08",
"high": 106.2837,
"low": 102.5746,
"open": 104.9237,
"value": 103.7646,
"volume": 1300
},
{
"close": 104.6978,
"date": "2025-04-09",
"high": 106.7802,
"low": 103.4178,
"open": 105.3402,
"value": 104.6978,
"volume": 1322
},
{
"close": 105.9529,
"date": "2025-04-10",
"high": 107.4729,
"low": 104.5575,
"open": 105.9275,
"value": 105.9529,
"volume": 1348
},
{
"close": 107.4035,
"date": "2025-04-11",
"high": 108.6035,
"low": 105.5728,
"open": 106.6728,
"value": 107.4035,
"volume": 1377
},
{
"close": 108.9091,
"date": "2025-04-12",
"high": 110.1891,
"low": 106.3728,
"open": 107.5628,
"value": 108.9091,
"volume": 1413
},
{
"close": 110.3293,
"date": "2025-04-13",
"high": 111.6893,
"low": 107.2946,
"open": 108.5746,
"value": 110.3293,
"volume": 1454
},
{
"close": 111.5393,
"date": "2025-04-14",
"high": 112.9793,
"low": 108.297,
"open": 109.667,
"value": 111.5393,
"volume": 1501
},
{
"close": 112.4412,
"date": "2025-04-15",
"high": 113.9612,
"low": 109.6753,
"open": 110.7753,
"value": 112.4412,
"volume": 1555
},
{
"close": 112.9737,
"date": "2025-04-16",
"high": 114.1737,
"low": 110.6216,
"open": 111.8116,
"value": 112.9737,
"volume": 1001
},
{
"close": 113.1161,
"date": "2025-04-17",
"high": 114.3961,
"low": 111.3934,
"open": 112.6734,
"value": 113.1161,
"volume": 1066
},
{
"close": 112.8889,
"date": "2025-04-18",
"high": 114.617,
"low": 111.5189,
"open": 113.257,
"value": 112.8889,
"volume": 1135
},
{
"close": 112.3494,
"date": "2025-04-19",
"high": 114.9168,
"low": 111.2494,
"open": 113.4768,
"value": 112.3494,
"volume": 1207
},
{
"close": 111.5843,
"date": "2025-04-20",
"high": 114.8036,
"low": 110.3943,
"open": 113.2836,
"value": 111.5843,
"volume": 1281
},
{
"close": 110.6994,
"date": "2025-04-21",
"high": 113.8802,
"low": 109.4194,
"open": 112.6802,
"value": 110.6994,
"volume": 1356
},
{
"close": 109.8078,
"date": "2025-04-22",
"high": 113.0093,
"low": 108.4378,
"open": 111.7293,
"value": 109.8078,
"volume": 1429
},
{
"close": 109.0188,
"date": "2025-04-23",
"high": 111.9117,
"low": 107.9188,
"open": 110.5517,
"value": 109.0188,
"volume": 1500
},
{
"close": 108.4273,
"date": "2025-04-24",
"high": 110.7532,
"low": 107.2373,
"open": 109.3132,
"value": 108.4273,
"volume": 1568
},
{
"close": 108.1054,
"date": "2025-04-25",
"high": 109.723,
"low": 106.8254,
"open": 108.203,
"value": 108.1054,
"volume": 1630
},
{
"close": 108.0975,
"date": "2025-04-26",
"high": 109.2975,
"low": 106.036,
"open": 107.406,
"value": 108.0975,
"volume": 1687
},
{
"close": 108.4172,
"date": "2025-04-27",
"high": 109.6972,
"low": 105.9744,
"open": 107.0744,
"value": 108.4172,
"volume": 1738
},
{
"close": 109.049,
"date": "2025-04-28",
"high": 110.409,
"low": 106.1123,
"open": 107.3023,
"value": 109.049,
"volume": 1782
},
{
"close": 109.9509,
"date": "2025-04-29",
"high": 111.3909,
"low": 106.8301,
"open": 108.1101,
"value": 109.9509,
"volume": 1208
},
{
"close": 111.0606,
"date": "2025-04-30",
"high": 112.5806,
"low": 108.0699,
"open": 109.4399,
"value": 111.0606,
"volume": 1240
},
{
"close": 112.3022,
"date": "2025-05-01",
"high": 113.5022,
"low": 110.0634,
"open": 111.1634,
"value": 112.3022,
"volume": 1268
},
{
"close": 113.5933,
"date": "2025-05-02",
"high": 114.8733,
"low": 111.9115,
"open": 113.1015,
"value": 113.5933,
"volume": 1292
},
{
"close": 114.8528,
"date": "2025-05-03",
"high": 116.4114,
"low": 113.5728,
"open": 115.0514,
"value": 114.8528,
"volume": 1313
},
{
"close": 116.0068,
"date": "2025-05-04",
"high": 118.2567,
"low": 114.6368,
"open": 116.8167,
"value": 116.0068,
"volume": 1332
},
{
"close": 116.9939,
"date": "2025-05-05",
"high": 119.7556,
"low": 115.8939,
"open": 118.2356,
"value": 116.9939,
"volume": 1352
},
{
"close": 117.7688,
"date": "2025-05-06",
"high": 120.4018,
"low": 116.5788,
"open": 119.2018,
"value": 117.7688,
"volume": 1373
},
{
"close": 118.3042,
"date": "2025-05-07",
"high": 120.9553,
"low": 117.0242,
"open": 119.6753,
"value": 118.3042,
"volume": 1397
},
{
"close": 118.5916,
"date": "2025-05-08",
"high": 121.042,
"low": 117.2216,
"open": 119.682,
"value": 118.5916,
"volume": 1425
}
];
const options = {
"accessibility": {
"description": "Every indicator is calculated from the same coherent OHLCV market history. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Acceleration bands: Every indicator is calculated from the same coherent OHLCV market history"
},
"annotations": [
{
"connector": {
"visible": true
},
"detail": "Attach user-authored safe text to a datum, axis range, or normalized plot position.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "date",
"type": "datum",
"value": "2025-03-06"
},
"text": "Point and range highlights · 2025-03-06"
}
],
"axes": {
"x": {
"format": {
"dateStyle": "medium",
"timeZone": "UTC",
"type": "date"
},
"labels": {
"orientation": "auto"
},
"ticks": {
"count": 5,
"spacing": 48
}
},
"y": {
"format": {
"fractionDigits": 1,
"type": "number"
}
}
},
"create": {
"adaptive": {
"profiles": "auto"
}
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "date",
"type": "datum",
"value": "2025-03-06"
}
}
],
"interaction": {
"controls": {
"annotations": true,
"export": true,
"fullscreen": true,
"labels": {
"controls": "Chart controls",
"enterFullscreen": "Enter fullscreen",
"exitFullscreen": "Exit fullscreen",
"exportPng": "Download PNG",
"hideAnnotations": "Hide callouts",
"loop": "Loop playback",
"nextFrame": "Next frame",
"pause": "Pause",
"play": "Play",
"previousFrame": "Previous frame",
"reset": "Reset view",
"seek": "Playback position",
"showAnnotations": "Show callouts",
"speed": "Playback speed",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"selection": {
"ariaLabel": "Interactive selection",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "date",
"mode": "multiple",
"toggle": true
},
"tooltip": {
"axis": "x",
"fields": [
{
"dateStyle": "long",
"field": "date",
"format": "date",
"label": "Date",
"timeZone": "UTC"
},
{
"field": "value",
"format": "number",
"label": "Value"
},
{
"field": "open",
"format": "number",
"label": "Open"
},
{
"field": "high",
"format": "number",
"label": "High"
},
{
"field": "low",
"format": "number",
"label": "Low"
},
{
"field": "close",
"format": "number",
"label": "Close"
},
{
"field": "volume",
"format": "number",
"label": "Volume"
},
{
"field": "lower",
"format": "number",
"label": "Lower"
},
{
"field": "upper",
"format": "number",
"label": "Upper"
}
],
"title": "Technical indicator",
"trigger": "axis"
}
},
"legend": {
"interactive": false,
"items": [
{
"id": "semantic-0",
"label": "Value"
},
{
"id": "semantic-1",
"label": "Signal"
},
{
"id": "semantic-2",
"label": "Lower–upper band"
}
],
"labels": {
"hide": "Hide",
"show": "Show"
},
"maxItems": 8,
"mode": "layers",
"orientation": "horizontal",
"position": "bottom",
"title": "Technical indicator",
"visible": true
},
"locale": "en",
"mark": {
"fields": {
"close": "close",
"high": "high",
"low": "low",
"lower": "lower",
"middle": "value",
"open": "open",
"upper": "upper",
"value": "value",
"volume": "volume"
},
"options": {
"calculate": true,
"fields": [
"value",
"lower",
"upper"
],
"kind": "abands"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Every indicator is calculated from the same coherent OHLCV market history",
"text": "Acceleration bands"
},
"width": "container",
"x": {
"field": "date",
"title": "Trading day",
"type": "temporal"
},
"y": {
"field": "value",
"title": "Indicator value",
"type": "quantitative"
}
};
Graflume.accelerationBands('#chart', data, options);Portable schema
ChartSpec 0.1 · options
{
"accessibility": {
"description": "Every indicator is calculated from the same coherent OHLCV market history. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Acceleration bands: Every indicator is calculated from the same coherent OHLCV market history"
},
"annotations": [
{
"connector": {
"visible": true
},
"detail": "Attach user-authored safe text to a datum, axis range, or normalized plot position.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "date",
"type": "datum",
"value": "2025-03-06"
},
"text": "Point and range highlights · 2025-03-06"
}
],
"axes": {
"x": {
"format": {
"dateStyle": "medium",
"timeZone": "UTC",
"type": "date"
},
"labels": {
"orientation": "auto"
},
"ticks": {
"count": 5,
"spacing": 48
}
},
"y": {
"format": {
"fractionDigits": 1,
"type": "number"
}
}
},
"create": {
"adaptive": {
"profiles": "auto"
}
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "date",
"type": "datum",
"value": "2025-03-06"
}
}
],
"interaction": {
"controls": {
"annotations": true,
"export": true,
"fullscreen": true,
"labels": {
"controls": "Chart controls",
"enterFullscreen": "Enter fullscreen",
"exitFullscreen": "Exit fullscreen",
"exportPng": "Download PNG",
"hideAnnotations": "Hide callouts",
"loop": "Loop playback",
"nextFrame": "Next frame",
"pause": "Pause",
"play": "Play",
"previousFrame": "Previous frame",
"reset": "Reset view",
"seek": "Playback position",
"showAnnotations": "Show callouts",
"speed": "Playback speed",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"selection": {
"ariaLabel": "Interactive selection",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "date",
"mode": "multiple",
"toggle": true
},
"tooltip": {
"axis": "x",
"fields": [
{
"dateStyle": "long",
"field": "date",
"format": "date",
"label": "Date",
"timeZone": "UTC"
},
{
"field": "value",
"format": "number",
"label": "Value"
},
{
"field": "open",
"format": "number",
"label": "Open"
},
{
"field": "high",
"format": "number",
"label": "High"
},
{
"field": "low",
"format": "number",
"label": "Low"
},
{
"field": "close",
"format": "number",
"label": "Close"
},
{
"field": "volume",
"format": "number",
"label": "Volume"
},
{
"field": "lower",
"format": "number",
"label": "Lower"
},
{
"field": "upper",
"format": "number",
"label": "Upper"
}
],
"title": "Technical indicator",
"trigger": "axis"
}
},
"legend": {
"interactive": false,
"items": [
{
"id": "semantic-0",
"label": "Value"
},
{
"id": "semantic-1",
"label": "Signal"
},
{
"id": "semantic-2",
"label": "Lower–upper band"
}
],
"labels": {
"hide": "Hide",
"show": "Show"
},
"maxItems": 8,
"mode": "layers",
"orientation": "horizontal",
"position": "bottom",
"title": "Technical indicator",
"visible": true
},
"locale": "en",
"mark": {
"fields": {
"close": "close",
"high": "high",
"low": "low",
"lower": "lower",
"middle": "value",
"open": "open",
"upper": "upper",
"value": "value",
"volume": "volume"
},
"options": {
"calculate": true,
"fields": [
"value",
"lower",
"upper"
],
"kind": "abands"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Every indicator is calculated from the same coherent OHLCV market history",
"text": "Acceleration bands"
},
"width": "container",
"x": {
"field": "date",
"title": "Trading day",
"type": "temporal"
},
"y": {
"field": "value",
"title": "Indicator value",
"type": "quantitative"
}
}