[{"data":1,"prerenderedAt":2318},["ShallowReactive",2],{"wrun-open-editor-url":3,"indicators:cookbook/aggregated-cvd":4},"https://openmarket.xyz/chart/#wrun-open=v1",{"slug":5,"filePath":6,"frontmatter":7,"rawMarkdown":12,"tree":13},"cookbook/aggregated-cvd","cookbook/aggregated-cvd.md",{"title":8,"description":9,"order":10,"section":11},"Aggregated CVD","One cumulative volume-delta line with volatility bands and sign coloring, on the chart's own market.",81,"cookbook","---\ntitle: \"Aggregated CVD\"\ndescription: \"One cumulative volume-delta line with volatility bands and sign coloring, on the chart's own market.\"\norder: 81\nsection: \"cookbook\"\n---\n\n\u003C!-- source: docs/indicators/cookbook/aggregated-cvd.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Aggregated CVD\n\nOne cumulative volume-delta line with volatility bands and sign coloring, on the chart's own market.\n\nCumulative volume delta tracks the running difference between aggressive buying and aggressive selling. On a single venue it tells a partial story, because flow splits across exchanges. The chart serves `trades` on the chart's own market only: it pins another market on a secondary `ohlcv` input alone, and a `trades` input pinned to another venue is refused by name. So the indicator is the single-venue line, framed with volatility bands, on whichever market the chart shows; to read another venue's flow, open the chart on that venue.\n\n## The wrun indicator\n\n```typescript sample=cookbook-aggregated-cvd\nparam(\"band_len\", 60, { min: 10, max: 500, description: \"Bars in the volatility band\" });\n// The chart's own candles are the grid every other input lines up on.\ninput(\"close\", ohlcv.close);\ninput(\"buy\", trades.volume, { side: \"BUY\", missing: \"zero\", description: \"Aggressive buy volume\" });\ninput(\"sell\", trades.volume, { side: \"SELL\", missing: \"zero\", description: \"Aggressive sell volume\" });\noutput(\"cvd\", line, lower, {\n  width: 2,\n  color_by: \"sign\",\n  colors: [\"#ff5b7f\", \"#22d3a5\"],\n  description: \"Cumulative volume delta on the chart's market\",\n});\noutput(\"upper_band\", line, lower, { color: \"#22d3a5\", opacity: 0.35, description: \"CVD plus one standard deviation\" });\noutput(\"lower_band\", line, lower, { color: \"#ff5b7f\", opacity: 0.35, description: \"CVD minus one standard deviation\" });\noutput(\"sign\", none, lower);\n\nlet stdev = new Stdev(60);\nlet cvd: f64 = 0.0;\n\nfunction onStart(): void {\n  stdev = new Stdev(i32(p_band_len()));\n}\n\nfunction onBar(): void {\n  // A module-level variable is the accumulator: it survives from bar to bar.\n  cvd += in_buy() - in_sell();\n  const band = stdev.update(cvd);\n  const width = isNaN(band) ? 0.0 : band;\n  out_cvd(cvd);\n  out_upper_band(cvd + width);\n  out_lower_band(cvd - width);\n  out_sign(cvd >= 0.0 ? 1.0 : 0.0);\n}\n```\n\n## How it works\n\n**The timeline spine.** `input(\"close\", ohlcv.close)` is never read by the code. It is the first input, and the first input defines the grid every other input lines up on: one row per candle, always. Without it, the timeline would depend on the trade feed resolving, and on a market where it is missing the module would have no bars to compute. Load the chart series first, always.\n\n**Buy and sell volume.** `trades.volume` with `side: \"BUY\"` and `side: \"SELL\"` are the two halves of the tape, as two inputs. `missing: \"zero\"` makes a bar with no trade observation contribute zero rather than carrying the last value forward, which would double-count.\n\n**Cumulative means module-level.** `cvd` is a module-level variable and `cvd += buy - sell` adds each bar's net flow to the running total. That persistence is what turns a per-bar delta into a cumulative line.\n\n**Sign coloring and the band.** `sign` is a data-only `1` or `0`, and the `cvd` line indexes its two-entry palette with it: green when the running total is positive, red when negative. `Stdev` over the running total gives the one-sigma envelope; while it is warming the band width is `0`, so the edges sit on the line instead of vanishing.\n\n## Design notes\n\n- One venue, the chart's own. A `trades` input pinned to another venue is refused by name (\"the browser lane serves market pins on secondary ohlcv inputs only\"), so a multi-venue sum has no chart form; open the chart on another venue to read that venue's flow.\n- The sign tint is `color_by` over a data-only output. To shade between the bands, declare a `range()` between the two band outputs, which the chart draws as a filled band, or a one-bar box between them (the [Anchored VWAP](anchored-vwap.md) recipe shades its band that way).\n- No symbol picker drives this Indicator: a `param.symbol` pick re-pins a secondary candle input only, and a `trades` pin to another venue is refused, so the market is always the chart's own.\n\n## Customize it\n\n- **Another market.** Switch the chart: the indicator reads whichever market the chart shows. On a market with no sided trades the two inputs read zero under `missing: \"zero\"`, so the line stays flat.\n- **Band width.** `band_len` sets the volatility lookback. Shorten it for a reactive envelope that hugs the line, lengthen it for a smoother, slower band.\n- **Colors.** The palette on `cvd` and the `color` on each band are hex strings on the declarations; recolor there.\n- **Alert on the line.** `cvd` is a drawn line, so once the indicator is published and on a chart, the alert dialog offers it with conditions such as **Crosses above** and **Moving up %** ([Alerts](../functions/alerts.md)).\n\n## Run it\n\n1. In the editor's Explorer, press **New indicator** and pick **Blank indicator**: the tab holds the `//@lang=wrun-ts` line alone.\n2. Paste the indicator block above under that line and press **Run** on a crypto perp or spot market.\n3. At the editor's Console prompt, type `last 20 cvd` to read the running total over the last 20 bars.\n\n## Concepts used\n\n- [Multi-source](../core-concepts/multi-source.md) for which inputs the chart pins to another market\n- [Data sources](../core-concepts/data-sources.md) for `trades.volume` with a `side` and the `missing` policies\n- [Execution model](../core-concepts/execution-model.md) for the module-level accumulator\n- [Volume and VWAP](../functions/volume-indicators.md) for buy and sell volume as inputs\n",{"type":14,"children":15,"data":2312,"position":2314},"root",[16,26,29,30,46,47,122,123,141,142,1032,1033,1049,1050,1102,1103,1212,1213,1282,1283,1427,1428,1443,1444,1621,1622,1636,1637,1933,1934,1950,1951,2109,2110,2125,2126],{"type":17,"value":18,"position":19},"comment"," source: docs/indicators/cookbook/aggregated-cvd.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit ",{"start":20,"end":23},{"line":21,"column":21,"offset":22},1,0,{"line":21,"column":24,"offset":25},130,129,{"type":27,"value":28},"text","\n",{"type":27,"value":28},{"type":31,"tagName":32,"properties":33,"children":34,"position":43},"element","p",{},[35],{"type":27,"value":9,"position":36},{"start":37,"end":40},{"line":38,"column":21,"offset":39},5,149,{"line":38,"column":41,"offset":42},101,249,{"start":44,"end":45},{"line":38,"column":21,"offset":39},{"line":38,"column":41,"offset":42},{"type":27,"value":28},{"type":31,"tagName":32,"properties":48,"children":49,"position":119},{},[50,59,73,80,93,100,112],{"type":27,"value":51,"position":52},"Cumulative volume delta tracks the running difference between aggressive buying and aggressive selling. On a single venue it tells a partial story, because flow splits across exchanges. The chart serves ",{"start":53,"end":56},{"line":54,"column":21,"offset":55},7,251,{"line":54,"column":57,"offset":58},204,454,{"type":31,"tagName":60,"properties":61,"children":62,"position":70},"code",{},[63],{"type":27,"value":64,"position":65},"trades",{"start":66,"end":67},{"line":54,"column":57,"offset":58},{"line":54,"column":68,"offset":69},212,462,{"start":71,"end":72},{"line":54,"column":57,"offset":58},{"line":54,"column":68,"offset":69},{"type":27,"value":74,"position":75}," on the chart's own market only: it pins another market on a secondary ",{"start":76,"end":77},{"line":54,"column":68,"offset":69},{"line":54,"column":78,"offset":79},283,533,{"type":31,"tagName":60,"properties":81,"children":82,"position":90},{},[83],{"type":27,"value":84,"position":85},"ohlcv",{"start":86,"end":87},{"line":54,"column":78,"offset":79},{"line":54,"column":88,"offset":89},290,540,{"start":91,"end":92},{"line":54,"column":78,"offset":79},{"line":54,"column":88,"offset":89},{"type":27,"value":94,"position":95}," input alone, and a ",{"start":96,"end":97},{"line":54,"column":88,"offset":89},{"line":54,"column":98,"offset":99},310,560,{"type":31,"tagName":60,"properties":101,"children":102,"position":109},{},[103],{"type":27,"value":64,"position":104},{"start":105,"end":106},{"line":54,"column":98,"offset":99},{"line":54,"column":107,"offset":108},318,568,{"start":110,"end":111},{"line":54,"column":98,"offset":99},{"line":54,"column":107,"offset":108},{"type":27,"value":113,"position":114}," input pinned to another venue is refused by name. So the indicator is the single-venue line, framed with volatility bands, on whichever market the chart shows; to read another venue's flow, open the chart on that venue.",{"start":115,"end":116},{"line":54,"column":107,"offset":108},{"line":54,"column":117,"offset":118},538,788,{"start":120,"end":121},{"line":54,"column":21,"offset":55},{"line":54,"column":117,"offset":118},{"type":27,"value":28},{"type":31,"tagName":124,"properties":125,"children":126,"position":137},"h2",{},[127],{"type":27,"value":128,"position":129},"The wrun indicator",{"start":130,"end":134},{"line":131,"column":132,"offset":133},9,4,793,{"line":131,"column":135,"offset":136},22,811,{"start":138,"end":140},{"line":131,"column":21,"offset":139},790,{"line":131,"column":135,"offset":136},{"type":27,"value":28},{"type":14,"children":143},[144],{"type":31,"tagName":145,"properties":146,"children":151,"data":-1},"pre",{"class":147,"style":148,"tabindex":149,"data-sample":150},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0","cookbook-aggregated-cvd",[152],{"type":31,"tagName":60,"properties":153,"children":156},{"class":154},[155],"language-typescript",[157,226,227,236,237,259,260,309,310,356,357,379,380,398,399,416,417,444,445,462,463,471,472,520,521,566,567,587,588,591,592,634,635,672,673,676,677,709,710,753,754,762,763,766,767,795,796,804,805,843,844,876,877,922,923,935,936,959,960,980,981,1024,1025],{"type":31,"tagName":158,"properties":159,"children":161},"span",{"class":160},"line",[162,168,174,180,185,191,196,201,206,211,216,221],{"type":31,"tagName":158,"properties":163,"children":165},{"style":164},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[166],{"type":27,"value":167},"param",{"type":31,"tagName":158,"properties":169,"children":171},{"style":170},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[172],{"type":27,"value":173},"(",{"type":31,"tagName":158,"properties":175,"children":177},{"style":176},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[178],{"type":27,"value":179},"\"band_len\"",{"type":31,"tagName":158,"properties":181,"children":182},{"style":170},[183],{"type":27,"value":184},", ",{"type":31,"tagName":158,"properties":186,"children":188},{"style":187},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[189],{"type":27,"value":190},"60",{"type":31,"tagName":158,"properties":192,"children":193},{"style":170},[194],{"type":27,"value":195},", { min: ",{"type":31,"tagName":158,"properties":197,"children":198},{"style":187},[199],{"type":27,"value":200},"10",{"type":31,"tagName":158,"properties":202,"children":203},{"style":170},[204],{"type":27,"value":205},", max: ",{"type":31,"tagName":158,"properties":207,"children":208},{"style":187},[209],{"type":27,"value":210},"500",{"type":31,"tagName":158,"properties":212,"children":213},{"style":170},[214],{"type":27,"value":215},", description: ",{"type":31,"tagName":158,"properties":217,"children":218},{"style":176},[219],{"type":27,"value":220},"\"Bars in the volatility band\"",{"type":31,"tagName":158,"properties":222,"children":223},{"style":170},[224],{"type":27,"value":225}," });",{"type":27,"value":28},{"type":31,"tagName":158,"properties":228,"children":229},{"class":160},[230],{"type":31,"tagName":158,"properties":231,"children":233},{"style":232},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[234],{"type":27,"value":235},"// The chart's own candles are the grid every other input lines up on.",{"type":27,"value":28},{"type":31,"tagName":158,"properties":238,"children":239},{"class":160},[240,245,249,254],{"type":31,"tagName":158,"properties":241,"children":242},{"style":164},[243],{"type":27,"value":244},"input",{"type":31,"tagName":158,"properties":246,"children":247},{"style":170},[248],{"type":27,"value":173},{"type":31,"tagName":158,"properties":250,"children":251},{"style":176},[252],{"type":27,"value":253},"\"close\"",{"type":31,"tagName":158,"properties":255,"children":256},{"style":170},[257],{"type":27,"value":258},", ohlcv.close);",{"type":27,"value":28},{"type":31,"tagName":158,"properties":261,"children":262},{"class":160},[263,267,271,276,281,286,291,296,300,305],{"type":31,"tagName":158,"properties":264,"children":265},{"style":164},[266],{"type":27,"value":244},{"type":31,"tagName":158,"properties":268,"children":269},{"style":170},[270],{"type":27,"value":173},{"type":31,"tagName":158,"properties":272,"children":273},{"style":176},[274],{"type":27,"value":275},"\"buy\"",{"type":31,"tagName":158,"properties":277,"children":278},{"style":170},[279],{"type":27,"value":280},", trades.volume, { side: ",{"type":31,"tagName":158,"properties":282,"children":283},{"style":176},[284],{"type":27,"value":285},"\"BUY\"",{"type":31,"tagName":158,"properties":287,"children":288},{"style":170},[289],{"type":27,"value":290},", missing: ",{"type":31,"tagName":158,"properties":292,"children":293},{"style":176},[294],{"type":27,"value":295},"\"zero\"",{"type":31,"tagName":158,"properties":297,"children":298},{"style":170},[299],{"type":27,"value":215},{"type":31,"tagName":158,"properties":301,"children":302},{"style":176},[303],{"type":27,"value":304},"\"Aggressive buy volume\"",{"type":31,"tagName":158,"properties":306,"children":307},{"style":170},[308],{"type":27,"value":225},{"type":27,"value":28},{"type":31,"tagName":158,"properties":311,"children":312},{"class":160},[313,317,321,326,330,335,339,343,347,352],{"type":31,"tagName":158,"properties":314,"children":315},{"style":164},[316],{"type":27,"value":244},{"type":31,"tagName":158,"properties":318,"children":319},{"style":170},[320],{"type":27,"value":173},{"type":31,"tagName":158,"properties":322,"children":323},{"style":176},[324],{"type":27,"value":325},"\"sell\"",{"type":31,"tagName":158,"properties":327,"children":328},{"style":170},[329],{"type":27,"value":280},{"type":31,"tagName":158,"properties":331,"children":332},{"style":176},[333],{"type":27,"value":334},"\"SELL\"",{"type":31,"tagName":158,"properties":336,"children":337},{"style":170},[338],{"type":27,"value":290},{"type":31,"tagName":158,"properties":340,"children":341},{"style":176},[342],{"type":27,"value":295},{"type":31,"tagName":158,"properties":344,"children":345},{"style":170},[346],{"type":27,"value":215},{"type":31,"tagName":158,"properties":348,"children":349},{"style":176},[350],{"type":27,"value":351},"\"Aggressive sell volume\"",{"type":31,"tagName":158,"properties":353,"children":354},{"style":170},[355],{"type":27,"value":225},{"type":27,"value":28},{"type":31,"tagName":158,"properties":358,"children":359},{"class":160},[360,365,369,374],{"type":31,"tagName":158,"properties":361,"children":362},{"style":164},[363],{"type":27,"value":364},"output",{"type":31,"tagName":158,"properties":366,"children":367},{"style":170},[368],{"type":27,"value":173},{"type":31,"tagName":158,"properties":370,"children":371},{"style":176},[372],{"type":27,"value":373},"\"cvd\"",{"type":31,"tagName":158,"properties":375,"children":376},{"style":170},[377],{"type":27,"value":378},", line, lower, {",{"type":27,"value":28},{"type":31,"tagName":158,"properties":381,"children":382},{"class":160},[383,388,393],{"type":31,"tagName":158,"properties":384,"children":385},{"style":170},[386],{"type":27,"value":387},"  width: ",{"type":31,"tagName":158,"properties":389,"children":390},{"style":187},[391],{"type":27,"value":392},"2",{"type":31,"tagName":158,"properties":394,"children":395},{"style":170},[396],{"type":27,"value":397},",",{"type":27,"value":28},{"type":31,"tagName":158,"properties":400,"children":401},{"class":160},[402,407,412],{"type":31,"tagName":158,"properties":403,"children":404},{"style":170},[405],{"type":27,"value":406},"  color_by: ",{"type":31,"tagName":158,"properties":408,"children":409},{"style":176},[410],{"type":27,"value":411},"\"sign\"",{"type":31,"tagName":158,"properties":413,"children":414},{"style":170},[415],{"type":27,"value":397},{"type":27,"value":28},{"type":31,"tagName":158,"properties":418,"children":419},{"class":160},[420,425,430,434,439],{"type":31,"tagName":158,"properties":421,"children":422},{"style":170},[423],{"type":27,"value":424},"  colors: [",{"type":31,"tagName":158,"properties":426,"children":427},{"style":176},[428],{"type":27,"value":429},"\"#ff5b7f\"",{"type":31,"tagName":158,"properties":431,"children":432},{"style":170},[433],{"type":27,"value":184},{"type":31,"tagName":158,"properties":435,"children":436},{"style":176},[437],{"type":27,"value":438},"\"#22d3a5\"",{"type":31,"tagName":158,"properties":440,"children":441},{"style":170},[442],{"type":27,"value":443},"],",{"type":27,"value":28},{"type":31,"tagName":158,"properties":446,"children":447},{"class":160},[448,453,458],{"type":31,"tagName":158,"properties":449,"children":450},{"style":170},[451],{"type":27,"value":452},"  description: ",{"type":31,"tagName":158,"properties":454,"children":455},{"style":176},[456],{"type":27,"value":457},"\"Cumulative volume delta on the chart's market\"",{"type":31,"tagName":158,"properties":459,"children":460},{"style":170},[461],{"type":27,"value":397},{"type":27,"value":28},{"type":31,"tagName":158,"properties":464,"children":465},{"class":160},[466],{"type":31,"tagName":158,"properties":467,"children":468},{"style":170},[469],{"type":27,"value":470},"});",{"type":27,"value":28},{"type":31,"tagName":158,"properties":473,"children":474},{"class":160},[475,479,483,488,493,497,502,507,511,516],{"type":31,"tagName":158,"properties":476,"children":477},{"style":164},[478],{"type":27,"value":364},{"type":31,"tagName":158,"properties":480,"children":481},{"style":170},[482],{"type":27,"value":173},{"type":31,"tagName":158,"properties":484,"children":485},{"style":176},[486],{"type":27,"value":487},"\"upper_band\"",{"type":31,"tagName":158,"properties":489,"children":490},{"style":170},[491],{"type":27,"value":492},", line, lower, { color: ",{"type":31,"tagName":158,"properties":494,"children":495},{"style":176},[496],{"type":27,"value":438},{"type":31,"tagName":158,"properties":498,"children":499},{"style":170},[500],{"type":27,"value":501},", opacity: ",{"type":31,"tagName":158,"properties":503,"children":504},{"style":187},[505],{"type":27,"value":506},"0.35",{"type":31,"tagName":158,"properties":508,"children":509},{"style":170},[510],{"type":27,"value":215},{"type":31,"tagName":158,"properties":512,"children":513},{"style":176},[514],{"type":27,"value":515},"\"CVD plus one standard deviation\"",{"type":31,"tagName":158,"properties":517,"children":518},{"style":170},[519],{"type":27,"value":225},{"type":27,"value":28},{"type":31,"tagName":158,"properties":522,"children":523},{"class":160},[524,528,532,537,541,545,549,553,557,562],{"type":31,"tagName":158,"properties":525,"children":526},{"style":164},[527],{"type":27,"value":364},{"type":31,"tagName":158,"properties":529,"children":530},{"style":170},[531],{"type":27,"value":173},{"type":31,"tagName":158,"properties":533,"children":534},{"style":176},[535],{"type":27,"value":536},"\"lower_band\"",{"type":31,"tagName":158,"properties":538,"children":539},{"style":170},[540],{"type":27,"value":492},{"type":31,"tagName":158,"properties":542,"children":543},{"style":176},[544],{"type":27,"value":429},{"type":31,"tagName":158,"properties":546,"children":547},{"style":170},[548],{"type":27,"value":501},{"type":31,"tagName":158,"properties":550,"children":551},{"style":187},[552],{"type":27,"value":506},{"type":31,"tagName":158,"properties":554,"children":555},{"style":170},[556],{"type":27,"value":215},{"type":31,"tagName":158,"properties":558,"children":559},{"style":176},[560],{"type":27,"value":561},"\"CVD minus one standard deviation\"",{"type":31,"tagName":158,"properties":563,"children":564},{"style":170},[565],{"type":27,"value":225},{"type":27,"value":28},{"type":31,"tagName":158,"properties":568,"children":569},{"class":160},[570,574,578,582],{"type":31,"tagName":158,"properties":571,"children":572},{"style":164},[573],{"type":27,"value":364},{"type":31,"tagName":158,"properties":575,"children":576},{"style":170},[577],{"type":27,"value":173},{"type":31,"tagName":158,"properties":579,"children":580},{"style":176},[581],{"type":27,"value":411},{"type":31,"tagName":158,"properties":583,"children":584},{"style":170},[585],{"type":27,"value":586},", none, lower);",{"type":27,"value":28},{"type":31,"tagName":158,"properties":589,"children":590},{"class":160},[],{"type":27,"value":28},{"type":31,"tagName":158,"properties":593,"children":594},{"class":160},[595,601,606,611,616,621,625,629],{"type":31,"tagName":158,"properties":596,"children":598},{"style":597},"--shiki-dark:#F97583;--shiki-light:#D73A49",[599],{"type":27,"value":600},"let",{"type":31,"tagName":158,"properties":602,"children":603},{"style":170},[604],{"type":27,"value":605}," stdev ",{"type":31,"tagName":158,"properties":607,"children":608},{"style":597},[609],{"type":27,"value":610},"=",{"type":31,"tagName":158,"properties":612,"children":613},{"style":597},[614],{"type":27,"value":615}," new",{"type":31,"tagName":158,"properties":617,"children":618},{"style":164},[619],{"type":27,"value":620}," Stdev",{"type":31,"tagName":158,"properties":622,"children":623},{"style":170},[624],{"type":27,"value":173},{"type":31,"tagName":158,"properties":626,"children":627},{"style":187},[628],{"type":27,"value":190},{"type":31,"tagName":158,"properties":630,"children":631},{"style":170},[632],{"type":27,"value":633},");",{"type":27,"value":28},{"type":31,"tagName":158,"properties":636,"children":637},{"class":160},[638,642,647,652,657,662,667],{"type":31,"tagName":158,"properties":639,"children":640},{"style":597},[641],{"type":27,"value":600},{"type":31,"tagName":158,"properties":643,"children":644},{"style":170},[645],{"type":27,"value":646}," cvd",{"type":31,"tagName":158,"properties":648,"children":649},{"style":597},[650],{"type":27,"value":651},":",{"type":31,"tagName":158,"properties":653,"children":654},{"style":164},[655],{"type":27,"value":656}," f64",{"type":31,"tagName":158,"properties":658,"children":659},{"style":597},[660],{"type":27,"value":661}," =",{"type":31,"tagName":158,"properties":663,"children":664},{"style":187},[665],{"type":27,"value":666}," 0.0",{"type":31,"tagName":158,"properties":668,"children":669},{"style":170},[670],{"type":27,"value":671},";",{"type":27,"value":28},{"type":31,"tagName":158,"properties":674,"children":675},{"class":160},[],{"type":27,"value":28},{"type":31,"tagName":158,"properties":678,"children":679},{"class":160},[680,685,690,695,699,704],{"type":31,"tagName":158,"properties":681,"children":682},{"style":597},[683],{"type":27,"value":684},"function",{"type":31,"tagName":158,"properties":686,"children":687},{"style":164},[688],{"type":27,"value":689}," onStart",{"type":31,"tagName":158,"properties":691,"children":692},{"style":170},[693],{"type":27,"value":694},"()",{"type":31,"tagName":158,"properties":696,"children":697},{"style":597},[698],{"type":27,"value":651},{"type":31,"tagName":158,"properties":700,"children":701},{"style":187},[702],{"type":27,"value":703}," void",{"type":31,"tagName":158,"properties":705,"children":706},{"style":170},[707],{"type":27,"value":708}," {",{"type":27,"value":28},{"type":31,"tagName":158,"properties":711,"children":712},{"class":160},[713,718,722,726,730,734,739,743,748],{"type":31,"tagName":158,"properties":714,"children":715},{"style":170},[716],{"type":27,"value":717},"  stdev ",{"type":31,"tagName":158,"properties":719,"children":720},{"style":597},[721],{"type":27,"value":610},{"type":31,"tagName":158,"properties":723,"children":724},{"style":597},[725],{"type":27,"value":615},{"type":31,"tagName":158,"properties":727,"children":728},{"style":164},[729],{"type":27,"value":620},{"type":31,"tagName":158,"properties":731,"children":732},{"style":170},[733],{"type":27,"value":173},{"type":31,"tagName":158,"properties":735,"children":736},{"style":164},[737],{"type":27,"value":738},"i32",{"type":31,"tagName":158,"properties":740,"children":741},{"style":170},[742],{"type":27,"value":173},{"type":31,"tagName":158,"properties":744,"children":745},{"style":164},[746],{"type":27,"value":747},"p_band_len",{"type":31,"tagName":158,"properties":749,"children":750},{"style":170},[751],{"type":27,"value":752},"()));",{"type":27,"value":28},{"type":31,"tagName":158,"properties":755,"children":756},{"class":160},[757],{"type":31,"tagName":158,"properties":758,"children":759},{"style":170},[760],{"type":27,"value":761},"}",{"type":27,"value":28},{"type":31,"tagName":158,"properties":764,"children":765},{"class":160},[],{"type":27,"value":28},{"type":31,"tagName":158,"properties":768,"children":769},{"class":160},[770,774,779,783,787,791],{"type":31,"tagName":158,"properties":771,"children":772},{"style":597},[773],{"type":27,"value":684},{"type":31,"tagName":158,"properties":775,"children":776},{"style":164},[777],{"type":27,"value":778}," onBar",{"type":31,"tagName":158,"properties":780,"children":781},{"style":170},[782],{"type":27,"value":694},{"type":31,"tagName":158,"properties":784,"children":785},{"style":597},[786],{"type":27,"value":651},{"type":31,"tagName":158,"properties":788,"children":789},{"style":187},[790],{"type":27,"value":703},{"type":31,"tagName":158,"properties":792,"children":793},{"style":170},[794],{"type":27,"value":708},{"type":27,"value":28},{"type":31,"tagName":158,"properties":797,"children":798},{"class":160},[799],{"type":31,"tagName":158,"properties":800,"children":801},{"style":232},[802],{"type":27,"value":803},"  // A module-level variable is the accumulator: it survives from bar to bar.",{"type":27,"value":28},{"type":31,"tagName":158,"properties":806,"children":807},{"class":160},[808,813,818,823,828,833,838],{"type":31,"tagName":158,"properties":809,"children":810},{"style":170},[811],{"type":27,"value":812},"  cvd ",{"type":31,"tagName":158,"properties":814,"children":815},{"style":597},[816],{"type":27,"value":817},"+=",{"type":31,"tagName":158,"properties":819,"children":820},{"style":164},[821],{"type":27,"value":822}," in_buy",{"type":31,"tagName":158,"properties":824,"children":825},{"style":170},[826],{"type":27,"value":827},"() ",{"type":31,"tagName":158,"properties":829,"children":830},{"style":597},[831],{"type":27,"value":832},"-",{"type":31,"tagName":158,"properties":834,"children":835},{"style":164},[836],{"type":27,"value":837}," in_sell",{"type":31,"tagName":158,"properties":839,"children":840},{"style":170},[841],{"type":27,"value":842},"();",{"type":27,"value":28},{"type":31,"tagName":158,"properties":845,"children":846},{"class":160},[847,852,857,861,866,871],{"type":31,"tagName":158,"properties":848,"children":849},{"style":597},[850],{"type":27,"value":851},"  const",{"type":31,"tagName":158,"properties":853,"children":854},{"style":187},[855],{"type":27,"value":856}," band",{"type":31,"tagName":158,"properties":858,"children":859},{"style":597},[860],{"type":27,"value":661},{"type":31,"tagName":158,"properties":862,"children":863},{"style":170},[864],{"type":27,"value":865}," stdev.",{"type":31,"tagName":158,"properties":867,"children":868},{"style":164},[869],{"type":27,"value":870},"update",{"type":31,"tagName":158,"properties":872,"children":873},{"style":170},[874],{"type":27,"value":875},"(cvd);",{"type":27,"value":28},{"type":31,"tagName":158,"properties":878,"children":879},{"class":160},[880,884,889,893,898,903,908,912,917],{"type":31,"tagName":158,"properties":881,"children":882},{"style":597},[883],{"type":27,"value":851},{"type":31,"tagName":158,"properties":885,"children":886},{"style":187},[887],{"type":27,"value":888}," width",{"type":31,"tagName":158,"properties":890,"children":891},{"style":597},[892],{"type":27,"value":661},{"type":31,"tagName":158,"properties":894,"children":895},{"style":164},[896],{"type":27,"value":897}," isNaN",{"type":31,"tagName":158,"properties":899,"children":900},{"style":170},[901],{"type":27,"value":902},"(band) ",{"type":31,"tagName":158,"properties":904,"children":905},{"style":597},[906],{"type":27,"value":907},"?",{"type":31,"tagName":158,"properties":909,"children":910},{"style":187},[911],{"type":27,"value":666},{"type":31,"tagName":158,"properties":913,"children":914},{"style":597},[915],{"type":27,"value":916}," :",{"type":31,"tagName":158,"properties":918,"children":919},{"style":170},[920],{"type":27,"value":921}," band;",{"type":27,"value":28},{"type":31,"tagName":158,"properties":924,"children":925},{"class":160},[926,931],{"type":31,"tagName":158,"properties":927,"children":928},{"style":164},[929],{"type":27,"value":930},"  out_cvd",{"type":31,"tagName":158,"properties":932,"children":933},{"style":170},[934],{"type":27,"value":875},{"type":27,"value":28},{"type":31,"tagName":158,"properties":937,"children":938},{"class":160},[939,944,949,954],{"type":31,"tagName":158,"properties":940,"children":941},{"style":164},[942],{"type":27,"value":943},"  out_upper_band",{"type":31,"tagName":158,"properties":945,"children":946},{"style":170},[947],{"type":27,"value":948},"(cvd ",{"type":31,"tagName":158,"properties":950,"children":951},{"style":597},[952],{"type":27,"value":953},"+",{"type":31,"tagName":158,"properties":955,"children":956},{"style":170},[957],{"type":27,"value":958}," width);",{"type":27,"value":28},{"type":31,"tagName":158,"properties":961,"children":962},{"class":160},[963,968,972,976],{"type":31,"tagName":158,"properties":964,"children":965},{"style":164},[966],{"type":27,"value":967},"  out_lower_band",{"type":31,"tagName":158,"properties":969,"children":970},{"style":170},[971],{"type":27,"value":948},{"type":31,"tagName":158,"properties":973,"children":974},{"style":597},[975],{"type":27,"value":832},{"type":31,"tagName":158,"properties":977,"children":978},{"style":170},[979],{"type":27,"value":958},{"type":27,"value":28},{"type":31,"tagName":158,"properties":982,"children":983},{"class":160},[984,989,993,998,1002,1007,1012,1016,1020],{"type":31,"tagName":158,"properties":985,"children":986},{"style":164},[987],{"type":27,"value":988},"  out_sign",{"type":31,"tagName":158,"properties":990,"children":991},{"style":170},[992],{"type":27,"value":948},{"type":31,"tagName":158,"properties":994,"children":995},{"style":597},[996],{"type":27,"value":997},">=",{"type":31,"tagName":158,"properties":999,"children":1000},{"style":187},[1001],{"type":27,"value":666},{"type":31,"tagName":158,"properties":1003,"children":1004},{"style":597},[1005],{"type":27,"value":1006}," ?",{"type":31,"tagName":158,"properties":1008,"children":1009},{"style":187},[1010],{"type":27,"value":1011}," 1.0",{"type":31,"tagName":158,"properties":1013,"children":1014},{"style":597},[1015],{"type":27,"value":916},{"type":31,"tagName":158,"properties":1017,"children":1018},{"style":187},[1019],{"type":27,"value":666},{"type":31,"tagName":158,"properties":1021,"children":1022},{"style":170},[1023],{"type":27,"value":633},{"type":27,"value":28},{"type":31,"tagName":158,"properties":1026,"children":1027},{"class":160},[1028],{"type":31,"tagName":158,"properties":1029,"children":1030},{"style":170},[1031],{"type":27,"value":761},{"type":27,"value":28},{"type":31,"tagName":124,"properties":1034,"children":1035,"position":1045},{},[1036],{"type":27,"value":1037,"position":1038},"How it works",{"start":1039,"end":1042},{"line":1040,"column":132,"offset":1041},46,2139,{"line":1040,"column":1043,"offset":1044},16,2151,{"start":1046,"end":1048},{"line":1040,"column":21,"offset":1047},2136,{"line":1040,"column":1043,"offset":1044},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1051,"children":1052,"position":1099},{},[1053,1072,1079,1092],{"type":31,"tagName":1054,"properties":1055,"children":1056,"position":1066},"strong",{},[1057],{"type":27,"value":1058,"position":1059},"The timeline spine.",{"start":1060,"end":1064},{"line":1061,"column":1062,"offset":1063},48,3,2155,{"line":1061,"column":135,"offset":1065},2174,{"start":1067,"end":1069},{"line":1061,"column":21,"offset":1068},2153,{"line":1061,"column":1070,"offset":1071},24,2176,{"type":27,"value":1073,"position":1074}," ",{"start":1075,"end":1076},{"line":1061,"column":1070,"offset":1071},{"line":1061,"column":1077,"offset":1078},25,2177,{"type":31,"tagName":60,"properties":1080,"children":1081,"position":1089},{},[1082],{"type":27,"value":1083,"position":1084},"input(\"close\", ohlcv.close)",{"start":1085,"end":1086},{"line":1061,"column":1077,"offset":1078},{"line":1061,"column":1087,"offset":1088},54,2206,{"start":1090,"end":1091},{"line":1061,"column":1077,"offset":1078},{"line":1061,"column":1087,"offset":1088},{"type":27,"value":1093,"position":1094}," is never read by the code. It is the first input, and the first input defines the grid every other input lines up on: one row per candle, always. Without it, the timeline would depend on the trade feed resolving, and on a market where it is missing the module would have no bars to compute. Load the chart series first, always.",{"start":1095,"end":1096},{"line":1061,"column":1087,"offset":1088},{"line":1061,"column":1097,"offset":1098},382,2534,{"start":1100,"end":1101},{"line":1061,"column":21,"offset":1068},{"line":1061,"column":1097,"offset":1098},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1104,"children":1105,"position":1209},{},[1106,1123,1129,1142,1149,1162,1169,1182,1189,1202],{"type":31,"tagName":1054,"properties":1107,"children":1108,"position":1118},{},[1109],{"type":27,"value":1110,"position":1111},"Buy and sell volume.",{"start":1112,"end":1115},{"line":1113,"column":1062,"offset":1114},50,2538,{"line":1113,"column":1116,"offset":1117},23,2558,{"start":1119,"end":1121},{"line":1113,"column":21,"offset":1120},2536,{"line":1113,"column":1077,"offset":1122},2560,{"type":27,"value":1073,"position":1124},{"start":1125,"end":1126},{"line":1113,"column":1077,"offset":1122},{"line":1113,"column":1127,"offset":1128},26,2561,{"type":31,"tagName":60,"properties":1130,"children":1131,"position":1139},{},[1132],{"type":27,"value":1133,"position":1134},"trades.volume",{"start":1135,"end":1136},{"line":1113,"column":1127,"offset":1128},{"line":1113,"column":1137,"offset":1138},41,2576,{"start":1140,"end":1141},{"line":1113,"column":1127,"offset":1128},{"line":1113,"column":1137,"offset":1138},{"type":27,"value":1143,"position":1144}," with ",{"start":1145,"end":1146},{"line":1113,"column":1137,"offset":1138},{"line":1113,"column":1147,"offset":1148},47,2582,{"type":31,"tagName":60,"properties":1150,"children":1151,"position":1159},{},[1152],{"type":27,"value":1153,"position":1154},"side: \"BUY\"",{"start":1155,"end":1156},{"line":1113,"column":1147,"offset":1148},{"line":1113,"column":1157,"offset":1158},60,2595,{"start":1160,"end":1161},{"line":1113,"column":1147,"offset":1148},{"line":1113,"column":1157,"offset":1158},{"type":27,"value":1163,"position":1164}," and ",{"start":1165,"end":1166},{"line":1113,"column":1157,"offset":1158},{"line":1113,"column":1167,"offset":1168},65,2600,{"type":31,"tagName":60,"properties":1170,"children":1171,"position":1179},{},[1172],{"type":27,"value":1173,"position":1174},"side: \"SELL\"",{"start":1175,"end":1176},{"line":1113,"column":1167,"offset":1168},{"line":1113,"column":1177,"offset":1178},79,2614,{"start":1180,"end":1181},{"line":1113,"column":1167,"offset":1168},{"line":1113,"column":1177,"offset":1178},{"type":27,"value":1183,"position":1184}," are the two halves of the tape, as two inputs. ",{"start":1185,"end":1186},{"line":1113,"column":1177,"offset":1178},{"line":1113,"column":1187,"offset":1188},127,2662,{"type":31,"tagName":60,"properties":1190,"children":1191,"position":1199},{},[1192],{"type":27,"value":1193,"position":1194},"missing: \"zero\"",{"start":1195,"end":1196},{"line":1113,"column":1187,"offset":1188},{"line":1113,"column":1197,"offset":1198},144,2679,{"start":1200,"end":1201},{"line":1113,"column":1187,"offset":1188},{"line":1113,"column":1197,"offset":1198},{"type":27,"value":1203,"position":1204}," makes a bar with no trade observation contribute zero rather than carrying the last value forward, which would double-count.",{"start":1205,"end":1206},{"line":1113,"column":1197,"offset":1198},{"line":1113,"column":1207,"offset":1208},269,2804,{"start":1210,"end":1211},{"line":1113,"column":21,"offset":1120},{"line":1113,"column":1207,"offset":1208},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1214,"children":1215,"position":1279},{},[1216,1234,1240,1252,1259,1272],{"type":31,"tagName":1054,"properties":1217,"children":1218,"position":1228},{},[1219],{"type":27,"value":1220,"position":1221},"Cumulative means module-level.",{"start":1222,"end":1225},{"line":1223,"column":1062,"offset":1224},52,2808,{"line":1223,"column":1226,"offset":1227},33,2838,{"start":1229,"end":1231},{"line":1223,"column":21,"offset":1230},2806,{"line":1223,"column":1232,"offset":1233},35,2840,{"type":27,"value":1073,"position":1235},{"start":1236,"end":1237},{"line":1223,"column":1232,"offset":1233},{"line":1223,"column":1238,"offset":1239},36,2841,{"type":31,"tagName":60,"properties":1241,"children":1242,"position":1249},{},[1243],{"type":27,"value":1244,"position":1245},"cvd",{"start":1246,"end":1247},{"line":1223,"column":1238,"offset":1239},{"line":1223,"column":1137,"offset":1248},2846,{"start":1250,"end":1251},{"line":1223,"column":1238,"offset":1239},{"line":1223,"column":1137,"offset":1248},{"type":27,"value":1253,"position":1254}," is a module-level variable and ",{"start":1255,"end":1256},{"line":1223,"column":1137,"offset":1248},{"line":1223,"column":1257,"offset":1258},73,2878,{"type":31,"tagName":60,"properties":1260,"children":1261,"position":1269},{},[1262],{"type":27,"value":1263,"position":1264},"cvd += buy - sell",{"start":1265,"end":1266},{"line":1223,"column":1257,"offset":1258},{"line":1223,"column":1267,"offset":1268},92,2897,{"start":1270,"end":1271},{"line":1223,"column":1257,"offset":1258},{"line":1223,"column":1267,"offset":1268},{"type":27,"value":1273,"position":1274}," adds each bar's net flow to the running total. That persistence is what turns a per-bar delta into a cumulative line.",{"start":1275,"end":1276},{"line":1223,"column":1267,"offset":1268},{"line":1223,"column":1277,"offset":1278},210,3015,{"start":1280,"end":1281},{"line":1223,"column":21,"offset":1230},{"line":1223,"column":1277,"offset":1278},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1284,"children":1285,"position":1424},{},[1286,1303,1308,1321,1328,1341,1348,1359,1366,1378,1385,1398,1405,1417],{"type":31,"tagName":1054,"properties":1287,"children":1288,"position":1297},{},[1289],{"type":27,"value":1290,"position":1291},"Sign coloring and the band.",{"start":1292,"end":1294},{"line":1087,"column":1062,"offset":1293},3019,{"line":1087,"column":1295,"offset":1296},30,3046,{"start":1298,"end":1300},{"line":1087,"column":21,"offset":1299},3017,{"line":1087,"column":1301,"offset":1302},32,3048,{"type":27,"value":1073,"position":1304},{"start":1305,"end":1306},{"line":1087,"column":1301,"offset":1302},{"line":1087,"column":1226,"offset":1307},3049,{"type":31,"tagName":60,"properties":1309,"children":1310,"position":1318},{},[1311],{"type":27,"value":1312,"position":1313},"sign",{"start":1314,"end":1315},{"line":1087,"column":1226,"offset":1307},{"line":1087,"column":1316,"offset":1317},39,3055,{"start":1319,"end":1320},{"line":1087,"column":1226,"offset":1307},{"line":1087,"column":1316,"offset":1317},{"type":27,"value":1322,"position":1323}," is a data-only ",{"start":1324,"end":1325},{"line":1087,"column":1316,"offset":1317},{"line":1087,"column":1326,"offset":1327},55,3071,{"type":31,"tagName":60,"properties":1329,"children":1330,"position":1338},{},[1331],{"type":27,"value":1332,"position":1333},"1",{"start":1334,"end":1335},{"line":1087,"column":1326,"offset":1327},{"line":1087,"column":1336,"offset":1337},58,3074,{"start":1339,"end":1340},{"line":1087,"column":1326,"offset":1327},{"line":1087,"column":1336,"offset":1337},{"type":27,"value":1342,"position":1343}," or ",{"start":1344,"end":1345},{"line":1087,"column":1336,"offset":1337},{"line":1087,"column":1346,"offset":1347},62,3078,{"type":31,"tagName":60,"properties":1349,"children":1350,"position":1356},{},[1351],{"type":27,"value":149,"position":1352},{"start":1353,"end":1354},{"line":1087,"column":1346,"offset":1347},{"line":1087,"column":1167,"offset":1355},3081,{"start":1357,"end":1358},{"line":1087,"column":1346,"offset":1347},{"line":1087,"column":1167,"offset":1355},{"type":27,"value":1360,"position":1361},", and the ",{"start":1362,"end":1363},{"line":1087,"column":1167,"offset":1355},{"line":1087,"column":1364,"offset":1365},75,3091,{"type":31,"tagName":60,"properties":1367,"children":1368,"position":1375},{},[1369],{"type":27,"value":1244,"position":1370},{"start":1371,"end":1372},{"line":1087,"column":1364,"offset":1365},{"line":1087,"column":1373,"offset":1374},80,3096,{"start":1376,"end":1377},{"line":1087,"column":1364,"offset":1365},{"line":1087,"column":1373,"offset":1374},{"type":27,"value":1379,"position":1380}," line indexes its two-entry palette with it: green when the running total is positive, red when negative. ",{"start":1381,"end":1382},{"line":1087,"column":1373,"offset":1374},{"line":1087,"column":1383,"offset":1384},186,3202,{"type":31,"tagName":60,"properties":1386,"children":1387,"position":1395},{},[1388],{"type":27,"value":1389,"position":1390},"Stdev",{"start":1391,"end":1392},{"line":1087,"column":1383,"offset":1384},{"line":1087,"column":1393,"offset":1394},193,3209,{"start":1396,"end":1397},{"line":1087,"column":1383,"offset":1384},{"line":1087,"column":1393,"offset":1394},{"type":27,"value":1399,"position":1400}," over the running total gives the one-sigma envelope; while it is warming the band width is ",{"start":1401,"end":1402},{"line":1087,"column":1393,"offset":1394},{"line":1087,"column":1403,"offset":1404},285,3301,{"type":31,"tagName":60,"properties":1406,"children":1407,"position":1414},{},[1408],{"type":27,"value":149,"position":1409},{"start":1410,"end":1411},{"line":1087,"column":1403,"offset":1404},{"line":1087,"column":1412,"offset":1413},288,3304,{"start":1415,"end":1416},{"line":1087,"column":1403,"offset":1404},{"line":1087,"column":1412,"offset":1413},{"type":27,"value":1418,"position":1419},", so the edges sit on the line instead of vanishing.",{"start":1420,"end":1421},{"line":1087,"column":1412,"offset":1413},{"line":1087,"column":1422,"offset":1423},340,3356,{"start":1425,"end":1426},{"line":1087,"column":21,"offset":1299},{"line":1087,"column":1422,"offset":1423},{"type":27,"value":28},{"type":31,"tagName":124,"properties":1429,"children":1430,"position":1439},{},[1431],{"type":27,"value":1432,"position":1433},"Design notes",{"start":1434,"end":1437},{"line":1435,"column":132,"offset":1436},56,3361,{"line":1435,"column":1043,"offset":1438},3373,{"start":1440,"end":1442},{"line":1435,"column":21,"offset":1441},3358,{"line":1435,"column":1043,"offset":1438},{"type":27,"value":28},{"type":31,"tagName":1445,"properties":1446,"children":1447,"position":1618},"ul",{},[1448,1449,1482,1483,1563,1564,1617],{"type":27,"value":28},{"type":31,"tagName":1450,"properties":1451,"children":1452,"position":1478},"li",{},[1453,1460,1471],{"type":27,"value":1454,"position":1455},"One venue, the chart's own. A ",{"start":1456,"end":1458},{"line":1336,"column":1062,"offset":1457},3377,{"line":1336,"column":1226,"offset":1459},3407,{"type":31,"tagName":60,"properties":1461,"children":1462,"position":1468},{},[1463],{"type":27,"value":64,"position":1464},{"start":1465,"end":1466},{"line":1336,"column":1226,"offset":1459},{"line":1336,"column":1137,"offset":1467},3415,{"start":1469,"end":1470},{"line":1336,"column":1226,"offset":1459},{"line":1336,"column":1137,"offset":1467},{"type":27,"value":1472,"position":1473}," input pinned to another venue is refused by name (\"the browser lane serves market pins on secondary ohlcv inputs only\"), so a multi-venue sum has no chart form; open the chart on another venue to read that venue's flow.",{"start":1474,"end":1475},{"line":1336,"column":1137,"offset":1467},{"line":1336,"column":1476,"offset":1477},261,3635,{"start":1479,"end":1481},{"line":1336,"column":21,"offset":1480},3375,{"line":1336,"column":1476,"offset":1477},{"type":27,"value":28},{"type":31,"tagName":1450,"properties":1484,"children":1485,"position":1559},{},[1486,1495,1507,1514,1527,1534,1552],{"type":27,"value":1487,"position":1488},"The sign tint is ",{"start":1489,"end":1492},{"line":1490,"column":1062,"offset":1491},59,3638,{"line":1490,"column":1493,"offset":1494},20,3655,{"type":31,"tagName":60,"properties":1496,"children":1497,"position":1504},{},[1498],{"type":27,"value":1499,"position":1500},"color_by",{"start":1501,"end":1502},{"line":1490,"column":1493,"offset":1494},{"line":1490,"column":1295,"offset":1503},3665,{"start":1505,"end":1506},{"line":1490,"column":1493,"offset":1494},{"line":1490,"column":1295,"offset":1503},{"type":27,"value":1508,"position":1509}," over a data-only output. To shade between the bands, declare a ",{"start":1510,"end":1511},{"line":1490,"column":1295,"offset":1503},{"line":1490,"column":1512,"offset":1513},94,3729,{"type":31,"tagName":60,"properties":1515,"children":1516,"position":1524},{},[1517],{"type":27,"value":1518,"position":1519},"range()",{"start":1520,"end":1521},{"line":1490,"column":1512,"offset":1513},{"line":1490,"column":1522,"offset":1523},103,3738,{"start":1525,"end":1526},{"line":1490,"column":1512,"offset":1513},{"line":1490,"column":1522,"offset":1523},{"type":27,"value":1528,"position":1529}," between the two band outputs, which the chart draws as a filled band, or a one-bar box between them (the ",{"start":1530,"end":1531},{"line":1490,"column":1522,"offset":1523},{"line":1490,"column":1532,"offset":1533},209,3844,{"type":31,"tagName":1535,"properties":1536,"children":1538,"position":1547},"a",{"href":1537},"anchored-vwap.md",[1539],{"type":27,"value":1540,"position":1541},"Anchored VWAP",{"start":1542,"end":1544},{"line":1490,"column":1277,"offset":1543},3845,{"line":1490,"column":1545,"offset":1546},223,3858,{"start":1548,"end":1549},{"line":1490,"column":1532,"offset":1533},{"line":1490,"column":1550,"offset":1551},242,3877,{"type":27,"value":1553,"position":1554}," recipe shades its band that way).",{"start":1555,"end":1556},{"line":1490,"column":1550,"offset":1551},{"line":1490,"column":1557,"offset":1558},276,3911,{"start":1560,"end":1562},{"line":1490,"column":21,"offset":1561},3636,{"line":1490,"column":1557,"offset":1558},{"type":27,"value":28},{"type":31,"tagName":1450,"properties":1565,"children":1566,"position":1613},{},[1567,1575,1587,1594,1606],{"type":27,"value":1568,"position":1569},"No symbol picker drives this Indicator: a ",{"start":1570,"end":1572},{"line":1157,"column":1062,"offset":1571},3914,{"line":1157,"column":1573,"offset":1574},45,3956,{"type":31,"tagName":60,"properties":1576,"children":1577,"position":1584},{},[1578],{"type":27,"value":1579,"position":1580},"param.symbol",{"start":1581,"end":1582},{"line":1157,"column":1573,"offset":1574},{"line":1157,"column":1490,"offset":1583},3970,{"start":1585,"end":1586},{"line":1157,"column":1573,"offset":1574},{"line":1157,"column":1490,"offset":1583},{"type":27,"value":1588,"position":1589}," pick re-pins a secondary candle input only, and a ",{"start":1590,"end":1591},{"line":1157,"column":1490,"offset":1583},{"line":1157,"column":1592,"offset":1593},110,4021,{"type":31,"tagName":60,"properties":1595,"children":1596,"position":1603},{},[1597],{"type":27,"value":64,"position":1598},{"start":1599,"end":1600},{"line":1157,"column":1592,"offset":1593},{"line":1157,"column":1601,"offset":1602},118,4029,{"start":1604,"end":1605},{"line":1157,"column":1592,"offset":1593},{"line":1157,"column":1601,"offset":1602},{"type":27,"value":1607,"position":1608}," pin to another venue is refused, so the market is always the chart's own.",{"start":1609,"end":1610},{"line":1157,"column":1601,"offset":1602},{"line":1157,"column":1611,"offset":1612},192,4103,{"start":1614,"end":1616},{"line":1157,"column":21,"offset":1615},3912,{"line":1157,"column":1611,"offset":1612},{"type":27,"value":28},{"start":1619,"end":1620},{"line":1336,"column":21,"offset":1480},{"line":1157,"column":1611,"offset":1612},{"type":27,"value":28},{"type":31,"tagName":124,"properties":1623,"children":1624,"position":1632},{},[1625],{"type":27,"value":1626,"position":1627},"Customize it",{"start":1628,"end":1630},{"line":1346,"column":132,"offset":1629},4108,{"line":1346,"column":1043,"offset":1631},4120,{"start":1633,"end":1635},{"line":1346,"column":21,"offset":1634},4105,{"line":1346,"column":1043,"offset":1631},{"type":27,"value":28},{"type":31,"tagName":1445,"properties":1638,"children":1639,"position":1930},{},[1640,1641,1690,1691,1740,1741,1810,1811,1929],{"type":27,"value":28},{"type":31,"tagName":1450,"properties":1642,"children":1643,"position":1686},{},[1644,1660,1667,1679],{"type":31,"tagName":1054,"properties":1645,"children":1646,"position":1655},{},[1647],{"type":27,"value":1648,"position":1649},"Another market.",{"start":1650,"end":1653},{"line":1651,"column":38,"offset":1652},64,4126,{"line":1651,"column":1493,"offset":1654},4141,{"start":1656,"end":1658},{"line":1651,"column":1062,"offset":1657},4124,{"line":1651,"column":135,"offset":1659},4143,{"type":27,"value":1661,"position":1662}," Switch the chart: the indicator reads whichever market the chart shows. On a market with no sided trades the two inputs read zero under ",{"start":1663,"end":1664},{"line":1651,"column":135,"offset":1659},{"line":1651,"column":1665,"offset":1666},159,4280,{"type":31,"tagName":60,"properties":1668,"children":1669,"position":1676},{},[1670],{"type":27,"value":1193,"position":1671},{"start":1672,"end":1673},{"line":1651,"column":1665,"offset":1666},{"line":1651,"column":1674,"offset":1675},176,4297,{"start":1677,"end":1678},{"line":1651,"column":1665,"offset":1666},{"line":1651,"column":1674,"offset":1675},{"type":27,"value":1680,"position":1681},", so the line stays flat.",{"start":1682,"end":1683},{"line":1651,"column":1674,"offset":1675},{"line":1651,"column":1684,"offset":1685},201,4322,{"start":1687,"end":1689},{"line":1651,"column":21,"offset":1688},4122,{"line":1651,"column":1684,"offset":1685},{"type":27,"value":28},{"type":31,"tagName":1450,"properties":1692,"children":1693,"position":1736},{},[1694,1710,1716,1729],{"type":31,"tagName":1054,"properties":1695,"children":1696,"position":1704},{},[1697],{"type":27,"value":1698,"position":1699},"Band width.",{"start":1700,"end":1702},{"line":1167,"column":38,"offset":1701},4327,{"line":1167,"column":1043,"offset":1703},4338,{"start":1705,"end":1707},{"line":1167,"column":1062,"offset":1706},4325,{"line":1167,"column":1708,"offset":1709},18,4340,{"type":27,"value":1073,"position":1711},{"start":1712,"end":1713},{"line":1167,"column":1708,"offset":1709},{"line":1167,"column":1714,"offset":1715},19,4341,{"type":31,"tagName":60,"properties":1717,"children":1718,"position":1726},{},[1719],{"type":27,"value":1720,"position":1721},"band_len",{"start":1722,"end":1723},{"line":1167,"column":1714,"offset":1715},{"line":1167,"column":1724,"offset":1725},29,4351,{"start":1727,"end":1728},{"line":1167,"column":1714,"offset":1715},{"line":1167,"column":1724,"offset":1725},{"type":27,"value":1730,"position":1731}," sets the volatility lookback. Shorten it for a reactive envelope that hugs the line, lengthen it for a smoother, slower band.",{"start":1732,"end":1733},{"line":1167,"column":1724,"offset":1725},{"line":1167,"column":1734,"offset":1735},155,4477,{"start":1737,"end":1739},{"line":1167,"column":21,"offset":1738},4323,{"line":1167,"column":1734,"offset":1735},{"type":27,"value":28},{"type":31,"tagName":1450,"properties":1742,"children":1743,"position":1806},{},[1744,1762,1768,1779,1786,1799],{"type":31,"tagName":1054,"properties":1745,"children":1746,"position":1756},{},[1747],{"type":27,"value":1748,"position":1749},"Colors.",{"start":1750,"end":1753},{"line":1751,"column":38,"offset":1752},66,4482,{"line":1751,"column":1754,"offset":1755},12,4489,{"start":1757,"end":1759},{"line":1751,"column":1062,"offset":1758},4480,{"line":1751,"column":1760,"offset":1761},14,4491,{"type":27,"value":1763,"position":1764}," The palette on ",{"start":1765,"end":1766},{"line":1751,"column":1760,"offset":1761},{"line":1751,"column":1295,"offset":1767},4507,{"type":31,"tagName":60,"properties":1769,"children":1770,"position":1776},{},[1771],{"type":27,"value":1244,"position":1772},{"start":1773,"end":1774},{"line":1751,"column":1295,"offset":1767},{"line":1751,"column":1232,"offset":1775},4512,{"start":1777,"end":1778},{"line":1751,"column":1295,"offset":1767},{"line":1751,"column":1232,"offset":1775},{"type":27,"value":1780,"position":1781}," and the ",{"start":1782,"end":1783},{"line":1751,"column":1232,"offset":1775},{"line":1751,"column":1784,"offset":1785},44,4521,{"type":31,"tagName":60,"properties":1787,"children":1788,"position":1796},{},[1789],{"type":27,"value":1790,"position":1791},"color",{"start":1792,"end":1793},{"line":1751,"column":1784,"offset":1785},{"line":1751,"column":1794,"offset":1795},51,4528,{"start":1797,"end":1798},{"line":1751,"column":1784,"offset":1785},{"line":1751,"column":1794,"offset":1795},{"type":27,"value":1800,"position":1801}," on each band are hex strings on the declarations; recolor there.",{"start":1802,"end":1803},{"line":1751,"column":1794,"offset":1795},{"line":1751,"column":1804,"offset":1805},116,4593,{"start":1807,"end":1809},{"line":1751,"column":21,"offset":1808},4478,{"line":1751,"column":1804,"offset":1805},{"type":27,"value":28},{"type":31,"tagName":1450,"properties":1812,"children":1813,"position":1925},{},[1814,1830,1835,1847,1854,1871,1877,1893,1900,1918],{"type":31,"tagName":1054,"properties":1815,"children":1816,"position":1825},{},[1817],{"type":27,"value":1818,"position":1819},"Alert on the line.",{"start":1820,"end":1823},{"line":1821,"column":38,"offset":1822},67,4598,{"line":1821,"column":1116,"offset":1824},4616,{"start":1826,"end":1828},{"line":1821,"column":1062,"offset":1827},4596,{"line":1821,"column":1077,"offset":1829},4618,{"type":27,"value":1073,"position":1831},{"start":1832,"end":1833},{"line":1821,"column":1077,"offset":1829},{"line":1821,"column":1127,"offset":1834},4619,{"type":31,"tagName":60,"properties":1836,"children":1837,"position":1844},{},[1838],{"type":27,"value":1244,"position":1839},{"start":1840,"end":1841},{"line":1821,"column":1127,"offset":1834},{"line":1821,"column":1842,"offset":1843},31,4624,{"start":1845,"end":1846},{"line":1821,"column":1127,"offset":1834},{"line":1821,"column":1842,"offset":1843},{"type":27,"value":1848,"position":1849}," is a drawn line, so once the indicator is published and on a chart, the alert dialog offers it with conditions such as ",{"start":1850,"end":1851},{"line":1821,"column":1842,"offset":1843},{"line":1821,"column":1852,"offset":1853},151,4744,{"type":31,"tagName":1054,"properties":1855,"children":1856,"position":1866},{},[1857],{"type":27,"value":1858,"position":1859},"Crosses above",{"start":1860,"end":1863},{"line":1821,"column":1861,"offset":1862},153,4746,{"line":1821,"column":1864,"offset":1865},166,4759,{"start":1867,"end":1868},{"line":1821,"column":1852,"offset":1853},{"line":1821,"column":1869,"offset":1870},168,4761,{"type":27,"value":1163,"position":1872},{"start":1873,"end":1874},{"line":1821,"column":1869,"offset":1870},{"line":1821,"column":1875,"offset":1876},173,4766,{"type":31,"tagName":1054,"properties":1878,"children":1879,"position":1888},{},[1880],{"type":27,"value":1881,"position":1882},"Moving up %",{"start":1883,"end":1886},{"line":1821,"column":1884,"offset":1885},175,4768,{"line":1821,"column":1383,"offset":1887},4779,{"start":1889,"end":1890},{"line":1821,"column":1875,"offset":1876},{"line":1821,"column":1891,"offset":1892},188,4781,{"type":27,"value":1894,"position":1895}," (",{"start":1896,"end":1897},{"line":1821,"column":1891,"offset":1892},{"line":1821,"column":1898,"offset":1899},190,4783,{"type":31,"tagName":1535,"properties":1901,"children":1903,"position":1913},{"href":1902},"../functions/alerts.md",[1904],{"type":27,"value":1905,"position":1906},"Alerts",{"start":1907,"end":1910},{"line":1821,"column":1908,"offset":1909},191,4784,{"line":1821,"column":1911,"offset":1912},197,4790,{"start":1914,"end":1915},{"line":1821,"column":1898,"offset":1899},{"line":1821,"column":1916,"offset":1917},222,4815,{"type":27,"value":1919,"position":1920},").",{"start":1921,"end":1922},{"line":1821,"column":1916,"offset":1917},{"line":1821,"column":1923,"offset":1924},224,4817,{"start":1926,"end":1928},{"line":1821,"column":21,"offset":1927},4594,{"line":1821,"column":1923,"offset":1924},{"type":27,"value":28},{"start":1931,"end":1932},{"line":1651,"column":21,"offset":1688},{"line":1821,"column":1923,"offset":1924},{"type":27,"value":28},{"type":31,"tagName":124,"properties":1935,"children":1936,"position":1946},{},[1937],{"type":27,"value":1938,"position":1939},"Run it",{"start":1940,"end":1943},{"line":1941,"column":132,"offset":1942},69,4822,{"line":1941,"column":1944,"offset":1945},10,4828,{"start":1947,"end":1949},{"line":1941,"column":21,"offset":1948},4819,{"line":1941,"column":1944,"offset":1945},{"type":27,"value":28},{"type":31,"tagName":1952,"properties":1953,"children":1954,"position":2106},"ol",{},[1955,1956,2036,2037,2072,2073,2105],{"type":27,"value":28},{"type":31,"tagName":1450,"properties":1957,"children":1958,"position":2032},{},[1959,1967,1983,1990,2005,2012,2025],{"type":27,"value":1960,"position":1961},"In the editor's Explorer, press ",{"start":1962,"end":1965},{"line":1963,"column":132,"offset":1964},71,4833,{"line":1963,"column":1238,"offset":1966},4865,{"type":31,"tagName":1054,"properties":1968,"children":1969,"position":1978},{},[1970],{"type":27,"value":1971,"position":1972},"New indicator",{"start":1973,"end":1976},{"line":1963,"column":1974,"offset":1975},38,4867,{"line":1963,"column":1794,"offset":1977},4880,{"start":1979,"end":1980},{"line":1963,"column":1238,"offset":1966},{"line":1963,"column":1981,"offset":1982},53,4882,{"type":27,"value":1984,"position":1985}," and pick ",{"start":1986,"end":1987},{"line":1963,"column":1981,"offset":1982},{"line":1963,"column":1988,"offset":1989},63,4892,{"type":31,"tagName":1054,"properties":1991,"children":1992,"position":2000},{},[1993],{"type":27,"value":1994,"position":1995},"Blank indicator",{"start":1996,"end":1998},{"line":1963,"column":1167,"offset":1997},4894,{"line":1963,"column":1373,"offset":1999},4909,{"start":2001,"end":2002},{"line":1963,"column":1988,"offset":1989},{"line":1963,"column":2003,"offset":2004},82,4911,{"type":27,"value":2006,"position":2007},": the tab holds the ",{"start":2008,"end":2009},{"line":1963,"column":2003,"offset":2004},{"line":1963,"column":2010,"offset":2011},102,4931,{"type":31,"tagName":60,"properties":2013,"children":2014,"position":2022},{},[2015],{"type":27,"value":2016,"position":2017},"//@lang=wrun-ts",{"start":2018,"end":2019},{"line":1963,"column":2010,"offset":2011},{"line":1963,"column":2020,"offset":2021},119,4948,{"start":2023,"end":2024},{"line":1963,"column":2010,"offset":2011},{"line":1963,"column":2020,"offset":2021},{"type":27,"value":2026,"position":2027}," line alone.",{"start":2028,"end":2029},{"line":1963,"column":2020,"offset":2021},{"line":1963,"column":2030,"offset":2031},131,4960,{"start":2033,"end":2035},{"line":1963,"column":21,"offset":2034},4830,{"line":1963,"column":2030,"offset":2031},{"type":27,"value":28},{"type":31,"tagName":1450,"properties":2038,"children":2039,"position":2068},{},[2040,2048,2062],{"type":27,"value":2041,"position":2042},"Paste the indicator block above under that line and press ",{"start":2043,"end":2046},{"line":2044,"column":132,"offset":2045},72,4964,{"line":2044,"column":1346,"offset":2047},5022,{"type":31,"tagName":1054,"properties":2049,"children":2050,"position":2058},{},[2051],{"type":27,"value":2052,"position":2053},"Run",{"start":2054,"end":2056},{"line":2044,"column":1651,"offset":2055},5024,{"line":2044,"column":1821,"offset":2057},5027,{"start":2059,"end":2060},{"line":2044,"column":1346,"offset":2047},{"line":2044,"column":1941,"offset":2061},5029,{"type":27,"value":2063,"position":2064}," on a crypto perp or spot market.",{"start":2065,"end":2066},{"line":2044,"column":1941,"offset":2061},{"line":2044,"column":2010,"offset":2067},5062,{"start":2069,"end":2071},{"line":2044,"column":21,"offset":2070},4961,{"line":2044,"column":2010,"offset":2067},{"type":27,"value":28},{"type":31,"tagName":1450,"properties":2074,"children":2075,"position":2101},{},[2076,2083,2095],{"type":27,"value":2077,"position":2078},"At the editor's Console prompt, type ",{"start":2079,"end":2081},{"line":1257,"column":132,"offset":2080},5066,{"line":1257,"column":1137,"offset":2082},5103,{"type":31,"tagName":60,"properties":2084,"children":2085,"position":2092},{},[2086],{"type":27,"value":2087,"position":2088},"last 20 cvd",{"start":2089,"end":2090},{"line":1257,"column":1137,"offset":2082},{"line":1257,"column":1087,"offset":2091},5116,{"start":2093,"end":2094},{"line":1257,"column":1137,"offset":2082},{"line":1257,"column":1087,"offset":2091},{"type":27,"value":2096,"position":2097}," to read the running total over the last 20 bars.",{"start":2098,"end":2099},{"line":1257,"column":1087,"offset":2091},{"line":1257,"column":1522,"offset":2100},5165,{"start":2102,"end":2104},{"line":1257,"column":21,"offset":2103},5063,{"line":1257,"column":1522,"offset":2100},{"type":27,"value":28},{"start":2107,"end":2108},{"line":1963,"column":21,"offset":2034},{"line":1257,"column":1522,"offset":2100},{"type":27,"value":28},{"type":31,"tagName":124,"properties":2111,"children":2112,"position":2121},{},[2113],{"type":27,"value":2114,"position":2115},"Concepts used",{"start":2116,"end":2118},{"line":1364,"column":132,"offset":2117},5170,{"line":1364,"column":2119,"offset":2120},17,5183,{"start":2122,"end":2124},{"line":1364,"column":21,"offset":2123},5167,{"line":1364,"column":2119,"offset":2120},{"type":27,"value":28},{"type":31,"tagName":1445,"properties":2127,"children":2128,"position":2309},{},[2129,2130,2160,2161,2245,2246,2277,2278,2308],{"type":27,"value":28},{"type":31,"tagName":1450,"properties":2131,"children":2132,"position":2156},{},[2133,2150],{"type":31,"tagName":1535,"properties":2134,"children":2136,"position":2145},{"href":2135},"../core-concepts/multi-source.md",[2137],{"type":27,"value":2138,"position":2139},"Multi-source",{"start":2140,"end":2143},{"line":2141,"column":132,"offset":2142},77,5188,{"line":2141,"column":1043,"offset":2144},5200,{"start":2146,"end":2148},{"line":2141,"column":1062,"offset":2147},5187,{"line":2141,"column":1794,"offset":2149},5235,{"type":27,"value":2151,"position":2152}," for which inputs the chart pins to another market",{"start":2153,"end":2154},{"line":2141,"column":1794,"offset":2149},{"line":2141,"column":41,"offset":2155},5285,{"start":2157,"end":2159},{"line":2141,"column":21,"offset":2158},5185,{"line":2141,"column":41,"offset":2155},{"type":27,"value":28},{"type":31,"tagName":1450,"properties":2162,"children":2163,"position":2241},{},[2164,2181,2187,2198,2204,2217,2222,2234],{"type":31,"tagName":1535,"properties":2165,"children":2167,"position":2176},{"href":2166},"../core-concepts/data-sources.md",[2168],{"type":27,"value":2169,"position":2170},"Data sources",{"start":2171,"end":2174},{"line":2172,"column":132,"offset":2173},78,5289,{"line":2172,"column":1043,"offset":2175},5301,{"start":2177,"end":2179},{"line":2172,"column":1062,"offset":2178},5288,{"line":2172,"column":1794,"offset":2180},5336,{"type":27,"value":2182,"position":2183}," for ",{"start":2184,"end":2185},{"line":2172,"column":1794,"offset":2180},{"line":2172,"column":1435,"offset":2186},5341,{"type":31,"tagName":60,"properties":2188,"children":2189,"position":2195},{},[2190],{"type":27,"value":1133,"position":2191},{"start":2192,"end":2193},{"line":2172,"column":1435,"offset":2186},{"line":2172,"column":1963,"offset":2194},5356,{"start":2196,"end":2197},{"line":2172,"column":1435,"offset":2186},{"line":2172,"column":1963,"offset":2194},{"type":27,"value":2199,"position":2200}," with a ",{"start":2201,"end":2202},{"line":2172,"column":1963,"offset":2194},{"line":2172,"column":1177,"offset":2203},5364,{"type":31,"tagName":60,"properties":2205,"children":2206,"position":2214},{},[2207],{"type":27,"value":2208,"position":2209},"side",{"start":2210,"end":2211},{"line":2172,"column":1177,"offset":2203},{"line":2172,"column":2212,"offset":2213},85,5370,{"start":2215,"end":2216},{"line":2172,"column":1177,"offset":2203},{"line":2172,"column":2212,"offset":2213},{"type":27,"value":1780,"position":2218},{"start":2219,"end":2220},{"line":2172,"column":2212,"offset":2213},{"line":2172,"column":1512,"offset":2221},5379,{"type":31,"tagName":60,"properties":2223,"children":2224,"position":2231},{},[2225],{"type":27,"value":2226,"position":2227},"missing",{"start":2228,"end":2229},{"line":2172,"column":1512,"offset":2221},{"line":2172,"column":1522,"offset":2230},5388,{"start":2232,"end":2233},{"line":2172,"column":1512,"offset":2221},{"line":2172,"column":1522,"offset":2230},{"type":27,"value":2235,"position":2236}," policies",{"start":2237,"end":2238},{"line":2172,"column":1522,"offset":2230},{"line":2172,"column":2239,"offset":2240},112,5397,{"start":2242,"end":2244},{"line":2172,"column":21,"offset":2243},5286,{"line":2172,"column":2239,"offset":2240},{"type":27,"value":28},{"type":31,"tagName":1450,"properties":2247,"children":2248,"position":2273},{},[2249,2266],{"type":31,"tagName":1535,"properties":2250,"children":2252,"position":2260},{"href":2251},"../core-concepts/execution-model.md",[2253],{"type":27,"value":2254,"position":2255},"Execution model",{"start":2256,"end":2258},{"line":1177,"column":132,"offset":2257},5401,{"line":1177,"column":1714,"offset":2259},5416,{"start":2261,"end":2263},{"line":1177,"column":1062,"offset":2262},5400,{"line":1177,"column":2264,"offset":2265},57,5454,{"type":27,"value":2267,"position":2268}," for the module-level accumulator",{"start":2269,"end":2270},{"line":1177,"column":2264,"offset":2265},{"line":1177,"column":2271,"offset":2272},90,5487,{"start":2274,"end":2276},{"line":1177,"column":21,"offset":2275},5398,{"line":1177,"column":2271,"offset":2272},{"type":27,"value":28},{"type":31,"tagName":1450,"properties":2279,"children":2280,"position":2304},{},[2281,2297],{"type":31,"tagName":1535,"properties":2282,"children":2284,"position":2292},{"href":2283},"../functions/volume-indicators.md",[2285],{"type":27,"value":2286,"position":2287},"Volume and VWAP",{"start":2288,"end":2290},{"line":1373,"column":132,"offset":2289},5491,{"line":1373,"column":1714,"offset":2291},5506,{"start":2293,"end":2295},{"line":1373,"column":1062,"offset":2294},5490,{"line":1373,"column":1326,"offset":2296},5542,{"type":27,"value":2298,"position":2299}," for buy and sell volume as inputs",{"start":2300,"end":2301},{"line":1373,"column":1326,"offset":2296},{"line":1373,"column":2302,"offset":2303},89,5576,{"start":2305,"end":2307},{"line":1373,"column":21,"offset":2306},5488,{"line":1373,"column":2302,"offset":2303},{"type":27,"value":28},{"start":2310,"end":2311},{"line":2141,"column":21,"offset":2158},{"line":1373,"column":2302,"offset":2303},{"quirksMode":2313},false,{"start":2315,"end":2316},{"line":21,"column":21,"offset":22},{"line":10,"column":21,"offset":2317},5577,1791265105843]