[{"data":1,"prerenderedAt":6427},["ShallowReactive",2],{"indicators:cookbook/plots-and-panes":3},{"slug":4,"filePath":5,"frontmatter":6,"rawMarkdown":11,"tree":12},"cookbook/plots-and-panes","cookbook/plots-and-panes.md",{"title":7,"description":8,"order":9,"section":10},"Plots and panes","Two exponential averages on the price pane, cumulative volume delta as an area and the bar's own delta as columns together in the package's lower pane, and two…",69,"cookbook","---\ntitle: \"Plots and panes\"\ndescription: \"Two exponential averages on the price pane, cumulative volume delta as an area and the bar's own delta as columns together in the package's lower pane, and two…\"\norder: 69\nsection: \"cookbook\"\n---\n\n\u003C!-- source: docs/indicators/cookbook/plots-and-panes.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Plots and panes\n\nTwo exponential averages on the price pane, cumulative volume delta as an area and the bar's own delta as columns together in the package's lower pane, and two histogram windows placed below the chart: the spread of open-interest change and of volume delta over the last 200 traded bars. The kScript (legacy) precedent is MMT's \"Plots and panes\" example, one script drawing into the one pane its `define()` named; here every plot is an output that names its pane, and each further window is a panel the package feeds through a frame. This is the page that teaches where things draw.\n\nThe chart has three places. The price pane holds the candles, every `overlay` output, and drawings unless they say `panel: \"lower\"`. The package's lower pane holds every `lower` output together: one lower pane per package, one scale for everything in it. A panel is a separate window with its own axis, fed by a frame the package writes as JSON and placed `below` the chart or at its `side`. Outputs cost one number per bar; a frame costs one JSON write per refresh. This is also the `plots-and-panes` template: `om wrun create` scaffolds it, and it compiles as written.\n\n## The Indicator\n\n```typescript\n// Plots and panes: two averages on the price pane, CVD and the bar's delta together in the package's lower pane, two histogram windows below the chart.\nimport { area, frame, histogram, input, line, lower, ohlcv, oi, output, overlay, panel, param, trades } from \"./sdk/declare\"; // the declaring words\nimport { bar } from \"./gen/draw\"; // the last-bar signal\nimport { FRAME_DELTA_ROWS, FRAME_OI_ROWS, writeFrame } from \"./gen/frames\"; // generated: a slot constant per frame declared below, plus the writer\nimport { in_buy, in_close, in_oi, in_sell, in_volume } from \"./gen/inputs\"; // generated: an in_ reader for each input declared below\nimport { emitRow, out_cvd, out_delta, out_ema_fast, out_ema_slow } from \"./gen/outputs\"; // generated: an out_ writer per output, plus emitRow\nimport { p_fast, p_slow, p_window } from \"./gen/params\"; // generated: a p_ reader for each param declared below\nimport { Ema } from \"./sdk/ta\"; // the running exponential average\n\nparam(\"fast\", 9, { min: 2, max: 200 }); // the fast average's length in bars\nparam(\"slow\", 21, { min: 2, max: 400 }); // the slow average's length in bars\nparam(\"window\", 200, { min: 20, max: 2000 }); // bars each histogram window counts; a window param also sizes the daemon's fetch for reads\ninput(\"close\", ohlcv.close); // the primary input: the chart's own candles define the grid every other input lines up on\ninput(\"volume\", ohlcv.volume); // the bar's traded volume: the gate that keeps bars with no trades out of the windows\ninput(\"oi\", oi.close, { missing: \"nan\" }); // open interest at the bar's close; a bar without a reading, or a market without open interest, reads NaN\ninput(\"buy\", trades.volume, { side: \"BUY\", missing: \"zero\" }); // aggressive buy volume; a bar with no prints reads 0\ninput(\"sell\", trades.volume, { side: \"SELL\", missing: \"zero\" }); // aggressive sell volume, the other half of the tape\noutput(\"ema_fast\", line, overlay, { color: \"#38bdf8\", width: 2 }); // overlay: drawn on the price pane, over the candles\noutput(\"ema_slow\", line, overlay, { color: \"#f59e0b\", width: 2 });\noutput(\"cvd\", area, lower, { color: \"#22d3a5\", opacity: 0.5 }); // lower: the package's one lower pane, shared by every lower output\noutput(\"delta\", histogram, lower, { color: \"#94a3b8\" }); // the same pane and the same scale as cvd; a second pane is a panel\nconst oi_rows = frame(\"oi_rows\", { max_bytes: 16384 }); // a frame: one JSON snapshot for the run, rewritten on the live bar (a name is one space across outputs, frames and panels)\nconst delta_rows = frame(\"delta_rows\", { max_bytes: 16384 });\npanel.histogram({ name: \"oi_change\", title: \"OI change\", x: \"category\", place: \"below\", frame: oi_rows, bins: 24 }); // a panel: its own window under the chart, fed by the frame\npanel.histogram({ name: \"vol_delta\", title: \"Volume delta\", x: \"category\", place: \"below\", frame: delta_rows, bins: 24 });\n\nconst MAX_WINDOW = 2000; const BINS = 24; // the rings are sized for the largest window; init() reads the one in use\nconst oiRing = new StaticArray\u003Cf64>(MAX_WINDOW); const deltaRing = new StaticArray\u003Cf64>(MAX_WINDOW); // the last window traded bars' values\nconst counts = new StaticArray\u003Ci32>(BINS); // one count per column, refilled for each histogram\nlet fast = new Ema(9); let slow = new Ema(21); let window = 200; // init() rebuilds these from the params\nlet emaFast: f64 = NaN; let emaSlow: f64 = NaN; let cvd: f64 = 0.0; let delta: f64 = 0.0; let prevOi: f64 = NaN; // module state\nlet head = 0; let filled = 0; // the rings' write cursor and how many slots hold a value\n\nexport function init(): void { fast = new Ema(i32(p_fast())); slow = new Ema(i32(p_slow())); window = i32(p_window()); }\nexport function state(): i32 { // once per bar: both averages, the bar's delta into the running sum, one slot in each ring\n  const close = in_close(); emaFast = fast.update(close); emaSlow = slow.update(close);\n  delta = in_buy() - in_sell(); cvd += delta;\n  const oiNow = in_oi(); const oiChange = isNaN(prevOi) ? NaN : oiNow - prevOi; prevOi = oiNow; // the first bar, and a bar without a reading, has no change: NaN, which the binning skips\n  if (in_volume() > 0.0) { // a bar with no trades reads a zero delta by policy and would only pile onto the zero column\n    oiRing[head] = oiChange; deltaRing[head] = delta; head = (head + 1) % window; if (filled \u003C window) filled += 1;\n  }\n  return 1;\n}\n// One window's rows: the ring's finite values split into BINS equal-width columns from the lowest to the highest,\n// one [\"label\", count] pair per column, the label being the column's lower edge with just enough decimals to tell neighbours apart.\nfunction histogramJson(ring: StaticArray\u003Cf64>): string {\n  let lo = Infinity; let hi = -Infinity;\n  for (let i = 0; i \u003C filled; i += 1) { const v = ring[i]; if (isNaN(v)) continue; if (v \u003C lo) lo = v; if (v > hi) hi = v; }\n  if (lo > hi) return '{\"rows\":[]}'; // nothing finite yet: empty rows are legal and draw no columns\n  const width = hi > lo ? (hi - lo) / f64(BINS) : 1.0; // one flat value: the first column holds everything\n  let scale = 1.0; let decimals = 0; while (decimals \u003C 8 && width * scale \u003C 1.0) { scale *= 10.0; decimals += 1; }\n  for (let b = 0; b \u003C BINS; b += 1) counts[b] = 0;\n  for (let i = 0; i \u003C filled; i += 1) { const v = ring[i]; if (isNaN(v)) continue; let b = i32((v - lo) / width); if (b >= BINS) b = BINS - 1; counts[b] += 1; }\n  let json = '{\"rows\":[';\n  for (let b = 0; b \u003C BINS; b += 1) {\n    const edge = lo + f64(b) * width;\n    const label = decimals == 0 ? i64(Math.round(edge)).toString() : (Math.round(edge * scale) / scale).toString();\n    json += (b > 0 ? ',[\"' : '[\"') + label + '\",' + counts[b].toString() + \"]\";\n  }\n  return json + \"]}\";\n}\n// finalize() runs after state(): one number per output on every bar, and on the live bar only, one snapshot per frame.\nexport function finalize(): void {\n  out_ema_fast(emaFast); out_ema_slow(emaSlow); out_cvd(cvd); out_delta(delta);\n  if (bar.isLast()) { writeFrame(FRAME_OI_ROWS, histogramJson(oiRing)); writeFrame(FRAME_DELTA_ROWS, histogramJson(deltaRing)); }\n  emitRow();\n}\n// reset() runs when the host replays the forming bar: back to what init() built, the running sum and both rings cleared.\nexport function reset(): void { fast.reset(); slow.reset(); emaFast = NaN; emaSlow = NaN; cvd = 0.0; delta = 0.0; prevOi = NaN; head = 0; filled = 0; }\n```\n\n## How it works\n\n**Where things draw.** Three places, and every declaration names one. The price pane: the candles, every output that says `overlay` (`ema_fast`, `ema_slow`), and drawings unless they say otherwise. The package's lower pane: every output that says `lower` (`cvd`, `delta`), together, on one scale; a package has one lower pane, and its numeric outputs never open another. Panels: separate windows fed by frames, placed `below` the chart or at its `side`, each with its own axis and its own shape (the two histogram windows). Cost follows the shape: an output is one number per bar, read by every host and by `om metric series`; a frame is one JSON write per refresh.\n\n**Two lines over price.** `ema_fast` and `ema_slow` say `overlay`, so they share the candles' price axis. Each is an `Ema` from `./sdk/ta`, rebuilt in `init()` from the `fast` and `slow` params. The average is `NaN` until its seed of `fast` or `slow` closes is complete, and a `NaN` output draws nothing, so each line starts where its average is real.\n\n**One lower pane, two outputs, one scale.** `cvd` and `delta` both say `lower`, so both land in the package's lower pane, the area and the columns in one pane on one scale. That is the rule, not a choice: a package's numeric outputs share one lower pane, and a second pane is a panel. `cvd` is a module-level running sum of `buy` minus `sell` over the loaded history (the [Aggregated CVD](aggregated-cvd.md) accumulator), drawn as an `area` in a fixed color; `delta` is the same bar's difference, drawn as a `histogram`, columns from zero. Sharing works here because both are in the same unit, net traded volume; a series on another scale (a percentage, a count) would flatten against them and belongs in a panel, or in an inset strip through `out.inset`.\n\n**Two windows below the chart.** `frame(\"oi_rows\", { max_bytes: 16384 })` reserves one JSON snapshot for the run, and `panel.histogram({ name: \"oi_change\", title: \"OI change\", x: \"category\", place: \"below\", frame: oi_rows, bins: 24 })` binds a window to it; a name is one space across outputs, frames and panels, so the frame holds the rows and the panel is the window. The window does not bin. Its rows are already columns, one `[\"label\", count]` pair each (a label of 1 to 24 characters, a count of zero or more, 2000 rows at most), and `bins: 24` is the number of columns the window is declared for, which is why the package writes exactly 24 rows. `histogramJson` finds the ring's lowest and highest finite values, splits that range into 24 equal-width columns, counts each value into its column, and labels each column with its lower edge, with as many decimals as it takes to tell neighbours apart. Empty rows are legal: before the first open-interest reading, and on a market with no open interest at all (spot, for one), the OI window is empty and draws no columns while the four plots and the delta window draw as usual. The last write per frame wins for the run, so both writes sit under `bar.isLast()`: a closed bar writes nothing and builds no strings, and the live bar rewrites both windows on every refresh.\n\n**The rings, the gate and the reset.** The two rings are `StaticArray\u003Cf64>` objects made at module level from the `window` param's maximum (2000 slots each); `init()` reads the window in use, and the cursor wraps there. `state()` writes one slot in each ring per bar that traded: `volume` is the gate, because a bar with no trades reads a zero delta by policy (`missing: \"zero\"` on `buy` and `sell`) and would only pile onto the zero column of the delta window. Open interest is `missing: \"nan\"`: a bar without a reading, and every bar of a market without open interest, reads NaN, so its change is NaN and the binning skips it, which is what leaves the OI window empty on such a market instead of withholding every row (a `carry` abstains the whole row until a first observation). The first bar has no previous open interest, so its change is `NaN` too. `reset()` puts everything back to what `init()` built when the host replays the forming bar: both averages, the running sum, and both rings.\n\n## What kScript (legacy) could not do\n\n- **One pane per script.** `define(position=\"onchart\")` or `\"offchart\"` placed the whole script, so averages over price and a flow pane were two scripts on one chart. Here each output names its pane in one file: `overlay` for the averages, `lower` for the flow.\n- **No window with its own axis.** `plotHistogram` was a column per bar on the time axis. The spread of the last 200 open-interest changes, binned, had nowhere to land. Here it is a frame and a `panel.histogram`: a separate window below the chart whose axis is the bins.\n- **No missing policy on a feed.** `open_interest` and `buy_sell_volume` read `na` where a bar had no observation, and every use needed an `isnum` guard (the Aggregated CVD recipe's `pairDelta`). Here `missing: \"nan\"` on `oi.close` and `missing: \"zero\"` on the side-split tape are declared once and hold on every bar.\n- **A plot was only a picture.** Every output here is also a metric: `om metric series` reads `delta` or `cvd` on your machine and an alert can read it, while the chart draws the same number.\n\n## Customize it\n\n- **Lengths.** `fast` (2..200) and `slow` (2..400) rebuild the two `Ema` objects in `init()`.\n- **Window.** `window` (20..2000) is how many traded bars each histogram counts; a larger maximum needs a larger `MAX_WINDOW` ring, and because it is a declared window param it also sizes the daemon's fetch for a metric read.\n- **Columns.** Change `BINS` and the `bins:` value on both declarations together (2..200): the rows the package writes and the columns the window is declared for must agree.\n- **Color the CVD by sign.** Add `output(\"sign\", none, lower)` written as `cvd >= 0.0 ? 1.0 : 0.0` and give `cvd` `color_by: \"sign\", colors: [\"#ff5b7f\", \"#22d3a5\"]`, the Aggregated CVD shape; a palette index has to be its own output, which is why this recipe keeps a fixed color and four outputs.\n- **A window beside the chart.** `place: \"side\"` on either declaration; `title` (1 to 40 characters) is what the window is called.\n\nScaffold, build, install, and read the bar's delta on your machine:\n\n```bash\nom wrun create @you/plots-and-panes ./plots-and-panes --template plots-and-panes\nom wrun build ./plots-and-panes\nom wrun install ./plots-and-panes --replace\nom metric series --metric wrun/@you/plots-and-panes/delta --symbol BTCUSDT --exchange BINANCE_FUTURES --bars 20\n```\n\n## Concepts used\n\n- [Plotting](../functions/plotting.md) for `output(name, plot, panel, options)`, the `area` and `histogram` plots, and `overlay` against `lower`\n- [Data types](../core-concepts/data-types.md) for placement per output: the price pane or the package's lower pane\n- [Drawing primitives](../functions/drawing-primitives.md) for frames, the panel declarations and the row grammar\n- [Data sources](../core-concepts/data-sources.md) for `oi.close`, `trades.volume` with a `side`, and the `missing` policies\n- [Execution model](../core-concepts/execution-model.md) for the module-level rings, `reset()` and the forming bar\n- [Moving averages](../functions/moving-averages.md) for `Ema`\n",{"type":13,"children":14,"data":6420,"position":6422},"root",[15,25,28,29,67,68,222,223,242,243,3797,3798,3815,3816,4019,4020,4283,4284,4532,4533,4682,4683,4964,4965,4982,4983,5431,5432,5447,5448,5862,5863,5877,5878,6029,6030,6045,6046],{"type":16,"value":17,"position":18},"comment"," source: docs/indicators/cookbook/plots-and-panes.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit ",{"start":19,"end":22},{"line":20,"column":20,"offset":21},1,0,{"line":20,"column":23,"offset":24},131,130,{"type":26,"value":27},"text","\n",{"type":26,"value":27},{"type":30,"tagName":31,"properties":32,"children":33,"position":64},"element","p",{},[34,43,57],{"type":26,"value":35,"position":36},"Two exponential averages on the price pane, cumulative volume delta as an area and the bar's own delta as columns together in the package's lower pane, and two histogram windows placed below the chart: the spread of open-interest change and of volume delta over the last 200 traded bars. The kScript (legacy) precedent is MMT's \"Plots and panes\" example, one script drawing into the one pane its ",{"start":37,"end":40},{"line":38,"column":20,"offset":39},5,151,{"line":38,"column":41,"offset":42},397,547,{"type":30,"tagName":44,"properties":45,"children":46,"position":54},"code",{},[47],{"type":26,"value":48,"position":49},"define()",{"start":50,"end":51},{"line":38,"column":41,"offset":42},{"line":38,"column":52,"offset":53},407,557,{"start":55,"end":56},{"line":38,"column":41,"offset":42},{"line":38,"column":52,"offset":53},{"type":26,"value":58,"position":59}," named; here every plot is an output that names its pane, and each further window is a panel the package feeds through a frame. This is the page that teaches where things draw.",{"start":60,"end":61},{"line":38,"column":52,"offset":53},{"line":38,"column":62,"offset":63},583,733,{"start":65,"end":66},{"line":38,"column":20,"offset":39},{"line":38,"column":62,"offset":63},{"type":26,"value":27},{"type":30,"tagName":31,"properties":69,"children":70,"position":219},{},[71,79,92,99,112,119,132,139,152,159,172,179,192,199,212],{"type":26,"value":72,"position":73},"The chart has three places. The price pane holds the candles, every ",{"start":74,"end":77},{"line":75,"column":20,"offset":76},7,735,{"line":75,"column":9,"offset":78},803,{"type":30,"tagName":44,"properties":80,"children":81,"position":89},{},[82],{"type":26,"value":83,"position":84},"overlay",{"start":85,"end":86},{"line":75,"column":9,"offset":78},{"line":75,"column":87,"offset":88},78,812,{"start":90,"end":91},{"line":75,"column":9,"offset":78},{"line":75,"column":87,"offset":88},{"type":26,"value":93,"position":94}," output, and drawings unless they say ",{"start":95,"end":96},{"line":75,"column":87,"offset":88},{"line":75,"column":97,"offset":98},116,850,{"type":30,"tagName":44,"properties":100,"children":101,"position":109},{},[102],{"type":26,"value":103,"position":104},"panel: \"lower\"",{"start":105,"end":106},{"line":75,"column":97,"offset":98},{"line":75,"column":107,"offset":108},132,866,{"start":110,"end":111},{"line":75,"column":97,"offset":98},{"line":75,"column":107,"offset":108},{"type":26,"value":113,"position":114},". The package's lower pane holds every ",{"start":115,"end":116},{"line":75,"column":107,"offset":108},{"line":75,"column":117,"offset":118},171,905,{"type":30,"tagName":44,"properties":120,"children":121,"position":129},{},[122],{"type":26,"value":123,"position":124},"lower",{"start":125,"end":126},{"line":75,"column":117,"offset":118},{"line":75,"column":127,"offset":128},178,912,{"start":130,"end":131},{"line":75,"column":117,"offset":118},{"line":75,"column":127,"offset":128},{"type":26,"value":133,"position":134}," output together: one lower pane per package, one scale for everything in it. A panel is a separate window with its own axis, fed by a frame the package writes as JSON and placed ",{"start":135,"end":136},{"line":75,"column":127,"offset":128},{"line":75,"column":137,"offset":138},357,1091,{"type":30,"tagName":44,"properties":140,"children":141,"position":149},{},[142],{"type":26,"value":143,"position":144},"below",{"start":145,"end":146},{"line":75,"column":137,"offset":138},{"line":75,"column":147,"offset":148},364,1098,{"start":150,"end":151},{"line":75,"column":137,"offset":138},{"line":75,"column":147,"offset":148},{"type":26,"value":153,"position":154}," the chart or at its ",{"start":155,"end":156},{"line":75,"column":147,"offset":148},{"line":75,"column":157,"offset":158},385,1119,{"type":30,"tagName":44,"properties":160,"children":161,"position":169},{},[162],{"type":26,"value":163,"position":164},"side",{"start":165,"end":166},{"line":75,"column":157,"offset":158},{"line":75,"column":167,"offset":168},391,1125,{"start":170,"end":171},{"line":75,"column":157,"offset":158},{"line":75,"column":167,"offset":168},{"type":26,"value":173,"position":174},". Outputs cost one number per bar; a frame costs one JSON write per refresh. This is also the ",{"start":175,"end":176},{"line":75,"column":167,"offset":168},{"line":75,"column":177,"offset":178},485,1219,{"type":30,"tagName":44,"properties":180,"children":181,"position":189},{},[182],{"type":26,"value":183,"position":184},"plots-and-panes",{"start":185,"end":186},{"line":75,"column":177,"offset":178},{"line":75,"column":187,"offset":188},502,1236,{"start":190,"end":191},{"line":75,"column":177,"offset":178},{"line":75,"column":187,"offset":188},{"type":26,"value":193,"position":194}," template: ",{"start":195,"end":196},{"line":75,"column":187,"offset":188},{"line":75,"column":197,"offset":198},513,1247,{"type":30,"tagName":44,"properties":200,"children":201,"position":209},{},[202],{"type":26,"value":203,"position":204},"om wrun create",{"start":205,"end":206},{"line":75,"column":197,"offset":198},{"line":75,"column":207,"offset":208},529,1263,{"start":210,"end":211},{"line":75,"column":197,"offset":198},{"line":75,"column":207,"offset":208},{"type":26,"value":213,"position":214}," scaffolds it, and it compiles as written.",{"start":215,"end":216},{"line":75,"column":207,"offset":208},{"line":75,"column":217,"offset":218},571,1305,{"start":220,"end":221},{"line":75,"column":20,"offset":76},{"line":75,"column":217,"offset":218},{"type":26,"value":27},{"type":30,"tagName":224,"properties":225,"children":227,"position":238},"h2",{"id":226},"the-indicator",[228],{"type":26,"value":229,"position":230},"The Indicator",{"start":231,"end":235},{"line":232,"column":233,"offset":234},9,4,1310,{"line":232,"column":236,"offset":237},17,1323,{"start":239,"end":241},{"line":232,"column":20,"offset":240},1307,{"line":232,"column":236,"offset":237},{"type":26,"value":27},{"type":13,"children":244},[245],{"type":30,"tagName":246,"properties":247,"children":251,"data":-1},"pre",{"class":248,"style":249,"tabindex":250},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0",[252],{"type":30,"tagName":44,"properties":253,"children":254},{},[255,266,267,303,304,334,335,365,366,396,397,427,428,458,459,489,490,493,494,554,555,606,607,658,659,686,687,713,714,749,750,795,796,838,839,884,885,923,924,969,970,1005,1006,1057,1058,1099,1100,1172,1173,1231,1232,1235,1236,1288,1289,1386,1387,1438,1439,1538,1539,1696,1697,1748,1749,1752,1753,1881,1882,1920,1921,1985,1986,2033,2034,2125,2126,2167,2168,2260,2261,2269,2270,2286,2287,2295,2296,2304,2305,2313,2314,2372,2373,2426,2427,2580,2581,2621,2622,2707,2708,2832,2833,2903,2904,3089,3090,3115,3116,3172,3173,3216,3217,3325,3326,3421,3422,3429,3430,3454,3455,3462,3463,3471,3472,3504,3505,3548,3549,3625,3626,3638,3639,3646,3647,3655,3656],{"type":30,"tagName":256,"properties":257,"children":259},"span",{"class":258},"line",[260],{"type":30,"tagName":256,"properties":261,"children":263},{"style":262},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[264],{"type":26,"value":265},"// Plots and panes: two averages on the price pane, CVD and the bar's delta together in the package's lower pane, two histogram windows below the chart.",{"type":26,"value":27},{"type":30,"tagName":256,"properties":268,"children":269},{"class":258},[270,276,282,287,293,298],{"type":30,"tagName":256,"properties":271,"children":273},{"style":272},"--shiki-dark:#F97583;--shiki-light:#D73A49",[274],{"type":26,"value":275},"import",{"type":30,"tagName":256,"properties":277,"children":279},{"style":278},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[280],{"type":26,"value":281}," { area, frame, histogram, input, line, lower, ohlcv, oi, output, overlay, panel, param, trades } ",{"type":30,"tagName":256,"properties":283,"children":284},{"style":272},[285],{"type":26,"value":286},"from",{"type":30,"tagName":256,"properties":288,"children":290},{"style":289},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[291],{"type":26,"value":292}," \"./sdk/declare\"",{"type":30,"tagName":256,"properties":294,"children":295},{"style":278},[296],{"type":26,"value":297},"; ",{"type":30,"tagName":256,"properties":299,"children":300},{"style":262},[301],{"type":26,"value":302},"// the declaring words",{"type":26,"value":27},{"type":30,"tagName":256,"properties":305,"children":306},{"class":258},[307,311,316,320,325,329],{"type":30,"tagName":256,"properties":308,"children":309},{"style":272},[310],{"type":26,"value":275},{"type":30,"tagName":256,"properties":312,"children":313},{"style":278},[314],{"type":26,"value":315}," { bar } ",{"type":30,"tagName":256,"properties":317,"children":318},{"style":272},[319],{"type":26,"value":286},{"type":30,"tagName":256,"properties":321,"children":322},{"style":289},[323],{"type":26,"value":324}," \"./gen/draw\"",{"type":30,"tagName":256,"properties":326,"children":327},{"style":278},[328],{"type":26,"value":297},{"type":30,"tagName":256,"properties":330,"children":331},{"style":262},[332],{"type":26,"value":333},"// the last-bar signal",{"type":26,"value":27},{"type":30,"tagName":256,"properties":336,"children":337},{"class":258},[338,342,347,351,356,360],{"type":30,"tagName":256,"properties":339,"children":340},{"style":272},[341],{"type":26,"value":275},{"type":30,"tagName":256,"properties":343,"children":344},{"style":278},[345],{"type":26,"value":346}," { FRAME_DELTA_ROWS, FRAME_OI_ROWS, writeFrame } ",{"type":30,"tagName":256,"properties":348,"children":349},{"style":272},[350],{"type":26,"value":286},{"type":30,"tagName":256,"properties":352,"children":353},{"style":289},[354],{"type":26,"value":355}," \"./gen/frames\"",{"type":30,"tagName":256,"properties":357,"children":358},{"style":278},[359],{"type":26,"value":297},{"type":30,"tagName":256,"properties":361,"children":362},{"style":262},[363],{"type":26,"value":364},"// generated: a slot constant per frame declared below, plus the writer",{"type":26,"value":27},{"type":30,"tagName":256,"properties":367,"children":368},{"class":258},[369,373,378,382,387,391],{"type":30,"tagName":256,"properties":370,"children":371},{"style":272},[372],{"type":26,"value":275},{"type":30,"tagName":256,"properties":374,"children":375},{"style":278},[376],{"type":26,"value":377}," { in_buy, in_close, in_oi, in_sell, in_volume } ",{"type":30,"tagName":256,"properties":379,"children":380},{"style":272},[381],{"type":26,"value":286},{"type":30,"tagName":256,"properties":383,"children":384},{"style":289},[385],{"type":26,"value":386}," \"./gen/inputs\"",{"type":30,"tagName":256,"properties":388,"children":389},{"style":278},[390],{"type":26,"value":297},{"type":30,"tagName":256,"properties":392,"children":393},{"style":262},[394],{"type":26,"value":395},"// generated: an in_ reader for each input declared below",{"type":26,"value":27},{"type":30,"tagName":256,"properties":398,"children":399},{"class":258},[400,404,409,413,418,422],{"type":30,"tagName":256,"properties":401,"children":402},{"style":272},[403],{"type":26,"value":275},{"type":30,"tagName":256,"properties":405,"children":406},{"style":278},[407],{"type":26,"value":408}," { emitRow, out_cvd, out_delta, out_ema_fast, out_ema_slow } ",{"type":30,"tagName":256,"properties":410,"children":411},{"style":272},[412],{"type":26,"value":286},{"type":30,"tagName":256,"properties":414,"children":415},{"style":289},[416],{"type":26,"value":417}," \"./gen/outputs\"",{"type":30,"tagName":256,"properties":419,"children":420},{"style":278},[421],{"type":26,"value":297},{"type":30,"tagName":256,"properties":423,"children":424},{"style":262},[425],{"type":26,"value":426},"// generated: an out_ writer per output, plus emitRow",{"type":26,"value":27},{"type":30,"tagName":256,"properties":429,"children":430},{"class":258},[431,435,440,444,449,453],{"type":30,"tagName":256,"properties":432,"children":433},{"style":272},[434],{"type":26,"value":275},{"type":30,"tagName":256,"properties":436,"children":437},{"style":278},[438],{"type":26,"value":439}," { p_fast, p_slow, p_window } ",{"type":30,"tagName":256,"properties":441,"children":442},{"style":272},[443],{"type":26,"value":286},{"type":30,"tagName":256,"properties":445,"children":446},{"style":289},[447],{"type":26,"value":448}," \"./gen/params\"",{"type":30,"tagName":256,"properties":450,"children":451},{"style":278},[452],{"type":26,"value":297},{"type":30,"tagName":256,"properties":454,"children":455},{"style":262},[456],{"type":26,"value":457},"// generated: a p_ reader for each param declared below",{"type":26,"value":27},{"type":30,"tagName":256,"properties":460,"children":461},{"class":258},[462,466,471,475,480,484],{"type":30,"tagName":256,"properties":463,"children":464},{"style":272},[465],{"type":26,"value":275},{"type":30,"tagName":256,"properties":467,"children":468},{"style":278},[469],{"type":26,"value":470}," { Ema } ",{"type":30,"tagName":256,"properties":472,"children":473},{"style":272},[474],{"type":26,"value":286},{"type":30,"tagName":256,"properties":476,"children":477},{"style":289},[478],{"type":26,"value":479}," \"./sdk/ta\"",{"type":30,"tagName":256,"properties":481,"children":482},{"style":278},[483],{"type":26,"value":297},{"type":30,"tagName":256,"properties":485,"children":486},{"style":262},[487],{"type":26,"value":488},"// the running exponential average",{"type":26,"value":27},{"type":30,"tagName":256,"properties":491,"children":492},{"class":258},[],{"type":26,"value":27},{"type":30,"tagName":256,"properties":495,"children":496},{"class":258},[497,503,508,513,518,524,529,534,539,544,549],{"type":30,"tagName":256,"properties":498,"children":500},{"style":499},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[501],{"type":26,"value":502},"param",{"type":30,"tagName":256,"properties":504,"children":505},{"style":278},[506],{"type":26,"value":507},"(",{"type":30,"tagName":256,"properties":509,"children":510},{"style":289},[511],{"type":26,"value":512},"\"fast\"",{"type":30,"tagName":256,"properties":514,"children":515},{"style":278},[516],{"type":26,"value":517},", ",{"type":30,"tagName":256,"properties":519,"children":521},{"style":520},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[522],{"type":26,"value":523},"9",{"type":30,"tagName":256,"properties":525,"children":526},{"style":278},[527],{"type":26,"value":528},", { min: ",{"type":30,"tagName":256,"properties":530,"children":531},{"style":520},[532],{"type":26,"value":533},"2",{"type":30,"tagName":256,"properties":535,"children":536},{"style":278},[537],{"type":26,"value":538},", max: ",{"type":30,"tagName":256,"properties":540,"children":541},{"style":520},[542],{"type":26,"value":543},"200",{"type":30,"tagName":256,"properties":545,"children":546},{"style":278},[547],{"type":26,"value":548}," }); ",{"type":30,"tagName":256,"properties":550,"children":551},{"style":262},[552],{"type":26,"value":553},"// the fast average's length in bars",{"type":26,"value":27},{"type":30,"tagName":256,"properties":556,"children":557},{"class":258},[558,562,566,571,575,580,584,588,592,597,601],{"type":30,"tagName":256,"properties":559,"children":560},{"style":499},[561],{"type":26,"value":502},{"type":30,"tagName":256,"properties":563,"children":564},{"style":278},[565],{"type":26,"value":507},{"type":30,"tagName":256,"properties":567,"children":568},{"style":289},[569],{"type":26,"value":570},"\"slow\"",{"type":30,"tagName":256,"properties":572,"children":573},{"style":278},[574],{"type":26,"value":517},{"type":30,"tagName":256,"properties":576,"children":577},{"style":520},[578],{"type":26,"value":579},"21",{"type":30,"tagName":256,"properties":581,"children":582},{"style":278},[583],{"type":26,"value":528},{"type":30,"tagName":256,"properties":585,"children":586},{"style":520},[587],{"type":26,"value":533},{"type":30,"tagName":256,"properties":589,"children":590},{"style":278},[591],{"type":26,"value":538},{"type":30,"tagName":256,"properties":593,"children":594},{"style":520},[595],{"type":26,"value":596},"400",{"type":30,"tagName":256,"properties":598,"children":599},{"style":278},[600],{"type":26,"value":548},{"type":30,"tagName":256,"properties":602,"children":603},{"style":262},[604],{"type":26,"value":605},"// the slow average's length in bars",{"type":26,"value":27},{"type":30,"tagName":256,"properties":608,"children":609},{"class":258},[610,614,618,623,627,631,635,640,644,649,653],{"type":30,"tagName":256,"properties":611,"children":612},{"style":499},[613],{"type":26,"value":502},{"type":30,"tagName":256,"properties":615,"children":616},{"style":278},[617],{"type":26,"value":507},{"type":30,"tagName":256,"properties":619,"children":620},{"style":289},[621],{"type":26,"value":622},"\"window\"",{"type":30,"tagName":256,"properties":624,"children":625},{"style":278},[626],{"type":26,"value":517},{"type":30,"tagName":256,"properties":628,"children":629},{"style":520},[630],{"type":26,"value":543},{"type":30,"tagName":256,"properties":632,"children":633},{"style":278},[634],{"type":26,"value":528},{"type":30,"tagName":256,"properties":636,"children":637},{"style":520},[638],{"type":26,"value":639},"20",{"type":30,"tagName":256,"properties":641,"children":642},{"style":278},[643],{"type":26,"value":538},{"type":30,"tagName":256,"properties":645,"children":646},{"style":520},[647],{"type":26,"value":648},"2000",{"type":30,"tagName":256,"properties":650,"children":651},{"style":278},[652],{"type":26,"value":548},{"type":30,"tagName":256,"properties":654,"children":655},{"style":262},[656],{"type":26,"value":657},"// bars each histogram window counts; a window param also sizes the daemon's fetch for reads",{"type":26,"value":27},{"type":30,"tagName":256,"properties":660,"children":661},{"class":258},[662,667,671,676,681],{"type":30,"tagName":256,"properties":663,"children":664},{"style":499},[665],{"type":26,"value":666},"input",{"type":30,"tagName":256,"properties":668,"children":669},{"style":278},[670],{"type":26,"value":507},{"type":30,"tagName":256,"properties":672,"children":673},{"style":289},[674],{"type":26,"value":675},"\"close\"",{"type":30,"tagName":256,"properties":677,"children":678},{"style":278},[679],{"type":26,"value":680},", ohlcv.close); ",{"type":30,"tagName":256,"properties":682,"children":683},{"style":262},[684],{"type":26,"value":685},"// the primary input: the chart's own candles define the grid every other input lines up on",{"type":26,"value":27},{"type":30,"tagName":256,"properties":688,"children":689},{"class":258},[690,694,698,703,708],{"type":30,"tagName":256,"properties":691,"children":692},{"style":499},[693],{"type":26,"value":666},{"type":30,"tagName":256,"properties":695,"children":696},{"style":278},[697],{"type":26,"value":507},{"type":30,"tagName":256,"properties":699,"children":700},{"style":289},[701],{"type":26,"value":702},"\"volume\"",{"type":30,"tagName":256,"properties":704,"children":705},{"style":278},[706],{"type":26,"value":707},", ohlcv.volume); ",{"type":30,"tagName":256,"properties":709,"children":710},{"style":262},[711],{"type":26,"value":712},"// the bar's traded volume: the gate that keeps bars with no trades out of the windows",{"type":26,"value":27},{"type":30,"tagName":256,"properties":715,"children":716},{"class":258},[717,721,725,730,735,740,744],{"type":30,"tagName":256,"properties":718,"children":719},{"style":499},[720],{"type":26,"value":666},{"type":30,"tagName":256,"properties":722,"children":723},{"style":278},[724],{"type":26,"value":507},{"type":30,"tagName":256,"properties":726,"children":727},{"style":289},[728],{"type":26,"value":729},"\"oi\"",{"type":30,"tagName":256,"properties":731,"children":732},{"style":278},[733],{"type":26,"value":734},", oi.close, { missing: ",{"type":30,"tagName":256,"properties":736,"children":737},{"style":289},[738],{"type":26,"value":739},"\"nan\"",{"type":30,"tagName":256,"properties":741,"children":742},{"style":278},[743],{"type":26,"value":548},{"type":30,"tagName":256,"properties":745,"children":746},{"style":262},[747],{"type":26,"value":748},"// open interest at the bar's close; a bar without a reading, or a market without open interest, reads NaN",{"type":26,"value":27},{"type":30,"tagName":256,"properties":751,"children":752},{"class":258},[753,757,761,766,771,776,781,786,790],{"type":30,"tagName":256,"properties":754,"children":755},{"style":499},[756],{"type":26,"value":666},{"type":30,"tagName":256,"properties":758,"children":759},{"style":278},[760],{"type":26,"value":507},{"type":30,"tagName":256,"properties":762,"children":763},{"style":289},[764],{"type":26,"value":765},"\"buy\"",{"type":30,"tagName":256,"properties":767,"children":768},{"style":278},[769],{"type":26,"value":770},", trades.volume, { side: ",{"type":30,"tagName":256,"properties":772,"children":773},{"style":289},[774],{"type":26,"value":775},"\"BUY\"",{"type":30,"tagName":256,"properties":777,"children":778},{"style":278},[779],{"type":26,"value":780},", missing: ",{"type":30,"tagName":256,"properties":782,"children":783},{"style":289},[784],{"type":26,"value":785},"\"zero\"",{"type":30,"tagName":256,"properties":787,"children":788},{"style":278},[789],{"type":26,"value":548},{"type":30,"tagName":256,"properties":791,"children":792},{"style":262},[793],{"type":26,"value":794},"// aggressive buy volume; a bar with no prints reads 0",{"type":26,"value":27},{"type":30,"tagName":256,"properties":797,"children":798},{"class":258},[799,803,807,812,816,821,825,829,833],{"type":30,"tagName":256,"properties":800,"children":801},{"style":499},[802],{"type":26,"value":666},{"type":30,"tagName":256,"properties":804,"children":805},{"style":278},[806],{"type":26,"value":507},{"type":30,"tagName":256,"properties":808,"children":809},{"style":289},[810],{"type":26,"value":811},"\"sell\"",{"type":30,"tagName":256,"properties":813,"children":814},{"style":278},[815],{"type":26,"value":770},{"type":30,"tagName":256,"properties":817,"children":818},{"style":289},[819],{"type":26,"value":820},"\"SELL\"",{"type":30,"tagName":256,"properties":822,"children":823},{"style":278},[824],{"type":26,"value":780},{"type":30,"tagName":256,"properties":826,"children":827},{"style":289},[828],{"type":26,"value":785},{"type":30,"tagName":256,"properties":830,"children":831},{"style":278},[832],{"type":26,"value":548},{"type":30,"tagName":256,"properties":834,"children":835},{"style":262},[836],{"type":26,"value":837},"// aggressive sell volume, the other half of the tape",{"type":26,"value":27},{"type":30,"tagName":256,"properties":840,"children":841},{"class":258},[842,847,851,856,861,866,871,875,879],{"type":30,"tagName":256,"properties":843,"children":844},{"style":499},[845],{"type":26,"value":846},"output",{"type":30,"tagName":256,"properties":848,"children":849},{"style":278},[850],{"type":26,"value":507},{"type":30,"tagName":256,"properties":852,"children":853},{"style":289},[854],{"type":26,"value":855},"\"ema_fast\"",{"type":30,"tagName":256,"properties":857,"children":858},{"style":278},[859],{"type":26,"value":860},", line, overlay, { color: ",{"type":30,"tagName":256,"properties":862,"children":863},{"style":289},[864],{"type":26,"value":865},"\"#38bdf8\"",{"type":30,"tagName":256,"properties":867,"children":868},{"style":278},[869],{"type":26,"value":870},", width: ",{"type":30,"tagName":256,"properties":872,"children":873},{"style":520},[874],{"type":26,"value":533},{"type":30,"tagName":256,"properties":876,"children":877},{"style":278},[878],{"type":26,"value":548},{"type":30,"tagName":256,"properties":880,"children":881},{"style":262},[882],{"type":26,"value":883},"// overlay: drawn on the price pane, over the candles",{"type":26,"value":27},{"type":30,"tagName":256,"properties":886,"children":887},{"class":258},[888,892,896,901,905,910,914,918],{"type":30,"tagName":256,"properties":889,"children":890},{"style":499},[891],{"type":26,"value":846},{"type":30,"tagName":256,"properties":893,"children":894},{"style":278},[895],{"type":26,"value":507},{"type":30,"tagName":256,"properties":897,"children":898},{"style":289},[899],{"type":26,"value":900},"\"ema_slow\"",{"type":30,"tagName":256,"properties":902,"children":903},{"style":278},[904],{"type":26,"value":860},{"type":30,"tagName":256,"properties":906,"children":907},{"style":289},[908],{"type":26,"value":909},"\"#f59e0b\"",{"type":30,"tagName":256,"properties":911,"children":912},{"style":278},[913],{"type":26,"value":870},{"type":30,"tagName":256,"properties":915,"children":916},{"style":520},[917],{"type":26,"value":533},{"type":30,"tagName":256,"properties":919,"children":920},{"style":278},[921],{"type":26,"value":922}," });",{"type":26,"value":27},{"type":30,"tagName":256,"properties":925,"children":926},{"class":258},[927,931,935,940,945,950,955,960,964],{"type":30,"tagName":256,"properties":928,"children":929},{"style":499},[930],{"type":26,"value":846},{"type":30,"tagName":256,"properties":932,"children":933},{"style":278},[934],{"type":26,"value":507},{"type":30,"tagName":256,"properties":936,"children":937},{"style":289},[938],{"type":26,"value":939},"\"cvd\"",{"type":30,"tagName":256,"properties":941,"children":942},{"style":278},[943],{"type":26,"value":944},", area, lower, { color: ",{"type":30,"tagName":256,"properties":946,"children":947},{"style":289},[948],{"type":26,"value":949},"\"#22d3a5\"",{"type":30,"tagName":256,"properties":951,"children":952},{"style":278},[953],{"type":26,"value":954},", opacity: ",{"type":30,"tagName":256,"properties":956,"children":957},{"style":520},[958],{"type":26,"value":959},"0.5",{"type":30,"tagName":256,"properties":961,"children":962},{"style":278},[963],{"type":26,"value":548},{"type":30,"tagName":256,"properties":965,"children":966},{"style":262},[967],{"type":26,"value":968},"// lower: the package's one lower pane, shared by every lower output",{"type":26,"value":27},{"type":30,"tagName":256,"properties":971,"children":972},{"class":258},[973,977,981,986,991,996,1000],{"type":30,"tagName":256,"properties":974,"children":975},{"style":499},[976],{"type":26,"value":846},{"type":30,"tagName":256,"properties":978,"children":979},{"style":278},[980],{"type":26,"value":507},{"type":30,"tagName":256,"properties":982,"children":983},{"style":289},[984],{"type":26,"value":985},"\"delta\"",{"type":30,"tagName":256,"properties":987,"children":988},{"style":278},[989],{"type":26,"value":990},", histogram, lower, { color: ",{"type":30,"tagName":256,"properties":992,"children":993},{"style":289},[994],{"type":26,"value":995},"\"#94a3b8\"",{"type":30,"tagName":256,"properties":997,"children":998},{"style":278},[999],{"type":26,"value":548},{"type":30,"tagName":256,"properties":1001,"children":1002},{"style":262},[1003],{"type":26,"value":1004},"// the same pane and the same scale as cvd; a second pane is a panel",{"type":26,"value":27},{"type":30,"tagName":256,"properties":1007,"children":1008},{"class":258},[1009,1014,1019,1024,1029,1033,1038,1043,1048,1052],{"type":30,"tagName":256,"properties":1010,"children":1011},{"style":272},[1012],{"type":26,"value":1013},"const",{"type":30,"tagName":256,"properties":1015,"children":1016},{"style":520},[1017],{"type":26,"value":1018}," oi_rows",{"type":30,"tagName":256,"properties":1020,"children":1021},{"style":272},[1022],{"type":26,"value":1023}," =",{"type":30,"tagName":256,"properties":1025,"children":1026},{"style":499},[1027],{"type":26,"value":1028}," frame",{"type":30,"tagName":256,"properties":1030,"children":1031},{"style":278},[1032],{"type":26,"value":507},{"type":30,"tagName":256,"properties":1034,"children":1035},{"style":289},[1036],{"type":26,"value":1037},"\"oi_rows\"",{"type":30,"tagName":256,"properties":1039,"children":1040},{"style":278},[1041],{"type":26,"value":1042},", { max_bytes: ",{"type":30,"tagName":256,"properties":1044,"children":1045},{"style":520},[1046],{"type":26,"value":1047},"16384",{"type":30,"tagName":256,"properties":1049,"children":1050},{"style":278},[1051],{"type":26,"value":548},{"type":30,"tagName":256,"properties":1053,"children":1054},{"style":262},[1055],{"type":26,"value":1056},"// a frame: one JSON snapshot for the run, rewritten on the live bar (a name is one space across outputs, frames and panels)",{"type":26,"value":27},{"type":30,"tagName":256,"properties":1059,"children":1060},{"class":258},[1061,1065,1070,1074,1078,1082,1087,1091,1095],{"type":30,"tagName":256,"properties":1062,"children":1063},{"style":272},[1064],{"type":26,"value":1013},{"type":30,"tagName":256,"properties":1066,"children":1067},{"style":520},[1068],{"type":26,"value":1069}," delta_rows",{"type":30,"tagName":256,"properties":1071,"children":1072},{"style":272},[1073],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":1075,"children":1076},{"style":499},[1077],{"type":26,"value":1028},{"type":30,"tagName":256,"properties":1079,"children":1080},{"style":278},[1081],{"type":26,"value":507},{"type":30,"tagName":256,"properties":1083,"children":1084},{"style":289},[1085],{"type":26,"value":1086},"\"delta_rows\"",{"type":30,"tagName":256,"properties":1088,"children":1089},{"style":278},[1090],{"type":26,"value":1042},{"type":30,"tagName":256,"properties":1092,"children":1093},{"style":520},[1094],{"type":26,"value":1047},{"type":30,"tagName":256,"properties":1096,"children":1097},{"style":278},[1098],{"type":26,"value":922},{"type":26,"value":27},{"type":30,"tagName":256,"properties":1101,"children":1102},{"class":258},[1103,1108,1113,1118,1123,1128,1133,1138,1143,1148,1153,1158,1163,1167],{"type":30,"tagName":256,"properties":1104,"children":1105},{"style":278},[1106],{"type":26,"value":1107},"panel.",{"type":30,"tagName":256,"properties":1109,"children":1110},{"style":499},[1111],{"type":26,"value":1112},"histogram",{"type":30,"tagName":256,"properties":1114,"children":1115},{"style":278},[1116],{"type":26,"value":1117},"({ name: ",{"type":30,"tagName":256,"properties":1119,"children":1120},{"style":289},[1121],{"type":26,"value":1122},"\"oi_change\"",{"type":30,"tagName":256,"properties":1124,"children":1125},{"style":278},[1126],{"type":26,"value":1127},", title: ",{"type":30,"tagName":256,"properties":1129,"children":1130},{"style":289},[1131],{"type":26,"value":1132},"\"OI change\"",{"type":30,"tagName":256,"properties":1134,"children":1135},{"style":278},[1136],{"type":26,"value":1137},", x: ",{"type":30,"tagName":256,"properties":1139,"children":1140},{"style":289},[1141],{"type":26,"value":1142},"\"category\"",{"type":30,"tagName":256,"properties":1144,"children":1145},{"style":278},[1146],{"type":26,"value":1147},", place: ",{"type":30,"tagName":256,"properties":1149,"children":1150},{"style":289},[1151],{"type":26,"value":1152},"\"below\"",{"type":30,"tagName":256,"properties":1154,"children":1155},{"style":278},[1156],{"type":26,"value":1157},", frame: oi_rows, bins: ",{"type":30,"tagName":256,"properties":1159,"children":1160},{"style":520},[1161],{"type":26,"value":1162},"24",{"type":30,"tagName":256,"properties":1164,"children":1165},{"style":278},[1166],{"type":26,"value":548},{"type":30,"tagName":256,"properties":1168,"children":1169},{"style":262},[1170],{"type":26,"value":1171},"// a panel: its own window under the chart, fed by the frame",{"type":26,"value":27},{"type":30,"tagName":256,"properties":1174,"children":1175},{"class":258},[1176,1180,1184,1188,1193,1197,1202,1206,1210,1214,1218,1223,1227],{"type":30,"tagName":256,"properties":1177,"children":1178},{"style":278},[1179],{"type":26,"value":1107},{"type":30,"tagName":256,"properties":1181,"children":1182},{"style":499},[1183],{"type":26,"value":1112},{"type":30,"tagName":256,"properties":1185,"children":1186},{"style":278},[1187],{"type":26,"value":1117},{"type":30,"tagName":256,"properties":1189,"children":1190},{"style":289},[1191],{"type":26,"value":1192},"\"vol_delta\"",{"type":30,"tagName":256,"properties":1194,"children":1195},{"style":278},[1196],{"type":26,"value":1127},{"type":30,"tagName":256,"properties":1198,"children":1199},{"style":289},[1200],{"type":26,"value":1201},"\"Volume delta\"",{"type":30,"tagName":256,"properties":1203,"children":1204},{"style":278},[1205],{"type":26,"value":1137},{"type":30,"tagName":256,"properties":1207,"children":1208},{"style":289},[1209],{"type":26,"value":1142},{"type":30,"tagName":256,"properties":1211,"children":1212},{"style":278},[1213],{"type":26,"value":1147},{"type":30,"tagName":256,"properties":1215,"children":1216},{"style":289},[1217],{"type":26,"value":1152},{"type":30,"tagName":256,"properties":1219,"children":1220},{"style":278},[1221],{"type":26,"value":1222},", frame: delta_rows, bins: ",{"type":30,"tagName":256,"properties":1224,"children":1225},{"style":520},[1226],{"type":26,"value":1162},{"type":30,"tagName":256,"properties":1228,"children":1229},{"style":278},[1230],{"type":26,"value":922},{"type":26,"value":27},{"type":30,"tagName":256,"properties":1233,"children":1234},{"class":258},[],{"type":26,"value":27},{"type":30,"tagName":256,"properties":1237,"children":1238},{"class":258},[1239,1243,1248,1252,1257,1261,1265,1270,1274,1279,1283],{"type":30,"tagName":256,"properties":1240,"children":1241},{"style":272},[1242],{"type":26,"value":1013},{"type":30,"tagName":256,"properties":1244,"children":1245},{"style":520},[1246],{"type":26,"value":1247}," MAX_WINDOW",{"type":30,"tagName":256,"properties":1249,"children":1250},{"style":272},[1251],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":1253,"children":1254},{"style":520},[1255],{"type":26,"value":1256}," 2000",{"type":30,"tagName":256,"properties":1258,"children":1259},{"style":278},[1260],{"type":26,"value":297},{"type":30,"tagName":256,"properties":1262,"children":1263},{"style":272},[1264],{"type":26,"value":1013},{"type":30,"tagName":256,"properties":1266,"children":1267},{"style":520},[1268],{"type":26,"value":1269}," BINS",{"type":30,"tagName":256,"properties":1271,"children":1272},{"style":272},[1273],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":1275,"children":1276},{"style":520},[1277],{"type":26,"value":1278}," 24",{"type":30,"tagName":256,"properties":1280,"children":1281},{"style":278},[1282],{"type":26,"value":297},{"type":30,"tagName":256,"properties":1284,"children":1285},{"style":262},[1286],{"type":26,"value":1287},"// the rings are sized for the largest window; init() reads the one in use",{"type":26,"value":27},{"type":30,"tagName":256,"properties":1290,"children":1291},{"class":258},[1292,1296,1301,1305,1310,1315,1320,1325,1330,1335,1340,1344,1349,1353,1357,1361,1365,1369,1373,1377,1381],{"type":30,"tagName":256,"properties":1293,"children":1294},{"style":272},[1295],{"type":26,"value":1013},{"type":30,"tagName":256,"properties":1297,"children":1298},{"style":520},[1299],{"type":26,"value":1300}," oiRing",{"type":30,"tagName":256,"properties":1302,"children":1303},{"style":272},[1304],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":1306,"children":1307},{"style":272},[1308],{"type":26,"value":1309}," new",{"type":30,"tagName":256,"properties":1311,"children":1312},{"style":499},[1313],{"type":26,"value":1314}," StaticArray",{"type":30,"tagName":256,"properties":1316,"children":1317},{"style":278},[1318],{"type":26,"value":1319},"\u003C",{"type":30,"tagName":256,"properties":1321,"children":1322},{"style":499},[1323],{"type":26,"value":1324},"f64",{"type":30,"tagName":256,"properties":1326,"children":1327},{"style":278},[1328],{"type":26,"value":1329},">(",{"type":30,"tagName":256,"properties":1331,"children":1332},{"style":520},[1333],{"type":26,"value":1334},"MAX_WINDOW",{"type":30,"tagName":256,"properties":1336,"children":1337},{"style":278},[1338],{"type":26,"value":1339},"); ",{"type":30,"tagName":256,"properties":1341,"children":1342},{"style":272},[1343],{"type":26,"value":1013},{"type":30,"tagName":256,"properties":1345,"children":1346},{"style":520},[1347],{"type":26,"value":1348}," deltaRing",{"type":30,"tagName":256,"properties":1350,"children":1351},{"style":272},[1352],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":1354,"children":1355},{"style":272},[1356],{"type":26,"value":1309},{"type":30,"tagName":256,"properties":1358,"children":1359},{"style":499},[1360],{"type":26,"value":1314},{"type":30,"tagName":256,"properties":1362,"children":1363},{"style":278},[1364],{"type":26,"value":1319},{"type":30,"tagName":256,"properties":1366,"children":1367},{"style":499},[1368],{"type":26,"value":1324},{"type":30,"tagName":256,"properties":1370,"children":1371},{"style":278},[1372],{"type":26,"value":1329},{"type":30,"tagName":256,"properties":1374,"children":1375},{"style":520},[1376],{"type":26,"value":1334},{"type":30,"tagName":256,"properties":1378,"children":1379},{"style":278},[1380],{"type":26,"value":1339},{"type":30,"tagName":256,"properties":1382,"children":1383},{"style":262},[1384],{"type":26,"value":1385},"// the last window traded bars' values",{"type":26,"value":27},{"type":30,"tagName":256,"properties":1388,"children":1389},{"class":258},[1390,1394,1399,1403,1407,1411,1415,1420,1424,1429,1433],{"type":30,"tagName":256,"properties":1391,"children":1392},{"style":272},[1393],{"type":26,"value":1013},{"type":30,"tagName":256,"properties":1395,"children":1396},{"style":520},[1397],{"type":26,"value":1398}," counts",{"type":30,"tagName":256,"properties":1400,"children":1401},{"style":272},[1402],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":1404,"children":1405},{"style":272},[1406],{"type":26,"value":1309},{"type":30,"tagName":256,"properties":1408,"children":1409},{"style":499},[1410],{"type":26,"value":1314},{"type":30,"tagName":256,"properties":1412,"children":1413},{"style":278},[1414],{"type":26,"value":1319},{"type":30,"tagName":256,"properties":1416,"children":1417},{"style":499},[1418],{"type":26,"value":1419},"i32",{"type":30,"tagName":256,"properties":1421,"children":1422},{"style":278},[1423],{"type":26,"value":1329},{"type":30,"tagName":256,"properties":1425,"children":1426},{"style":520},[1427],{"type":26,"value":1428},"BINS",{"type":30,"tagName":256,"properties":1430,"children":1431},{"style":278},[1432],{"type":26,"value":1339},{"type":30,"tagName":256,"properties":1434,"children":1435},{"style":262},[1436],{"type":26,"value":1437},"// one count per column, refilled for each histogram",{"type":26,"value":27},{"type":30,"tagName":256,"properties":1440,"children":1441},{"class":258},[1442,1447,1452,1457,1461,1466,1470,1474,1478,1482,1487,1491,1495,1499,1503,1507,1511,1515,1520,1524,1529,1533],{"type":30,"tagName":256,"properties":1443,"children":1444},{"style":272},[1445],{"type":26,"value":1446},"let",{"type":30,"tagName":256,"properties":1448,"children":1449},{"style":278},[1450],{"type":26,"value":1451}," fast ",{"type":30,"tagName":256,"properties":1453,"children":1454},{"style":272},[1455],{"type":26,"value":1456},"=",{"type":30,"tagName":256,"properties":1458,"children":1459},{"style":272},[1460],{"type":26,"value":1309},{"type":30,"tagName":256,"properties":1462,"children":1463},{"style":499},[1464],{"type":26,"value":1465}," Ema",{"type":30,"tagName":256,"properties":1467,"children":1468},{"style":278},[1469],{"type":26,"value":507},{"type":30,"tagName":256,"properties":1471,"children":1472},{"style":520},[1473],{"type":26,"value":523},{"type":30,"tagName":256,"properties":1475,"children":1476},{"style":278},[1477],{"type":26,"value":1339},{"type":30,"tagName":256,"properties":1479,"children":1480},{"style":272},[1481],{"type":26,"value":1446},{"type":30,"tagName":256,"properties":1483,"children":1484},{"style":278},[1485],{"type":26,"value":1486}," slow ",{"type":30,"tagName":256,"properties":1488,"children":1489},{"style":272},[1490],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":1492,"children":1493},{"style":272},[1494],{"type":26,"value":1309},{"type":30,"tagName":256,"properties":1496,"children":1497},{"style":499},[1498],{"type":26,"value":1465},{"type":30,"tagName":256,"properties":1500,"children":1501},{"style":278},[1502],{"type":26,"value":507},{"type":30,"tagName":256,"properties":1504,"children":1505},{"style":520},[1506],{"type":26,"value":579},{"type":30,"tagName":256,"properties":1508,"children":1509},{"style":278},[1510],{"type":26,"value":1339},{"type":30,"tagName":256,"properties":1512,"children":1513},{"style":272},[1514],{"type":26,"value":1446},{"type":30,"tagName":256,"properties":1516,"children":1517},{"style":278},[1518],{"type":26,"value":1519}," window ",{"type":30,"tagName":256,"properties":1521,"children":1522},{"style":272},[1523],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":1525,"children":1526},{"style":520},[1527],{"type":26,"value":1528}," 200",{"type":30,"tagName":256,"properties":1530,"children":1531},{"style":278},[1532],{"type":26,"value":297},{"type":30,"tagName":256,"properties":1534,"children":1535},{"style":262},[1536],{"type":26,"value":1537},"// init() rebuilds these from the params",{"type":26,"value":27},{"type":30,"tagName":256,"properties":1540,"children":1541},{"class":258},[1542,1546,1551,1556,1561,1565,1570,1574,1578,1583,1587,1591,1595,1599,1603,1607,1612,1616,1620,1624,1629,1633,1637,1642,1646,1650,1654,1658,1662,1666,1671,1675,1679,1683,1687,1691],{"type":30,"tagName":256,"properties":1543,"children":1544},{"style":272},[1545],{"type":26,"value":1446},{"type":30,"tagName":256,"properties":1547,"children":1548},{"style":278},[1549],{"type":26,"value":1550}," emaFast",{"type":30,"tagName":256,"properties":1552,"children":1553},{"style":272},[1554],{"type":26,"value":1555},":",{"type":30,"tagName":256,"properties":1557,"children":1558},{"style":499},[1559],{"type":26,"value":1560}," f64",{"type":30,"tagName":256,"properties":1562,"children":1563},{"style":272},[1564],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":1566,"children":1567},{"style":520},[1568],{"type":26,"value":1569}," NaN",{"type":30,"tagName":256,"properties":1571,"children":1572},{"style":278},[1573],{"type":26,"value":297},{"type":30,"tagName":256,"properties":1575,"children":1576},{"style":272},[1577],{"type":26,"value":1446},{"type":30,"tagName":256,"properties":1579,"children":1580},{"style":278},[1581],{"type":26,"value":1582}," emaSlow",{"type":30,"tagName":256,"properties":1584,"children":1585},{"style":272},[1586],{"type":26,"value":1555},{"type":30,"tagName":256,"properties":1588,"children":1589},{"style":499},[1590],{"type":26,"value":1560},{"type":30,"tagName":256,"properties":1592,"children":1593},{"style":272},[1594],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":1596,"children":1597},{"style":520},[1598],{"type":26,"value":1569},{"type":30,"tagName":256,"properties":1600,"children":1601},{"style":278},[1602],{"type":26,"value":297},{"type":30,"tagName":256,"properties":1604,"children":1605},{"style":272},[1606],{"type":26,"value":1446},{"type":30,"tagName":256,"properties":1608,"children":1609},{"style":278},[1610],{"type":26,"value":1611}," cvd",{"type":30,"tagName":256,"properties":1613,"children":1614},{"style":272},[1615],{"type":26,"value":1555},{"type":30,"tagName":256,"properties":1617,"children":1618},{"style":499},[1619],{"type":26,"value":1560},{"type":30,"tagName":256,"properties":1621,"children":1622},{"style":272},[1623],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":1625,"children":1626},{"style":520},[1627],{"type":26,"value":1628}," 0.0",{"type":30,"tagName":256,"properties":1630,"children":1631},{"style":278},[1632],{"type":26,"value":297},{"type":30,"tagName":256,"properties":1634,"children":1635},{"style":272},[1636],{"type":26,"value":1446},{"type":30,"tagName":256,"properties":1638,"children":1639},{"style":278},[1640],{"type":26,"value":1641}," delta",{"type":30,"tagName":256,"properties":1643,"children":1644},{"style":272},[1645],{"type":26,"value":1555},{"type":30,"tagName":256,"properties":1647,"children":1648},{"style":499},[1649],{"type":26,"value":1560},{"type":30,"tagName":256,"properties":1651,"children":1652},{"style":272},[1653],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":1655,"children":1656},{"style":520},[1657],{"type":26,"value":1628},{"type":30,"tagName":256,"properties":1659,"children":1660},{"style":278},[1661],{"type":26,"value":297},{"type":30,"tagName":256,"properties":1663,"children":1664},{"style":272},[1665],{"type":26,"value":1446},{"type":30,"tagName":256,"properties":1667,"children":1668},{"style":278},[1669],{"type":26,"value":1670}," prevOi",{"type":30,"tagName":256,"properties":1672,"children":1673},{"style":272},[1674],{"type":26,"value":1555},{"type":30,"tagName":256,"properties":1676,"children":1677},{"style":499},[1678],{"type":26,"value":1560},{"type":30,"tagName":256,"properties":1680,"children":1681},{"style":272},[1682],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":1684,"children":1685},{"style":520},[1686],{"type":26,"value":1569},{"type":30,"tagName":256,"properties":1688,"children":1689},{"style":278},[1690],{"type":26,"value":297},{"type":30,"tagName":256,"properties":1692,"children":1693},{"style":262},[1694],{"type":26,"value":1695},"// module state",{"type":26,"value":27},{"type":30,"tagName":256,"properties":1698,"children":1699},{"class":258},[1700,1704,1709,1713,1718,1722,1726,1731,1735,1739,1743],{"type":30,"tagName":256,"properties":1701,"children":1702},{"style":272},[1703],{"type":26,"value":1446},{"type":30,"tagName":256,"properties":1705,"children":1706},{"style":278},[1707],{"type":26,"value":1708}," head ",{"type":30,"tagName":256,"properties":1710,"children":1711},{"style":272},[1712],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":1714,"children":1715},{"style":520},[1716],{"type":26,"value":1717}," 0",{"type":30,"tagName":256,"properties":1719,"children":1720},{"style":278},[1721],{"type":26,"value":297},{"type":30,"tagName":256,"properties":1723,"children":1724},{"style":272},[1725],{"type":26,"value":1446},{"type":30,"tagName":256,"properties":1727,"children":1728},{"style":278},[1729],{"type":26,"value":1730}," filled ",{"type":30,"tagName":256,"properties":1732,"children":1733},{"style":272},[1734],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":1736,"children":1737},{"style":520},[1738],{"type":26,"value":1717},{"type":30,"tagName":256,"properties":1740,"children":1741},{"style":278},[1742],{"type":26,"value":297},{"type":30,"tagName":256,"properties":1744,"children":1745},{"style":262},[1746],{"type":26,"value":1747},"// the rings' write cursor and how many slots hold a value",{"type":26,"value":27},{"type":30,"tagName":256,"properties":1750,"children":1751},{"class":258},[],{"type":26,"value":27},{"type":30,"tagName":256,"properties":1754,"children":1755},{"class":258},[1756,1761,1766,1771,1776,1780,1785,1790,1794,1798,1802,1806,1810,1814,1819,1824,1828,1832,1836,1840,1844,1848,1853,1858,1862,1867,1871,1876],{"type":30,"tagName":256,"properties":1757,"children":1758},{"style":272},[1759],{"type":26,"value":1760},"export",{"type":30,"tagName":256,"properties":1762,"children":1763},{"style":272},[1764],{"type":26,"value":1765}," function",{"type":30,"tagName":256,"properties":1767,"children":1768},{"style":499},[1769],{"type":26,"value":1770}," init",{"type":30,"tagName":256,"properties":1772,"children":1773},{"style":278},[1774],{"type":26,"value":1775},"()",{"type":30,"tagName":256,"properties":1777,"children":1778},{"style":272},[1779],{"type":26,"value":1555},{"type":30,"tagName":256,"properties":1781,"children":1782},{"style":520},[1783],{"type":26,"value":1784}," void",{"type":30,"tagName":256,"properties":1786,"children":1787},{"style":278},[1788],{"type":26,"value":1789}," { fast ",{"type":30,"tagName":256,"properties":1791,"children":1792},{"style":272},[1793],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":1795,"children":1796},{"style":272},[1797],{"type":26,"value":1309},{"type":30,"tagName":256,"properties":1799,"children":1800},{"style":499},[1801],{"type":26,"value":1465},{"type":30,"tagName":256,"properties":1803,"children":1804},{"style":278},[1805],{"type":26,"value":507},{"type":30,"tagName":256,"properties":1807,"children":1808},{"style":499},[1809],{"type":26,"value":1419},{"type":30,"tagName":256,"properties":1811,"children":1812},{"style":278},[1813],{"type":26,"value":507},{"type":30,"tagName":256,"properties":1815,"children":1816},{"style":499},[1817],{"type":26,"value":1818},"p_fast",{"type":30,"tagName":256,"properties":1820,"children":1821},{"style":278},[1822],{"type":26,"value":1823},"())); slow ",{"type":30,"tagName":256,"properties":1825,"children":1826},{"style":272},[1827],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":1829,"children":1830},{"style":272},[1831],{"type":26,"value":1309},{"type":30,"tagName":256,"properties":1833,"children":1834},{"style":499},[1835],{"type":26,"value":1465},{"type":30,"tagName":256,"properties":1837,"children":1838},{"style":278},[1839],{"type":26,"value":507},{"type":30,"tagName":256,"properties":1841,"children":1842},{"style":499},[1843],{"type":26,"value":1419},{"type":30,"tagName":256,"properties":1845,"children":1846},{"style":278},[1847],{"type":26,"value":507},{"type":30,"tagName":256,"properties":1849,"children":1850},{"style":499},[1851],{"type":26,"value":1852},"p_slow",{"type":30,"tagName":256,"properties":1854,"children":1855},{"style":278},[1856],{"type":26,"value":1857},"())); window ",{"type":30,"tagName":256,"properties":1859,"children":1860},{"style":272},[1861],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":1863,"children":1864},{"style":499},[1865],{"type":26,"value":1866}," i32",{"type":30,"tagName":256,"properties":1868,"children":1869},{"style":278},[1870],{"type":26,"value":507},{"type":30,"tagName":256,"properties":1872,"children":1873},{"style":499},[1874],{"type":26,"value":1875},"p_window",{"type":30,"tagName":256,"properties":1877,"children":1878},{"style":278},[1879],{"type":26,"value":1880},"()); }",{"type":26,"value":27},{"type":30,"tagName":256,"properties":1883,"children":1884},{"class":258},[1885,1889,1893,1898,1902,1906,1910,1915],{"type":30,"tagName":256,"properties":1886,"children":1887},{"style":272},[1888],{"type":26,"value":1760},{"type":30,"tagName":256,"properties":1890,"children":1891},{"style":272},[1892],{"type":26,"value":1765},{"type":30,"tagName":256,"properties":1894,"children":1895},{"style":499},[1896],{"type":26,"value":1897}," state",{"type":30,"tagName":256,"properties":1899,"children":1900},{"style":278},[1901],{"type":26,"value":1775},{"type":30,"tagName":256,"properties":1903,"children":1904},{"style":272},[1905],{"type":26,"value":1555},{"type":30,"tagName":256,"properties":1907,"children":1908},{"style":499},[1909],{"type":26,"value":1866},{"type":30,"tagName":256,"properties":1911,"children":1912},{"style":278},[1913],{"type":26,"value":1914}," { ",{"type":30,"tagName":256,"properties":1916,"children":1917},{"style":262},[1918],{"type":26,"value":1919},"// once per bar: both averages, the bar's delta into the running sum, one slot in each ring",{"type":26,"value":27},{"type":30,"tagName":256,"properties":1922,"children":1923},{"class":258},[1924,1929,1934,1938,1943,1948,1952,1957,1962,1967,1971,1976,1980],{"type":30,"tagName":256,"properties":1925,"children":1926},{"style":272},[1927],{"type":26,"value":1928},"  const",{"type":30,"tagName":256,"properties":1930,"children":1931},{"style":520},[1932],{"type":26,"value":1933}," close",{"type":30,"tagName":256,"properties":1935,"children":1936},{"style":272},[1937],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":1939,"children":1940},{"style":499},[1941],{"type":26,"value":1942}," in_close",{"type":30,"tagName":256,"properties":1944,"children":1945},{"style":278},[1946],{"type":26,"value":1947},"(); emaFast ",{"type":30,"tagName":256,"properties":1949,"children":1950},{"style":272},[1951],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":1953,"children":1954},{"style":278},[1955],{"type":26,"value":1956}," fast.",{"type":30,"tagName":256,"properties":1958,"children":1959},{"style":499},[1960],{"type":26,"value":1961},"update",{"type":30,"tagName":256,"properties":1963,"children":1964},{"style":278},[1965],{"type":26,"value":1966},"(close); emaSlow ",{"type":30,"tagName":256,"properties":1968,"children":1969},{"style":272},[1970],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":1972,"children":1973},{"style":278},[1974],{"type":26,"value":1975}," slow.",{"type":30,"tagName":256,"properties":1977,"children":1978},{"style":499},[1979],{"type":26,"value":1961},{"type":30,"tagName":256,"properties":1981,"children":1982},{"style":278},[1983],{"type":26,"value":1984},"(close);",{"type":26,"value":27},{"type":30,"tagName":256,"properties":1987,"children":1988},{"class":258},[1989,1994,1998,2003,2008,2013,2018,2023,2028],{"type":30,"tagName":256,"properties":1990,"children":1991},{"style":278},[1992],{"type":26,"value":1993},"  delta ",{"type":30,"tagName":256,"properties":1995,"children":1996},{"style":272},[1997],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":1999,"children":2000},{"style":499},[2001],{"type":26,"value":2002}," in_buy",{"type":30,"tagName":256,"properties":2004,"children":2005},{"style":278},[2006],{"type":26,"value":2007},"() ",{"type":30,"tagName":256,"properties":2009,"children":2010},{"style":272},[2011],{"type":26,"value":2012},"-",{"type":30,"tagName":256,"properties":2014,"children":2015},{"style":499},[2016],{"type":26,"value":2017}," in_sell",{"type":30,"tagName":256,"properties":2019,"children":2020},{"style":278},[2021],{"type":26,"value":2022},"(); cvd ",{"type":30,"tagName":256,"properties":2024,"children":2025},{"style":272},[2026],{"type":26,"value":2027},"+=",{"type":30,"tagName":256,"properties":2029,"children":2030},{"style":278},[2031],{"type":26,"value":2032}," delta;",{"type":26,"value":27},{"type":30,"tagName":256,"properties":2035,"children":2036},{"class":258},[2037,2041,2046,2050,2055,2060,2064,2069,2073,2078,2083,2088,2092,2097,2102,2106,2111,2115,2120],{"type":30,"tagName":256,"properties":2038,"children":2039},{"style":272},[2040],{"type":26,"value":1928},{"type":30,"tagName":256,"properties":2042,"children":2043},{"style":520},[2044],{"type":26,"value":2045}," oiNow",{"type":30,"tagName":256,"properties":2047,"children":2048},{"style":272},[2049],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":2051,"children":2052},{"style":499},[2053],{"type":26,"value":2054}," in_oi",{"type":30,"tagName":256,"properties":2056,"children":2057},{"style":278},[2058],{"type":26,"value":2059},"(); ",{"type":30,"tagName":256,"properties":2061,"children":2062},{"style":272},[2063],{"type":26,"value":1013},{"type":30,"tagName":256,"properties":2065,"children":2066},{"style":520},[2067],{"type":26,"value":2068}," oiChange",{"type":30,"tagName":256,"properties":2070,"children":2071},{"style":272},[2072],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":2074,"children":2075},{"style":499},[2076],{"type":26,"value":2077}," isNaN",{"type":30,"tagName":256,"properties":2079,"children":2080},{"style":278},[2081],{"type":26,"value":2082},"(prevOi) ",{"type":30,"tagName":256,"properties":2084,"children":2085},{"style":272},[2086],{"type":26,"value":2087},"?",{"type":30,"tagName":256,"properties":2089,"children":2090},{"style":520},[2091],{"type":26,"value":1569},{"type":30,"tagName":256,"properties":2093,"children":2094},{"style":272},[2095],{"type":26,"value":2096}," :",{"type":30,"tagName":256,"properties":2098,"children":2099},{"style":278},[2100],{"type":26,"value":2101}," oiNow ",{"type":30,"tagName":256,"properties":2103,"children":2104},{"style":272},[2105],{"type":26,"value":2012},{"type":30,"tagName":256,"properties":2107,"children":2108},{"style":278},[2109],{"type":26,"value":2110}," prevOi; prevOi ",{"type":30,"tagName":256,"properties":2112,"children":2113},{"style":272},[2114],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":2116,"children":2117},{"style":278},[2118],{"type":26,"value":2119}," oiNow; ",{"type":30,"tagName":256,"properties":2121,"children":2122},{"style":262},[2123],{"type":26,"value":2124},"// the first bar, and a bar without a reading, has no change: NaN, which the binning skips",{"type":26,"value":27},{"type":30,"tagName":256,"properties":2127,"children":2128},{"class":258},[2129,2134,2139,2144,2148,2153,2157,2162],{"type":30,"tagName":256,"properties":2130,"children":2131},{"style":272},[2132],{"type":26,"value":2133},"  if",{"type":30,"tagName":256,"properties":2135,"children":2136},{"style":278},[2137],{"type":26,"value":2138}," (",{"type":30,"tagName":256,"properties":2140,"children":2141},{"style":499},[2142],{"type":26,"value":2143},"in_volume",{"type":30,"tagName":256,"properties":2145,"children":2146},{"style":278},[2147],{"type":26,"value":2007},{"type":30,"tagName":256,"properties":2149,"children":2150},{"style":272},[2151],{"type":26,"value":2152},">",{"type":30,"tagName":256,"properties":2154,"children":2155},{"style":520},[2156],{"type":26,"value":1628},{"type":30,"tagName":256,"properties":2158,"children":2159},{"style":278},[2160],{"type":26,"value":2161},") { ",{"type":30,"tagName":256,"properties":2163,"children":2164},{"style":262},[2165],{"type":26,"value":2166},"// a bar with no trades reads a zero delta by policy and would only pile onto the zero column",{"type":26,"value":27},{"type":30,"tagName":256,"properties":2169,"children":2170},{"class":258},[2171,2176,2180,2185,2189,2194,2198,2203,2208,2213,2218,2223,2228,2233,2238,2242,2247,2251,2255],{"type":30,"tagName":256,"properties":2172,"children":2173},{"style":278},[2174],{"type":26,"value":2175},"    oiRing[head] ",{"type":30,"tagName":256,"properties":2177,"children":2178},{"style":272},[2179],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":2181,"children":2182},{"style":278},[2183],{"type":26,"value":2184}," oiChange; deltaRing[head] ",{"type":30,"tagName":256,"properties":2186,"children":2187},{"style":272},[2188],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":2190,"children":2191},{"style":278},[2192],{"type":26,"value":2193}," delta; head ",{"type":30,"tagName":256,"properties":2195,"children":2196},{"style":272},[2197],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":2199,"children":2200},{"style":278},[2201],{"type":26,"value":2202}," (head ",{"type":30,"tagName":256,"properties":2204,"children":2205},{"style":272},[2206],{"type":26,"value":2207},"+",{"type":30,"tagName":256,"properties":2209,"children":2210},{"style":520},[2211],{"type":26,"value":2212}," 1",{"type":30,"tagName":256,"properties":2214,"children":2215},{"style":278},[2216],{"type":26,"value":2217},") ",{"type":30,"tagName":256,"properties":2219,"children":2220},{"style":272},[2221],{"type":26,"value":2222},"%",{"type":30,"tagName":256,"properties":2224,"children":2225},{"style":278},[2226],{"type":26,"value":2227}," window; ",{"type":30,"tagName":256,"properties":2229,"children":2230},{"style":272},[2231],{"type":26,"value":2232},"if",{"type":30,"tagName":256,"properties":2234,"children":2235},{"style":278},[2236],{"type":26,"value":2237}," (filled ",{"type":30,"tagName":256,"properties":2239,"children":2240},{"style":272},[2241],{"type":26,"value":1319},{"type":30,"tagName":256,"properties":2243,"children":2244},{"style":278},[2245],{"type":26,"value":2246}," window) filled ",{"type":30,"tagName":256,"properties":2248,"children":2249},{"style":272},[2250],{"type":26,"value":2027},{"type":30,"tagName":256,"properties":2252,"children":2253},{"style":520},[2254],{"type":26,"value":2212},{"type":30,"tagName":256,"properties":2256,"children":2257},{"style":278},[2258],{"type":26,"value":2259},";",{"type":26,"value":27},{"type":30,"tagName":256,"properties":2262,"children":2263},{"class":258},[2264],{"type":30,"tagName":256,"properties":2265,"children":2266},{"style":278},[2267],{"type":26,"value":2268},"  }",{"type":26,"value":27},{"type":30,"tagName":256,"properties":2271,"children":2272},{"class":258},[2273,2278,2282],{"type":30,"tagName":256,"properties":2274,"children":2275},{"style":272},[2276],{"type":26,"value":2277},"  return",{"type":30,"tagName":256,"properties":2279,"children":2280},{"style":520},[2281],{"type":26,"value":2212},{"type":30,"tagName":256,"properties":2283,"children":2284},{"style":278},[2285],{"type":26,"value":2259},{"type":26,"value":27},{"type":30,"tagName":256,"properties":2288,"children":2289},{"class":258},[2290],{"type":30,"tagName":256,"properties":2291,"children":2292},{"style":278},[2293],{"type":26,"value":2294},"}",{"type":26,"value":27},{"type":30,"tagName":256,"properties":2297,"children":2298},{"class":258},[2299],{"type":30,"tagName":256,"properties":2300,"children":2301},{"style":262},[2302],{"type":26,"value":2303},"// One window's rows: the ring's finite values split into BINS equal-width columns from the lowest to the highest,",{"type":26,"value":27},{"type":30,"tagName":256,"properties":2306,"children":2307},{"class":258},[2308],{"type":30,"tagName":256,"properties":2309,"children":2310},{"style":262},[2311],{"type":26,"value":2312},"// one [\"label\", count] pair per column, the label being the column's lower edge with just enough decimals to tell neighbours apart.",{"type":26,"value":27},{"type":30,"tagName":256,"properties":2315,"children":2316},{"class":258},[2317,2322,2327,2331,2337,2341,2345,2349,2353,2358,2362,2367],{"type":30,"tagName":256,"properties":2318,"children":2319},{"style":272},[2320],{"type":26,"value":2321},"function",{"type":30,"tagName":256,"properties":2323,"children":2324},{"style":499},[2325],{"type":26,"value":2326}," histogramJson",{"type":30,"tagName":256,"properties":2328,"children":2329},{"style":278},[2330],{"type":26,"value":507},{"type":30,"tagName":256,"properties":2332,"children":2334},{"style":2333},"--shiki-dark:#FFAB70;--shiki-light:#E36209",[2335],{"type":26,"value":2336},"ring",{"type":30,"tagName":256,"properties":2338,"children":2339},{"style":272},[2340],{"type":26,"value":1555},{"type":30,"tagName":256,"properties":2342,"children":2343},{"style":499},[2344],{"type":26,"value":1314},{"type":30,"tagName":256,"properties":2346,"children":2347},{"style":278},[2348],{"type":26,"value":1319},{"type":30,"tagName":256,"properties":2350,"children":2351},{"style":499},[2352],{"type":26,"value":1324},{"type":30,"tagName":256,"properties":2354,"children":2355},{"style":278},[2356],{"type":26,"value":2357},">)",{"type":30,"tagName":256,"properties":2359,"children":2360},{"style":272},[2361],{"type":26,"value":1555},{"type":30,"tagName":256,"properties":2363,"children":2364},{"style":520},[2365],{"type":26,"value":2366}," string",{"type":30,"tagName":256,"properties":2368,"children":2369},{"style":278},[2370],{"type":26,"value":2371}," {",{"type":26,"value":27},{"type":30,"tagName":256,"properties":2374,"children":2375},{"class":258},[2376,2381,2386,2390,2395,2399,2403,2408,2412,2417,2422],{"type":30,"tagName":256,"properties":2377,"children":2378},{"style":272},[2379],{"type":26,"value":2380},"  let",{"type":30,"tagName":256,"properties":2382,"children":2383},{"style":278},[2384],{"type":26,"value":2385}," lo ",{"type":30,"tagName":256,"properties":2387,"children":2388},{"style":272},[2389],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":2391,"children":2392},{"style":520},[2393],{"type":26,"value":2394}," Infinity",{"type":30,"tagName":256,"properties":2396,"children":2397},{"style":278},[2398],{"type":26,"value":297},{"type":30,"tagName":256,"properties":2400,"children":2401},{"style":272},[2402],{"type":26,"value":1446},{"type":30,"tagName":256,"properties":2404,"children":2405},{"style":278},[2406],{"type":26,"value":2407}," hi ",{"type":30,"tagName":256,"properties":2409,"children":2410},{"style":272},[2411],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":2413,"children":2414},{"style":272},[2415],{"type":26,"value":2416}," -",{"type":30,"tagName":256,"properties":2418,"children":2419},{"style":520},[2420],{"type":26,"value":2421},"Infinity",{"type":30,"tagName":256,"properties":2423,"children":2424},{"style":278},[2425],{"type":26,"value":2259},{"type":26,"value":27},{"type":30,"tagName":256,"properties":2428,"children":2429},{"class":258},[2430,2435,2439,2443,2448,2452,2456,2461,2465,2470,2474,2478,2482,2486,2491,2495,2500,2504,2508,2513,2518,2523,2527,2531,2536,2540,2545,2549,2554,2558,2562,2566,2571,2575],{"type":30,"tagName":256,"properties":2431,"children":2432},{"style":272},[2433],{"type":26,"value":2434},"  for",{"type":30,"tagName":256,"properties":2436,"children":2437},{"style":278},[2438],{"type":26,"value":2138},{"type":30,"tagName":256,"properties":2440,"children":2441},{"style":272},[2442],{"type":26,"value":1446},{"type":30,"tagName":256,"properties":2444,"children":2445},{"style":278},[2446],{"type":26,"value":2447}," i ",{"type":30,"tagName":256,"properties":2449,"children":2450},{"style":272},[2451],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":2453,"children":2454},{"style":520},[2455],{"type":26,"value":1717},{"type":30,"tagName":256,"properties":2457,"children":2458},{"style":278},[2459],{"type":26,"value":2460},"; i ",{"type":30,"tagName":256,"properties":2462,"children":2463},{"style":272},[2464],{"type":26,"value":1319},{"type":30,"tagName":256,"properties":2466,"children":2467},{"style":278},[2468],{"type":26,"value":2469}," filled; i ",{"type":30,"tagName":256,"properties":2471,"children":2472},{"style":272},[2473],{"type":26,"value":2027},{"type":30,"tagName":256,"properties":2475,"children":2476},{"style":520},[2477],{"type":26,"value":2212},{"type":30,"tagName":256,"properties":2479,"children":2480},{"style":278},[2481],{"type":26,"value":2161},{"type":30,"tagName":256,"properties":2483,"children":2484},{"style":272},[2485],{"type":26,"value":1013},{"type":30,"tagName":256,"properties":2487,"children":2488},{"style":520},[2489],{"type":26,"value":2490}," v",{"type":30,"tagName":256,"properties":2492,"children":2493},{"style":272},[2494],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":2496,"children":2497},{"style":278},[2498],{"type":26,"value":2499}," ring[i]; ",{"type":30,"tagName":256,"properties":2501,"children":2502},{"style":272},[2503],{"type":26,"value":2232},{"type":30,"tagName":256,"properties":2505,"children":2506},{"style":278},[2507],{"type":26,"value":2138},{"type":30,"tagName":256,"properties":2509,"children":2510},{"style":499},[2511],{"type":26,"value":2512},"isNaN",{"type":30,"tagName":256,"properties":2514,"children":2515},{"style":278},[2516],{"type":26,"value":2517},"(v)) ",{"type":30,"tagName":256,"properties":2519,"children":2520},{"style":272},[2521],{"type":26,"value":2522},"continue",{"type":30,"tagName":256,"properties":2524,"children":2525},{"style":278},[2526],{"type":26,"value":297},{"type":30,"tagName":256,"properties":2528,"children":2529},{"style":272},[2530],{"type":26,"value":2232},{"type":30,"tagName":256,"properties":2532,"children":2533},{"style":278},[2534],{"type":26,"value":2535}," (v ",{"type":30,"tagName":256,"properties":2537,"children":2538},{"style":272},[2539],{"type":26,"value":1319},{"type":30,"tagName":256,"properties":2541,"children":2542},{"style":278},[2543],{"type":26,"value":2544}," lo) lo ",{"type":30,"tagName":256,"properties":2546,"children":2547},{"style":272},[2548],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":2550,"children":2551},{"style":278},[2552],{"type":26,"value":2553}," v; ",{"type":30,"tagName":256,"properties":2555,"children":2556},{"style":272},[2557],{"type":26,"value":2232},{"type":30,"tagName":256,"properties":2559,"children":2560},{"style":278},[2561],{"type":26,"value":2535},{"type":30,"tagName":256,"properties":2563,"children":2564},{"style":272},[2565],{"type":26,"value":2152},{"type":30,"tagName":256,"properties":2567,"children":2568},{"style":278},[2569],{"type":26,"value":2570}," hi) hi ",{"type":30,"tagName":256,"properties":2572,"children":2573},{"style":272},[2574],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":2576,"children":2577},{"style":278},[2578],{"type":26,"value":2579}," v; }",{"type":26,"value":27},{"type":30,"tagName":256,"properties":2582,"children":2583},{"class":258},[2584,2588,2593,2597,2602,2607,2612,2616],{"type":30,"tagName":256,"properties":2585,"children":2586},{"style":272},[2587],{"type":26,"value":2133},{"type":30,"tagName":256,"properties":2589,"children":2590},{"style":278},[2591],{"type":26,"value":2592}," (lo ",{"type":30,"tagName":256,"properties":2594,"children":2595},{"style":272},[2596],{"type":26,"value":2152},{"type":30,"tagName":256,"properties":2598,"children":2599},{"style":278},[2600],{"type":26,"value":2601}," hi) ",{"type":30,"tagName":256,"properties":2603,"children":2604},{"style":272},[2605],{"type":26,"value":2606},"return",{"type":30,"tagName":256,"properties":2608,"children":2609},{"style":289},[2610],{"type":26,"value":2611}," '{\"rows\":[]}'",{"type":30,"tagName":256,"properties":2613,"children":2614},{"style":278},[2615],{"type":26,"value":297},{"type":30,"tagName":256,"properties":2617,"children":2618},{"style":262},[2619],{"type":26,"value":2620},"// nothing finite yet: empty rows are legal and draw no columns",{"type":26,"value":27},{"type":30,"tagName":256,"properties":2623,"children":2624},{"class":258},[2625,2629,2634,2638,2642,2646,2650,2654,2659,2663,2668,2673,2677,2681,2685,2689,2693,2698,2702],{"type":30,"tagName":256,"properties":2626,"children":2627},{"style":272},[2628],{"type":26,"value":1928},{"type":30,"tagName":256,"properties":2630,"children":2631},{"style":520},[2632],{"type":26,"value":2633}," width",{"type":30,"tagName":256,"properties":2635,"children":2636},{"style":272},[2637],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":2639,"children":2640},{"style":278},[2641],{"type":26,"value":2407},{"type":30,"tagName":256,"properties":2643,"children":2644},{"style":272},[2645],{"type":26,"value":2152},{"type":30,"tagName":256,"properties":2647,"children":2648},{"style":278},[2649],{"type":26,"value":2385},{"type":30,"tagName":256,"properties":2651,"children":2652},{"style":272},[2653],{"type":26,"value":2087},{"type":30,"tagName":256,"properties":2655,"children":2656},{"style":278},[2657],{"type":26,"value":2658}," (hi ",{"type":30,"tagName":256,"properties":2660,"children":2661},{"style":272},[2662],{"type":26,"value":2012},{"type":30,"tagName":256,"properties":2664,"children":2665},{"style":278},[2666],{"type":26,"value":2667}," lo) ",{"type":30,"tagName":256,"properties":2669,"children":2670},{"style":272},[2671],{"type":26,"value":2672},"/",{"type":30,"tagName":256,"properties":2674,"children":2675},{"style":499},[2676],{"type":26,"value":1560},{"type":30,"tagName":256,"properties":2678,"children":2679},{"style":278},[2680],{"type":26,"value":507},{"type":30,"tagName":256,"properties":2682,"children":2683},{"style":520},[2684],{"type":26,"value":1428},{"type":30,"tagName":256,"properties":2686,"children":2687},{"style":278},[2688],{"type":26,"value":2217},{"type":30,"tagName":256,"properties":2690,"children":2691},{"style":272},[2692],{"type":26,"value":1555},{"type":30,"tagName":256,"properties":2694,"children":2695},{"style":520},[2696],{"type":26,"value":2697}," 1.0",{"type":30,"tagName":256,"properties":2699,"children":2700},{"style":278},[2701],{"type":26,"value":297},{"type":30,"tagName":256,"properties":2703,"children":2704},{"style":262},[2705],{"type":26,"value":2706},"// one flat value: the first column holds everything",{"type":26,"value":27},{"type":30,"tagName":256,"properties":2709,"children":2710},{"class":258},[2711,2715,2720,2724,2728,2732,2736,2741,2745,2749,2753,2758,2763,2767,2772,2777,2782,2787,2791,2795,2799,2804,2809,2814,2819,2823,2827],{"type":30,"tagName":256,"properties":2712,"children":2713},{"style":272},[2714],{"type":26,"value":2380},{"type":30,"tagName":256,"properties":2716,"children":2717},{"style":278},[2718],{"type":26,"value":2719}," scale ",{"type":30,"tagName":256,"properties":2721,"children":2722},{"style":272},[2723],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":2725,"children":2726},{"style":520},[2727],{"type":26,"value":2697},{"type":30,"tagName":256,"properties":2729,"children":2730},{"style":278},[2731],{"type":26,"value":297},{"type":30,"tagName":256,"properties":2733,"children":2734},{"style":272},[2735],{"type":26,"value":1446},{"type":30,"tagName":256,"properties":2737,"children":2738},{"style":278},[2739],{"type":26,"value":2740}," decimals ",{"type":30,"tagName":256,"properties":2742,"children":2743},{"style":272},[2744],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":2746,"children":2747},{"style":520},[2748],{"type":26,"value":1717},{"type":30,"tagName":256,"properties":2750,"children":2751},{"style":278},[2752],{"type":26,"value":297},{"type":30,"tagName":256,"properties":2754,"children":2755},{"style":272},[2756],{"type":26,"value":2757},"while",{"type":30,"tagName":256,"properties":2759,"children":2760},{"style":278},[2761],{"type":26,"value":2762}," (decimals ",{"type":30,"tagName":256,"properties":2764,"children":2765},{"style":272},[2766],{"type":26,"value":1319},{"type":30,"tagName":256,"properties":2768,"children":2769},{"style":520},[2770],{"type":26,"value":2771}," 8",{"type":30,"tagName":256,"properties":2773,"children":2774},{"style":272},[2775],{"type":26,"value":2776}," &&",{"type":30,"tagName":256,"properties":2778,"children":2779},{"style":278},[2780],{"type":26,"value":2781}," width ",{"type":30,"tagName":256,"properties":2783,"children":2784},{"style":272},[2785],{"type":26,"value":2786},"*",{"type":30,"tagName":256,"properties":2788,"children":2789},{"style":278},[2790],{"type":26,"value":2719},{"type":30,"tagName":256,"properties":2792,"children":2793},{"style":272},[2794],{"type":26,"value":1319},{"type":30,"tagName":256,"properties":2796,"children":2797},{"style":520},[2798],{"type":26,"value":2697},{"type":30,"tagName":256,"properties":2800,"children":2801},{"style":278},[2802],{"type":26,"value":2803},") { scale ",{"type":30,"tagName":256,"properties":2805,"children":2806},{"style":272},[2807],{"type":26,"value":2808},"*=",{"type":30,"tagName":256,"properties":2810,"children":2811},{"style":520},[2812],{"type":26,"value":2813}," 10.0",{"type":30,"tagName":256,"properties":2815,"children":2816},{"style":278},[2817],{"type":26,"value":2818},"; decimals ",{"type":30,"tagName":256,"properties":2820,"children":2821},{"style":272},[2822],{"type":26,"value":2027},{"type":30,"tagName":256,"properties":2824,"children":2825},{"style":520},[2826],{"type":26,"value":2212},{"type":30,"tagName":256,"properties":2828,"children":2829},{"style":278},[2830],{"type":26,"value":2831},"; }",{"type":26,"value":27},{"type":30,"tagName":256,"properties":2834,"children":2835},{"class":258},[2836,2840,2844,2848,2853,2857,2861,2866,2870,2874,2878,2882,2886,2891,2895,2899],{"type":30,"tagName":256,"properties":2837,"children":2838},{"style":272},[2839],{"type":26,"value":2434},{"type":30,"tagName":256,"properties":2841,"children":2842},{"style":278},[2843],{"type":26,"value":2138},{"type":30,"tagName":256,"properties":2845,"children":2846},{"style":272},[2847],{"type":26,"value":1446},{"type":30,"tagName":256,"properties":2849,"children":2850},{"style":278},[2851],{"type":26,"value":2852}," b ",{"type":30,"tagName":256,"properties":2854,"children":2855},{"style":272},[2856],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":2858,"children":2859},{"style":520},[2860],{"type":26,"value":1717},{"type":30,"tagName":256,"properties":2862,"children":2863},{"style":278},[2864],{"type":26,"value":2865},"; b ",{"type":30,"tagName":256,"properties":2867,"children":2868},{"style":272},[2869],{"type":26,"value":1319},{"type":30,"tagName":256,"properties":2871,"children":2872},{"style":520},[2873],{"type":26,"value":1269},{"type":30,"tagName":256,"properties":2875,"children":2876},{"style":278},[2877],{"type":26,"value":2865},{"type":30,"tagName":256,"properties":2879,"children":2880},{"style":272},[2881],{"type":26,"value":2027},{"type":30,"tagName":256,"properties":2883,"children":2884},{"style":520},[2885],{"type":26,"value":2212},{"type":30,"tagName":256,"properties":2887,"children":2888},{"style":278},[2889],{"type":26,"value":2890},") counts[b] ",{"type":30,"tagName":256,"properties":2892,"children":2893},{"style":272},[2894],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":2896,"children":2897},{"style":520},[2898],{"type":26,"value":1717},{"type":30,"tagName":256,"properties":2900,"children":2901},{"style":278},[2902],{"type":26,"value":2259},{"type":26,"value":27},{"type":30,"tagName":256,"properties":2905,"children":2906},{"class":258},[2907,2911,2915,2919,2923,2927,2931,2935,2939,2943,2947,2951,2955,2959,2963,2967,2971,2975,2979,2983,2987,2991,2995,2999,3003,3007,3011,3016,3020,3024,3028,3033,3037,3042,3047,3051,3056,3060,3064,3068,3072,3077,3081,3085],{"type":30,"tagName":256,"properties":2908,"children":2909},{"style":272},[2910],{"type":26,"value":2434},{"type":30,"tagName":256,"properties":2912,"children":2913},{"style":278},[2914],{"type":26,"value":2138},{"type":30,"tagName":256,"properties":2916,"children":2917},{"style":272},[2918],{"type":26,"value":1446},{"type":30,"tagName":256,"properties":2920,"children":2921},{"style":278},[2922],{"type":26,"value":2447},{"type":30,"tagName":256,"properties":2924,"children":2925},{"style":272},[2926],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":2928,"children":2929},{"style":520},[2930],{"type":26,"value":1717},{"type":30,"tagName":256,"properties":2932,"children":2933},{"style":278},[2934],{"type":26,"value":2460},{"type":30,"tagName":256,"properties":2936,"children":2937},{"style":272},[2938],{"type":26,"value":1319},{"type":30,"tagName":256,"properties":2940,"children":2941},{"style":278},[2942],{"type":26,"value":2469},{"type":30,"tagName":256,"properties":2944,"children":2945},{"style":272},[2946],{"type":26,"value":2027},{"type":30,"tagName":256,"properties":2948,"children":2949},{"style":520},[2950],{"type":26,"value":2212},{"type":30,"tagName":256,"properties":2952,"children":2953},{"style":278},[2954],{"type":26,"value":2161},{"type":30,"tagName":256,"properties":2956,"children":2957},{"style":272},[2958],{"type":26,"value":1013},{"type":30,"tagName":256,"properties":2960,"children":2961},{"style":520},[2962],{"type":26,"value":2490},{"type":30,"tagName":256,"properties":2964,"children":2965},{"style":272},[2966],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":2968,"children":2969},{"style":278},[2970],{"type":26,"value":2499},{"type":30,"tagName":256,"properties":2972,"children":2973},{"style":272},[2974],{"type":26,"value":2232},{"type":30,"tagName":256,"properties":2976,"children":2977},{"style":278},[2978],{"type":26,"value":2138},{"type":30,"tagName":256,"properties":2980,"children":2981},{"style":499},[2982],{"type":26,"value":2512},{"type":30,"tagName":256,"properties":2984,"children":2985},{"style":278},[2986],{"type":26,"value":2517},{"type":30,"tagName":256,"properties":2988,"children":2989},{"style":272},[2990],{"type":26,"value":2522},{"type":30,"tagName":256,"properties":2992,"children":2993},{"style":278},[2994],{"type":26,"value":297},{"type":30,"tagName":256,"properties":2996,"children":2997},{"style":272},[2998],{"type":26,"value":1446},{"type":30,"tagName":256,"properties":3000,"children":3001},{"style":278},[3002],{"type":26,"value":2852},{"type":30,"tagName":256,"properties":3004,"children":3005},{"style":272},[3006],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":3008,"children":3009},{"style":499},[3010],{"type":26,"value":1866},{"type":30,"tagName":256,"properties":3012,"children":3013},{"style":278},[3014],{"type":26,"value":3015},"((v ",{"type":30,"tagName":256,"properties":3017,"children":3018},{"style":272},[3019],{"type":26,"value":2012},{"type":30,"tagName":256,"properties":3021,"children":3022},{"style":278},[3023],{"type":26,"value":2667},{"type":30,"tagName":256,"properties":3025,"children":3026},{"style":272},[3027],{"type":26,"value":2672},{"type":30,"tagName":256,"properties":3029,"children":3030},{"style":278},[3031],{"type":26,"value":3032}," width); ",{"type":30,"tagName":256,"properties":3034,"children":3035},{"style":272},[3036],{"type":26,"value":2232},{"type":30,"tagName":256,"properties":3038,"children":3039},{"style":278},[3040],{"type":26,"value":3041}," (b ",{"type":30,"tagName":256,"properties":3043,"children":3044},{"style":272},[3045],{"type":26,"value":3046},">=",{"type":30,"tagName":256,"properties":3048,"children":3049},{"style":520},[3050],{"type":26,"value":1269},{"type":30,"tagName":256,"properties":3052,"children":3053},{"style":278},[3054],{"type":26,"value":3055},") b ",{"type":30,"tagName":256,"properties":3057,"children":3058},{"style":272},[3059],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":3061,"children":3062},{"style":520},[3063],{"type":26,"value":1269},{"type":30,"tagName":256,"properties":3065,"children":3066},{"style":272},[3067],{"type":26,"value":2416},{"type":30,"tagName":256,"properties":3069,"children":3070},{"style":520},[3071],{"type":26,"value":2212},{"type":30,"tagName":256,"properties":3073,"children":3074},{"style":278},[3075],{"type":26,"value":3076},"; counts[b] ",{"type":30,"tagName":256,"properties":3078,"children":3079},{"style":272},[3080],{"type":26,"value":2027},{"type":30,"tagName":256,"properties":3082,"children":3083},{"style":520},[3084],{"type":26,"value":2212},{"type":30,"tagName":256,"properties":3086,"children":3087},{"style":278},[3088],{"type":26,"value":2831},{"type":26,"value":27},{"type":30,"tagName":256,"properties":3091,"children":3092},{"class":258},[3093,3097,3102,3106,3111],{"type":30,"tagName":256,"properties":3094,"children":3095},{"style":272},[3096],{"type":26,"value":2380},{"type":30,"tagName":256,"properties":3098,"children":3099},{"style":278},[3100],{"type":26,"value":3101}," json ",{"type":30,"tagName":256,"properties":3103,"children":3104},{"style":272},[3105],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":3107,"children":3108},{"style":289},[3109],{"type":26,"value":3110}," '{\"rows\":['",{"type":30,"tagName":256,"properties":3112,"children":3113},{"style":278},[3114],{"type":26,"value":2259},{"type":26,"value":27},{"type":30,"tagName":256,"properties":3117,"children":3118},{"class":258},[3119,3123,3127,3131,3135,3139,3143,3147,3151,3155,3159,3163,3167],{"type":30,"tagName":256,"properties":3120,"children":3121},{"style":272},[3122],{"type":26,"value":2434},{"type":30,"tagName":256,"properties":3124,"children":3125},{"style":278},[3126],{"type":26,"value":2138},{"type":30,"tagName":256,"properties":3128,"children":3129},{"style":272},[3130],{"type":26,"value":1446},{"type":30,"tagName":256,"properties":3132,"children":3133},{"style":278},[3134],{"type":26,"value":2852},{"type":30,"tagName":256,"properties":3136,"children":3137},{"style":272},[3138],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":3140,"children":3141},{"style":520},[3142],{"type":26,"value":1717},{"type":30,"tagName":256,"properties":3144,"children":3145},{"style":278},[3146],{"type":26,"value":2865},{"type":30,"tagName":256,"properties":3148,"children":3149},{"style":272},[3150],{"type":26,"value":1319},{"type":30,"tagName":256,"properties":3152,"children":3153},{"style":520},[3154],{"type":26,"value":1269},{"type":30,"tagName":256,"properties":3156,"children":3157},{"style":278},[3158],{"type":26,"value":2865},{"type":30,"tagName":256,"properties":3160,"children":3161},{"style":272},[3162],{"type":26,"value":2027},{"type":30,"tagName":256,"properties":3164,"children":3165},{"style":520},[3166],{"type":26,"value":2212},{"type":30,"tagName":256,"properties":3168,"children":3169},{"style":278},[3170],{"type":26,"value":3171},") {",{"type":26,"value":27},{"type":30,"tagName":256,"properties":3174,"children":3175},{"class":258},[3176,3181,3186,3190,3194,3198,3202,3207,3211],{"type":30,"tagName":256,"properties":3177,"children":3178},{"style":272},[3179],{"type":26,"value":3180},"    const",{"type":30,"tagName":256,"properties":3182,"children":3183},{"style":520},[3184],{"type":26,"value":3185}," edge",{"type":30,"tagName":256,"properties":3187,"children":3188},{"style":272},[3189],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":3191,"children":3192},{"style":278},[3193],{"type":26,"value":2385},{"type":30,"tagName":256,"properties":3195,"children":3196},{"style":272},[3197],{"type":26,"value":2207},{"type":30,"tagName":256,"properties":3199,"children":3200},{"style":499},[3201],{"type":26,"value":1560},{"type":30,"tagName":256,"properties":3203,"children":3204},{"style":278},[3205],{"type":26,"value":3206},"(b) ",{"type":30,"tagName":256,"properties":3208,"children":3209},{"style":272},[3210],{"type":26,"value":2786},{"type":30,"tagName":256,"properties":3212,"children":3213},{"style":278},[3214],{"type":26,"value":3215}," width;",{"type":26,"value":27},{"type":30,"tagName":256,"properties":3218,"children":3219},{"class":258},[3220,3224,3229,3233,3237,3242,3246,3251,3256,3261,3266,3271,3276,3280,3284,3289,3293,3298,3302,3307,3311,3316,3320],{"type":30,"tagName":256,"properties":3221,"children":3222},{"style":272},[3223],{"type":26,"value":3180},{"type":30,"tagName":256,"properties":3225,"children":3226},{"style":520},[3227],{"type":26,"value":3228}," label",{"type":30,"tagName":256,"properties":3230,"children":3231},{"style":272},[3232],{"type":26,"value":1023},{"type":30,"tagName":256,"properties":3234,"children":3235},{"style":278},[3236],{"type":26,"value":2740},{"type":30,"tagName":256,"properties":3238,"children":3239},{"style":272},[3240],{"type":26,"value":3241},"==",{"type":30,"tagName":256,"properties":3243,"children":3244},{"style":520},[3245],{"type":26,"value":1717},{"type":30,"tagName":256,"properties":3247,"children":3248},{"style":272},[3249],{"type":26,"value":3250}," ?",{"type":30,"tagName":256,"properties":3252,"children":3253},{"style":499},[3254],{"type":26,"value":3255}," i64",{"type":30,"tagName":256,"properties":3257,"children":3258},{"style":278},[3259],{"type":26,"value":3260},"(Math.",{"type":30,"tagName":256,"properties":3262,"children":3263},{"style":499},[3264],{"type":26,"value":3265},"round",{"type":30,"tagName":256,"properties":3267,"children":3268},{"style":278},[3269],{"type":26,"value":3270},"(edge)).",{"type":30,"tagName":256,"properties":3272,"children":3273},{"style":499},[3274],{"type":26,"value":3275},"toString",{"type":30,"tagName":256,"properties":3277,"children":3278},{"style":278},[3279],{"type":26,"value":2007},{"type":30,"tagName":256,"properties":3281,"children":3282},{"style":272},[3283],{"type":26,"value":1555},{"type":30,"tagName":256,"properties":3285,"children":3286},{"style":278},[3287],{"type":26,"value":3288}," (Math.",{"type":30,"tagName":256,"properties":3290,"children":3291},{"style":499},[3292],{"type":26,"value":3265},{"type":30,"tagName":256,"properties":3294,"children":3295},{"style":278},[3296],{"type":26,"value":3297},"(edge ",{"type":30,"tagName":256,"properties":3299,"children":3300},{"style":272},[3301],{"type":26,"value":2786},{"type":30,"tagName":256,"properties":3303,"children":3304},{"style":278},[3305],{"type":26,"value":3306}," scale) ",{"type":30,"tagName":256,"properties":3308,"children":3309},{"style":272},[3310],{"type":26,"value":2672},{"type":30,"tagName":256,"properties":3312,"children":3313},{"style":278},[3314],{"type":26,"value":3315}," scale).",{"type":30,"tagName":256,"properties":3317,"children":3318},{"style":499},[3319],{"type":26,"value":3275},{"type":30,"tagName":256,"properties":3321,"children":3322},{"style":278},[3323],{"type":26,"value":3324},"();",{"type":26,"value":27},{"type":30,"tagName":256,"properties":3327,"children":3328},{"class":258},[3329,3334,3338,3342,3346,3350,3354,3359,3363,3368,3372,3376,3381,3385,3390,3395,3400,3404,3408,3412,3417],{"type":30,"tagName":256,"properties":3330,"children":3331},{"style":278},[3332],{"type":26,"value":3333},"    json ",{"type":30,"tagName":256,"properties":3335,"children":3336},{"style":272},[3337],{"type":26,"value":2027},{"type":30,"tagName":256,"properties":3339,"children":3340},{"style":278},[3341],{"type":26,"value":3041},{"type":30,"tagName":256,"properties":3343,"children":3344},{"style":272},[3345],{"type":26,"value":2152},{"type":30,"tagName":256,"properties":3347,"children":3348},{"style":520},[3349],{"type":26,"value":1717},{"type":30,"tagName":256,"properties":3351,"children":3352},{"style":272},[3353],{"type":26,"value":3250},{"type":30,"tagName":256,"properties":3355,"children":3356},{"style":289},[3357],{"type":26,"value":3358}," ',[\"'",{"type":30,"tagName":256,"properties":3360,"children":3361},{"style":272},[3362],{"type":26,"value":2096},{"type":30,"tagName":256,"properties":3364,"children":3365},{"style":289},[3366],{"type":26,"value":3367}," '[\"'",{"type":30,"tagName":256,"properties":3369,"children":3370},{"style":278},[3371],{"type":26,"value":2217},{"type":30,"tagName":256,"properties":3373,"children":3374},{"style":272},[3375],{"type":26,"value":2207},{"type":30,"tagName":256,"properties":3377,"children":3378},{"style":278},[3379],{"type":26,"value":3380}," label ",{"type":30,"tagName":256,"properties":3382,"children":3383},{"style":272},[3384],{"type":26,"value":2207},{"type":30,"tagName":256,"properties":3386,"children":3387},{"style":289},[3388],{"type":26,"value":3389}," '\",'",{"type":30,"tagName":256,"properties":3391,"children":3392},{"style":272},[3393],{"type":26,"value":3394}," +",{"type":30,"tagName":256,"properties":3396,"children":3397},{"style":278},[3398],{"type":26,"value":3399}," counts[b].",{"type":30,"tagName":256,"properties":3401,"children":3402},{"style":499},[3403],{"type":26,"value":3275},{"type":30,"tagName":256,"properties":3405,"children":3406},{"style":278},[3407],{"type":26,"value":2007},{"type":30,"tagName":256,"properties":3409,"children":3410},{"style":272},[3411],{"type":26,"value":2207},{"type":30,"tagName":256,"properties":3413,"children":3414},{"style":289},[3415],{"type":26,"value":3416}," \"]\"",{"type":30,"tagName":256,"properties":3418,"children":3419},{"style":278},[3420],{"type":26,"value":2259},{"type":26,"value":27},{"type":30,"tagName":256,"properties":3423,"children":3424},{"class":258},[3425],{"type":30,"tagName":256,"properties":3426,"children":3427},{"style":278},[3428],{"type":26,"value":2268},{"type":26,"value":27},{"type":30,"tagName":256,"properties":3431,"children":3432},{"class":258},[3433,3437,3441,3445,3450],{"type":30,"tagName":256,"properties":3434,"children":3435},{"style":272},[3436],{"type":26,"value":2277},{"type":30,"tagName":256,"properties":3438,"children":3439},{"style":278},[3440],{"type":26,"value":3101},{"type":30,"tagName":256,"properties":3442,"children":3443},{"style":272},[3444],{"type":26,"value":2207},{"type":30,"tagName":256,"properties":3446,"children":3447},{"style":289},[3448],{"type":26,"value":3449}," \"]}\"",{"type":30,"tagName":256,"properties":3451,"children":3452},{"style":278},[3453],{"type":26,"value":2259},{"type":26,"value":27},{"type":30,"tagName":256,"properties":3456,"children":3457},{"class":258},[3458],{"type":30,"tagName":256,"properties":3459,"children":3460},{"style":278},[3461],{"type":26,"value":2294},{"type":26,"value":27},{"type":30,"tagName":256,"properties":3464,"children":3465},{"class":258},[3466],{"type":30,"tagName":256,"properties":3467,"children":3468},{"style":262},[3469],{"type":26,"value":3470},"// finalize() runs after state(): one number per output on every bar, and on the live bar only, one snapshot per frame.",{"type":26,"value":27},{"type":30,"tagName":256,"properties":3473,"children":3474},{"class":258},[3475,3479,3483,3488,3492,3496,3500],{"type":30,"tagName":256,"properties":3476,"children":3477},{"style":272},[3478],{"type":26,"value":1760},{"type":30,"tagName":256,"properties":3480,"children":3481},{"style":272},[3482],{"type":26,"value":1765},{"type":30,"tagName":256,"properties":3484,"children":3485},{"style":499},[3486],{"type":26,"value":3487}," finalize",{"type":30,"tagName":256,"properties":3489,"children":3490},{"style":278},[3491],{"type":26,"value":1775},{"type":30,"tagName":256,"properties":3493,"children":3494},{"style":272},[3495],{"type":26,"value":1555},{"type":30,"tagName":256,"properties":3497,"children":3498},{"style":520},[3499],{"type":26,"value":1784},{"type":30,"tagName":256,"properties":3501,"children":3502},{"style":278},[3503],{"type":26,"value":2371},{"type":26,"value":27},{"type":30,"tagName":256,"properties":3506,"children":3507},{"class":258},[3508,3513,3518,3523,3528,3533,3538,3543],{"type":30,"tagName":256,"properties":3509,"children":3510},{"style":499},[3511],{"type":26,"value":3512},"  out_ema_fast",{"type":30,"tagName":256,"properties":3514,"children":3515},{"style":278},[3516],{"type":26,"value":3517},"(emaFast); ",{"type":30,"tagName":256,"properties":3519,"children":3520},{"style":499},[3521],{"type":26,"value":3522},"out_ema_slow",{"type":30,"tagName":256,"properties":3524,"children":3525},{"style":278},[3526],{"type":26,"value":3527},"(emaSlow); ",{"type":30,"tagName":256,"properties":3529,"children":3530},{"style":499},[3531],{"type":26,"value":3532},"out_cvd",{"type":30,"tagName":256,"properties":3534,"children":3535},{"style":278},[3536],{"type":26,"value":3537},"(cvd); ",{"type":30,"tagName":256,"properties":3539,"children":3540},{"style":499},[3541],{"type":26,"value":3542},"out_delta",{"type":30,"tagName":256,"properties":3544,"children":3545},{"style":278},[3546],{"type":26,"value":3547},"(delta);",{"type":26,"value":27},{"type":30,"tagName":256,"properties":3550,"children":3551},{"class":258},[3552,3556,3561,3566,3571,3576,3580,3585,3589,3594,3599,3603,3607,3612,3616,3620],{"type":30,"tagName":256,"properties":3553,"children":3554},{"style":272},[3555],{"type":26,"value":2133},{"type":30,"tagName":256,"properties":3557,"children":3558},{"style":278},[3559],{"type":26,"value":3560}," (bar.",{"type":30,"tagName":256,"properties":3562,"children":3563},{"style":499},[3564],{"type":26,"value":3565},"isLast",{"type":30,"tagName":256,"properties":3567,"children":3568},{"style":278},[3569],{"type":26,"value":3570},"()) { ",{"type":30,"tagName":256,"properties":3572,"children":3573},{"style":499},[3574],{"type":26,"value":3575},"writeFrame",{"type":30,"tagName":256,"properties":3577,"children":3578},{"style":278},[3579],{"type":26,"value":507},{"type":30,"tagName":256,"properties":3581,"children":3582},{"style":520},[3583],{"type":26,"value":3584},"FRAME_OI_ROWS",{"type":30,"tagName":256,"properties":3586,"children":3587},{"style":278},[3588],{"type":26,"value":517},{"type":30,"tagName":256,"properties":3590,"children":3591},{"style":499},[3592],{"type":26,"value":3593},"histogramJson",{"type":30,"tagName":256,"properties":3595,"children":3596},{"style":278},[3597],{"type":26,"value":3598},"(oiRing)); ",{"type":30,"tagName":256,"properties":3600,"children":3601},{"style":499},[3602],{"type":26,"value":3575},{"type":30,"tagName":256,"properties":3604,"children":3605},{"style":278},[3606],{"type":26,"value":507},{"type":30,"tagName":256,"properties":3608,"children":3609},{"style":520},[3610],{"type":26,"value":3611},"FRAME_DELTA_ROWS",{"type":30,"tagName":256,"properties":3613,"children":3614},{"style":278},[3615],{"type":26,"value":517},{"type":30,"tagName":256,"properties":3617,"children":3618},{"style":499},[3619],{"type":26,"value":3593},{"type":30,"tagName":256,"properties":3621,"children":3622},{"style":278},[3623],{"type":26,"value":3624},"(deltaRing)); }",{"type":26,"value":27},{"type":30,"tagName":256,"properties":3627,"children":3628},{"class":258},[3629,3634],{"type":30,"tagName":256,"properties":3630,"children":3631},{"style":499},[3632],{"type":26,"value":3633},"  emitRow",{"type":30,"tagName":256,"properties":3635,"children":3636},{"style":278},[3637],{"type":26,"value":3324},{"type":26,"value":27},{"type":30,"tagName":256,"properties":3640,"children":3641},{"class":258},[3642],{"type":30,"tagName":256,"properties":3643,"children":3644},{"style":278},[3645],{"type":26,"value":2294},{"type":26,"value":27},{"type":30,"tagName":256,"properties":3648,"children":3649},{"class":258},[3650],{"type":30,"tagName":256,"properties":3651,"children":3652},{"style":262},[3653],{"type":26,"value":3654},"// reset() runs when the host replays the forming bar: back to what init() built, the running sum and both rings cleared.",{"type":26,"value":27},{"type":30,"tagName":256,"properties":3657,"children":3658},{"class":258},[3659,3663,3667,3672,3676,3680,3684,3689,3694,3699,3703,3707,3711,3715,3720,3724,3728,3733,3737,3741,3746,3750,3754,3759,3763,3767,3772,3776,3780,3785,3789,3793],{"type":30,"tagName":256,"properties":3660,"children":3661},{"style":272},[3662],{"type":26,"value":1760},{"type":30,"tagName":256,"properties":3664,"children":3665},{"style":272},[3666],{"type":26,"value":1765},{"type":30,"tagName":256,"properties":3668,"children":3669},{"style":499},[3670],{"type":26,"value":3671}," reset",{"type":30,"tagName":256,"properties":3673,"children":3674},{"style":278},[3675],{"type":26,"value":1775},{"type":30,"tagName":256,"properties":3677,"children":3678},{"style":272},[3679],{"type":26,"value":1555},{"type":30,"tagName":256,"properties":3681,"children":3682},{"style":520},[3683],{"type":26,"value":1784},{"type":30,"tagName":256,"properties":3685,"children":3686},{"style":278},[3687],{"type":26,"value":3688}," { fast.",{"type":30,"tagName":256,"properties":3690,"children":3691},{"style":499},[3692],{"type":26,"value":3693},"reset",{"type":30,"tagName":256,"properties":3695,"children":3696},{"style":278},[3697],{"type":26,"value":3698},"(); slow.",{"type":30,"tagName":256,"properties":3700,"children":3701},{"style":499},[3702],{"type":26,"value":3693},{"type":30,"tagName":256,"properties":3704,"children":3705},{"style":278},[3706],{"type":26,"value":1947},{"type":30,"tagName":256,"properties":3708,"children":3709},{"style":272},[3710],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":3712,"children":3713},{"style":520},[3714],{"type":26,"value":1569},{"type":30,"tagName":256,"properties":3716,"children":3717},{"style":278},[3718],{"type":26,"value":3719},"; emaSlow ",{"type":30,"tagName":256,"properties":3721,"children":3722},{"style":272},[3723],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":3725,"children":3726},{"style":520},[3727],{"type":26,"value":1569},{"type":30,"tagName":256,"properties":3729,"children":3730},{"style":278},[3731],{"type":26,"value":3732},"; cvd ",{"type":30,"tagName":256,"properties":3734,"children":3735},{"style":272},[3736],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":3738,"children":3739},{"style":520},[3740],{"type":26,"value":1628},{"type":30,"tagName":256,"properties":3742,"children":3743},{"style":278},[3744],{"type":26,"value":3745},"; delta ",{"type":30,"tagName":256,"properties":3747,"children":3748},{"style":272},[3749],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":3751,"children":3752},{"style":520},[3753],{"type":26,"value":1628},{"type":30,"tagName":256,"properties":3755,"children":3756},{"style":278},[3757],{"type":26,"value":3758},"; prevOi ",{"type":30,"tagName":256,"properties":3760,"children":3761},{"style":272},[3762],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":3764,"children":3765},{"style":520},[3766],{"type":26,"value":1569},{"type":30,"tagName":256,"properties":3768,"children":3769},{"style":278},[3770],{"type":26,"value":3771},"; head ",{"type":30,"tagName":256,"properties":3773,"children":3774},{"style":272},[3775],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":3777,"children":3778},{"style":520},[3779],{"type":26,"value":1717},{"type":30,"tagName":256,"properties":3781,"children":3782},{"style":278},[3783],{"type":26,"value":3784},"; filled ",{"type":30,"tagName":256,"properties":3786,"children":3787},{"style":272},[3788],{"type":26,"value":1456},{"type":30,"tagName":256,"properties":3790,"children":3791},{"style":520},[3792],{"type":26,"value":1717},{"type":30,"tagName":256,"properties":3794,"children":3795},{"style":278},[3796],{"type":26,"value":2831},{"type":26,"value":27},{"type":30,"tagName":224,"properties":3799,"children":3801,"position":3811},{"id":3800},"how-it-works",[3802],{"type":26,"value":3803,"position":3804},"How it works",{"start":3805,"end":3808},{"line":3806,"column":233,"offset":3807},83,7709,{"line":3806,"column":3809,"offset":3810},16,7721,{"start":3812,"end":3814},{"line":3806,"column":20,"offset":3813},7706,{"line":3806,"column":3809,"offset":3810},{"type":26,"value":27},{"type":30,"tagName":31,"properties":3817,"children":3818,"position":4016},{},[3819,3839,3846,3857,3863,3876,3882,3895,3902,3914,3920,3933,3939,3952,3959,3971,3977,3989,3996,4009],{"type":30,"tagName":3820,"properties":3821,"children":3822,"position":3833},"strong",{},[3823],{"type":26,"value":3824,"position":3825},"Where things draw.",{"start":3826,"end":3830},{"line":3827,"column":3828,"offset":3829},85,3,7725,{"line":3827,"column":3831,"offset":3832},21,7743,{"start":3834,"end":3836},{"line":3827,"column":20,"offset":3835},7723,{"line":3827,"column":3837,"offset":3838},23,7745,{"type":26,"value":3840,"position":3841}," Three places, and every declaration names one. The price pane: the candles, every output that says ",{"start":3842,"end":3843},{"line":3827,"column":3837,"offset":3838},{"line":3827,"column":3844,"offset":3845},123,7845,{"type":30,"tagName":44,"properties":3847,"children":3848,"position":3854},{},[3849],{"type":26,"value":83,"position":3850},{"start":3851,"end":3852},{"line":3827,"column":3844,"offset":3845},{"line":3827,"column":107,"offset":3853},7854,{"start":3855,"end":3856},{"line":3827,"column":3844,"offset":3845},{"line":3827,"column":107,"offset":3853},{"type":26,"value":2138,"position":3858},{"start":3859,"end":3860},{"line":3827,"column":107,"offset":3853},{"line":3827,"column":3861,"offset":3862},134,7856,{"type":30,"tagName":44,"properties":3864,"children":3865,"position":3873},{},[3866],{"type":26,"value":3867,"position":3868},"ema_fast",{"start":3869,"end":3870},{"line":3827,"column":3861,"offset":3862},{"line":3827,"column":3871,"offset":3872},144,7866,{"start":3874,"end":3875},{"line":3827,"column":3861,"offset":3862},{"line":3827,"column":3871,"offset":3872},{"type":26,"value":517,"position":3877},{"start":3878,"end":3879},{"line":3827,"column":3871,"offset":3872},{"line":3827,"column":3880,"offset":3881},146,7868,{"type":30,"tagName":44,"properties":3883,"children":3884,"position":3892},{},[3885],{"type":26,"value":3886,"position":3887},"ema_slow",{"start":3888,"end":3889},{"line":3827,"column":3880,"offset":3881},{"line":3827,"column":3890,"offset":3891},156,7878,{"start":3893,"end":3894},{"line":3827,"column":3880,"offset":3881},{"line":3827,"column":3890,"offset":3891},{"type":26,"value":3896,"position":3897},"), and drawings unless they say otherwise. The package's lower pane: every output that says ",{"start":3898,"end":3899},{"line":3827,"column":3890,"offset":3891},{"line":3827,"column":3900,"offset":3901},248,7970,{"type":30,"tagName":44,"properties":3903,"children":3904,"position":3911},{},[3905],{"type":26,"value":123,"position":3906},{"start":3907,"end":3908},{"line":3827,"column":3900,"offset":3901},{"line":3827,"column":3909,"offset":3910},255,7977,{"start":3912,"end":3913},{"line":3827,"column":3900,"offset":3901},{"line":3827,"column":3909,"offset":3910},{"type":26,"value":2138,"position":3915},{"start":3916,"end":3917},{"line":3827,"column":3909,"offset":3910},{"line":3827,"column":3918,"offset":3919},257,7979,{"type":30,"tagName":44,"properties":3921,"children":3922,"position":3930},{},[3923],{"type":26,"value":3924,"position":3925},"cvd",{"start":3926,"end":3927},{"line":3827,"column":3918,"offset":3919},{"line":3827,"column":3928,"offset":3929},262,7984,{"start":3931,"end":3932},{"line":3827,"column":3918,"offset":3919},{"line":3827,"column":3928,"offset":3929},{"type":26,"value":517,"position":3934},{"start":3935,"end":3936},{"line":3827,"column":3928,"offset":3929},{"line":3827,"column":3937,"offset":3938},264,7986,{"type":30,"tagName":44,"properties":3940,"children":3941,"position":3949},{},[3942],{"type":26,"value":3943,"position":3944},"delta",{"start":3945,"end":3946},{"line":3827,"column":3937,"offset":3938},{"line":3827,"column":3947,"offset":3948},271,7993,{"start":3950,"end":3951},{"line":3827,"column":3937,"offset":3938},{"line":3827,"column":3947,"offset":3948},{"type":26,"value":3953,"position":3954},"), together, on one scale; a package has one lower pane, and its numeric outputs never open another. Panels: separate windows fed by frames, placed ",{"start":3955,"end":3956},{"line":3827,"column":3947,"offset":3948},{"line":3827,"column":3957,"offset":3958},419,8141,{"type":30,"tagName":44,"properties":3960,"children":3961,"position":3968},{},[3962],{"type":26,"value":143,"position":3963},{"start":3964,"end":3965},{"line":3827,"column":3957,"offset":3958},{"line":3827,"column":3966,"offset":3967},426,8148,{"start":3969,"end":3970},{"line":3827,"column":3957,"offset":3958},{"line":3827,"column":3966,"offset":3967},{"type":26,"value":153,"position":3972},{"start":3973,"end":3974},{"line":3827,"column":3966,"offset":3967},{"line":3827,"column":3975,"offset":3976},447,8169,{"type":30,"tagName":44,"properties":3978,"children":3979,"position":3986},{},[3980],{"type":26,"value":163,"position":3981},{"start":3982,"end":3983},{"line":3827,"column":3975,"offset":3976},{"line":3827,"column":3984,"offset":3985},453,8175,{"start":3987,"end":3988},{"line":3827,"column":3975,"offset":3976},{"line":3827,"column":3984,"offset":3985},{"type":26,"value":3990,"position":3991},", each with its own axis and its own shape (the two histogram windows). Cost follows the shape: an output is one number per bar, read by every host and by ",{"start":3992,"end":3993},{"line":3827,"column":3984,"offset":3985},{"line":3827,"column":3994,"offset":3995},608,8330,{"type":30,"tagName":44,"properties":3997,"children":3998,"position":4006},{},[3999],{"type":26,"value":4000,"position":4001},"om metric series",{"start":4002,"end":4003},{"line":3827,"column":3994,"offset":3995},{"line":3827,"column":4004,"offset":4005},626,8348,{"start":4007,"end":4008},{"line":3827,"column":3994,"offset":3995},{"line":3827,"column":4004,"offset":4005},{"type":26,"value":4010,"position":4011},"; a frame is one JSON write per refresh.",{"start":4012,"end":4013},{"line":3827,"column":4004,"offset":4005},{"line":3827,"column":4014,"offset":4015},666,8388,{"start":4017,"end":4018},{"line":3827,"column":20,"offset":3835},{"line":3827,"column":4014,"offset":4015},{"type":26,"value":27},{"type":30,"tagName":31,"properties":4021,"children":4022,"position":4280},{},[4023,4041,4048,4060,4067,4079,4086,4098,4105,4117,4124,4137,4144,4157,4164,4177,4183,4196,4203,4216,4223,4235,4242,4254,4261,4273],{"type":30,"tagName":3820,"properties":4024,"children":4025,"position":4035},{},[4026],{"type":26,"value":4027,"position":4028},"Two lines over price.",{"start":4029,"end":4032},{"line":4030,"column":3828,"offset":4031},87,8392,{"line":4030,"column":4033,"offset":4034},24,8413,{"start":4036,"end":4038},{"line":4030,"column":20,"offset":4037},8390,{"line":4030,"column":4039,"offset":4040},26,8415,{"type":26,"value":4042,"position":4043}," ",{"start":4044,"end":4045},{"line":4030,"column":4039,"offset":4040},{"line":4030,"column":4046,"offset":4047},27,8416,{"type":30,"tagName":44,"properties":4049,"children":4050,"position":4057},{},[4051],{"type":26,"value":3867,"position":4052},{"start":4053,"end":4054},{"line":4030,"column":4046,"offset":4047},{"line":4030,"column":4055,"offset":4056},37,8426,{"start":4058,"end":4059},{"line":4030,"column":4046,"offset":4047},{"line":4030,"column":4055,"offset":4056},{"type":26,"value":4061,"position":4062}," and ",{"start":4063,"end":4064},{"line":4030,"column":4055,"offset":4056},{"line":4030,"column":4065,"offset":4066},42,8431,{"type":30,"tagName":44,"properties":4068,"children":4069,"position":4076},{},[4070],{"type":26,"value":3886,"position":4071},{"start":4072,"end":4073},{"line":4030,"column":4065,"offset":4066},{"line":4030,"column":4074,"offset":4075},52,8441,{"start":4077,"end":4078},{"line":4030,"column":4065,"offset":4066},{"line":4030,"column":4074,"offset":4075},{"type":26,"value":4080,"position":4081}," say ",{"start":4082,"end":4083},{"line":4030,"column":4074,"offset":4075},{"line":4030,"column":4084,"offset":4085},57,8446,{"type":30,"tagName":44,"properties":4087,"children":4088,"position":4095},{},[4089],{"type":26,"value":83,"position":4090},{"start":4091,"end":4092},{"line":4030,"column":4084,"offset":4085},{"line":4030,"column":4093,"offset":4094},66,8455,{"start":4096,"end":4097},{"line":4030,"column":4084,"offset":4085},{"line":4030,"column":4093,"offset":4094},{"type":26,"value":4099,"position":4100},", so they share the candles' price axis. Each is an ",{"start":4101,"end":4102},{"line":4030,"column":4093,"offset":4094},{"line":4030,"column":4103,"offset":4104},118,8507,{"type":30,"tagName":44,"properties":4106,"children":4107,"position":4114},{},[4108],{"type":26,"value":4109,"position":4110},"Ema",{"start":4111,"end":4112},{"line":4030,"column":4103,"offset":4104},{"line":4030,"column":3844,"offset":4113},8512,{"start":4115,"end":4116},{"line":4030,"column":4103,"offset":4104},{"line":4030,"column":3844,"offset":4113},{"type":26,"value":4118,"position":4119}," from ",{"start":4120,"end":4121},{"line":4030,"column":3844,"offset":4113},{"line":4030,"column":4122,"offset":4123},129,8518,{"type":30,"tagName":44,"properties":4125,"children":4126,"position":4134},{},[4127],{"type":26,"value":4128,"position":4129},"./sdk/ta",{"start":4130,"end":4131},{"line":4030,"column":4122,"offset":4123},{"line":4030,"column":4132,"offset":4133},139,8528,{"start":4135,"end":4136},{"line":4030,"column":4122,"offset":4123},{"line":4030,"column":4132,"offset":4133},{"type":26,"value":4138,"position":4139},", rebuilt in ",{"start":4140,"end":4141},{"line":4030,"column":4132,"offset":4133},{"line":4030,"column":4142,"offset":4143},152,8541,{"type":30,"tagName":44,"properties":4145,"children":4146,"position":4154},{},[4147],{"type":26,"value":4148,"position":4149},"init()",{"start":4150,"end":4151},{"line":4030,"column":4142,"offset":4143},{"line":4030,"column":4152,"offset":4153},160,8549,{"start":4155,"end":4156},{"line":4030,"column":4142,"offset":4143},{"line":4030,"column":4152,"offset":4153},{"type":26,"value":4158,"position":4159}," from the ",{"start":4160,"end":4161},{"line":4030,"column":4152,"offset":4153},{"line":4030,"column":4162,"offset":4163},170,8559,{"type":30,"tagName":44,"properties":4165,"children":4166,"position":4174},{},[4167],{"type":26,"value":4168,"position":4169},"fast",{"start":4170,"end":4171},{"line":4030,"column":4162,"offset":4163},{"line":4030,"column":4172,"offset":4173},176,8565,{"start":4175,"end":4176},{"line":4030,"column":4162,"offset":4163},{"line":4030,"column":4172,"offset":4173},{"type":26,"value":4061,"position":4178},{"start":4179,"end":4180},{"line":4030,"column":4172,"offset":4173},{"line":4030,"column":4181,"offset":4182},181,8570,{"type":30,"tagName":44,"properties":4184,"children":4185,"position":4193},{},[4186],{"type":26,"value":4187,"position":4188},"slow",{"start":4189,"end":4190},{"line":4030,"column":4181,"offset":4182},{"line":4030,"column":4191,"offset":4192},187,8576,{"start":4194,"end":4195},{"line":4030,"column":4181,"offset":4182},{"line":4030,"column":4191,"offset":4192},{"type":26,"value":4197,"position":4198}," params. The average is ",{"start":4199,"end":4200},{"line":4030,"column":4191,"offset":4192},{"line":4030,"column":4201,"offset":4202},211,8600,{"type":30,"tagName":44,"properties":4204,"children":4205,"position":4213},{},[4206],{"type":26,"value":4207,"position":4208},"NaN",{"start":4209,"end":4210},{"line":4030,"column":4201,"offset":4202},{"line":4030,"column":4211,"offset":4212},216,8605,{"start":4214,"end":4215},{"line":4030,"column":4201,"offset":4202},{"line":4030,"column":4211,"offset":4212},{"type":26,"value":4217,"position":4218}," until its seed of ",{"start":4219,"end":4220},{"line":4030,"column":4211,"offset":4212},{"line":4030,"column":4221,"offset":4222},235,8624,{"type":30,"tagName":44,"properties":4224,"children":4225,"position":4232},{},[4226],{"type":26,"value":4168,"position":4227},{"start":4228,"end":4229},{"line":4030,"column":4221,"offset":4222},{"line":4030,"column":4230,"offset":4231},241,8630,{"start":4233,"end":4234},{"line":4030,"column":4221,"offset":4222},{"line":4030,"column":4230,"offset":4231},{"type":26,"value":4236,"position":4237}," or ",{"start":4238,"end":4239},{"line":4030,"column":4230,"offset":4231},{"line":4030,"column":4240,"offset":4241},245,8634,{"type":30,"tagName":44,"properties":4243,"children":4244,"position":4251},{},[4245],{"type":26,"value":4187,"position":4246},{"start":4247,"end":4248},{"line":4030,"column":4240,"offset":4241},{"line":4030,"column":4249,"offset":4250},251,8640,{"start":4252,"end":4253},{"line":4030,"column":4240,"offset":4241},{"line":4030,"column":4249,"offset":4250},{"type":26,"value":4255,"position":4256}," closes is complete, and a ",{"start":4257,"end":4258},{"line":4030,"column":4249,"offset":4250},{"line":4030,"column":4259,"offset":4260},278,8667,{"type":30,"tagName":44,"properties":4262,"children":4263,"position":4270},{},[4264],{"type":26,"value":4207,"position":4265},{"start":4266,"end":4267},{"line":4030,"column":4259,"offset":4260},{"line":4030,"column":4268,"offset":4269},283,8672,{"start":4271,"end":4272},{"line":4030,"column":4259,"offset":4260},{"line":4030,"column":4268,"offset":4269},{"type":26,"value":4274,"position":4275}," output draws nothing, so each line starts where its average is real.",{"start":4276,"end":4277},{"line":4030,"column":4268,"offset":4269},{"line":4030,"column":4278,"offset":4279},352,8741,{"start":4281,"end":4282},{"line":4030,"column":20,"offset":4037},{"line":4030,"column":4278,"offset":4279},{"type":26,"value":27},{"type":30,"tagName":31,"properties":4285,"children":4286,"position":4529},{},[4287,4304,4310,4322,4328,4340,4347,4359,4366,4378,4385,4398,4405,4418,4425,4444,4451,4464,4471,4483,4490,4502,4509,4522],{"type":30,"tagName":3820,"properties":4288,"children":4289,"position":4298},{},[4290],{"type":26,"value":4291,"position":4292},"One lower pane, two outputs, one scale.",{"start":4293,"end":4296},{"line":4294,"column":3828,"offset":4295},89,8745,{"line":4294,"column":4065,"offset":4297},8784,{"start":4299,"end":4301},{"line":4294,"column":20,"offset":4300},8743,{"line":4294,"column":4302,"offset":4303},44,8786,{"type":26,"value":4042,"position":4305},{"start":4306,"end":4307},{"line":4294,"column":4302,"offset":4303},{"line":4294,"column":4308,"offset":4309},45,8787,{"type":30,"tagName":44,"properties":4311,"children":4312,"position":4319},{},[4313],{"type":26,"value":3924,"position":4314},{"start":4315,"end":4316},{"line":4294,"column":4308,"offset":4309},{"line":4294,"column":4317,"offset":4318},50,8792,{"start":4320,"end":4321},{"line":4294,"column":4308,"offset":4309},{"line":4294,"column":4317,"offset":4318},{"type":26,"value":4061,"position":4323},{"start":4324,"end":4325},{"line":4294,"column":4317,"offset":4318},{"line":4294,"column":4326,"offset":4327},55,8797,{"type":30,"tagName":44,"properties":4329,"children":4330,"position":4337},{},[4331],{"type":26,"value":3943,"position":4332},{"start":4333,"end":4334},{"line":4294,"column":4326,"offset":4327},{"line":4294,"column":4335,"offset":4336},62,8804,{"start":4338,"end":4339},{"line":4294,"column":4326,"offset":4327},{"line":4294,"column":4335,"offset":4336},{"type":26,"value":4341,"position":4342}," both say ",{"start":4343,"end":4344},{"line":4294,"column":4335,"offset":4336},{"line":4294,"column":4345,"offset":4346},72,8814,{"type":30,"tagName":44,"properties":4348,"children":4349,"position":4356},{},[4350],{"type":26,"value":123,"position":4351},{"start":4352,"end":4353},{"line":4294,"column":4345,"offset":4346},{"line":4294,"column":4354,"offset":4355},79,8821,{"start":4357,"end":4358},{"line":4294,"column":4345,"offset":4346},{"line":4294,"column":4354,"offset":4355},{"type":26,"value":4360,"position":4361},", so both land in the package's lower pane, the area and the columns in one pane on one scale. That is the rule, not a choice: a package's numeric outputs share one lower pane, and a second pane is a panel. ",{"start":4362,"end":4363},{"line":4294,"column":4354,"offset":4355},{"line":4294,"column":4364,"offset":4365},286,9028,{"type":30,"tagName":44,"properties":4367,"children":4368,"position":4375},{},[4369],{"type":26,"value":3924,"position":4370},{"start":4371,"end":4372},{"line":4294,"column":4364,"offset":4365},{"line":4294,"column":4373,"offset":4374},291,9033,{"start":4376,"end":4377},{"line":4294,"column":4364,"offset":4365},{"line":4294,"column":4373,"offset":4374},{"type":26,"value":4379,"position":4380}," is a module-level running sum of ",{"start":4381,"end":4382},{"line":4294,"column":4373,"offset":4374},{"line":4294,"column":4383,"offset":4384},325,9067,{"type":30,"tagName":44,"properties":4386,"children":4387,"position":4395},{},[4388],{"type":26,"value":4389,"position":4390},"buy",{"start":4391,"end":4392},{"line":4294,"column":4383,"offset":4384},{"line":4294,"column":4393,"offset":4394},330,9072,{"start":4396,"end":4397},{"line":4294,"column":4383,"offset":4384},{"line":4294,"column":4393,"offset":4394},{"type":26,"value":4399,"position":4400}," minus ",{"start":4401,"end":4402},{"line":4294,"column":4393,"offset":4394},{"line":4294,"column":4403,"offset":4404},337,9079,{"type":30,"tagName":44,"properties":4406,"children":4407,"position":4415},{},[4408],{"type":26,"value":4409,"position":4410},"sell",{"start":4411,"end":4412},{"line":4294,"column":4403,"offset":4404},{"line":4294,"column":4413,"offset":4414},343,9085,{"start":4416,"end":4417},{"line":4294,"column":4403,"offset":4404},{"line":4294,"column":4413,"offset":4414},{"type":26,"value":4419,"position":4420}," over the loaded history (the ",{"start":4421,"end":4422},{"line":4294,"column":4413,"offset":4414},{"line":4294,"column":4423,"offset":4424},373,9115,{"type":30,"tagName":4426,"properties":4427,"children":4429,"position":4439},"a",{"href":4428},"aggregated-cvd.md",[4430],{"type":26,"value":4431,"position":4432},"Aggregated CVD",{"start":4433,"end":4436},{"line":4294,"column":4434,"offset":4435},374,9116,{"line":4294,"column":4437,"offset":4438},388,9130,{"start":4440,"end":4441},{"line":4294,"column":4423,"offset":4424},{"line":4294,"column":4442,"offset":4443},408,9150,{"type":26,"value":4445,"position":4446}," accumulator), drawn as an ",{"start":4447,"end":4448},{"line":4294,"column":4442,"offset":4443},{"line":4294,"column":4449,"offset":4450},435,9177,{"type":30,"tagName":44,"properties":4452,"children":4453,"position":4461},{},[4454],{"type":26,"value":4455,"position":4456},"area",{"start":4457,"end":4458},{"line":4294,"column":4449,"offset":4450},{"line":4294,"column":4459,"offset":4460},441,9183,{"start":4462,"end":4463},{"line":4294,"column":4449,"offset":4450},{"line":4294,"column":4459,"offset":4460},{"type":26,"value":4465,"position":4466}," in a fixed color; ",{"start":4467,"end":4468},{"line":4294,"column":4459,"offset":4460},{"line":4294,"column":4469,"offset":4470},460,9202,{"type":30,"tagName":44,"properties":4472,"children":4473,"position":4480},{},[4474],{"type":26,"value":3943,"position":4475},{"start":4476,"end":4477},{"line":4294,"column":4469,"offset":4470},{"line":4294,"column":4478,"offset":4479},467,9209,{"start":4481,"end":4482},{"line":4294,"column":4469,"offset":4470},{"line":4294,"column":4478,"offset":4479},{"type":26,"value":4484,"position":4485}," is the same bar's difference, drawn as a ",{"start":4486,"end":4487},{"line":4294,"column":4478,"offset":4479},{"line":4294,"column":4488,"offset":4489},509,9251,{"type":30,"tagName":44,"properties":4491,"children":4492,"position":4499},{},[4493],{"type":26,"value":1112,"position":4494},{"start":4495,"end":4496},{"line":4294,"column":4488,"offset":4489},{"line":4294,"column":4497,"offset":4498},520,9262,{"start":4500,"end":4501},{"line":4294,"column":4488,"offset":4489},{"line":4294,"column":4497,"offset":4498},{"type":26,"value":4503,"position":4504},", columns from zero. Sharing works here because both are in the same unit, net traded volume; a series on another scale (a percentage, a count) would flatten against them and belongs in a panel, or in an inset strip through ",{"start":4505,"end":4506},{"line":4294,"column":4497,"offset":4498},{"line":4294,"column":4507,"offset":4508},744,9486,{"type":30,"tagName":44,"properties":4510,"children":4511,"position":4519},{},[4512],{"type":26,"value":4513,"position":4514},"out.inset",{"start":4515,"end":4516},{"line":4294,"column":4507,"offset":4508},{"line":4294,"column":4517,"offset":4518},755,9497,{"start":4520,"end":4521},{"line":4294,"column":4507,"offset":4508},{"line":4294,"column":4517,"offset":4518},{"type":26,"value":4523,"position":4524},".",{"start":4525,"end":4526},{"line":4294,"column":4517,"offset":4518},{"line":4294,"column":4527,"offset":4528},756,9498,{"start":4530,"end":4531},{"line":4294,"column":20,"offset":4300},{"line":4294,"column":4527,"offset":4528},{"type":26,"value":27},{"type":30,"tagName":31,"properties":4534,"children":4535,"position":4679},{},[4536,4554,4560,4573,4580,4593,4600,4613,4620,4633,4640,4652,4659,4672],{"type":30,"tagName":3820,"properties":4537,"children":4538,"position":4548},{},[4539],{"type":26,"value":4540,"position":4541},"Two windows below the chart.",{"start":4542,"end":4545},{"line":4543,"column":3828,"offset":4544},91,9502,{"line":4543,"column":4546,"offset":4547},31,9530,{"start":4549,"end":4551},{"line":4543,"column":20,"offset":4550},9500,{"line":4543,"column":4552,"offset":4553},33,9532,{"type":26,"value":4042,"position":4555},{"start":4556,"end":4557},{"line":4543,"column":4552,"offset":4553},{"line":4543,"column":4558,"offset":4559},34,9533,{"type":30,"tagName":44,"properties":4561,"children":4562,"position":4570},{},[4563],{"type":26,"value":4564,"position":4565},"frame(\"oi_rows\", { max_bytes: 16384 })",{"start":4566,"end":4567},{"line":4543,"column":4558,"offset":4559},{"line":4543,"column":4568,"offset":4569},74,9573,{"start":4571,"end":4572},{"line":4543,"column":4558,"offset":4559},{"line":4543,"column":4568,"offset":4569},{"type":26,"value":4574,"position":4575}," reserves one JSON snapshot for the run, and ",{"start":4576,"end":4577},{"line":4543,"column":4568,"offset":4569},{"line":4543,"column":4578,"offset":4579},119,9618,{"type":30,"tagName":44,"properties":4581,"children":4582,"position":4590},{},[4583],{"type":26,"value":4584,"position":4585},"panel.histogram({ name: \"oi_change\", title: \"OI change\", x: \"category\", place: \"below\", frame: oi_rows, bins: 24 })",{"start":4586,"end":4587},{"line":4543,"column":4578,"offset":4579},{"line":4543,"column":4588,"offset":4589},236,9735,{"start":4591,"end":4592},{"line":4543,"column":4578,"offset":4579},{"line":4543,"column":4588,"offset":4589},{"type":26,"value":4594,"position":4595}," binds a window to it; a name is one space across outputs, frames and panels, so the frame holds the rows and the panel is the window. The window does not bin. Its rows are already columns, one ",{"start":4596,"end":4597},{"line":4543,"column":4588,"offset":4589},{"line":4543,"column":4598,"offset":4599},430,9929,{"type":30,"tagName":44,"properties":4601,"children":4602,"position":4610},{},[4603],{"type":26,"value":4604,"position":4605},"[\"label\", count]",{"start":4606,"end":4607},{"line":4543,"column":4598,"offset":4599},{"line":4543,"column":4608,"offset":4609},448,9947,{"start":4611,"end":4612},{"line":4543,"column":4598,"offset":4599},{"line":4543,"column":4608,"offset":4609},{"type":26,"value":4614,"position":4615}," pair each (a label of 1 to 24 characters, a count of zero or more, 2000 rows at most), and ",{"start":4616,"end":4617},{"line":4543,"column":4608,"offset":4609},{"line":4543,"column":4618,"offset":4619},540,10039,{"type":30,"tagName":44,"properties":4621,"children":4622,"position":4630},{},[4623],{"type":26,"value":4624,"position":4625},"bins: 24",{"start":4626,"end":4627},{"line":4543,"column":4618,"offset":4619},{"line":4543,"column":4628,"offset":4629},550,10049,{"start":4631,"end":4632},{"line":4543,"column":4618,"offset":4619},{"line":4543,"column":4628,"offset":4629},{"type":26,"value":4634,"position":4635}," is the number of columns the window is declared for, which is why the package writes exactly 24 rows. ",{"start":4636,"end":4637},{"line":4543,"column":4628,"offset":4629},{"line":4543,"column":4638,"offset":4639},653,10152,{"type":30,"tagName":44,"properties":4641,"children":4642,"position":4649},{},[4643],{"type":26,"value":3593,"position":4644},{"start":4645,"end":4646},{"line":4543,"column":4638,"offset":4639},{"line":4543,"column":4647,"offset":4648},668,10167,{"start":4650,"end":4651},{"line":4543,"column":4638,"offset":4639},{"line":4543,"column":4647,"offset":4648},{"type":26,"value":4653,"position":4654}," finds the ring's lowest and highest finite values, splits that range into 24 equal-width columns, counts each value into its column, and labels each column with its lower edge, with as many decimals as it takes to tell neighbours apart. Empty rows are legal: before the first open-interest reading, and on a market with no open interest at all (spot, for one), the OI window is empty and draws no columns while the four plots and the delta window draw as usual. The last write per frame wins for the run, so both writes sit under ",{"start":4655,"end":4656},{"line":4543,"column":4647,"offset":4648},{"line":4543,"column":4657,"offset":4658},1199,10698,{"type":30,"tagName":44,"properties":4660,"children":4661,"position":4669},{},[4662],{"type":26,"value":4663,"position":4664},"bar.isLast()",{"start":4665,"end":4666},{"line":4543,"column":4657,"offset":4658},{"line":4543,"column":4667,"offset":4668},1213,10712,{"start":4670,"end":4671},{"line":4543,"column":4657,"offset":4658},{"line":4543,"column":4667,"offset":4668},{"type":26,"value":4673,"position":4674},": a closed bar writes nothing and builds no strings, and the live bar rewrites both windows on every refresh.",{"start":4675,"end":4676},{"line":4543,"column":4667,"offset":4668},{"line":4543,"column":4677,"offset":4678},1322,10821,{"start":4680,"end":4681},{"line":4543,"column":20,"offset":4550},{"line":4543,"column":4677,"offset":4678},{"type":26,"value":27},{"type":30,"tagName":31,"properties":4684,"children":4685,"position":4961},{},[4686,4703,4710,4723,4730,4742,4749,4761,4768,4781,4788,4801,4808,4821,4828,4839,4845,4857,4864,4877,4884,4897,4904,4915,4922,4935,4942,4954],{"type":30,"tagName":3820,"properties":4687,"children":4688,"position":4697},{},[4689],{"type":26,"value":4690,"position":4691},"The rings, the gate and the reset.",{"start":4692,"end":4695},{"line":4693,"column":3828,"offset":4694},93,10825,{"line":4693,"column":4055,"offset":4696},10859,{"start":4698,"end":4700},{"line":4693,"column":20,"offset":4699},10823,{"line":4693,"column":4701,"offset":4702},39,10861,{"type":26,"value":4704,"position":4705}," The two rings are ",{"start":4706,"end":4707},{"line":4693,"column":4701,"offset":4702},{"line":4693,"column":4708,"offset":4709},58,10880,{"type":30,"tagName":44,"properties":4711,"children":4712,"position":4720},{},[4713],{"type":26,"value":4714,"position":4715},"StaticArray\u003Cf64>",{"start":4716,"end":4717},{"line":4693,"column":4708,"offset":4709},{"line":4693,"column":4718,"offset":4719},76,10898,{"start":4721,"end":4722},{"line":4693,"column":4708,"offset":4709},{"line":4693,"column":4718,"offset":4719},{"type":26,"value":4724,"position":4725}," objects made at module level from the ",{"start":4726,"end":4727},{"line":4693,"column":4718,"offset":4719},{"line":4693,"column":4728,"offset":4729},115,10937,{"type":30,"tagName":44,"properties":4731,"children":4732,"position":4739},{},[4733],{"type":26,"value":4734,"position":4735},"window",{"start":4736,"end":4737},{"line":4693,"column":4728,"offset":4729},{"line":4693,"column":3844,"offset":4738},10945,{"start":4740,"end":4741},{"line":4693,"column":4728,"offset":4729},{"line":4693,"column":3844,"offset":4738},{"type":26,"value":4743,"position":4744}," param's maximum (2000 slots each); ",{"start":4745,"end":4746},{"line":4693,"column":3844,"offset":4738},{"line":4693,"column":4747,"offset":4748},159,10981,{"type":30,"tagName":44,"properties":4750,"children":4751,"position":4758},{},[4752],{"type":26,"value":4148,"position":4753},{"start":4754,"end":4755},{"line":4693,"column":4747,"offset":4748},{"line":4693,"column":4756,"offset":4757},167,10989,{"start":4759,"end":4760},{"line":4693,"column":4747,"offset":4748},{"line":4693,"column":4756,"offset":4757},{"type":26,"value":4762,"position":4763}," reads the window in use, and the cursor wraps there. ",{"start":4764,"end":4765},{"line":4693,"column":4756,"offset":4757},{"line":4693,"column":4766,"offset":4767},221,11043,{"type":30,"tagName":44,"properties":4769,"children":4770,"position":4778},{},[4771],{"type":26,"value":4772,"position":4773},"state()",{"start":4774,"end":4775},{"line":4693,"column":4766,"offset":4767},{"line":4693,"column":4776,"offset":4777},230,11052,{"start":4779,"end":4780},{"line":4693,"column":4766,"offset":4767},{"line":4693,"column":4776,"offset":4777},{"type":26,"value":4782,"position":4783}," writes one slot in each ring per bar that traded: ",{"start":4784,"end":4785},{"line":4693,"column":4776,"offset":4777},{"line":4693,"column":4786,"offset":4787},281,11103,{"type":30,"tagName":44,"properties":4789,"children":4790,"position":4798},{},[4791],{"type":26,"value":4792,"position":4793},"volume",{"start":4794,"end":4795},{"line":4693,"column":4786,"offset":4787},{"line":4693,"column":4796,"offset":4797},289,11111,{"start":4799,"end":4800},{"line":4693,"column":4786,"offset":4787},{"line":4693,"column":4796,"offset":4797},{"type":26,"value":4802,"position":4803}," is the gate, because a bar with no trades reads a zero delta by policy (",{"start":4804,"end":4805},{"line":4693,"column":4796,"offset":4797},{"line":4693,"column":4806,"offset":4807},362,11184,{"type":30,"tagName":44,"properties":4809,"children":4810,"position":4818},{},[4811],{"type":26,"value":4812,"position":4813},"missing: \"zero\"",{"start":4814,"end":4815},{"line":4693,"column":4806,"offset":4807},{"line":4693,"column":4816,"offset":4817},379,11201,{"start":4819,"end":4820},{"line":4693,"column":4806,"offset":4807},{"line":4693,"column":4816,"offset":4817},{"type":26,"value":4822,"position":4823}," on ",{"start":4824,"end":4825},{"line":4693,"column":4816,"offset":4817},{"line":4693,"column":4826,"offset":4827},383,11205,{"type":30,"tagName":44,"properties":4829,"children":4830,"position":4836},{},[4831],{"type":26,"value":4389,"position":4832},{"start":4833,"end":4834},{"line":4693,"column":4826,"offset":4827},{"line":4693,"column":4437,"offset":4835},11210,{"start":4837,"end":4838},{"line":4693,"column":4826,"offset":4827},{"line":4693,"column":4437,"offset":4835},{"type":26,"value":4061,"position":4840},{"start":4841,"end":4842},{"line":4693,"column":4437,"offset":4835},{"line":4693,"column":4843,"offset":4844},393,11215,{"type":30,"tagName":44,"properties":4846,"children":4847,"position":4854},{},[4848],{"type":26,"value":4409,"position":4849},{"start":4850,"end":4851},{"line":4693,"column":4843,"offset":4844},{"line":4693,"column":4852,"offset":4853},399,11221,{"start":4855,"end":4856},{"line":4693,"column":4843,"offset":4844},{"line":4693,"column":4852,"offset":4853},{"type":26,"value":4858,"position":4859},") and would only pile onto the zero column of the delta window. Open interest is ",{"start":4860,"end":4861},{"line":4693,"column":4852,"offset":4853},{"line":4693,"column":4862,"offset":4863},480,11302,{"type":30,"tagName":44,"properties":4865,"children":4866,"position":4874},{},[4867],{"type":26,"value":4868,"position":4869},"missing: \"nan\"",{"start":4870,"end":4871},{"line":4693,"column":4862,"offset":4863},{"line":4693,"column":4872,"offset":4873},496,11318,{"start":4875,"end":4876},{"line":4693,"column":4862,"offset":4863},{"line":4693,"column":4872,"offset":4873},{"type":26,"value":4878,"position":4879},": a bar without a reading, and every bar of a market without open interest, reads NaN, so its change is NaN and the binning skips it, which is what leaves the OI window empty on such a market instead of withholding every row (a ",{"start":4880,"end":4881},{"line":4693,"column":4872,"offset":4873},{"line":4693,"column":4882,"offset":4883},724,11546,{"type":30,"tagName":44,"properties":4885,"children":4886,"position":4894},{},[4887],{"type":26,"value":4888,"position":4889},"carry",{"start":4890,"end":4891},{"line":4693,"column":4882,"offset":4883},{"line":4693,"column":4892,"offset":4893},731,11553,{"start":4895,"end":4896},{"line":4693,"column":4882,"offset":4883},{"line":4693,"column":4892,"offset":4893},{"type":26,"value":4898,"position":4899}," abstains the whole row until a first observation). The first bar has no previous open interest, so its change is ",{"start":4900,"end":4901},{"line":4693,"column":4892,"offset":4893},{"line":4693,"column":4902,"offset":4903},845,11667,{"type":30,"tagName":44,"properties":4905,"children":4906,"position":4912},{},[4907],{"type":26,"value":4207,"position":4908},{"start":4909,"end":4910},{"line":4693,"column":4902,"offset":4903},{"line":4693,"column":98,"offset":4911},11672,{"start":4913,"end":4914},{"line":4693,"column":4902,"offset":4903},{"line":4693,"column":98,"offset":4911},{"type":26,"value":4916,"position":4917}," too. ",{"start":4918,"end":4919},{"line":4693,"column":98,"offset":4911},{"line":4693,"column":4920,"offset":4921},856,11678,{"type":30,"tagName":44,"properties":4923,"children":4924,"position":4932},{},[4925],{"type":26,"value":4926,"position":4927},"reset()",{"start":4928,"end":4929},{"line":4693,"column":4920,"offset":4921},{"line":4693,"column":4930,"offset":4931},865,11687,{"start":4933,"end":4934},{"line":4693,"column":4920,"offset":4921},{"line":4693,"column":4930,"offset":4931},{"type":26,"value":4936,"position":4937}," puts everything back to what ",{"start":4938,"end":4939},{"line":4693,"column":4930,"offset":4931},{"line":4693,"column":4940,"offset":4941},895,11717,{"type":30,"tagName":44,"properties":4943,"children":4944,"position":4951},{},[4945],{"type":26,"value":4148,"position":4946},{"start":4947,"end":4948},{"line":4693,"column":4940,"offset":4941},{"line":4693,"column":4949,"offset":4950},903,11725,{"start":4952,"end":4953},{"line":4693,"column":4940,"offset":4941},{"line":4693,"column":4949,"offset":4950},{"type":26,"value":4955,"position":4956}," built when the host replays the forming bar: both averages, the running sum, and both rings.",{"start":4957,"end":4958},{"line":4693,"column":4949,"offset":4950},{"line":4693,"column":4959,"offset":4960},996,11818,{"start":4962,"end":4963},{"line":4693,"column":20,"offset":4699},{"line":4693,"column":4959,"offset":4960},{"type":26,"value":27},{"type":30,"tagName":224,"properties":4966,"children":4968,"position":4978},{"id":4967},"what-kscript-legacy-could-not-do",[4969],{"type":26,"value":4970,"position":4971},"What kScript (legacy) could not do",{"start":4972,"end":4975},{"line":4973,"column":233,"offset":4974},95,11823,{"line":4973,"column":4976,"offset":4977},38,11857,{"start":4979,"end":4981},{"line":4973,"column":20,"offset":4980},11820,{"line":4973,"column":4976,"offset":4977},{"type":26,"value":27},{"type":30,"tagName":4984,"properties":4985,"children":4986,"position":5428},"ul",{},[4987,4988,5092,5093,5162,5163,5341,5342,5427],{"type":26,"value":27},{"type":30,"tagName":4989,"properties":4990,"children":4991,"position":5088},"li",{},[4992,5009,5015,5028,5034,5046,5053,5065,5071,5082],{"type":30,"tagName":3820,"properties":4993,"children":4994,"position":5004},{},[4995],{"type":26,"value":4996,"position":4997},"One pane per script.",{"start":4998,"end":5001},{"line":4999,"column":38,"offset":5000},97,11863,{"line":4999,"column":5002,"offset":5003},25,11883,{"start":5005,"end":5007},{"line":4999,"column":3828,"offset":5006},11861,{"line":4999,"column":4046,"offset":5008},11885,{"type":26,"value":4042,"position":5010},{"start":5011,"end":5012},{"line":4999,"column":4046,"offset":5008},{"line":4999,"column":5013,"offset":5014},28,11886,{"type":30,"tagName":44,"properties":5016,"children":5017,"position":5025},{},[5018],{"type":26,"value":5019,"position":5020},"define(position=\"onchart\")",{"start":5021,"end":5022},{"line":4999,"column":5013,"offset":5014},{"line":4999,"column":5023,"offset":5024},56,11914,{"start":5026,"end":5027},{"line":4999,"column":5013,"offset":5014},{"line":4999,"column":5023,"offset":5024},{"type":26,"value":4236,"position":5029},{"start":5030,"end":5031},{"line":4999,"column":5023,"offset":5024},{"line":4999,"column":5032,"offset":5033},60,11918,{"type":30,"tagName":44,"properties":5035,"children":5036,"position":5043},{},[5037],{"type":26,"value":5038,"position":5039},"\"offchart\"",{"start":5040,"end":5041},{"line":4999,"column":5032,"offset":5033},{"line":4999,"column":4345,"offset":5042},11930,{"start":5044,"end":5045},{"line":4999,"column":5032,"offset":5033},{"line":4999,"column":4345,"offset":5042},{"type":26,"value":5047,"position":5048}," placed the whole script, so averages over price and a flow pane were two scripts on one chart. Here each output names its pane in one file: ",{"start":5049,"end":5050},{"line":4999,"column":4345,"offset":5042},{"line":4999,"column":5051,"offset":5052},213,12071,{"type":30,"tagName":44,"properties":5054,"children":5055,"position":5062},{},[5056],{"type":26,"value":83,"position":5057},{"start":5058,"end":5059},{"line":4999,"column":5051,"offset":5052},{"line":4999,"column":5060,"offset":5061},222,12080,{"start":5063,"end":5064},{"line":4999,"column":5051,"offset":5052},{"line":4999,"column":5060,"offset":5061},{"type":26,"value":5066,"position":5067}," for the averages, ",{"start":5068,"end":5069},{"line":4999,"column":5060,"offset":5061},{"line":4999,"column":4230,"offset":5070},12099,{"type":30,"tagName":44,"properties":5072,"children":5073,"position":5079},{},[5074],{"type":26,"value":123,"position":5075},{"start":5076,"end":5077},{"line":4999,"column":4230,"offset":5070},{"line":4999,"column":3900,"offset":5078},12106,{"start":5080,"end":5081},{"line":4999,"column":4230,"offset":5070},{"line":4999,"column":3900,"offset":5078},{"type":26,"value":5083,"position":5084}," for the flow.",{"start":5085,"end":5086},{"line":4999,"column":3900,"offset":5078},{"line":4999,"column":3928,"offset":5087},12120,{"start":5089,"end":5091},{"line":4999,"column":20,"offset":5090},11859,{"line":4999,"column":3928,"offset":5087},{"type":26,"value":27},{"type":30,"tagName":4989,"properties":5094,"children":5095,"position":5158},{},[5096,5113,5119,5132,5139,5152],{"type":30,"tagName":3820,"properties":5097,"children":5098,"position":5107},{},[5099],{"type":26,"value":5100,"position":5101},"No window with its own axis.",{"start":5102,"end":5105},{"line":5103,"column":38,"offset":5104},98,12125,{"line":5103,"column":4552,"offset":5106},12153,{"start":5108,"end":5110},{"line":5103,"column":3828,"offset":5109},12123,{"line":5103,"column":5111,"offset":5112},35,12155,{"type":26,"value":4042,"position":5114},{"start":5115,"end":5116},{"line":5103,"column":5111,"offset":5112},{"line":5103,"column":5117,"offset":5118},36,12156,{"type":30,"tagName":44,"properties":5120,"children":5121,"position":5129},{},[5122],{"type":26,"value":5123,"position":5124},"plotHistogram",{"start":5125,"end":5126},{"line":5103,"column":5117,"offset":5118},{"line":5103,"column":5127,"offset":5128},51,12171,{"start":5130,"end":5131},{"line":5103,"column":5117,"offset":5118},{"line":5103,"column":5127,"offset":5128},{"type":26,"value":5133,"position":5134}," was a column per bar on the time axis. The spread of the last 200 open-interest changes, binned, had nowhere to land. Here it is a frame and a ",{"start":5135,"end":5136},{"line":5103,"column":5127,"offset":5128},{"line":5103,"column":5137,"offset":5138},195,12315,{"type":30,"tagName":44,"properties":5140,"children":5141,"position":5149},{},[5142],{"type":26,"value":5143,"position":5144},"panel.histogram",{"start":5145,"end":5146},{"line":5103,"column":5137,"offset":5138},{"line":5103,"column":5147,"offset":5148},212,12332,{"start":5150,"end":5151},{"line":5103,"column":5137,"offset":5138},{"line":5103,"column":5147,"offset":5148},{"type":26,"value":5153,"position":5154},": a separate window below the chart whose axis is the bins.",{"start":5155,"end":5156},{"line":5103,"column":5147,"offset":5148},{"line":5103,"column":3947,"offset":5157},12391,{"start":5159,"end":5161},{"line":5103,"column":20,"offset":5160},12121,{"line":5103,"column":3947,"offset":5157},{"type":26,"value":27},{"type":30,"tagName":4989,"properties":5164,"children":5165,"position":5337},{},[5166,5182,5187,5199,5204,5217,5223,5235,5242,5255,5262,5275,5282,5294,5299,5312,5318,5330],{"type":30,"tagName":3820,"properties":5167,"children":5168,"position":5177},{},[5169],{"type":26,"value":5170,"position":5171},"No missing policy on a feed.",{"start":5172,"end":5175},{"line":5173,"column":38,"offset":5174},99,12396,{"line":5173,"column":4552,"offset":5176},12424,{"start":5178,"end":5180},{"line":5173,"column":3828,"offset":5179},12394,{"line":5173,"column":5111,"offset":5181},12426,{"type":26,"value":4042,"position":5183},{"start":5184,"end":5185},{"line":5173,"column":5111,"offset":5181},{"line":5173,"column":5117,"offset":5186},12427,{"type":30,"tagName":44,"properties":5188,"children":5189,"position":5196},{},[5190],{"type":26,"value":5191,"position":5192},"open_interest",{"start":5193,"end":5194},{"line":5173,"column":5117,"offset":5186},{"line":5173,"column":5127,"offset":5195},12442,{"start":5197,"end":5198},{"line":5173,"column":5117,"offset":5186},{"line":5173,"column":5127,"offset":5195},{"type":26,"value":4061,"position":5200},{"start":5201,"end":5202},{"line":5173,"column":5127,"offset":5195},{"line":5173,"column":5023,"offset":5203},12447,{"type":30,"tagName":44,"properties":5205,"children":5206,"position":5214},{},[5207],{"type":26,"value":5208,"position":5209},"buy_sell_volume",{"start":5210,"end":5211},{"line":5173,"column":5023,"offset":5203},{"line":5173,"column":5212,"offset":5213},73,12464,{"start":5215,"end":5216},{"line":5173,"column":5023,"offset":5203},{"line":5173,"column":5212,"offset":5213},{"type":26,"value":5218,"position":5219}," read ",{"start":5220,"end":5221},{"line":5173,"column":5212,"offset":5213},{"line":5173,"column":4354,"offset":5222},12470,{"type":30,"tagName":44,"properties":5224,"children":5225,"position":5232},{},[5226],{"type":26,"value":5227,"position":5228},"na",{"start":5229,"end":5230},{"line":5173,"column":4354,"offset":5222},{"line":5173,"column":3806,"offset":5231},12474,{"start":5233,"end":5234},{"line":5173,"column":4354,"offset":5222},{"line":5173,"column":3806,"offset":5231},{"type":26,"value":5236,"position":5237}," where a bar had no observation, and every use needed an ",{"start":5238,"end":5239},{"line":5173,"column":3806,"offset":5231},{"line":5173,"column":5240,"offset":5241},140,12531,{"type":30,"tagName":44,"properties":5243,"children":5244,"position":5252},{},[5245],{"type":26,"value":5246,"position":5247},"isnum",{"start":5248,"end":5249},{"line":5173,"column":5240,"offset":5241},{"line":5173,"column":5250,"offset":5251},147,12538,{"start":5253,"end":5254},{"line":5173,"column":5240,"offset":5241},{"line":5173,"column":5250,"offset":5251},{"type":26,"value":5256,"position":5257}," guard (the Aggregated CVD recipe's ",{"start":5258,"end":5259},{"line":5173,"column":5250,"offset":5251},{"line":5173,"column":5260,"offset":5261},183,12574,{"type":30,"tagName":44,"properties":5263,"children":5264,"position":5272},{},[5265],{"type":26,"value":5266,"position":5267},"pairDelta",{"start":5268,"end":5269},{"line":5173,"column":5260,"offset":5261},{"line":5173,"column":5270,"offset":5271},194,12585,{"start":5273,"end":5274},{"line":5173,"column":5260,"offset":5261},{"line":5173,"column":5270,"offset":5271},{"type":26,"value":5276,"position":5277},"). Here ",{"start":5278,"end":5279},{"line":5173,"column":5270,"offset":5271},{"line":5173,"column":5280,"offset":5281},202,12593,{"type":30,"tagName":44,"properties":5283,"children":5284,"position":5291},{},[5285],{"type":26,"value":4868,"position":5286},{"start":5287,"end":5288},{"line":5173,"column":5280,"offset":5281},{"line":5173,"column":5289,"offset":5290},218,12609,{"start":5292,"end":5293},{"line":5173,"column":5280,"offset":5281},{"line":5173,"column":5289,"offset":5290},{"type":26,"value":4822,"position":5295},{"start":5296,"end":5297},{"line":5173,"column":5289,"offset":5290},{"line":5173,"column":5060,"offset":5298},12613,{"type":30,"tagName":44,"properties":5300,"children":5301,"position":5309},{},[5302],{"type":26,"value":5303,"position":5304},"oi.close",{"start":5305,"end":5306},{"line":5173,"column":5060,"offset":5298},{"line":5173,"column":5307,"offset":5308},232,12623,{"start":5310,"end":5311},{"line":5173,"column":5060,"offset":5298},{"line":5173,"column":5307,"offset":5308},{"type":26,"value":4061,"position":5313},{"start":5314,"end":5315},{"line":5173,"column":5307,"offset":5308},{"line":5173,"column":5316,"offset":5317},237,12628,{"type":30,"tagName":44,"properties":5319,"children":5320,"position":5327},{},[5321],{"type":26,"value":4812,"position":5322},{"start":5323,"end":5324},{"line":5173,"column":5316,"offset":5317},{"line":5173,"column":5325,"offset":5326},254,12645,{"start":5328,"end":5329},{"line":5173,"column":5316,"offset":5317},{"line":5173,"column":5325,"offset":5326},{"type":26,"value":5331,"position":5332}," on the side-split tape are declared once and hold on every bar.",{"start":5333,"end":5334},{"line":5173,"column":5325,"offset":5326},{"line":5173,"column":5335,"offset":5336},318,12709,{"start":5338,"end":5340},{"line":5173,"column":20,"offset":5339},12392,{"line":5173,"column":5335,"offset":5336},{"type":26,"value":27},{"type":30,"tagName":4989,"properties":5343,"children":5344,"position":5423},{},[5345,5361,5368,5380,5386,5398,5404,5416],{"type":30,"tagName":3820,"properties":5346,"children":5347,"position":5356},{},[5348],{"type":26,"value":5349,"position":5350},"A plot was only a picture.",{"start":5351,"end":5354},{"line":5352,"column":38,"offset":5353},100,12714,{"line":5352,"column":4546,"offset":5355},12740,{"start":5357,"end":5359},{"line":5352,"column":3828,"offset":5358},12712,{"line":5352,"column":4552,"offset":5360},12742,{"type":26,"value":5362,"position":5363}," Every output here is also a metric: ",{"start":5364,"end":5365},{"line":5352,"column":4552,"offset":5360},{"line":5352,"column":5366,"offset":5367},70,12779,{"type":30,"tagName":44,"properties":5369,"children":5370,"position":5377},{},[5371],{"type":26,"value":4000,"position":5372},{"start":5373,"end":5374},{"line":5352,"column":5366,"offset":5367},{"line":5352,"column":5375,"offset":5376},88,12797,{"start":5378,"end":5379},{"line":5352,"column":5366,"offset":5367},{"line":5352,"column":5375,"offset":5376},{"type":26,"value":5381,"position":5382}," reads ",{"start":5383,"end":5384},{"line":5352,"column":5375,"offset":5376},{"line":5352,"column":4973,"offset":5385},12804,{"type":30,"tagName":44,"properties":5387,"children":5388,"position":5395},{},[5389],{"type":26,"value":3943,"position":5390},{"start":5391,"end":5392},{"line":5352,"column":4973,"offset":5385},{"line":5352,"column":5393,"offset":5394},102,12811,{"start":5396,"end":5397},{"line":5352,"column":4973,"offset":5385},{"line":5352,"column":5393,"offset":5394},{"type":26,"value":4236,"position":5399},{"start":5400,"end":5401},{"line":5352,"column":5393,"offset":5394},{"line":5352,"column":5402,"offset":5403},106,12815,{"type":30,"tagName":44,"properties":5405,"children":5406,"position":5413},{},[5407],{"type":26,"value":3924,"position":5408},{"start":5409,"end":5410},{"line":5352,"column":5402,"offset":5403},{"line":5352,"column":5411,"offset":5412},111,12820,{"start":5414,"end":5415},{"line":5352,"column":5402,"offset":5403},{"line":5352,"column":5411,"offset":5412},{"type":26,"value":5417,"position":5418}," on your machine and an alert can read it, while the chart draws the same number.",{"start":5419,"end":5420},{"line":5352,"column":5411,"offset":5412},{"line":5352,"column":5421,"offset":5422},192,12901,{"start":5424,"end":5426},{"line":5352,"column":20,"offset":5425},12710,{"line":5352,"column":5421,"offset":5422},{"type":26,"value":27},{"start":5429,"end":5430},{"line":4999,"column":20,"offset":5090},{"line":5352,"column":5421,"offset":5422},{"type":26,"value":27},{"type":30,"tagName":224,"properties":5433,"children":5435,"position":5443},{"id":5434},"customize-it",[5436],{"type":26,"value":5437,"position":5438},"Customize it",{"start":5439,"end":5441},{"line":5393,"column":233,"offset":5440},12906,{"line":5393,"column":3809,"offset":5442},12918,{"start":5444,"end":5446},{"line":5393,"column":20,"offset":5445},12903,{"line":5393,"column":3809,"offset":5442},{"type":26,"value":27},{"type":30,"tagName":4984,"properties":5449,"children":5450,"position":5859},{},[5451,5452,5552,5553,5620,5621,5686,5687,5791,5792,5858],{"type":26,"value":27},{"type":30,"tagName":4989,"properties":5453,"children":5454,"position":5548},{},[5455,5473,5478,5490,5496,5507,5514,5525,5531,5542],{"type":30,"tagName":3820,"properties":5456,"children":5457,"position":5467},{},[5458],{"type":26,"value":5459,"position":5460},"Lengths.",{"start":5461,"end":5464},{"line":5462,"column":38,"offset":5463},104,12924,{"line":5462,"column":5465,"offset":5466},13,12932,{"start":5468,"end":5470},{"line":5462,"column":3828,"offset":5469},12922,{"line":5462,"column":5471,"offset":5472},15,12934,{"type":26,"value":4042,"position":5474},{"start":5475,"end":5476},{"line":5462,"column":5471,"offset":5472},{"line":5462,"column":3809,"offset":5477},12935,{"type":30,"tagName":44,"properties":5479,"children":5480,"position":5487},{},[5481],{"type":26,"value":4168,"position":5482},{"start":5483,"end":5484},{"line":5462,"column":3809,"offset":5477},{"line":5462,"column":5485,"offset":5486},22,12941,{"start":5488,"end":5489},{"line":5462,"column":3809,"offset":5477},{"line":5462,"column":5485,"offset":5486},{"type":26,"value":5491,"position":5492}," (2..200) and ",{"start":5493,"end":5494},{"line":5462,"column":5485,"offset":5486},{"line":5462,"column":5117,"offset":5495},12955,{"type":30,"tagName":44,"properties":5497,"children":5498,"position":5504},{},[5499],{"type":26,"value":4187,"position":5500},{"start":5501,"end":5502},{"line":5462,"column":5117,"offset":5495},{"line":5462,"column":4065,"offset":5503},12961,{"start":5505,"end":5506},{"line":5462,"column":5117,"offset":5495},{"line":5462,"column":4065,"offset":5503},{"type":26,"value":5508,"position":5509}," (2..400) rebuild the two ",{"start":5510,"end":5511},{"line":5462,"column":4065,"offset":5503},{"line":5462,"column":5512,"offset":5513},68,12987,{"type":30,"tagName":44,"properties":5515,"children":5516,"position":5522},{},[5517],{"type":26,"value":4109,"position":5518},{"start":5519,"end":5520},{"line":5462,"column":5512,"offset":5513},{"line":5462,"column":5212,"offset":5521},12992,{"start":5523,"end":5524},{"line":5462,"column":5512,"offset":5513},{"line":5462,"column":5212,"offset":5521},{"type":26,"value":5526,"position":5527}," objects in ",{"start":5528,"end":5529},{"line":5462,"column":5212,"offset":5521},{"line":5462,"column":3827,"offset":5530},13004,{"type":30,"tagName":44,"properties":5532,"children":5533,"position":5539},{},[5534],{"type":26,"value":4148,"position":5535},{"start":5536,"end":5537},{"line":5462,"column":3827,"offset":5530},{"line":5462,"column":4693,"offset":5538},13012,{"start":5540,"end":5541},{"line":5462,"column":3827,"offset":5530},{"line":5462,"column":4693,"offset":5538},{"type":26,"value":4523,"position":5543},{"start":5544,"end":5545},{"line":5462,"column":4693,"offset":5538},{"line":5462,"column":5546,"offset":5547},94,13013,{"start":5549,"end":5551},{"line":5462,"column":20,"offset":5550},12920,{"line":5462,"column":5546,"offset":5547},{"type":26,"value":27},{"type":30,"tagName":4989,"properties":5554,"children":5555,"position":5616},{},[5556,5574,5579,5590,5597,5609],{"type":30,"tagName":3820,"properties":5557,"children":5558,"position":5568},{},[5559],{"type":26,"value":5560,"position":5561},"Window.",{"start":5562,"end":5565},{"line":5563,"column":38,"offset":5564},105,13018,{"line":5563,"column":5566,"offset":5567},12,13025,{"start":5569,"end":5571},{"line":5563,"column":3828,"offset":5570},13016,{"line":5563,"column":5572,"offset":5573},14,13027,{"type":26,"value":4042,"position":5575},{"start":5576,"end":5577},{"line":5563,"column":5572,"offset":5573},{"line":5563,"column":5471,"offset":5578},13028,{"type":30,"tagName":44,"properties":5580,"children":5581,"position":5587},{},[5582],{"type":26,"value":4734,"position":5583},{"start":5584,"end":5585},{"line":5563,"column":5471,"offset":5578},{"line":5563,"column":3837,"offset":5586},13036,{"start":5588,"end":5589},{"line":5563,"column":5471,"offset":5578},{"line":5563,"column":3837,"offset":5586},{"type":26,"value":5591,"position":5592}," (20..2000) is how many traded bars each histogram counts; a larger maximum needs a larger ",{"start":5593,"end":5594},{"line":5563,"column":3837,"offset":5586},{"line":5563,"column":5595,"offset":5596},114,13127,{"type":30,"tagName":44,"properties":5598,"children":5599,"position":5606},{},[5600],{"type":26,"value":1334,"position":5601},{"start":5602,"end":5603},{"line":5563,"column":5595,"offset":5596},{"line":5563,"column":5604,"offset":5605},126,13139,{"start":5607,"end":5608},{"line":5563,"column":5595,"offset":5596},{"line":5563,"column":5604,"offset":5605},{"type":26,"value":5610,"position":5611}," ring, and because it is a declared window param it also sizes the daemon's fetch for a metric read.",{"start":5612,"end":5613},{"line":5563,"column":5604,"offset":5605},{"line":5563,"column":5614,"offset":5615},226,13239,{"start":5617,"end":5619},{"line":5563,"column":20,"offset":5618},13014,{"line":5563,"column":5614,"offset":5615},{"type":26,"value":27},{"type":30,"tagName":4989,"properties":5622,"children":5623,"position":5682},{},[5624,5639,5645,5657,5663,5675],{"type":30,"tagName":3820,"properties":5625,"children":5626,"position":5634},{},[5627],{"type":26,"value":5628,"position":5629},"Columns.",{"start":5630,"end":5632},{"line":5402,"column":38,"offset":5631},13244,{"line":5402,"column":5465,"offset":5633},13252,{"start":5635,"end":5637},{"line":5402,"column":3828,"offset":5636},13242,{"line":5402,"column":5471,"offset":5638},13254,{"type":26,"value":5640,"position":5641}," Change ",{"start":5642,"end":5643},{"line":5402,"column":5471,"offset":5638},{"line":5402,"column":3837,"offset":5644},13262,{"type":30,"tagName":44,"properties":5646,"children":5647,"position":5654},{},[5648],{"type":26,"value":1428,"position":5649},{"start":5650,"end":5651},{"line":5402,"column":3837,"offset":5644},{"line":5402,"column":5652,"offset":5653},29,13268,{"start":5655,"end":5656},{"line":5402,"column":3837,"offset":5644},{"line":5402,"column":5652,"offset":5653},{"type":26,"value":5658,"position":5659}," and the ",{"start":5660,"end":5661},{"line":5402,"column":5652,"offset":5653},{"line":5402,"column":4976,"offset":5662},13277,{"type":30,"tagName":44,"properties":5664,"children":5665,"position":5672},{},[5666],{"type":26,"value":5667,"position":5668},"bins:",{"start":5669,"end":5670},{"line":5402,"column":4976,"offset":5662},{"line":5402,"column":4308,"offset":5671},13284,{"start":5673,"end":5674},{"line":5402,"column":4976,"offset":5662},{"line":5402,"column":4308,"offset":5671},{"type":26,"value":5676,"position":5677}," value on both declarations together (2..200): the rows the package writes and the columns the window is declared for must agree.",{"start":5678,"end":5679},{"line":5402,"column":4308,"offset":5671},{"line":5402,"column":5680,"offset":5681},174,13413,{"start":5683,"end":5685},{"line":5402,"column":20,"offset":5684},13240,{"line":5402,"column":5680,"offset":5681},{"type":26,"value":27},{"type":30,"tagName":4989,"properties":5688,"children":5689,"position":5787},{},[5690,5706,5712,5725,5732,5744,5751,5762,5767,5780],{"type":30,"tagName":3820,"properties":5691,"children":5692,"position":5701},{},[5693],{"type":26,"value":5694,"position":5695},"Color the CVD by sign.",{"start":5696,"end":5699},{"line":5697,"column":38,"offset":5698},107,13418,{"line":5697,"column":4046,"offset":5700},13440,{"start":5702,"end":5704},{"line":5697,"column":3828,"offset":5703},13416,{"line":5697,"column":5652,"offset":5705},13442,{"type":26,"value":5707,"position":5708}," Add ",{"start":5709,"end":5710},{"line":5697,"column":5652,"offset":5705},{"line":5697,"column":4558,"offset":5711},13447,{"type":30,"tagName":44,"properties":5713,"children":5714,"position":5722},{},[5715],{"type":26,"value":5716,"position":5717},"output(\"sign\", none, lower)",{"start":5718,"end":5719},{"line":5697,"column":4558,"offset":5711},{"line":5697,"column":5720,"offset":5721},63,13476,{"start":5723,"end":5724},{"line":5697,"column":4558,"offset":5711},{"line":5697,"column":5720,"offset":5721},{"type":26,"value":5726,"position":5727}," written as ",{"start":5728,"end":5729},{"line":5697,"column":5720,"offset":5721},{"line":5697,"column":5730,"offset":5731},75,13488,{"type":30,"tagName":44,"properties":5733,"children":5734,"position":5741},{},[5735],{"type":26,"value":5736,"position":5737},"cvd >= 0.0 ? 1.0 : 0.0",{"start":5738,"end":5739},{"line":5697,"column":5730,"offset":5731},{"line":5697,"column":5173,"offset":5740},13512,{"start":5742,"end":5743},{"line":5697,"column":5730,"offset":5731},{"line":5697,"column":5173,"offset":5740},{"type":26,"value":5745,"position":5746}," and give ",{"start":5747,"end":5748},{"line":5697,"column":5173,"offset":5740},{"line":5697,"column":5749,"offset":5750},109,13522,{"type":30,"tagName":44,"properties":5752,"children":5753,"position":5759},{},[5754],{"type":26,"value":3924,"position":5755},{"start":5756,"end":5757},{"line":5697,"column":5749,"offset":5750},{"line":5697,"column":5595,"offset":5758},13527,{"start":5760,"end":5761},{"line":5697,"column":5749,"offset":5750},{"line":5697,"column":5595,"offset":5758},{"type":26,"value":4042,"position":5763},{"start":5764,"end":5765},{"line":5697,"column":5595,"offset":5758},{"line":5697,"column":4728,"offset":5766},13528,{"type":30,"tagName":44,"properties":5768,"children":5769,"position":5777},{},[5770],{"type":26,"value":5771,"position":5772},"color_by: \"sign\", colors: [\"#ff5b7f\", \"#22d3a5\"]",{"start":5773,"end":5774},{"line":5697,"column":4728,"offset":5766},{"line":5697,"column":5775,"offset":5776},165,13578,{"start":5778,"end":5779},{"line":5697,"column":4728,"offset":5766},{"line":5697,"column":5775,"offset":5776},{"type":26,"value":5781,"position":5782},", the Aggregated CVD shape; a palette index has to be its own output, which is why this recipe keeps a fixed color and four outputs.",{"start":5783,"end":5784},{"line":5697,"column":5775,"offset":5776},{"line":5697,"column":5785,"offset":5786},297,13710,{"start":5788,"end":5790},{"line":5697,"column":20,"offset":5789},13414,{"line":5697,"column":5785,"offset":5786},{"type":26,"value":27},{"type":30,"tagName":4989,"properties":5793,"children":5794,"position":5854},{},[5795,5811,5816,5829,5835,5848],{"type":30,"tagName":3820,"properties":5796,"children":5797,"position":5806},{},[5798],{"type":26,"value":5799,"position":5800},"A window beside the chart.",{"start":5801,"end":5804},{"line":5802,"column":38,"offset":5803},108,13715,{"line":5802,"column":4546,"offset":5805},13741,{"start":5807,"end":5809},{"line":5802,"column":3828,"offset":5808},13713,{"line":5802,"column":4552,"offset":5810},13743,{"type":26,"value":4042,"position":5812},{"start":5813,"end":5814},{"line":5802,"column":4552,"offset":5810},{"line":5802,"column":4558,"offset":5815},13744,{"type":30,"tagName":44,"properties":5817,"children":5818,"position":5826},{},[5819],{"type":26,"value":5820,"position":5821},"place: \"side\"",{"start":5822,"end":5823},{"line":5802,"column":4558,"offset":5815},{"line":5802,"column":5824,"offset":5825},49,13759,{"start":5827,"end":5828},{"line":5802,"column":4558,"offset":5815},{"line":5802,"column":5824,"offset":5825},{"type":26,"value":5830,"position":5831}," on either declaration; ",{"start":5832,"end":5833},{"line":5802,"column":5824,"offset":5825},{"line":5802,"column":5212,"offset":5834},13783,{"type":30,"tagName":44,"properties":5836,"children":5837,"position":5845},{},[5838],{"type":26,"value":5839,"position":5840},"title",{"start":5841,"end":5842},{"line":5802,"column":5212,"offset":5834},{"line":5802,"column":5843,"offset":5844},80,13790,{"start":5846,"end":5847},{"line":5802,"column":5212,"offset":5834},{"line":5802,"column":5843,"offset":5844},{"type":26,"value":5849,"position":5850}," (1 to 40 characters) is what the window is called.",{"start":5851,"end":5852},{"line":5802,"column":5843,"offset":5844},{"line":5802,"column":23,"offset":5853},13841,{"start":5855,"end":5857},{"line":5802,"column":20,"offset":5856},13711,{"line":5802,"column":23,"offset":5853},{"type":26,"value":27},{"start":5860,"end":5861},{"line":5462,"column":20,"offset":5550},{"line":5802,"column":23,"offset":5853},{"type":26,"value":27},{"type":30,"tagName":31,"properties":5864,"children":5865,"position":5874},{},[5866],{"type":26,"value":5867,"position":5868},"Scaffold, build, install, and read the bar's delta on your machine:",{"start":5869,"end":5872},{"line":5870,"column":20,"offset":5871},110,13843,{"line":5870,"column":5512,"offset":5873},13910,{"start":5875,"end":5876},{"line":5870,"column":20,"offset":5871},{"line":5870,"column":5512,"offset":5873},{"type":26,"value":27},{"type":13,"children":5879},[5880],{"type":30,"tagName":246,"properties":5881,"children":5882,"data":-1},{"class":248,"style":249,"tabindex":250},[5883],{"type":30,"tagName":44,"properties":5884,"children":5885},{},[5886,5924,5925,5945,5946,5971,5972],{"type":30,"tagName":256,"properties":5887,"children":5888},{"class":258},[5889,5894,5899,5904,5909,5914,5919],{"type":30,"tagName":256,"properties":5890,"children":5891},{"style":499},[5892],{"type":26,"value":5893},"om",{"type":30,"tagName":256,"properties":5895,"children":5896},{"style":289},[5897],{"type":26,"value":5898}," wrun",{"type":30,"tagName":256,"properties":5900,"children":5901},{"style":289},[5902],{"type":26,"value":5903}," create",{"type":30,"tagName":256,"properties":5905,"children":5906},{"style":289},[5907],{"type":26,"value":5908}," @you/plots-and-panes",{"type":30,"tagName":256,"properties":5910,"children":5911},{"style":289},[5912],{"type":26,"value":5913}," ./plots-and-panes",{"type":30,"tagName":256,"properties":5915,"children":5916},{"style":520},[5917],{"type":26,"value":5918}," --template",{"type":30,"tagName":256,"properties":5920,"children":5921},{"style":289},[5922],{"type":26,"value":5923}," plots-and-panes",{"type":26,"value":27},{"type":30,"tagName":256,"properties":5926,"children":5927},{"class":258},[5928,5932,5936,5941],{"type":30,"tagName":256,"properties":5929,"children":5930},{"style":499},[5931],{"type":26,"value":5893},{"type":30,"tagName":256,"properties":5933,"children":5934},{"style":289},[5935],{"type":26,"value":5898},{"type":30,"tagName":256,"properties":5937,"children":5938},{"style":289},[5939],{"type":26,"value":5940}," build",{"type":30,"tagName":256,"properties":5942,"children":5943},{"style":289},[5944],{"type":26,"value":5913},{"type":26,"value":27},{"type":30,"tagName":256,"properties":5947,"children":5948},{"class":258},[5949,5953,5957,5962,5966],{"type":30,"tagName":256,"properties":5950,"children":5951},{"style":499},[5952],{"type":26,"value":5893},{"type":30,"tagName":256,"properties":5954,"children":5955},{"style":289},[5956],{"type":26,"value":5898},{"type":30,"tagName":256,"properties":5958,"children":5959},{"style":289},[5960],{"type":26,"value":5961}," install",{"type":30,"tagName":256,"properties":5963,"children":5964},{"style":289},[5965],{"type":26,"value":5913},{"type":30,"tagName":256,"properties":5967,"children":5968},{"style":520},[5969],{"type":26,"value":5970}," --replace",{"type":26,"value":27},{"type":30,"tagName":256,"properties":5973,"children":5974},{"class":258},[5975,5979,5984,5989,5994,5999,6004,6009,6014,6019,6024],{"type":30,"tagName":256,"properties":5976,"children":5977},{"style":499},[5978],{"type":26,"value":5893},{"type":30,"tagName":256,"properties":5980,"children":5981},{"style":289},[5982],{"type":26,"value":5983}," metric",{"type":30,"tagName":256,"properties":5985,"children":5986},{"style":289},[5987],{"type":26,"value":5988}," series",{"type":30,"tagName":256,"properties":5990,"children":5991},{"style":520},[5992],{"type":26,"value":5993}," --metric",{"type":30,"tagName":256,"properties":5995,"children":5996},{"style":289},[5997],{"type":26,"value":5998}," wrun/@you/plots-and-panes/delta",{"type":30,"tagName":256,"properties":6000,"children":6001},{"style":520},[6002],{"type":26,"value":6003}," --symbol",{"type":30,"tagName":256,"properties":6005,"children":6006},{"style":289},[6007],{"type":26,"value":6008}," BTCUSDT",{"type":30,"tagName":256,"properties":6010,"children":6011},{"style":520},[6012],{"type":26,"value":6013}," --exchange",{"type":30,"tagName":256,"properties":6015,"children":6016},{"style":289},[6017],{"type":26,"value":6018}," BINANCE_FUTURES",{"type":30,"tagName":256,"properties":6020,"children":6021},{"style":520},[6022],{"type":26,"value":6023}," --bars",{"type":30,"tagName":256,"properties":6025,"children":6026},{"style":520},[6027],{"type":26,"value":6028}," 20",{"type":26,"value":27},{"type":30,"tagName":224,"properties":6031,"children":6033,"position":6041},{"id":6032},"concepts-used",[6034],{"type":26,"value":6035,"position":6036},"Concepts used",{"start":6037,"end":6039},{"line":4578,"column":233,"offset":6038},14197,{"line":4578,"column":236,"offset":6040},14210,{"start":6042,"end":6044},{"line":4578,"column":20,"offset":6043},14194,{"line":4578,"column":236,"offset":6040},{"type":26,"value":27},{"type":30,"tagName":4984,"properties":6047,"children":6048,"position":6417},{},[6049,6050,6164,6165,6196,6197,6227,6228,6327,6328,6375,6376,6416],{"type":26,"value":27},{"type":30,"tagName":4989,"properties":6051,"children":6052,"position":6160},{},[6053,6070,6076,6088,6095,6107,6112,6123,6130,6141,6148],{"type":30,"tagName":4426,"properties":6054,"children":6056,"position":6065},{"href":6055},"../functions/plotting.md",[6057],{"type":26,"value":6058,"position":6059},"Plotting",{"start":6060,"end":6063},{"line":6061,"column":233,"offset":6062},121,14215,{"line":6061,"column":5566,"offset":6064},14223,{"start":6066,"end":6068},{"line":6061,"column":3828,"offset":6067},14214,{"line":6061,"column":4701,"offset":6069},14250,{"type":26,"value":6071,"position":6072}," for ",{"start":6073,"end":6074},{"line":6061,"column":4701,"offset":6069},{"line":6061,"column":4302,"offset":6075},14255,{"type":30,"tagName":44,"properties":6077,"children":6078,"position":6085},{},[6079],{"type":26,"value":6080,"position":6081},"output(name, plot, panel, options)",{"start":6082,"end":6083},{"line":6061,"column":4302,"offset":6075},{"line":6061,"column":5843,"offset":6084},14291,{"start":6086,"end":6087},{"line":6061,"column":4302,"offset":6075},{"line":6061,"column":5843,"offset":6084},{"type":26,"value":6089,"position":6090},", the ",{"start":6091,"end":6092},{"line":6061,"column":5843,"offset":6084},{"line":6061,"column":6093,"offset":6094},86,14297,{"type":30,"tagName":44,"properties":6096,"children":6097,"position":6104},{},[6098],{"type":26,"value":4455,"position":6099},{"start":6100,"end":6101},{"line":6061,"column":6093,"offset":6094},{"line":6061,"column":6102,"offset":6103},92,14303,{"start":6105,"end":6106},{"line":6061,"column":6093,"offset":6094},{"line":6061,"column":6102,"offset":6103},{"type":26,"value":4061,"position":6108},{"start":6109,"end":6110},{"line":6061,"column":6102,"offset":6103},{"line":6061,"column":4999,"offset":6111},14308,{"type":30,"tagName":44,"properties":6113,"children":6114,"position":6120},{},[6115],{"type":26,"value":1112,"position":6116},{"start":6117,"end":6118},{"line":6061,"column":4999,"offset":6111},{"line":6061,"column":5802,"offset":6119},14319,{"start":6121,"end":6122},{"line":6061,"column":4999,"offset":6111},{"line":6061,"column":5802,"offset":6119},{"type":26,"value":6124,"position":6125}," plots, and ",{"start":6126,"end":6127},{"line":6061,"column":5802,"offset":6119},{"line":6061,"column":6128,"offset":6129},120,14331,{"type":30,"tagName":44,"properties":6131,"children":6132,"position":6138},{},[6133],{"type":26,"value":83,"position":6134},{"start":6135,"end":6136},{"line":6061,"column":6128,"offset":6129},{"line":6061,"column":4122,"offset":6137},14340,{"start":6139,"end":6140},{"line":6061,"column":6128,"offset":6129},{"line":6061,"column":4122,"offset":6137},{"type":26,"value":6142,"position":6143}," against ",{"start":6144,"end":6145},{"line":6061,"column":4122,"offset":6137},{"line":6061,"column":6146,"offset":6147},138,14349,{"type":30,"tagName":44,"properties":6149,"children":6150,"position":6157},{},[6151],{"type":26,"value":123,"position":6152},{"start":6153,"end":6154},{"line":6061,"column":6146,"offset":6147},{"line":6061,"column":6155,"offset":6156},145,14356,{"start":6158,"end":6159},{"line":6061,"column":6146,"offset":6147},{"line":6061,"column":6155,"offset":6156},{"start":6161,"end":6163},{"line":6061,"column":20,"offset":6162},14212,{"line":6061,"column":6155,"offset":6156},{"type":26,"value":27},{"type":30,"tagName":4989,"properties":6166,"children":6167,"position":6192},{},[6168,6186],{"type":30,"tagName":4426,"properties":6169,"children":6171,"position":6180},{"href":6170},"../core-concepts/data-types.md",[6172],{"type":26,"value":6173,"position":6174},"Data types",{"start":6175,"end":6178},{"line":6176,"column":233,"offset":6177},122,14360,{"line":6176,"column":5572,"offset":6179},14370,{"start":6181,"end":6183},{"line":6176,"column":3828,"offset":6182},14359,{"line":6176,"column":6184,"offset":6185},47,14403,{"type":26,"value":6187,"position":6188}," for placement per output: the price pane or the package's lower pane",{"start":6189,"end":6190},{"line":6176,"column":6184,"offset":6185},{"line":6176,"column":97,"offset":6191},14472,{"start":6193,"end":6195},{"line":6176,"column":20,"offset":6194},14357,{"line":6176,"column":97,"offset":6191},{"type":26,"value":27},{"type":30,"tagName":4989,"properties":6198,"children":6199,"position":6223},{},[6200,6217],{"type":30,"tagName":4426,"properties":6201,"children":6203,"position":6211},{"href":6202},"../functions/drawing-primitives.md",[6204],{"type":26,"value":6205,"position":6206},"Drawing primitives",{"start":6207,"end":6209},{"line":3844,"column":233,"offset":6208},14476,{"line":3844,"column":5485,"offset":6210},14494,{"start":6212,"end":6214},{"line":3844,"column":3828,"offset":6213},14475,{"line":3844,"column":6215,"offset":6216},59,14531,{"type":26,"value":6218,"position":6219}," for frames, the panel declarations and the row grammar",{"start":6220,"end":6221},{"line":3844,"column":6215,"offset":6216},{"line":3844,"column":5595,"offset":6222},14586,{"start":6224,"end":6226},{"line":3844,"column":20,"offset":6225},14473,{"line":3844,"column":5595,"offset":6222},{"type":26,"value":27},{"type":30,"tagName":4989,"properties":6229,"children":6230,"position":6323},{},[6231,6248,6253,6264,6269,6281,6287,6298,6304,6316],{"type":30,"tagName":4426,"properties":6232,"children":6234,"position":6243},{"href":6233},"../core-concepts/data-sources.md",[6235],{"type":26,"value":6236,"position":6237},"Data sources",{"start":6238,"end":6241},{"line":6239,"column":233,"offset":6240},124,14590,{"line":6239,"column":3809,"offset":6242},14602,{"start":6244,"end":6246},{"line":6239,"column":3828,"offset":6245},14589,{"line":6239,"column":5127,"offset":6247},14637,{"type":26,"value":6071,"position":6249},{"start":6250,"end":6251},{"line":6239,"column":5127,"offset":6247},{"line":6239,"column":5023,"offset":6252},14642,{"type":30,"tagName":44,"properties":6254,"children":6255,"position":6261},{},[6256],{"type":26,"value":5303,"position":6257},{"start":6258,"end":6259},{"line":6239,"column":5023,"offset":6252},{"line":6239,"column":4093,"offset":6260},14652,{"start":6262,"end":6263},{"line":6239,"column":5023,"offset":6252},{"line":6239,"column":4093,"offset":6260},{"type":26,"value":517,"position":6265},{"start":6266,"end":6267},{"line":6239,"column":4093,"offset":6260},{"line":6239,"column":5512,"offset":6268},14654,{"type":30,"tagName":44,"properties":6270,"children":6271,"position":6278},{},[6272],{"type":26,"value":6273,"position":6274},"trades.volume",{"start":6275,"end":6276},{"line":6239,"column":5512,"offset":6268},{"line":6239,"column":3806,"offset":6277},14669,{"start":6279,"end":6280},{"line":6239,"column":5512,"offset":6268},{"line":6239,"column":3806,"offset":6277},{"type":26,"value":6282,"position":6283}," with a ",{"start":6284,"end":6285},{"line":6239,"column":3806,"offset":6277},{"line":6239,"column":4543,"offset":6286},14677,{"type":30,"tagName":44,"properties":6288,"children":6289,"position":6295},{},[6290],{"type":26,"value":163,"position":6291},{"start":6292,"end":6293},{"line":6239,"column":4543,"offset":6286},{"line":6239,"column":4999,"offset":6294},14683,{"start":6296,"end":6297},{"line":6239,"column":4543,"offset":6286},{"line":6239,"column":4999,"offset":6294},{"type":26,"value":6299,"position":6300},", and the ",{"start":6301,"end":6302},{"line":6239,"column":4999,"offset":6294},{"line":6239,"column":5697,"offset":6303},14693,{"type":30,"tagName":44,"properties":6305,"children":6306,"position":6313},{},[6307],{"type":26,"value":6308,"position":6309},"missing",{"start":6310,"end":6311},{"line":6239,"column":5697,"offset":6303},{"line":6239,"column":97,"offset":6312},14702,{"start":6314,"end":6315},{"line":6239,"column":5697,"offset":6303},{"line":6239,"column":97,"offset":6312},{"type":26,"value":6317,"position":6318}," policies",{"start":6319,"end":6320},{"line":6239,"column":97,"offset":6312},{"line":6239,"column":6321,"offset":6322},125,14711,{"start":6324,"end":6326},{"line":6239,"column":20,"offset":6325},14587,{"line":6239,"column":6321,"offset":6322},{"type":26,"value":27},{"type":30,"tagName":4989,"properties":6329,"children":6330,"position":6371},{},[6331,6348,6354,6365],{"type":30,"tagName":4426,"properties":6332,"children":6334,"position":6343},{"href":6333},"../core-concepts/execution-model.md",[6335],{"type":26,"value":6336,"position":6337},"Execution model",{"start":6338,"end":6340},{"line":6321,"column":233,"offset":6339},14715,{"line":6321,"column":6341,"offset":6342},19,14730,{"start":6344,"end":6346},{"line":6321,"column":3828,"offset":6345},14714,{"line":6321,"column":4084,"offset":6347},14768,{"type":26,"value":6349,"position":6350}," for the module-level rings, ",{"start":6351,"end":6352},{"line":6321,"column":4084,"offset":6347},{"line":6321,"column":6093,"offset":6353},14797,{"type":30,"tagName":44,"properties":6355,"children":6356,"position":6362},{},[6357],{"type":26,"value":4926,"position":6358},{"start":6359,"end":6360},{"line":6321,"column":6093,"offset":6353},{"line":6321,"column":4973,"offset":6361},14806,{"start":6363,"end":6364},{"line":6321,"column":6093,"offset":6353},{"line":6321,"column":4973,"offset":6361},{"type":26,"value":6366,"position":6367}," and the forming bar",{"start":6368,"end":6369},{"line":6321,"column":4973,"offset":6361},{"line":6321,"column":4728,"offset":6370},14826,{"start":6372,"end":6374},{"line":6321,"column":20,"offset":6373},14712,{"line":6321,"column":4728,"offset":6370},{"type":26,"value":27},{"type":30,"tagName":4989,"properties":6377,"children":6378,"position":6412},{},[6379,6396,6401],{"type":30,"tagName":4426,"properties":6380,"children":6382,"position":6390},{"href":6381},"../functions/moving-averages.md",[6383],{"type":26,"value":6384,"position":6385},"Moving averages",{"start":6386,"end":6388},{"line":5604,"column":233,"offset":6387},14830,{"line":5604,"column":6341,"offset":6389},14845,{"start":6391,"end":6393},{"line":5604,"column":3828,"offset":6392},14829,{"line":5604,"column":6394,"offset":6395},53,14879,{"type":26,"value":6071,"position":6397},{"start":6398,"end":6399},{"line":5604,"column":6394,"offset":6395},{"line":5604,"column":4708,"offset":6400},14884,{"type":30,"tagName":44,"properties":6402,"children":6403,"position":6409},{},[6404],{"type":26,"value":4109,"position":6405},{"start":6406,"end":6407},{"line":5604,"column":4708,"offset":6400},{"line":5604,"column":5720,"offset":6408},14889,{"start":6410,"end":6411},{"line":5604,"column":4708,"offset":6400},{"line":5604,"column":5720,"offset":6408},{"start":6413,"end":6415},{"line":5604,"column":20,"offset":6414},14827,{"line":5604,"column":5720,"offset":6408},{"type":26,"value":27},{"start":6418,"end":6419},{"line":6061,"column":20,"offset":6162},{"line":5604,"column":5720,"offset":6408},{"quirksMode":6421},false,{"start":6423,"end":6424},{"line":20,"column":20,"offset":21},{"line":6425,"column":20,"offset":6426},127,14890,1790157169654]