[{"data":1,"prerenderedAt":4460},["ShallowReactive",2],{"wrun-open-editor-url":3,"indicators:faq/debugging":4},"https://openmarket.xyz/chart/#wrun-open=v1",{"slug":5,"filePath":6,"frontmatter":7,"rawMarkdown":12,"tree":13},"faq/debugging","faq/debugging.md",{"title":8,"description":9,"order":10,"section":11},"Debugging","A practical workflow for finding out why a wrun indicator is wrong: make visible what you cannot see, read the Console, isolate one output, read the numbers at…",119,"faq","---\ntitle: \"Debugging\"\ndescription: \"A practical workflow for finding out why a wrun indicator is wrong: make visible what you cannot see, read the Console, isolate one output, read the numbers at…\"\norder: 119\nsection: \"faq\"\n---\n\n\u003C!-- source: docs/indicators/faq/debugging.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Debugging\n\nA practical workflow for finding out why a wrun indicator is wrong: make visible what you cannot see, read the Console, isolate one output, read the numbers at the Console prompt, then check the usual suspects. Work it in order.\n\nYour indicator compiles and runs but the signal is wrong, or it draws nothing, or a line is mysteriously flat. There is no `console.log` (the module runs in a sandbox with no console), but there is a debug log that prints in the editor's Console, a prompt that reads the last run's numbers, and one fact that makes indicators easy to debug: every value the module computes can be an output.\n\n## 1. Emit what you cannot see\n\nThe fastest debugger is an output or a log line. You cannot step through the bar loop, but you can make any intermediate value visible on every bar. Three forms:\n\n- **A `lower` line** shows the shape of a value over every bar. Seeing it usually tells you immediately whether it is doing what you think: pinned at zero, flatlining, a spike where there should be none.\n- **A `none` output** is a probe: computed and written every bar, never drawn, and readable by name at the Console prompt (step 4). It keeps the picture clean while you check a number.\n- **The debug log** prints text: a string slot named `debug`, written in `onBar()`, prints each bar's line in the editor's Console.\n\n```typescript sample=faq-debug-output\nparam(\"len\", 14, { min: 2, max: 200 });\n// The value under suspicion, drawn in its own pane so its shape is visible on every bar.\noutput(\"range_pct\", line, lower, { unit: \"%\", color: \"#ef4444\", description: \"high minus low as a percent of close\" });\noutput(\"smooth\", line, lower, { unit: \"%\", color: \"#f59e0b\", description: \"EMA of the range\" });\n// A probe: computed every bar and readable at the Console prompt, never drawn. Delete it when done.\noutput(\"raw_spread\", none, lower, { description: \"debug: high minus low before the percent\" });\n\nlet ema = new Ema(14);\n\nfunction onStart(): void {\n  ema = new Ema(i32(p_len()));\n}\n\nfunction onBar(): void {\n  const close = bar.close();\n  const spread = bar.high() - bar.low();\n  const rangePct = close > 0.0 ? (spread / close) * 100.0 : NaN;\n  if (isNaN(rangePct)) return;\n  out_range_pct(rangePct);\n  out_smooth(ema.update(rangePct));\n  out_raw_spread(spread);\n}\n```\n\nThe debug log is the indicator's `print()`. Declare `string(\"debug\", { max_bytes })`, build a line with the allocation-free `sb_*` builder, and send it with `str_debug_sb()` (or send a finished string with `str_debug(text)`). Write it only on the bars worth reading: a bar that writes nothing prints nothing.\n\n```typescript sample=faq-debug-log\nparam(\"len\", 20, { min: 2, max: 200, description: \"Bars in the volume average\" });\ninput(\"volume\", ohlcv.volume);\noutput(\"ratio\", line, lower, { description: \"Volume over its average\" });\n// The debug log: a string slot named exactly debug. Each non-empty line prints in the editor's Console.\nstring(\"debug\", { max_bytes: 128 });\n\nlet average = new Sma(20);\n\nfunction onStart(): void {\n  average = new Sma(i32(p_len()));\n}\n\nfunction onBar(): void {\n  const volume = bar.volume();\n  const mean = average.update(volume);\n  if (isNaN(mean) || mean \u003C= 0.0) return;\n  const ratio = volume / mean;\n  out_ratio(ratio);\n  // Log only the bars worth reading. The builder allocates nothing, so logging never grows memory.\n  if (ratio > 3.0) {\n    sb_clear();\n    sb_text(\"spike ratio=\");\n    sb_f64(ratio, 2);\n    sb_text(\" volume=\");\n    sb_f64(volume, 0);\n    str_debug_sb();\n  }\n}\n```\n\nAfter a **Run**, the Console prints one line per bar whose slot is not empty, oldest bar first, after the bar's time in ISO 8601 UTC:\n\n```text\n2026-09-30T14:00:00.000Z spike ratio=3.41 volume=1824\n2026-09-30T19:00:00.000Z spike ratio=4.07 volume=2210\n```\n\nEvery run rebuilds the lines, so they always belong to the run on screen, and the Console keeps the newest 400 (\"… N earlier print lines truncated to keep the console fast\"). The lines print before the chart draws, so they are there even when drawing fails. Build the text with `sb_*`, not with `+` or `toString()`: text built that way allocates on every bar, and memory that grows once the bars start stops the run.\n\nWhen you need the exact number on the chart rather than in the Console, a string slot and a `render.label` print it on the newest bar. It switches the file to the second runtime contract, which **Run** derives for you:\n\n```typescript sample=faq-debug-readout\noutput(\"range_pct\", line, lower, { unit: \"%\", color: \"#ef4444\" });\noutput(\"tag_x\", none, lower, { description: \"This bar's open time, the label's x\" });\nstring(\"readout\", { max_bytes: 32 });\n// One label, on the newest bar that wrote the slot: the exact number, read off the chart.\nrender.label(\"range_readout\", { x: \"tag_x\", y: \"range_pct\", text: \"readout\", color: \"#f59e0b\", size: 12 });\n\nfunction onBar(): void {\n  const close = bar.close();\n  const rangePct = close > 0.0 ? ((bar.high() - bar.low()) / close) * 100.0 : NaN;\n  if (isNaN(rangePct)) return;\n  out_range_pct(rangePct);\n  out_tag_x(bar.time());\n  sb_clear();\n  sb_text(\"range% = \");\n  sb_f64(rangePct, 2);\n  str_readout_sb();\n}\n```\n\nThis works for any expression. Lift the part you doubt into a variable, declare an output or a log line for it, and read the answer instead of guessing. Delete the probe and the log when you are done: whoever adds a published indicator gets everything it declares.\n\n## 2. Read the Console\n\nIf **Run** stops before the chart changes, the message is in the editor's Console, tagged with the stage that produced it, and one problem hides the ones behind it. The status bar's problem counter (its tooltip reads **Open Problems**) opens the Console, and clicking a row jumps to its line:\n\n| Stage | What it checked | Typical message |\n| --- | --- | --- |\n| `declarations` | the `param` / `input` / `output` / shape statements, read from the text | `option 'top' takes an output handle, not a string literal` |\n| `lint` | raw positional slot literals in your source | `Raw slot literal 0 passed to getFloat(): raw positional slots rebind silently when the sheet changes` |\n| `metadata` | the sheet derived from your declarations, against the schema | `Output 'price' (color_by): color_by needs 'colors' with at least 2 entries` |\n| `compile` | the AssemblyScript compiler, with a hint | `Conversion from type 'f64' to 'i32' requires an explicit cast.` |\n| `validate` | the built module's exports and the sandbox | `console.* is not available in an Indicator (it runs in a sandbox with no console).` |\n| `compute` | the run itself, after **Run** | `AssemblyScript abort: Index out of range at ~lib/array.ts:...` |\n\nFix the first one and **Run** again. Every message is listed with its fix in [Common errors](common-errors.md).\n\nA run that reaches the chart and draws nothing is usually not an error at all. It is an output that is `NaN` on every bar (`onBar()` returned before writing it, or wrote `NaN`), an output declared `none`, or a source the chart's market does not serve (the chart says which, by name). For a draft, the Console says which after the run: `Output 'range_pct' is NaN on all 480 ready bars, so nothing is drawn for it.` Step 5 covers the rest.\n\n## 3. Isolate\n\nWhen several outputs are wrong at once, stop reasoning about all of them. Reduce the module to one output: leave the others unwritten in `onBar()` (an unwritten output is `NaN`, and `NaN` draws nothing), or switch their plot to `none`, and keep only the suspect series drawn. Once that one is correct, bring the others back one at a time. This is the cheapest way to find which input poisoned a calculation downstream, because a wrong value in an indicator has exactly one place it can come from: the bar's inputs, the state carried from the previous bar, or the arithmetic between them.\n\n## 4. Read the numbers at the Console prompt\n\nThe chart shows shapes; the Console prompt shows numbers. After a **Run**, type at the prompt (\"Type an expression, an output name, or / for commands\") to read the last run without compiling anything:\n\n```text\nrange_pct                          the newest value\nrange_pct[-3]                      the value three bars back\nlast 20 raw_spread                 the newest 20 bars (a none output reads like any other)\nat 2026-01-01T00:00Z range_pct     the value on the bar that opened at that time\nrows                               the bar count, the first and last bar, the warm-up rows\nparams                             each param and the value the last run used\noutputs                            every output and its last value\nsheet                              the sheet derived from your declarations\n```\n\nA range reads over the ready bars; warm-up rows are left out. Anything else you type is an expression: it compiles into the current source, runs once per ready bar after your own code for the bar, over the chart's candles, and leaves the overlay alone, so your module-level variables and the kit are in scope. Expressions run over candles only: a strategy indicator, or one that reads another source, is refused (\"The console does not run strategy Indicators; Run the tab and inspect its outputs.\"), and its outputs stay readable by name after a **Run**. `/help` lists the grammar, and `/clear` empties the Console.\n\n## 5. The usual suspects\n\nMost \"wrong indicator\" bugs are one of a handful of patterns. Scan this list against your symptom:\n\n- **Line starts blank, then appears.** Warm-up. Anything with a period is `NaN` until it has enough bars, and a `NaN` output draws nothing on those bars. That leading gap is expected; if the line never appears, the chart has fewer bars loaded than the window needs.\n- **Flat line.** A module-level variable assigned in `onStart()` and never updated in `onBar()`, or an output written from a different variable than the one the bar updates. Log the value per bar and check that it moves.\n- **Everything is NaN.** A secondary input under `missing: \"nan\"` on bars without an observation, an arithmetic chain fed by one `NaN` input, or a division by zero. Probe each input as a `none` output and find the first `NaN`.\n- **Wrong pane.** A percent or a count drawn `overlay` hugs the price axis floor. Declare it `lower`.\n- **A mark on every bar.** A `shape` output without `shape_where`. Add the gate output.\n- **The newest bar jumps around.** It is still forming: the chart re-evaluates it as live updates arrive, at most about once a second, starting each time from the module's state as it stood after the last closed bar. A bar's value settles when the bar closes.\n- **Nothing at all, no error.** `onBar()` never reaches a write (a class whose period exceeds the loaded history), the only rendered output is declared `none`, or the chart's market does not serve the source (the chart names it, for example `celled source class 'tape' is not served by the browser lane yet`, or `Volume profile data is unavailable for ...`).\n- **A pinned input reads `NaN` everywhere.** An index pin (`POLYGON_INDICES`) reads `NaN`, and the legend says why; any pin reads `NaN` until its first candle closes. A misspelled pin is refused instead: `Pinned market candle (...) data is unavailable for ...` ([Exchange and symbol format](../reference/symbol-format.md)).\n- **An alert does not match the chart.** An alert runs the published version and the settings of the overlay it was set on, in OpenMarket's cloud, on the chart's own market; the draft in your editor is not what it evaluates. Publish the change, add the new version to the chart, and set the alert on it. A declared `alert(...)` fires on the bar its `when` output turns from zero to nonzero, so a gate that stays at `1` fires once ([Alerts](../functions/alerts.md)).\n\nWalk these top to bottom. The fix for each is one line, and the probe from step 1 usually tells you which one you are looking at.\n\n## See also\n\n- [Common errors](common-errors.md) for every build and runtime message with its fix.\n- [Execution model](../core-concepts/execution-model.md) for warm-up, the forming bar, and where an indicator runs.\n- [Repainting](../core-concepts/repainting.md) for what can change on the forming bar and what cannot.\n- [Alerts](../functions/alerts.md) for what an alert on an indicator evaluates.\n",{"type":14,"children":15,"data":4453,"position":4455},"root",[16,25,28,29,46,47,83,84,102,103,118,119,303,304,951,952,1067,1068,1705,1706,1741,1742,1769,1770,1844,1845,1903,1904,2382,2383,2398,2399,2415,2416,2475,2477,2993,2994,3053,3054,3164,3165,3179,3180,3268,3269,3284,3285,3321,3322,3402,3403,3481,3482,3497,3498,3513,3514,4292,4293,4306,4307,4321,4322],{"type":17,"value":18,"position":19},"comment"," source: docs/indicators/faq/debugging.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":10},120,{"type":26,"value":27},"text","\n",{"type":26,"value":27},{"type":30,"tagName":31,"properties":32,"children":33,"position":43},"element","p",{},[34],{"type":26,"value":35,"position":36},"A practical workflow for finding out why a wrun indicator is wrong: make visible what you cannot see, read the Console, isolate one output, read the numbers at the Console prompt, then check the usual suspects. Work it in order.",{"start":37,"end":40},{"line":38,"column":21,"offset":39},5,134,{"line":38,"column":41,"offset":42},229,362,{"start":44,"end":45},{"line":38,"column":21,"offset":39},{"line":38,"column":41,"offset":42},{"type":26,"value":27},{"type":30,"tagName":31,"properties":48,"children":49,"position":80},{},[50,59,73],{"type":26,"value":51,"position":52},"Your indicator compiles and runs but the signal is wrong, or it draws nothing, or a line is mysteriously flat. There is no ",{"start":53,"end":56},{"line":54,"column":21,"offset":55},7,364,{"line":54,"column":57,"offset":58},124,487,{"type":30,"tagName":60,"properties":61,"children":62,"position":70},"code",{},[63],{"type":26,"value":64,"position":65},"console.log",{"start":66,"end":67},{"line":54,"column":57,"offset":58},{"line":54,"column":68,"offset":69},137,500,{"start":71,"end":72},{"line":54,"column":57,"offset":58},{"line":54,"column":68,"offset":69},{"type":26,"value":74,"position":75}," (the module runs in a sandbox with no console), but there is a debug log that prints in the editor's Console, a prompt that reads the last run's numbers, and one fact that makes indicators easy to debug: every value the module computes can be an output.",{"start":76,"end":77},{"line":54,"column":68,"offset":69},{"line":54,"column":78,"offset":79},391,754,{"start":81,"end":82},{"line":54,"column":21,"offset":55},{"line":54,"column":78,"offset":79},{"type":26,"value":27},{"type":30,"tagName":85,"properties":86,"children":87,"position":98},"h2",{},[88],{"type":26,"value":89,"position":90},"1. Emit what you cannot see",{"start":91,"end":95},{"line":92,"column":93,"offset":94},9,4,759,{"line":92,"column":96,"offset":97},31,786,{"start":99,"end":101},{"line":92,"column":21,"offset":100},756,{"line":92,"column":96,"offset":97},{"type":26,"value":27},{"type":30,"tagName":31,"properties":104,"children":105,"position":115},{},[106],{"type":26,"value":107,"position":108},"The fastest debugger is an output or a log line. You cannot step through the bar loop, but you can make any intermediate value visible on every bar. Three forms:",{"start":109,"end":112},{"line":110,"column":21,"offset":111},11,788,{"line":110,"column":113,"offset":114},162,949,{"start":116,"end":117},{"line":110,"column":21,"offset":111},{"line":110,"column":113,"offset":114},{"type":26,"value":27},{"type":30,"tagName":120,"properties":121,"children":122,"position":300},"ul",{},[123,124,178,179,227,228,299],{"type":26,"value":27},{"type":30,"tagName":125,"properties":126,"children":127,"position":174},"li",{},[128,167],{"type":30,"tagName":129,"properties":130,"children":131,"position":160},"strong",{},[132,140,153],{"type":26,"value":133,"position":134},"A ",{"start":135,"end":138},{"line":136,"column":38,"offset":137},13,955,{"line":136,"column":54,"offset":139},957,{"type":30,"tagName":60,"properties":141,"children":142,"position":150},{},[143],{"type":26,"value":144,"position":145},"lower",{"start":146,"end":147},{"line":136,"column":54,"offset":139},{"line":136,"column":148,"offset":149},14,964,{"start":151,"end":152},{"line":136,"column":54,"offset":139},{"line":136,"column":148,"offset":149},{"type":26,"value":154,"position":155}," line",{"start":156,"end":157},{"line":136,"column":148,"offset":149},{"line":136,"column":158,"offset":159},19,969,{"start":161,"end":164},{"line":136,"column":162,"offset":163},3,953,{"line":136,"column":165,"offset":166},21,971,{"type":26,"value":168,"position":169}," shows the shape of a value over every bar. Seeing it usually tells you immediately whether it is doing what you think: pinned at zero, flatlining, a spike where there should be none.",{"start":170,"end":171},{"line":136,"column":165,"offset":166},{"line":136,"column":172,"offset":173},204,1154,{"start":175,"end":177},{"line":136,"column":21,"offset":176},951,{"line":136,"column":172,"offset":173},{"type":26,"value":27},{"type":30,"tagName":125,"properties":180,"children":181,"position":223},{},[182,216],{"type":30,"tagName":129,"properties":183,"children":184,"position":210},{},[185,191,203],{"type":26,"value":133,"position":186},{"start":187,"end":189},{"line":148,"column":38,"offset":188},1159,{"line":148,"column":54,"offset":190},1161,{"type":30,"tagName":60,"properties":192,"children":193,"position":200},{},[194],{"type":26,"value":195,"position":196},"none",{"start":197,"end":198},{"line":148,"column":54,"offset":190},{"line":148,"column":136,"offset":199},1167,{"start":201,"end":202},{"line":148,"column":54,"offset":190},{"line":148,"column":136,"offset":199},{"type":26,"value":204,"position":205}," output",{"start":206,"end":207},{"line":148,"column":136,"offset":199},{"line":148,"column":208,"offset":209},20,1174,{"start":211,"end":213},{"line":148,"column":162,"offset":212},1157,{"line":148,"column":214,"offset":215},22,1176,{"type":26,"value":217,"position":218}," is a probe: computed and written every bar, never drawn, and readable by name at the Console prompt (step 4). It keeps the picture clean while you check a number.",{"start":219,"end":220},{"line":148,"column":214,"offset":215},{"line":148,"column":221,"offset":222},185,1339,{"start":224,"end":226},{"line":148,"column":21,"offset":225},1155,{"line":148,"column":221,"offset":222},{"type":26,"value":27},{"type":30,"tagName":125,"properties":229,"children":230,"position":295},{},[231,248,255,268,275,288],{"type":30,"tagName":129,"properties":232,"children":233,"position":243},{},[234],{"type":26,"value":235,"position":236},"The debug log",{"start":237,"end":240},{"line":238,"column":38,"offset":239},15,1344,{"line":238,"column":241,"offset":242},18,1357,{"start":244,"end":246},{"line":238,"column":162,"offset":245},1342,{"line":238,"column":208,"offset":247},1359,{"type":26,"value":249,"position":250}," prints text: a string slot named ",{"start":251,"end":252},{"line":238,"column":208,"offset":247},{"line":238,"column":253,"offset":254},54,1393,{"type":30,"tagName":60,"properties":256,"children":257,"position":265},{},[258],{"type":26,"value":259,"position":260},"debug",{"start":261,"end":262},{"line":238,"column":253,"offset":254},{"line":238,"column":263,"offset":264},61,1400,{"start":266,"end":267},{"line":238,"column":253,"offset":254},{"line":238,"column":263,"offset":264},{"type":26,"value":269,"position":270},", written in ",{"start":271,"end":272},{"line":238,"column":263,"offset":264},{"line":238,"column":273,"offset":274},74,1413,{"type":30,"tagName":60,"properties":276,"children":277,"position":285},{},[278],{"type":26,"value":279,"position":280},"onBar()",{"start":281,"end":282},{"line":238,"column":273,"offset":274},{"line":238,"column":283,"offset":284},83,1422,{"start":286,"end":287},{"line":238,"column":273,"offset":274},{"line":238,"column":283,"offset":284},{"type":26,"value":289,"position":290},", prints each bar's line in the editor's Console.",{"start":291,"end":292},{"line":238,"column":283,"offset":284},{"line":238,"column":293,"offset":294},132,1471,{"start":296,"end":298},{"line":238,"column":21,"offset":297},1340,{"line":238,"column":293,"offset":294},{"type":26,"value":27},{"start":301,"end":302},{"line":136,"column":21,"offset":176},{"line":238,"column":293,"offset":294},{"type":26,"value":27},{"type":14,"children":305},[306],{"type":30,"tagName":307,"properties":308,"children":313,"data":-1},"pre",{"class":309,"style":310,"tabindex":311,"data-sample":312},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0","faq-debug-output",[314],{"type":30,"tagName":60,"properties":315,"children":318},{"class":316},[317],"language-typescript",[319,378,379,388,389,440,441,487,488,496,497,527,528,531,532,574,575,578,579,612,613,656,657,665,666,669,670,698,699,732,733,781,782,858,859,891,892,905,906,929,930,943,944],{"type":30,"tagName":320,"properties":321,"children":323},"span",{"class":322},"line",[324,330,336,342,347,353,358,363,368,373],{"type":30,"tagName":320,"properties":325,"children":327},{"style":326},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[328],{"type":26,"value":329},"param",{"type":30,"tagName":320,"properties":331,"children":333},{"style":332},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[334],{"type":26,"value":335},"(",{"type":30,"tagName":320,"properties":337,"children":339},{"style":338},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[340],{"type":26,"value":341},"\"len\"",{"type":30,"tagName":320,"properties":343,"children":344},{"style":332},[345],{"type":26,"value":346},", ",{"type":30,"tagName":320,"properties":348,"children":350},{"style":349},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[351],{"type":26,"value":352},"14",{"type":30,"tagName":320,"properties":354,"children":355},{"style":332},[356],{"type":26,"value":357},", { min: ",{"type":30,"tagName":320,"properties":359,"children":360},{"style":349},[361],{"type":26,"value":362},"2",{"type":30,"tagName":320,"properties":364,"children":365},{"style":332},[366],{"type":26,"value":367},", max: ",{"type":30,"tagName":320,"properties":369,"children":370},{"style":349},[371],{"type":26,"value":372},"200",{"type":30,"tagName":320,"properties":374,"children":375},{"style":332},[376],{"type":26,"value":377}," });",{"type":26,"value":27},{"type":30,"tagName":320,"properties":380,"children":381},{"class":322},[382],{"type":30,"tagName":320,"properties":383,"children":385},{"style":384},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[386],{"type":26,"value":387},"// The value under suspicion, drawn in its own pane so its shape is visible on every bar.",{"type":26,"value":27},{"type":30,"tagName":320,"properties":390,"children":391},{"class":322},[392,397,401,406,411,416,421,426,431,436],{"type":30,"tagName":320,"properties":393,"children":394},{"style":326},[395],{"type":26,"value":396},"output",{"type":30,"tagName":320,"properties":398,"children":399},{"style":332},[400],{"type":26,"value":335},{"type":30,"tagName":320,"properties":402,"children":403},{"style":338},[404],{"type":26,"value":405},"\"range_pct\"",{"type":30,"tagName":320,"properties":407,"children":408},{"style":332},[409],{"type":26,"value":410},", line, lower, { unit: ",{"type":30,"tagName":320,"properties":412,"children":413},{"style":338},[414],{"type":26,"value":415},"\"%\"",{"type":30,"tagName":320,"properties":417,"children":418},{"style":332},[419],{"type":26,"value":420},", color: ",{"type":30,"tagName":320,"properties":422,"children":423},{"style":338},[424],{"type":26,"value":425},"\"#ef4444\"",{"type":30,"tagName":320,"properties":427,"children":428},{"style":332},[429],{"type":26,"value":430},", description: ",{"type":30,"tagName":320,"properties":432,"children":433},{"style":338},[434],{"type":26,"value":435},"\"high minus low as a percent of close\"",{"type":30,"tagName":320,"properties":437,"children":438},{"style":332},[439],{"type":26,"value":377},{"type":26,"value":27},{"type":30,"tagName":320,"properties":442,"children":443},{"class":322},[444,448,452,457,461,465,469,474,478,483],{"type":30,"tagName":320,"properties":445,"children":446},{"style":326},[447],{"type":26,"value":396},{"type":30,"tagName":320,"properties":449,"children":450},{"style":332},[451],{"type":26,"value":335},{"type":30,"tagName":320,"properties":453,"children":454},{"style":338},[455],{"type":26,"value":456},"\"smooth\"",{"type":30,"tagName":320,"properties":458,"children":459},{"style":332},[460],{"type":26,"value":410},{"type":30,"tagName":320,"properties":462,"children":463},{"style":338},[464],{"type":26,"value":415},{"type":30,"tagName":320,"properties":466,"children":467},{"style":332},[468],{"type":26,"value":420},{"type":30,"tagName":320,"properties":470,"children":471},{"style":338},[472],{"type":26,"value":473},"\"#f59e0b\"",{"type":30,"tagName":320,"properties":475,"children":476},{"style":332},[477],{"type":26,"value":430},{"type":30,"tagName":320,"properties":479,"children":480},{"style":338},[481],{"type":26,"value":482},"\"EMA of the range\"",{"type":30,"tagName":320,"properties":484,"children":485},{"style":332},[486],{"type":26,"value":377},{"type":26,"value":27},{"type":30,"tagName":320,"properties":489,"children":490},{"class":322},[491],{"type":30,"tagName":320,"properties":492,"children":493},{"style":384},[494],{"type":26,"value":495},"// A probe: computed every bar and readable at the Console prompt, never drawn. Delete it when done.",{"type":26,"value":27},{"type":30,"tagName":320,"properties":498,"children":499},{"class":322},[500,504,508,513,518,523],{"type":30,"tagName":320,"properties":501,"children":502},{"style":326},[503],{"type":26,"value":396},{"type":30,"tagName":320,"properties":505,"children":506},{"style":332},[507],{"type":26,"value":335},{"type":30,"tagName":320,"properties":509,"children":510},{"style":338},[511],{"type":26,"value":512},"\"raw_spread\"",{"type":30,"tagName":320,"properties":514,"children":515},{"style":332},[516],{"type":26,"value":517},", none, lower, { description: ",{"type":30,"tagName":320,"properties":519,"children":520},{"style":338},[521],{"type":26,"value":522},"\"debug: high minus low before the percent\"",{"type":30,"tagName":320,"properties":524,"children":525},{"style":332},[526],{"type":26,"value":377},{"type":26,"value":27},{"type":30,"tagName":320,"properties":529,"children":530},{"class":322},[],{"type":26,"value":27},{"type":30,"tagName":320,"properties":533,"children":534},{"class":322},[535,541,546,551,556,561,565,569],{"type":30,"tagName":320,"properties":536,"children":538},{"style":537},"--shiki-dark:#F97583;--shiki-light:#D73A49",[539],{"type":26,"value":540},"let",{"type":30,"tagName":320,"properties":542,"children":543},{"style":332},[544],{"type":26,"value":545}," ema ",{"type":30,"tagName":320,"properties":547,"children":548},{"style":537},[549],{"type":26,"value":550},"=",{"type":30,"tagName":320,"properties":552,"children":553},{"style":537},[554],{"type":26,"value":555}," new",{"type":30,"tagName":320,"properties":557,"children":558},{"style":326},[559],{"type":26,"value":560}," Ema",{"type":30,"tagName":320,"properties":562,"children":563},{"style":332},[564],{"type":26,"value":335},{"type":30,"tagName":320,"properties":566,"children":567},{"style":349},[568],{"type":26,"value":352},{"type":30,"tagName":320,"properties":570,"children":571},{"style":332},[572],{"type":26,"value":573},");",{"type":26,"value":27},{"type":30,"tagName":320,"properties":576,"children":577},{"class":322},[],{"type":26,"value":27},{"type":30,"tagName":320,"properties":580,"children":581},{"class":322},[582,587,592,597,602,607],{"type":30,"tagName":320,"properties":583,"children":584},{"style":537},[585],{"type":26,"value":586},"function",{"type":30,"tagName":320,"properties":588,"children":589},{"style":326},[590],{"type":26,"value":591}," onStart",{"type":30,"tagName":320,"properties":593,"children":594},{"style":332},[595],{"type":26,"value":596},"()",{"type":30,"tagName":320,"properties":598,"children":599},{"style":537},[600],{"type":26,"value":601},":",{"type":30,"tagName":320,"properties":603,"children":604},{"style":349},[605],{"type":26,"value":606}," void",{"type":30,"tagName":320,"properties":608,"children":609},{"style":332},[610],{"type":26,"value":611}," {",{"type":26,"value":27},{"type":30,"tagName":320,"properties":614,"children":615},{"class":322},[616,621,625,629,633,637,642,646,651],{"type":30,"tagName":320,"properties":617,"children":618},{"style":332},[619],{"type":26,"value":620},"  ema ",{"type":30,"tagName":320,"properties":622,"children":623},{"style":537},[624],{"type":26,"value":550},{"type":30,"tagName":320,"properties":626,"children":627},{"style":537},[628],{"type":26,"value":555},{"type":30,"tagName":320,"properties":630,"children":631},{"style":326},[632],{"type":26,"value":560},{"type":30,"tagName":320,"properties":634,"children":635},{"style":332},[636],{"type":26,"value":335},{"type":30,"tagName":320,"properties":638,"children":639},{"style":326},[640],{"type":26,"value":641},"i32",{"type":30,"tagName":320,"properties":643,"children":644},{"style":332},[645],{"type":26,"value":335},{"type":30,"tagName":320,"properties":647,"children":648},{"style":326},[649],{"type":26,"value":650},"p_len",{"type":30,"tagName":320,"properties":652,"children":653},{"style":332},[654],{"type":26,"value":655},"()));",{"type":26,"value":27},{"type":30,"tagName":320,"properties":658,"children":659},{"class":322},[660],{"type":30,"tagName":320,"properties":661,"children":662},{"style":332},[663],{"type":26,"value":664},"}",{"type":26,"value":27},{"type":30,"tagName":320,"properties":667,"children":668},{"class":322},[],{"type":26,"value":27},{"type":30,"tagName":320,"properties":671,"children":672},{"class":322},[673,677,682,686,690,694],{"type":30,"tagName":320,"properties":674,"children":675},{"style":537},[676],{"type":26,"value":586},{"type":30,"tagName":320,"properties":678,"children":679},{"style":326},[680],{"type":26,"value":681}," onBar",{"type":30,"tagName":320,"properties":683,"children":684},{"style":332},[685],{"type":26,"value":596},{"type":30,"tagName":320,"properties":687,"children":688},{"style":537},[689],{"type":26,"value":601},{"type":30,"tagName":320,"properties":691,"children":692},{"style":349},[693],{"type":26,"value":606},{"type":30,"tagName":320,"properties":695,"children":696},{"style":332},[697],{"type":26,"value":611},{"type":26,"value":27},{"type":30,"tagName":320,"properties":700,"children":701},{"class":322},[702,707,712,717,722,727],{"type":30,"tagName":320,"properties":703,"children":704},{"style":537},[705],{"type":26,"value":706},"  const",{"type":30,"tagName":320,"properties":708,"children":709},{"style":349},[710],{"type":26,"value":711}," close",{"type":30,"tagName":320,"properties":713,"children":714},{"style":537},[715],{"type":26,"value":716}," =",{"type":30,"tagName":320,"properties":718,"children":719},{"style":332},[720],{"type":26,"value":721}," bar.",{"type":30,"tagName":320,"properties":723,"children":724},{"style":326},[725],{"type":26,"value":726},"close",{"type":30,"tagName":320,"properties":728,"children":729},{"style":332},[730],{"type":26,"value":731},"();",{"type":26,"value":27},{"type":30,"tagName":320,"properties":734,"children":735},{"class":322},[736,740,745,749,753,758,763,768,772,777],{"type":30,"tagName":320,"properties":737,"children":738},{"style":537},[739],{"type":26,"value":706},{"type":30,"tagName":320,"properties":741,"children":742},{"style":349},[743],{"type":26,"value":744}," spread",{"type":30,"tagName":320,"properties":746,"children":747},{"style":537},[748],{"type":26,"value":716},{"type":30,"tagName":320,"properties":750,"children":751},{"style":332},[752],{"type":26,"value":721},{"type":30,"tagName":320,"properties":754,"children":755},{"style":326},[756],{"type":26,"value":757},"high",{"type":30,"tagName":320,"properties":759,"children":760},{"style":332},[761],{"type":26,"value":762},"() ",{"type":30,"tagName":320,"properties":764,"children":765},{"style":537},[766],{"type":26,"value":767},"-",{"type":30,"tagName":320,"properties":769,"children":770},{"style":332},[771],{"type":26,"value":721},{"type":30,"tagName":320,"properties":773,"children":774},{"style":326},[775],{"type":26,"value":776},"low",{"type":30,"tagName":320,"properties":778,"children":779},{"style":332},[780],{"type":26,"value":731},{"type":26,"value":27},{"type":30,"tagName":320,"properties":783,"children":784},{"class":322},[785,789,794,798,803,808,813,818,823,828,833,838,843,848,853],{"type":30,"tagName":320,"properties":786,"children":787},{"style":537},[788],{"type":26,"value":706},{"type":30,"tagName":320,"properties":790,"children":791},{"style":349},[792],{"type":26,"value":793}," rangePct",{"type":30,"tagName":320,"properties":795,"children":796},{"style":537},[797],{"type":26,"value":716},{"type":30,"tagName":320,"properties":799,"children":800},{"style":332},[801],{"type":26,"value":802}," close ",{"type":30,"tagName":320,"properties":804,"children":805},{"style":537},[806],{"type":26,"value":807},">",{"type":30,"tagName":320,"properties":809,"children":810},{"style":349},[811],{"type":26,"value":812}," 0.0",{"type":30,"tagName":320,"properties":814,"children":815},{"style":537},[816],{"type":26,"value":817}," ?",{"type":30,"tagName":320,"properties":819,"children":820},{"style":332},[821],{"type":26,"value":822}," (spread ",{"type":30,"tagName":320,"properties":824,"children":825},{"style":537},[826],{"type":26,"value":827},"/",{"type":30,"tagName":320,"properties":829,"children":830},{"style":332},[831],{"type":26,"value":832}," close) ",{"type":30,"tagName":320,"properties":834,"children":835},{"style":537},[836],{"type":26,"value":837},"*",{"type":30,"tagName":320,"properties":839,"children":840},{"style":349},[841],{"type":26,"value":842}," 100.0",{"type":30,"tagName":320,"properties":844,"children":845},{"style":537},[846],{"type":26,"value":847}," :",{"type":30,"tagName":320,"properties":849,"children":850},{"style":349},[851],{"type":26,"value":852}," NaN",{"type":30,"tagName":320,"properties":854,"children":855},{"style":332},[856],{"type":26,"value":857},";",{"type":26,"value":27},{"type":30,"tagName":320,"properties":860,"children":861},{"class":322},[862,867,872,877,882,887],{"type":30,"tagName":320,"properties":863,"children":864},{"style":537},[865],{"type":26,"value":866},"  if",{"type":30,"tagName":320,"properties":868,"children":869},{"style":332},[870],{"type":26,"value":871}," (",{"type":30,"tagName":320,"properties":873,"children":874},{"style":326},[875],{"type":26,"value":876},"isNaN",{"type":30,"tagName":320,"properties":878,"children":879},{"style":332},[880],{"type":26,"value":881},"(rangePct)) ",{"type":30,"tagName":320,"properties":883,"children":884},{"style":537},[885],{"type":26,"value":886},"return",{"type":30,"tagName":320,"properties":888,"children":889},{"style":332},[890],{"type":26,"value":857},{"type":26,"value":27},{"type":30,"tagName":320,"properties":893,"children":894},{"class":322},[895,900],{"type":30,"tagName":320,"properties":896,"children":897},{"style":326},[898],{"type":26,"value":899},"  out_range_pct",{"type":30,"tagName":320,"properties":901,"children":902},{"style":332},[903],{"type":26,"value":904},"(rangePct);",{"type":26,"value":27},{"type":30,"tagName":320,"properties":907,"children":908},{"class":322},[909,914,919,924],{"type":30,"tagName":320,"properties":910,"children":911},{"style":326},[912],{"type":26,"value":913},"  out_smooth",{"type":30,"tagName":320,"properties":915,"children":916},{"style":332},[917],{"type":26,"value":918},"(ema.",{"type":30,"tagName":320,"properties":920,"children":921},{"style":326},[922],{"type":26,"value":923},"update",{"type":30,"tagName":320,"properties":925,"children":926},{"style":332},[927],{"type":26,"value":928},"(rangePct));",{"type":26,"value":27},{"type":30,"tagName":320,"properties":931,"children":932},{"class":322},[933,938],{"type":30,"tagName":320,"properties":934,"children":935},{"style":326},[936],{"type":26,"value":937},"  out_raw_spread",{"type":30,"tagName":320,"properties":939,"children":940},{"style":332},[941],{"type":26,"value":942},"(spread);",{"type":26,"value":27},{"type":30,"tagName":320,"properties":945,"children":946},{"class":322},[947],{"type":30,"tagName":320,"properties":948,"children":949},{"style":332},[950],{"type":26,"value":664},{"type":26,"value":27},{"type":30,"tagName":31,"properties":953,"children":954,"position":1064},{},[955,964,977,984,997,1004,1017,1024,1037,1044,1057],{"type":26,"value":956,"position":957},"The debug log is the indicator's ",{"start":958,"end":961},{"line":959,"column":21,"offset":960},42,2428,{"line":959,"column":962,"offset":963},34,2461,{"type":30,"tagName":60,"properties":965,"children":966,"position":974},{},[967],{"type":26,"value":968,"position":969},"print()",{"start":970,"end":971},{"line":959,"column":962,"offset":963},{"line":959,"column":972,"offset":973},43,2470,{"start":975,"end":976},{"line":959,"column":962,"offset":963},{"line":959,"column":972,"offset":973},{"type":26,"value":978,"position":979},". Declare ",{"start":980,"end":981},{"line":959,"column":972,"offset":973},{"line":959,"column":982,"offset":983},53,2480,{"type":30,"tagName":60,"properties":985,"children":986,"position":994},{},[987],{"type":26,"value":988,"position":989},"string(\"debug\", { max_bytes })",{"start":990,"end":991},{"line":959,"column":982,"offset":983},{"line":959,"column":992,"offset":993},85,2512,{"start":995,"end":996},{"line":959,"column":982,"offset":983},{"line":959,"column":992,"offset":993},{"type":26,"value":998,"position":999},", build a line with the allocation-free ",{"start":1000,"end":1001},{"line":959,"column":992,"offset":993},{"line":959,"column":1002,"offset":1003},125,2552,{"type":30,"tagName":60,"properties":1005,"children":1006,"position":1014},{},[1007],{"type":26,"value":1008,"position":1009},"sb_*",{"start":1010,"end":1011},{"line":959,"column":1002,"offset":1003},{"line":959,"column":1012,"offset":1013},131,2558,{"start":1015,"end":1016},{"line":959,"column":1002,"offset":1003},{"line":959,"column":1012,"offset":1013},{"type":26,"value":1018,"position":1019}," builder, and send it with ",{"start":1020,"end":1021},{"line":959,"column":1012,"offset":1013},{"line":959,"column":1022,"offset":1023},158,2585,{"type":30,"tagName":60,"properties":1025,"children":1026,"position":1034},{},[1027],{"type":26,"value":1028,"position":1029},"str_debug_sb()",{"start":1030,"end":1031},{"line":959,"column":1022,"offset":1023},{"line":959,"column":1032,"offset":1033},174,2601,{"start":1035,"end":1036},{"line":959,"column":1022,"offset":1023},{"line":959,"column":1032,"offset":1033},{"type":26,"value":1038,"position":1039}," (or send a finished string with ",{"start":1040,"end":1041},{"line":959,"column":1032,"offset":1033},{"line":959,"column":1042,"offset":1043},207,2634,{"type":30,"tagName":60,"properties":1045,"children":1046,"position":1054},{},[1047],{"type":26,"value":1048,"position":1049},"str_debug(text)",{"start":1050,"end":1051},{"line":959,"column":1042,"offset":1043},{"line":959,"column":1052,"offset":1053},224,2651,{"start":1055,"end":1056},{"line":959,"column":1042,"offset":1043},{"line":959,"column":1052,"offset":1053},{"type":26,"value":1058,"position":1059},"). Write it only on the bars worth reading: a bar that writes nothing prints nothing.",{"start":1060,"end":1061},{"line":959,"column":1052,"offset":1053},{"line":959,"column":1062,"offset":1063},309,2736,{"start":1065,"end":1066},{"line":959,"column":21,"offset":960},{"line":959,"column":1062,"offset":1063},{"type":26,"value":27},{"type":14,"children":1069},[1070],{"type":30,"tagName":307,"properties":1071,"children":1073,"data":-1},{"class":309,"style":310,"tabindex":311,"data-sample":1072},"faq-debug-log",[1074],{"type":30,"tagName":60,"properties":1075,"children":1077},{"class":1076},[317],[1078,1131,1132,1154,1155,1185,1186,1194,1195,1226,1227,1230,1231,1268,1269,1272,1273,1300,1301,1341,1342,1349,1350,1353,1354,1381,1382,1411,1412,1442,1443,1495,1496,1526,1527,1540,1541,1549,1550,1576,1577,1589,1590,1611,1612,1633,1634,1654,1655,1675,1676,1688,1689,1697,1698],{"type":30,"tagName":320,"properties":1079,"children":1080},{"class":322},[1081,1085,1089,1093,1097,1102,1106,1110,1114,1118,1122,1127],{"type":30,"tagName":320,"properties":1082,"children":1083},{"style":326},[1084],{"type":26,"value":329},{"type":30,"tagName":320,"properties":1086,"children":1087},{"style":332},[1088],{"type":26,"value":335},{"type":30,"tagName":320,"properties":1090,"children":1091},{"style":338},[1092],{"type":26,"value":341},{"type":30,"tagName":320,"properties":1094,"children":1095},{"style":332},[1096],{"type":26,"value":346},{"type":30,"tagName":320,"properties":1098,"children":1099},{"style":349},[1100],{"type":26,"value":1101},"20",{"type":30,"tagName":320,"properties":1103,"children":1104},{"style":332},[1105],{"type":26,"value":357},{"type":30,"tagName":320,"properties":1107,"children":1108},{"style":349},[1109],{"type":26,"value":362},{"type":30,"tagName":320,"properties":1111,"children":1112},{"style":332},[1113],{"type":26,"value":367},{"type":30,"tagName":320,"properties":1115,"children":1116},{"style":349},[1117],{"type":26,"value":372},{"type":30,"tagName":320,"properties":1119,"children":1120},{"style":332},[1121],{"type":26,"value":430},{"type":30,"tagName":320,"properties":1123,"children":1124},{"style":338},[1125],{"type":26,"value":1126},"\"Bars in the volume average\"",{"type":30,"tagName":320,"properties":1128,"children":1129},{"style":332},[1130],{"type":26,"value":377},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1133,"children":1134},{"class":322},[1135,1140,1144,1149],{"type":30,"tagName":320,"properties":1136,"children":1137},{"style":326},[1138],{"type":26,"value":1139},"input",{"type":30,"tagName":320,"properties":1141,"children":1142},{"style":332},[1143],{"type":26,"value":335},{"type":30,"tagName":320,"properties":1145,"children":1146},{"style":338},[1147],{"type":26,"value":1148},"\"volume\"",{"type":30,"tagName":320,"properties":1150,"children":1151},{"style":332},[1152],{"type":26,"value":1153},", ohlcv.volume);",{"type":26,"value":27},{"type":30,"tagName":320,"properties":1156,"children":1157},{"class":322},[1158,1162,1166,1171,1176,1181],{"type":30,"tagName":320,"properties":1159,"children":1160},{"style":326},[1161],{"type":26,"value":396},{"type":30,"tagName":320,"properties":1163,"children":1164},{"style":332},[1165],{"type":26,"value":335},{"type":30,"tagName":320,"properties":1167,"children":1168},{"style":338},[1169],{"type":26,"value":1170},"\"ratio\"",{"type":30,"tagName":320,"properties":1172,"children":1173},{"style":332},[1174],{"type":26,"value":1175},", line, lower, { description: ",{"type":30,"tagName":320,"properties":1177,"children":1178},{"style":338},[1179],{"type":26,"value":1180},"\"Volume over its average\"",{"type":30,"tagName":320,"properties":1182,"children":1183},{"style":332},[1184],{"type":26,"value":377},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1187,"children":1188},{"class":322},[1189],{"type":30,"tagName":320,"properties":1190,"children":1191},{"style":384},[1192],{"type":26,"value":1193},"// The debug log: a string slot named exactly debug. Each non-empty line prints in the editor's Console.",{"type":26,"value":27},{"type":30,"tagName":320,"properties":1196,"children":1197},{"class":322},[1198,1203,1207,1212,1217,1222],{"type":30,"tagName":320,"properties":1199,"children":1200},{"style":326},[1201],{"type":26,"value":1202},"string",{"type":30,"tagName":320,"properties":1204,"children":1205},{"style":332},[1206],{"type":26,"value":335},{"type":30,"tagName":320,"properties":1208,"children":1209},{"style":338},[1210],{"type":26,"value":1211},"\"debug\"",{"type":30,"tagName":320,"properties":1213,"children":1214},{"style":332},[1215],{"type":26,"value":1216},", { max_bytes: ",{"type":30,"tagName":320,"properties":1218,"children":1219},{"style":349},[1220],{"type":26,"value":1221},"128",{"type":30,"tagName":320,"properties":1223,"children":1224},{"style":332},[1225],{"type":26,"value":377},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1228,"children":1229},{"class":322},[],{"type":26,"value":27},{"type":30,"tagName":320,"properties":1232,"children":1233},{"class":322},[1234,1238,1243,1247,1251,1256,1260,1264],{"type":30,"tagName":320,"properties":1235,"children":1236},{"style":537},[1237],{"type":26,"value":540},{"type":30,"tagName":320,"properties":1239,"children":1240},{"style":332},[1241],{"type":26,"value":1242}," average ",{"type":30,"tagName":320,"properties":1244,"children":1245},{"style":537},[1246],{"type":26,"value":550},{"type":30,"tagName":320,"properties":1248,"children":1249},{"style":537},[1250],{"type":26,"value":555},{"type":30,"tagName":320,"properties":1252,"children":1253},{"style":326},[1254],{"type":26,"value":1255}," Sma",{"type":30,"tagName":320,"properties":1257,"children":1258},{"style":332},[1259],{"type":26,"value":335},{"type":30,"tagName":320,"properties":1261,"children":1262},{"style":349},[1263],{"type":26,"value":1101},{"type":30,"tagName":320,"properties":1265,"children":1266},{"style":332},[1267],{"type":26,"value":573},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1270,"children":1271},{"class":322},[],{"type":26,"value":27},{"type":30,"tagName":320,"properties":1274,"children":1275},{"class":322},[1276,1280,1284,1288,1292,1296],{"type":30,"tagName":320,"properties":1277,"children":1278},{"style":537},[1279],{"type":26,"value":586},{"type":30,"tagName":320,"properties":1281,"children":1282},{"style":326},[1283],{"type":26,"value":591},{"type":30,"tagName":320,"properties":1285,"children":1286},{"style":332},[1287],{"type":26,"value":596},{"type":30,"tagName":320,"properties":1289,"children":1290},{"style":537},[1291],{"type":26,"value":601},{"type":30,"tagName":320,"properties":1293,"children":1294},{"style":349},[1295],{"type":26,"value":606},{"type":30,"tagName":320,"properties":1297,"children":1298},{"style":332},[1299],{"type":26,"value":611},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1302,"children":1303},{"class":322},[1304,1309,1313,1317,1321,1325,1329,1333,1337],{"type":30,"tagName":320,"properties":1305,"children":1306},{"style":332},[1307],{"type":26,"value":1308},"  average ",{"type":30,"tagName":320,"properties":1310,"children":1311},{"style":537},[1312],{"type":26,"value":550},{"type":30,"tagName":320,"properties":1314,"children":1315},{"style":537},[1316],{"type":26,"value":555},{"type":30,"tagName":320,"properties":1318,"children":1319},{"style":326},[1320],{"type":26,"value":1255},{"type":30,"tagName":320,"properties":1322,"children":1323},{"style":332},[1324],{"type":26,"value":335},{"type":30,"tagName":320,"properties":1326,"children":1327},{"style":326},[1328],{"type":26,"value":641},{"type":30,"tagName":320,"properties":1330,"children":1331},{"style":332},[1332],{"type":26,"value":335},{"type":30,"tagName":320,"properties":1334,"children":1335},{"style":326},[1336],{"type":26,"value":650},{"type":30,"tagName":320,"properties":1338,"children":1339},{"style":332},[1340],{"type":26,"value":655},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1343,"children":1344},{"class":322},[1345],{"type":30,"tagName":320,"properties":1346,"children":1347},{"style":332},[1348],{"type":26,"value":664},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1351,"children":1352},{"class":322},[],{"type":26,"value":27},{"type":30,"tagName":320,"properties":1355,"children":1356},{"class":322},[1357,1361,1365,1369,1373,1377],{"type":30,"tagName":320,"properties":1358,"children":1359},{"style":537},[1360],{"type":26,"value":586},{"type":30,"tagName":320,"properties":1362,"children":1363},{"style":326},[1364],{"type":26,"value":681},{"type":30,"tagName":320,"properties":1366,"children":1367},{"style":332},[1368],{"type":26,"value":596},{"type":30,"tagName":320,"properties":1370,"children":1371},{"style":537},[1372],{"type":26,"value":601},{"type":30,"tagName":320,"properties":1374,"children":1375},{"style":349},[1376],{"type":26,"value":606},{"type":30,"tagName":320,"properties":1378,"children":1379},{"style":332},[1380],{"type":26,"value":611},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1383,"children":1384},{"class":322},[1385,1389,1394,1398,1402,1407],{"type":30,"tagName":320,"properties":1386,"children":1387},{"style":537},[1388],{"type":26,"value":706},{"type":30,"tagName":320,"properties":1390,"children":1391},{"style":349},[1392],{"type":26,"value":1393}," volume",{"type":30,"tagName":320,"properties":1395,"children":1396},{"style":537},[1397],{"type":26,"value":716},{"type":30,"tagName":320,"properties":1399,"children":1400},{"style":332},[1401],{"type":26,"value":721},{"type":30,"tagName":320,"properties":1403,"children":1404},{"style":326},[1405],{"type":26,"value":1406},"volume",{"type":30,"tagName":320,"properties":1408,"children":1409},{"style":332},[1410],{"type":26,"value":731},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1413,"children":1414},{"class":322},[1415,1419,1424,1428,1433,1437],{"type":30,"tagName":320,"properties":1416,"children":1417},{"style":537},[1418],{"type":26,"value":706},{"type":30,"tagName":320,"properties":1420,"children":1421},{"style":349},[1422],{"type":26,"value":1423}," mean",{"type":30,"tagName":320,"properties":1425,"children":1426},{"style":537},[1427],{"type":26,"value":716},{"type":30,"tagName":320,"properties":1429,"children":1430},{"style":332},[1431],{"type":26,"value":1432}," average.",{"type":30,"tagName":320,"properties":1434,"children":1435},{"style":326},[1436],{"type":26,"value":923},{"type":30,"tagName":320,"properties":1438,"children":1439},{"style":332},[1440],{"type":26,"value":1441},"(volume);",{"type":26,"value":27},{"type":30,"tagName":320,"properties":1444,"children":1445},{"class":322},[1446,1450,1454,1458,1463,1468,1473,1478,1482,1487,1491],{"type":30,"tagName":320,"properties":1447,"children":1448},{"style":537},[1449],{"type":26,"value":866},{"type":30,"tagName":320,"properties":1451,"children":1452},{"style":332},[1453],{"type":26,"value":871},{"type":30,"tagName":320,"properties":1455,"children":1456},{"style":326},[1457],{"type":26,"value":876},{"type":30,"tagName":320,"properties":1459,"children":1460},{"style":332},[1461],{"type":26,"value":1462},"(mean) ",{"type":30,"tagName":320,"properties":1464,"children":1465},{"style":537},[1466],{"type":26,"value":1467},"||",{"type":30,"tagName":320,"properties":1469,"children":1470},{"style":332},[1471],{"type":26,"value":1472}," mean ",{"type":30,"tagName":320,"properties":1474,"children":1475},{"style":537},[1476],{"type":26,"value":1477},"\u003C=",{"type":30,"tagName":320,"properties":1479,"children":1480},{"style":349},[1481],{"type":26,"value":812},{"type":30,"tagName":320,"properties":1483,"children":1484},{"style":332},[1485],{"type":26,"value":1486},") ",{"type":30,"tagName":320,"properties":1488,"children":1489},{"style":537},[1490],{"type":26,"value":886},{"type":30,"tagName":320,"properties":1492,"children":1493},{"style":332},[1494],{"type":26,"value":857},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1497,"children":1498},{"class":322},[1499,1503,1508,1512,1517,1521],{"type":30,"tagName":320,"properties":1500,"children":1501},{"style":537},[1502],{"type":26,"value":706},{"type":30,"tagName":320,"properties":1504,"children":1505},{"style":349},[1506],{"type":26,"value":1507}," ratio",{"type":30,"tagName":320,"properties":1509,"children":1510},{"style":537},[1511],{"type":26,"value":716},{"type":30,"tagName":320,"properties":1513,"children":1514},{"style":332},[1515],{"type":26,"value":1516}," volume ",{"type":30,"tagName":320,"properties":1518,"children":1519},{"style":537},[1520],{"type":26,"value":827},{"type":30,"tagName":320,"properties":1522,"children":1523},{"style":332},[1524],{"type":26,"value":1525}," mean;",{"type":26,"value":27},{"type":30,"tagName":320,"properties":1528,"children":1529},{"class":322},[1530,1535],{"type":30,"tagName":320,"properties":1531,"children":1532},{"style":326},[1533],{"type":26,"value":1534},"  out_ratio",{"type":30,"tagName":320,"properties":1536,"children":1537},{"style":332},[1538],{"type":26,"value":1539},"(ratio);",{"type":26,"value":27},{"type":30,"tagName":320,"properties":1542,"children":1543},{"class":322},[1544],{"type":30,"tagName":320,"properties":1545,"children":1546},{"style":384},[1547],{"type":26,"value":1548},"  // Log only the bars worth reading. The builder allocates nothing, so logging never grows memory.",{"type":26,"value":27},{"type":30,"tagName":320,"properties":1551,"children":1552},{"class":322},[1553,1557,1562,1566,1571],{"type":30,"tagName":320,"properties":1554,"children":1555},{"style":537},[1556],{"type":26,"value":866},{"type":30,"tagName":320,"properties":1558,"children":1559},{"style":332},[1560],{"type":26,"value":1561}," (ratio ",{"type":30,"tagName":320,"properties":1563,"children":1564},{"style":537},[1565],{"type":26,"value":807},{"type":30,"tagName":320,"properties":1567,"children":1568},{"style":349},[1569],{"type":26,"value":1570}," 3.0",{"type":30,"tagName":320,"properties":1572,"children":1573},{"style":332},[1574],{"type":26,"value":1575},") {",{"type":26,"value":27},{"type":30,"tagName":320,"properties":1578,"children":1579},{"class":322},[1580,1585],{"type":30,"tagName":320,"properties":1581,"children":1582},{"style":326},[1583],{"type":26,"value":1584},"    sb_clear",{"type":30,"tagName":320,"properties":1586,"children":1587},{"style":332},[1588],{"type":26,"value":731},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1591,"children":1592},{"class":322},[1593,1598,1602,1607],{"type":30,"tagName":320,"properties":1594,"children":1595},{"style":326},[1596],{"type":26,"value":1597},"    sb_text",{"type":30,"tagName":320,"properties":1599,"children":1600},{"style":332},[1601],{"type":26,"value":335},{"type":30,"tagName":320,"properties":1603,"children":1604},{"style":338},[1605],{"type":26,"value":1606},"\"spike ratio=\"",{"type":30,"tagName":320,"properties":1608,"children":1609},{"style":332},[1610],{"type":26,"value":573},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1613,"children":1614},{"class":322},[1615,1620,1625,1629],{"type":30,"tagName":320,"properties":1616,"children":1617},{"style":326},[1618],{"type":26,"value":1619},"    sb_f64",{"type":30,"tagName":320,"properties":1621,"children":1622},{"style":332},[1623],{"type":26,"value":1624},"(ratio, ",{"type":30,"tagName":320,"properties":1626,"children":1627},{"style":349},[1628],{"type":26,"value":362},{"type":30,"tagName":320,"properties":1630,"children":1631},{"style":332},[1632],{"type":26,"value":573},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1635,"children":1636},{"class":322},[1637,1641,1645,1650],{"type":30,"tagName":320,"properties":1638,"children":1639},{"style":326},[1640],{"type":26,"value":1597},{"type":30,"tagName":320,"properties":1642,"children":1643},{"style":332},[1644],{"type":26,"value":335},{"type":30,"tagName":320,"properties":1646,"children":1647},{"style":338},[1648],{"type":26,"value":1649},"\" volume=\"",{"type":30,"tagName":320,"properties":1651,"children":1652},{"style":332},[1653],{"type":26,"value":573},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1656,"children":1657},{"class":322},[1658,1662,1667,1671],{"type":30,"tagName":320,"properties":1659,"children":1660},{"style":326},[1661],{"type":26,"value":1619},{"type":30,"tagName":320,"properties":1663,"children":1664},{"style":332},[1665],{"type":26,"value":1666},"(volume, ",{"type":30,"tagName":320,"properties":1668,"children":1669},{"style":349},[1670],{"type":26,"value":311},{"type":30,"tagName":320,"properties":1672,"children":1673},{"style":332},[1674],{"type":26,"value":573},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1677,"children":1678},{"class":322},[1679,1684],{"type":30,"tagName":320,"properties":1680,"children":1681},{"style":326},[1682],{"type":26,"value":1683},"    str_debug_sb",{"type":30,"tagName":320,"properties":1685,"children":1686},{"style":332},[1687],{"type":26,"value":731},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1690,"children":1691},{"class":322},[1692],{"type":30,"tagName":320,"properties":1693,"children":1694},{"style":332},[1695],{"type":26,"value":1696},"  }",{"type":26,"value":27},{"type":30,"tagName":320,"properties":1699,"children":1700},{"class":322},[1701],{"type":30,"tagName":320,"properties":1702,"children":1703},{"style":332},[1704],{"type":26,"value":664},{"type":26,"value":27},{"type":30,"tagName":31,"properties":1707,"children":1708,"position":1738},{},[1709,1717,1732],{"type":26,"value":1710,"position":1711},"After a ",{"start":1712,"end":1715},{"line":1713,"column":21,"offset":1714},75,3652,{"line":1713,"column":92,"offset":1716},3660,{"type":30,"tagName":129,"properties":1718,"children":1719,"position":1727},{},[1720],{"type":26,"value":1721,"position":1722},"Run",{"start":1723,"end":1725},{"line":1713,"column":110,"offset":1724},3662,{"line":1713,"column":148,"offset":1726},3665,{"start":1728,"end":1729},{"line":1713,"column":92,"offset":1716},{"line":1713,"column":1730,"offset":1731},16,3667,{"type":26,"value":1733,"position":1734},", the Console prints one line per bar whose slot is not empty, oldest bar first, after the bar's time in ISO 8601 UTC:",{"start":1735,"end":1736},{"line":1713,"column":1730,"offset":1731},{"line":1713,"column":39,"offset":1737},3785,{"start":1739,"end":1740},{"line":1713,"column":21,"offset":1714},{"line":1713,"column":39,"offset":1737},{"type":26,"value":27},{"type":14,"children":1743},[1744],{"type":30,"tagName":307,"properties":1745,"children":1746,"data":-1},{"class":309,"style":310,"tabindex":311},[1747],{"type":30,"tagName":60,"properties":1748,"children":1751},{"class":1749},[1750],"language-text",[1752,1760,1761],{"type":30,"tagName":320,"properties":1753,"children":1754},{"class":322},[1755],{"type":30,"tagName":320,"properties":1756,"children":1757},{},[1758],{"type":26,"value":1759},"2026-09-30T14:00:00.000Z spike ratio=3.41 volume=1824",{"type":26,"value":27},{"type":30,"tagName":320,"properties":1762,"children":1763},{"class":322},[1764],{"type":30,"tagName":320,"properties":1765,"children":1766},{},[1767],{"type":26,"value":1768},"2026-09-30T19:00:00.000Z spike ratio=4.07 volume=2210",{"type":26,"value":27},{"type":30,"tagName":31,"properties":1771,"children":1772,"position":1841},{},[1773,1782,1794,1801,1814,1821,1834],{"type":26,"value":1774,"position":1775},"Every run rebuilds the lines, so they always belong to the run on screen, and the Console keeps the newest 400 (\"… N earlier print lines truncated to keep the console fast\"). The lines print before the chart draws, so they are there even when drawing fails. Build the text with ",{"start":1776,"end":1779},{"line":1777,"column":21,"offset":1778},82,3908,{"line":1777,"column":1780,"offset":1781},279,4186,{"type":30,"tagName":60,"properties":1783,"children":1784,"position":1791},{},[1785],{"type":26,"value":1008,"position":1786},{"start":1787,"end":1788},{"line":1777,"column":1780,"offset":1781},{"line":1777,"column":1789,"offset":1790},285,4192,{"start":1792,"end":1793},{"line":1777,"column":1780,"offset":1781},{"line":1777,"column":1789,"offset":1790},{"type":26,"value":1795,"position":1796},", not with ",{"start":1797,"end":1798},{"line":1777,"column":1789,"offset":1790},{"line":1777,"column":1799,"offset":1800},296,4203,{"type":30,"tagName":60,"properties":1802,"children":1803,"position":1811},{},[1804],{"type":26,"value":1805,"position":1806},"+",{"start":1807,"end":1808},{"line":1777,"column":1799,"offset":1800},{"line":1777,"column":1809,"offset":1810},299,4206,{"start":1812,"end":1813},{"line":1777,"column":1799,"offset":1800},{"line":1777,"column":1809,"offset":1810},{"type":26,"value":1815,"position":1816}," or ",{"start":1817,"end":1818},{"line":1777,"column":1809,"offset":1810},{"line":1777,"column":1819,"offset":1820},303,4210,{"type":30,"tagName":60,"properties":1822,"children":1823,"position":1831},{},[1824],{"type":26,"value":1825,"position":1826},"toString()",{"start":1827,"end":1828},{"line":1777,"column":1819,"offset":1820},{"line":1777,"column":1829,"offset":1830},315,4222,{"start":1832,"end":1833},{"line":1777,"column":1819,"offset":1820},{"line":1777,"column":1829,"offset":1830},{"type":26,"value":1835,"position":1836},": text built that way allocates on every bar, and memory that grows once the bars start stops the run.",{"start":1837,"end":1838},{"line":1777,"column":1829,"offset":1830},{"line":1777,"column":1839,"offset":1840},417,4324,{"start":1842,"end":1843},{"line":1777,"column":21,"offset":1778},{"line":1777,"column":1839,"offset":1840},{"type":26,"value":27},{"type":30,"tagName":31,"properties":1846,"children":1847,"position":1900},{},[1848,1857,1870,1877,1893],{"type":26,"value":1849,"position":1850},"When you need the exact number on the chart rather than in the Console, a string slot and a ",{"start":1851,"end":1854},{"line":1852,"column":21,"offset":1853},84,4326,{"line":1852,"column":1855,"offset":1856},93,4418,{"type":30,"tagName":60,"properties":1858,"children":1859,"position":1867},{},[1860],{"type":26,"value":1861,"position":1862},"render.label",{"start":1863,"end":1864},{"line":1852,"column":1855,"offset":1856},{"line":1852,"column":1865,"offset":1866},107,4432,{"start":1868,"end":1869},{"line":1852,"column":1855,"offset":1856},{"line":1852,"column":1865,"offset":1866},{"type":26,"value":1871,"position":1872}," print it on the newest bar. It switches the file to the second runtime contract, which ",{"start":1873,"end":1874},{"line":1852,"column":1865,"offset":1866},{"line":1852,"column":1875,"offset":1876},195,4520,{"type":30,"tagName":129,"properties":1878,"children":1879,"position":1888},{},[1880],{"type":26,"value":1721,"position":1881},{"start":1882,"end":1885},{"line":1852,"column":1883,"offset":1884},197,4522,{"line":1852,"column":1886,"offset":1887},200,4525,{"start":1889,"end":1890},{"line":1852,"column":1875,"offset":1876},{"line":1852,"column":1891,"offset":1892},202,4527,{"type":26,"value":1894,"position":1895}," derives for you:",{"start":1896,"end":1897},{"line":1852,"column":1891,"offset":1892},{"line":1852,"column":1898,"offset":1899},219,4544,{"start":1901,"end":1902},{"line":1852,"column":21,"offset":1853},{"line":1852,"column":1898,"offset":1899},{"type":26,"value":27},{"type":14,"children":1905},[1906],{"type":30,"tagName":307,"properties":1907,"children":1909,"data":-1},{"class":309,"style":310,"tabindex":311,"data-sample":1908},"faq-debug-readout",[1910],{"type":30,"tagName":60,"properties":1911,"children":1913},{"class":1912},[317],[1914,1949,1950,1979,1980,2009,2010,2018,2019,2090,2091,2094,2095,2122,2123,2150,2151,2240,2241,2268,2269,2280,2281,2304,2305,2317,2318,2339,2340,2361,2362,2374,2375],{"type":30,"tagName":320,"properties":1915,"children":1916},{"class":322},[1917,1921,1925,1929,1933,1937,1941,1945],{"type":30,"tagName":320,"properties":1918,"children":1919},{"style":326},[1920],{"type":26,"value":396},{"type":30,"tagName":320,"properties":1922,"children":1923},{"style":332},[1924],{"type":26,"value":335},{"type":30,"tagName":320,"properties":1926,"children":1927},{"style":338},[1928],{"type":26,"value":405},{"type":30,"tagName":320,"properties":1930,"children":1931},{"style":332},[1932],{"type":26,"value":410},{"type":30,"tagName":320,"properties":1934,"children":1935},{"style":338},[1936],{"type":26,"value":415},{"type":30,"tagName":320,"properties":1938,"children":1939},{"style":332},[1940],{"type":26,"value":420},{"type":30,"tagName":320,"properties":1942,"children":1943},{"style":338},[1944],{"type":26,"value":425},{"type":30,"tagName":320,"properties":1946,"children":1947},{"style":332},[1948],{"type":26,"value":377},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1951,"children":1952},{"class":322},[1953,1957,1961,1966,1970,1975],{"type":30,"tagName":320,"properties":1954,"children":1955},{"style":326},[1956],{"type":26,"value":396},{"type":30,"tagName":320,"properties":1958,"children":1959},{"style":332},[1960],{"type":26,"value":335},{"type":30,"tagName":320,"properties":1962,"children":1963},{"style":338},[1964],{"type":26,"value":1965},"\"tag_x\"",{"type":30,"tagName":320,"properties":1967,"children":1968},{"style":332},[1969],{"type":26,"value":517},{"type":30,"tagName":320,"properties":1971,"children":1972},{"style":338},[1973],{"type":26,"value":1974},"\"This bar's open time, the label's x\"",{"type":30,"tagName":320,"properties":1976,"children":1977},{"style":332},[1978],{"type":26,"value":377},{"type":26,"value":27},{"type":30,"tagName":320,"properties":1981,"children":1982},{"class":322},[1983,1987,1991,1996,2000,2005],{"type":30,"tagName":320,"properties":1984,"children":1985},{"style":326},[1986],{"type":26,"value":1202},{"type":30,"tagName":320,"properties":1988,"children":1989},{"style":332},[1990],{"type":26,"value":335},{"type":30,"tagName":320,"properties":1992,"children":1993},{"style":338},[1994],{"type":26,"value":1995},"\"readout\"",{"type":30,"tagName":320,"properties":1997,"children":1998},{"style":332},[1999],{"type":26,"value":1216},{"type":30,"tagName":320,"properties":2001,"children":2002},{"style":349},[2003],{"type":26,"value":2004},"32",{"type":30,"tagName":320,"properties":2006,"children":2007},{"style":332},[2008],{"type":26,"value":377},{"type":26,"value":27},{"type":30,"tagName":320,"properties":2011,"children":2012},{"class":322},[2013],{"type":30,"tagName":320,"properties":2014,"children":2015},{"style":384},[2016],{"type":26,"value":2017},"// One label, on the newest bar that wrote the slot: the exact number, read off the chart.",{"type":26,"value":27},{"type":30,"tagName":320,"properties":2020,"children":2021},{"class":322},[2022,2027,2032,2036,2041,2046,2050,2055,2059,2064,2068,2072,2076,2081,2086],{"type":30,"tagName":320,"properties":2023,"children":2024},{"style":332},[2025],{"type":26,"value":2026},"render.",{"type":30,"tagName":320,"properties":2028,"children":2029},{"style":326},[2030],{"type":26,"value":2031},"label",{"type":30,"tagName":320,"properties":2033,"children":2034},{"style":332},[2035],{"type":26,"value":335},{"type":30,"tagName":320,"properties":2037,"children":2038},{"style":338},[2039],{"type":26,"value":2040},"\"range_readout\"",{"type":30,"tagName":320,"properties":2042,"children":2043},{"style":332},[2044],{"type":26,"value":2045},", { x: ",{"type":30,"tagName":320,"properties":2047,"children":2048},{"style":338},[2049],{"type":26,"value":1965},{"type":30,"tagName":320,"properties":2051,"children":2052},{"style":332},[2053],{"type":26,"value":2054},", y: ",{"type":30,"tagName":320,"properties":2056,"children":2057},{"style":338},[2058],{"type":26,"value":405},{"type":30,"tagName":320,"properties":2060,"children":2061},{"style":332},[2062],{"type":26,"value":2063},", text: ",{"type":30,"tagName":320,"properties":2065,"children":2066},{"style":338},[2067],{"type":26,"value":1995},{"type":30,"tagName":320,"properties":2069,"children":2070},{"style":332},[2071],{"type":26,"value":420},{"type":30,"tagName":320,"properties":2073,"children":2074},{"style":338},[2075],{"type":26,"value":473},{"type":30,"tagName":320,"properties":2077,"children":2078},{"style":332},[2079],{"type":26,"value":2080},", size: ",{"type":30,"tagName":320,"properties":2082,"children":2083},{"style":349},[2084],{"type":26,"value":2085},"12",{"type":30,"tagName":320,"properties":2087,"children":2088},{"style":332},[2089],{"type":26,"value":377},{"type":26,"value":27},{"type":30,"tagName":320,"properties":2092,"children":2093},{"class":322},[],{"type":26,"value":27},{"type":30,"tagName":320,"properties":2096,"children":2097},{"class":322},[2098,2102,2106,2110,2114,2118],{"type":30,"tagName":320,"properties":2099,"children":2100},{"style":537},[2101],{"type":26,"value":586},{"type":30,"tagName":320,"properties":2103,"children":2104},{"style":326},[2105],{"type":26,"value":681},{"type":30,"tagName":320,"properties":2107,"children":2108},{"style":332},[2109],{"type":26,"value":596},{"type":30,"tagName":320,"properties":2111,"children":2112},{"style":537},[2113],{"type":26,"value":601},{"type":30,"tagName":320,"properties":2115,"children":2116},{"style":349},[2117],{"type":26,"value":606},{"type":30,"tagName":320,"properties":2119,"children":2120},{"style":332},[2121],{"type":26,"value":611},{"type":26,"value":27},{"type":30,"tagName":320,"properties":2124,"children":2125},{"class":322},[2126,2130,2134,2138,2142,2146],{"type":30,"tagName":320,"properties":2127,"children":2128},{"style":537},[2129],{"type":26,"value":706},{"type":30,"tagName":320,"properties":2131,"children":2132},{"style":349},[2133],{"type":26,"value":711},{"type":30,"tagName":320,"properties":2135,"children":2136},{"style":537},[2137],{"type":26,"value":716},{"type":30,"tagName":320,"properties":2139,"children":2140},{"style":332},[2141],{"type":26,"value":721},{"type":30,"tagName":320,"properties":2143,"children":2144},{"style":326},[2145],{"type":26,"value":726},{"type":30,"tagName":320,"properties":2147,"children":2148},{"style":332},[2149],{"type":26,"value":731},{"type":26,"value":27},{"type":30,"tagName":320,"properties":2152,"children":2153},{"class":322},[2154,2158,2162,2166,2170,2174,2178,2182,2187,2191,2195,2199,2203,2207,2212,2216,2220,2224,2228,2232,2236],{"type":30,"tagName":320,"properties":2155,"children":2156},{"style":537},[2157],{"type":26,"value":706},{"type":30,"tagName":320,"properties":2159,"children":2160},{"style":349},[2161],{"type":26,"value":793},{"type":30,"tagName":320,"properties":2163,"children":2164},{"style":537},[2165],{"type":26,"value":716},{"type":30,"tagName":320,"properties":2167,"children":2168},{"style":332},[2169],{"type":26,"value":802},{"type":30,"tagName":320,"properties":2171,"children":2172},{"style":537},[2173],{"type":26,"value":807},{"type":30,"tagName":320,"properties":2175,"children":2176},{"style":349},[2177],{"type":26,"value":812},{"type":30,"tagName":320,"properties":2179,"children":2180},{"style":537},[2181],{"type":26,"value":817},{"type":30,"tagName":320,"properties":2183,"children":2184},{"style":332},[2185],{"type":26,"value":2186}," ((bar.",{"type":30,"tagName":320,"properties":2188,"children":2189},{"style":326},[2190],{"type":26,"value":757},{"type":30,"tagName":320,"properties":2192,"children":2193},{"style":332},[2194],{"type":26,"value":762},{"type":30,"tagName":320,"properties":2196,"children":2197},{"style":537},[2198],{"type":26,"value":767},{"type":30,"tagName":320,"properties":2200,"children":2201},{"style":332},[2202],{"type":26,"value":721},{"type":30,"tagName":320,"properties":2204,"children":2205},{"style":326},[2206],{"type":26,"value":776},{"type":30,"tagName":320,"properties":2208,"children":2209},{"style":332},[2210],{"type":26,"value":2211},"()) ",{"type":30,"tagName":320,"properties":2213,"children":2214},{"style":537},[2215],{"type":26,"value":827},{"type":30,"tagName":320,"properties":2217,"children":2218},{"style":332},[2219],{"type":26,"value":832},{"type":30,"tagName":320,"properties":2221,"children":2222},{"style":537},[2223],{"type":26,"value":837},{"type":30,"tagName":320,"properties":2225,"children":2226},{"style":349},[2227],{"type":26,"value":842},{"type":30,"tagName":320,"properties":2229,"children":2230},{"style":537},[2231],{"type":26,"value":847},{"type":30,"tagName":320,"properties":2233,"children":2234},{"style":349},[2235],{"type":26,"value":852},{"type":30,"tagName":320,"properties":2237,"children":2238},{"style":332},[2239],{"type":26,"value":857},{"type":26,"value":27},{"type":30,"tagName":320,"properties":2242,"children":2243},{"class":322},[2244,2248,2252,2256,2260,2264],{"type":30,"tagName":320,"properties":2245,"children":2246},{"style":537},[2247],{"type":26,"value":866},{"type":30,"tagName":320,"properties":2249,"children":2250},{"style":332},[2251],{"type":26,"value":871},{"type":30,"tagName":320,"properties":2253,"children":2254},{"style":326},[2255],{"type":26,"value":876},{"type":30,"tagName":320,"properties":2257,"children":2258},{"style":332},[2259],{"type":26,"value":881},{"type":30,"tagName":320,"properties":2261,"children":2262},{"style":537},[2263],{"type":26,"value":886},{"type":30,"tagName":320,"properties":2265,"children":2266},{"style":332},[2267],{"type":26,"value":857},{"type":26,"value":27},{"type":30,"tagName":320,"properties":2270,"children":2271},{"class":322},[2272,2276],{"type":30,"tagName":320,"properties":2273,"children":2274},{"style":326},[2275],{"type":26,"value":899},{"type":30,"tagName":320,"properties":2277,"children":2278},{"style":332},[2279],{"type":26,"value":904},{"type":26,"value":27},{"type":30,"tagName":320,"properties":2282,"children":2283},{"class":322},[2284,2289,2294,2299],{"type":30,"tagName":320,"properties":2285,"children":2286},{"style":326},[2287],{"type":26,"value":2288},"  out_tag_x",{"type":30,"tagName":320,"properties":2290,"children":2291},{"style":332},[2292],{"type":26,"value":2293},"(bar.",{"type":30,"tagName":320,"properties":2295,"children":2296},{"style":326},[2297],{"type":26,"value":2298},"time",{"type":30,"tagName":320,"properties":2300,"children":2301},{"style":332},[2302],{"type":26,"value":2303},"());",{"type":26,"value":27},{"type":30,"tagName":320,"properties":2306,"children":2307},{"class":322},[2308,2313],{"type":30,"tagName":320,"properties":2309,"children":2310},{"style":326},[2311],{"type":26,"value":2312},"  sb_clear",{"type":30,"tagName":320,"properties":2314,"children":2315},{"style":332},[2316],{"type":26,"value":731},{"type":26,"value":27},{"type":30,"tagName":320,"properties":2319,"children":2320},{"class":322},[2321,2326,2330,2335],{"type":30,"tagName":320,"properties":2322,"children":2323},{"style":326},[2324],{"type":26,"value":2325},"  sb_text",{"type":30,"tagName":320,"properties":2327,"children":2328},{"style":332},[2329],{"type":26,"value":335},{"type":30,"tagName":320,"properties":2331,"children":2332},{"style":338},[2333],{"type":26,"value":2334},"\"range% = \"",{"type":30,"tagName":320,"properties":2336,"children":2337},{"style":332},[2338],{"type":26,"value":573},{"type":26,"value":27},{"type":30,"tagName":320,"properties":2341,"children":2342},{"class":322},[2343,2348,2353,2357],{"type":30,"tagName":320,"properties":2344,"children":2345},{"style":326},[2346],{"type":26,"value":2347},"  sb_f64",{"type":30,"tagName":320,"properties":2349,"children":2350},{"style":332},[2351],{"type":26,"value":2352},"(rangePct, ",{"type":30,"tagName":320,"properties":2354,"children":2355},{"style":349},[2356],{"type":26,"value":362},{"type":30,"tagName":320,"properties":2358,"children":2359},{"style":332},[2360],{"type":26,"value":573},{"type":26,"value":27},{"type":30,"tagName":320,"properties":2363,"children":2364},{"class":322},[2365,2370],{"type":30,"tagName":320,"properties":2366,"children":2367},{"style":326},[2368],{"type":26,"value":2369},"  str_readout_sb",{"type":30,"tagName":320,"properties":2371,"children":2372},{"style":332},[2373],{"type":26,"value":731},{"type":26,"value":27},{"type":30,"tagName":320,"properties":2376,"children":2377},{"class":322},[2378],{"type":30,"tagName":320,"properties":2379,"children":2380},{"style":332},[2381],{"type":26,"value":664},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2384,"children":2385,"position":2395},{},[2386],{"type":26,"value":2387,"position":2388},"This works for any expression. Lift the part you doubt into a variable, declare an output or a log line for it, and read the answer instead of guessing. Delete the probe and the log when you are done: whoever adds a published indicator gets everything it declares.",{"start":2389,"end":2392},{"line":2390,"column":21,"offset":2391},106,5284,{"line":2390,"column":2393,"offset":2394},265,5548,{"start":2396,"end":2397},{"line":2390,"column":21,"offset":2391},{"line":2390,"column":2393,"offset":2394},{"type":26,"value":27},{"type":30,"tagName":85,"properties":2400,"children":2401,"position":2411},{},[2402],{"type":26,"value":2403,"position":2404},"2. Read the Console",{"start":2405,"end":2408},{"line":2406,"column":93,"offset":2407},108,5553,{"line":2406,"column":2409,"offset":2410},23,5572,{"start":2412,"end":2414},{"line":2406,"column":21,"offset":2413},5550,{"line":2406,"column":2409,"offset":2410},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2417,"children":2418,"position":2472},{},[2419,2427,2441,2448,2465],{"type":26,"value":2420,"position":2421},"If ",{"start":2422,"end":2425},{"line":2423,"column":21,"offset":2424},110,5574,{"line":2423,"column":93,"offset":2426},5577,{"type":30,"tagName":129,"properties":2428,"children":2429,"position":2437},{},[2430],{"type":26,"value":1721,"position":2431},{"start":2432,"end":2435},{"line":2423,"column":2433,"offset":2434},6,5579,{"line":2423,"column":92,"offset":2436},5582,{"start":2438,"end":2439},{"line":2423,"column":93,"offset":2426},{"line":2423,"column":110,"offset":2440},5584,{"type":26,"value":2442,"position":2443}," stops before the chart changes, the message is in the editor's Console, tagged with the stage that produced it, and one problem hides the ones behind it. The status bar's problem counter (its tooltip reads ",{"start":2444,"end":2445},{"line":2423,"column":110,"offset":2440},{"line":2423,"column":2446,"offset":2447},218,5791,{"type":30,"tagName":129,"properties":2449,"children":2450,"position":2460},{},[2451],{"type":26,"value":2452,"position":2453},"Open Problems",{"start":2454,"end":2457},{"line":2423,"column":2455,"offset":2456},220,5793,{"line":2423,"column":2458,"offset":2459},233,5806,{"start":2461,"end":2462},{"line":2423,"column":2446,"offset":2447},{"line":2423,"column":2463,"offset":2464},235,5808,{"type":26,"value":2466,"position":2467},") opens the Console, and clicking a row jumps to its line:",{"start":2468,"end":2469},{"line":2423,"column":2463,"offset":2464},{"line":2423,"column":2470,"offset":2471},293,5866,{"start":2473,"end":2474},{"line":2423,"column":21,"offset":2424},{"line":2423,"column":2470,"offset":2471},{"type":26,"value":2476},"\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\n\n\n\n\n\n\n\n\n\n\n",{"type":30,"tagName":2478,"properties":2479,"children":2480,"position":2990},"table",{},[2481,2546],{"type":30,"tagName":2482,"properties":2483,"children":2484,"position":2543},"thead",{},[2485],{"type":30,"tagName":2486,"properties":2487,"children":2488,"position":2540},"tr",{},[2489,2507,2523],{"type":30,"tagName":2490,"properties":2491,"children":2492,"position":2502},"th",{},[2493],{"type":26,"value":2494,"position":2495},"Stage",{"start":2496,"end":2499},{"line":2497,"column":162,"offset":2498},112,5870,{"line":2497,"column":2500,"offset":2501},8,5875,{"start":2503,"end":2505},{"line":2497,"column":21,"offset":2504},5868,{"line":2497,"column":92,"offset":2506},5876,{"type":30,"tagName":2490,"properties":2508,"children":2509,"position":2518},{},[2510],{"type":26,"value":2511,"position":2512},"What it checked",{"start":2513,"end":2515},{"line":2497,"column":110,"offset":2514},5878,{"line":2497,"column":2516,"offset":2517},26,5893,{"start":2519,"end":2520},{"line":2497,"column":92,"offset":2506},{"line":2497,"column":2521,"offset":2522},27,5894,{"type":30,"tagName":2490,"properties":2524,"children":2525,"position":2535},{},[2526],{"type":26,"value":2527,"position":2528},"Typical message",{"start":2529,"end":2532},{"line":2497,"column":2530,"offset":2531},29,5896,{"line":2497,"column":2533,"offset":2534},44,5911,{"start":2536,"end":2537},{"line":2497,"column":2521,"offset":2522},{"line":2497,"column":2538,"offset":2539},46,5913,{"start":2541,"end":2542},{"line":2497,"column":21,"offset":2504},{"line":2497,"column":2538,"offset":2539},{"start":2544,"end":2545},{"line":2497,"column":21,"offset":2504},{"line":2497,"column":2538,"offset":2539},{"type":30,"tagName":2547,"properties":2548,"children":2549,"position":2987},"tbody",{},[2550,2657,2719,2779,2836,2895],{"type":30,"tagName":2486,"properties":2551,"children":2552,"position":2654},{},[2553,2574,2634],{"type":30,"tagName":2554,"properties":2555,"children":2556,"position":2569},"td",{},[2557],{"type":30,"tagName":60,"properties":2558,"children":2559,"position":2562},{},[2560],{"type":26,"value":2561},"declarations",{"start":2563,"end":2566},{"line":2564,"column":162,"offset":2565},114,5936,{"line":2564,"column":2567,"offset":2568},17,5950,{"start":2570,"end":2572},{"line":2564,"column":21,"offset":2571},5934,{"line":2564,"column":241,"offset":2573},5951,{"type":30,"tagName":2554,"properties":2575,"children":2576,"position":2629},{},[2577,2585,2593,2599,2608,2613,2622],{"type":26,"value":2578,"position":2579},"the ",{"start":2580,"end":2582},{"line":2564,"column":208,"offset":2581},5953,{"line":2564,"column":2583,"offset":2584},24,5957,{"type":30,"tagName":60,"properties":2586,"children":2587,"position":2589},{},[2588],{"type":26,"value":329},{"start":2590,"end":2591},{"line":2564,"column":2583,"offset":2584},{"line":2564,"column":96,"offset":2592},5964,{"type":26,"value":2594,"position":2595}," / ",{"start":2596,"end":2597},{"line":2564,"column":96,"offset":2592},{"line":2564,"column":962,"offset":2598},5967,{"type":30,"tagName":60,"properties":2600,"children":2601,"position":2603},{},[2602],{"type":26,"value":1139},{"start":2604,"end":2605},{"line":2564,"column":962,"offset":2598},{"line":2564,"column":2606,"offset":2607},41,5974,{"type":26,"value":2594,"position":2609},{"start":2610,"end":2611},{"line":2564,"column":2606,"offset":2607},{"line":2564,"column":2533,"offset":2612},5977,{"type":30,"tagName":60,"properties":2614,"children":2615,"position":2617},{},[2616],{"type":26,"value":396},{"start":2618,"end":2619},{"line":2564,"column":2533,"offset":2612},{"line":2564,"column":2620,"offset":2621},52,5985,{"type":26,"value":2623,"position":2624}," / shape statements, read from the text",{"start":2625,"end":2626},{"line":2564,"column":2620,"offset":2621},{"line":2564,"column":2627,"offset":2628},91,6024,{"start":2630,"end":2631},{"line":2564,"column":241,"offset":2573},{"line":2564,"column":2632,"offset":2633},92,6025,{"type":30,"tagName":2554,"properties":2635,"children":2636,"position":2649},{},[2637],{"type":30,"tagName":60,"properties":2638,"children":2639,"position":2642},{},[2640],{"type":26,"value":2641},"option 'top' takes an output handle, not a string literal",{"start":2643,"end":2646},{"line":2564,"column":2644,"offset":2645},94,6027,{"line":2564,"column":2647,"offset":2648},153,6086,{"start":2650,"end":2651},{"line":2564,"column":2632,"offset":2633},{"line":2564,"column":2652,"offset":2653},155,6088,{"start":2655,"end":2656},{"line":2564,"column":21,"offset":2571},{"line":2564,"column":2652,"offset":2653},{"type":30,"tagName":2486,"properties":2658,"children":2659,"position":2716},{},[2660,2680,2697],{"type":30,"tagName":2554,"properties":2661,"children":2662,"position":2674},{},[2663],{"type":30,"tagName":60,"properties":2664,"children":2665,"position":2668},{},[2666],{"type":26,"value":2667},"lint",{"start":2669,"end":2672},{"line":2670,"column":162,"offset":2671},115,6091,{"line":2670,"column":92,"offset":2673},6097,{"start":2675,"end":2677},{"line":2670,"column":21,"offset":2676},6089,{"line":2670,"column":2678,"offset":2679},10,6098,{"type":30,"tagName":2554,"properties":2681,"children":2682,"position":2692},{},[2683],{"type":26,"value":2684,"position":2685},"raw positional slot literals in your source",{"start":2686,"end":2689},{"line":2670,"column":2687,"offset":2688},12,6100,{"line":2670,"column":2690,"offset":2691},55,6143,{"start":2693,"end":2694},{"line":2670,"column":2678,"offset":2679},{"line":2670,"column":2695,"offset":2696},56,6144,{"type":30,"tagName":2554,"properties":2698,"children":2699,"position":2712},{},[2700],{"type":30,"tagName":60,"properties":2701,"children":2702,"position":2705},{},[2703],{"type":26,"value":2704},"Raw slot literal 0 passed to getFloat(): raw positional slots rebind silently when the sheet changes",{"start":2706,"end":2709},{"line":2670,"column":2707,"offset":2708},58,6146,{"line":2670,"column":2710,"offset":2711},160,6248,{"start":2713,"end":2714},{"line":2670,"column":2695,"offset":2696},{"line":2670,"column":113,"offset":2715},6250,{"start":2717,"end":2718},{"line":2670,"column":21,"offset":2676},{"line":2670,"column":113,"offset":2715},{"type":30,"tagName":2486,"properties":2720,"children":2721,"position":2776},{},[2722,2741,2757],{"type":30,"tagName":2554,"properties":2723,"children":2724,"position":2736},{},[2725],{"type":30,"tagName":60,"properties":2726,"children":2727,"position":2730},{},[2728],{"type":26,"value":2729},"metadata",{"start":2731,"end":2734},{"line":2732,"column":162,"offset":2733},116,6253,{"line":2732,"column":136,"offset":2735},6263,{"start":2737,"end":2739},{"line":2732,"column":21,"offset":2738},6251,{"line":2732,"column":148,"offset":2740},6264,{"type":30,"tagName":2554,"properties":2742,"children":2743,"position":2752},{},[2744],{"type":26,"value":2745,"position":2746},"the sheet derived from your declarations, against the schema",{"start":2747,"end":2749},{"line":2732,"column":1730,"offset":2748},6266,{"line":2732,"column":2750,"offset":2751},76,6326,{"start":2753,"end":2754},{"line":2732,"column":148,"offset":2740},{"line":2732,"column":2755,"offset":2756},77,6327,{"type":30,"tagName":2554,"properties":2758,"children":2759,"position":2771},{},[2760],{"type":30,"tagName":60,"properties":2761,"children":2762,"position":2765},{},[2763],{"type":26,"value":2764},"Output 'price' (color_by): color_by needs 'colors' with at least 2 entries",{"start":2766,"end":2769},{"line":2732,"column":2767,"offset":2768},79,6329,{"line":2732,"column":2652,"offset":2770},6405,{"start":2772,"end":2773},{"line":2732,"column":2755,"offset":2756},{"line":2732,"column":2774,"offset":2775},157,6407,{"start":2777,"end":2778},{"line":2732,"column":21,"offset":2738},{"line":2732,"column":2774,"offset":2775},{"type":30,"tagName":2486,"properties":2780,"children":2781,"position":2833},{},[2782,2801,2815],{"type":30,"tagName":2554,"properties":2783,"children":2784,"position":2796},{},[2785],{"type":30,"tagName":60,"properties":2786,"children":2787,"position":2790},{},[2788],{"type":26,"value":2789},"compile",{"start":2791,"end":2794},{"line":2792,"column":162,"offset":2793},117,6410,{"line":2792,"column":2687,"offset":2795},6419,{"start":2797,"end":2799},{"line":2792,"column":21,"offset":2798},6408,{"line":2792,"column":136,"offset":2800},6420,{"type":30,"tagName":2554,"properties":2802,"children":2803,"position":2811},{},[2804],{"type":26,"value":2805,"position":2806},"the AssemblyScript compiler, with a hint",{"start":2807,"end":2809},{"line":2792,"column":238,"offset":2808},6422,{"line":2792,"column":2690,"offset":2810},6462,{"start":2812,"end":2813},{"line":2792,"column":136,"offset":2800},{"line":2792,"column":2695,"offset":2814},6463,{"type":30,"tagName":2554,"properties":2816,"children":2817,"position":2829},{},[2818],{"type":30,"tagName":60,"properties":2819,"children":2820,"position":2823},{},[2821],{"type":26,"value":2822},"Conversion from type 'f64' to 'i32' requires an explicit cast.",{"start":2824,"end":2826},{"line":2792,"column":2707,"offset":2825},6465,{"line":2792,"column":2827,"offset":2828},122,6529,{"start":2830,"end":2831},{"line":2792,"column":2695,"offset":2814},{"line":2792,"column":57,"offset":2832},6531,{"start":2834,"end":2835},{"line":2792,"column":21,"offset":2798},{"line":2792,"column":57,"offset":2832},{"type":30,"tagName":2486,"properties":2837,"children":2838,"position":2892},{},[2839,2858,2873],{"type":30,"tagName":2554,"properties":2840,"children":2841,"position":2853},{},[2842],{"type":30,"tagName":60,"properties":2843,"children":2844,"position":2847},{},[2845],{"type":26,"value":2846},"validate",{"start":2848,"end":2851},{"line":2849,"column":162,"offset":2850},118,6534,{"line":2849,"column":136,"offset":2852},6544,{"start":2854,"end":2856},{"line":2849,"column":21,"offset":2855},6532,{"line":2849,"column":148,"offset":2857},6545,{"type":30,"tagName":2554,"properties":2859,"children":2860,"position":2868},{},[2861],{"type":26,"value":2862,"position":2863},"the built module's exports and the sandbox",{"start":2864,"end":2866},{"line":2849,"column":1730,"offset":2865},6547,{"line":2849,"column":2707,"offset":2867},6589,{"start":2869,"end":2870},{"line":2849,"column":148,"offset":2857},{"line":2849,"column":2871,"offset":2872},59,6590,{"type":30,"tagName":2554,"properties":2874,"children":2875,"position":2887},{},[2876],{"type":30,"tagName":60,"properties":2877,"children":2878,"position":2881},{},[2879],{"type":26,"value":2880},"console.* is not available in an Indicator (it runs in a sandbox with no console).",{"start":2882,"end":2884},{"line":2849,"column":263,"offset":2883},6592,{"line":2849,"column":2885,"offset":2886},145,6676,{"start":2888,"end":2889},{"line":2849,"column":2871,"offset":2872},{"line":2849,"column":2890,"offset":2891},147,6678,{"start":2893,"end":2894},{"line":2849,"column":21,"offset":2855},{"line":2849,"column":2890,"offset":2891},{"type":30,"tagName":2486,"properties":2896,"children":2897,"position":2984},{},[2898,2916,2946],{"type":30,"tagName":2554,"properties":2899,"children":2900,"position":2911},{},[2901],{"type":30,"tagName":60,"properties":2902,"children":2903,"position":2906},{},[2904],{"type":26,"value":2905},"compute",{"start":2907,"end":2909},{"line":10,"column":162,"offset":2908},6681,{"line":10,"column":2687,"offset":2910},6690,{"start":2912,"end":2914},{"line":10,"column":21,"offset":2913},6679,{"line":10,"column":136,"offset":2915},6691,{"type":30,"tagName":2554,"properties":2917,"children":2918,"position":2941},{},[2919,2927],{"type":26,"value":2920,"position":2921},"the run itself, after ",{"start":2922,"end":2924},{"line":10,"column":238,"offset":2923},6693,{"line":10,"column":2925,"offset":2926},37,6715,{"type":30,"tagName":129,"properties":2928,"children":2929,"position":2937},{},[2930],{"type":26,"value":1721,"position":2931},{"start":2932,"end":2935},{"line":10,"column":2933,"offset":2934},39,6717,{"line":10,"column":959,"offset":2936},6720,{"start":2938,"end":2939},{"line":10,"column":2925,"offset":2926},{"line":10,"column":2533,"offset":2940},6722,{"start":2942,"end":2943},{"line":10,"column":136,"offset":2915},{"line":10,"column":2944,"offset":2945},45,6723,{"type":30,"tagName":2554,"properties":2947,"children":2948,"position":2980},{},[2949],{"type":30,"tagName":60,"properties":2950,"children":2951,"position":2974},{},[2952,2954,2958,2960,2963,2965,2968,2970,2973],{"type":26,"value":2953},"AssemblyScript abort: Index out of range at ~lib/",{"type":30,"tagName":2955,"properties":2956,"children":2957},"wbr",{},[],{"type":26,"value":2959},"array.",{"type":30,"tagName":2955,"properties":2961,"children":2962},{},[],{"type":26,"value":2964},"ts:.",{"type":30,"tagName":2955,"properties":2966,"children":2967},{},[],{"type":26,"value":2969},".",{"type":30,"tagName":2955,"properties":2971,"children":2972},{},[],{"type":26,"value":2969},{"start":2975,"end":2978},{"line":10,"column":2976,"offset":2977},47,6725,{"line":10,"column":2423,"offset":2979},6788,{"start":2981,"end":2982},{"line":10,"column":2944,"offset":2945},{"line":10,"column":2497,"offset":2983},6790,{"start":2985,"end":2986},{"line":10,"column":21,"offset":2913},{"line":10,"column":2497,"offset":2983},{"start":2988,"end":2989},{"line":2564,"column":21,"offset":2571},{"line":10,"column":2497,"offset":2983},{"start":2991,"end":2992},{"line":2497,"column":21,"offset":2504},{"line":10,"column":2497,"offset":2983},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2995,"children":2996,"position":3050},{},[2997,3005,3021,3028,3045],{"type":26,"value":2998,"position":2999},"Fix the first one and ",{"start":3000,"end":3003},{"line":3001,"column":21,"offset":3002},121,6792,{"line":3001,"column":2409,"offset":3004},6814,{"type":30,"tagName":129,"properties":3006,"children":3007,"position":3016},{},[3008],{"type":26,"value":1721,"position":3009},{"start":3010,"end":3013},{"line":3001,"column":3011,"offset":3012},25,6816,{"line":3001,"column":3014,"offset":3015},28,6819,{"start":3017,"end":3018},{"line":3001,"column":2409,"offset":3004},{"line":3001,"column":3019,"offset":3020},30,6821,{"type":26,"value":3022,"position":3023}," again. Every message is listed with its fix in ",{"start":3024,"end":3025},{"line":3001,"column":3019,"offset":3020},{"line":3001,"column":3026,"offset":3027},78,6869,{"type":30,"tagName":3029,"properties":3030,"children":3032,"position":3040},"a",{"href":3031},"common-errors.md",[3033],{"type":26,"value":3034,"position":3035},"Common errors",{"start":3036,"end":3038},{"line":3001,"column":2767,"offset":3037},6870,{"line":3001,"column":2632,"offset":3039},6883,{"start":3041,"end":3042},{"line":3001,"column":3026,"offset":3027},{"line":3001,"column":3043,"offset":3044},111,6902,{"type":26,"value":2969,"position":3046},{"start":3047,"end":3048},{"line":3001,"column":3043,"offset":3044},{"line":3001,"column":2497,"offset":3049},6903,{"start":3051,"end":3052},{"line":3001,"column":21,"offset":3002},{"line":3001,"column":2497,"offset":3049},{"type":26,"value":27},{"type":30,"tagName":31,"properties":3055,"children":3056,"position":3161},{},[3057,3066,3079,3085,3097,3104,3116,3123,3134,3141,3154],{"type":26,"value":3058,"position":3059},"A run that reaches the chart and draws nothing is usually not an error at all. It is an output that is ",{"start":3060,"end":3063},{"line":3061,"column":21,"offset":3062},123,6905,{"line":3061,"column":3064,"offset":3065},104,7008,{"type":30,"tagName":60,"properties":3067,"children":3068,"position":3076},{},[3069],{"type":26,"value":3070,"position":3071},"NaN",{"start":3072,"end":3073},{"line":3061,"column":3064,"offset":3065},{"line":3061,"column":3074,"offset":3075},109,7013,{"start":3077,"end":3078},{"line":3061,"column":3064,"offset":3065},{"line":3061,"column":3074,"offset":3075},{"type":26,"value":3080,"position":3081}," on every bar (",{"start":3082,"end":3083},{"line":3061,"column":3074,"offset":3075},{"line":3061,"column":57,"offset":3084},7028,{"type":30,"tagName":60,"properties":3086,"children":3087,"position":3094},{},[3088],{"type":26,"value":279,"position":3089},{"start":3090,"end":3091},{"line":3061,"column":57,"offset":3084},{"line":3061,"column":3092,"offset":3093},133,7037,{"start":3095,"end":3096},{"line":3061,"column":57,"offset":3084},{"line":3061,"column":3092,"offset":3093},{"type":26,"value":3098,"position":3099}," returned before writing it, or wrote ",{"start":3100,"end":3101},{"line":3061,"column":3092,"offset":3093},{"line":3061,"column":3102,"offset":3103},171,7075,{"type":30,"tagName":60,"properties":3105,"children":3106,"position":3113},{},[3107],{"type":26,"value":3070,"position":3108},{"start":3109,"end":3110},{"line":3061,"column":3102,"offset":3103},{"line":3061,"column":3111,"offset":3112},176,7080,{"start":3114,"end":3115},{"line":3061,"column":3102,"offset":3103},{"line":3061,"column":3111,"offset":3112},{"type":26,"value":3117,"position":3118},"), an output declared ",{"start":3119,"end":3120},{"line":3061,"column":3111,"offset":3112},{"line":3061,"column":3121,"offset":3122},198,7102,{"type":30,"tagName":60,"properties":3124,"children":3125,"position":3131},{},[3126],{"type":26,"value":195,"position":3127},{"start":3128,"end":3129},{"line":3061,"column":3121,"offset":3122},{"line":3061,"column":172,"offset":3130},7108,{"start":3132,"end":3133},{"line":3061,"column":3121,"offset":3122},{"line":3061,"column":172,"offset":3130},{"type":26,"value":3135,"position":3136},", or a source the chart's market does not serve (the chart says which, by name). For a draft, the Console says which after the run: ",{"start":3137,"end":3138},{"line":3061,"column":172,"offset":3130},{"line":3061,"column":3139,"offset":3140},336,7240,{"type":30,"tagName":60,"properties":3142,"children":3143,"position":3151},{},[3144],{"type":26,"value":3145,"position":3146},"Output 'range_pct' is NaN on all 480 ready bars, so nothing is drawn for it.",{"start":3147,"end":3148},{"line":3061,"column":3139,"offset":3140},{"line":3061,"column":3149,"offset":3150},414,7318,{"start":3152,"end":3153},{"line":3061,"column":3139,"offset":3140},{"line":3061,"column":3149,"offset":3150},{"type":26,"value":3155,"position":3156}," Step 5 covers the rest.",{"start":3157,"end":3158},{"line":3061,"column":3149,"offset":3150},{"line":3061,"column":3159,"offset":3160},438,7342,{"start":3162,"end":3163},{"line":3061,"column":21,"offset":3062},{"line":3061,"column":3159,"offset":3160},{"type":26,"value":27},{"type":30,"tagName":85,"properties":3166,"children":3167,"position":3175},{},[3168],{"type":26,"value":3169,"position":3170},"3. Isolate",{"start":3171,"end":3173},{"line":1002,"column":93,"offset":3172},7347,{"line":1002,"column":148,"offset":3174},7357,{"start":3176,"end":3178},{"line":1002,"column":21,"offset":3177},7344,{"line":1002,"column":148,"offset":3174},{"type":26,"value":27},{"type":30,"tagName":31,"properties":3181,"children":3182,"position":3265},{},[3183,3192,3203,3210,3222,3229,3241,3247,3258],{"type":26,"value":3184,"position":3185},"When several outputs are wrong at once, stop reasoning about all of them. Reduce the module to one output: leave the others unwritten in ",{"start":3186,"end":3189},{"line":3187,"column":21,"offset":3188},127,7359,{"line":3187,"column":3190,"offset":3191},138,7496,{"type":30,"tagName":60,"properties":3193,"children":3194,"position":3200},{},[3195],{"type":26,"value":279,"position":3196},{"start":3197,"end":3198},{"line":3187,"column":3190,"offset":3191},{"line":3187,"column":2890,"offset":3199},7505,{"start":3201,"end":3202},{"line":3187,"column":3190,"offset":3191},{"line":3187,"column":2890,"offset":3199},{"type":26,"value":3204,"position":3205}," (an unwritten output is ",{"start":3206,"end":3207},{"line":3187,"column":2890,"offset":3199},{"line":3187,"column":3208,"offset":3209},172,7530,{"type":30,"tagName":60,"properties":3211,"children":3212,"position":3219},{},[3213],{"type":26,"value":3070,"position":3214},{"start":3215,"end":3216},{"line":3187,"column":3208,"offset":3209},{"line":3187,"column":3217,"offset":3218},177,7535,{"start":3220,"end":3221},{"line":3187,"column":3208,"offset":3209},{"line":3187,"column":3217,"offset":3218},{"type":26,"value":3223,"position":3224},", and ",{"start":3225,"end":3226},{"line":3187,"column":3217,"offset":3218},{"line":3187,"column":3227,"offset":3228},183,7541,{"type":30,"tagName":60,"properties":3230,"children":3231,"position":3238},{},[3232],{"type":26,"value":3070,"position":3233},{"start":3234,"end":3235},{"line":3187,"column":3227,"offset":3228},{"line":3187,"column":3236,"offset":3237},188,7546,{"start":3239,"end":3240},{"line":3187,"column":3227,"offset":3228},{"line":3187,"column":3236,"offset":3237},{"type":26,"value":3242,"position":3243}," draws nothing), or switch their plot to ",{"start":3244,"end":3245},{"line":3187,"column":3236,"offset":3237},{"line":3187,"column":41,"offset":3246},7587,{"type":30,"tagName":60,"properties":3248,"children":3249,"position":3255},{},[3250],{"type":26,"value":195,"position":3251},{"start":3252,"end":3253},{"line":3187,"column":41,"offset":3246},{"line":3187,"column":2463,"offset":3254},7593,{"start":3256,"end":3257},{"line":3187,"column":41,"offset":3246},{"line":3187,"column":2463,"offset":3254},{"type":26,"value":3259,"position":3260},", and keep only the suspect series drawn. Once that one is correct, bring the others back one at a time. This is the cheapest way to find which input poisoned a calculation downstream, because a wrong value in an indicator has exactly one place it can come from: the bar's inputs, the state carried from the previous bar, or the arithmetic between them.",{"start":3261,"end":3262},{"line":3187,"column":2463,"offset":3254},{"line":3187,"column":3263,"offset":3264},588,7946,{"start":3266,"end":3267},{"line":3187,"column":21,"offset":3188},{"line":3187,"column":3263,"offset":3264},{"type":26,"value":27},{"type":30,"tagName":85,"properties":3270,"children":3271,"position":3280},{},[3272],{"type":26,"value":3273,"position":3274},"4. Read the numbers at the Console prompt",{"start":3275,"end":3278},{"line":3276,"column":93,"offset":3277},129,7951,{"line":3276,"column":2944,"offset":3279},7992,{"start":3281,"end":3283},{"line":3276,"column":21,"offset":3282},7948,{"line":3276,"column":2944,"offset":3279},{"type":26,"value":27},{"type":30,"tagName":31,"properties":3286,"children":3287,"position":3318},{},[3288,3296,3311],{"type":26,"value":3289,"position":3290},"The chart shows shapes; the Console prompt shows numbers. After a ",{"start":3291,"end":3293},{"line":1012,"column":21,"offset":3292},7994,{"line":1012,"column":3294,"offset":3295},67,8060,{"type":30,"tagName":129,"properties":3297,"children":3298,"position":3307},{},[3299],{"type":26,"value":1721,"position":3300},{"start":3301,"end":3304},{"line":1012,"column":3302,"offset":3303},69,8062,{"line":1012,"column":3305,"offset":3306},72,8065,{"start":3308,"end":3309},{"line":1012,"column":3294,"offset":3295},{"line":1012,"column":273,"offset":3310},8067,{"type":26,"value":3312,"position":3313},", type at the prompt (\"Type an expression, an output name, or / for commands\") to read the last run without compiling anything:",{"start":3314,"end":3315},{"line":1012,"column":273,"offset":3310},{"line":1012,"column":3316,"offset":3317},201,8194,{"start":3319,"end":3320},{"line":1012,"column":21,"offset":3292},{"line":1012,"column":3316,"offset":3317},{"type":26,"value":27},{"type":14,"children":3323},[3324],{"type":30,"tagName":307,"properties":3325,"children":3326,"data":-1},{"class":309,"style":310,"tabindex":311},[3327],{"type":30,"tagName":60,"properties":3328,"children":3330},{"class":3329},[1750],[3331,3339,3340,3348,3349,3357,3358,3366,3367,3375,3376,3384,3385,3393,3394],{"type":30,"tagName":320,"properties":3332,"children":3333},{"class":322},[3334],{"type":30,"tagName":320,"properties":3335,"children":3336},{},[3337],{"type":26,"value":3338},"range_pct                          the newest value",{"type":26,"value":27},{"type":30,"tagName":320,"properties":3341,"children":3342},{"class":322},[3343],{"type":30,"tagName":320,"properties":3344,"children":3345},{},[3346],{"type":26,"value":3347},"range_pct[-3]                      the value three bars back",{"type":26,"value":27},{"type":30,"tagName":320,"properties":3350,"children":3351},{"class":322},[3352],{"type":30,"tagName":320,"properties":3353,"children":3354},{},[3355],{"type":26,"value":3356},"last 20 raw_spread                 the newest 20 bars (a none output reads like any other)",{"type":26,"value":27},{"type":30,"tagName":320,"properties":3359,"children":3360},{"class":322},[3361],{"type":30,"tagName":320,"properties":3362,"children":3363},{},[3364],{"type":26,"value":3365},"at 2026-01-01T00:00Z range_pct     the value on the bar that opened at that time",{"type":26,"value":27},{"type":30,"tagName":320,"properties":3368,"children":3369},{"class":322},[3370],{"type":30,"tagName":320,"properties":3371,"children":3372},{},[3373],{"type":26,"value":3374},"rows                               the bar count, the first and last bar, the warm-up rows",{"type":26,"value":27},{"type":30,"tagName":320,"properties":3377,"children":3378},{"class":322},[3379],{"type":30,"tagName":320,"properties":3380,"children":3381},{},[3382],{"type":26,"value":3383},"params                             each param and the value the last run used",{"type":26,"value":27},{"type":30,"tagName":320,"properties":3386,"children":3387},{"class":322},[3388],{"type":30,"tagName":320,"properties":3389,"children":3390},{},[3391],{"type":26,"value":3392},"outputs                            every output and its last value",{"type":26,"value":27},{"type":30,"tagName":320,"properties":3395,"children":3396},{"class":322},[3397],{"type":30,"tagName":320,"properties":3398,"children":3399},{},[3400],{"type":26,"value":3401},"sheet                              the sheet derived from your declarations",{"type":26,"value":27},{"type":30,"tagName":31,"properties":3404,"children":3405,"position":3478},{},[3406,3415,3431,3438,3451,3458,3471],{"type":26,"value":3407,"position":3408},"A range reads over the ready bars; warm-up rows are left out. Anything else you type is an expression: it compiles into the current source, runs once per ready bar after your own code for the bar, over the chart's candles, and leaves the overlay alone, so your module-level variables and the kit are in scope. Expressions run over candles only: a strategy indicator, or one that reads another source, is refused (\"The console does not run strategy Indicators; Run the tab and inspect its outputs.\"), and its outputs stay readable by name after a ",{"start":3409,"end":3412},{"line":3410,"column":21,"offset":3411},144,8806,{"line":3410,"column":3413,"offset":3414},547,9352,{"type":30,"tagName":129,"properties":3416,"children":3417,"position":3426},{},[3418],{"type":26,"value":1721,"position":3419},{"start":3420,"end":3423},{"line":3410,"column":3421,"offset":3422},549,9354,{"line":3410,"column":3424,"offset":3425},552,9357,{"start":3427,"end":3428},{"line":3410,"column":3413,"offset":3414},{"line":3410,"column":3429,"offset":3430},554,9359,{"type":26,"value":3432,"position":3433},". ",{"start":3434,"end":3435},{"line":3410,"column":3429,"offset":3430},{"line":3410,"column":3436,"offset":3437},556,9361,{"type":30,"tagName":60,"properties":3439,"children":3440,"position":3448},{},[3441],{"type":26,"value":3442,"position":3443},"/help",{"start":3444,"end":3445},{"line":3410,"column":3436,"offset":3437},{"line":3410,"column":3446,"offset":3447},563,9368,{"start":3449,"end":3450},{"line":3410,"column":3436,"offset":3437},{"line":3410,"column":3446,"offset":3447},{"type":26,"value":3452,"position":3453}," lists the grammar, and ",{"start":3454,"end":3455},{"line":3410,"column":3446,"offset":3447},{"line":3410,"column":3456,"offset":3457},587,9392,{"type":30,"tagName":60,"properties":3459,"children":3460,"position":3468},{},[3461],{"type":26,"value":3462,"position":3463},"/clear",{"start":3464,"end":3465},{"line":3410,"column":3456,"offset":3457},{"line":3410,"column":3466,"offset":3467},595,9400,{"start":3469,"end":3470},{"line":3410,"column":3456,"offset":3457},{"line":3410,"column":3466,"offset":3467},{"type":26,"value":3472,"position":3473}," empties the Console.",{"start":3474,"end":3475},{"line":3410,"column":3466,"offset":3467},{"line":3410,"column":3476,"offset":3477},616,9421,{"start":3479,"end":3480},{"line":3410,"column":21,"offset":3411},{"line":3410,"column":3476,"offset":3477},{"type":26,"value":27},{"type":30,"tagName":85,"properties":3483,"children":3484,"position":3493},{},[3485],{"type":26,"value":3486,"position":3487},"5. The usual suspects",{"start":3488,"end":3491},{"line":3489,"column":93,"offset":3490},146,9426,{"line":3489,"column":3011,"offset":3492},9447,{"start":3494,"end":3496},{"line":3489,"column":21,"offset":3495},9423,{"line":3489,"column":3011,"offset":3492},{"type":26,"value":27},{"type":30,"tagName":31,"properties":3499,"children":3500,"position":3510},{},[3501],{"type":26,"value":3502,"position":3503},"Most \"wrong indicator\" bugs are one of a handful of patterns. Scan this list against your symptom:",{"start":3504,"end":3507},{"line":3505,"column":21,"offset":3506},148,9449,{"line":3505,"column":3508,"offset":3509},99,9547,{"start":3511,"end":3512},{"line":3505,"column":21,"offset":3506},{"line":3505,"column":3508,"offset":3509},{"type":26,"value":27},{"type":30,"tagName":120,"properties":3515,"children":3516,"position":4289},{},[3517,3518,3584,3585,3653,3654,3758,3759,3823,3824,3890,3891,3922,3923,4029,4030,4174,4175,4288],{"type":26,"value":27},{"type":30,"tagName":125,"properties":3519,"children":3520,"position":3580},{},[3521,3537,3543,3555,3562,3573],{"type":30,"tagName":129,"properties":3522,"children":3523,"position":3532},{},[3524],{"type":26,"value":3525,"position":3526},"Line starts blank, then appears.",{"start":3527,"end":3530},{"line":3528,"column":38,"offset":3529},150,9553,{"line":3528,"column":2925,"offset":3531},9585,{"start":3533,"end":3535},{"line":3528,"column":162,"offset":3534},9551,{"line":3528,"column":2933,"offset":3536},9587,{"type":26,"value":3538,"position":3539}," Warm-up. Anything with a period is ",{"start":3540,"end":3541},{"line":3528,"column":2933,"offset":3536},{"line":3528,"column":1713,"offset":3542},9623,{"type":30,"tagName":60,"properties":3544,"children":3545,"position":3552},{},[3546],{"type":26,"value":3070,"position":3547},{"start":3548,"end":3549},{"line":3528,"column":1713,"offset":3542},{"line":3528,"column":3550,"offset":3551},80,9628,{"start":3553,"end":3554},{"line":3528,"column":1713,"offset":3542},{"line":3528,"column":3550,"offset":3551},{"type":26,"value":3556,"position":3557}," until it has enough bars, and a ",{"start":3558,"end":3559},{"line":3528,"column":3550,"offset":3551},{"line":3528,"column":3560,"offset":3561},113,9661,{"type":30,"tagName":60,"properties":3563,"children":3564,"position":3570},{},[3565],{"type":26,"value":3070,"position":3566},{"start":3567,"end":3568},{"line":3528,"column":3560,"offset":3561},{"line":3528,"column":2849,"offset":3569},9666,{"start":3571,"end":3572},{"line":3528,"column":3560,"offset":3561},{"line":3528,"column":2849,"offset":3569},{"type":26,"value":3574,"position":3575}," output draws nothing on those bars. That leading gap is expected; if the line never appears, the chart has fewer bars loaded than the window needs.",{"start":3576,"end":3577},{"line":3528,"column":2849,"offset":3569},{"line":3528,"column":3578,"offset":3579},266,9814,{"start":3581,"end":3583},{"line":3528,"column":21,"offset":3582},9549,{"line":3528,"column":3578,"offset":3579},{"type":26,"value":27},{"type":30,"tagName":125,"properties":3586,"children":3587,"position":3649},{},[3588,3604,3610,3623,3630,3642],{"type":30,"tagName":129,"properties":3589,"children":3590,"position":3599},{},[3591],{"type":26,"value":3592,"position":3593},"Flat line.",{"start":3594,"end":3597},{"line":3595,"column":38,"offset":3596},151,9819,{"line":3595,"column":238,"offset":3598},9829,{"start":3600,"end":3602},{"line":3595,"column":162,"offset":3601},9817,{"line":3595,"column":2567,"offset":3603},9831,{"type":26,"value":3605,"position":3606}," A module-level variable assigned in ",{"start":3607,"end":3608},{"line":3595,"column":2567,"offset":3603},{"line":3595,"column":253,"offset":3609},9868,{"type":30,"tagName":60,"properties":3611,"children":3612,"position":3620},{},[3613],{"type":26,"value":3614,"position":3615},"onStart()",{"start":3616,"end":3617},{"line":3595,"column":253,"offset":3609},{"line":3595,"column":3618,"offset":3619},65,9879,{"start":3621,"end":3622},{"line":3595,"column":253,"offset":3609},{"line":3595,"column":3618,"offset":3619},{"type":26,"value":3624,"position":3625}," and never updated in ",{"start":3626,"end":3627},{"line":3595,"column":3618,"offset":3619},{"line":3595,"column":3628,"offset":3629},87,9901,{"type":30,"tagName":60,"properties":3631,"children":3632,"position":3639},{},[3633],{"type":26,"value":279,"position":3634},{"start":3635,"end":3636},{"line":3595,"column":3628,"offset":3629},{"line":3595,"column":3637,"offset":3638},96,9910,{"start":3640,"end":3641},{"line":3595,"column":3628,"offset":3629},{"line":3595,"column":3637,"offset":3638},{"type":26,"value":3643,"position":3644},", or an output written from a different variable than the one the bar updates. Log the value per bar and check that it moves.",{"start":3645,"end":3646},{"line":3595,"column":3637,"offset":3638},{"line":3595,"column":3647,"offset":3648},221,10035,{"start":3650,"end":3652},{"line":3595,"column":21,"offset":3651},9815,{"line":3595,"column":3647,"offset":3648},{"type":26,"value":27},{"type":30,"tagName":125,"properties":3655,"children":3656,"position":3754},{},[3657,3673,3680,3693,3700,3712,3718,3730,3736,3748],{"type":30,"tagName":129,"properties":3658,"children":3659,"position":3668},{},[3660],{"type":26,"value":3661,"position":3662},"Everything is NaN.",{"start":3663,"end":3666},{"line":3664,"column":38,"offset":3665},152,10040,{"line":3664,"column":2409,"offset":3667},10058,{"start":3669,"end":3671},{"line":3664,"column":162,"offset":3670},10038,{"line":3664,"column":3011,"offset":3672},10060,{"type":26,"value":3674,"position":3675}," A secondary input under ",{"start":3676,"end":3677},{"line":3664,"column":3011,"offset":3672},{"line":3664,"column":3678,"offset":3679},50,10085,{"type":30,"tagName":60,"properties":3681,"children":3682,"position":3690},{},[3683],{"type":26,"value":3684,"position":3685},"missing: \"nan\"",{"start":3686,"end":3687},{"line":3664,"column":3678,"offset":3679},{"line":3664,"column":3688,"offset":3689},66,10101,{"start":3691,"end":3692},{"line":3664,"column":3678,"offset":3679},{"line":3664,"column":3688,"offset":3689},{"type":26,"value":3694,"position":3695}," on bars without an observation, an arithmetic chain fed by one ",{"start":3696,"end":3697},{"line":3664,"column":3688,"offset":3689},{"line":3664,"column":3698,"offset":3699},130,10165,{"type":30,"tagName":60,"properties":3701,"children":3702,"position":3709},{},[3703],{"type":26,"value":3070,"position":3704},{"start":3705,"end":3706},{"line":3664,"column":3698,"offset":3699},{"line":3664,"column":3707,"offset":3708},135,10170,{"start":3710,"end":3711},{"line":3664,"column":3698,"offset":3699},{"line":3664,"column":3707,"offset":3708},{"type":26,"value":3713,"position":3714}," input, or a division by zero. Probe each input as a ",{"start":3715,"end":3716},{"line":3664,"column":3707,"offset":3708},{"line":3664,"column":3236,"offset":3717},10223,{"type":30,"tagName":60,"properties":3719,"children":3720,"position":3727},{},[3721],{"type":26,"value":195,"position":3722},{"start":3723,"end":3724},{"line":3664,"column":3236,"offset":3717},{"line":3664,"column":3725,"offset":3726},194,10229,{"start":3728,"end":3729},{"line":3664,"column":3236,"offset":3717},{"line":3664,"column":3725,"offset":3726},{"type":26,"value":3731,"position":3732}," output and find the first ",{"start":3733,"end":3734},{"line":3664,"column":3725,"offset":3726},{"line":3664,"column":3647,"offset":3735},10256,{"type":30,"tagName":60,"properties":3737,"children":3738,"position":3745},{},[3739],{"type":26,"value":3070,"position":3740},{"start":3741,"end":3742},{"line":3664,"column":3647,"offset":3735},{"line":3664,"column":3743,"offset":3744},226,10261,{"start":3746,"end":3747},{"line":3664,"column":3647,"offset":3735},{"line":3664,"column":3743,"offset":3744},{"type":26,"value":2969,"position":3749},{"start":3750,"end":3751},{"line":3664,"column":3743,"offset":3744},{"line":3664,"column":3752,"offset":3753},227,10262,{"start":3755,"end":3757},{"line":3664,"column":21,"offset":3756},10036,{"line":3664,"column":3752,"offset":3753},{"type":26,"value":27},{"type":30,"tagName":125,"properties":3760,"children":3761,"position":3819},{},[3762,3777,3783,3795,3801,3813],{"type":30,"tagName":129,"properties":3763,"children":3764,"position":3772},{},[3765],{"type":26,"value":3766,"position":3767},"Wrong pane.",{"start":3768,"end":3770},{"line":2647,"column":38,"offset":3769},10267,{"line":2647,"column":1730,"offset":3771},10278,{"start":3773,"end":3775},{"line":2647,"column":162,"offset":3774},10265,{"line":2647,"column":241,"offset":3776},10280,{"type":26,"value":3778,"position":3779}," A percent or a count drawn ",{"start":3780,"end":3781},{"line":2647,"column":241,"offset":3776},{"line":2647,"column":2538,"offset":3782},10308,{"type":30,"tagName":60,"properties":3784,"children":3785,"position":3792},{},[3786],{"type":26,"value":3787,"position":3788},"overlay",{"start":3789,"end":3790},{"line":2647,"column":2538,"offset":3782},{"line":2647,"column":2690,"offset":3791},10317,{"start":3793,"end":3794},{"line":2647,"column":2538,"offset":3782},{"line":2647,"column":2690,"offset":3791},{"type":26,"value":3796,"position":3797}," hugs the price axis floor. Declare it ",{"start":3798,"end":3799},{"line":2647,"column":2690,"offset":3791},{"line":2647,"column":2644,"offset":3800},10356,{"type":30,"tagName":60,"properties":3802,"children":3803,"position":3810},{},[3804],{"type":26,"value":144,"position":3805},{"start":3806,"end":3807},{"line":2647,"column":2644,"offset":3800},{"line":2647,"column":3808,"offset":3809},101,10363,{"start":3811,"end":3812},{"line":2647,"column":2644,"offset":3800},{"line":2647,"column":3808,"offset":3809},{"type":26,"value":2969,"position":3814},{"start":3815,"end":3816},{"line":2647,"column":3808,"offset":3809},{"line":2647,"column":3817,"offset":3818},102,10364,{"start":3820,"end":3822},{"line":2647,"column":21,"offset":3821},10263,{"line":2647,"column":3817,"offset":3818},{"type":26,"value":27},{"type":30,"tagName":125,"properties":3825,"children":3826,"position":3886},{},[3827,3843,3849,3861,3867,3879],{"type":30,"tagName":129,"properties":3828,"children":3829,"position":3838},{},[3830],{"type":26,"value":3831,"position":3832},"A mark on every bar.",{"start":3833,"end":3836},{"line":3834,"column":38,"offset":3835},154,10369,{"line":3834,"column":3011,"offset":3837},10389,{"start":3839,"end":3841},{"line":3834,"column":162,"offset":3840},10367,{"line":3834,"column":2521,"offset":3842},10391,{"type":26,"value":3844,"position":3845}," A ",{"start":3846,"end":3847},{"line":3834,"column":2521,"offset":3842},{"line":3834,"column":3019,"offset":3848},10394,{"type":30,"tagName":60,"properties":3850,"children":3851,"position":3858},{},[3852],{"type":26,"value":3853,"position":3854},"shape",{"start":3855,"end":3856},{"line":3834,"column":3019,"offset":3848},{"line":3834,"column":2925,"offset":3857},10401,{"start":3859,"end":3860},{"line":3834,"column":3019,"offset":3848},{"line":3834,"column":2925,"offset":3857},{"type":26,"value":3862,"position":3863}," output without ",{"start":3864,"end":3865},{"line":3834,"column":2925,"offset":3857},{"line":3834,"column":982,"offset":3866},10417,{"type":30,"tagName":60,"properties":3868,"children":3869,"position":3876},{},[3870],{"type":26,"value":3871,"position":3872},"shape_where",{"start":3873,"end":3874},{"line":3834,"column":982,"offset":3866},{"line":3834,"column":3688,"offset":3875},10430,{"start":3877,"end":3878},{"line":3834,"column":982,"offset":3866},{"line":3834,"column":3688,"offset":3875},{"type":26,"value":3880,"position":3881},". Add the gate output.",{"start":3882,"end":3883},{"line":3834,"column":3688,"offset":3875},{"line":3834,"column":3884,"offset":3885},88,10452,{"start":3887,"end":3889},{"line":3834,"column":21,"offset":3888},10365,{"line":3834,"column":3884,"offset":3885},{"type":26,"value":27},{"type":30,"tagName":125,"properties":3892,"children":3893,"position":3918},{},[3894,3911],{"type":30,"tagName":129,"properties":3895,"children":3896,"position":3905},{},[3897],{"type":26,"value":3898,"position":3899},"The newest bar jumps around.",{"start":3900,"end":3902},{"line":2652,"column":38,"offset":3901},10457,{"line":2652,"column":3903,"offset":3904},33,10485,{"start":3906,"end":3908},{"line":2652,"column":162,"offset":3907},10455,{"line":2652,"column":3909,"offset":3910},35,10487,{"type":26,"value":3912,"position":3913}," It is still forming: the chart re-evaluates it as live updates arrive, at most about once a second, starting each time from the module's state as it stood after the last closed bar. A bar's value settles when the bar closes.",{"start":3914,"end":3915},{"line":2652,"column":3909,"offset":3910},{"line":2652,"column":3916,"offset":3917},260,10712,{"start":3919,"end":3921},{"line":2652,"column":21,"offset":3920},10453,{"line":2652,"column":3916,"offset":3917},{"type":26,"value":27},{"type":30,"tagName":125,"properties":3924,"children":3925,"position":4025},{},[3926,3943,3949,3960,3966,3978,3985,3998,4005,4018],{"type":30,"tagName":129,"properties":3927,"children":3928,"position":3937},{},[3929],{"type":26,"value":3930,"position":3931},"Nothing at all, no error.",{"start":3932,"end":3935},{"line":3933,"column":38,"offset":3934},156,10717,{"line":3933,"column":3019,"offset":3936},10742,{"start":3938,"end":3940},{"line":3933,"column":162,"offset":3939},10715,{"line":3933,"column":3941,"offset":3942},32,10744,{"type":26,"value":3944,"position":3945}," ",{"start":3946,"end":3947},{"line":3933,"column":3941,"offset":3942},{"line":3933,"column":3903,"offset":3948},10745,{"type":30,"tagName":60,"properties":3950,"children":3951,"position":3957},{},[3952],{"type":26,"value":279,"position":3953},{"start":3954,"end":3955},{"line":3933,"column":3903,"offset":3948},{"line":3933,"column":959,"offset":3956},10754,{"start":3958,"end":3959},{"line":3933,"column":3903,"offset":3948},{"line":3933,"column":959,"offset":3956},{"type":26,"value":3961,"position":3962}," never reaches a write (a class whose period exceeds the loaded history), the only rendered output is declared ",{"start":3963,"end":3964},{"line":3933,"column":959,"offset":3956},{"line":3933,"column":2647,"offset":3965},10865,{"type":30,"tagName":60,"properties":3967,"children":3968,"position":3975},{},[3969],{"type":26,"value":195,"position":3970},{"start":3971,"end":3972},{"line":3933,"column":2647,"offset":3965},{"line":3933,"column":3973,"offset":3974},159,10871,{"start":3976,"end":3977},{"line":3933,"column":2647,"offset":3965},{"line":3933,"column":3973,"offset":3974},{"type":26,"value":3979,"position":3980},", or the chart's market does not serve the source (the chart names it, for example ",{"start":3981,"end":3982},{"line":3933,"column":3973,"offset":3974},{"line":3933,"column":3983,"offset":3984},242,10954,{"type":30,"tagName":60,"properties":3986,"children":3987,"position":3995},{},[3988],{"type":26,"value":3989,"position":3990},"celled source class 'tape' is not served by the browser lane yet",{"start":3991,"end":3992},{"line":3933,"column":3983,"offset":3984},{"line":3933,"column":3993,"offset":3994},308,11020,{"start":3996,"end":3997},{"line":3933,"column":3983,"offset":3984},{"line":3933,"column":3993,"offset":3994},{"type":26,"value":3999,"position":4000},", or ",{"start":4001,"end":4002},{"line":3933,"column":3993,"offset":3994},{"line":3933,"column":4003,"offset":4004},313,11025,{"type":30,"tagName":60,"properties":4006,"children":4007,"position":4015},{},[4008],{"type":26,"value":4009,"position":4010},"Volume profile data is unavailable for ...",{"start":4011,"end":4012},{"line":3933,"column":4003,"offset":4004},{"line":3933,"column":4013,"offset":4014},357,11069,{"start":4016,"end":4017},{"line":3933,"column":4003,"offset":4004},{"line":3933,"column":4013,"offset":4014},{"type":26,"value":4019,"position":4020},").",{"start":4021,"end":4022},{"line":3933,"column":4013,"offset":4014},{"line":3933,"column":4023,"offset":4024},359,11071,{"start":4026,"end":4028},{"line":3933,"column":21,"offset":4027},10713,{"line":3933,"column":4023,"offset":4024},{"type":26,"value":27},{"type":30,"tagName":125,"properties":4031,"children":4032,"position":4170},{},[4033,4065,4072,4084,4090,4102,4108,4120,4127,4140,4146,4164],{"type":30,"tagName":129,"properties":4034,"children":4035,"position":4060},{},[4036,4043,4054],{"type":26,"value":4037,"position":4038},"A pinned input reads ",{"start":4039,"end":4041},{"line":2774,"column":38,"offset":4040},11076,{"line":2774,"column":2516,"offset":4042},11097,{"type":30,"tagName":60,"properties":4044,"children":4045,"position":4051},{},[4046],{"type":26,"value":3070,"position":4047},{"start":4048,"end":4049},{"line":2774,"column":2516,"offset":4042},{"line":2774,"column":96,"offset":4050},11102,{"start":4052,"end":4053},{"line":2774,"column":2516,"offset":4042},{"line":2774,"column":96,"offset":4050},{"type":26,"value":4055,"position":4056}," everywhere.",{"start":4057,"end":4058},{"line":2774,"column":96,"offset":4050},{"line":2774,"column":972,"offset":4059},11114,{"start":4061,"end":4063},{"line":2774,"column":162,"offset":4062},11074,{"line":2774,"column":2944,"offset":4064},11116,{"type":26,"value":4066,"position":4067}," An index pin (",{"start":4068,"end":4069},{"line":2774,"column":2944,"offset":4064},{"line":2774,"column":4070,"offset":4071},60,11131,{"type":30,"tagName":60,"properties":4073,"children":4074,"position":4081},{},[4075],{"type":26,"value":4076,"position":4077},"POLYGON_INDICES",{"start":4078,"end":4079},{"line":2774,"column":4070,"offset":4071},{"line":2774,"column":2755,"offset":4080},11148,{"start":4082,"end":4083},{"line":2774,"column":4070,"offset":4071},{"line":2774,"column":2755,"offset":4080},{"type":26,"value":4085,"position":4086},") reads ",{"start":4087,"end":4088},{"line":2774,"column":2755,"offset":4080},{"line":2774,"column":992,"offset":4089},11156,{"type":30,"tagName":60,"properties":4091,"children":4092,"position":4099},{},[4093],{"type":26,"value":3070,"position":4094},{"start":4095,"end":4096},{"line":2774,"column":992,"offset":4089},{"line":2774,"column":4097,"offset":4098},90,11161,{"start":4100,"end":4101},{"line":2774,"column":992,"offset":4089},{"line":2774,"column":4097,"offset":4098},{"type":26,"value":4103,"position":4104},", and the legend says why; any pin reads ",{"start":4105,"end":4106},{"line":2774,"column":4097,"offset":4098},{"line":2774,"column":1012,"offset":4107},11202,{"type":30,"tagName":60,"properties":4109,"children":4110,"position":4117},{},[4111],{"type":26,"value":3070,"position":4112},{"start":4113,"end":4114},{"line":2774,"column":1012,"offset":4107},{"line":2774,"column":4115,"offset":4116},136,11207,{"start":4118,"end":4119},{"line":2774,"column":1012,"offset":4107},{"line":2774,"column":4115,"offset":4116},{"type":26,"value":4121,"position":4122}," until its first candle closes. A misspelled pin is refused instead: ",{"start":4123,"end":4124},{"line":2774,"column":4115,"offset":4116},{"line":2774,"column":4125,"offset":4126},205,11276,{"type":30,"tagName":60,"properties":4128,"children":4129,"position":4137},{},[4130],{"type":26,"value":4131,"position":4132},"Pinned market candle (...) data is unavailable for ...",{"start":4133,"end":4134},{"line":2774,"column":4125,"offset":4126},{"line":2774,"column":4135,"offset":4136},261,11332,{"start":4138,"end":4139},{"line":2774,"column":4125,"offset":4126},{"line":2774,"column":4135,"offset":4136},{"type":26,"value":871,"position":4141},{"start":4142,"end":4143},{"line":2774,"column":4135,"offset":4136},{"line":2774,"column":4144,"offset":4145},263,11334,{"type":30,"tagName":3029,"properties":4147,"children":4149,"position":4159},{"href":4148},"../reference/symbol-format.md",[4150],{"type":26,"value":4151,"position":4152},"Exchange and symbol format",{"start":4153,"end":4156},{"line":2774,"column":4154,"offset":4155},264,11335,{"line":2774,"column":4157,"offset":4158},290,11361,{"start":4160,"end":4161},{"line":2774,"column":4144,"offset":4145},{"line":2774,"column":4162,"offset":4163},322,11393,{"type":26,"value":4019,"position":4165},{"start":4166,"end":4167},{"line":2774,"column":4162,"offset":4163},{"line":2774,"column":4168,"offset":4169},324,11395,{"start":4171,"end":4173},{"line":2774,"column":21,"offset":4172},11072,{"line":2774,"column":4168,"offset":4169},{"type":26,"value":27},{"type":30,"tagName":125,"properties":4176,"children":4177,"position":4284},{},[4178,4193,4200,4213,4220,4233,4240,4253,4260,4278],{"type":30,"tagName":129,"properties":4179,"children":4180,"position":4188},{},[4181],{"type":26,"value":4182,"position":4183},"An alert does not match the chart.",{"start":4184,"end":4186},{"line":1022,"column":38,"offset":4185},11400,{"line":1022,"column":2933,"offset":4187},11434,{"start":4189,"end":4191},{"line":1022,"column":162,"offset":4190},11398,{"line":1022,"column":2606,"offset":4192},11436,{"type":26,"value":4194,"position":4195}," An alert runs the published version and the settings of the overlay it was set on, in OpenMarket's cloud, on the chart's own market; the draft in your editor is not what it evaluates. Publish the change, add the new version to the chart, and set the alert on it. A declared ",{"start":4196,"end":4197},{"line":1022,"column":2606,"offset":4192},{"line":1022,"column":4198,"offset":4199},316,11711,{"type":30,"tagName":60,"properties":4201,"children":4202,"position":4210},{},[4203],{"type":26,"value":4204,"position":4205},"alert(...)",{"start":4206,"end":4207},{"line":1022,"column":4198,"offset":4199},{"line":1022,"column":4208,"offset":4209},328,11723,{"start":4211,"end":4212},{"line":1022,"column":4198,"offset":4199},{"line":1022,"column":4208,"offset":4209},{"type":26,"value":4214,"position":4215}," fires on the bar its ",{"start":4216,"end":4217},{"line":1022,"column":4208,"offset":4209},{"line":1022,"column":4218,"offset":4219},350,11745,{"type":30,"tagName":60,"properties":4221,"children":4222,"position":4230},{},[4223],{"type":26,"value":4224,"position":4225},"when",{"start":4226,"end":4227},{"line":1022,"column":4218,"offset":4219},{"line":1022,"column":4228,"offset":4229},356,11751,{"start":4231,"end":4232},{"line":1022,"column":4218,"offset":4219},{"line":1022,"column":4228,"offset":4229},{"type":26,"value":4234,"position":4235}," output turns from zero to nonzero, so a gate that stays at ",{"start":4236,"end":4237},{"line":1022,"column":4228,"offset":4229},{"line":1022,"column":4238,"offset":4239},416,11811,{"type":30,"tagName":60,"properties":4241,"children":4242,"position":4250},{},[4243],{"type":26,"value":4244,"position":4245},"1",{"start":4246,"end":4247},{"line":1022,"column":4238,"offset":4239},{"line":1022,"column":4248,"offset":4249},419,11814,{"start":4251,"end":4252},{"line":1022,"column":4238,"offset":4239},{"line":1022,"column":4248,"offset":4249},{"type":26,"value":4254,"position":4255}," fires once (",{"start":4256,"end":4257},{"line":1022,"column":4248,"offset":4249},{"line":1022,"column":4258,"offset":4259},432,11827,{"type":30,"tagName":3029,"properties":4261,"children":4263,"position":4273},{"href":4262},"../functions/alerts.md",[4264],{"type":26,"value":4265,"position":4266},"Alerts",{"start":4267,"end":4270},{"line":1022,"column":4268,"offset":4269},433,11828,{"line":1022,"column":4271,"offset":4272},439,11834,{"start":4274,"end":4275},{"line":1022,"column":4258,"offset":4259},{"line":1022,"column":4276,"offset":4277},464,11859,{"type":26,"value":4019,"position":4279},{"start":4280,"end":4281},{"line":1022,"column":4276,"offset":4277},{"line":1022,"column":4282,"offset":4283},466,11861,{"start":4285,"end":4287},{"line":1022,"column":21,"offset":4286},11396,{"line":1022,"column":4282,"offset":4283},{"type":26,"value":27},{"start":4290,"end":4291},{"line":3528,"column":21,"offset":3582},{"line":1022,"column":4282,"offset":4283},{"type":26,"value":27},{"type":30,"tagName":31,"properties":4294,"children":4295,"position":4303},{},[4296],{"type":26,"value":4297,"position":4298},"Walk these top to bottom. The fix for each is one line, and the probe from step 1 usually tells you which one you are looking at.",{"start":4299,"end":4301},{"line":2710,"column":21,"offset":4300},11863,{"line":2710,"column":3698,"offset":4302},11992,{"start":4304,"end":4305},{"line":2710,"column":21,"offset":4300},{"line":2710,"column":3698,"offset":4302},{"type":26,"value":27},{"type":30,"tagName":85,"properties":4308,"children":4309,"position":4317},{},[4310],{"type":26,"value":4311,"position":4312},"See also",{"start":4313,"end":4315},{"line":113,"column":93,"offset":4314},11997,{"line":113,"column":2687,"offset":4316},12005,{"start":4318,"end":4320},{"line":113,"column":21,"offset":4319},11994,{"line":113,"column":2687,"offset":4316},{"type":26,"value":27},{"type":30,"tagName":120,"properties":4323,"children":4324,"position":4450},{},[4325,4326,4356,4357,4388,4389,4420,4421,4449],{"type":26,"value":27},{"type":30,"tagName":125,"properties":4327,"children":4328,"position":4352},{},[4329,4345],{"type":30,"tagName":3029,"properties":4330,"children":4331,"position":4339},{"href":3031},[4332],{"type":26,"value":3034,"position":4333},{"start":4334,"end":4337},{"line":4335,"column":93,"offset":4336},164,12010,{"line":4335,"column":2567,"offset":4338},12023,{"start":4340,"end":4342},{"line":4335,"column":162,"offset":4341},12009,{"line":4335,"column":4343,"offset":4344},36,12042,{"type":26,"value":4346,"position":4347}," for every build and runtime message with its fix.",{"start":4348,"end":4349},{"line":4335,"column":4343,"offset":4344},{"line":4335,"column":4350,"offset":4351},86,12092,{"start":4353,"end":4355},{"line":4335,"column":21,"offset":4354},12007,{"line":4335,"column":4350,"offset":4351},{"type":26,"value":27},{"type":30,"tagName":125,"properties":4358,"children":4359,"position":4384},{},[4360,4378],{"type":30,"tagName":3029,"properties":4361,"children":4363,"position":4372},{"href":4362},"../core-concepts/execution-model.md",[4364],{"type":26,"value":4365,"position":4366},"Execution model",{"start":4367,"end":4370},{"line":4368,"column":93,"offset":4369},165,12096,{"line":4368,"column":158,"offset":4371},12111,{"start":4373,"end":4375},{"line":4368,"column":162,"offset":4374},12095,{"line":4368,"column":4376,"offset":4377},57,12149,{"type":26,"value":4379,"position":4380}," for warm-up, the forming bar, and where an indicator runs.",{"start":4381,"end":4382},{"line":4368,"column":4376,"offset":4377},{"line":4368,"column":2732,"offset":4383},12208,{"start":4385,"end":4387},{"line":4368,"column":21,"offset":4386},12093,{"line":4368,"column":2732,"offset":4383},{"type":26,"value":27},{"type":30,"tagName":125,"properties":4390,"children":4391,"position":4416},{},[4392,4409],{"type":30,"tagName":3029,"properties":4393,"children":4395,"position":4404},{"href":4394},"../core-concepts/repainting.md",[4396],{"type":26,"value":4397,"position":4398},"Repainting",{"start":4399,"end":4402},{"line":4400,"column":93,"offset":4401},166,12212,{"line":4400,"column":148,"offset":4403},12222,{"start":4405,"end":4407},{"line":4400,"column":162,"offset":4406},12211,{"line":4400,"column":2976,"offset":4408},12255,{"type":26,"value":4410,"position":4411}," for what can change on the forming bar and what cannot.",{"start":4412,"end":4413},{"line":4400,"column":2976,"offset":4408},{"line":4400,"column":4414,"offset":4415},103,12311,{"start":4417,"end":4419},{"line":4400,"column":21,"offset":4418},12209,{"line":4400,"column":4414,"offset":4415},{"type":26,"value":27},{"type":30,"tagName":125,"properties":4422,"children":4423,"position":4445},{},[4424,4439],{"type":30,"tagName":3029,"properties":4425,"children":4426,"position":4434},{"href":4262},[4427],{"type":26,"value":4265,"position":4428},{"start":4429,"end":4432},{"line":4430,"column":93,"offset":4431},167,12315,{"line":4430,"column":2678,"offset":4433},12321,{"start":4435,"end":4437},{"line":4430,"column":162,"offset":4436},12314,{"line":4430,"column":3909,"offset":4438},12346,{"type":26,"value":4440,"position":4441}," for what an alert on an indicator evaluates.",{"start":4442,"end":4443},{"line":4430,"column":3909,"offset":4438},{"line":4430,"column":3550,"offset":4444},12391,{"start":4446,"end":4448},{"line":4430,"column":21,"offset":4447},12312,{"line":4430,"column":3550,"offset":4444},{"type":26,"value":27},{"start":4451,"end":4452},{"line":4335,"column":21,"offset":4354},{"line":4430,"column":3550,"offset":4444},{"quirksMode":4454},false,{"start":4456,"end":4457},{"line":21,"column":21,"offset":22},{"line":4458,"column":21,"offset":4459},168,12392,1791265223186]