[{"data":1,"prerenderedAt":3744},["ShallowReactive",2],{"wrun-open-editor-url":3,"indicators:core-concepts/core-variables":4},"https://openmarket.xyz/chart/#wrun-open=v1",{"slug":5,"filePath":6,"frontmatter":7,"rawMarkdown":12,"tree":13},"core-concepts/core-variables","core-concepts/core-variables.md",{"title":8,"description":9,"order":10,"section":11},"Variables: locals, module state, and history","Variable declaration and bar-state behavior in a wrun indicator: what a local in onBar() is, what a module-level variable is, and how a value with history is…",16,"core-concepts","---\ntitle: \"Variables: locals, module state, and history\"\ndescription: \"Variable declaration and bar-state behavior in a wrun indicator: what a local in onBar() is, what a module-level variable is, and how a value with history is…\"\norder: 16\nsection: \"core-concepts\"\n---\n\n\u003C!-- source: docs/indicators/core-concepts/core-variables.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Variables: locals, module state, and history\n\nVariable declaration and bar-state behavior in a wrun indicator: what a local in\n`onBar()` is, what a module-level variable is, and how a value with history\nis kept. An indicator has the ordinary scoping of TypeScript syntax plus\ntwo hooks: `onStart()` once before the first bar, `onBar()` once per bar.\n\n## Declaration roles\n\n| Lifetime | wrun |\n| --- | --- |\n| this bar only | a `const` or `let` inside `onBar()` |\n| carried across bars | a module-level `let`, initialized once (at module scope or in `onStart()`) |\n| a value with history | a `History` ([Stats, history and lists](../functions/stats-history-lists.md#history-xn-from-pine)), a TA class, or by hand a module-level \"previous\" variable or a ring buffer |\n\nA **local** is born when `onBar()` is called for a bar and gone when it\nreturns. It is right for a scalar you compute and use immediately: this\nbar's typical price, a ratio, a comparison.\n\nA **module-level `let`** lives outside the hooks and keeps its\nvalue from one call to the next. A counter incremented on each bar keeps\nits running total for the whole run; an accumulator like a cumulative delta\nis one of these; so is any TA object, since its window is state too. The\nchart replays the forming bar from a snapshot of every module-level\nvariable ([Repainting](repainting.md)).\n\nA **value with history** is something an indicator keeps on purpose. For\nthe previous bar's value, store the value in a\nmodule-level variable when you see it and read it on the next bar. For\n`[n]` over a window, a `StaticArray\u003Cf64>` used as a ring buffer. For a\nwindowed statistic, a TA class holds the window for you.\n`History` packages the first two: `push()` the value\nonce per bar and read `ago(n)`\n([Stats, history and lists](../functions/stats-history-lists.md#history-xn-from-pine)).\n\n## The bar's index, the first bar, the newest bar\n\nThere are no bar-state globals in an indicator; each need has a plain\nform:\n\n| Need | wrun |\n| --- | --- |\n| the bar's index | a module-level counter you increment in `onBar()` |\n| the first bar | that counter at `0` (or a `first` flag `onStart()` sets and `onBar()` clears) |\n| is this bar closed | no flag: on the live chart the newest bar is the forming one; the chart evaluates it again as new data arrives, from a snapshot of the state the closed bars left, and once more as a closed bar when it closes |\n| the newest bar | `bar.isLast()`, true on the newest bar the run holds ([Execution model](execution-model.md)); renderers and drawings evaluate the newest ready row on their own |\n| does a later bar exist | your counter + 1 below `bar.count()`, the bars the run holds ([Execution model](execution-model.md#how-many-bars-the-run-holds)) |\n\n`bar` also carries the chart's own candle, with no `input` line: reading\na field adds that input to the sheet, on the chart's own market and\ntimeframe ([Data sources](data-sources.md)). Every member is this bar's\nvalue inside `onBar()`; in `onStart()` the fields read `NaN`.\n\n| Member | Type | What it reads |\n| --- | --- | --- |\n| `bar.open()` | `f64` | the chart candle's open (`ohlcv.open`) |\n| `bar.high()` | `f64` | its high (`ohlcv.high`) |\n| `bar.low()` | `f64` | its low (`ohlcv.low`) |\n| `bar.close()` | `f64` | its close (`ohlcv.close`) |\n| `bar.volume()` | `f64` | its volume (`ohlcv.volume`) |\n| `bar.time()` | `f64` | its open time in epoch seconds, UTC (`time.bar_open_sec`) |\n| `bar.isLast()` | `bool` | no input: true on the newest bar the run holds, the last row of a full run or the forming bar live |\n| `bar.count()` | `i32` | no input: how many bars the run holds while this bar is evaluated, the forming bar included; every bar of a full run reads the run's bar count |\n\nOne-time initialization is `onStart()` itself: it runs once before the\nfirst bar and reads the params. Logic that must run on the first bar of\ndata (seeding a level from the first open) is the counter test.\n\n## No tuples\n\nA multi-output computation is a class whose fields you read by name after\n`update()` (`named-streams.md`); there are no tuples to destructure.\n\n## History example\n\nThe close, the one-bar change (a remembered previous close), and a moving\naverage whose class holds the window. Nothing here is indexed; everything\nis kept.\n\n```typescript sample=cc-vars-history\nparam(\"period\", 20, { min: 1, max: 200, description: \"SMA length\" });\noutput(\"moving_average\", line, overlay, { color: \"#dc2626\", width: 2, description: \"SMA of the close (the class keeps the window)\" });\noutput(\"change\", line, lower, { color: \"#2563eb\", width: 2, description: \"Close minus the previous close (one remembered value)\" });\n\nlet sma = new Sma(20);\nlet prevClose: f64 = NaN; // stands in for closeSeries[1]\n\nfunction onStart(): void {\n  sma = new Sma(i32(p_period()));\n}\n\nfunction onBar(): void {\n  const close = bar.close(); // a local: this bar's value, gone after the call\n  const change = isNaN(prevClose) ? NaN : close - prevClose;\n  prevClose = close; // remember it for the next bar\n  const average = sma.update(close);\n  if (isNaN(change)) return;\n  out_change(change);\n  out_moving_average(average);\n}\n```\n\nOn the first bar there is no previous close, so `change` is `NaN` and the\nfile returns before writing anything; from the second bar on the change\ndraws, and the average joins it once its window is full (writing `NaN`\nuntil then is a gap on that one line, not a blank bar).\n\n## Persist example\n\nA bar counter that keeps its running total, plus a bar index and a\nfirst-bar seed in the same file.\n\n```typescript sample=cc-vars-persist\noutput(\"carried_score\", line, lower, { color: \"#16a34a\", width: 2, description: \"Bars seen plus this bar's body: a value carried across bars\" });\noutput(\"bar_index\", line, lower, { color: \"#94a3b8\", description: \"0 on the oldest bar, counting up\" });\noutput(\"first_open\", line, lower, { color: \"#f59e0b\", description: \"The open of the first bar of loaded history, held\" });\n\nlet barsSeen: f64 = 0.0; // module state: survives every bar\nlet barIndex: i32 = 0; // counts bars from the oldest loaded one\nlet firstOpen: f64 = NaN; // seeded once, on the first bar\n\nfunction onBar(): void {\n  const open = bar.open();\n  const close = bar.close();\n  if (barIndex == 0) firstOpen = open; // the first bar of the run\n  barsSeen += 1.0;\n  const score = barsSeen + (close - open);\n  barIndex += 1;\n  out_carried_score(score);\n  out_bar_index(f64(barIndex - 1));\n  out_first_open(firstOpen);\n}\n```\n\n`barsSeen` is the carried counter; `barIndex` is the same idea kept as\nan `i32` and written to an output as `f64(barIndex - 1)` (the increment\nhappens before the write). The counter says `0` on the oldest\nloaded bar, not on the first bar the market ever traded: history depth is\nwhatever the chart loaded, and panning back, which runs the indicator again\nover the longer window, renumbers every bar ([Repainting](repainting.md)).\n\n## Boundaries\n\n**Indexing a number is refused.** `const previous = closeNow[1];` on an\n`f64` fails to compile with `Index signature is missing in type 'f64'`.\nThere is nothing to index: `push()` the value into a `History` and read\n`ago(1)`\n([Stats, history and lists](../functions/stats-history-lists.md#history-xn-from-pine)), or promote it to a\nremembered variable or a ring buffer.\n\n**A local does not survive the call.** A `let` declared inside `onBar()`\nstarts over on every bar. If you meant to carry it, move the declaration\nto module level.\n\n**Nothing in the file puts module state back.** The chart does not need\nit to replay the forming bar: it restores a snapshot of the module taken\nafter the last closed bar, every module-level variable and every TA\nobject included ([Repainting](repainting.md)).\n\n**Allocate once.** A module-level `new StaticArray\u003Cf64>(n)` or `new Sma(n)`\nis built in `onStart()` or at module scope, never per bar: the module has no\ngarbage collector, so memory only grows, and the chart refuses a run whose\nmemory grows once the bars start ([Collections](collections.md)).\n",{"type":14,"children":15,"data":3737,"position":3739},"root",[16,26,29,30,108,109,126,128,422,423,477,478,544,545,693,694,709,710,724,726,1107,1108,1228,1230,1843,1844,1875,1876,1891,1892,1941,1942,1957,1958,1973,1974,2585,2586,2654,2655,2670,2671,2687,2688,3232,3233,3350,3351,3366,3367,3523,3524,3586,3587,3634,3635],{"type":17,"value":18,"position":19},"comment"," source: docs/indicators/core-concepts/core-variables.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit ",{"start":20,"end":23},{"line":21,"column":21,"offset":22},1,0,{"line":21,"column":24,"offset":25},135,134,{"type":27,"value":28},"text","\n",{"type":27,"value":28},{"type":31,"tagName":32,"properties":33,"children":34,"position":105},"element","p",{},[35,44,58,66,79,86,98],{"type":27,"value":36,"position":37},"Variable declaration and bar-state behavior in a wrun indicator: what a local in\n",{"start":38,"end":41},{"line":39,"column":21,"offset":40},5,184,{"line":42,"column":21,"offset":43},6,265,{"type":31,"tagName":45,"properties":46,"children":47,"position":55},"code",{},[48],{"type":27,"value":49,"position":50},"onBar()",{"start":51,"end":52},{"line":42,"column":21,"offset":43},{"line":42,"column":53,"offset":54},10,274,{"start":56,"end":57},{"line":42,"column":21,"offset":43},{"line":42,"column":53,"offset":54},{"type":27,"value":59,"position":60}," is, what a module-level variable is, and how a value with history\nis kept. An indicator has the ordinary scoping of TypeScript syntax plus\ntwo hooks: ",{"start":61,"end":62},{"line":42,"column":53,"offset":54},{"line":63,"column":64,"offset":65},8,12,425,{"type":31,"tagName":45,"properties":67,"children":68,"position":76},{},[69],{"type":27,"value":70,"position":71},"onStart()",{"start":72,"end":73},{"line":63,"column":64,"offset":65},{"line":63,"column":74,"offset":75},23,436,{"start":77,"end":78},{"line":63,"column":64,"offset":65},{"line":63,"column":74,"offset":75},{"type":27,"value":80,"position":81}," once before the first bar, ",{"start":82,"end":83},{"line":63,"column":74,"offset":75},{"line":63,"column":84,"offset":85},51,464,{"type":31,"tagName":45,"properties":87,"children":88,"position":95},{},[89],{"type":27,"value":49,"position":90},{"start":91,"end":92},{"line":63,"column":84,"offset":85},{"line":63,"column":93,"offset":94},60,473,{"start":96,"end":97},{"line":63,"column":84,"offset":85},{"line":63,"column":93,"offset":94},{"type":27,"value":99,"position":100}," once per bar.",{"start":101,"end":102},{"line":63,"column":93,"offset":94},{"line":63,"column":103,"offset":104},74,487,{"start":106,"end":107},{"line":39,"column":21,"offset":40},{"line":63,"column":103,"offset":104},{"type":27,"value":28},{"type":31,"tagName":110,"properties":111,"children":112,"position":122},"h2",{},[113],{"type":27,"value":114,"position":115},"Declaration roles",{"start":116,"end":119},{"line":53,"column":117,"offset":118},4,492,{"line":53,"column":120,"offset":121},21,509,{"start":123,"end":125},{"line":53,"column":21,"offset":124},489,{"line":53,"column":120,"offset":121},{"type":27,"value":127},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":31,"tagName":129,"properties":130,"children":131,"position":419},"table",{},[132,180],{"type":31,"tagName":133,"properties":134,"children":135,"position":177},"thead",{},[136],{"type":31,"tagName":137,"properties":138,"children":139,"position":174},"tr",{},[140,158],{"type":31,"tagName":141,"properties":142,"children":143,"position":153},"th",{},[144],{"type":27,"value":145,"position":146},"Lifetime",{"start":147,"end":150},{"line":64,"column":148,"offset":149},3,513,{"line":64,"column":151,"offset":152},11,521,{"start":154,"end":156},{"line":64,"column":21,"offset":155},511,{"line":64,"column":64,"offset":157},522,{"type":31,"tagName":141,"properties":159,"children":160,"position":169},{},[161],{"type":31,"tagName":162,"properties":163,"children":166},"span",{"className":164},[165],"brand-lc",[167],{"type":27,"value":168},"wrun",{"start":170,"end":171},{"line":64,"column":64,"offset":157},{"line":64,"column":172,"offset":173},20,530,{"start":175,"end":176},{"line":64,"column":21,"offset":155},{"line":64,"column":172,"offset":173},{"start":178,"end":179},{"line":64,"column":21,"offset":155},{"line":64,"column":172,"offset":173},{"type":31,"tagName":181,"properties":182,"children":183,"position":416},"tbody",{},[184,267,338],{"type":31,"tagName":137,"properties":185,"children":186,"position":264},{},[187,205],{"type":31,"tagName":188,"properties":189,"children":190,"position":199},"td",{},[191],{"type":27,"value":192,"position":193},"this bar only",{"start":194,"end":197},{"line":195,"column":148,"offset":196},14,547,{"line":195,"column":10,"offset":198},560,{"start":200,"end":202},{"line":195,"column":21,"offset":201},545,{"line":195,"column":203,"offset":204},17,561,{"type":31,"tagName":188,"properties":206,"children":207,"position":259},{},[208,216,226,233,243,250],{"type":27,"value":209,"position":210},"a ",{"start":211,"end":214},{"line":195,"column":212,"offset":213},19,563,{"line":195,"column":120,"offset":215},565,{"type":31,"tagName":45,"properties":217,"children":218,"position":221},{},[219],{"type":27,"value":220},"const",{"start":222,"end":223},{"line":195,"column":120,"offset":215},{"line":195,"column":224,"offset":225},28,572,{"type":27,"value":227,"position":228}," or ",{"start":229,"end":230},{"line":195,"column":224,"offset":225},{"line":195,"column":231,"offset":232},32,576,{"type":31,"tagName":45,"properties":234,"children":235,"position":238},{},[236],{"type":27,"value":237},"let",{"start":239,"end":240},{"line":195,"column":231,"offset":232},{"line":195,"column":241,"offset":242},37,581,{"type":27,"value":244,"position":245}," inside ",{"start":246,"end":247},{"line":195,"column":241,"offset":242},{"line":195,"column":248,"offset":249},45,589,{"type":31,"tagName":45,"properties":251,"children":252,"position":254},{},[253],{"type":27,"value":49},{"start":255,"end":256},{"line":195,"column":248,"offset":249},{"line":195,"column":257,"offset":258},54,598,{"start":260,"end":261},{"line":195,"column":203,"offset":204},{"line":195,"column":262,"offset":263},56,600,{"start":265,"end":266},{"line":195,"column":21,"offset":201},{"line":195,"column":262,"offset":263},{"type":31,"tagName":137,"properties":268,"children":269,"position":335},{},[270,287],{"type":31,"tagName":188,"properties":271,"children":272,"position":282},{},[273],{"type":27,"value":274,"position":275},"carried across bars",{"start":276,"end":279},{"line":277,"column":148,"offset":278},15,603,{"line":277,"column":280,"offset":281},22,622,{"start":283,"end":285},{"line":277,"column":21,"offset":284},601,{"line":277,"column":74,"offset":286},623,{"type":31,"tagName":188,"properties":288,"children":289,"position":330},{},[290,299,307,314,323],{"type":27,"value":291,"position":292},"a module-level ",{"start":293,"end":296},{"line":277,"column":294,"offset":295},25,625,{"line":277,"column":297,"offset":298},40,640,{"type":31,"tagName":45,"properties":300,"children":301,"position":303},{},[302],{"type":27,"value":237},{"start":304,"end":305},{"line":277,"column":297,"offset":298},{"line":277,"column":248,"offset":306},645,{"type":27,"value":308,"position":309},", initialized once (at module scope or in ",{"start":310,"end":311},{"line":277,"column":248,"offset":306},{"line":277,"column":312,"offset":313},87,687,{"type":31,"tagName":45,"properties":315,"children":316,"position":318},{},[317],{"type":27,"value":70},{"start":319,"end":320},{"line":277,"column":312,"offset":313},{"line":277,"column":321,"offset":322},98,698,{"type":27,"value":324,"position":325},")",{"start":326,"end":327},{"line":277,"column":321,"offset":322},{"line":277,"column":328,"offset":329},99,699,{"start":331,"end":332},{"line":277,"column":74,"offset":286},{"line":277,"column":333,"offset":334},101,701,{"start":336,"end":337},{"line":277,"column":21,"offset":284},{"line":277,"column":333,"offset":334},{"type":31,"tagName":137,"properties":339,"children":340,"position":413},{},[341,357],{"type":31,"tagName":188,"properties":342,"children":343,"position":351},{},[344],{"type":27,"value":345,"position":346},"a value with history",{"start":347,"end":349},{"line":10,"column":148,"offset":348},704,{"line":10,"column":74,"offset":350},724,{"start":352,"end":354},{"line":10,"column":21,"offset":353},702,{"line":10,"column":355,"offset":356},24,725,{"type":31,"tagName":188,"properties":358,"children":359,"position":408},{},[360,367,376,383,401],{"type":27,"value":209,"position":361},{"start":362,"end":365},{"line":10,"column":363,"offset":364},26,727,{"line":10,"column":224,"offset":366},729,{"type":31,"tagName":45,"properties":368,"children":369,"position":372},{},[370],{"type":27,"value":371},"History",{"start":373,"end":374},{"line":10,"column":224,"offset":366},{"line":10,"column":241,"offset":375},738,{"type":27,"value":377,"position":378}," (",{"start":379,"end":380},{"line":10,"column":241,"offset":375},{"line":10,"column":381,"offset":382},39,740,{"type":31,"tagName":384,"properties":385,"children":387,"position":396},"a",{"href":386},"../functions/stats-history-lists.md#history-xn-from-pine",[388],{"type":27,"value":389,"position":390},"Stats, history and lists",{"start":391,"end":393},{"line":10,"column":297,"offset":392},741,{"line":10,"column":394,"offset":395},64,765,{"start":397,"end":398},{"line":10,"column":381,"offset":382},{"line":10,"column":399,"offset":400},123,824,{"type":27,"value":402,"position":403},"), a TA class, or by hand a module-level \"previous\" variable or a ring buffer",{"start":404,"end":405},{"line":10,"column":399,"offset":400},{"line":10,"column":406,"offset":407},200,901,{"start":409,"end":410},{"line":10,"column":355,"offset":356},{"line":10,"column":411,"offset":412},202,903,{"start":414,"end":415},{"line":10,"column":21,"offset":353},{"line":10,"column":411,"offset":412},{"start":417,"end":418},{"line":195,"column":21,"offset":201},{"line":10,"column":411,"offset":412},{"start":420,"end":421},{"line":64,"column":21,"offset":155},{"line":10,"column":411,"offset":412},{"type":27,"value":28},{"type":31,"tagName":32,"properties":424,"children":425,"position":474},{},[426,434,449,455,467],{"type":27,"value":427,"position":428},"A ",{"start":429,"end":432},{"line":430,"column":21,"offset":431},18,905,{"line":430,"column":148,"offset":433},907,{"type":31,"tagName":435,"properties":436,"children":437,"position":445},"strong",{},[438],{"type":27,"value":439,"position":440},"local",{"start":441,"end":443},{"line":430,"column":39,"offset":442},909,{"line":430,"column":53,"offset":444},914,{"start":446,"end":447},{"line":430,"column":148,"offset":433},{"line":430,"column":64,"offset":448},916,{"type":27,"value":450,"position":451}," is born when ",{"start":452,"end":453},{"line":430,"column":64,"offset":448},{"line":430,"column":363,"offset":454},930,{"type":31,"tagName":45,"properties":456,"children":457,"position":464},{},[458],{"type":27,"value":49,"position":459},{"start":460,"end":461},{"line":430,"column":363,"offset":454},{"line":430,"column":462,"offset":463},35,939,{"start":465,"end":466},{"line":430,"column":363,"offset":454},{"line":430,"column":462,"offset":463},{"type":27,"value":468,"position":469}," is called for a bar and gone when it\nreturns. It is right for a scalar you compute and use immediately: this\nbar's typical price, a ratio, a comparison.",{"start":470,"end":471},{"line":430,"column":462,"offset":463},{"line":172,"column":472,"offset":473},44,1092,{"start":475,"end":476},{"line":430,"column":21,"offset":431},{"line":172,"column":472,"offset":473},{"type":27,"value":28},{"type":31,"tagName":32,"properties":479,"children":480,"position":541},{},[481,487,512,519,535],{"type":27,"value":427,"position":482},{"start":483,"end":485},{"line":280,"column":21,"offset":484},1094,{"line":280,"column":148,"offset":486},1096,{"type":31,"tagName":435,"properties":488,"children":489,"position":508},{},[490,497],{"type":27,"value":491,"position":492},"module-level ",{"start":493,"end":495},{"line":280,"column":39,"offset":494},1098,{"line":280,"column":430,"offset":496},1111,{"type":31,"tagName":45,"properties":498,"children":499,"position":505},{},[500],{"type":27,"value":237,"position":501},{"start":502,"end":503},{"line":280,"column":430,"offset":496},{"line":280,"column":74,"offset":504},1116,{"start":506,"end":507},{"line":280,"column":430,"offset":496},{"line":280,"column":74,"offset":504},{"start":509,"end":510},{"line":280,"column":148,"offset":486},{"line":280,"column":294,"offset":511},1118,{"type":27,"value":513,"position":514}," lives outside the hooks and keeps its\nvalue from one call to the next. A counter incremented on each bar keeps\nits running total for the whole run; an accumulator like a cumulative delta\nis one of these; so is any TA object, since its window is state too. The\nchart replays the forming bar from a snapshot of every module-level\nvariable (",{"start":515,"end":516},{"line":280,"column":294,"offset":511},{"line":517,"column":151,"offset":518},27,1457,{"type":31,"tagName":384,"properties":520,"children":522,"position":530},{"href":521},"repainting.md",[523],{"type":27,"value":524,"position":525},"Repainting",{"start":526,"end":528},{"line":517,"column":64,"offset":527},1458,{"line":517,"column":280,"offset":529},1468,{"start":531,"end":532},{"line":517,"column":151,"offset":518},{"line":517,"column":533,"offset":534},38,1484,{"type":27,"value":536,"position":537},").",{"start":538,"end":539},{"line":517,"column":533,"offset":534},{"line":517,"column":297,"offset":540},1486,{"start":542,"end":543},{"line":280,"column":21,"offset":484},{"line":517,"column":297,"offset":540},{"type":27,"value":28},{"type":31,"tagName":32,"properties":546,"children":547,"position":690},{},[548,555,569,575,587,593,606,613,624,630,643,649,662,670,684],{"type":27,"value":427,"position":549},{"start":550,"end":553},{"line":551,"column":21,"offset":552},29,1488,{"line":551,"column":148,"offset":554},1490,{"type":31,"tagName":435,"properties":556,"children":557,"position":565},{},[558],{"type":27,"value":559,"position":560},"value with history",{"start":561,"end":563},{"line":551,"column":39,"offset":562},1492,{"line":551,"column":74,"offset":564},1510,{"start":566,"end":567},{"line":551,"column":148,"offset":554},{"line":551,"column":294,"offset":568},1512,{"type":27,"value":570,"position":571}," is something an indicator keeps on purpose. For\nthe previous bar's value, store the value in a\nmodule-level variable when you see it and read it on the next bar. For\n",{"start":572,"end":573},{"line":551,"column":294,"offset":568},{"line":231,"column":21,"offset":574},1679,{"type":31,"tagName":45,"properties":576,"children":577,"position":584},{},[578],{"type":27,"value":579,"position":580},"[n]",{"start":581,"end":582},{"line":231,"column":21,"offset":574},{"line":231,"column":42,"offset":583},1684,{"start":585,"end":586},{"line":231,"column":21,"offset":574},{"line":231,"column":42,"offset":583},{"type":27,"value":588,"position":589}," over a window, a ",{"start":590,"end":591},{"line":231,"column":42,"offset":583},{"line":231,"column":355,"offset":592},1702,{"type":31,"tagName":45,"properties":594,"children":595,"position":603},{},[596],{"type":27,"value":597,"position":598},"StaticArray\u003Cf64>",{"start":599,"end":600},{"line":231,"column":355,"offset":592},{"line":231,"column":601,"offset":602},42,1720,{"start":604,"end":605},{"line":231,"column":355,"offset":592},{"line":231,"column":601,"offset":602},{"type":27,"value":607,"position":608}," used as a ring buffer. For a\nwindowed statistic, a TA class holds the window for you.\n",{"start":609,"end":610},{"line":231,"column":601,"offset":602},{"line":611,"column":21,"offset":612},34,1807,{"type":31,"tagName":45,"properties":614,"children":615,"position":621},{},[616],{"type":27,"value":371,"position":617},{"start":618,"end":619},{"line":611,"column":21,"offset":612},{"line":611,"column":53,"offset":620},1816,{"start":622,"end":623},{"line":611,"column":21,"offset":612},{"line":611,"column":53,"offset":620},{"type":27,"value":625,"position":626}," packages the first two: ",{"start":627,"end":628},{"line":611,"column":53,"offset":620},{"line":611,"column":462,"offset":629},1841,{"type":31,"tagName":45,"properties":631,"children":632,"position":640},{},[633],{"type":27,"value":634,"position":635},"push()",{"start":636,"end":637},{"line":611,"column":462,"offset":629},{"line":611,"column":638,"offset":639},43,1849,{"start":641,"end":642},{"line":611,"column":462,"offset":629},{"line":611,"column":638,"offset":639},{"type":27,"value":644,"position":645}," the value\nonce per bar and read ",{"start":646,"end":647},{"line":611,"column":638,"offset":639},{"line":462,"column":74,"offset":648},1882,{"type":31,"tagName":45,"properties":650,"children":651,"position":659},{},[652],{"type":27,"value":653,"position":654},"ago(n)",{"start":655,"end":656},{"line":462,"column":74,"offset":648},{"line":462,"column":657,"offset":658},31,1890,{"start":660,"end":661},{"line":462,"column":74,"offset":648},{"line":462,"column":657,"offset":658},{"type":27,"value":663,"position":664},"\n(",{"start":665,"end":666},{"line":462,"column":657,"offset":658},{"line":667,"column":668,"offset":669},36,2,1892,{"type":31,"tagName":384,"properties":671,"children":672,"position":679},{"href":386},[673],{"type":27,"value":389,"position":674},{"start":675,"end":677},{"line":667,"column":148,"offset":676},1893,{"line":667,"column":517,"offset":678},1917,{"start":680,"end":681},{"line":667,"column":668,"offset":669},{"line":667,"column":682,"offset":683},86,1976,{"type":27,"value":536,"position":685},{"start":686,"end":687},{"line":667,"column":682,"offset":683},{"line":667,"column":688,"offset":689},88,1978,{"start":691,"end":692},{"line":551,"column":21,"offset":552},{"line":667,"column":688,"offset":689},{"type":27,"value":28},{"type":31,"tagName":110,"properties":695,"children":696,"position":705},{},[697],{"type":27,"value":698,"position":699},"The bar's index, the first bar, the newest bar",{"start":700,"end":702},{"line":533,"column":117,"offset":701},1983,{"line":533,"column":703,"offset":704},50,2029,{"start":706,"end":708},{"line":533,"column":21,"offset":707},1980,{"line":533,"column":703,"offset":704},{"type":27,"value":28},{"type":31,"tagName":32,"properties":711,"children":712,"position":721},{},[713],{"type":27,"value":714,"position":715},"There are no bar-state globals in an indicator; each need has a plain\nform:",{"start":716,"end":718},{"line":297,"column":21,"offset":717},2031,{"line":719,"column":42,"offset":720},41,2106,{"start":722,"end":723},{"line":297,"column":21,"offset":717},{"line":719,"column":42,"offset":720},{"type":27,"value":725},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":31,"tagName":129,"properties":727,"children":728,"position":1104},{},[729,769],{"type":31,"tagName":133,"properties":730,"children":731,"position":766},{},[732],{"type":31,"tagName":137,"properties":733,"children":734,"position":763},{},[735,751],{"type":31,"tagName":141,"properties":736,"children":737,"position":746},{},[738],{"type":27,"value":739,"position":740},"Need",{"start":741,"end":743},{"line":638,"column":148,"offset":742},2110,{"line":638,"column":744,"offset":745},7,2114,{"start":747,"end":749},{"line":638,"column":21,"offset":748},2108,{"line":638,"column":63,"offset":750},2115,{"type":31,"tagName":141,"properties":752,"children":753,"position":759},{},[754],{"type":31,"tagName":162,"properties":755,"children":757},{"className":756},[165],[758],{"type":27,"value":168},{"start":760,"end":761},{"line":638,"column":63,"offset":750},{"line":638,"column":10,"offset":762},2123,{"start":764,"end":765},{"line":638,"column":21,"offset":748},{"line":638,"column":10,"offset":762},{"start":767,"end":768},{"line":638,"column":21,"offset":748},{"line":638,"column":10,"offset":762},{"type":31,"tagName":181,"properties":770,"children":771,"position":1101},{},[772,818,917,955,1026],{"type":31,"tagName":137,"properties":773,"children":774,"position":815},{},[775,790],{"type":31,"tagName":188,"properties":776,"children":777,"position":785},{},[778],{"type":27,"value":779,"position":780},"the bar's index",{"start":781,"end":783},{"line":248,"column":148,"offset":782},2140,{"line":248,"column":430,"offset":784},2155,{"start":786,"end":788},{"line":248,"column":21,"offset":787},2138,{"line":248,"column":212,"offset":789},2156,{"type":31,"tagName":188,"properties":791,"children":792,"position":810},{},[793,801],{"type":27,"value":794,"position":795},"a module-level counter you increment in ",{"start":796,"end":798},{"line":248,"column":120,"offset":797},2158,{"line":248,"column":799,"offset":800},61,2198,{"type":31,"tagName":45,"properties":802,"children":803,"position":805},{},[804],{"type":27,"value":49},{"start":806,"end":807},{"line":248,"column":799,"offset":800},{"line":248,"column":808,"offset":809},70,2207,{"start":811,"end":812},{"line":248,"column":212,"offset":789},{"line":248,"column":813,"offset":814},72,2209,{"start":816,"end":817},{"line":248,"column":21,"offset":787},{"line":248,"column":813,"offset":814},{"type":31,"tagName":137,"properties":819,"children":820,"position":914},{},[821,837],{"type":31,"tagName":188,"properties":822,"children":823,"position":832},{},[824],{"type":27,"value":825,"position":826},"the first bar",{"start":827,"end":830},{"line":828,"column":148,"offset":829},46,2212,{"line":828,"column":10,"offset":831},2225,{"start":833,"end":835},{"line":828,"column":21,"offset":834},2210,{"line":828,"column":203,"offset":836},2226,{"type":31,"tagName":188,"properties":838,"children":839,"position":910},{},[840,847,856,862,872,879,888,895,903],{"type":27,"value":841,"position":842},"that counter at ",{"start":843,"end":845},{"line":828,"column":212,"offset":844},2228,{"line":828,"column":462,"offset":846},2244,{"type":31,"tagName":45,"properties":848,"children":849,"position":852},{},[850],{"type":27,"value":851},"0",{"start":853,"end":854},{"line":828,"column":462,"offset":846},{"line":828,"column":533,"offset":855},2247,{"type":27,"value":857,"position":858}," (or a ",{"start":859,"end":860},{"line":828,"column":533,"offset":855},{"line":828,"column":248,"offset":861},2254,{"type":31,"tagName":45,"properties":863,"children":864,"position":867},{},[865],{"type":27,"value":866},"first",{"start":868,"end":869},{"line":828,"column":248,"offset":861},{"line":828,"column":870,"offset":871},52,2261,{"type":27,"value":873,"position":874}," flag ",{"start":875,"end":876},{"line":828,"column":870,"offset":871},{"line":828,"column":877,"offset":878},58,2267,{"type":31,"tagName":45,"properties":880,"children":881,"position":883},{},[882],{"type":27,"value":70},{"start":884,"end":885},{"line":828,"column":877,"offset":878},{"line":828,"column":886,"offset":887},69,2278,{"type":27,"value":889,"position":890}," sets and ",{"start":891,"end":892},{"line":828,"column":886,"offset":887},{"line":828,"column":893,"offset":894},79,2288,{"type":31,"tagName":45,"properties":896,"children":897,"position":899},{},[898],{"type":27,"value":49},{"start":900,"end":901},{"line":828,"column":893,"offset":894},{"line":828,"column":688,"offset":902},2297,{"type":27,"value":904,"position":905}," clears)",{"start":906,"end":907},{"line":828,"column":688,"offset":902},{"line":828,"column":908,"offset":909},96,2305,{"start":911,"end":912},{"line":828,"column":203,"offset":836},{"line":828,"column":321,"offset":913},2307,{"start":915,"end":916},{"line":828,"column":21,"offset":834},{"line":828,"column":321,"offset":913},{"type":31,"tagName":137,"properties":918,"children":919,"position":952},{},[920,936],{"type":31,"tagName":188,"properties":921,"children":922,"position":931},{},[923],{"type":27,"value":924,"position":925},"is this bar closed",{"start":926,"end":929},{"line":927,"column":148,"offset":928},47,2310,{"line":927,"column":120,"offset":930},2328,{"start":932,"end":934},{"line":927,"column":21,"offset":933},2308,{"line":927,"column":280,"offset":935},2329,{"type":31,"tagName":188,"properties":937,"children":938,"position":947},{},[939],{"type":27,"value":940,"position":941},"no flag: on the live chart the newest bar is the forming one; the chart evaluates it again as new data arrives, from a snapshot of the state the closed bars left, and once more as a closed bar when it closes",{"start":942,"end":944},{"line":927,"column":355,"offset":943},2331,{"line":927,"column":945,"offset":946},231,2538,{"start":948,"end":949},{"line":927,"column":280,"offset":935},{"line":927,"column":950,"offset":951},233,2540,{"start":953,"end":954},{"line":927,"column":21,"offset":933},{"line":927,"column":950,"offset":951},{"type":31,"tagName":137,"properties":956,"children":957,"position":1023},{},[958,974],{"type":31,"tagName":188,"properties":959,"children":960,"position":969},{},[961],{"type":27,"value":962,"position":963},"the newest bar",{"start":964,"end":967},{"line":965,"column":148,"offset":966},48,2543,{"line":965,"column":203,"offset":968},2557,{"start":970,"end":972},{"line":965,"column":21,"offset":971},2541,{"line":965,"column":430,"offset":973},2558,{"type":31,"tagName":188,"properties":975,"children":976,"position":1018},{},[977,987,993,1011],{"type":31,"tagName":45,"properties":978,"children":979,"position":982},{},[980],{"type":27,"value":981},"bar.isLast()",{"start":983,"end":985},{"line":965,"column":172,"offset":984},2560,{"line":965,"column":611,"offset":986},2574,{"type":27,"value":988,"position":989},", true on the newest bar the run holds (",{"start":990,"end":991},{"line":965,"column":611,"offset":986},{"line":965,"column":103,"offset":992},2614,{"type":31,"tagName":384,"properties":994,"children":996,"position":1006},{"href":995},"execution-model.md",[997],{"type":27,"value":998,"position":999},"Execution model",{"start":1000,"end":1003},{"line":965,"column":1001,"offset":1002},75,2615,{"line":965,"column":1004,"offset":1005},90,2630,{"start":1007,"end":1008},{"line":965,"column":103,"offset":992},{"line":965,"column":1009,"offset":1010},111,2651,{"type":27,"value":1012,"position":1013},"); renderers and drawings evaluate the newest ready row on their own",{"start":1014,"end":1015},{"line":965,"column":1009,"offset":1010},{"line":965,"column":1016,"offset":1017},179,2719,{"start":1019,"end":1020},{"line":965,"column":430,"offset":973},{"line":965,"column":1021,"offset":1022},181,2721,{"start":1024,"end":1025},{"line":965,"column":21,"offset":971},{"line":965,"column":1021,"offset":1022},{"type":31,"tagName":137,"properties":1027,"children":1028,"position":1098},{},[1029,1045],{"type":31,"tagName":188,"properties":1030,"children":1031,"position":1040},{},[1032],{"type":27,"value":1033,"position":1034},"does a later bar exist",{"start":1035,"end":1038},{"line":1036,"column":148,"offset":1037},49,2724,{"line":1036,"column":294,"offset":1039},2746,{"start":1041,"end":1043},{"line":1036,"column":21,"offset":1042},2722,{"line":1036,"column":363,"offset":1044},2747,{"type":31,"tagName":188,"properties":1046,"children":1047,"position":1093},{},[1048,1055,1064,1070,1087],{"type":27,"value":1049,"position":1050},"your counter + 1 below ",{"start":1051,"end":1053},{"line":1036,"column":224,"offset":1052},2749,{"line":1036,"column":84,"offset":1054},2772,{"type":31,"tagName":45,"properties":1056,"children":1057,"position":1060},{},[1058],{"type":27,"value":1059},"bar.count()",{"start":1061,"end":1062},{"line":1036,"column":84,"offset":1054},{"line":1036,"column":394,"offset":1063},2785,{"type":27,"value":1065,"position":1066},", the bars the run holds (",{"start":1067,"end":1068},{"line":1036,"column":394,"offset":1063},{"line":1036,"column":1004,"offset":1069},2811,{"type":31,"tagName":384,"properties":1071,"children":1073,"position":1082},{"href":1072},"execution-model.md#how-many-bars-the-run-holds",[1074],{"type":27,"value":998,"position":1075},{"start":1076,"end":1079},{"line":1036,"column":1077,"offset":1078},91,2812,{"line":1036,"column":1080,"offset":1081},106,2827,{"start":1083,"end":1084},{"line":1036,"column":1004,"offset":1069},{"line":1036,"column":1085,"offset":1086},155,2876,{"type":27,"value":324,"position":1088},{"start":1089,"end":1090},{"line":1036,"column":1085,"offset":1086},{"line":1036,"column":1091,"offset":1092},156,2877,{"start":1094,"end":1095},{"line":1036,"column":363,"offset":1044},{"line":1036,"column":1096,"offset":1097},158,2879,{"start":1099,"end":1100},{"line":1036,"column":21,"offset":1042},{"line":1036,"column":1096,"offset":1097},{"start":1102,"end":1103},{"line":248,"column":21,"offset":787},{"line":1036,"column":1096,"offset":1097},{"start":1105,"end":1106},{"line":638,"column":21,"offset":748},{"line":1036,"column":1096,"offset":1097},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1109,"children":1110,"position":1225},{},[1111,1124,1130,1143,1150,1166,1172,1183,1189,1200,1206,1218],{"type":31,"tagName":45,"properties":1112,"children":1113,"position":1121},{},[1114],{"type":27,"value":1115,"position":1116},"bar",{"start":1117,"end":1119},{"line":84,"column":21,"offset":1118},2881,{"line":84,"column":42,"offset":1120},2886,{"start":1122,"end":1123},{"line":84,"column":21,"offset":1118},{"line":84,"column":42,"offset":1120},{"type":27,"value":1125,"position":1126}," also carries the chart's own candle, with no ",{"start":1127,"end":1128},{"line":84,"column":42,"offset":1120},{"line":84,"column":870,"offset":1129},2932,{"type":31,"tagName":45,"properties":1131,"children":1132,"position":1140},{},[1133],{"type":27,"value":1134,"position":1135},"input",{"start":1136,"end":1137},{"line":84,"column":870,"offset":1129},{"line":84,"column":1138,"offset":1139},59,2939,{"start":1141,"end":1142},{"line":84,"column":870,"offset":1129},{"line":84,"column":1138,"offset":1139},{"type":27,"value":1144,"position":1145}," line: reading\na field adds that input to the sheet, on the chart's own market and\ntimeframe (",{"start":1146,"end":1147},{"line":84,"column":1138,"offset":1139},{"line":1148,"column":64,"offset":1149},53,3033,{"type":31,"tagName":384,"properties":1151,"children":1153,"position":1162},{"href":1152},"data-sources.md",[1154],{"type":27,"value":1155,"position":1156},"Data sources",{"start":1157,"end":1160},{"line":1148,"column":1158,"offset":1159},13,3034,{"line":1148,"column":294,"offset":1161},3046,{"start":1163,"end":1164},{"line":1148,"column":64,"offset":1149},{"line":1148,"column":638,"offset":1165},3064,{"type":27,"value":1167,"position":1168},"). Every member is this bar's\nvalue inside ",{"start":1169,"end":1170},{"line":1148,"column":638,"offset":1165},{"line":257,"column":195,"offset":1171},3107,{"type":31,"tagName":45,"properties":1173,"children":1174,"position":1180},{},[1175],{"type":27,"value":49,"position":1176},{"start":1177,"end":1178},{"line":257,"column":195,"offset":1171},{"line":257,"column":74,"offset":1179},3116,{"start":1181,"end":1182},{"line":257,"column":195,"offset":1171},{"line":257,"column":74,"offset":1179},{"type":27,"value":1184,"position":1185},"; in ",{"start":1186,"end":1187},{"line":257,"column":74,"offset":1179},{"line":257,"column":224,"offset":1188},3121,{"type":31,"tagName":45,"properties":1190,"children":1191,"position":1197},{},[1192],{"type":27,"value":70,"position":1193},{"start":1194,"end":1195},{"line":257,"column":224,"offset":1188},{"line":257,"column":381,"offset":1196},3132,{"start":1198,"end":1199},{"line":257,"column":224,"offset":1188},{"line":257,"column":381,"offset":1196},{"type":27,"value":1201,"position":1202}," the fields read ",{"start":1203,"end":1204},{"line":257,"column":381,"offset":1196},{"line":257,"column":262,"offset":1205},3149,{"type":31,"tagName":45,"properties":1207,"children":1208,"position":1215},{},[1209],{"type":27,"value":1210,"position":1211},"NaN",{"start":1212,"end":1213},{"line":257,"column":262,"offset":1205},{"line":257,"column":799,"offset":1214},3154,{"start":1216,"end":1217},{"line":257,"column":262,"offset":1205},{"line":257,"column":799,"offset":1214},{"type":27,"value":1219,"position":1220},".",{"start":1221,"end":1222},{"line":257,"column":799,"offset":1214},{"line":257,"column":1223,"offset":1224},62,3155,{"start":1226,"end":1227},{"line":84,"column":21,"offset":1118},{"line":257,"column":1223,"offset":1224},{"type":27,"value":1229},"\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\n\n\n\n\n\n\n\n\n\n",{"type":31,"tagName":129,"properties":1231,"children":1232,"position":1840},{},[1233,1289],{"type":31,"tagName":133,"properties":1234,"children":1235,"position":1286},{},[1236],{"type":31,"tagName":137,"properties":1237,"children":1238,"position":1283},{},[1239,1255,1269],{"type":31,"tagName":141,"properties":1240,"children":1241,"position":1250},{},[1242],{"type":27,"value":1243,"position":1244},"Member",{"start":1245,"end":1247},{"line":262,"column":148,"offset":1246},3159,{"line":262,"column":1248,"offset":1249},9,3165,{"start":1251,"end":1253},{"line":262,"column":21,"offset":1252},3157,{"line":262,"column":53,"offset":1254},3166,{"type":31,"tagName":141,"properties":1256,"children":1257,"position":1265},{},[1258],{"type":27,"value":1259,"position":1260},"Type",{"start":1261,"end":1263},{"line":262,"column":64,"offset":1262},3168,{"line":262,"column":10,"offset":1264},3172,{"start":1266,"end":1267},{"line":262,"column":53,"offset":1254},{"line":262,"column":203,"offset":1268},3173,{"type":31,"tagName":141,"properties":1270,"children":1271,"position":1279},{},[1272],{"type":27,"value":1273,"position":1274},"What it reads",{"start":1275,"end":1277},{"line":262,"column":212,"offset":1276},3175,{"line":262,"column":231,"offset":1278},3188,{"start":1280,"end":1281},{"line":262,"column":203,"offset":1268},{"line":262,"column":611,"offset":1282},3190,{"start":1284,"end":1285},{"line":262,"column":21,"offset":1252},{"line":262,"column":611,"offset":1282},{"start":1287,"end":1288},{"line":262,"column":21,"offset":1252},{"line":262,"column":611,"offset":1282},{"type":31,"tagName":181,"properties":1290,"children":1291,"position":1837},{},[1292,1363,1431,1499,1567,1637,1724,1780],{"type":31,"tagName":137,"properties":1293,"children":1294,"position":1360},{},[1295,1313,1330],{"type":31,"tagName":188,"properties":1296,"children":1297,"position":1308},{},[1298],{"type":31,"tagName":45,"properties":1299,"children":1300,"position":1303},{},[1301],{"type":27,"value":1302},"bar.open()",{"start":1304,"end":1306},{"line":877,"column":148,"offset":1305},3213,{"line":877,"column":277,"offset":1307},3225,{"start":1309,"end":1311},{"line":877,"column":21,"offset":1310},3211,{"line":877,"column":10,"offset":1312},3226,{"type":31,"tagName":188,"properties":1314,"children":1315,"position":1326},{},[1316],{"type":31,"tagName":45,"properties":1317,"children":1318,"position":1321},{},[1319],{"type":27,"value":1320},"f64",{"start":1322,"end":1324},{"line":877,"column":430,"offset":1323},3228,{"line":877,"column":74,"offset":1325},3233,{"start":1327,"end":1328},{"line":877,"column":10,"offset":1312},{"line":877,"column":355,"offset":1329},3234,{"type":31,"tagName":188,"properties":1331,"children":1332,"position":1355},{},[1333,1340,1350],{"type":27,"value":1334,"position":1335},"the chart candle's open (",{"start":1336,"end":1338},{"line":877,"column":363,"offset":1337},3236,{"line":877,"column":84,"offset":1339},3261,{"type":31,"tagName":45,"properties":1341,"children":1342,"position":1345},{},[1343],{"type":27,"value":1344},"ohlcv.open",{"start":1346,"end":1347},{"line":877,"column":84,"offset":1339},{"line":877,"column":1348,"offset":1349},63,3273,{"type":27,"value":324,"position":1351},{"start":1352,"end":1353},{"line":877,"column":1348,"offset":1349},{"line":877,"column":394,"offset":1354},3274,{"start":1356,"end":1357},{"line":877,"column":355,"offset":1329},{"line":877,"column":1358,"offset":1359},66,3276,{"start":1361,"end":1362},{"line":877,"column":21,"offset":1310},{"line":877,"column":1358,"offset":1359},{"type":31,"tagName":137,"properties":1364,"children":1365,"position":1428},{},[1366,1384,1400],{"type":31,"tagName":188,"properties":1367,"children":1368,"position":1379},{},[1369],{"type":31,"tagName":45,"properties":1370,"children":1371,"position":1374},{},[1372],{"type":27,"value":1373},"bar.high()",{"start":1375,"end":1377},{"line":1138,"column":148,"offset":1376},3279,{"line":1138,"column":277,"offset":1378},3291,{"start":1380,"end":1382},{"line":1138,"column":21,"offset":1381},3277,{"line":1138,"column":10,"offset":1383},3292,{"type":31,"tagName":188,"properties":1385,"children":1386,"position":1396},{},[1387],{"type":31,"tagName":45,"properties":1388,"children":1389,"position":1391},{},[1390],{"type":27,"value":1320},{"start":1392,"end":1394},{"line":1138,"column":430,"offset":1393},3294,{"line":1138,"column":74,"offset":1395},3299,{"start":1397,"end":1398},{"line":1138,"column":10,"offset":1383},{"line":1138,"column":355,"offset":1399},3300,{"type":31,"tagName":188,"properties":1401,"children":1402,"position":1424},{},[1403,1410,1419],{"type":27,"value":1404,"position":1405},"its high (",{"start":1406,"end":1408},{"line":1138,"column":363,"offset":1407},3302,{"line":1138,"column":667,"offset":1409},3312,{"type":31,"tagName":45,"properties":1411,"children":1412,"position":1415},{},[1413],{"type":27,"value":1414},"ohlcv.high",{"start":1416,"end":1417},{"line":1138,"column":667,"offset":1409},{"line":1138,"column":965,"offset":1418},3324,{"type":27,"value":324,"position":1420},{"start":1421,"end":1422},{"line":1138,"column":965,"offset":1418},{"line":1138,"column":1036,"offset":1423},3325,{"start":1425,"end":1426},{"line":1138,"column":355,"offset":1399},{"line":1138,"column":84,"offset":1427},3327,{"start":1429,"end":1430},{"line":1138,"column":21,"offset":1381},{"line":1138,"column":84,"offset":1427},{"type":31,"tagName":137,"properties":1432,"children":1433,"position":1496},{},[1434,1452,1468],{"type":31,"tagName":188,"properties":1435,"children":1436,"position":1447},{},[1437],{"type":31,"tagName":45,"properties":1438,"children":1439,"position":1442},{},[1440],{"type":27,"value":1441},"bar.low()",{"start":1443,"end":1445},{"line":93,"column":148,"offset":1444},3330,{"line":93,"column":195,"offset":1446},3341,{"start":1448,"end":1450},{"line":93,"column":21,"offset":1449},3328,{"line":93,"column":277,"offset":1451},3342,{"type":31,"tagName":188,"properties":1453,"children":1454,"position":1464},{},[1455],{"type":31,"tagName":45,"properties":1456,"children":1457,"position":1459},{},[1458],{"type":27,"value":1320},{"start":1460,"end":1462},{"line":93,"column":203,"offset":1461},3344,{"line":93,"column":280,"offset":1463},3349,{"start":1465,"end":1466},{"line":93,"column":277,"offset":1451},{"line":93,"column":74,"offset":1467},3350,{"type":31,"tagName":188,"properties":1469,"children":1470,"position":1492},{},[1471,1478,1487],{"type":27,"value":1472,"position":1473},"its low (",{"start":1474,"end":1476},{"line":93,"column":294,"offset":1475},3352,{"line":93,"column":611,"offset":1477},3361,{"type":31,"tagName":45,"properties":1479,"children":1480,"position":1483},{},[1481],{"type":27,"value":1482},"ohlcv.low",{"start":1484,"end":1485},{"line":93,"column":611,"offset":1477},{"line":93,"column":248,"offset":1486},3372,{"type":27,"value":324,"position":1488},{"start":1489,"end":1490},{"line":93,"column":248,"offset":1486},{"line":93,"column":828,"offset":1491},3373,{"start":1493,"end":1494},{"line":93,"column":74,"offset":1467},{"line":93,"column":965,"offset":1495},3375,{"start":1497,"end":1498},{"line":93,"column":21,"offset":1449},{"line":93,"column":965,"offset":1495},{"type":31,"tagName":137,"properties":1500,"children":1501,"position":1564},{},[1502,1520,1536],{"type":31,"tagName":188,"properties":1503,"children":1504,"position":1515},{},[1505],{"type":31,"tagName":45,"properties":1506,"children":1507,"position":1510},{},[1508],{"type":27,"value":1509},"bar.close()",{"start":1511,"end":1513},{"line":799,"column":148,"offset":1512},3378,{"line":799,"column":10,"offset":1514},3391,{"start":1516,"end":1518},{"line":799,"column":21,"offset":1517},3376,{"line":799,"column":203,"offset":1519},3392,{"type":31,"tagName":188,"properties":1521,"children":1522,"position":1532},{},[1523],{"type":31,"tagName":45,"properties":1524,"children":1525,"position":1527},{},[1526],{"type":27,"value":1320},{"start":1528,"end":1530},{"line":799,"column":212,"offset":1529},3394,{"line":799,"column":355,"offset":1531},3399,{"start":1533,"end":1534},{"line":799,"column":203,"offset":1519},{"line":799,"column":294,"offset":1535},3400,{"type":31,"tagName":188,"properties":1537,"children":1538,"position":1560},{},[1539,1546,1555],{"type":27,"value":1540,"position":1541},"its close (",{"start":1542,"end":1544},{"line":799,"column":517,"offset":1543},3402,{"line":799,"column":533,"offset":1545},3413,{"type":31,"tagName":45,"properties":1547,"children":1548,"position":1551},{},[1549],{"type":27,"value":1550},"ohlcv.close",{"start":1552,"end":1553},{"line":799,"column":533,"offset":1545},{"line":799,"column":84,"offset":1554},3426,{"type":27,"value":324,"position":1556},{"start":1557,"end":1558},{"line":799,"column":84,"offset":1554},{"line":799,"column":870,"offset":1559},3427,{"start":1561,"end":1562},{"line":799,"column":294,"offset":1535},{"line":799,"column":257,"offset":1563},3429,{"start":1565,"end":1566},{"line":799,"column":21,"offset":1517},{"line":799,"column":257,"offset":1563},{"type":31,"tagName":137,"properties":1568,"children":1569,"position":1634},{},[1570,1588,1604],{"type":31,"tagName":188,"properties":1571,"children":1572,"position":1583},{},[1573],{"type":31,"tagName":45,"properties":1574,"children":1575,"position":1578},{},[1576],{"type":27,"value":1577},"bar.volume()",{"start":1579,"end":1581},{"line":1223,"column":148,"offset":1580},3432,{"line":1223,"column":203,"offset":1582},3446,{"start":1584,"end":1586},{"line":1223,"column":21,"offset":1585},3430,{"line":1223,"column":430,"offset":1587},3447,{"type":31,"tagName":188,"properties":1589,"children":1590,"position":1600},{},[1591],{"type":31,"tagName":45,"properties":1592,"children":1593,"position":1595},{},[1594],{"type":27,"value":1320},{"start":1596,"end":1598},{"line":1223,"column":172,"offset":1597},3449,{"line":1223,"column":294,"offset":1599},3454,{"start":1601,"end":1602},{"line":1223,"column":430,"offset":1587},{"line":1223,"column":363,"offset":1603},3455,{"type":31,"tagName":188,"properties":1605,"children":1606,"position":1629},{},[1607,1614,1623],{"type":27,"value":1608,"position":1609},"its volume (",{"start":1610,"end":1612},{"line":1223,"column":224,"offset":1611},3457,{"line":1223,"column":297,"offset":1613},3469,{"type":31,"tagName":45,"properties":1615,"children":1616,"position":1619},{},[1617],{"type":27,"value":1618},"ohlcv.volume",{"start":1620,"end":1621},{"line":1223,"column":297,"offset":1613},{"line":1223,"column":257,"offset":1622},3483,{"type":27,"value":324,"position":1624},{"start":1625,"end":1626},{"line":1223,"column":257,"offset":1622},{"line":1223,"column":1627,"offset":1628},55,3484,{"start":1630,"end":1631},{"line":1223,"column":363,"offset":1603},{"line":1223,"column":1632,"offset":1633},57,3486,{"start":1635,"end":1636},{"line":1223,"column":21,"offset":1585},{"line":1223,"column":1632,"offset":1633},{"type":31,"tagName":137,"properties":1638,"children":1639,"position":1721},{},[1640,1658,1674],{"type":31,"tagName":188,"properties":1641,"children":1642,"position":1653},{},[1643],{"type":31,"tagName":45,"properties":1644,"children":1645,"position":1648},{},[1646],{"type":27,"value":1647},"bar.time()",{"start":1649,"end":1651},{"line":1348,"column":148,"offset":1650},3489,{"line":1348,"column":277,"offset":1652},3501,{"start":1654,"end":1656},{"line":1348,"column":21,"offset":1655},3487,{"line":1348,"column":10,"offset":1657},3502,{"type":31,"tagName":188,"properties":1659,"children":1660,"position":1670},{},[1661],{"type":31,"tagName":45,"properties":1662,"children":1663,"position":1665},{},[1664],{"type":27,"value":1320},{"start":1666,"end":1668},{"line":1348,"column":430,"offset":1667},3504,{"line":1348,"column":74,"offset":1669},3509,{"start":1671,"end":1672},{"line":1348,"column":10,"offset":1657},{"line":1348,"column":355,"offset":1673},3510,{"type":31,"tagName":188,"properties":1675,"children":1676,"position":1716},{},[1677,1684,1710],{"type":27,"value":1678,"position":1679},"its open time in epoch seconds, UTC (",{"start":1680,"end":1682},{"line":1348,"column":363,"offset":1681},3512,{"line":1348,"column":1348,"offset":1683},3549,{"type":31,"tagName":45,"properties":1685,"children":1686,"position":1705},{},[1687,1689,1693,1695,1698,1700,1703],{"type":27,"value":1688},"time.",{"type":31,"tagName":1690,"properties":1691,"children":1692},"wbr",{},[],{"type":27,"value":1694},"bar_",{"type":31,"tagName":1690,"properties":1696,"children":1697},{},[],{"type":27,"value":1699},"open_",{"type":31,"tagName":1690,"properties":1701,"children":1702},{},[],{"type":27,"value":1704},"sec",{"start":1706,"end":1707},{"line":1348,"column":1348,"offset":1683},{"line":1348,"column":1708,"offset":1709},82,3568,{"type":27,"value":324,"position":1711},{"start":1712,"end":1713},{"line":1348,"column":1708,"offset":1709},{"line":1348,"column":1714,"offset":1715},83,3569,{"start":1717,"end":1718},{"line":1348,"column":355,"offset":1673},{"line":1348,"column":1719,"offset":1720},85,3571,{"start":1722,"end":1723},{"line":1348,"column":21,"offset":1655},{"line":1348,"column":1719,"offset":1720},{"type":31,"tagName":137,"properties":1725,"children":1726,"position":1777},{},[1727,1744,1761],{"type":31,"tagName":188,"properties":1728,"children":1729,"position":1739},{},[1730],{"type":31,"tagName":45,"properties":1731,"children":1732,"position":1734},{},[1733],{"type":27,"value":981},{"start":1735,"end":1737},{"line":394,"column":148,"offset":1736},3574,{"line":394,"column":203,"offset":1738},3588,{"start":1740,"end":1742},{"line":394,"column":21,"offset":1741},3572,{"line":394,"column":430,"offset":1743},3589,{"type":31,"tagName":188,"properties":1745,"children":1746,"position":1757},{},[1747],{"type":31,"tagName":45,"properties":1748,"children":1749,"position":1752},{},[1750],{"type":27,"value":1751},"bool",{"start":1753,"end":1755},{"line":394,"column":172,"offset":1754},3591,{"line":394,"column":363,"offset":1756},3597,{"start":1758,"end":1759},{"line":394,"column":430,"offset":1743},{"line":394,"column":517,"offset":1760},3598,{"type":31,"tagName":188,"properties":1762,"children":1763,"position":1772},{},[1764],{"type":27,"value":1765,"position":1766},"no input: true on the newest bar the run holds, the last row of a full run or the forming bar live",{"start":1767,"end":1769},{"line":394,"column":551,"offset":1768},3600,{"line":394,"column":1770,"offset":1771},127,3698,{"start":1773,"end":1774},{"line":394,"column":517,"offset":1760},{"line":394,"column":1775,"offset":1776},129,3700,{"start":1778,"end":1779},{"line":394,"column":21,"offset":1741},{"line":394,"column":1775,"offset":1776},{"type":31,"tagName":137,"properties":1781,"children":1782,"position":1834},{},[1783,1801,1818],{"type":31,"tagName":188,"properties":1784,"children":1785,"position":1796},{},[1786],{"type":31,"tagName":45,"properties":1787,"children":1788,"position":1790},{},[1789],{"type":27,"value":1059},{"start":1791,"end":1794},{"line":1792,"column":148,"offset":1793},65,3703,{"line":1792,"column":10,"offset":1795},3716,{"start":1797,"end":1799},{"line":1792,"column":21,"offset":1798},3701,{"line":1792,"column":203,"offset":1800},3717,{"type":31,"tagName":188,"properties":1802,"children":1803,"position":1814},{},[1804],{"type":31,"tagName":45,"properties":1805,"children":1806,"position":1809},{},[1807],{"type":27,"value":1808},"i32",{"start":1810,"end":1812},{"line":1792,"column":212,"offset":1811},3719,{"line":1792,"column":355,"offset":1813},3724,{"start":1815,"end":1816},{"line":1792,"column":203,"offset":1800},{"line":1792,"column":294,"offset":1817},3725,{"type":31,"tagName":188,"properties":1819,"children":1820,"position":1829},{},[1821],{"type":27,"value":1822,"position":1823},"no input: how many bars the run holds while this bar is evaluated, the forming bar included; every bar of a full run reads the run's bar count",{"start":1824,"end":1826},{"line":1792,"column":517,"offset":1825},3727,{"line":1792,"column":1827,"offset":1828},169,3869,{"start":1830,"end":1831},{"line":1792,"column":294,"offset":1817},{"line":1792,"column":1832,"offset":1833},171,3871,{"start":1835,"end":1836},{"line":1792,"column":21,"offset":1798},{"line":1792,"column":1832,"offset":1833},{"start":1838,"end":1839},{"line":877,"column":21,"offset":1310},{"line":1792,"column":1832,"offset":1833},{"start":1841,"end":1842},{"line":262,"column":21,"offset":1252},{"line":1792,"column":1832,"offset":1833},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1845,"children":1846,"position":1872},{},[1847,1855,1866],{"type":27,"value":1848,"position":1849},"One-time initialization is ",{"start":1850,"end":1853},{"line":1851,"column":21,"offset":1852},67,3873,{"line":1851,"column":224,"offset":1854},3900,{"type":31,"tagName":45,"properties":1856,"children":1857,"position":1863},{},[1858],{"type":27,"value":70,"position":1859},{"start":1860,"end":1861},{"line":1851,"column":224,"offset":1854},{"line":1851,"column":381,"offset":1862},3911,{"start":1864,"end":1865},{"line":1851,"column":224,"offset":1854},{"line":1851,"column":381,"offset":1862},{"type":27,"value":1867,"position":1868}," itself: it runs once before the\nfirst bar and reads the params. Logic that must run on the first bar of\ndata (seeding a level from the first open) is the counter test.",{"start":1869,"end":1870},{"line":1851,"column":381,"offset":1862},{"line":886,"column":394,"offset":1871},4079,{"start":1873,"end":1874},{"line":1851,"column":21,"offset":1852},{"line":886,"column":394,"offset":1871},{"type":27,"value":28},{"type":31,"tagName":110,"properties":1877,"children":1878,"position":1887},{},[1879],{"type":27,"value":1880,"position":1881},"No tuples",{"start":1882,"end":1885},{"line":1883,"column":117,"offset":1884},71,4084,{"line":1883,"column":1158,"offset":1886},4093,{"start":1888,"end":1890},{"line":1883,"column":21,"offset":1889},4081,{"line":1883,"column":1158,"offset":1886},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1893,"children":1894,"position":1938},{},[1895,1903,1915,1920,1932],{"type":27,"value":1896,"position":1897},"A multi-output computation is a class whose fields you read by name after\n",{"start":1898,"end":1901},{"line":1899,"column":21,"offset":1900},73,4095,{"line":103,"column":21,"offset":1902},4169,{"type":31,"tagName":45,"properties":1904,"children":1905,"position":1912},{},[1906],{"type":27,"value":1907,"position":1908},"update()",{"start":1909,"end":1910},{"line":103,"column":21,"offset":1902},{"line":103,"column":151,"offset":1911},4179,{"start":1913,"end":1914},{"line":103,"column":21,"offset":1902},{"line":103,"column":151,"offset":1911},{"type":27,"value":377,"position":1916},{"start":1917,"end":1918},{"line":103,"column":151,"offset":1911},{"line":103,"column":1158,"offset":1919},4181,{"type":31,"tagName":45,"properties":1921,"children":1922,"position":1929},{},[1923],{"type":27,"value":1924,"position":1925},"named-streams.md",{"start":1926,"end":1927},{"line":103,"column":1158,"offset":1919},{"line":103,"column":657,"offset":1928},4199,{"start":1930,"end":1931},{"line":103,"column":1158,"offset":1919},{"line":103,"column":657,"offset":1928},{"type":27,"value":1933,"position":1934},"); there are no tuples to destructure.",{"start":1935,"end":1936},{"line":103,"column":657,"offset":1928},{"line":103,"column":886,"offset":1937},4237,{"start":1939,"end":1940},{"line":1899,"column":21,"offset":1900},{"line":103,"column":886,"offset":1937},{"type":27,"value":28},{"type":31,"tagName":110,"properties":1943,"children":1944,"position":1953},{},[1945],{"type":27,"value":1946,"position":1947},"History example",{"start":1948,"end":1951},{"line":1949,"column":117,"offset":1950},76,4242,{"line":1949,"column":212,"offset":1952},4257,{"start":1954,"end":1956},{"line":1949,"column":21,"offset":1955},4239,{"line":1949,"column":212,"offset":1952},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1959,"children":1960,"position":1970},{},[1961],{"type":27,"value":1962,"position":1963},"The close, the one-bar change (a remembered previous close), and a moving\naverage whose class holds the window. Nothing here is indexed; everything\nis kept.",{"start":1964,"end":1967},{"line":1965,"column":21,"offset":1966},78,4259,{"line":1968,"column":1248,"offset":1969},80,4415,{"start":1971,"end":1972},{"line":1965,"column":21,"offset":1966},{"line":1968,"column":1248,"offset":1969},{"type":27,"value":28},{"type":14,"children":1975},[1976],{"type":31,"tagName":1977,"properties":1978,"children":1982,"data":-1},"pre",{"class":1979,"style":1980,"tabindex":851,"data-sample":1981},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","cc-vars-history",[1983],{"type":31,"tagName":45,"properties":1984,"children":1987},{"class":1985},[1986],"language-typescript",[1988,2056,2057,2107,2108,2155,2156,2159,2160,2201,2202,2245,2246,2249,2250,2282,2283,2325,2326,2334,2335,2338,2339,2367,2368,2405,2406,2461,2462,2484,2485,2516,2517,2549,2550,2563,2564,2577,2578],{"type":31,"tagName":162,"properties":1989,"children":1991},{"class":1990},"line",[1992,1998,2004,2010,2015,2021,2026,2031,2036,2041,2046,2051],{"type":31,"tagName":162,"properties":1993,"children":1995},{"style":1994},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[1996],{"type":27,"value":1997},"param",{"type":31,"tagName":162,"properties":1999,"children":2001},{"style":2000},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[2002],{"type":27,"value":2003},"(",{"type":31,"tagName":162,"properties":2005,"children":2007},{"style":2006},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[2008],{"type":27,"value":2009},"\"period\"",{"type":31,"tagName":162,"properties":2011,"children":2012},{"style":2000},[2013],{"type":27,"value":2014},", ",{"type":31,"tagName":162,"properties":2016,"children":2018},{"style":2017},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[2019],{"type":27,"value":2020},"20",{"type":31,"tagName":162,"properties":2022,"children":2023},{"style":2000},[2024],{"type":27,"value":2025},", { min: ",{"type":31,"tagName":162,"properties":2027,"children":2028},{"style":2017},[2029],{"type":27,"value":2030},"1",{"type":31,"tagName":162,"properties":2032,"children":2033},{"style":2000},[2034],{"type":27,"value":2035},", max: ",{"type":31,"tagName":162,"properties":2037,"children":2038},{"style":2017},[2039],{"type":27,"value":2040},"200",{"type":31,"tagName":162,"properties":2042,"children":2043},{"style":2000},[2044],{"type":27,"value":2045},", description: ",{"type":31,"tagName":162,"properties":2047,"children":2048},{"style":2006},[2049],{"type":27,"value":2050},"\"SMA length\"",{"type":31,"tagName":162,"properties":2052,"children":2053},{"style":2000},[2054],{"type":27,"value":2055}," });",{"type":27,"value":28},{"type":31,"tagName":162,"properties":2058,"children":2059},{"class":1990},[2060,2065,2069,2074,2079,2084,2089,2094,2098,2103],{"type":31,"tagName":162,"properties":2061,"children":2062},{"style":1994},[2063],{"type":27,"value":2064},"output",{"type":31,"tagName":162,"properties":2066,"children":2067},{"style":2000},[2068],{"type":27,"value":2003},{"type":31,"tagName":162,"properties":2070,"children":2071},{"style":2006},[2072],{"type":27,"value":2073},"\"moving_average\"",{"type":31,"tagName":162,"properties":2075,"children":2076},{"style":2000},[2077],{"type":27,"value":2078},", line, overlay, { color: ",{"type":31,"tagName":162,"properties":2080,"children":2081},{"style":2006},[2082],{"type":27,"value":2083},"\"#dc2626\"",{"type":31,"tagName":162,"properties":2085,"children":2086},{"style":2000},[2087],{"type":27,"value":2088},", width: ",{"type":31,"tagName":162,"properties":2090,"children":2091},{"style":2017},[2092],{"type":27,"value":2093},"2",{"type":31,"tagName":162,"properties":2095,"children":2096},{"style":2000},[2097],{"type":27,"value":2045},{"type":31,"tagName":162,"properties":2099,"children":2100},{"style":2006},[2101],{"type":27,"value":2102},"\"SMA of the close (the class keeps the window)\"",{"type":31,"tagName":162,"properties":2104,"children":2105},{"style":2000},[2106],{"type":27,"value":2055},{"type":27,"value":28},{"type":31,"tagName":162,"properties":2109,"children":2110},{"class":1990},[2111,2115,2119,2124,2129,2134,2138,2142,2146,2151],{"type":31,"tagName":162,"properties":2112,"children":2113},{"style":1994},[2114],{"type":27,"value":2064},{"type":31,"tagName":162,"properties":2116,"children":2117},{"style":2000},[2118],{"type":27,"value":2003},{"type":31,"tagName":162,"properties":2120,"children":2121},{"style":2006},[2122],{"type":27,"value":2123},"\"change\"",{"type":31,"tagName":162,"properties":2125,"children":2126},{"style":2000},[2127],{"type":27,"value":2128},", line, lower, { color: ",{"type":31,"tagName":162,"properties":2130,"children":2131},{"style":2006},[2132],{"type":27,"value":2133},"\"#2563eb\"",{"type":31,"tagName":162,"properties":2135,"children":2136},{"style":2000},[2137],{"type":27,"value":2088},{"type":31,"tagName":162,"properties":2139,"children":2140},{"style":2017},[2141],{"type":27,"value":2093},{"type":31,"tagName":162,"properties":2143,"children":2144},{"style":2000},[2145],{"type":27,"value":2045},{"type":31,"tagName":162,"properties":2147,"children":2148},{"style":2006},[2149],{"type":27,"value":2150},"\"Close minus the previous close (one remembered value)\"",{"type":31,"tagName":162,"properties":2152,"children":2153},{"style":2000},[2154],{"type":27,"value":2055},{"type":27,"value":28},{"type":31,"tagName":162,"properties":2157,"children":2158},{"class":1990},[],{"type":27,"value":28},{"type":31,"tagName":162,"properties":2161,"children":2162},{"class":1990},[2163,2168,2173,2178,2183,2188,2192,2196],{"type":31,"tagName":162,"properties":2164,"children":2166},{"style":2165},"--shiki-dark:#F97583;--shiki-light:#D73A49",[2167],{"type":27,"value":237},{"type":31,"tagName":162,"properties":2169,"children":2170},{"style":2000},[2171],{"type":27,"value":2172}," sma ",{"type":31,"tagName":162,"properties":2174,"children":2175},{"style":2165},[2176],{"type":27,"value":2177},"=",{"type":31,"tagName":162,"properties":2179,"children":2180},{"style":2165},[2181],{"type":27,"value":2182}," new",{"type":31,"tagName":162,"properties":2184,"children":2185},{"style":1994},[2186],{"type":27,"value":2187}," Sma",{"type":31,"tagName":162,"properties":2189,"children":2190},{"style":2000},[2191],{"type":27,"value":2003},{"type":31,"tagName":162,"properties":2193,"children":2194},{"style":2017},[2195],{"type":27,"value":2020},{"type":31,"tagName":162,"properties":2197,"children":2198},{"style":2000},[2199],{"type":27,"value":2200},");",{"type":27,"value":28},{"type":31,"tagName":162,"properties":2203,"children":2204},{"class":1990},[2205,2209,2214,2219,2224,2229,2234,2239],{"type":31,"tagName":162,"properties":2206,"children":2207},{"style":2165},[2208],{"type":27,"value":237},{"type":31,"tagName":162,"properties":2210,"children":2211},{"style":2000},[2212],{"type":27,"value":2213}," prevClose",{"type":31,"tagName":162,"properties":2215,"children":2216},{"style":2165},[2217],{"type":27,"value":2218},":",{"type":31,"tagName":162,"properties":2220,"children":2221},{"style":1994},[2222],{"type":27,"value":2223}," f64",{"type":31,"tagName":162,"properties":2225,"children":2226},{"style":2165},[2227],{"type":27,"value":2228}," =",{"type":31,"tagName":162,"properties":2230,"children":2231},{"style":2017},[2232],{"type":27,"value":2233}," NaN",{"type":31,"tagName":162,"properties":2235,"children":2236},{"style":2000},[2237],{"type":27,"value":2238},"; ",{"type":31,"tagName":162,"properties":2240,"children":2242},{"style":2241},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[2243],{"type":27,"value":2244},"// stands in for closeSeries[1]",{"type":27,"value":28},{"type":31,"tagName":162,"properties":2247,"children":2248},{"class":1990},[],{"type":27,"value":28},{"type":31,"tagName":162,"properties":2251,"children":2252},{"class":1990},[2253,2258,2263,2268,2272,2277],{"type":31,"tagName":162,"properties":2254,"children":2255},{"style":2165},[2256],{"type":27,"value":2257},"function",{"type":31,"tagName":162,"properties":2259,"children":2260},{"style":1994},[2261],{"type":27,"value":2262}," onStart",{"type":31,"tagName":162,"properties":2264,"children":2265},{"style":2000},[2266],{"type":27,"value":2267},"()",{"type":31,"tagName":162,"properties":2269,"children":2270},{"style":2165},[2271],{"type":27,"value":2218},{"type":31,"tagName":162,"properties":2273,"children":2274},{"style":2017},[2275],{"type":27,"value":2276}," void",{"type":31,"tagName":162,"properties":2278,"children":2279},{"style":2000},[2280],{"type":27,"value":2281}," {",{"type":27,"value":28},{"type":31,"tagName":162,"properties":2284,"children":2285},{"class":1990},[2286,2291,2295,2299,2303,2307,2311,2315,2320],{"type":31,"tagName":162,"properties":2287,"children":2288},{"style":2000},[2289],{"type":27,"value":2290},"  sma ",{"type":31,"tagName":162,"properties":2292,"children":2293},{"style":2165},[2294],{"type":27,"value":2177},{"type":31,"tagName":162,"properties":2296,"children":2297},{"style":2165},[2298],{"type":27,"value":2182},{"type":31,"tagName":162,"properties":2300,"children":2301},{"style":1994},[2302],{"type":27,"value":2187},{"type":31,"tagName":162,"properties":2304,"children":2305},{"style":2000},[2306],{"type":27,"value":2003},{"type":31,"tagName":162,"properties":2308,"children":2309},{"style":1994},[2310],{"type":27,"value":1808},{"type":31,"tagName":162,"properties":2312,"children":2313},{"style":2000},[2314],{"type":27,"value":2003},{"type":31,"tagName":162,"properties":2316,"children":2317},{"style":1994},[2318],{"type":27,"value":2319},"p_period",{"type":31,"tagName":162,"properties":2321,"children":2322},{"style":2000},[2323],{"type":27,"value":2324},"()));",{"type":27,"value":28},{"type":31,"tagName":162,"properties":2327,"children":2328},{"class":1990},[2329],{"type":31,"tagName":162,"properties":2330,"children":2331},{"style":2000},[2332],{"type":27,"value":2333},"}",{"type":27,"value":28},{"type":31,"tagName":162,"properties":2336,"children":2337},{"class":1990},[],{"type":27,"value":28},{"type":31,"tagName":162,"properties":2340,"children":2341},{"class":1990},[2342,2346,2351,2355,2359,2363],{"type":31,"tagName":162,"properties":2343,"children":2344},{"style":2165},[2345],{"type":27,"value":2257},{"type":31,"tagName":162,"properties":2347,"children":2348},{"style":1994},[2349],{"type":27,"value":2350}," onBar",{"type":31,"tagName":162,"properties":2352,"children":2353},{"style":2000},[2354],{"type":27,"value":2267},{"type":31,"tagName":162,"properties":2356,"children":2357},{"style":2165},[2358],{"type":27,"value":2218},{"type":31,"tagName":162,"properties":2360,"children":2361},{"style":2017},[2362],{"type":27,"value":2276},{"type":31,"tagName":162,"properties":2364,"children":2365},{"style":2000},[2366],{"type":27,"value":2281},{"type":27,"value":28},{"type":31,"tagName":162,"properties":2369,"children":2370},{"class":1990},[2371,2376,2381,2385,2390,2395,2400],{"type":31,"tagName":162,"properties":2372,"children":2373},{"style":2165},[2374],{"type":27,"value":2375},"  const",{"type":31,"tagName":162,"properties":2377,"children":2378},{"style":2017},[2379],{"type":27,"value":2380}," close",{"type":31,"tagName":162,"properties":2382,"children":2383},{"style":2165},[2384],{"type":27,"value":2228},{"type":31,"tagName":162,"properties":2386,"children":2387},{"style":2000},[2388],{"type":27,"value":2389}," bar.",{"type":31,"tagName":162,"properties":2391,"children":2392},{"style":1994},[2393],{"type":27,"value":2394},"close",{"type":31,"tagName":162,"properties":2396,"children":2397},{"style":2000},[2398],{"type":27,"value":2399},"(); ",{"type":31,"tagName":162,"properties":2401,"children":2402},{"style":2241},[2403],{"type":27,"value":2404},"// a local: this bar's value, gone after the call",{"type":27,"value":28},{"type":31,"tagName":162,"properties":2407,"children":2408},{"class":1990},[2409,2413,2418,2422,2427,2432,2437,2441,2446,2451,2456],{"type":31,"tagName":162,"properties":2410,"children":2411},{"style":2165},[2412],{"type":27,"value":2375},{"type":31,"tagName":162,"properties":2414,"children":2415},{"style":2017},[2416],{"type":27,"value":2417}," change",{"type":31,"tagName":162,"properties":2419,"children":2420},{"style":2165},[2421],{"type":27,"value":2228},{"type":31,"tagName":162,"properties":2423,"children":2424},{"style":1994},[2425],{"type":27,"value":2426}," isNaN",{"type":31,"tagName":162,"properties":2428,"children":2429},{"style":2000},[2430],{"type":27,"value":2431},"(prevClose) ",{"type":31,"tagName":162,"properties":2433,"children":2434},{"style":2165},[2435],{"type":27,"value":2436},"?",{"type":31,"tagName":162,"properties":2438,"children":2439},{"style":2017},[2440],{"type":27,"value":2233},{"type":31,"tagName":162,"properties":2442,"children":2443},{"style":2165},[2444],{"type":27,"value":2445}," :",{"type":31,"tagName":162,"properties":2447,"children":2448},{"style":2000},[2449],{"type":27,"value":2450}," close ",{"type":31,"tagName":162,"properties":2452,"children":2453},{"style":2165},[2454],{"type":27,"value":2455},"-",{"type":31,"tagName":162,"properties":2457,"children":2458},{"style":2000},[2459],{"type":27,"value":2460}," prevClose;",{"type":27,"value":28},{"type":31,"tagName":162,"properties":2463,"children":2464},{"class":1990},[2465,2470,2474,2479],{"type":31,"tagName":162,"properties":2466,"children":2467},{"style":2000},[2468],{"type":27,"value":2469},"  prevClose ",{"type":31,"tagName":162,"properties":2471,"children":2472},{"style":2165},[2473],{"type":27,"value":2177},{"type":31,"tagName":162,"properties":2475,"children":2476},{"style":2000},[2477],{"type":27,"value":2478}," close; ",{"type":31,"tagName":162,"properties":2480,"children":2481},{"style":2241},[2482],{"type":27,"value":2483},"// remember it for the next bar",{"type":27,"value":28},{"type":31,"tagName":162,"properties":2486,"children":2487},{"class":1990},[2488,2492,2497,2501,2506,2511],{"type":31,"tagName":162,"properties":2489,"children":2490},{"style":2165},[2491],{"type":27,"value":2375},{"type":31,"tagName":162,"properties":2493,"children":2494},{"style":2017},[2495],{"type":27,"value":2496}," average",{"type":31,"tagName":162,"properties":2498,"children":2499},{"style":2165},[2500],{"type":27,"value":2228},{"type":31,"tagName":162,"properties":2502,"children":2503},{"style":2000},[2504],{"type":27,"value":2505}," sma.",{"type":31,"tagName":162,"properties":2507,"children":2508},{"style":1994},[2509],{"type":27,"value":2510},"update",{"type":31,"tagName":162,"properties":2512,"children":2513},{"style":2000},[2514],{"type":27,"value":2515},"(close);",{"type":27,"value":28},{"type":31,"tagName":162,"properties":2518,"children":2519},{"class":1990},[2520,2525,2529,2534,2539,2544],{"type":31,"tagName":162,"properties":2521,"children":2522},{"style":2165},[2523],{"type":27,"value":2524},"  if",{"type":31,"tagName":162,"properties":2526,"children":2527},{"style":2000},[2528],{"type":27,"value":377},{"type":31,"tagName":162,"properties":2530,"children":2531},{"style":1994},[2532],{"type":27,"value":2533},"isNaN",{"type":31,"tagName":162,"properties":2535,"children":2536},{"style":2000},[2537],{"type":27,"value":2538},"(change)) ",{"type":31,"tagName":162,"properties":2540,"children":2541},{"style":2165},[2542],{"type":27,"value":2543},"return",{"type":31,"tagName":162,"properties":2545,"children":2546},{"style":2000},[2547],{"type":27,"value":2548},";",{"type":27,"value":28},{"type":31,"tagName":162,"properties":2551,"children":2552},{"class":1990},[2553,2558],{"type":31,"tagName":162,"properties":2554,"children":2555},{"style":1994},[2556],{"type":27,"value":2557},"  out_change",{"type":31,"tagName":162,"properties":2559,"children":2560},{"style":2000},[2561],{"type":27,"value":2562},"(change);",{"type":27,"value":28},{"type":31,"tagName":162,"properties":2565,"children":2566},{"class":1990},[2567,2572],{"type":31,"tagName":162,"properties":2568,"children":2569},{"style":1994},[2570],{"type":27,"value":2571},"  out_moving_average",{"type":31,"tagName":162,"properties":2573,"children":2574},{"style":2000},[2575],{"type":27,"value":2576},"(average);",{"type":27,"value":28},{"type":31,"tagName":162,"properties":2579,"children":2580},{"class":1990},[2581],{"type":31,"tagName":162,"properties":2582,"children":2583},{"style":2000},[2584],{"type":27,"value":2333},{"type":27,"value":28},{"type":31,"tagName":32,"properties":2587,"children":2588,"position":2651},{},[2589,2597,2609,2615,2626,2633,2644],{"type":27,"value":2590,"position":2591},"On the first bar there is no previous close, so ",{"start":2592,"end":2595},{"line":2593,"column":21,"offset":2594},105,5283,{"line":2593,"column":1036,"offset":2596},5331,{"type":31,"tagName":45,"properties":2598,"children":2599,"position":2606},{},[2600],{"type":27,"value":2601,"position":2602},"change",{"start":2603,"end":2604},{"line":2593,"column":1036,"offset":2596},{"line":2593,"column":1632,"offset":2605},5339,{"start":2607,"end":2608},{"line":2593,"column":1036,"offset":2596},{"line":2593,"column":1632,"offset":2605},{"type":27,"value":2610,"position":2611}," is ",{"start":2612,"end":2613},{"line":2593,"column":1632,"offset":2605},{"line":2593,"column":799,"offset":2614},5343,{"type":31,"tagName":45,"properties":2616,"children":2617,"position":2623},{},[2618],{"type":27,"value":1210,"position":2619},{"start":2620,"end":2621},{"line":2593,"column":799,"offset":2614},{"line":2593,"column":1358,"offset":2622},5348,{"start":2624,"end":2625},{"line":2593,"column":799,"offset":2614},{"line":2593,"column":1358,"offset":2622},{"type":27,"value":2627,"position":2628}," and the\nfile returns before writing anything; from the second bar on the change\ndraws, and the average joins it once its window is full (writing ",{"start":2629,"end":2630},{"line":2593,"column":1358,"offset":2622},{"line":2631,"column":1358,"offset":2632},107,5494,{"type":31,"tagName":45,"properties":2634,"children":2635,"position":2641},{},[2636],{"type":27,"value":1210,"position":2637},{"start":2638,"end":2639},{"line":2631,"column":1358,"offset":2632},{"line":2631,"column":1883,"offset":2640},5499,{"start":2642,"end":2643},{"line":2631,"column":1358,"offset":2632},{"line":2631,"column":1883,"offset":2640},{"type":27,"value":2645,"position":2646},"\nuntil then is a gap on that one line, not a blank bar).",{"start":2647,"end":2648},{"line":2631,"column":1883,"offset":2640},{"line":2649,"column":262,"offset":2650},108,5555,{"start":2652,"end":2653},{"line":2593,"column":21,"offset":2594},{"line":2649,"column":262,"offset":2650},{"type":27,"value":28},{"type":31,"tagName":110,"properties":2656,"children":2657,"position":2666},{},[2658],{"type":27,"value":2659,"position":2660},"Persist example",{"start":2661,"end":2664},{"line":2662,"column":117,"offset":2663},110,5560,{"line":2662,"column":212,"offset":2665},5575,{"start":2667,"end":2669},{"line":2662,"column":21,"offset":2668},5557,{"line":2662,"column":212,"offset":2665},{"type":27,"value":28},{"type":31,"tagName":32,"properties":2672,"children":2673,"position":2684},{},[2674],{"type":27,"value":2675,"position":2676},"A bar counter that keeps its running total, plus a bar index and a\nfirst-bar seed in the same file.",{"start":2677,"end":2680},{"line":2678,"column":21,"offset":2679},112,5577,{"line":2681,"column":2682,"offset":2683},113,33,5676,{"start":2685,"end":2686},{"line":2678,"column":21,"offset":2679},{"line":2681,"column":2682,"offset":2683},{"type":27,"value":28},{"type":14,"children":2689},[2690],{"type":31,"tagName":1977,"properties":2691,"children":2693,"data":-1},{"class":1979,"style":1980,"tabindex":851,"data-sample":2692},"cc-vars-persist",[2694],{"type":31,"tagName":45,"properties":2695,"children":2697},{"class":2696},[1986],[2698,2744,2745,2783,2784,2822,2823,2826,2827,2865,2866,2905,2906,2943,2944,2947,2948,2975,2976,3006,3007,3034,3035,3075,3076,3098,3099,3139,3140,3161,3162,3175,3176,3210,3211,3224,3225],{"type":31,"tagName":162,"properties":2699,"children":2700},{"class":1990},[2701,2705,2709,2714,2718,2723,2727,2731,2735,2740],{"type":31,"tagName":162,"properties":2702,"children":2703},{"style":1994},[2704],{"type":27,"value":2064},{"type":31,"tagName":162,"properties":2706,"children":2707},{"style":2000},[2708],{"type":27,"value":2003},{"type":31,"tagName":162,"properties":2710,"children":2711},{"style":2006},[2712],{"type":27,"value":2713},"\"carried_score\"",{"type":31,"tagName":162,"properties":2715,"children":2716},{"style":2000},[2717],{"type":27,"value":2128},{"type":31,"tagName":162,"properties":2719,"children":2720},{"style":2006},[2721],{"type":27,"value":2722},"\"#16a34a\"",{"type":31,"tagName":162,"properties":2724,"children":2725},{"style":2000},[2726],{"type":27,"value":2088},{"type":31,"tagName":162,"properties":2728,"children":2729},{"style":2017},[2730],{"type":27,"value":2093},{"type":31,"tagName":162,"properties":2732,"children":2733},{"style":2000},[2734],{"type":27,"value":2045},{"type":31,"tagName":162,"properties":2736,"children":2737},{"style":2006},[2738],{"type":27,"value":2739},"\"Bars seen plus this bar's body: a value carried across bars\"",{"type":31,"tagName":162,"properties":2741,"children":2742},{"style":2000},[2743],{"type":27,"value":2055},{"type":27,"value":28},{"type":31,"tagName":162,"properties":2746,"children":2747},{"class":1990},[2748,2752,2756,2761,2765,2770,2774,2779],{"type":31,"tagName":162,"properties":2749,"children":2750},{"style":1994},[2751],{"type":27,"value":2064},{"type":31,"tagName":162,"properties":2753,"children":2754},{"style":2000},[2755],{"type":27,"value":2003},{"type":31,"tagName":162,"properties":2757,"children":2758},{"style":2006},[2759],{"type":27,"value":2760},"\"bar_index\"",{"type":31,"tagName":162,"properties":2762,"children":2763},{"style":2000},[2764],{"type":27,"value":2128},{"type":31,"tagName":162,"properties":2766,"children":2767},{"style":2006},[2768],{"type":27,"value":2769},"\"#94a3b8\"",{"type":31,"tagName":162,"properties":2771,"children":2772},{"style":2000},[2773],{"type":27,"value":2045},{"type":31,"tagName":162,"properties":2775,"children":2776},{"style":2006},[2777],{"type":27,"value":2778},"\"0 on the oldest bar, counting up\"",{"type":31,"tagName":162,"properties":2780,"children":2781},{"style":2000},[2782],{"type":27,"value":2055},{"type":27,"value":28},{"type":31,"tagName":162,"properties":2785,"children":2786},{"class":1990},[2787,2791,2795,2800,2804,2809,2813,2818],{"type":31,"tagName":162,"properties":2788,"children":2789},{"style":1994},[2790],{"type":27,"value":2064},{"type":31,"tagName":162,"properties":2792,"children":2793},{"style":2000},[2794],{"type":27,"value":2003},{"type":31,"tagName":162,"properties":2796,"children":2797},{"style":2006},[2798],{"type":27,"value":2799},"\"first_open\"",{"type":31,"tagName":162,"properties":2801,"children":2802},{"style":2000},[2803],{"type":27,"value":2128},{"type":31,"tagName":162,"properties":2805,"children":2806},{"style":2006},[2807],{"type":27,"value":2808},"\"#f59e0b\"",{"type":31,"tagName":162,"properties":2810,"children":2811},{"style":2000},[2812],{"type":27,"value":2045},{"type":31,"tagName":162,"properties":2814,"children":2815},{"style":2006},[2816],{"type":27,"value":2817},"\"The open of the first bar of loaded history, held\"",{"type":31,"tagName":162,"properties":2819,"children":2820},{"style":2000},[2821],{"type":27,"value":2055},{"type":27,"value":28},{"type":31,"tagName":162,"properties":2824,"children":2825},{"class":1990},[],{"type":27,"value":28},{"type":31,"tagName":162,"properties":2828,"children":2829},{"class":1990},[2830,2834,2839,2843,2847,2851,2856,2860],{"type":31,"tagName":162,"properties":2831,"children":2832},{"style":2165},[2833],{"type":27,"value":237},{"type":31,"tagName":162,"properties":2835,"children":2836},{"style":2000},[2837],{"type":27,"value":2838}," barsSeen",{"type":31,"tagName":162,"properties":2840,"children":2841},{"style":2165},[2842],{"type":27,"value":2218},{"type":31,"tagName":162,"properties":2844,"children":2845},{"style":1994},[2846],{"type":27,"value":2223},{"type":31,"tagName":162,"properties":2848,"children":2849},{"style":2165},[2850],{"type":27,"value":2228},{"type":31,"tagName":162,"properties":2852,"children":2853},{"style":2017},[2854],{"type":27,"value":2855}," 0.0",{"type":31,"tagName":162,"properties":2857,"children":2858},{"style":2000},[2859],{"type":27,"value":2238},{"type":31,"tagName":162,"properties":2861,"children":2862},{"style":2241},[2863],{"type":27,"value":2864},"// module state: survives every bar",{"type":27,"value":28},{"type":31,"tagName":162,"properties":2867,"children":2868},{"class":1990},[2869,2873,2878,2882,2887,2891,2896,2900],{"type":31,"tagName":162,"properties":2870,"children":2871},{"style":2165},[2872],{"type":27,"value":237},{"type":31,"tagName":162,"properties":2874,"children":2875},{"style":2000},[2876],{"type":27,"value":2877}," barIndex",{"type":31,"tagName":162,"properties":2879,"children":2880},{"style":2165},[2881],{"type":27,"value":2218},{"type":31,"tagName":162,"properties":2883,"children":2884},{"style":1994},[2885],{"type":27,"value":2886}," i32",{"type":31,"tagName":162,"properties":2888,"children":2889},{"style":2165},[2890],{"type":27,"value":2228},{"type":31,"tagName":162,"properties":2892,"children":2893},{"style":2017},[2894],{"type":27,"value":2895}," 0",{"type":31,"tagName":162,"properties":2897,"children":2898},{"style":2000},[2899],{"type":27,"value":2238},{"type":31,"tagName":162,"properties":2901,"children":2902},{"style":2241},[2903],{"type":27,"value":2904},"// counts bars from the oldest loaded one",{"type":27,"value":28},{"type":31,"tagName":162,"properties":2907,"children":2908},{"class":1990},[2909,2913,2918,2922,2926,2930,2934,2938],{"type":31,"tagName":162,"properties":2910,"children":2911},{"style":2165},[2912],{"type":27,"value":237},{"type":31,"tagName":162,"properties":2914,"children":2915},{"style":2000},[2916],{"type":27,"value":2917}," firstOpen",{"type":31,"tagName":162,"properties":2919,"children":2920},{"style":2165},[2921],{"type":27,"value":2218},{"type":31,"tagName":162,"properties":2923,"children":2924},{"style":1994},[2925],{"type":27,"value":2223},{"type":31,"tagName":162,"properties":2927,"children":2928},{"style":2165},[2929],{"type":27,"value":2228},{"type":31,"tagName":162,"properties":2931,"children":2932},{"style":2017},[2933],{"type":27,"value":2233},{"type":31,"tagName":162,"properties":2935,"children":2936},{"style":2000},[2937],{"type":27,"value":2238},{"type":31,"tagName":162,"properties":2939,"children":2940},{"style":2241},[2941],{"type":27,"value":2942},"// seeded once, on the first bar",{"type":27,"value":28},{"type":31,"tagName":162,"properties":2945,"children":2946},{"class":1990},[],{"type":27,"value":28},{"type":31,"tagName":162,"properties":2949,"children":2950},{"class":1990},[2951,2955,2959,2963,2967,2971],{"type":31,"tagName":162,"properties":2952,"children":2953},{"style":2165},[2954],{"type":27,"value":2257},{"type":31,"tagName":162,"properties":2956,"children":2957},{"style":1994},[2958],{"type":27,"value":2350},{"type":31,"tagName":162,"properties":2960,"children":2961},{"style":2000},[2962],{"type":27,"value":2267},{"type":31,"tagName":162,"properties":2964,"children":2965},{"style":2165},[2966],{"type":27,"value":2218},{"type":31,"tagName":162,"properties":2968,"children":2969},{"style":2017},[2970],{"type":27,"value":2276},{"type":31,"tagName":162,"properties":2972,"children":2973},{"style":2000},[2974],{"type":27,"value":2281},{"type":27,"value":28},{"type":31,"tagName":162,"properties":2977,"children":2978},{"class":1990},[2979,2983,2988,2992,2996,3001],{"type":31,"tagName":162,"properties":2980,"children":2981},{"style":2165},[2982],{"type":27,"value":2375},{"type":31,"tagName":162,"properties":2984,"children":2985},{"style":2017},[2986],{"type":27,"value":2987}," open",{"type":31,"tagName":162,"properties":2989,"children":2990},{"style":2165},[2991],{"type":27,"value":2228},{"type":31,"tagName":162,"properties":2993,"children":2994},{"style":2000},[2995],{"type":27,"value":2389},{"type":31,"tagName":162,"properties":2997,"children":2998},{"style":1994},[2999],{"type":27,"value":3000},"open",{"type":31,"tagName":162,"properties":3002,"children":3003},{"style":2000},[3004],{"type":27,"value":3005},"();",{"type":27,"value":28},{"type":31,"tagName":162,"properties":3008,"children":3009},{"class":1990},[3010,3014,3018,3022,3026,3030],{"type":31,"tagName":162,"properties":3011,"children":3012},{"style":2165},[3013],{"type":27,"value":2375},{"type":31,"tagName":162,"properties":3015,"children":3016},{"style":2017},[3017],{"type":27,"value":2380},{"type":31,"tagName":162,"properties":3019,"children":3020},{"style":2165},[3021],{"type":27,"value":2228},{"type":31,"tagName":162,"properties":3023,"children":3024},{"style":2000},[3025],{"type":27,"value":2389},{"type":31,"tagName":162,"properties":3027,"children":3028},{"style":1994},[3029],{"type":27,"value":2394},{"type":31,"tagName":162,"properties":3031,"children":3032},{"style":2000},[3033],{"type":27,"value":3005},{"type":27,"value":28},{"type":31,"tagName":162,"properties":3036,"children":3037},{"class":1990},[3038,3042,3047,3052,3056,3061,3065,3070],{"type":31,"tagName":162,"properties":3039,"children":3040},{"style":2165},[3041],{"type":27,"value":2524},{"type":31,"tagName":162,"properties":3043,"children":3044},{"style":2000},[3045],{"type":27,"value":3046}," (barIndex ",{"type":31,"tagName":162,"properties":3048,"children":3049},{"style":2165},[3050],{"type":27,"value":3051},"==",{"type":31,"tagName":162,"properties":3053,"children":3054},{"style":2017},[3055],{"type":27,"value":2895},{"type":31,"tagName":162,"properties":3057,"children":3058},{"style":2000},[3059],{"type":27,"value":3060},") firstOpen ",{"type":31,"tagName":162,"properties":3062,"children":3063},{"style":2165},[3064],{"type":27,"value":2177},{"type":31,"tagName":162,"properties":3066,"children":3067},{"style":2000},[3068],{"type":27,"value":3069}," open; ",{"type":31,"tagName":162,"properties":3071,"children":3072},{"style":2241},[3073],{"type":27,"value":3074},"// the first bar of the run",{"type":27,"value":28},{"type":31,"tagName":162,"properties":3077,"children":3078},{"class":1990},[3079,3084,3089,3094],{"type":31,"tagName":162,"properties":3080,"children":3081},{"style":2000},[3082],{"type":27,"value":3083},"  barsSeen ",{"type":31,"tagName":162,"properties":3085,"children":3086},{"style":2165},[3087],{"type":27,"value":3088},"+=",{"type":31,"tagName":162,"properties":3090,"children":3091},{"style":2017},[3092],{"type":27,"value":3093}," 1.0",{"type":31,"tagName":162,"properties":3095,"children":3096},{"style":2000},[3097],{"type":27,"value":2548},{"type":27,"value":28},{"type":31,"tagName":162,"properties":3100,"children":3101},{"class":1990},[3102,3106,3111,3115,3120,3125,3130,3134],{"type":31,"tagName":162,"properties":3103,"children":3104},{"style":2165},[3105],{"type":27,"value":2375},{"type":31,"tagName":162,"properties":3107,"children":3108},{"style":2017},[3109],{"type":27,"value":3110}," score",{"type":31,"tagName":162,"properties":3112,"children":3113},{"style":2165},[3114],{"type":27,"value":2228},{"type":31,"tagName":162,"properties":3116,"children":3117},{"style":2000},[3118],{"type":27,"value":3119}," barsSeen ",{"type":31,"tagName":162,"properties":3121,"children":3122},{"style":2165},[3123],{"type":27,"value":3124},"+",{"type":31,"tagName":162,"properties":3126,"children":3127},{"style":2000},[3128],{"type":27,"value":3129}," (close ",{"type":31,"tagName":162,"properties":3131,"children":3132},{"style":2165},[3133],{"type":27,"value":2455},{"type":31,"tagName":162,"properties":3135,"children":3136},{"style":2000},[3137],{"type":27,"value":3138}," open);",{"type":27,"value":28},{"type":31,"tagName":162,"properties":3141,"children":3142},{"class":1990},[3143,3148,3152,3157],{"type":31,"tagName":162,"properties":3144,"children":3145},{"style":2000},[3146],{"type":27,"value":3147},"  barIndex ",{"type":31,"tagName":162,"properties":3149,"children":3150},{"style":2165},[3151],{"type":27,"value":3088},{"type":31,"tagName":162,"properties":3153,"children":3154},{"style":2017},[3155],{"type":27,"value":3156}," 1",{"type":31,"tagName":162,"properties":3158,"children":3159},{"style":2000},[3160],{"type":27,"value":2548},{"type":27,"value":28},{"type":31,"tagName":162,"properties":3163,"children":3164},{"class":1990},[3165,3170],{"type":31,"tagName":162,"properties":3166,"children":3167},{"style":1994},[3168],{"type":27,"value":3169},"  out_carried_score",{"type":31,"tagName":162,"properties":3171,"children":3172},{"style":2000},[3173],{"type":27,"value":3174},"(score);",{"type":27,"value":28},{"type":31,"tagName":162,"properties":3177,"children":3178},{"class":1990},[3179,3184,3188,3192,3197,3201,3205],{"type":31,"tagName":162,"properties":3180,"children":3181},{"style":1994},[3182],{"type":27,"value":3183},"  out_bar_index",{"type":31,"tagName":162,"properties":3185,"children":3186},{"style":2000},[3187],{"type":27,"value":2003},{"type":31,"tagName":162,"properties":3189,"children":3190},{"style":1994},[3191],{"type":27,"value":1320},{"type":31,"tagName":162,"properties":3193,"children":3194},{"style":2000},[3195],{"type":27,"value":3196},"(barIndex ",{"type":31,"tagName":162,"properties":3198,"children":3199},{"style":2165},[3200],{"type":27,"value":2455},{"type":31,"tagName":162,"properties":3202,"children":3203},{"style":2017},[3204],{"type":27,"value":3156},{"type":31,"tagName":162,"properties":3206,"children":3207},{"style":2000},[3208],{"type":27,"value":3209},"));",{"type":27,"value":28},{"type":31,"tagName":162,"properties":3212,"children":3213},{"class":1990},[3214,3219],{"type":31,"tagName":162,"properties":3215,"children":3216},{"style":1994},[3217],{"type":27,"value":3218},"  out_first_open",{"type":31,"tagName":162,"properties":3220,"children":3221},{"style":2000},[3222],{"type":27,"value":3223},"(firstOpen);",{"type":27,"value":28},{"type":31,"tagName":162,"properties":3226,"children":3227},{"class":1990},[3228],{"type":31,"tagName":162,"properties":3229,"children":3230},{"style":2000},[3231],{"type":27,"value":2333},{"type":27,"value":28},{"type":31,"tagName":32,"properties":3234,"children":3235,"position":3347},{},[3236,3250,3256,3268,3275,3286,3292,3304,3311,3322,3329,3342],{"type":31,"tagName":45,"properties":3237,"children":3238,"position":3247},{},[3239],{"type":27,"value":3240,"position":3241},"barsSeen",{"start":3242,"end":3245},{"line":3243,"column":21,"offset":3244},137,6603,{"line":3243,"column":151,"offset":3246},6613,{"start":3248,"end":3249},{"line":3243,"column":21,"offset":3244},{"line":3243,"column":151,"offset":3246},{"type":27,"value":3251,"position":3252}," is the carried counter; ",{"start":3253,"end":3254},{"line":3243,"column":151,"offset":3246},{"line":3243,"column":667,"offset":3255},6638,{"type":31,"tagName":45,"properties":3257,"children":3258,"position":3265},{},[3259],{"type":27,"value":3260,"position":3261},"barIndex",{"start":3262,"end":3263},{"line":3243,"column":667,"offset":3255},{"line":3243,"column":828,"offset":3264},6648,{"start":3266,"end":3267},{"line":3243,"column":667,"offset":3255},{"line":3243,"column":828,"offset":3264},{"type":27,"value":3269,"position":3270}," is the same idea kept as\nan ",{"start":3271,"end":3272},{"line":3243,"column":828,"offset":3264},{"line":3273,"column":117,"offset":3274},138,6677,{"type":31,"tagName":45,"properties":3276,"children":3277,"position":3283},{},[3278],{"type":27,"value":1808,"position":3279},{"start":3280,"end":3281},{"line":3273,"column":117,"offset":3274},{"line":3273,"column":1248,"offset":3282},6682,{"start":3284,"end":3285},{"line":3273,"column":117,"offset":3274},{"line":3273,"column":1248,"offset":3282},{"type":27,"value":3287,"position":3288}," and written to an output as ",{"start":3289,"end":3290},{"line":3273,"column":1248,"offset":3282},{"line":3273,"column":533,"offset":3291},6711,{"type":31,"tagName":45,"properties":3293,"children":3294,"position":3301},{},[3295],{"type":27,"value":3296,"position":3297},"f64(barIndex - 1)",{"start":3298,"end":3299},{"line":3273,"column":533,"offset":3291},{"line":3273,"column":1632,"offset":3300},6730,{"start":3302,"end":3303},{"line":3273,"column":533,"offset":3291},{"line":3273,"column":1632,"offset":3300},{"type":27,"value":3305,"position":3306}," (the increment\nhappens before the write). The counter says ",{"start":3307,"end":3308},{"line":3273,"column":1632,"offset":3300},{"line":3309,"column":248,"offset":3310},139,6790,{"type":31,"tagName":45,"properties":3312,"children":3313,"position":3319},{},[3314],{"type":27,"value":851,"position":3315},{"start":3316,"end":3317},{"line":3309,"column":248,"offset":3310},{"line":3309,"column":965,"offset":3318},6793,{"start":3320,"end":3321},{"line":3309,"column":248,"offset":3310},{"line":3309,"column":965,"offset":3318},{"type":27,"value":3323,"position":3324}," on the oldest\nloaded bar, not on the first bar the market ever traded: history depth is\nwhatever the chart loaded, and panning back, which runs the indicator again\nover the longer window, renumbers every bar (",{"start":3325,"end":3326},{"line":3309,"column":965,"offset":3318},{"line":3327,"column":828,"offset":3328},142,7003,{"type":31,"tagName":384,"properties":3330,"children":3331,"position":3338},{"href":521},[3332],{"type":27,"value":524,"position":3333},{"start":3334,"end":3336},{"line":3327,"column":927,"offset":3335},7004,{"line":3327,"column":1632,"offset":3337},7014,{"start":3339,"end":3340},{"line":3327,"column":828,"offset":3328},{"line":3327,"column":1899,"offset":3341},7030,{"type":27,"value":536,"position":3343},{"start":3344,"end":3345},{"line":3327,"column":1899,"offset":3341},{"line":3327,"column":1001,"offset":3346},7032,{"start":3348,"end":3349},{"line":3243,"column":21,"offset":3244},{"line":3327,"column":1001,"offset":3346},{"type":27,"value":28},{"type":31,"tagName":110,"properties":3352,"children":3353,"position":3362},{},[3354],{"type":27,"value":3355,"position":3356},"Boundaries",{"start":3357,"end":3360},{"line":3358,"column":117,"offset":3359},144,7037,{"line":3358,"column":195,"offset":3361},7047,{"start":3363,"end":3365},{"line":3358,"column":21,"offset":3364},7034,{"line":3358,"column":195,"offset":3361},{"type":27,"value":28},{"type":31,"tagName":32,"properties":3368,"children":3369,"position":3520},{},[3370,3386,3392,3404,3411,3422,3428,3440,3447,3458,3464,3475,3482,3494,3500,3513],{"type":31,"tagName":435,"properties":3371,"children":3372,"position":3381},{},[3373],{"type":27,"value":3374,"position":3375},"Indexing a number is refused.",{"start":3376,"end":3379},{"line":3377,"column":148,"offset":3378},146,7051,{"line":3377,"column":231,"offset":3380},7080,{"start":3382,"end":3384},{"line":3377,"column":21,"offset":3383},7049,{"line":3377,"column":611,"offset":3385},7082,{"type":27,"value":3387,"position":3388}," ",{"start":3389,"end":3390},{"line":3377,"column":611,"offset":3385},{"line":3377,"column":462,"offset":3391},7083,{"type":31,"tagName":45,"properties":3393,"children":3394,"position":3401},{},[3395],{"type":27,"value":3396,"position":3397},"const previous = closeNow[1];",{"start":3398,"end":3399},{"line":3377,"column":462,"offset":3391},{"line":3377,"column":1358,"offset":3400},7114,{"start":3402,"end":3403},{"line":3377,"column":462,"offset":3391},{"line":3377,"column":1358,"offset":3400},{"type":27,"value":3405,"position":3406}," on an\n",{"start":3407,"end":3408},{"line":3377,"column":1358,"offset":3400},{"line":3409,"column":21,"offset":3410},147,7121,{"type":31,"tagName":45,"properties":3412,"children":3413,"position":3419},{},[3414],{"type":27,"value":1320,"position":3415},{"start":3416,"end":3417},{"line":3409,"column":21,"offset":3410},{"line":3409,"column":42,"offset":3418},7126,{"start":3420,"end":3421},{"line":3409,"column":21,"offset":3410},{"line":3409,"column":42,"offset":3418},{"type":27,"value":3423,"position":3424}," fails to compile with ",{"start":3425,"end":3426},{"line":3409,"column":42,"offset":3418},{"line":3409,"column":551,"offset":3427},7149,{"type":31,"tagName":45,"properties":3429,"children":3430,"position":3437},{},[3431],{"type":27,"value":3432,"position":3433},"Index signature is missing in type 'f64'",{"start":3434,"end":3435},{"line":3409,"column":551,"offset":3427},{"line":3409,"column":1883,"offset":3436},7191,{"start":3438,"end":3439},{"line":3409,"column":551,"offset":3427},{"line":3409,"column":1883,"offset":3436},{"type":27,"value":3441,"position":3442},".\nThere is nothing to index: ",{"start":3443,"end":3444},{"line":3409,"column":1883,"offset":3436},{"line":3445,"column":224,"offset":3446},148,7220,{"type":31,"tagName":45,"properties":3448,"children":3449,"position":3455},{},[3450],{"type":27,"value":634,"position":3451},{"start":3452,"end":3453},{"line":3445,"column":224,"offset":3446},{"line":3445,"column":667,"offset":3454},7228,{"start":3456,"end":3457},{"line":3445,"column":224,"offset":3446},{"line":3445,"column":667,"offset":3454},{"type":27,"value":3459,"position":3460}," the value into a ",{"start":3461,"end":3462},{"line":3445,"column":667,"offset":3454},{"line":3445,"column":257,"offset":3463},7246,{"type":31,"tagName":45,"properties":3465,"children":3466,"position":3472},{},[3467],{"type":27,"value":371,"position":3468},{"start":3469,"end":3470},{"line":3445,"column":257,"offset":3463},{"line":3445,"column":1348,"offset":3471},7255,{"start":3473,"end":3474},{"line":3445,"column":257,"offset":3463},{"line":3445,"column":1348,"offset":3471},{"type":27,"value":3476,"position":3477}," and read\n",{"start":3478,"end":3479},{"line":3445,"column":1348,"offset":3471},{"line":3480,"column":21,"offset":3481},149,7265,{"type":31,"tagName":45,"properties":3483,"children":3484,"position":3491},{},[3485],{"type":27,"value":3486,"position":3487},"ago(1)",{"start":3488,"end":3489},{"line":3480,"column":21,"offset":3481},{"line":3480,"column":1248,"offset":3490},7273,{"start":3492,"end":3493},{"line":3480,"column":21,"offset":3481},{"line":3480,"column":1248,"offset":3490},{"type":27,"value":663,"position":3495},{"start":3496,"end":3497},{"line":3480,"column":1248,"offset":3490},{"line":3498,"column":668,"offset":3499},150,7275,{"type":31,"tagName":384,"properties":3501,"children":3502,"position":3509},{"href":386},[3503],{"type":27,"value":389,"position":3504},{"start":3505,"end":3507},{"line":3498,"column":148,"offset":3506},7276,{"line":3498,"column":517,"offset":3508},7300,{"start":3510,"end":3511},{"line":3498,"column":668,"offset":3499},{"line":3498,"column":682,"offset":3512},7359,{"type":27,"value":3514,"position":3515},"), or promote it to a\nremembered variable or a ring buffer.",{"start":3516,"end":3517},{"line":3498,"column":682,"offset":3512},{"line":3518,"column":533,"offset":3519},151,7418,{"start":3521,"end":3522},{"line":3377,"column":21,"offset":3383},{"line":3518,"column":533,"offset":3519},{"type":27,"value":28},{"type":31,"tagName":32,"properties":3525,"children":3526,"position":3583},{},[3527,3543,3549,3560,3566,3577],{"type":31,"tagName":435,"properties":3528,"children":3529,"position":3538},{},[3530],{"type":27,"value":3531,"position":3532},"A local does not survive the call.",{"start":3533,"end":3536},{"line":3534,"column":148,"offset":3535},153,7422,{"line":3534,"column":241,"offset":3537},7456,{"start":3539,"end":3541},{"line":3534,"column":21,"offset":3540},7420,{"line":3534,"column":381,"offset":3542},7458,{"type":27,"value":3544,"position":3545}," A ",{"start":3546,"end":3547},{"line":3534,"column":381,"offset":3542},{"line":3534,"column":601,"offset":3548},7461,{"type":31,"tagName":45,"properties":3550,"children":3551,"position":3557},{},[3552],{"type":27,"value":237,"position":3553},{"start":3554,"end":3555},{"line":3534,"column":601,"offset":3548},{"line":3534,"column":927,"offset":3556},7466,{"start":3558,"end":3559},{"line":3534,"column":601,"offset":3548},{"line":3534,"column":927,"offset":3556},{"type":27,"value":3561,"position":3562}," declared inside ",{"start":3563,"end":3564},{"line":3534,"column":927,"offset":3556},{"line":3534,"column":394,"offset":3565},7483,{"type":31,"tagName":45,"properties":3567,"children":3568,"position":3574},{},[3569],{"type":27,"value":49,"position":3570},{"start":3571,"end":3572},{"line":3534,"column":394,"offset":3565},{"line":3534,"column":1899,"offset":3573},7492,{"start":3575,"end":3576},{"line":3534,"column":394,"offset":3565},{"line":3534,"column":1899,"offset":3573},{"type":27,"value":3578,"position":3579},"\nstarts over on every bar. If you meant to carry it, move the declaration\nto module level.",{"start":3580,"end":3581},{"line":3534,"column":1899,"offset":3573},{"line":1085,"column":203,"offset":3582},7582,{"start":3584,"end":3585},{"line":3534,"column":21,"offset":3540},{"line":1085,"column":203,"offset":3582},{"type":27,"value":28},{"type":31,"tagName":32,"properties":3588,"children":3589,"position":3631},{},[3590,3606,3613,3626],{"type":31,"tagName":435,"properties":3591,"children":3592,"position":3601},{},[3593],{"type":27,"value":3594,"position":3595},"Nothing in the file puts module state back.",{"start":3596,"end":3599},{"line":3597,"column":148,"offset":3598},157,7586,{"line":3597,"column":828,"offset":3600},7629,{"start":3602,"end":3604},{"line":3597,"column":21,"offset":3603},7584,{"line":3597,"column":965,"offset":3605},7631,{"type":27,"value":3607,"position":3608}," The chart does not need\nit to replay the forming bar: it restores a snapshot of the module taken\nafter the last closed bar, every module-level variable and every TA\nobject included (",{"start":3609,"end":3610},{"line":3597,"column":965,"offset":3605},{"line":3611,"column":430,"offset":3612},160,7814,{"type":31,"tagName":384,"properties":3614,"children":3615,"position":3622},{"href":521},[3616],{"type":27,"value":524,"position":3617},{"start":3618,"end":3620},{"line":3611,"column":212,"offset":3619},7815,{"line":3611,"column":551,"offset":3621},7825,{"start":3623,"end":3624},{"line":3611,"column":430,"offset":3612},{"line":3611,"column":248,"offset":3625},7841,{"type":27,"value":536,"position":3627},{"start":3628,"end":3629},{"line":3611,"column":248,"offset":3625},{"line":3611,"column":927,"offset":3630},7843,{"start":3632,"end":3633},{"line":3597,"column":21,"offset":3603},{"line":3611,"column":927,"offset":3630},{"type":27,"value":28},{"type":31,"tagName":32,"properties":3636,"children":3637,"position":3734},{},[3638,3654,3660,3672,3677,3689,3696,3707,3714,3729],{"type":31,"tagName":435,"properties":3639,"children":3640,"position":3649},{},[3641],{"type":27,"value":3642,"position":3643},"Allocate once.",{"start":3644,"end":3647},{"line":3645,"column":148,"offset":3646},162,7847,{"line":3645,"column":203,"offset":3648},7861,{"start":3650,"end":3652},{"line":3645,"column":21,"offset":3651},7845,{"line":3645,"column":212,"offset":3653},7863,{"type":27,"value":3655,"position":3656}," A module-level ",{"start":3657,"end":3658},{"line":3645,"column":212,"offset":3653},{"line":3645,"column":462,"offset":3659},7879,{"type":31,"tagName":45,"properties":3661,"children":3662,"position":3669},{},[3663],{"type":27,"value":3664,"position":3665},"new StaticArray\u003Cf64>(n)",{"start":3666,"end":3667},{"line":3645,"column":462,"offset":3659},{"line":3645,"column":93,"offset":3668},7904,{"start":3670,"end":3671},{"line":3645,"column":462,"offset":3659},{"line":3645,"column":93,"offset":3668},{"type":27,"value":227,"position":3673},{"start":3674,"end":3675},{"line":3645,"column":93,"offset":3668},{"line":3645,"column":394,"offset":3676},7908,{"type":31,"tagName":45,"properties":3678,"children":3679,"position":3686},{},[3680],{"type":27,"value":3681,"position":3682},"new Sma(n)",{"start":3683,"end":3684},{"line":3645,"column":394,"offset":3676},{"line":3645,"column":1949,"offset":3685},7920,{"start":3687,"end":3688},{"line":3645,"column":394,"offset":3676},{"line":3645,"column":1949,"offset":3685},{"type":27,"value":3690,"position":3691},"\nis built in ",{"start":3692,"end":3693},{"line":3645,"column":1949,"offset":3685},{"line":3694,"column":1158,"offset":3695},163,7933,{"type":31,"tagName":45,"properties":3697,"children":3698,"position":3704},{},[3699],{"type":27,"value":70,"position":3700},{"start":3701,"end":3702},{"line":3694,"column":1158,"offset":3695},{"line":3694,"column":355,"offset":3703},7944,{"start":3705,"end":3706},{"line":3694,"column":1158,"offset":3695},{"line":3694,"column":355,"offset":3703},{"type":27,"value":3708,"position":3709}," or at module scope, never per bar: the module has no\ngarbage collector, so memory only grows, and the chart refuses a run whose\nmemory grows once the bars start (",{"start":3710,"end":3711},{"line":3694,"column":355,"offset":3703},{"line":3712,"column":462,"offset":3713},165,8107,{"type":31,"tagName":384,"properties":3715,"children":3717,"position":3725},{"href":3716},"collections.md",[3718],{"type":27,"value":3719,"position":3720},"Collections",{"start":3721,"end":3723},{"line":3712,"column":667,"offset":3722},8108,{"line":3712,"column":927,"offset":3724},8119,{"start":3726,"end":3727},{"line":3712,"column":462,"offset":3713},{"line":3712,"column":394,"offset":3728},8136,{"type":27,"value":536,"position":3730},{"start":3731,"end":3732},{"line":3712,"column":394,"offset":3728},{"line":3712,"column":1358,"offset":3733},8138,{"start":3735,"end":3736},{"line":3645,"column":21,"offset":3651},{"line":3712,"column":1358,"offset":3733},{"quirksMode":3738},false,{"start":3740,"end":3741},{"line":21,"column":21,"offset":22},{"line":3742,"column":21,"offset":3743},166,8139,1791265217723]