[{"data":1,"prerenderedAt":2530},["ShallowReactive",2],{"wrun-open-editor-url":3,"indicators:core-concepts/na-and-scalar-types":4},"https://openmarket.xyz/chart/#wrun-open=v1",{"slug":5,"filePath":6,"frontmatter":7,"rawMarkdown":12,"tree":13},"core-concepts/na-and-scalar-types","core-concepts/na-and-scalar-types.md",{"title":8,"description":9,"order":10,"section":11},"Missing values (NaN)","NaN is a wrun indicator's \"no value here\": a TA class that has not warmed up yet, a sparse source with no observation on this bar, a ratio with a zero…",17,"core-concepts","---\ntitle: \"Missing values (NaN)\"\ndescription: \"NaN is a wrun indicator's \\\"no value here\\\": a TA class that has not warmed up yet, a sparse source with no observation on this bar, a ratio with a zero…\"\norder: 17\nsection: \"core-concepts\"\n---\n\n\u003C!-- source: docs/indicators/core-concepts/na-and-scalar-types.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Missing values (NaN)\n\n`NaN` is a wrun indicator's \"no value here\": a TA class that has not\nwarmed up yet, a sparse source with no observation on this bar, a ratio\nwith a zero denominator. This page is how to test for it, fill it, hold\nthe last good value across it, and what it does in arithmetic and on the\nchart.\n\n## Why NaN matters\n\nThe important rule is that **`NaN` is contagious in arithmetic**: any\nexpression touching a `NaN` becomes `NaN`. Add `5` to a not-yet-warm SMA\nand you get `NaN`, and a `NaN` written to an output draws as a gap, not a\nzero. So the skill is detecting `NaN` and deciding what to do about it\nbefore it poisons a calculation or blanks a line.\n\nThe helpers, and what they are in an indicator:\n\n| Helper | Use it to |\n| --- | --- |\n| `isNaN(x)` | branch on whether a value is missing |\n| `isFinite(x)` (`!isNaN(x)` when infinities are impossible) | the inverse: is this a usable number |\n| `nz`: `isNaN(x) ? fallback : x` | replace a missing value with a fallback |\n| `fixnan`: a module-level `held` updated only when the new value is finite | hold the last good value forward over gaps |\n| `isNaN(x)`; never `x == NaN` | `NaN` is not equal to anything, itself included |\n\nComparisons with `NaN` are always false: `NaN > 0.0`, `NaN \u003C 0.0`, and\n`NaN == NaN` all evaluate `false`. That is why a condition built over a\nwarming input never fires by accident, and why `isNaN` is the only test\nthat works.\n\n## Filling and forward-holding\n\n`nz` is the everyday tool and it is one ternary: if `x` is `NaN`, take the\nfallback, otherwise take `x`. It is how you keep a plot continuous or keep\narithmetic finite.\n\n`fixnan` is the series-level cousin: wherever the series is `NaN`,\nsubstitute the most recent finite value, so a gappy series becomes a\nstepped, continuous one. In an indicator that is a module-level variable\nyou overwrite only when the new value is finite.\n\nBoth, plus the two ways a row can be missing, in one file. The `propagated`\noutput is deliberately `NaN` for the first 20 bars: the SMA has not warmed\nup, and adding `5` to `NaN` stays `NaN`. `filled` patches those bars with\nthe close, and `held` carries the last finite liquidation reading across\nquiet bars (`missing: \"nan\"` keeps the source honest; the holding is the\nmodule's decision).\n\n```typescript sample=cc-na-helpers\nparam(\"period\", 20, { min: 1, max: 200, description: \"SMA length\" });\ninput(\"close\", ohlcv.close);\ninput(\"liqs\", liquidations.liquidations, { missing: \"nan\", description: \"Liquidation volume, NaN on bars without any\" });\noutput(\"propagated\", line, overlay, { color: \"#94a3b8\", description: \"SMA + 5: NaN until the window is warm, and NaN stays NaN\" });\noutput(\"filled\", line, overlay, { color: \"rgb(37, 99, 235)\", width: 2, description: \"The same series with the close as a fallback while warming (nz)\" });\noutput(\"held\", line, lower, { color: \"#7c3aed\", description: \"The last finite liquidation reading, held across quiet bars (fixnan)\" });\nconst bandHi = output(\"band_hi\", line, overlay, { color: \"#2563eb66\", description: \"Filled series plus 1%\" });\nconst bandLo = output(\"band_lo\", line, overlay, { color: \"#2563eb66\", description: \"Filled series minus 1%\" });\n// A box fill takes the opacity, so its color is hex, rgb(), or hsl(): a named color is refused here.\nbox(\"band\", { top: bandHi, bottom: bandLo, color: \"hsl(221, 83%, 53%)\", opacity: 0.1, borderWidth: 0 });\n\nlet sma = new Sma(20);\nlet held: f64 = NaN; // the fixnan state: overwritten only by a finite value\n\nfunction nz(x: f64, fallback: f64): f64 {\n  return isNaN(x) ? fallback : x;\n}\n\nfunction onStart(): void {\n  sma = new Sma(i32(p_period()));\n}\n\nfunction onBar(): void {\n  const close = bar.close();\n  const propagated = sma.update(close) + 5.0; // NaN + 5 is NaN: the contagion\n  const liqs = in_liqs();\n  if (isFinite(liqs)) held = liqs; // fixnan: hold the last good value forward\n  const filled = nz(propagated, close);\n  out_propagated(propagated);\n  out_filled(filled);\n  out_held(held);\n  out_band_hi(filled * 1.01);\n  out_band_lo(filled * 0.99);\n}\n```\n\nWalking the key lines:\n\n- `propagated = sma.update(close) + 5.0` is `NaN` for the first 20 bars.\n  Written to its output, those bars are a gap on the grey line, while the\n  other outputs still draw.\n- `nz(propagated, close)` patches the early bars with the close, so the\n  blue line is continuous from bar 0 instead of starting blank at bar 20.\n- `if (isFinite(liqs)) held = liqs;` is `fixnan`: a bar with no\n  liquidations reads `NaN` under `missing: \"nan\"`, and the held value\n  steps only when a real reading arrives. Before the first reading `held`\n  is `NaN`, an honest gap rather than an invented zero.\n\nWhat you'll see: a grey line that starts at bar 20 and a blue one that\nstarts at bar 0, a faint band around the blue one, and a stepped purple\nline in the lower pane.\n\n### Abstaining is the other option\n\nWriting `NaN` to one output leaves the other outputs drawing. Returning\nearly from `onBar()` before any write leaves the whole bar blank: nothing\nis drawn and no output has a value there. Use `NaN` when one line warms\nslower than another; return early when nothing on the bar is meaningful\nyet ([Execution model](execution-model.md)).\n\nA color is a declaration, not a value, so `NaN` never reaches one\ndirectly. What a `NaN` index on a `color_by` output draws, and every other\ncolor rule, is on [Colors](../functions/colors-kit.md#per-bar-color).\n",{"type":14,"children":15,"data":2523,"position":2525},"root",[16,26,29,30,62,63,81,82,250,251,264,266,620,621,744,745,759,760,839,840,884,885,1042,1043,2089,2090,2104,2105,2306,2307,2322,2323,2339,2340,2431,2432],{"type":17,"value":18,"position":19},"comment"," source: docs/indicators/core-concepts/na-and-scalar-types.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},140,139,{"type":27,"value":28},"text","\n",{"type":27,"value":28},{"type":31,"tagName":32,"properties":33,"children":34,"position":59},"element","p",{},[35,51],{"type":31,"tagName":36,"properties":37,"children":38,"position":48},"code",{},[39],{"type":27,"value":40,"position":41},"NaN",{"start":42,"end":45},{"line":43,"column":21,"offset":44},5,165,{"line":43,"column":46,"offset":47},6,170,{"start":49,"end":50},{"line":43,"column":21,"offset":44},{"line":43,"column":46,"offset":47},{"type":27,"value":52,"position":53}," is a wrun indicator's \"no value here\": a TA class that has not\nwarmed up yet, a sparse source with no observation on this bar, a ratio\nwith a zero denominator. This page is how to test for it, fill it, hold\nthe last good value across it, and what it does in arithmetic and on the\nchart.",{"start":54,"end":55},{"line":43,"column":46,"offset":47},{"line":56,"column":57,"offset":58},9,7,457,{"start":60,"end":61},{"line":43,"column":21,"offset":44},{"line":56,"column":57,"offset":58},{"type":27,"value":28},{"type":31,"tagName":64,"properties":65,"children":66,"position":77},"h2",{},[67],{"type":27,"value":68,"position":69},"Why NaN matters",{"start":70,"end":74},{"line":71,"column":72,"offset":73},11,4,462,{"line":71,"column":75,"offset":76},19,477,{"start":78,"end":80},{"line":71,"column":21,"offset":79},459,{"line":71,"column":75,"offset":76},{"type":27,"value":28},{"type":31,"tagName":32,"properties":83,"children":84,"position":247},{},[85,94,124,132,143,150,162,169,182,189,201,208,220,228,240],{"type":27,"value":86,"position":87},"The important rule is that ",{"start":88,"end":91},{"line":89,"column":21,"offset":90},13,479,{"line":89,"column":92,"offset":93},28,506,{"type":31,"tagName":95,"properties":96,"children":97,"position":119},"strong",{},[98,112],{"type":31,"tagName":36,"properties":99,"children":100,"position":109},{},[101],{"type":27,"value":40,"position":102},{"start":103,"end":106},{"line":89,"column":104,"offset":105},30,508,{"line":89,"column":107,"offset":108},35,513,{"start":110,"end":111},{"line":89,"column":104,"offset":105},{"line":89,"column":107,"offset":108},{"type":27,"value":113,"position":114}," is contagious in arithmetic",{"start":115,"end":116},{"line":89,"column":107,"offset":108},{"line":89,"column":117,"offset":118},63,541,{"start":120,"end":121},{"line":89,"column":92,"offset":93},{"line":89,"column":122,"offset":123},65,543,{"type":27,"value":125,"position":126},": any\nexpression touching a ",{"start":127,"end":128},{"line":89,"column":122,"offset":123},{"line":129,"column":130,"offset":131},14,23,571,{"type":31,"tagName":36,"properties":133,"children":134,"position":140},{},[135],{"type":27,"value":40,"position":136},{"start":137,"end":138},{"line":129,"column":130,"offset":131},{"line":129,"column":92,"offset":139},576,{"start":141,"end":142},{"line":129,"column":130,"offset":131},{"line":129,"column":92,"offset":139},{"type":27,"value":144,"position":145}," becomes ",{"start":146,"end":147},{"line":129,"column":92,"offset":139},{"line":129,"column":148,"offset":149},37,585,{"type":31,"tagName":36,"properties":151,"children":152,"position":159},{},[153],{"type":27,"value":40,"position":154},{"start":155,"end":156},{"line":129,"column":148,"offset":149},{"line":129,"column":157,"offset":158},42,590,{"start":160,"end":161},{"line":129,"column":148,"offset":149},{"line":129,"column":157,"offset":158},{"type":27,"value":163,"position":164},". Add ",{"start":165,"end":166},{"line":129,"column":157,"offset":158},{"line":129,"column":167,"offset":168},48,596,{"type":31,"tagName":36,"properties":170,"children":171,"position":179},{},[172],{"type":27,"value":173,"position":174},"5",{"start":175,"end":176},{"line":129,"column":167,"offset":168},{"line":129,"column":177,"offset":178},51,599,{"start":180,"end":181},{"line":129,"column":167,"offset":168},{"line":129,"column":177,"offset":178},{"type":27,"value":183,"position":184}," to a not-yet-warm SMA\nand you get ",{"start":185,"end":186},{"line":129,"column":177,"offset":178},{"line":187,"column":89,"offset":188},15,634,{"type":31,"tagName":36,"properties":190,"children":191,"position":198},{},[192],{"type":27,"value":40,"position":193},{"start":194,"end":195},{"line":187,"column":89,"offset":188},{"line":187,"column":196,"offset":197},18,639,{"start":199,"end":200},{"line":187,"column":89,"offset":188},{"line":187,"column":196,"offset":197},{"type":27,"value":202,"position":203},", and a ",{"start":204,"end":205},{"line":187,"column":196,"offset":197},{"line":187,"column":206,"offset":207},26,647,{"type":31,"tagName":36,"properties":209,"children":210,"position":217},{},[211],{"type":27,"value":40,"position":212},{"start":213,"end":214},{"line":187,"column":206,"offset":207},{"line":187,"column":215,"offset":216},31,652,{"start":218,"end":219},{"line":187,"column":206,"offset":207},{"line":187,"column":215,"offset":216},{"type":27,"value":221,"position":222}," written to an output draws as a gap, not a\nzero. So the skill is detecting ",{"start":223,"end":224},{"line":187,"column":215,"offset":216},{"line":225,"column":226,"offset":227},16,33,728,{"type":31,"tagName":36,"properties":229,"children":230,"position":237},{},[231],{"type":27,"value":40,"position":232},{"start":233,"end":234},{"line":225,"column":226,"offset":227},{"line":225,"column":235,"offset":236},38,733,{"start":238,"end":239},{"line":225,"column":226,"offset":227},{"line":225,"column":235,"offset":236},{"type":27,"value":241,"position":242}," and deciding what to do about it\nbefore it poisons a calculation or blanks a line.",{"start":243,"end":244},{"line":225,"column":235,"offset":236},{"line":10,"column":245,"offset":246},50,816,{"start":248,"end":249},{"line":89,"column":21,"offset":90},{"line":10,"column":245,"offset":246},{"type":27,"value":28},{"type":31,"tagName":32,"properties":252,"children":253,"position":261},{},[254],{"type":27,"value":255,"position":256},"The helpers, and what they are in an indicator:",{"start":257,"end":259},{"line":75,"column":21,"offset":258},818,{"line":75,"column":167,"offset":260},865,{"start":262,"end":263},{"line":75,"column":21,"offset":258},{"line":75,"column":167,"offset":260},{"type":27,"value":265},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":31,"tagName":267,"properties":268,"children":269,"position":617},"table",{},[270,318],{"type":31,"tagName":271,"properties":272,"children":273,"position":315},"thead",{},[274],{"type":31,"tagName":275,"properties":276,"children":277,"position":312},"tr",{},[278,297],{"type":31,"tagName":279,"properties":280,"children":281,"position":291},"th",{},[282],{"type":27,"value":283,"position":284},"Helper",{"start":285,"end":289},{"line":286,"column":287,"offset":288},21,3,869,{"line":286,"column":56,"offset":290},875,{"start":292,"end":294},{"line":286,"column":21,"offset":293},867,{"line":286,"column":295,"offset":296},10,876,{"type":31,"tagName":279,"properties":298,"children":299,"position":308},{},[300],{"type":27,"value":301,"position":302},"Use it to",{"start":303,"end":306},{"line":286,"column":304,"offset":305},12,878,{"line":286,"column":286,"offset":307},887,{"start":309,"end":310},{"line":286,"column":295,"offset":296},{"line":286,"column":130,"offset":311},889,{"start":313,"end":314},{"line":286,"column":21,"offset":293},{"line":286,"column":130,"offset":311},{"start":316,"end":317},{"line":286,"column":21,"offset":293},{"line":286,"column":130,"offset":311},{"type":31,"tagName":319,"properties":320,"children":321,"position":614},"tbody",{},[322,363,429,486,549],{"type":31,"tagName":275,"properties":323,"children":324,"position":360},{},[325,344],{"type":31,"tagName":326,"properties":327,"children":328,"position":339},"td",{},[329],{"type":31,"tagName":36,"properties":330,"children":331,"position":334},{},[332],{"type":27,"value":333},"isNaN(x)",{"start":335,"end":337},{"line":130,"column":287,"offset":336},906,{"line":130,"column":89,"offset":338},916,{"start":340,"end":342},{"line":130,"column":21,"offset":341},904,{"line":130,"column":129,"offset":343},917,{"type":31,"tagName":326,"properties":345,"children":346,"position":355},{},[347],{"type":27,"value":348,"position":349},"branch on whether a value is missing",{"start":350,"end":352},{"line":130,"column":225,"offset":351},919,{"line":130,"column":353,"offset":354},52,955,{"start":356,"end":357},{"line":130,"column":129,"offset":343},{"line":130,"column":358,"offset":359},54,957,{"start":361,"end":362},{"line":130,"column":21,"offset":341},{"line":130,"column":358,"offset":359},{"type":31,"tagName":275,"properties":364,"children":365,"position":426},{},[366,409],{"type":31,"tagName":326,"properties":367,"children":368,"position":403},{},[369,380,386,396],{"type":31,"tagName":36,"properties":370,"children":371,"position":374},{},[372],{"type":27,"value":373},"isFinite(x)",{"start":375,"end":378},{"line":376,"column":287,"offset":377},24,960,{"line":376,"column":225,"offset":379},973,{"type":27,"value":381,"position":382}," (",{"start":383,"end":384},{"line":376,"column":225,"offset":379},{"line":376,"column":196,"offset":385},975,{"type":31,"tagName":36,"properties":387,"children":388,"position":391},{},[389],{"type":27,"value":390},"!isNaN(x)",{"start":392,"end":393},{"line":376,"column":196,"offset":385},{"line":376,"column":394,"offset":395},29,986,{"type":27,"value":397,"position":398}," when infinities are impossible)",{"start":399,"end":400},{"line":376,"column":394,"offset":395},{"line":376,"column":401,"offset":402},61,1018,{"start":404,"end":406},{"line":376,"column":21,"offset":405},958,{"line":376,"column":407,"offset":408},62,1019,{"type":31,"tagName":326,"properties":410,"children":411,"position":421},{},[412],{"type":27,"value":413,"position":414},"the inverse: is this a usable number",{"start":415,"end":418},{"line":376,"column":416,"offset":417},64,1021,{"line":376,"column":419,"offset":420},100,1057,{"start":422,"end":423},{"line":376,"column":407,"offset":408},{"line":376,"column":424,"offset":425},102,1059,{"start":427,"end":428},{"line":376,"column":21,"offset":405},{"line":376,"column":424,"offset":425},{"type":31,"tagName":275,"properties":430,"children":431,"position":483},{},[432,467],{"type":31,"tagName":326,"properties":433,"children":434,"position":462},{},[435,446,452],{"type":31,"tagName":36,"properties":436,"children":437,"position":440},{},[438],{"type":27,"value":439},"nz",{"start":441,"end":444},{"line":442,"column":287,"offset":443},25,1062,{"line":442,"column":57,"offset":445},1066,{"type":27,"value":447,"position":448},": ",{"start":449,"end":450},{"line":442,"column":57,"offset":445},{"line":442,"column":56,"offset":451},1068,{"type":31,"tagName":36,"properties":453,"children":454,"position":457},{},[455],{"type":27,"value":456},"isNaN(x) ? fallback : x",{"start":458,"end":459},{"line":442,"column":56,"offset":451},{"line":442,"column":460,"offset":461},34,1093,{"start":463,"end":465},{"line":442,"column":21,"offset":464},1060,{"line":442,"column":107,"offset":466},1094,{"type":31,"tagName":326,"properties":468,"children":469,"position":478},{},[470],{"type":27,"value":471,"position":472},"replace a missing value with a fallback",{"start":473,"end":475},{"line":442,"column":148,"offset":474},1096,{"line":442,"column":476,"offset":477},76,1135,{"start":479,"end":480},{"line":442,"column":107,"offset":466},{"line":442,"column":481,"offset":482},78,1137,{"start":484,"end":485},{"line":442,"column":21,"offset":464},{"line":442,"column":481,"offset":482},{"type":31,"tagName":275,"properties":487,"children":488,"position":546},{},[489,529],{"type":31,"tagName":326,"properties":490,"children":491,"position":523},{},[492,502,508,517],{"type":31,"tagName":36,"properties":493,"children":494,"position":497},{},[495],{"type":27,"value":496},"fixnan",{"start":498,"end":500},{"line":206,"column":287,"offset":499},1140,{"line":206,"column":71,"offset":501},1148,{"type":27,"value":503,"position":504},": a module-level ",{"start":505,"end":506},{"line":206,"column":71,"offset":501},{"line":206,"column":92,"offset":507},1165,{"type":31,"tagName":36,"properties":509,"children":510,"position":513},{},[511],{"type":27,"value":512},"held",{"start":514,"end":515},{"line":206,"column":92,"offset":507},{"line":206,"column":460,"offset":516},1171,{"type":27,"value":518,"position":519}," updated only when the new value is finite",{"start":520,"end":521},{"line":206,"column":460,"offset":516},{"line":206,"column":476,"offset":522},1213,{"start":524,"end":526},{"line":206,"column":21,"offset":525},1138,{"line":206,"column":527,"offset":528},77,1214,{"type":31,"tagName":326,"properties":530,"children":531,"position":541},{},[532],{"type":27,"value":533,"position":534},"hold the last good value forward over gaps",{"start":535,"end":538},{"line":206,"column":536,"offset":537},79,1216,{"line":206,"column":539,"offset":540},121,1258,{"start":542,"end":543},{"line":206,"column":527,"offset":528},{"line":206,"column":544,"offset":545},123,1260,{"start":547,"end":548},{"line":206,"column":21,"offset":525},{"line":206,"column":544,"offset":545},{"type":31,"tagName":275,"properties":550,"children":551,"position":611},{},[552,586],{"type":31,"tagName":326,"properties":553,"children":554,"position":580},{},[555,565,571],{"type":31,"tagName":36,"properties":556,"children":557,"position":559},{},[558],{"type":27,"value":333},{"start":560,"end":563},{"line":561,"column":287,"offset":562},27,1263,{"line":561,"column":89,"offset":564},1273,{"type":27,"value":566,"position":567},"; never ",{"start":568,"end":569},{"line":561,"column":89,"offset":564},{"line":561,"column":286,"offset":570},1281,{"type":31,"tagName":36,"properties":572,"children":573,"position":576},{},[574],{"type":27,"value":575},"x == NaN",{"start":577,"end":578},{"line":561,"column":286,"offset":570},{"line":561,"column":215,"offset":579},1291,{"start":581,"end":583},{"line":561,"column":21,"offset":582},1261,{"line":561,"column":584,"offset":585},32,1292,{"type":31,"tagName":326,"properties":587,"children":588,"position":606},{},[589,599],{"type":31,"tagName":36,"properties":590,"children":591,"position":593},{},[592],{"type":27,"value":40},{"start":594,"end":596},{"line":561,"column":460,"offset":595},1294,{"line":561,"column":597,"offset":598},39,1299,{"type":27,"value":600,"position":601}," is not equal to anything, itself included",{"start":602,"end":603},{"line":561,"column":597,"offset":598},{"line":561,"column":604,"offset":605},81,1341,{"start":607,"end":608},{"line":561,"column":584,"offset":585},{"line":561,"column":609,"offset":610},83,1343,{"start":612,"end":613},{"line":561,"column":21,"offset":582},{"line":561,"column":609,"offset":610},{"start":615,"end":616},{"line":130,"column":21,"offset":341},{"line":561,"column":609,"offset":610},{"start":618,"end":619},{"line":286,"column":21,"offset":293},{"line":561,"column":609,"offset":610},{"type":27,"value":28},{"type":31,"tagName":32,"properties":622,"children":623,"position":741},{},[624,631,642,648,661,668,681,687,699,705,717,723,735],{"type":27,"value":625,"position":626},"Comparisons with ",{"start":627,"end":629},{"line":394,"column":21,"offset":628},1345,{"line":394,"column":196,"offset":630},1362,{"type":31,"tagName":36,"properties":632,"children":633,"position":639},{},[634],{"type":27,"value":40,"position":635},{"start":636,"end":637},{"line":394,"column":196,"offset":630},{"line":394,"column":130,"offset":638},1367,{"start":640,"end":641},{"line":394,"column":196,"offset":630},{"line":394,"column":130,"offset":638},{"type":27,"value":643,"position":644}," are always false: ",{"start":645,"end":646},{"line":394,"column":130,"offset":638},{"line":394,"column":157,"offset":647},1386,{"type":31,"tagName":36,"properties":649,"children":650,"position":658},{},[651],{"type":27,"value":652,"position":653},"NaN > 0.0",{"start":654,"end":655},{"line":394,"column":157,"offset":647},{"line":394,"column":656,"offset":657},53,1397,{"start":659,"end":660},{"line":394,"column":157,"offset":647},{"line":394,"column":656,"offset":657},{"type":27,"value":662,"position":663},", ",{"start":664,"end":665},{"line":394,"column":656,"offset":657},{"line":394,"column":666,"offset":667},55,1399,{"type":31,"tagName":36,"properties":669,"children":670,"position":678},{},[671],{"type":27,"value":672,"position":673},"NaN \u003C 0.0",{"start":674,"end":675},{"line":394,"column":666,"offset":667},{"line":394,"column":676,"offset":677},66,1410,{"start":679,"end":680},{"line":394,"column":666,"offset":667},{"line":394,"column":676,"offset":677},{"type":27,"value":682,"position":683},", and\n",{"start":684,"end":685},{"line":394,"column":676,"offset":677},{"line":104,"column":21,"offset":686},1416,{"type":31,"tagName":36,"properties":688,"children":689,"position":696},{},[690],{"type":27,"value":691,"position":692},"NaN == NaN",{"start":693,"end":694},{"line":104,"column":21,"offset":686},{"line":104,"column":89,"offset":695},1428,{"start":697,"end":698},{"line":104,"column":21,"offset":686},{"line":104,"column":89,"offset":695},{"type":27,"value":700,"position":701}," all evaluate ",{"start":702,"end":703},{"line":104,"column":89,"offset":695},{"line":104,"column":561,"offset":704},1442,{"type":31,"tagName":36,"properties":706,"children":707,"position":714},{},[708],{"type":27,"value":709,"position":710},"false",{"start":711,"end":712},{"line":104,"column":561,"offset":704},{"line":104,"column":460,"offset":713},1449,{"start":715,"end":716},{"line":104,"column":561,"offset":704},{"line":104,"column":460,"offset":713},{"type":27,"value":718,"position":719},". That is why a condition built over a\nwarming input never fires by accident, and why ",{"start":720,"end":721},{"line":104,"column":460,"offset":713},{"line":215,"column":167,"offset":722},1535,{"type":31,"tagName":36,"properties":724,"children":725,"position":732},{},[726],{"type":27,"value":727,"position":728},"isNaN",{"start":729,"end":730},{"line":215,"column":167,"offset":722},{"line":215,"column":666,"offset":731},1542,{"start":733,"end":734},{"line":215,"column":167,"offset":722},{"line":215,"column":666,"offset":731},{"type":27,"value":736,"position":737}," is the only test\nthat works.",{"start":738,"end":739},{"line":215,"column":666,"offset":731},{"line":584,"column":304,"offset":740},1571,{"start":742,"end":743},{"line":394,"column":21,"offset":628},{"line":584,"column":304,"offset":740},{"type":27,"value":28},{"type":31,"tagName":64,"properties":746,"children":747,"position":755},{},[748],{"type":27,"value":749,"position":750},"Filling and forward-holding",{"start":751,"end":753},{"line":460,"column":72,"offset":752},1576,{"line":460,"column":215,"offset":754},1603,{"start":756,"end":758},{"line":460,"column":21,"offset":757},1573,{"line":460,"column":215,"offset":754},{"type":27,"value":28},{"type":31,"tagName":32,"properties":761,"children":762,"position":836},{},[763,776,782,795,802,813,819,830],{"type":31,"tagName":36,"properties":764,"children":765,"position":773},{},[766],{"type":27,"value":439,"position":767},{"start":768,"end":771},{"line":769,"column":21,"offset":770},36,1605,{"line":769,"column":43,"offset":772},1609,{"start":774,"end":775},{"line":769,"column":21,"offset":770},{"line":769,"column":43,"offset":772},{"type":27,"value":777,"position":778}," is the everyday tool and it is one ternary: if ",{"start":779,"end":780},{"line":769,"column":43,"offset":772},{"line":769,"column":656,"offset":781},1657,{"type":31,"tagName":36,"properties":783,"children":784,"position":792},{},[785],{"type":27,"value":786,"position":787},"x",{"start":788,"end":789},{"line":769,"column":656,"offset":781},{"line":769,"column":790,"offset":791},56,1660,{"start":793,"end":794},{"line":769,"column":656,"offset":781},{"line":769,"column":790,"offset":791},{"type":27,"value":796,"position":797}," is ",{"start":798,"end":799},{"line":769,"column":790,"offset":791},{"line":769,"column":800,"offset":801},60,1664,{"type":31,"tagName":36,"properties":803,"children":804,"position":810},{},[805],{"type":27,"value":40,"position":806},{"start":807,"end":808},{"line":769,"column":800,"offset":801},{"line":769,"column":122,"offset":809},1669,{"start":811,"end":812},{"line":769,"column":800,"offset":801},{"line":769,"column":122,"offset":809},{"type":27,"value":814,"position":815},", take the\nfallback, otherwise take ",{"start":816,"end":817},{"line":769,"column":122,"offset":809},{"line":148,"column":206,"offset":818},1705,{"type":31,"tagName":36,"properties":820,"children":821,"position":827},{},[822],{"type":27,"value":786,"position":823},{"start":824,"end":825},{"line":148,"column":206,"offset":818},{"line":148,"column":394,"offset":826},1708,{"start":828,"end":829},{"line":148,"column":206,"offset":818},{"line":148,"column":394,"offset":826},{"type":27,"value":831,"position":832},". It is how you keep a plot continuous or keep\narithmetic finite.",{"start":833,"end":834},{"line":148,"column":394,"offset":826},{"line":235,"column":75,"offset":835},1773,{"start":837,"end":838},{"line":769,"column":21,"offset":770},{"line":235,"column":75,"offset":835},{"type":27,"value":28},{"type":31,"tagName":32,"properties":841,"children":842,"position":881},{},[843,856,862,873],{"type":31,"tagName":36,"properties":844,"children":845,"position":853},{},[846],{"type":27,"value":496,"position":847},{"start":848,"end":851},{"line":849,"column":21,"offset":850},40,1775,{"line":849,"column":56,"offset":852},1783,{"start":854,"end":855},{"line":849,"column":21,"offset":850},{"line":849,"column":56,"offset":852},{"type":27,"value":857,"position":858}," is the series-level cousin: wherever the series is ",{"start":859,"end":860},{"line":849,"column":56,"offset":852},{"line":849,"column":401,"offset":861},1835,{"type":31,"tagName":36,"properties":863,"children":864,"position":870},{},[865],{"type":27,"value":40,"position":866},{"start":867,"end":868},{"line":849,"column":401,"offset":861},{"line":849,"column":676,"offset":869},1840,{"start":871,"end":872},{"line":849,"column":401,"offset":861},{"line":849,"column":676,"offset":869},{"type":27,"value":874,"position":875},",\nsubstitute the most recent finite value, so a gappy series becomes a\nstepped, continuous one. In an indicator that is a module-level variable\nyou overwrite only when the new value is finite.",{"start":876,"end":877},{"line":849,"column":676,"offset":869},{"line":878,"column":879,"offset":880},43,49,2032,{"start":882,"end":883},{"line":849,"column":21,"offset":850},{"line":878,"column":879,"offset":880},{"type":27,"value":28},{"type":31,"tagName":32,"properties":886,"children":887,"position":1039},{},[888,896,908,915,926,933,944,950,961,967,978,984,996,1002,1014,1020,1032],{"type":27,"value":889,"position":890},"Both, plus the two ways a row can be missing, in one file. The ",{"start":891,"end":894},{"line":892,"column":21,"offset":893},45,2034,{"line":892,"column":416,"offset":895},2097,{"type":31,"tagName":36,"properties":897,"children":898,"position":905},{},[899],{"type":27,"value":900,"position":901},"propagated",{"start":902,"end":903},{"line":892,"column":416,"offset":895},{"line":892,"column":476,"offset":904},2109,{"start":906,"end":907},{"line":892,"column":416,"offset":895},{"line":892,"column":476,"offset":904},{"type":27,"value":909,"position":910},"\noutput is deliberately ",{"start":911,"end":912},{"line":892,"column":476,"offset":904},{"line":913,"column":376,"offset":914},46,2133,{"type":31,"tagName":36,"properties":916,"children":917,"position":923},{},[918],{"type":27,"value":40,"position":919},{"start":920,"end":921},{"line":913,"column":376,"offset":914},{"line":913,"column":394,"offset":922},2138,{"start":924,"end":925},{"line":913,"column":376,"offset":914},{"line":913,"column":394,"offset":922},{"type":27,"value":927,"position":928}," for the first 20 bars: the SMA has not warmed\nup, and adding ",{"start":929,"end":930},{"line":913,"column":394,"offset":922},{"line":931,"column":225,"offset":932},47,2200,{"type":31,"tagName":36,"properties":934,"children":935,"position":941},{},[936],{"type":27,"value":173,"position":937},{"start":938,"end":939},{"line":931,"column":225,"offset":932},{"line":931,"column":75,"offset":940},2203,{"start":942,"end":943},{"line":931,"column":225,"offset":932},{"line":931,"column":75,"offset":940},{"type":27,"value":945,"position":946}," to ",{"start":947,"end":948},{"line":931,"column":75,"offset":940},{"line":931,"column":130,"offset":949},2207,{"type":31,"tagName":36,"properties":951,"children":952,"position":958},{},[953],{"type":27,"value":40,"position":954},{"start":955,"end":956},{"line":931,"column":130,"offset":949},{"line":931,"column":92,"offset":957},2212,{"start":959,"end":960},{"line":931,"column":130,"offset":949},{"line":931,"column":92,"offset":957},{"type":27,"value":962,"position":963}," stays ",{"start":964,"end":965},{"line":931,"column":92,"offset":957},{"line":931,"column":107,"offset":966},2219,{"type":31,"tagName":36,"properties":968,"children":969,"position":975},{},[970],{"type":27,"value":40,"position":971},{"start":972,"end":973},{"line":931,"column":107,"offset":966},{"line":931,"column":849,"offset":974},2224,{"start":976,"end":977},{"line":931,"column":107,"offset":966},{"line":931,"column":849,"offset":974},{"type":27,"value":979,"position":980},". ",{"start":981,"end":982},{"line":931,"column":849,"offset":974},{"line":931,"column":157,"offset":983},2226,{"type":31,"tagName":36,"properties":985,"children":986,"position":993},{},[987],{"type":27,"value":988,"position":989},"filled",{"start":990,"end":991},{"line":931,"column":157,"offset":983},{"line":931,"column":245,"offset":992},2234,{"start":994,"end":995},{"line":931,"column":157,"offset":983},{"line":931,"column":245,"offset":992},{"type":27,"value":997,"position":998}," patches those bars with\nthe close, and ",{"start":999,"end":1000},{"line":931,"column":245,"offset":992},{"line":167,"column":225,"offset":1001},2274,{"type":31,"tagName":36,"properties":1003,"children":1004,"position":1011},{},[1005],{"type":27,"value":512,"position":1006},{"start":1007,"end":1008},{"line":167,"column":225,"offset":1001},{"line":167,"column":1009,"offset":1010},22,2280,{"start":1012,"end":1013},{"line":167,"column":225,"offset":1001},{"line":167,"column":1009,"offset":1010},{"type":27,"value":1015,"position":1016}," carries the last finite liquidation reading across\nquiet bars (",{"start":1017,"end":1018},{"line":167,"column":1009,"offset":1010},{"line":879,"column":89,"offset":1019},2344,{"type":31,"tagName":36,"properties":1021,"children":1022,"position":1029},{},[1023],{"type":27,"value":1024,"position":1025},"missing: \"nan\"",{"start":1026,"end":1027},{"line":879,"column":89,"offset":1019},{"line":879,"column":394,"offset":1028},2360,{"start":1030,"end":1031},{"line":879,"column":89,"offset":1019},{"line":879,"column":394,"offset":1028},{"type":27,"value":1033,"position":1034}," keeps the source honest; the holding is the\nmodule's decision).",{"start":1035,"end":1036},{"line":879,"column":394,"offset":1028},{"line":245,"column":1037,"offset":1038},20,2424,{"start":1040,"end":1041},{"line":892,"column":21,"offset":893},{"line":245,"column":1037,"offset":1038},{"type":27,"value":28},{"type":14,"children":1044},[1045],{"type":31,"tagName":1046,"properties":1047,"children":1052,"data":-1},"pre",{"class":1048,"style":1049,"tabindex":1050,"data-sample":1051},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0","cc-na-helpers",[1053],{"type":31,"tagName":36,"properties":1054,"children":1057},{"class":1055},[1056],"language-typescript",[1058,1126,1127,1149,1150,1189,1190,1230,1231,1279,1280,1319,1320,1375,1376,1426,1427,1436,1437,1487,1488,1491,1492,1533,1534,1575,1576,1579,1580,1645,1646,1683,1684,1692,1693,1696,1697,1727,1728,1771,1772,1779,1780,1783,1784,1812,1813,1845,1846,1896,1897,1922,1923,1959,1960,1985,1986,1999,2000,2013,2014,2027,2028,2055,2056,2081,2082],{"type":31,"tagName":1059,"properties":1060,"children":1062},"span",{"class":1061},"line",[1063,1069,1075,1081,1085,1091,1096,1101,1106,1111,1116,1121],{"type":31,"tagName":1059,"properties":1064,"children":1066},{"style":1065},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[1067],{"type":27,"value":1068},"param",{"type":31,"tagName":1059,"properties":1070,"children":1072},{"style":1071},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[1073],{"type":27,"value":1074},"(",{"type":31,"tagName":1059,"properties":1076,"children":1078},{"style":1077},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[1079],{"type":27,"value":1080},"\"period\"",{"type":31,"tagName":1059,"properties":1082,"children":1083},{"style":1071},[1084],{"type":27,"value":662},{"type":31,"tagName":1059,"properties":1086,"children":1088},{"style":1087},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[1089],{"type":27,"value":1090},"20",{"type":31,"tagName":1059,"properties":1092,"children":1093},{"style":1071},[1094],{"type":27,"value":1095},", { min: ",{"type":31,"tagName":1059,"properties":1097,"children":1098},{"style":1087},[1099],{"type":27,"value":1100},"1",{"type":31,"tagName":1059,"properties":1102,"children":1103},{"style":1071},[1104],{"type":27,"value":1105},", max: ",{"type":31,"tagName":1059,"properties":1107,"children":1108},{"style":1087},[1109],{"type":27,"value":1110},"200",{"type":31,"tagName":1059,"properties":1112,"children":1113},{"style":1071},[1114],{"type":27,"value":1115},", description: ",{"type":31,"tagName":1059,"properties":1117,"children":1118},{"style":1077},[1119],{"type":27,"value":1120},"\"SMA length\"",{"type":31,"tagName":1059,"properties":1122,"children":1123},{"style":1071},[1124],{"type":27,"value":1125}," });",{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1128,"children":1129},{"class":1061},[1130,1135,1139,1144],{"type":31,"tagName":1059,"properties":1131,"children":1132},{"style":1065},[1133],{"type":27,"value":1134},"input",{"type":31,"tagName":1059,"properties":1136,"children":1137},{"style":1071},[1138],{"type":27,"value":1074},{"type":31,"tagName":1059,"properties":1140,"children":1141},{"style":1077},[1142],{"type":27,"value":1143},"\"close\"",{"type":31,"tagName":1059,"properties":1145,"children":1146},{"style":1071},[1147],{"type":27,"value":1148},", ohlcv.close);",{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1151,"children":1152},{"class":1061},[1153,1157,1161,1166,1171,1176,1180,1185],{"type":31,"tagName":1059,"properties":1154,"children":1155},{"style":1065},[1156],{"type":27,"value":1134},{"type":31,"tagName":1059,"properties":1158,"children":1159},{"style":1071},[1160],{"type":27,"value":1074},{"type":31,"tagName":1059,"properties":1162,"children":1163},{"style":1077},[1164],{"type":27,"value":1165},"\"liqs\"",{"type":31,"tagName":1059,"properties":1167,"children":1168},{"style":1071},[1169],{"type":27,"value":1170},", liquidations.liquidations, { missing: ",{"type":31,"tagName":1059,"properties":1172,"children":1173},{"style":1077},[1174],{"type":27,"value":1175},"\"nan\"",{"type":31,"tagName":1059,"properties":1177,"children":1178},{"style":1071},[1179],{"type":27,"value":1115},{"type":31,"tagName":1059,"properties":1181,"children":1182},{"style":1077},[1183],{"type":27,"value":1184},"\"Liquidation volume, NaN on bars without any\"",{"type":31,"tagName":1059,"properties":1186,"children":1187},{"style":1071},[1188],{"type":27,"value":1125},{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1191,"children":1192},{"class":1061},[1193,1198,1202,1207,1212,1217,1221,1226],{"type":31,"tagName":1059,"properties":1194,"children":1195},{"style":1065},[1196],{"type":27,"value":1197},"output",{"type":31,"tagName":1059,"properties":1199,"children":1200},{"style":1071},[1201],{"type":27,"value":1074},{"type":31,"tagName":1059,"properties":1203,"children":1204},{"style":1077},[1205],{"type":27,"value":1206},"\"propagated\"",{"type":31,"tagName":1059,"properties":1208,"children":1209},{"style":1071},[1210],{"type":27,"value":1211},", line, overlay, { color: ",{"type":31,"tagName":1059,"properties":1213,"children":1214},{"style":1077},[1215],{"type":27,"value":1216},"\"#94a3b8\"",{"type":31,"tagName":1059,"properties":1218,"children":1219},{"style":1071},[1220],{"type":27,"value":1115},{"type":31,"tagName":1059,"properties":1222,"children":1223},{"style":1077},[1224],{"type":27,"value":1225},"\"SMA + 5: NaN until the window is warm, and NaN stays NaN\"",{"type":31,"tagName":1059,"properties":1227,"children":1228},{"style":1071},[1229],{"type":27,"value":1125},{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1232,"children":1233},{"class":1061},[1234,1238,1242,1247,1251,1256,1261,1266,1270,1275],{"type":31,"tagName":1059,"properties":1235,"children":1236},{"style":1065},[1237],{"type":27,"value":1197},{"type":31,"tagName":1059,"properties":1239,"children":1240},{"style":1071},[1241],{"type":27,"value":1074},{"type":31,"tagName":1059,"properties":1243,"children":1244},{"style":1077},[1245],{"type":27,"value":1246},"\"filled\"",{"type":31,"tagName":1059,"properties":1248,"children":1249},{"style":1071},[1250],{"type":27,"value":1211},{"type":31,"tagName":1059,"properties":1252,"children":1253},{"style":1077},[1254],{"type":27,"value":1255},"\"rgb(37, 99, 235)\"",{"type":31,"tagName":1059,"properties":1257,"children":1258},{"style":1071},[1259],{"type":27,"value":1260},", width: ",{"type":31,"tagName":1059,"properties":1262,"children":1263},{"style":1087},[1264],{"type":27,"value":1265},"2",{"type":31,"tagName":1059,"properties":1267,"children":1268},{"style":1071},[1269],{"type":27,"value":1115},{"type":31,"tagName":1059,"properties":1271,"children":1272},{"style":1077},[1273],{"type":27,"value":1274},"\"The same series with the close as a fallback while warming (nz)\"",{"type":31,"tagName":1059,"properties":1276,"children":1277},{"style":1071},[1278],{"type":27,"value":1125},{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1281,"children":1282},{"class":1061},[1283,1287,1291,1296,1301,1306,1310,1315],{"type":31,"tagName":1059,"properties":1284,"children":1285},{"style":1065},[1286],{"type":27,"value":1197},{"type":31,"tagName":1059,"properties":1288,"children":1289},{"style":1071},[1290],{"type":27,"value":1074},{"type":31,"tagName":1059,"properties":1292,"children":1293},{"style":1077},[1294],{"type":27,"value":1295},"\"held\"",{"type":31,"tagName":1059,"properties":1297,"children":1298},{"style":1071},[1299],{"type":27,"value":1300},", line, lower, { color: ",{"type":31,"tagName":1059,"properties":1302,"children":1303},{"style":1077},[1304],{"type":27,"value":1305},"\"#7c3aed\"",{"type":31,"tagName":1059,"properties":1307,"children":1308},{"style":1071},[1309],{"type":27,"value":1115},{"type":31,"tagName":1059,"properties":1311,"children":1312},{"style":1077},[1313],{"type":27,"value":1314},"\"The last finite liquidation reading, held across quiet bars (fixnan)\"",{"type":31,"tagName":1059,"properties":1316,"children":1317},{"style":1071},[1318],{"type":27,"value":1125},{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1321,"children":1322},{"class":1061},[1323,1329,1334,1339,1344,1348,1353,1357,1362,1366,1371],{"type":31,"tagName":1059,"properties":1324,"children":1326},{"style":1325},"--shiki-dark:#F97583;--shiki-light:#D73A49",[1327],{"type":27,"value":1328},"const",{"type":31,"tagName":1059,"properties":1330,"children":1331},{"style":1087},[1332],{"type":27,"value":1333}," bandHi",{"type":31,"tagName":1059,"properties":1335,"children":1336},{"style":1325},[1337],{"type":27,"value":1338}," =",{"type":31,"tagName":1059,"properties":1340,"children":1341},{"style":1065},[1342],{"type":27,"value":1343}," output",{"type":31,"tagName":1059,"properties":1345,"children":1346},{"style":1071},[1347],{"type":27,"value":1074},{"type":31,"tagName":1059,"properties":1349,"children":1350},{"style":1077},[1351],{"type":27,"value":1352},"\"band_hi\"",{"type":31,"tagName":1059,"properties":1354,"children":1355},{"style":1071},[1356],{"type":27,"value":1211},{"type":31,"tagName":1059,"properties":1358,"children":1359},{"style":1077},[1360],{"type":27,"value":1361},"\"#2563eb66\"",{"type":31,"tagName":1059,"properties":1363,"children":1364},{"style":1071},[1365],{"type":27,"value":1115},{"type":31,"tagName":1059,"properties":1367,"children":1368},{"style":1077},[1369],{"type":27,"value":1370},"\"Filled series plus 1%\"",{"type":31,"tagName":1059,"properties":1372,"children":1373},{"style":1071},[1374],{"type":27,"value":1125},{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1377,"children":1378},{"class":1061},[1379,1383,1388,1392,1396,1400,1405,1409,1413,1417,1422],{"type":31,"tagName":1059,"properties":1380,"children":1381},{"style":1325},[1382],{"type":27,"value":1328},{"type":31,"tagName":1059,"properties":1384,"children":1385},{"style":1087},[1386],{"type":27,"value":1387}," bandLo",{"type":31,"tagName":1059,"properties":1389,"children":1390},{"style":1325},[1391],{"type":27,"value":1338},{"type":31,"tagName":1059,"properties":1393,"children":1394},{"style":1065},[1395],{"type":27,"value":1343},{"type":31,"tagName":1059,"properties":1397,"children":1398},{"style":1071},[1399],{"type":27,"value":1074},{"type":31,"tagName":1059,"properties":1401,"children":1402},{"style":1077},[1403],{"type":27,"value":1404},"\"band_lo\"",{"type":31,"tagName":1059,"properties":1406,"children":1407},{"style":1071},[1408],{"type":27,"value":1211},{"type":31,"tagName":1059,"properties":1410,"children":1411},{"style":1077},[1412],{"type":27,"value":1361},{"type":31,"tagName":1059,"properties":1414,"children":1415},{"style":1071},[1416],{"type":27,"value":1115},{"type":31,"tagName":1059,"properties":1418,"children":1419},{"style":1077},[1420],{"type":27,"value":1421},"\"Filled series minus 1%\"",{"type":31,"tagName":1059,"properties":1423,"children":1424},{"style":1071},[1425],{"type":27,"value":1125},{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1428,"children":1429},{"class":1061},[1430],{"type":31,"tagName":1059,"properties":1431,"children":1433},{"style":1432},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[1434],{"type":27,"value":1435},"// A box fill takes the opacity, so its color is hex, rgb(), or hsl(): a named color is refused here.",{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1438,"children":1439},{"class":1061},[1440,1445,1449,1454,1459,1464,1469,1474,1479,1483],{"type":31,"tagName":1059,"properties":1441,"children":1442},{"style":1065},[1443],{"type":27,"value":1444},"box",{"type":31,"tagName":1059,"properties":1446,"children":1447},{"style":1071},[1448],{"type":27,"value":1074},{"type":31,"tagName":1059,"properties":1450,"children":1451},{"style":1077},[1452],{"type":27,"value":1453},"\"band\"",{"type":31,"tagName":1059,"properties":1455,"children":1456},{"style":1071},[1457],{"type":27,"value":1458},", { top: bandHi, bottom: bandLo, color: ",{"type":31,"tagName":1059,"properties":1460,"children":1461},{"style":1077},[1462],{"type":27,"value":1463},"\"hsl(221, 83%, 53%)\"",{"type":31,"tagName":1059,"properties":1465,"children":1466},{"style":1071},[1467],{"type":27,"value":1468},", opacity: ",{"type":31,"tagName":1059,"properties":1470,"children":1471},{"style":1087},[1472],{"type":27,"value":1473},"0.1",{"type":31,"tagName":1059,"properties":1475,"children":1476},{"style":1071},[1477],{"type":27,"value":1478},", borderWidth: ",{"type":31,"tagName":1059,"properties":1480,"children":1481},{"style":1087},[1482],{"type":27,"value":1050},{"type":31,"tagName":1059,"properties":1484,"children":1485},{"style":1071},[1486],{"type":27,"value":1125},{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1489,"children":1490},{"class":1061},[],{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1493,"children":1494},{"class":1061},[1495,1500,1505,1510,1515,1520,1524,1528],{"type":31,"tagName":1059,"properties":1496,"children":1497},{"style":1325},[1498],{"type":27,"value":1499},"let",{"type":31,"tagName":1059,"properties":1501,"children":1502},{"style":1071},[1503],{"type":27,"value":1504}," sma ",{"type":31,"tagName":1059,"properties":1506,"children":1507},{"style":1325},[1508],{"type":27,"value":1509},"=",{"type":31,"tagName":1059,"properties":1511,"children":1512},{"style":1325},[1513],{"type":27,"value":1514}," new",{"type":31,"tagName":1059,"properties":1516,"children":1517},{"style":1065},[1518],{"type":27,"value":1519}," Sma",{"type":31,"tagName":1059,"properties":1521,"children":1522},{"style":1071},[1523],{"type":27,"value":1074},{"type":31,"tagName":1059,"properties":1525,"children":1526},{"style":1087},[1527],{"type":27,"value":1090},{"type":31,"tagName":1059,"properties":1529,"children":1530},{"style":1071},[1531],{"type":27,"value":1532},");",{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1535,"children":1536},{"class":1061},[1537,1541,1546,1551,1556,1560,1565,1570],{"type":31,"tagName":1059,"properties":1538,"children":1539},{"style":1325},[1540],{"type":27,"value":1499},{"type":31,"tagName":1059,"properties":1542,"children":1543},{"style":1071},[1544],{"type":27,"value":1545}," held",{"type":31,"tagName":1059,"properties":1547,"children":1548},{"style":1325},[1549],{"type":27,"value":1550},":",{"type":31,"tagName":1059,"properties":1552,"children":1553},{"style":1065},[1554],{"type":27,"value":1555}," f64",{"type":31,"tagName":1059,"properties":1557,"children":1558},{"style":1325},[1559],{"type":27,"value":1338},{"type":31,"tagName":1059,"properties":1561,"children":1562},{"style":1087},[1563],{"type":27,"value":1564}," NaN",{"type":31,"tagName":1059,"properties":1566,"children":1567},{"style":1071},[1568],{"type":27,"value":1569},"; ",{"type":31,"tagName":1059,"properties":1571,"children":1572},{"style":1432},[1573],{"type":27,"value":1574},"// the fixnan state: overwritten only by a finite value",{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1577,"children":1578},{"class":1061},[],{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1581,"children":1582},{"class":1061},[1583,1588,1593,1597,1602,1606,1610,1614,1619,1623,1627,1632,1636,1640],{"type":31,"tagName":1059,"properties":1584,"children":1585},{"style":1325},[1586],{"type":27,"value":1587},"function",{"type":31,"tagName":1059,"properties":1589,"children":1590},{"style":1065},[1591],{"type":27,"value":1592}," nz",{"type":31,"tagName":1059,"properties":1594,"children":1595},{"style":1071},[1596],{"type":27,"value":1074},{"type":31,"tagName":1059,"properties":1598,"children":1600},{"style":1599},"--shiki-dark:#FFAB70;--shiki-light:#E36209",[1601],{"type":27,"value":786},{"type":31,"tagName":1059,"properties":1603,"children":1604},{"style":1325},[1605],{"type":27,"value":1550},{"type":31,"tagName":1059,"properties":1607,"children":1608},{"style":1065},[1609],{"type":27,"value":1555},{"type":31,"tagName":1059,"properties":1611,"children":1612},{"style":1071},[1613],{"type":27,"value":662},{"type":31,"tagName":1059,"properties":1615,"children":1616},{"style":1599},[1617],{"type":27,"value":1618},"fallback",{"type":31,"tagName":1059,"properties":1620,"children":1621},{"style":1325},[1622],{"type":27,"value":1550},{"type":31,"tagName":1059,"properties":1624,"children":1625},{"style":1065},[1626],{"type":27,"value":1555},{"type":31,"tagName":1059,"properties":1628,"children":1629},{"style":1071},[1630],{"type":27,"value":1631},")",{"type":31,"tagName":1059,"properties":1633,"children":1634},{"style":1325},[1635],{"type":27,"value":1550},{"type":31,"tagName":1059,"properties":1637,"children":1638},{"style":1065},[1639],{"type":27,"value":1555},{"type":31,"tagName":1059,"properties":1641,"children":1642},{"style":1071},[1643],{"type":27,"value":1644}," {",{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1647,"children":1648},{"class":1061},[1649,1654,1659,1664,1669,1674,1678],{"type":31,"tagName":1059,"properties":1650,"children":1651},{"style":1325},[1652],{"type":27,"value":1653},"  return",{"type":31,"tagName":1059,"properties":1655,"children":1656},{"style":1065},[1657],{"type":27,"value":1658}," isNaN",{"type":31,"tagName":1059,"properties":1660,"children":1661},{"style":1071},[1662],{"type":27,"value":1663},"(x) ",{"type":31,"tagName":1059,"properties":1665,"children":1666},{"style":1325},[1667],{"type":27,"value":1668},"?",{"type":31,"tagName":1059,"properties":1670,"children":1671},{"style":1071},[1672],{"type":27,"value":1673}," fallback ",{"type":31,"tagName":1059,"properties":1675,"children":1676},{"style":1325},[1677],{"type":27,"value":1550},{"type":31,"tagName":1059,"properties":1679,"children":1680},{"style":1071},[1681],{"type":27,"value":1682}," x;",{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1685,"children":1686},{"class":1061},[1687],{"type":31,"tagName":1059,"properties":1688,"children":1689},{"style":1071},[1690],{"type":27,"value":1691},"}",{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1694,"children":1695},{"class":1061},[],{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1698,"children":1699},{"class":1061},[1700,1704,1709,1714,1718,1723],{"type":31,"tagName":1059,"properties":1701,"children":1702},{"style":1325},[1703],{"type":27,"value":1587},{"type":31,"tagName":1059,"properties":1705,"children":1706},{"style":1065},[1707],{"type":27,"value":1708}," onStart",{"type":31,"tagName":1059,"properties":1710,"children":1711},{"style":1071},[1712],{"type":27,"value":1713},"()",{"type":31,"tagName":1059,"properties":1715,"children":1716},{"style":1325},[1717],{"type":27,"value":1550},{"type":31,"tagName":1059,"properties":1719,"children":1720},{"style":1087},[1721],{"type":27,"value":1722}," void",{"type":31,"tagName":1059,"properties":1724,"children":1725},{"style":1071},[1726],{"type":27,"value":1644},{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1729,"children":1730},{"class":1061},[1731,1736,1740,1744,1748,1752,1757,1761,1766],{"type":31,"tagName":1059,"properties":1732,"children":1733},{"style":1071},[1734],{"type":27,"value":1735},"  sma ",{"type":31,"tagName":1059,"properties":1737,"children":1738},{"style":1325},[1739],{"type":27,"value":1509},{"type":31,"tagName":1059,"properties":1741,"children":1742},{"style":1325},[1743],{"type":27,"value":1514},{"type":31,"tagName":1059,"properties":1745,"children":1746},{"style":1065},[1747],{"type":27,"value":1519},{"type":31,"tagName":1059,"properties":1749,"children":1750},{"style":1071},[1751],{"type":27,"value":1074},{"type":31,"tagName":1059,"properties":1753,"children":1754},{"style":1065},[1755],{"type":27,"value":1756},"i32",{"type":31,"tagName":1059,"properties":1758,"children":1759},{"style":1071},[1760],{"type":27,"value":1074},{"type":31,"tagName":1059,"properties":1762,"children":1763},{"style":1065},[1764],{"type":27,"value":1765},"p_period",{"type":31,"tagName":1059,"properties":1767,"children":1768},{"style":1071},[1769],{"type":27,"value":1770},"()));",{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1773,"children":1774},{"class":1061},[1775],{"type":31,"tagName":1059,"properties":1776,"children":1777},{"style":1071},[1778],{"type":27,"value":1691},{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1781,"children":1782},{"class":1061},[],{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1785,"children":1786},{"class":1061},[1787,1791,1796,1800,1804,1808],{"type":31,"tagName":1059,"properties":1788,"children":1789},{"style":1325},[1790],{"type":27,"value":1587},{"type":31,"tagName":1059,"properties":1792,"children":1793},{"style":1065},[1794],{"type":27,"value":1795}," onBar",{"type":31,"tagName":1059,"properties":1797,"children":1798},{"style":1071},[1799],{"type":27,"value":1713},{"type":31,"tagName":1059,"properties":1801,"children":1802},{"style":1325},[1803],{"type":27,"value":1550},{"type":31,"tagName":1059,"properties":1805,"children":1806},{"style":1087},[1807],{"type":27,"value":1722},{"type":31,"tagName":1059,"properties":1809,"children":1810},{"style":1071},[1811],{"type":27,"value":1644},{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1814,"children":1815},{"class":1061},[1816,1821,1826,1830,1835,1840],{"type":31,"tagName":1059,"properties":1817,"children":1818},{"style":1325},[1819],{"type":27,"value":1820},"  const",{"type":31,"tagName":1059,"properties":1822,"children":1823},{"style":1087},[1824],{"type":27,"value":1825}," close",{"type":31,"tagName":1059,"properties":1827,"children":1828},{"style":1325},[1829],{"type":27,"value":1338},{"type":31,"tagName":1059,"properties":1831,"children":1832},{"style":1071},[1833],{"type":27,"value":1834}," bar.",{"type":31,"tagName":1059,"properties":1836,"children":1837},{"style":1065},[1838],{"type":27,"value":1839},"close",{"type":31,"tagName":1059,"properties":1841,"children":1842},{"style":1071},[1843],{"type":27,"value":1844},"();",{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1847,"children":1848},{"class":1061},[1849,1853,1858,1862,1867,1872,1877,1882,1887,1891],{"type":31,"tagName":1059,"properties":1850,"children":1851},{"style":1325},[1852],{"type":27,"value":1820},{"type":31,"tagName":1059,"properties":1854,"children":1855},{"style":1087},[1856],{"type":27,"value":1857}," propagated",{"type":31,"tagName":1059,"properties":1859,"children":1860},{"style":1325},[1861],{"type":27,"value":1338},{"type":31,"tagName":1059,"properties":1863,"children":1864},{"style":1071},[1865],{"type":27,"value":1866}," sma.",{"type":31,"tagName":1059,"properties":1868,"children":1869},{"style":1065},[1870],{"type":27,"value":1871},"update",{"type":31,"tagName":1059,"properties":1873,"children":1874},{"style":1071},[1875],{"type":27,"value":1876},"(close) ",{"type":31,"tagName":1059,"properties":1878,"children":1879},{"style":1325},[1880],{"type":27,"value":1881},"+",{"type":31,"tagName":1059,"properties":1883,"children":1884},{"style":1087},[1885],{"type":27,"value":1886}," 5.0",{"type":31,"tagName":1059,"properties":1888,"children":1889},{"style":1071},[1890],{"type":27,"value":1569},{"type":31,"tagName":1059,"properties":1892,"children":1893},{"style":1432},[1894],{"type":27,"value":1895},"// NaN + 5 is NaN: the contagion",{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1898,"children":1899},{"class":1061},[1900,1904,1909,1913,1918],{"type":31,"tagName":1059,"properties":1901,"children":1902},{"style":1325},[1903],{"type":27,"value":1820},{"type":31,"tagName":1059,"properties":1905,"children":1906},{"style":1087},[1907],{"type":27,"value":1908}," liqs",{"type":31,"tagName":1059,"properties":1910,"children":1911},{"style":1325},[1912],{"type":27,"value":1338},{"type":31,"tagName":1059,"properties":1914,"children":1915},{"style":1065},[1916],{"type":27,"value":1917}," in_liqs",{"type":31,"tagName":1059,"properties":1919,"children":1920},{"style":1071},[1921],{"type":27,"value":1844},{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1924,"children":1925},{"class":1061},[1926,1931,1935,1940,1945,1949,1954],{"type":31,"tagName":1059,"properties":1927,"children":1928},{"style":1325},[1929],{"type":27,"value":1930},"  if",{"type":31,"tagName":1059,"properties":1932,"children":1933},{"style":1071},[1934],{"type":27,"value":381},{"type":31,"tagName":1059,"properties":1936,"children":1937},{"style":1065},[1938],{"type":27,"value":1939},"isFinite",{"type":31,"tagName":1059,"properties":1941,"children":1942},{"style":1071},[1943],{"type":27,"value":1944},"(liqs)) held ",{"type":31,"tagName":1059,"properties":1946,"children":1947},{"style":1325},[1948],{"type":27,"value":1509},{"type":31,"tagName":1059,"properties":1950,"children":1951},{"style":1071},[1952],{"type":27,"value":1953}," liqs; ",{"type":31,"tagName":1059,"properties":1955,"children":1956},{"style":1432},[1957],{"type":27,"value":1958},"// fixnan: hold the last good value forward",{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1961,"children":1962},{"class":1061},[1963,1967,1972,1976,1980],{"type":31,"tagName":1059,"properties":1964,"children":1965},{"style":1325},[1966],{"type":27,"value":1820},{"type":31,"tagName":1059,"properties":1968,"children":1969},{"style":1087},[1970],{"type":27,"value":1971}," filled",{"type":31,"tagName":1059,"properties":1973,"children":1974},{"style":1325},[1975],{"type":27,"value":1338},{"type":31,"tagName":1059,"properties":1977,"children":1978},{"style":1065},[1979],{"type":27,"value":1592},{"type":31,"tagName":1059,"properties":1981,"children":1982},{"style":1071},[1983],{"type":27,"value":1984},"(propagated, close);",{"type":27,"value":28},{"type":31,"tagName":1059,"properties":1987,"children":1988},{"class":1061},[1989,1994],{"type":31,"tagName":1059,"properties":1990,"children":1991},{"style":1065},[1992],{"type":27,"value":1993},"  out_propagated",{"type":31,"tagName":1059,"properties":1995,"children":1996},{"style":1071},[1997],{"type":27,"value":1998},"(propagated);",{"type":27,"value":28},{"type":31,"tagName":1059,"properties":2001,"children":2002},{"class":1061},[2003,2008],{"type":31,"tagName":1059,"properties":2004,"children":2005},{"style":1065},[2006],{"type":27,"value":2007},"  out_filled",{"type":31,"tagName":1059,"properties":2009,"children":2010},{"style":1071},[2011],{"type":27,"value":2012},"(filled);",{"type":27,"value":28},{"type":31,"tagName":1059,"properties":2015,"children":2016},{"class":1061},[2017,2022],{"type":31,"tagName":1059,"properties":2018,"children":2019},{"style":1065},[2020],{"type":27,"value":2021},"  out_held",{"type":31,"tagName":1059,"properties":2023,"children":2024},{"style":1071},[2025],{"type":27,"value":2026},"(held);",{"type":27,"value":28},{"type":31,"tagName":1059,"properties":2029,"children":2030},{"class":1061},[2031,2036,2041,2046,2051],{"type":31,"tagName":1059,"properties":2032,"children":2033},{"style":1065},[2034],{"type":27,"value":2035},"  out_band_hi",{"type":31,"tagName":1059,"properties":2037,"children":2038},{"style":1071},[2039],{"type":27,"value":2040},"(filled ",{"type":31,"tagName":1059,"properties":2042,"children":2043},{"style":1325},[2044],{"type":27,"value":2045},"*",{"type":31,"tagName":1059,"properties":2047,"children":2048},{"style":1087},[2049],{"type":27,"value":2050}," 1.01",{"type":31,"tagName":1059,"properties":2052,"children":2053},{"style":1071},[2054],{"type":27,"value":1532},{"type":27,"value":28},{"type":31,"tagName":1059,"properties":2057,"children":2058},{"class":1061},[2059,2064,2068,2072,2077],{"type":31,"tagName":1059,"properties":2060,"children":2061},{"style":1065},[2062],{"type":27,"value":2063},"  out_band_lo",{"type":31,"tagName":1059,"properties":2065,"children":2066},{"style":1071},[2067],{"type":27,"value":2040},{"type":31,"tagName":1059,"properties":2069,"children":2070},{"style":1325},[2071],{"type":27,"value":2045},{"type":31,"tagName":1059,"properties":2073,"children":2074},{"style":1087},[2075],{"type":27,"value":2076}," 0.99",{"type":31,"tagName":1059,"properties":2078,"children":2079},{"style":1071},[2080],{"type":27,"value":1532},{"type":27,"value":28},{"type":31,"tagName":1059,"properties":2083,"children":2084},{"class":1061},[2085],{"type":31,"tagName":1059,"properties":2086,"children":2087},{"style":1071},[2088],{"type":27,"value":1691},{"type":27,"value":28},{"type":31,"tagName":32,"properties":2091,"children":2092,"position":2101},{},[2093],{"type":27,"value":2094,"position":2095},"Walking the key lines:",{"start":2096,"end":2099},{"line":2097,"column":21,"offset":2098},89,4194,{"line":2097,"column":130,"offset":2100},4216,{"start":2102,"end":2103},{"line":2097,"column":21,"offset":2098},{"line":2097,"column":130,"offset":2100},{"type":27,"value":28},{"type":31,"tagName":2106,"properties":2107,"children":2108,"position":2303},"ul",{},[2109,2110,2156,2157,2186,2187,2302],{"type":27,"value":28},{"type":31,"tagName":2111,"properties":2112,"children":2113,"position":2152},"li",{},[2114,2129,2134,2145],{"type":31,"tagName":36,"properties":2115,"children":2116,"position":2126},{},[2117],{"type":27,"value":2118,"position":2119},"propagated = sma.update(close) + 5.0",{"start":2120,"end":2123},{"line":2121,"column":287,"offset":2122},91,4220,{"line":2121,"column":2124,"offset":2125},41,4258,{"start":2127,"end":2128},{"line":2121,"column":287,"offset":2122},{"line":2121,"column":2124,"offset":2125},{"type":27,"value":796,"position":2130},{"start":2131,"end":2132},{"line":2121,"column":2124,"offset":2125},{"line":2121,"column":892,"offset":2133},4262,{"type":31,"tagName":36,"properties":2135,"children":2136,"position":2142},{},[2137],{"type":27,"value":40,"position":2138},{"start":2139,"end":2140},{"line":2121,"column":892,"offset":2133},{"line":2121,"column":245,"offset":2141},4267,{"start":2143,"end":2144},{"line":2121,"column":892,"offset":2133},{"line":2121,"column":245,"offset":2141},{"type":27,"value":2146,"position":2147}," for the first 20 bars.\nWritten to its output, those bars are a gap on the grey line, while the\nother outputs still draw.",{"start":2148,"end":2149},{"line":2121,"column":245,"offset":2141},{"line":2150,"column":92,"offset":2151},93,4392,{"start":2153,"end":2155},{"line":2121,"column":21,"offset":2154},4218,{"line":2150,"column":92,"offset":2151},{"type":27,"value":28},{"type":31,"tagName":2111,"properties":2158,"children":2159,"position":2182},{},[2160,2174],{"type":31,"tagName":36,"properties":2161,"children":2162,"position":2171},{},[2163],{"type":27,"value":2164,"position":2165},"nz(propagated, close)",{"start":2166,"end":2169},{"line":2167,"column":287,"offset":2168},94,4395,{"line":2167,"column":206,"offset":2170},4418,{"start":2172,"end":2173},{"line":2167,"column":287,"offset":2168},{"line":2167,"column":206,"offset":2170},{"type":27,"value":2175,"position":2176}," patches the early bars with the close, so the\nblue line is continuous from bar 0 instead of starting blank at bar 20.",{"start":2177,"end":2178},{"line":2167,"column":206,"offset":2170},{"line":2179,"column":2180,"offset":2181},95,74,4538,{"start":2183,"end":2185},{"line":2167,"column":21,"offset":2184},4393,{"line":2179,"column":2180,"offset":2181},{"type":27,"value":28},{"type":31,"tagName":2111,"properties":2188,"children":2189,"position":2298},{},[2190,2204,2209,2220,2227,2238,2244,2255,2263,2274,2281,2292],{"type":31,"tagName":36,"properties":2191,"children":2192,"position":2201},{},[2193],{"type":27,"value":2194,"position":2195},"if (isFinite(liqs)) held = liqs;",{"start":2196,"end":2199},{"line":2197,"column":287,"offset":2198},96,4541,{"line":2197,"column":148,"offset":2200},4575,{"start":2202,"end":2203},{"line":2197,"column":287,"offset":2198},{"line":2197,"column":148,"offset":2200},{"type":27,"value":796,"position":2205},{"start":2206,"end":2207},{"line":2197,"column":148,"offset":2200},{"line":2197,"column":2124,"offset":2208},4579,{"type":31,"tagName":36,"properties":2210,"children":2211,"position":2217},{},[2212],{"type":27,"value":496,"position":2213},{"start":2214,"end":2215},{"line":2197,"column":2124,"offset":2208},{"line":2197,"column":879,"offset":2216},4587,{"start":2218,"end":2219},{"line":2197,"column":2124,"offset":2208},{"line":2197,"column":879,"offset":2216},{"type":27,"value":2221,"position":2222},": a bar with no\nliquidations reads ",{"start":2223,"end":2224},{"line":2197,"column":879,"offset":2216},{"line":2225,"column":1009,"offset":2226},97,4624,{"type":31,"tagName":36,"properties":2228,"children":2229,"position":2235},{},[2230],{"type":27,"value":40,"position":2231},{"start":2232,"end":2233},{"line":2225,"column":1009,"offset":2226},{"line":2225,"column":561,"offset":2234},4629,{"start":2236,"end":2237},{"line":2225,"column":1009,"offset":2226},{"line":2225,"column":561,"offset":2234},{"type":27,"value":2239,"position":2240}," under ",{"start":2241,"end":2242},{"line":2225,"column":561,"offset":2234},{"line":2225,"column":460,"offset":2243},4636,{"type":31,"tagName":36,"properties":2245,"children":2246,"position":2252},{},[2247],{"type":27,"value":1024,"position":2248},{"start":2249,"end":2250},{"line":2225,"column":460,"offset":2243},{"line":2225,"column":245,"offset":2251},4652,{"start":2253,"end":2254},{"line":2225,"column":460,"offset":2243},{"line":2225,"column":245,"offset":2251},{"type":27,"value":2256,"position":2257},", and the held value\nsteps only when a real reading arrives. Before the first reading ",{"start":2258,"end":2259},{"line":2225,"column":245,"offset":2251},{"line":2260,"column":2261,"offset":2262},98,68,4740,{"type":31,"tagName":36,"properties":2264,"children":2265,"position":2271},{},[2266],{"type":27,"value":512,"position":2267},{"start":2268,"end":2269},{"line":2260,"column":2261,"offset":2262},{"line":2260,"column":2180,"offset":2270},4746,{"start":2272,"end":2273},{"line":2260,"column":2261,"offset":2262},{"line":2260,"column":2180,"offset":2270},{"type":27,"value":2275,"position":2276},"\nis ",{"start":2277,"end":2278},{"line":2260,"column":2180,"offset":2270},{"line":2279,"column":46,"offset":2280},99,4752,{"type":31,"tagName":36,"properties":2282,"children":2283,"position":2289},{},[2284],{"type":27,"value":40,"position":2285},{"start":2286,"end":2287},{"line":2279,"column":46,"offset":2280},{"line":2279,"column":71,"offset":2288},4757,{"start":2290,"end":2291},{"line":2279,"column":46,"offset":2280},{"line":2279,"column":71,"offset":2288},{"type":27,"value":2293,"position":2294},", an honest gap rather than an invented zero.",{"start":2295,"end":2296},{"line":2279,"column":71,"offset":2288},{"line":2279,"column":790,"offset":2297},4802,{"start":2299,"end":2301},{"line":2197,"column":21,"offset":2300},4539,{"line":2279,"column":790,"offset":2297},{"type":27,"value":28},{"start":2304,"end":2305},{"line":2121,"column":21,"offset":2154},{"line":2279,"column":790,"offset":2297},{"type":27,"value":28},{"type":31,"tagName":32,"properties":2308,"children":2309,"position":2319},{},[2310],{"type":27,"value":2311,"position":2312},"What you'll see: a grey line that starts at bar 20 and a blue one that\nstarts at bar 0, a faint band around the blue one, and a stepped purple\nline in the lower pane.",{"start":2313,"end":2316},{"line":2314,"column":21,"offset":2315},101,4804,{"line":2317,"column":376,"offset":2318},103,4970,{"start":2320,"end":2321},{"line":2314,"column":21,"offset":2315},{"line":2317,"column":376,"offset":2318},{"type":27,"value":28},{"type":31,"tagName":2324,"properties":2325,"children":2326,"position":2335},"h3",{},[2327],{"type":27,"value":2328,"position":2329},"Abstaining is the other option",{"start":2330,"end":2333},{"line":2331,"column":43,"offset":2332},105,4976,{"line":2331,"column":107,"offset":2334},5006,{"start":2336,"end":2338},{"line":2331,"column":21,"offset":2337},4972,{"line":2331,"column":107,"offset":2334},{"type":27,"value":28},{"type":31,"tagName":32,"properties":2341,"children":2342,"position":2428},{},[2343,2351,2362,2369,2381,2388,2399,2406,2422],{"type":27,"value":2344,"position":2345},"Writing ",{"start":2346,"end":2349},{"line":2347,"column":21,"offset":2348},107,5008,{"line":2347,"column":56,"offset":2350},5016,{"type":31,"tagName":36,"properties":2352,"children":2353,"position":2359},{},[2354],{"type":27,"value":40,"position":2355},{"start":2356,"end":2357},{"line":2347,"column":56,"offset":2350},{"line":2347,"column":129,"offset":2358},5021,{"start":2360,"end":2361},{"line":2347,"column":56,"offset":2350},{"line":2347,"column":129,"offset":2358},{"type":27,"value":2363,"position":2364}," to one output leaves the other outputs drawing. Returning\nearly from ",{"start":2365,"end":2366},{"line":2347,"column":129,"offset":2358},{"line":2367,"column":304,"offset":2368},108,5091,{"type":31,"tagName":36,"properties":2370,"children":2371,"position":2378},{},[2372],{"type":27,"value":2373,"position":2374},"onBar()",{"start":2375,"end":2376},{"line":2367,"column":304,"offset":2368},{"line":2367,"column":286,"offset":2377},5100,{"start":2379,"end":2380},{"line":2367,"column":304,"offset":2368},{"line":2367,"column":286,"offset":2377},{"type":27,"value":2382,"position":2383}," before any write leaves the whole bar blank: nothing\nis drawn and no output has a value there. Use ",{"start":2384,"end":2385},{"line":2367,"column":286,"offset":2377},{"line":2386,"column":931,"offset":2387},109,5200,{"type":31,"tagName":36,"properties":2389,"children":2390,"position":2396},{},[2391],{"type":27,"value":40,"position":2392},{"start":2393,"end":2394},{"line":2386,"column":931,"offset":2387},{"line":2386,"column":353,"offset":2395},5205,{"start":2397,"end":2398},{"line":2386,"column":931,"offset":2387},{"line":2386,"column":353,"offset":2395},{"type":27,"value":2400,"position":2401}," when one line warms\nslower than another; return early when nothing on the bar is meaningful\nyet (",{"start":2402,"end":2403},{"line":2386,"column":353,"offset":2395},{"line":2404,"column":46,"offset":2405},111,5303,{"type":31,"tagName":2407,"properties":2408,"children":2410,"position":2418},"a",{"href":2409},"execution-model.md",[2411],{"type":27,"value":2412,"position":2413},"Execution model",{"start":2414,"end":2416},{"line":2404,"column":57,"offset":2415},5304,{"line":2404,"column":1009,"offset":2417},5319,{"start":2419,"end":2420},{"line":2404,"column":46,"offset":2405},{"line":2404,"column":878,"offset":2421},5340,{"type":27,"value":2423,"position":2424},").",{"start":2425,"end":2426},{"line":2404,"column":878,"offset":2421},{"line":2404,"column":892,"offset":2427},5342,{"start":2429,"end":2430},{"line":2347,"column":21,"offset":2348},{"line":2404,"column":892,"offset":2427},{"type":27,"value":28},{"type":31,"tagName":32,"properties":2433,"children":2434,"position":2520},{},[2435,2443,2454,2461,2472,2478,2490,2497,2513],{"type":27,"value":2436,"position":2437},"A color is a declaration, not a value, so ",{"start":2438,"end":2441},{"line":2439,"column":21,"offset":2440},113,5344,{"line":2439,"column":878,"offset":2442},5386,{"type":31,"tagName":36,"properties":2444,"children":2445,"position":2451},{},[2446],{"type":27,"value":40,"position":2447},{"start":2448,"end":2449},{"line":2439,"column":878,"offset":2442},{"line":2439,"column":167,"offset":2450},5391,{"start":2452,"end":2453},{"line":2439,"column":878,"offset":2442},{"line":2439,"column":167,"offset":2450},{"type":27,"value":2455,"position":2456}," never reaches one\ndirectly. What a ",{"start":2457,"end":2458},{"line":2439,"column":167,"offset":2450},{"line":2459,"column":196,"offset":2460},114,5427,{"type":31,"tagName":36,"properties":2462,"children":2463,"position":2469},{},[2464],{"type":27,"value":40,"position":2465},{"start":2466,"end":2467},{"line":2459,"column":196,"offset":2460},{"line":2459,"column":130,"offset":2468},5432,{"start":2470,"end":2471},{"line":2459,"column":196,"offset":2460},{"line":2459,"column":130,"offset":2468},{"type":27,"value":2473,"position":2474}," index on a ",{"start":2475,"end":2476},{"line":2459,"column":130,"offset":2468},{"line":2459,"column":107,"offset":2477},5444,{"type":31,"tagName":36,"properties":2479,"children":2480,"position":2487},{},[2481],{"type":27,"value":2482,"position":2483},"color_by",{"start":2484,"end":2485},{"line":2459,"column":107,"offset":2477},{"line":2459,"column":892,"offset":2486},5454,{"start":2488,"end":2489},{"line":2459,"column":107,"offset":2477},{"line":2459,"column":892,"offset":2486},{"type":27,"value":2491,"position":2492}," output draws, and every other\ncolor rule, is on ",{"start":2493,"end":2494},{"line":2459,"column":892,"offset":2486},{"line":2495,"column":75,"offset":2496},115,5503,{"type":31,"tagName":2407,"properties":2498,"children":2500,"position":2508},{"href":2499},"../functions/colors-kit.md#per-bar-color",[2501],{"type":27,"value":2502,"position":2503},"Colors",{"start":2504,"end":2506},{"line":2495,"column":1037,"offset":2505},5504,{"line":2495,"column":206,"offset":2507},5510,{"start":2509,"end":2510},{"line":2495,"column":75,"offset":2496},{"line":2495,"column":2511,"offset":2512},69,5553,{"type":27,"value":2514,"position":2515},".",{"start":2516,"end":2517},{"line":2495,"column":2511,"offset":2512},{"line":2495,"column":2518,"offset":2519},70,5554,{"start":2521,"end":2522},{"line":2439,"column":21,"offset":2440},{"line":2495,"column":2518,"offset":2519},{"quirksMode":2524},false,{"start":2526,"end":2527},{"line":21,"column":21,"offset":22},{"line":2528,"column":21,"offset":2529},116,5555,1791265218066]