[{"data":1,"prerenderedAt":2577},["ShallowReactive",2],{"wrun-open-editor-url":3,"indicators:cookbook/volume-spike":4},"https://openmarket.xyz/chart/#wrun-open=v1",{"slug":5,"filePath":6,"frontmatter":7,"rawMarkdown":12,"tree":13},"cookbook/volume-spike","cookbook/volume-spike.md",{"title":8,"description":9,"order":10,"section":11},"Volume spike detector","Flag bars whose volume blows past its trailing average, scored as a z-score against a rolling mean and standard deviation.",69,"cookbook","---\ntitle: \"Volume spike detector\"\ndescription: \"Flag bars whose volume blows past its trailing average, scored as a z-score against a rolling mean and standard deviation.\"\norder: 69\nsection: \"cookbook\"\n---\n\n\u003C!-- source: docs/indicators/cookbook/volume-spike.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Volume spike detector\n\nFlag bars whose volume blows past its trailing average, scored as a z-score against a rolling mean and standard deviation.\n\nThis recipe spots unusual volume. Instead of a fixed \"alert above 1M\" threshold that means nothing across different symbols, it measures how far the current bar's volume sits above its own recent average, in standard deviations. A reading of 3 means \"three sigma above normal\" whatever the symbol or timeframe. It is the cleanest possible introduction to the indicator loop: read one input, fold it into one class, write a few outputs.\n\n## The wrun indicator\n\n```typescript sample=cookbook-volume-spike\nparam(\"lookback\", 50, { min: 10, max: 300, description: \"Bars of history that define normal volume\" });\nparam(\"threshold\", 2.5, { min: 1, max: 6, description: \"Z-score that counts as a spike\" });\ninput(\"volume\", ohlcv.volume); // the first input is the bar grid: the chart's own candles\noutput(\"z\", line, lower, { color: \"#64748b\", width: 1, description: \"Volume z-score\" });\noutput(\"threshold\", line, lower, { color: \"#ef4444\", width: 1 });\noutput(\"spike\", shape, lower, { color: \"#ef4444\", shape_where: \"is_spike\" });\noutput(\"is_spike\", none);\n\nlet zscore = new Zscore(50);\nlet threshold: f64 = 2.5;\n\nfunction onStart(): void {\n  zscore = new Zscore(i32(p_lookback()));\n  threshold = p_threshold();\n}\n\nfunction onBar(): void {\n  const z = zscore.update(bar.volume());\n  if (isNaN(z)) return;\n  out_z(z);\n  out_threshold(threshold);\n  out_spike(z);\n  out_is_spike(z >= threshold ? 1.0 : 0.0);\n}\n```\n\n## How it works\n\n**The data.** One `input(\"volume\", ohlcv.volume)` names the chart's own volume as the first input, the grid the run walks, and `bar.volume()` reads it in `onBar()`, one value per bar. That is the only feed the detector needs, and `onBar()` sees this bar's value and nothing else.\n\n**The score.** A z-score answers \"how surprising is this number?\" You need two reference points: where volume usually sits, and how much it normally wobbles. `Zscore` is both reference points in one class: `update(x)` folds one bar into its window and returns `(x - mean) / stdev` over that window, or `0` when the window is flat. Because it is a ratio, it is comparable across any symbol or timeframe. A whale print on BTC and a thin altcoin both light up at the same number.\n\n**The warm-up guard.** Until `lookback` bars have loaded, the class returns `NaN`, and `onBar()` returns before writing anything: every output stays `NaN` on that bar, and a `NaN` is not drawn, so the pane stays empty there instead of drawing noise ([Execution model](../core-concepts/execution-model.md)).\n\n**The output.** `z` plots as a line in its own pane (`lower`). `threshold` is a line too, written to the same value on every bar, so you can see at a glance how close any bar is to firing. `spike` is a `shape` output whose value is the z-score (where the mark sits) and whose `shape_where` gate is the data-only `is_spike` output: the mark draws only on bars where the gate is `1`. Decisions are numbers here, and the sheet turns them into looks.\n\n## Design notes\n\n- The mark is two outputs: its position (`spike`) and the decision that gates it (`is_spike`). An output cannot gate itself, so the gate is its own `none` output.\n- The threshold line is an output that never changes; its value is the param, written every bar.\n- Settings take any value inside `min`..`max`; the `description` is the label the settings dialog shows beside the field.\n- Every output has a value on every bar. After a Run the editor's Console prompt reads any of them (`last 20 z`, `is_spike`), and once the indicator is published, `z` can carry an alert set from the chart.\n\n## Customize it\n\n- **Sensitivity.** `threshold` is the main knob. Drop it toward `1.5` to catch milder bursts, raise it toward `4` to keep only genuine anomalies. The red line moves with it.\n- **Memory.** `lookback` sets how much history \"normal\" is measured against. A short window (20) reacts to recent conditions and treats a busy session as the new baseline; a long window (200) compares against a calmer, broader average and flags more.\n- **Two-sided.** As written, only high-volume bars fire because the gate is `z >= threshold`. To catch unusually quiet bars too, add a second gate output (`z \u003C= -threshold`) and a second `shape` output gated by it.\n- **Color and size.** The circle and line colors are hex strings on the declarations. `width` on the line output resizes it; `render.shape` picks a different mark kind than the chart's default ([Plotting](../presentation/plotting.md#text-labels-tables-strips-tints)).\n- **Turn it into an alert.** Publish it, add it to a chart, and set an alert from the chart on `z` with **Crosses above** at 3. OpenMarket's alerts engine evaluates it in the cloud with the overlay's settings; **Once per bar** lets it fire again on later spikes, at most once per bar ([Alerts](../functions/alerts.md)).\n\n## Run it\n\n1. In the editor's Explorer, press **New indicator** and pick **Blank indicator**: the tab holds the `//@lang=wrun-ts` line alone.\n2. Paste the indicator block above under that line and press **Run**.\n3. At the editor's Console prompt, type `last 20 z` to read the score of the last 20 bars.\n\n## Concepts used\n\n- [Series functions](../functions/series-functions.md) and [TA library](../functions/ta-library.md) for `Zscore` over a trailing window\n- [Setting kinds](../settings/kinds.md) for the `lookback` and `threshold` params\n- [Missing values (NaN)](../core-concepts/na-and-scalar-types.md) for the `NaN` warm-up rule\n- [Plotting](../presentation/plotting.md) and [Cards, frames and panels](../presentation/cards-frames-panels.md#marks-tints-and-fills) for the `line` outputs and the gated `shape`\n",{"type":14,"children":15,"data":2571,"position":2573},"root",[16,26,29,30,46,47,62,63,81,82,805,806,822,823,934,935,1045,1046,1198,1199,1387,1388,1403,1404,1648,1649,1664,1665,2109,2110,2126,2127,2284,2285,2299,2300],{"type":17,"value":18,"position":19},"comment"," source: docs/indicators/cookbook/volume-spike.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},128,127,{"type":27,"value":28},"text","\n",{"type":27,"value":28},{"type":31,"tagName":32,"properties":33,"children":34,"position":43},"element","p",{},[35],{"type":27,"value":9,"position":36},{"start":37,"end":40},{"line":38,"column":21,"offset":39},5,154,{"line":38,"column":41,"offset":42},123,276,{"start":44,"end":45},{"line":38,"column":21,"offset":39},{"line":38,"column":41,"offset":42},{"type":27,"value":28},{"type":31,"tagName":32,"properties":48,"children":49,"position":59},{},[50],{"type":27,"value":51,"position":52},"This recipe spots unusual volume. Instead of a fixed \"alert above 1M\" threshold that means nothing across different symbols, it measures how far the current bar's volume sits above its own recent average, in standard deviations. A reading of 3 means \"three sigma above normal\" whatever the symbol or timeframe. It is the cleanest possible introduction to the indicator loop: read one input, fold it into one class, write a few outputs.",{"start":53,"end":56},{"line":54,"column":21,"offset":55},7,278,{"line":54,"column":57,"offset":58},436,713,{"start":60,"end":61},{"line":54,"column":21,"offset":55},{"line":54,"column":57,"offset":58},{"type":27,"value":28},{"type":31,"tagName":64,"properties":65,"children":66,"position":77},"h2",{},[67],{"type":27,"value":68,"position":69},"The wrun indicator",{"start":70,"end":74},{"line":71,"column":72,"offset":73},9,4,718,{"line":71,"column":75,"offset":76},22,736,{"start":78,"end":80},{"line":71,"column":21,"offset":79},715,{"line":71,"column":75,"offset":76},{"type":27,"value":28},{"type":14,"children":83},[84],{"type":31,"tagName":85,"properties":86,"children":91,"data":-1},"pre",{"class":87,"style":88,"tabindex":89,"data-sample":90},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0","cookbook-volume-spike",[92],{"type":31,"tagName":93,"properties":94,"children":97},"code",{"class":95},[96],"language-typescript",[98,167,168,224,225,253,254,303,304,340,341,380,381,401,402,405,406,448,449,486,487,490,491,523,524,567,568,590,591,599,600,603,604,632,633,675,676,708,709,722,723,736,737,749,750,797,798],{"type":31,"tagName":99,"properties":100,"children":102},"span",{"class":101},"line",[103,109,115,121,126,132,137,142,147,152,157,162],{"type":31,"tagName":99,"properties":104,"children":106},{"style":105},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[107],{"type":27,"value":108},"param",{"type":31,"tagName":99,"properties":110,"children":112},{"style":111},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[113],{"type":27,"value":114},"(",{"type":31,"tagName":99,"properties":116,"children":118},{"style":117},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[119],{"type":27,"value":120},"\"lookback\"",{"type":31,"tagName":99,"properties":122,"children":123},{"style":111},[124],{"type":27,"value":125},", ",{"type":31,"tagName":99,"properties":127,"children":129},{"style":128},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[130],{"type":27,"value":131},"50",{"type":31,"tagName":99,"properties":133,"children":134},{"style":111},[135],{"type":27,"value":136},", { min: ",{"type":31,"tagName":99,"properties":138,"children":139},{"style":128},[140],{"type":27,"value":141},"10",{"type":31,"tagName":99,"properties":143,"children":144},{"style":111},[145],{"type":27,"value":146},", max: ",{"type":31,"tagName":99,"properties":148,"children":149},{"style":128},[150],{"type":27,"value":151},"300",{"type":31,"tagName":99,"properties":153,"children":154},{"style":111},[155],{"type":27,"value":156},", description: ",{"type":31,"tagName":99,"properties":158,"children":159},{"style":117},[160],{"type":27,"value":161},"\"Bars of history that define normal volume\"",{"type":31,"tagName":99,"properties":163,"children":164},{"style":111},[165],{"type":27,"value":166}," });",{"type":27,"value":28},{"type":31,"tagName":99,"properties":169,"children":170},{"class":101},[171,175,179,184,188,193,197,202,206,211,215,220],{"type":31,"tagName":99,"properties":172,"children":173},{"style":105},[174],{"type":27,"value":108},{"type":31,"tagName":99,"properties":176,"children":177},{"style":111},[178],{"type":27,"value":114},{"type":31,"tagName":99,"properties":180,"children":181},{"style":117},[182],{"type":27,"value":183},"\"threshold\"",{"type":31,"tagName":99,"properties":185,"children":186},{"style":111},[187],{"type":27,"value":125},{"type":31,"tagName":99,"properties":189,"children":190},{"style":128},[191],{"type":27,"value":192},"2.5",{"type":31,"tagName":99,"properties":194,"children":195},{"style":111},[196],{"type":27,"value":136},{"type":31,"tagName":99,"properties":198,"children":199},{"style":128},[200],{"type":27,"value":201},"1",{"type":31,"tagName":99,"properties":203,"children":204},{"style":111},[205],{"type":27,"value":146},{"type":31,"tagName":99,"properties":207,"children":208},{"style":128},[209],{"type":27,"value":210},"6",{"type":31,"tagName":99,"properties":212,"children":213},{"style":111},[214],{"type":27,"value":156},{"type":31,"tagName":99,"properties":216,"children":217},{"style":117},[218],{"type":27,"value":219},"\"Z-score that counts as a spike\"",{"type":31,"tagName":99,"properties":221,"children":222},{"style":111},[223],{"type":27,"value":166},{"type":27,"value":28},{"type":31,"tagName":99,"properties":226,"children":227},{"class":101},[228,233,237,242,247],{"type":31,"tagName":99,"properties":229,"children":230},{"style":105},[231],{"type":27,"value":232},"input",{"type":31,"tagName":99,"properties":234,"children":235},{"style":111},[236],{"type":27,"value":114},{"type":31,"tagName":99,"properties":238,"children":239},{"style":117},[240],{"type":27,"value":241},"\"volume\"",{"type":31,"tagName":99,"properties":243,"children":244},{"style":111},[245],{"type":27,"value":246},", ohlcv.volume); ",{"type":31,"tagName":99,"properties":248,"children":250},{"style":249},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[251],{"type":27,"value":252},"// the first input is the bar grid: the chart's own candles",{"type":27,"value":28},{"type":31,"tagName":99,"properties":255,"children":256},{"class":101},[257,262,266,271,276,281,286,290,294,299],{"type":31,"tagName":99,"properties":258,"children":259},{"style":105},[260],{"type":27,"value":261},"output",{"type":31,"tagName":99,"properties":263,"children":264},{"style":111},[265],{"type":27,"value":114},{"type":31,"tagName":99,"properties":267,"children":268},{"style":117},[269],{"type":27,"value":270},"\"z\"",{"type":31,"tagName":99,"properties":272,"children":273},{"style":111},[274],{"type":27,"value":275},", line, lower, { color: ",{"type":31,"tagName":99,"properties":277,"children":278},{"style":117},[279],{"type":27,"value":280},"\"#64748b\"",{"type":31,"tagName":99,"properties":282,"children":283},{"style":111},[284],{"type":27,"value":285},", width: ",{"type":31,"tagName":99,"properties":287,"children":288},{"style":128},[289],{"type":27,"value":201},{"type":31,"tagName":99,"properties":291,"children":292},{"style":111},[293],{"type":27,"value":156},{"type":31,"tagName":99,"properties":295,"children":296},{"style":117},[297],{"type":27,"value":298},"\"Volume z-score\"",{"type":31,"tagName":99,"properties":300,"children":301},{"style":111},[302],{"type":27,"value":166},{"type":27,"value":28},{"type":31,"tagName":99,"properties":305,"children":306},{"class":101},[307,311,315,319,323,328,332,336],{"type":31,"tagName":99,"properties":308,"children":309},{"style":105},[310],{"type":27,"value":261},{"type":31,"tagName":99,"properties":312,"children":313},{"style":111},[314],{"type":27,"value":114},{"type":31,"tagName":99,"properties":316,"children":317},{"style":117},[318],{"type":27,"value":183},{"type":31,"tagName":99,"properties":320,"children":321},{"style":111},[322],{"type":27,"value":275},{"type":31,"tagName":99,"properties":324,"children":325},{"style":117},[326],{"type":27,"value":327},"\"#ef4444\"",{"type":31,"tagName":99,"properties":329,"children":330},{"style":111},[331],{"type":27,"value":285},{"type":31,"tagName":99,"properties":333,"children":334},{"style":128},[335],{"type":27,"value":201},{"type":31,"tagName":99,"properties":337,"children":338},{"style":111},[339],{"type":27,"value":166},{"type":27,"value":28},{"type":31,"tagName":99,"properties":342,"children":343},{"class":101},[344,348,352,357,362,366,371,376],{"type":31,"tagName":99,"properties":345,"children":346},{"style":105},[347],{"type":27,"value":261},{"type":31,"tagName":99,"properties":349,"children":350},{"style":111},[351],{"type":27,"value":114},{"type":31,"tagName":99,"properties":353,"children":354},{"style":117},[355],{"type":27,"value":356},"\"spike\"",{"type":31,"tagName":99,"properties":358,"children":359},{"style":111},[360],{"type":27,"value":361},", shape, lower, { color: ",{"type":31,"tagName":99,"properties":363,"children":364},{"style":117},[365],{"type":27,"value":327},{"type":31,"tagName":99,"properties":367,"children":368},{"style":111},[369],{"type":27,"value":370},", shape_where: ",{"type":31,"tagName":99,"properties":372,"children":373},{"style":117},[374],{"type":27,"value":375},"\"is_spike\"",{"type":31,"tagName":99,"properties":377,"children":378},{"style":111},[379],{"type":27,"value":166},{"type":27,"value":28},{"type":31,"tagName":99,"properties":382,"children":383},{"class":101},[384,388,392,396],{"type":31,"tagName":99,"properties":385,"children":386},{"style":105},[387],{"type":27,"value":261},{"type":31,"tagName":99,"properties":389,"children":390},{"style":111},[391],{"type":27,"value":114},{"type":31,"tagName":99,"properties":393,"children":394},{"style":117},[395],{"type":27,"value":375},{"type":31,"tagName":99,"properties":397,"children":398},{"style":111},[399],{"type":27,"value":400},", none);",{"type":27,"value":28},{"type":31,"tagName":99,"properties":403,"children":404},{"class":101},[],{"type":27,"value":28},{"type":31,"tagName":99,"properties":407,"children":408},{"class":101},[409,415,420,425,430,435,439,443],{"type":31,"tagName":99,"properties":410,"children":412},{"style":411},"--shiki-dark:#F97583;--shiki-light:#D73A49",[413],{"type":27,"value":414},"let",{"type":31,"tagName":99,"properties":416,"children":417},{"style":111},[418],{"type":27,"value":419}," zscore ",{"type":31,"tagName":99,"properties":421,"children":422},{"style":411},[423],{"type":27,"value":424},"=",{"type":31,"tagName":99,"properties":426,"children":427},{"style":411},[428],{"type":27,"value":429}," new",{"type":31,"tagName":99,"properties":431,"children":432},{"style":105},[433],{"type":27,"value":434}," Zscore",{"type":31,"tagName":99,"properties":436,"children":437},{"style":111},[438],{"type":27,"value":114},{"type":31,"tagName":99,"properties":440,"children":441},{"style":128},[442],{"type":27,"value":131},{"type":31,"tagName":99,"properties":444,"children":445},{"style":111},[446],{"type":27,"value":447},");",{"type":27,"value":28},{"type":31,"tagName":99,"properties":450,"children":451},{"class":101},[452,456,461,466,471,476,481],{"type":31,"tagName":99,"properties":453,"children":454},{"style":411},[455],{"type":27,"value":414},{"type":31,"tagName":99,"properties":457,"children":458},{"style":111},[459],{"type":27,"value":460}," threshold",{"type":31,"tagName":99,"properties":462,"children":463},{"style":411},[464],{"type":27,"value":465},":",{"type":31,"tagName":99,"properties":467,"children":468},{"style":105},[469],{"type":27,"value":470}," f64",{"type":31,"tagName":99,"properties":472,"children":473},{"style":411},[474],{"type":27,"value":475}," =",{"type":31,"tagName":99,"properties":477,"children":478},{"style":128},[479],{"type":27,"value":480}," 2.5",{"type":31,"tagName":99,"properties":482,"children":483},{"style":111},[484],{"type":27,"value":485},";",{"type":27,"value":28},{"type":31,"tagName":99,"properties":488,"children":489},{"class":101},[],{"type":27,"value":28},{"type":31,"tagName":99,"properties":492,"children":493},{"class":101},[494,499,504,509,513,518],{"type":31,"tagName":99,"properties":495,"children":496},{"style":411},[497],{"type":27,"value":498},"function",{"type":31,"tagName":99,"properties":500,"children":501},{"style":105},[502],{"type":27,"value":503}," onStart",{"type":31,"tagName":99,"properties":505,"children":506},{"style":111},[507],{"type":27,"value":508},"()",{"type":31,"tagName":99,"properties":510,"children":511},{"style":411},[512],{"type":27,"value":465},{"type":31,"tagName":99,"properties":514,"children":515},{"style":128},[516],{"type":27,"value":517}," void",{"type":31,"tagName":99,"properties":519,"children":520},{"style":111},[521],{"type":27,"value":522}," {",{"type":27,"value":28},{"type":31,"tagName":99,"properties":525,"children":526},{"class":101},[527,532,536,540,544,548,553,557,562],{"type":31,"tagName":99,"properties":528,"children":529},{"style":111},[530],{"type":27,"value":531},"  zscore ",{"type":31,"tagName":99,"properties":533,"children":534},{"style":411},[535],{"type":27,"value":424},{"type":31,"tagName":99,"properties":537,"children":538},{"style":411},[539],{"type":27,"value":429},{"type":31,"tagName":99,"properties":541,"children":542},{"style":105},[543],{"type":27,"value":434},{"type":31,"tagName":99,"properties":545,"children":546},{"style":111},[547],{"type":27,"value":114},{"type":31,"tagName":99,"properties":549,"children":550},{"style":105},[551],{"type":27,"value":552},"i32",{"type":31,"tagName":99,"properties":554,"children":555},{"style":111},[556],{"type":27,"value":114},{"type":31,"tagName":99,"properties":558,"children":559},{"style":105},[560],{"type":27,"value":561},"p_lookback",{"type":31,"tagName":99,"properties":563,"children":564},{"style":111},[565],{"type":27,"value":566},"()));",{"type":27,"value":28},{"type":31,"tagName":99,"properties":569,"children":570},{"class":101},[571,576,580,585],{"type":31,"tagName":99,"properties":572,"children":573},{"style":111},[574],{"type":27,"value":575},"  threshold ",{"type":31,"tagName":99,"properties":577,"children":578},{"style":411},[579],{"type":27,"value":424},{"type":31,"tagName":99,"properties":581,"children":582},{"style":105},[583],{"type":27,"value":584}," p_threshold",{"type":31,"tagName":99,"properties":586,"children":587},{"style":111},[588],{"type":27,"value":589},"();",{"type":27,"value":28},{"type":31,"tagName":99,"properties":592,"children":593},{"class":101},[594],{"type":31,"tagName":99,"properties":595,"children":596},{"style":111},[597],{"type":27,"value":598},"}",{"type":27,"value":28},{"type":31,"tagName":99,"properties":601,"children":602},{"class":101},[],{"type":27,"value":28},{"type":31,"tagName":99,"properties":605,"children":606},{"class":101},[607,611,616,620,624,628],{"type":31,"tagName":99,"properties":608,"children":609},{"style":411},[610],{"type":27,"value":498},{"type":31,"tagName":99,"properties":612,"children":613},{"style":105},[614],{"type":27,"value":615}," onBar",{"type":31,"tagName":99,"properties":617,"children":618},{"style":111},[619],{"type":27,"value":508},{"type":31,"tagName":99,"properties":621,"children":622},{"style":411},[623],{"type":27,"value":465},{"type":31,"tagName":99,"properties":625,"children":626},{"style":128},[627],{"type":27,"value":517},{"type":31,"tagName":99,"properties":629,"children":630},{"style":111},[631],{"type":27,"value":522},{"type":27,"value":28},{"type":31,"tagName":99,"properties":634,"children":635},{"class":101},[636,641,646,650,655,660,665,670],{"type":31,"tagName":99,"properties":637,"children":638},{"style":411},[639],{"type":27,"value":640},"  const",{"type":31,"tagName":99,"properties":642,"children":643},{"style":128},[644],{"type":27,"value":645}," z",{"type":31,"tagName":99,"properties":647,"children":648},{"style":411},[649],{"type":27,"value":475},{"type":31,"tagName":99,"properties":651,"children":652},{"style":111},[653],{"type":27,"value":654}," zscore.",{"type":31,"tagName":99,"properties":656,"children":657},{"style":105},[658],{"type":27,"value":659},"update",{"type":31,"tagName":99,"properties":661,"children":662},{"style":111},[663],{"type":27,"value":664},"(bar.",{"type":31,"tagName":99,"properties":666,"children":667},{"style":105},[668],{"type":27,"value":669},"volume",{"type":31,"tagName":99,"properties":671,"children":672},{"style":111},[673],{"type":27,"value":674},"());",{"type":27,"value":28},{"type":31,"tagName":99,"properties":677,"children":678},{"class":101},[679,684,689,694,699,704],{"type":31,"tagName":99,"properties":680,"children":681},{"style":411},[682],{"type":27,"value":683},"  if",{"type":31,"tagName":99,"properties":685,"children":686},{"style":111},[687],{"type":27,"value":688}," (",{"type":31,"tagName":99,"properties":690,"children":691},{"style":105},[692],{"type":27,"value":693},"isNaN",{"type":31,"tagName":99,"properties":695,"children":696},{"style":111},[697],{"type":27,"value":698},"(z)) ",{"type":31,"tagName":99,"properties":700,"children":701},{"style":411},[702],{"type":27,"value":703},"return",{"type":31,"tagName":99,"properties":705,"children":706},{"style":111},[707],{"type":27,"value":485},{"type":27,"value":28},{"type":31,"tagName":99,"properties":710,"children":711},{"class":101},[712,717],{"type":31,"tagName":99,"properties":713,"children":714},{"style":105},[715],{"type":27,"value":716},"  out_z",{"type":31,"tagName":99,"properties":718,"children":719},{"style":111},[720],{"type":27,"value":721},"(z);",{"type":27,"value":28},{"type":31,"tagName":99,"properties":724,"children":725},{"class":101},[726,731],{"type":31,"tagName":99,"properties":727,"children":728},{"style":105},[729],{"type":27,"value":730},"  out_threshold",{"type":31,"tagName":99,"properties":732,"children":733},{"style":111},[734],{"type":27,"value":735},"(threshold);",{"type":27,"value":28},{"type":31,"tagName":99,"properties":738,"children":739},{"class":101},[740,745],{"type":31,"tagName":99,"properties":741,"children":742},{"style":105},[743],{"type":27,"value":744},"  out_spike",{"type":31,"tagName":99,"properties":746,"children":747},{"style":111},[748],{"type":27,"value":721},{"type":27,"value":28},{"type":31,"tagName":99,"properties":751,"children":752},{"class":101},[753,758,763,768,773,778,783,788,793],{"type":31,"tagName":99,"properties":754,"children":755},{"style":105},[756],{"type":27,"value":757},"  out_is_spike",{"type":31,"tagName":99,"properties":759,"children":760},{"style":111},[761],{"type":27,"value":762},"(z ",{"type":31,"tagName":99,"properties":764,"children":765},{"style":411},[766],{"type":27,"value":767},">=",{"type":31,"tagName":99,"properties":769,"children":770},{"style":111},[771],{"type":27,"value":772}," threshold ",{"type":31,"tagName":99,"properties":774,"children":775},{"style":411},[776],{"type":27,"value":777},"?",{"type":31,"tagName":99,"properties":779,"children":780},{"style":128},[781],{"type":27,"value":782}," 1.0",{"type":31,"tagName":99,"properties":784,"children":785},{"style":411},[786],{"type":27,"value":787}," :",{"type":31,"tagName":99,"properties":789,"children":790},{"style":128},[791],{"type":27,"value":792}," 0.0",{"type":31,"tagName":99,"properties":794,"children":795},{"style":111},[796],{"type":27,"value":447},{"type":27,"value":28},{"type":31,"tagName":99,"properties":799,"children":800},{"class":101},[801],{"type":31,"tagName":99,"properties":802,"children":803},{"style":111},[804],{"type":27,"value":598},{"type":27,"value":28},{"type":31,"tagName":64,"properties":807,"children":808,"position":818},{},[809],{"type":27,"value":810,"position":811},"How it works",{"start":812,"end":815},{"line":813,"column":72,"offset":814},38,1685,{"line":813,"column":816,"offset":817},16,1697,{"start":819,"end":821},{"line":813,"column":21,"offset":820},1682,{"line":813,"column":816,"offset":817},{"type":27,"value":28},{"type":31,"tagName":32,"properties":824,"children":825,"position":931},{},[826,846,853,866,872,885,892,905,912,924],{"type":31,"tagName":827,"properties":828,"children":829,"position":840},"strong",{},[830],{"type":27,"value":831,"position":832},"The data.",{"start":833,"end":837},{"line":834,"column":835,"offset":836},40,3,1701,{"line":834,"column":838,"offset":839},12,1710,{"start":841,"end":843},{"line":834,"column":21,"offset":842},1699,{"line":834,"column":844,"offset":845},14,1712,{"type":27,"value":847,"position":848}," One ",{"start":849,"end":850},{"line":834,"column":844,"offset":845},{"line":834,"column":851,"offset":852},19,1717,{"type":31,"tagName":93,"properties":854,"children":855,"position":863},{},[856],{"type":27,"value":857,"position":858},"input(\"volume\", ohlcv.volume)",{"start":859,"end":860},{"line":834,"column":851,"offset":852},{"line":834,"column":861,"offset":862},50,1748,{"start":864,"end":865},{"line":834,"column":851,"offset":852},{"line":834,"column":861,"offset":862},{"type":27,"value":867,"position":868}," names the chart's own volume as the first input, the grid the run walks, and ",{"start":869,"end":870},{"line":834,"column":861,"offset":862},{"line":834,"column":24,"offset":871},1826,{"type":31,"tagName":93,"properties":873,"children":874,"position":882},{},[875],{"type":27,"value":876,"position":877},"bar.volume()",{"start":878,"end":879},{"line":834,"column":24,"offset":871},{"line":834,"column":880,"offset":881},142,1840,{"start":883,"end":884},{"line":834,"column":24,"offset":871},{"line":834,"column":880,"offset":881},{"type":27,"value":886,"position":887}," reads it in ",{"start":888,"end":889},{"line":834,"column":880,"offset":881},{"line":834,"column":890,"offset":891},155,1853,{"type":31,"tagName":93,"properties":893,"children":894,"position":902},{},[895],{"type":27,"value":896,"position":897},"onBar()",{"start":898,"end":899},{"line":834,"column":890,"offset":891},{"line":834,"column":900,"offset":901},164,1862,{"start":903,"end":904},{"line":834,"column":890,"offset":891},{"line":834,"column":900,"offset":901},{"type":27,"value":906,"position":907},", one value per bar. That is the only feed the detector needs, and ",{"start":908,"end":909},{"line":834,"column":900,"offset":901},{"line":834,"column":910,"offset":911},231,1929,{"type":31,"tagName":93,"properties":913,"children":914,"position":921},{},[915],{"type":27,"value":896,"position":916},{"start":917,"end":918},{"line":834,"column":910,"offset":911},{"line":834,"column":919,"offset":920},240,1938,{"start":922,"end":923},{"line":834,"column":910,"offset":911},{"line":834,"column":919,"offset":920},{"type":27,"value":925,"position":926}," sees this bar's value and nothing else.",{"start":927,"end":928},{"line":834,"column":919,"offset":920},{"line":834,"column":929,"offset":930},280,1978,{"start":932,"end":933},{"line":834,"column":21,"offset":842},{"line":834,"column":929,"offset":930},{"type":27,"value":28},{"type":31,"tagName":32,"properties":936,"children":937,"position":1042},{},[938,956,963,976,983,996,1003,1016,1023,1035],{"type":31,"tagName":827,"properties":939,"children":940,"position":950},{},[941],{"type":27,"value":942,"position":943},"The score.",{"start":944,"end":947},{"line":945,"column":835,"offset":946},42,1982,{"line":945,"column":948,"offset":949},13,1992,{"start":951,"end":953},{"line":945,"column":21,"offset":952},1980,{"line":945,"column":954,"offset":955},15,1994,{"type":27,"value":957,"position":958}," A z-score answers \"how surprising is this number?\" You need two reference points: where volume usually sits, and how much it normally wobbles. ",{"start":959,"end":960},{"line":945,"column":954,"offset":955},{"line":945,"column":961,"offset":962},159,2138,{"type":31,"tagName":93,"properties":964,"children":965,"position":973},{},[966],{"type":27,"value":967,"position":968},"Zscore",{"start":969,"end":970},{"line":945,"column":961,"offset":962},{"line":945,"column":971,"offset":972},167,2146,{"start":974,"end":975},{"line":945,"column":961,"offset":962},{"line":945,"column":971,"offset":972},{"type":27,"value":977,"position":978}," is both reference points in one class: ",{"start":979,"end":980},{"line":945,"column":971,"offset":972},{"line":945,"column":981,"offset":982},207,2186,{"type":31,"tagName":93,"properties":984,"children":985,"position":993},{},[986],{"type":27,"value":987,"position":988},"update(x)",{"start":989,"end":990},{"line":945,"column":981,"offset":982},{"line":945,"column":991,"offset":992},218,2197,{"start":994,"end":995},{"line":945,"column":981,"offset":982},{"line":945,"column":991,"offset":992},{"type":27,"value":997,"position":998}," folds one bar into its window and returns ",{"start":999,"end":1000},{"line":945,"column":991,"offset":992},{"line":945,"column":1001,"offset":1002},261,2240,{"type":31,"tagName":93,"properties":1004,"children":1005,"position":1013},{},[1006],{"type":27,"value":1007,"position":1008},"(x - mean) / stdev",{"start":1009,"end":1010},{"line":945,"column":1001,"offset":1002},{"line":945,"column":1011,"offset":1012},281,2260,{"start":1014,"end":1015},{"line":945,"column":1001,"offset":1002},{"line":945,"column":1011,"offset":1012},{"type":27,"value":1017,"position":1018}," over that window, or ",{"start":1019,"end":1020},{"line":945,"column":1011,"offset":1012},{"line":945,"column":1021,"offset":1022},303,2282,{"type":31,"tagName":93,"properties":1024,"children":1025,"position":1032},{},[1026],{"type":27,"value":89,"position":1027},{"start":1028,"end":1029},{"line":945,"column":1021,"offset":1022},{"line":945,"column":1030,"offset":1031},306,2285,{"start":1033,"end":1034},{"line":945,"column":1021,"offset":1022},{"line":945,"column":1030,"offset":1031},{"type":27,"value":1036,"position":1037}," when the window is flat. Because it is a ratio, it is comparable across any symbol or timeframe. A whale print on BTC and a thin altcoin both light up at the same number.",{"start":1038,"end":1039},{"line":945,"column":1030,"offset":1031},{"line":945,"column":1040,"offset":1041},477,2456,{"start":1043,"end":1044},{"line":945,"column":21,"offset":952},{"line":945,"column":1040,"offset":1041},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1047,"children":1048,"position":1195},{},[1049,1067,1074,1086,1093,1106,1113,1125,1132,1143,1150,1162,1169,1188],{"type":31,"tagName":827,"properties":1050,"children":1051,"position":1061},{},[1052],{"type":27,"value":1053,"position":1054},"The warm-up guard.",{"start":1055,"end":1058},{"line":1056,"column":835,"offset":1057},44,2460,{"line":1056,"column":1059,"offset":1060},21,2478,{"start":1062,"end":1064},{"line":1056,"column":21,"offset":1063},2458,{"line":1056,"column":1065,"offset":1066},23,2480,{"type":27,"value":1068,"position":1069}," Until ",{"start":1070,"end":1071},{"line":1056,"column":1065,"offset":1066},{"line":1056,"column":1072,"offset":1073},30,2487,{"type":31,"tagName":93,"properties":1075,"children":1076,"position":1083},{},[1077],{"type":27,"value":1078,"position":1079},"lookback",{"start":1080,"end":1081},{"line":1056,"column":1072,"offset":1073},{"line":1056,"column":834,"offset":1082},2497,{"start":1084,"end":1085},{"line":1056,"column":1072,"offset":1073},{"line":1056,"column":834,"offset":1082},{"type":27,"value":1087,"position":1088}," bars have loaded, the class returns ",{"start":1089,"end":1090},{"line":1056,"column":834,"offset":1082},{"line":1056,"column":1091,"offset":1092},77,2534,{"type":31,"tagName":93,"properties":1094,"children":1095,"position":1103},{},[1096],{"type":27,"value":1097,"position":1098},"NaN",{"start":1099,"end":1100},{"line":1056,"column":1091,"offset":1092},{"line":1056,"column":1101,"offset":1102},82,2539,{"start":1104,"end":1105},{"line":1056,"column":1091,"offset":1092},{"line":1056,"column":1101,"offset":1102},{"type":27,"value":1107,"position":1108},", and ",{"start":1109,"end":1110},{"line":1056,"column":1101,"offset":1102},{"line":1056,"column":1111,"offset":1112},88,2545,{"type":31,"tagName":93,"properties":1114,"children":1115,"position":1122},{},[1116],{"type":27,"value":896,"position":1117},{"start":1118,"end":1119},{"line":1056,"column":1111,"offset":1112},{"line":1056,"column":1120,"offset":1121},97,2554,{"start":1123,"end":1124},{"line":1056,"column":1111,"offset":1112},{"line":1056,"column":1120,"offset":1121},{"type":27,"value":1126,"position":1127}," returns before writing anything: every output stays ",{"start":1128,"end":1129},{"line":1056,"column":1120,"offset":1121},{"line":1056,"column":1130,"offset":1131},150,2607,{"type":31,"tagName":93,"properties":1133,"children":1134,"position":1140},{},[1135],{"type":27,"value":1097,"position":1136},{"start":1137,"end":1138},{"line":1056,"column":1130,"offset":1131},{"line":1056,"column":890,"offset":1139},2612,{"start":1141,"end":1142},{"line":1056,"column":1130,"offset":1131},{"line":1056,"column":890,"offset":1139},{"type":27,"value":1144,"position":1145}," on that bar, and a ",{"start":1146,"end":1147},{"line":1056,"column":890,"offset":1139},{"line":1056,"column":1148,"offset":1149},175,2632,{"type":31,"tagName":93,"properties":1151,"children":1152,"position":1159},{},[1153],{"type":27,"value":1097,"position":1154},{"start":1155,"end":1156},{"line":1056,"column":1148,"offset":1149},{"line":1056,"column":1157,"offset":1158},180,2637,{"start":1160,"end":1161},{"line":1056,"column":1148,"offset":1149},{"line":1056,"column":1157,"offset":1158},{"type":27,"value":1163,"position":1164}," is not drawn, so the pane stays empty there instead of drawing noise (",{"start":1165,"end":1166},{"line":1056,"column":1157,"offset":1158},{"line":1056,"column":1167,"offset":1168},251,2708,{"type":31,"tagName":1170,"properties":1171,"children":1173,"position":1183},"a",{"href":1172},"../core-concepts/execution-model.md",[1174],{"type":27,"value":1175,"position":1176},"Execution model",{"start":1177,"end":1180},{"line":1056,"column":1178,"offset":1179},252,2709,{"line":1056,"column":1181,"offset":1182},267,2724,{"start":1184,"end":1185},{"line":1056,"column":1167,"offset":1168},{"line":1056,"column":1186,"offset":1187},305,2762,{"type":27,"value":1189,"position":1190},").",{"start":1191,"end":1192},{"line":1056,"column":1186,"offset":1187},{"line":1056,"column":1193,"offset":1194},307,2764,{"start":1196,"end":1197},{"line":1056,"column":21,"offset":1063},{"line":1056,"column":1193,"offset":1194},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1200,"children":1201,"position":1384},{},[1202,1218,1225,1238,1245,1258,1265,1278,1285,1298,1305,1318,1325,1338,1345,1358,1365,1377],{"type":31,"tagName":827,"properties":1203,"children":1204,"position":1213},{},[1205],{"type":27,"value":1206,"position":1207},"The output.",{"start":1208,"end":1211},{"line":1209,"column":835,"offset":1210},46,2768,{"line":1209,"column":844,"offset":1212},2779,{"start":1214,"end":1216},{"line":1209,"column":21,"offset":1215},2766,{"line":1209,"column":816,"offset":1217},2781,{"type":27,"value":1219,"position":1220}," ",{"start":1221,"end":1222},{"line":1209,"column":816,"offset":1217},{"line":1209,"column":1223,"offset":1224},17,2782,{"type":31,"tagName":93,"properties":1226,"children":1227,"position":1235},{},[1228],{"type":27,"value":1229,"position":1230},"z",{"start":1231,"end":1232},{"line":1209,"column":1223,"offset":1224},{"line":1209,"column":1233,"offset":1234},20,2785,{"start":1236,"end":1237},{"line":1209,"column":1223,"offset":1224},{"line":1209,"column":1233,"offset":1234},{"type":27,"value":1239,"position":1240}," plots as a line in its own pane (",{"start":1241,"end":1242},{"line":1209,"column":1233,"offset":1234},{"line":1209,"column":1243,"offset":1244},54,2819,{"type":31,"tagName":93,"properties":1246,"children":1247,"position":1255},{},[1248],{"type":27,"value":1249,"position":1250},"lower",{"start":1251,"end":1252},{"line":1209,"column":1243,"offset":1244},{"line":1209,"column":1253,"offset":1254},61,2826,{"start":1256,"end":1257},{"line":1209,"column":1243,"offset":1244},{"line":1209,"column":1253,"offset":1254},{"type":27,"value":1259,"position":1260},"). ",{"start":1261,"end":1262},{"line":1209,"column":1253,"offset":1254},{"line":1209,"column":1263,"offset":1264},64,2829,{"type":31,"tagName":93,"properties":1266,"children":1267,"position":1275},{},[1268],{"type":27,"value":1269,"position":1270},"threshold",{"start":1271,"end":1272},{"line":1209,"column":1263,"offset":1264},{"line":1209,"column":1273,"offset":1274},75,2840,{"start":1276,"end":1277},{"line":1209,"column":1263,"offset":1264},{"line":1209,"column":1273,"offset":1274},{"type":27,"value":1279,"position":1280}," is a line too, written to the same value on every bar, so you can see at a glance how close any bar is to firing. ",{"start":1281,"end":1282},{"line":1209,"column":1273,"offset":1274},{"line":1209,"column":1283,"offset":1284},190,2955,{"type":31,"tagName":93,"properties":1286,"children":1287,"position":1295},{},[1288],{"type":27,"value":1289,"position":1290},"spike",{"start":1291,"end":1292},{"line":1209,"column":1283,"offset":1284},{"line":1209,"column":1293,"offset":1294},197,2962,{"start":1296,"end":1297},{"line":1209,"column":1283,"offset":1284},{"line":1209,"column":1293,"offset":1294},{"type":27,"value":1299,"position":1300}," is a ",{"start":1301,"end":1302},{"line":1209,"column":1293,"offset":1294},{"line":1209,"column":1303,"offset":1304},203,2968,{"type":31,"tagName":93,"properties":1306,"children":1307,"position":1315},{},[1308],{"type":27,"value":1309,"position":1310},"shape",{"start":1311,"end":1312},{"line":1209,"column":1303,"offset":1304},{"line":1209,"column":1313,"offset":1314},210,2975,{"start":1316,"end":1317},{"line":1209,"column":1303,"offset":1304},{"line":1209,"column":1313,"offset":1314},{"type":27,"value":1319,"position":1320}," output whose value is the z-score (where the mark sits) and whose ",{"start":1321,"end":1322},{"line":1209,"column":1313,"offset":1314},{"line":1209,"column":1323,"offset":1324},277,3042,{"type":31,"tagName":93,"properties":1326,"children":1327,"position":1335},{},[1328],{"type":27,"value":1329,"position":1330},"shape_where",{"start":1331,"end":1332},{"line":1209,"column":1323,"offset":1324},{"line":1209,"column":1333,"offset":1334},290,3055,{"start":1336,"end":1337},{"line":1209,"column":1323,"offset":1324},{"line":1209,"column":1333,"offset":1334},{"type":27,"value":1339,"position":1340}," gate is the data-only ",{"start":1341,"end":1342},{"line":1209,"column":1333,"offset":1334},{"line":1209,"column":1343,"offset":1344},313,3078,{"type":31,"tagName":93,"properties":1346,"children":1347,"position":1355},{},[1348],{"type":27,"value":1349,"position":1350},"is_spike",{"start":1351,"end":1352},{"line":1209,"column":1343,"offset":1344},{"line":1209,"column":1353,"offset":1354},323,3088,{"start":1356,"end":1357},{"line":1209,"column":1343,"offset":1344},{"line":1209,"column":1353,"offset":1354},{"type":27,"value":1359,"position":1360}," output: the mark draws only on bars where the gate is ",{"start":1361,"end":1362},{"line":1209,"column":1353,"offset":1354},{"line":1209,"column":1363,"offset":1364},378,3143,{"type":31,"tagName":93,"properties":1366,"children":1367,"position":1374},{},[1368],{"type":27,"value":201,"position":1369},{"start":1370,"end":1371},{"line":1209,"column":1363,"offset":1364},{"line":1209,"column":1372,"offset":1373},381,3146,{"start":1375,"end":1376},{"line":1209,"column":1363,"offset":1364},{"line":1209,"column":1372,"offset":1373},{"type":27,"value":1378,"position":1379},". Decisions are numbers here, and the sheet turns them into looks.",{"start":1380,"end":1381},{"line":1209,"column":1372,"offset":1373},{"line":1209,"column":1382,"offset":1383},447,3212,{"start":1385,"end":1386},{"line":1209,"column":21,"offset":1215},{"line":1209,"column":1382,"offset":1383},{"type":27,"value":28},{"type":31,"tagName":64,"properties":1389,"children":1390,"position":1399},{},[1391],{"type":27,"value":1392,"position":1393},"Design notes",{"start":1394,"end":1397},{"line":1395,"column":72,"offset":1396},48,3217,{"line":1395,"column":816,"offset":1398},3229,{"start":1400,"end":1402},{"line":1395,"column":21,"offset":1401},3214,{"line":1395,"column":816,"offset":1398},{"type":27,"value":28},{"type":31,"tagName":1405,"properties":1406,"children":1407,"position":1645},"ul",{},[1408,1409,1481,1482,1497,1498,1572,1573,1644],{"type":27,"value":28},{"type":31,"tagName":1410,"properties":1411,"children":1412,"position":1477},"li",{},[1413,1420,1432,1439,1451,1458,1470],{"type":27,"value":1414,"position":1415},"The mark is two outputs: its position (",{"start":1416,"end":1418},{"line":861,"column":835,"offset":1417},3233,{"line":861,"column":945,"offset":1419},3272,{"type":31,"tagName":93,"properties":1421,"children":1422,"position":1429},{},[1423],{"type":27,"value":1289,"position":1424},{"start":1425,"end":1426},{"line":861,"column":945,"offset":1419},{"line":861,"column":1427,"offset":1428},49,3279,{"start":1430,"end":1431},{"line":861,"column":945,"offset":1419},{"line":861,"column":1427,"offset":1428},{"type":27,"value":1433,"position":1434},") and the decision that gates it (",{"start":1435,"end":1436},{"line":861,"column":1427,"offset":1428},{"line":861,"column":1437,"offset":1438},83,3313,{"type":31,"tagName":93,"properties":1440,"children":1441,"position":1448},{},[1442],{"type":27,"value":1349,"position":1443},{"start":1444,"end":1445},{"line":861,"column":1437,"offset":1438},{"line":861,"column":1446,"offset":1447},93,3323,{"start":1449,"end":1450},{"line":861,"column":1437,"offset":1438},{"line":861,"column":1446,"offset":1447},{"type":27,"value":1452,"position":1453},"). An output cannot gate itself, so the gate is its own ",{"start":1454,"end":1455},{"line":861,"column":1446,"offset":1447},{"line":861,"column":1456,"offset":1457},149,3379,{"type":31,"tagName":93,"properties":1459,"children":1460,"position":1467},{},[1461],{"type":27,"value":1462,"position":1463},"none",{"start":1464,"end":1465},{"line":861,"column":1456,"offset":1457},{"line":861,"column":890,"offset":1466},3385,{"start":1468,"end":1469},{"line":861,"column":1456,"offset":1457},{"line":861,"column":890,"offset":1466},{"type":27,"value":1471,"position":1472}," output.",{"start":1473,"end":1474},{"line":861,"column":890,"offset":1466},{"line":861,"column":1475,"offset":1476},163,3393,{"start":1478,"end":1480},{"line":861,"column":21,"offset":1479},3231,{"line":861,"column":1475,"offset":1476},{"type":27,"value":28},{"type":31,"tagName":1410,"properties":1483,"children":1484,"position":1493},{},[1485],{"type":27,"value":1486,"position":1487},"The threshold line is an output that never changes; its value is the param, written every bar.",{"start":1488,"end":1491},{"line":1489,"column":835,"offset":1490},51,3396,{"line":1489,"column":1120,"offset":1492},3490,{"start":1494,"end":1496},{"line":1489,"column":21,"offset":1495},3394,{"line":1489,"column":1120,"offset":1492},{"type":27,"value":28},{"type":31,"tagName":1410,"properties":1499,"children":1500,"position":1568},{},[1501,1510,1523,1530,1542,1548,1561],{"type":27,"value":1502,"position":1503},"Settings take any value inside ",{"start":1504,"end":1507},{"line":1505,"column":835,"offset":1506},52,3493,{"line":1505,"column":1508,"offset":1509},34,3524,{"type":31,"tagName":93,"properties":1511,"children":1512,"position":1520},{},[1513],{"type":27,"value":1514,"position":1515},"min",{"start":1516,"end":1517},{"line":1505,"column":1508,"offset":1509},{"line":1505,"column":1518,"offset":1519},39,3529,{"start":1521,"end":1522},{"line":1505,"column":1508,"offset":1509},{"line":1505,"column":1518,"offset":1519},{"type":27,"value":1524,"position":1525},"..",{"start":1526,"end":1527},{"line":1505,"column":1518,"offset":1519},{"line":1505,"column":1528,"offset":1529},41,3531,{"type":31,"tagName":93,"properties":1531,"children":1532,"position":1539},{},[1533],{"type":27,"value":1534,"position":1535},"max",{"start":1536,"end":1537},{"line":1505,"column":1528,"offset":1529},{"line":1505,"column":1209,"offset":1538},3536,{"start":1540,"end":1541},{"line":1505,"column":1528,"offset":1529},{"line":1505,"column":1209,"offset":1538},{"type":27,"value":1543,"position":1544},"; the ",{"start":1545,"end":1546},{"line":1505,"column":1209,"offset":1538},{"line":1505,"column":1505,"offset":1547},3542,{"type":31,"tagName":93,"properties":1549,"children":1550,"position":1558},{},[1551],{"type":27,"value":1552,"position":1553},"description",{"start":1554,"end":1555},{"line":1505,"column":1505,"offset":1547},{"line":1505,"column":1556,"offset":1557},65,3555,{"start":1559,"end":1560},{"line":1505,"column":1505,"offset":1547},{"line":1505,"column":1556,"offset":1557},{"type":27,"value":1562,"position":1563}," is the label the settings dialog shows beside the field.",{"start":1564,"end":1565},{"line":1505,"column":1556,"offset":1557},{"line":1505,"column":1566,"offset":1567},122,3612,{"start":1569,"end":1571},{"line":1505,"column":21,"offset":1570},3491,{"line":1505,"column":1566,"offset":1567},{"type":27,"value":28},{"type":31,"tagName":1410,"properties":1574,"children":1575,"position":1640},{},[1576,1585,1598,1604,1616,1622,1633],{"type":27,"value":1577,"position":1578},"Every output has a value on every bar. After a Run the editor's Console prompt reads any of them (",{"start":1579,"end":1582},{"line":1580,"column":835,"offset":1581},53,3615,{"line":1580,"column":1583,"offset":1584},101,3713,{"type":31,"tagName":93,"properties":1586,"children":1587,"position":1595},{},[1588],{"type":27,"value":1589,"position":1590},"last 20 z",{"start":1591,"end":1592},{"line":1580,"column":1583,"offset":1584},{"line":1580,"column":1593,"offset":1594},112,3724,{"start":1596,"end":1597},{"line":1580,"column":1583,"offset":1584},{"line":1580,"column":1593,"offset":1594},{"type":27,"value":125,"position":1599},{"start":1600,"end":1601},{"line":1580,"column":1593,"offset":1594},{"line":1580,"column":1602,"offset":1603},114,3726,{"type":31,"tagName":93,"properties":1605,"children":1606,"position":1613},{},[1607],{"type":27,"value":1349,"position":1608},{"start":1609,"end":1610},{"line":1580,"column":1602,"offset":1603},{"line":1580,"column":1611,"offset":1612},124,3736,{"start":1614,"end":1615},{"line":1580,"column":1602,"offset":1603},{"line":1580,"column":1611,"offset":1612},{"type":27,"value":1617,"position":1618},"), and once the indicator is published, ",{"start":1619,"end":1620},{"line":1580,"column":1611,"offset":1612},{"line":1580,"column":900,"offset":1621},3776,{"type":31,"tagName":93,"properties":1623,"children":1624,"position":1630},{},[1625],{"type":27,"value":1229,"position":1626},{"start":1627,"end":1628},{"line":1580,"column":900,"offset":1621},{"line":1580,"column":971,"offset":1629},3779,{"start":1631,"end":1632},{"line":1580,"column":900,"offset":1621},{"line":1580,"column":971,"offset":1629},{"type":27,"value":1634,"position":1635}," can carry an alert set from the chart.",{"start":1636,"end":1637},{"line":1580,"column":971,"offset":1629},{"line":1580,"column":1638,"offset":1639},206,3818,{"start":1641,"end":1643},{"line":1580,"column":21,"offset":1642},3613,{"line":1580,"column":1638,"offset":1639},{"type":27,"value":28},{"start":1646,"end":1647},{"line":861,"column":21,"offset":1479},{"line":1580,"column":1638,"offset":1639},{"type":27,"value":28},{"type":31,"tagName":64,"properties":1650,"children":1651,"position":1660},{},[1652],{"type":27,"value":1653,"position":1654},"Customize it",{"start":1655,"end":1658},{"line":1656,"column":72,"offset":1657},55,3823,{"line":1656,"column":816,"offset":1659},3835,{"start":1661,"end":1663},{"line":1656,"column":21,"offset":1662},3820,{"line":1656,"column":816,"offset":1659},{"type":27,"value":28},{"type":31,"tagName":1405,"properties":1666,"children":1667,"position":2106},{},[1668,1669,1754,1755,1801,1802,1889,1890,1983,1984,2105],{"type":27,"value":28},{"type":31,"tagName":1410,"properties":1670,"children":1671,"position":1750},{},[1672,1688,1693,1705,1711,1724,1731,1743],{"type":31,"tagName":827,"properties":1673,"children":1674,"position":1683},{},[1675],{"type":27,"value":1676,"position":1677},"Sensitivity.",{"start":1678,"end":1681},{"line":1679,"column":38,"offset":1680},57,3841,{"line":1679,"column":1223,"offset":1682},3853,{"start":1684,"end":1686},{"line":1679,"column":835,"offset":1685},3839,{"line":1679,"column":851,"offset":1687},3855,{"type":27,"value":1219,"position":1689},{"start":1690,"end":1691},{"line":1679,"column":851,"offset":1687},{"line":1679,"column":1233,"offset":1692},3856,{"type":31,"tagName":93,"properties":1694,"children":1695,"position":1702},{},[1696],{"type":27,"value":1269,"position":1697},{"start":1698,"end":1699},{"line":1679,"column":1233,"offset":1692},{"line":1679,"column":1700,"offset":1701},31,3867,{"start":1703,"end":1704},{"line":1679,"column":1233,"offset":1692},{"line":1679,"column":1700,"offset":1701},{"type":27,"value":1706,"position":1707}," is the main knob. Drop it toward ",{"start":1708,"end":1709},{"line":1679,"column":1700,"offset":1701},{"line":1679,"column":1556,"offset":1710},3901,{"type":31,"tagName":93,"properties":1712,"children":1713,"position":1721},{},[1714],{"type":27,"value":1715,"position":1716},"1.5",{"start":1717,"end":1718},{"line":1679,"column":1556,"offset":1710},{"line":1679,"column":1719,"offset":1720},70,3906,{"start":1722,"end":1723},{"line":1679,"column":1556,"offset":1710},{"line":1679,"column":1719,"offset":1720},{"type":27,"value":1725,"position":1726}," to catch milder bursts, raise it toward ",{"start":1727,"end":1728},{"line":1679,"column":1719,"offset":1720},{"line":1679,"column":1729,"offset":1730},111,3947,{"type":31,"tagName":93,"properties":1732,"children":1733,"position":1740},{},[1734],{"type":27,"value":1735,"position":1736},"4",{"start":1737,"end":1738},{"line":1679,"column":1729,"offset":1730},{"line":1679,"column":1602,"offset":1739},3950,{"start":1741,"end":1742},{"line":1679,"column":1729,"offset":1730},{"line":1679,"column":1602,"offset":1739},{"type":27,"value":1744,"position":1745}," to keep only genuine anomalies. The red line moves with it.",{"start":1746,"end":1747},{"line":1679,"column":1602,"offset":1739},{"line":1679,"column":1748,"offset":1749},174,4010,{"start":1751,"end":1753},{"line":1679,"column":21,"offset":1752},3837,{"line":1679,"column":1748,"offset":1749},{"type":27,"value":28},{"type":31,"tagName":1410,"properties":1756,"children":1757,"position":1797},{},[1758,1774,1779,1791],{"type":31,"tagName":827,"properties":1759,"children":1760,"position":1769},{},[1761],{"type":27,"value":1762,"position":1763},"Memory.",{"start":1764,"end":1767},{"line":1765,"column":38,"offset":1766},58,4015,{"line":1765,"column":838,"offset":1768},4022,{"start":1770,"end":1772},{"line":1765,"column":835,"offset":1771},4013,{"line":1765,"column":844,"offset":1773},4024,{"type":27,"value":1219,"position":1775},{"start":1776,"end":1777},{"line":1765,"column":844,"offset":1773},{"line":1765,"column":954,"offset":1778},4025,{"type":31,"tagName":93,"properties":1780,"children":1781,"position":1788},{},[1782],{"type":27,"value":1078,"position":1783},{"start":1784,"end":1785},{"line":1765,"column":954,"offset":1778},{"line":1765,"column":1786,"offset":1787},25,4035,{"start":1789,"end":1790},{"line":1765,"column":954,"offset":1778},{"line":1765,"column":1786,"offset":1787},{"type":27,"value":1792,"position":1793}," sets how much history \"normal\" is measured against. A short window (20) reacts to recent conditions and treats a busy session as the new baseline; a long window (200) compares against a calmer, broader average and flags more.",{"start":1794,"end":1795},{"line":1765,"column":1786,"offset":1787},{"line":1765,"column":1167,"offset":1796},4261,{"start":1798,"end":1800},{"line":1765,"column":21,"offset":1799},4011,{"line":1765,"column":1167,"offset":1796},{"type":27,"value":28},{"type":31,"tagName":1410,"properties":1803,"children":1804,"position":1885},{},[1805,1821,1827,1839,1846,1859,1866,1878],{"type":31,"tagName":827,"properties":1806,"children":1807,"position":1816},{},[1808],{"type":27,"value":1809,"position":1810},"Two-sided.",{"start":1811,"end":1814},{"line":1812,"column":38,"offset":1813},59,4266,{"line":1812,"column":954,"offset":1815},4276,{"start":1817,"end":1819},{"line":1812,"column":835,"offset":1818},4264,{"line":1812,"column":1223,"offset":1820},4278,{"type":27,"value":1822,"position":1823}," As written, only high-volume bars fire because the gate is ",{"start":1824,"end":1825},{"line":1812,"column":1223,"offset":1820},{"line":1812,"column":1091,"offset":1826},4338,{"type":31,"tagName":93,"properties":1828,"children":1829,"position":1836},{},[1830],{"type":27,"value":1831,"position":1832},"z >= threshold",{"start":1833,"end":1834},{"line":1812,"column":1091,"offset":1826},{"line":1812,"column":1446,"offset":1835},4354,{"start":1837,"end":1838},{"line":1812,"column":1091,"offset":1826},{"line":1812,"column":1446,"offset":1835},{"type":27,"value":1840,"position":1841},". To catch unusually quiet bars too, add a second gate output (",{"start":1842,"end":1843},{"line":1812,"column":1446,"offset":1835},{"line":1812,"column":1844,"offset":1845},156,4417,{"type":31,"tagName":93,"properties":1847,"children":1848,"position":1856},{},[1849],{"type":27,"value":1850,"position":1851},"z \u003C= -threshold",{"start":1852,"end":1853},{"line":1812,"column":1844,"offset":1845},{"line":1812,"column":1854,"offset":1855},173,4434,{"start":1857,"end":1858},{"line":1812,"column":1844,"offset":1845},{"line":1812,"column":1854,"offset":1855},{"type":27,"value":1860,"position":1861},") and a second ",{"start":1862,"end":1863},{"line":1812,"column":1854,"offset":1855},{"line":1812,"column":1864,"offset":1865},188,4449,{"type":31,"tagName":93,"properties":1867,"children":1868,"position":1875},{},[1869],{"type":27,"value":1309,"position":1870},{"start":1871,"end":1872},{"line":1812,"column":1864,"offset":1865},{"line":1812,"column":1873,"offset":1874},195,4456,{"start":1876,"end":1877},{"line":1812,"column":1864,"offset":1865},{"line":1812,"column":1873,"offset":1874},{"type":27,"value":1879,"position":1880}," output gated by it.",{"start":1881,"end":1882},{"line":1812,"column":1873,"offset":1874},{"line":1812,"column":1883,"offset":1884},215,4476,{"start":1886,"end":1888},{"line":1812,"column":21,"offset":1887},4262,{"line":1812,"column":1883,"offset":1884},{"type":27,"value":28},{"type":31,"tagName":1410,"properties":1891,"children":1892,"position":1979},{},[1893,1909,1916,1929,1936,1949,1955,1973],{"type":31,"tagName":827,"properties":1894,"children":1895,"position":1904},{},[1896],{"type":27,"value":1897,"position":1898},"Color and size.",{"start":1899,"end":1902},{"line":1900,"column":38,"offset":1901},60,4481,{"line":1900,"column":1233,"offset":1903},4496,{"start":1905,"end":1907},{"line":1900,"column":835,"offset":1906},4479,{"line":1900,"column":75,"offset":1908},4498,{"type":27,"value":1910,"position":1911}," The circle and line colors are hex strings on the declarations. ",{"start":1912,"end":1913},{"line":1900,"column":75,"offset":1908},{"line":1900,"column":1914,"offset":1915},87,4563,{"type":31,"tagName":93,"properties":1917,"children":1918,"position":1926},{},[1919],{"type":27,"value":1920,"position":1921},"width",{"start":1922,"end":1923},{"line":1900,"column":1914,"offset":1915},{"line":1900,"column":1924,"offset":1925},94,4570,{"start":1927,"end":1928},{"line":1900,"column":1914,"offset":1915},{"line":1900,"column":1924,"offset":1925},{"type":27,"value":1930,"position":1931}," on the line output resizes it; ",{"start":1932,"end":1933},{"line":1900,"column":1924,"offset":1925},{"line":1900,"column":1934,"offset":1935},126,4602,{"type":31,"tagName":93,"properties":1937,"children":1938,"position":1946},{},[1939],{"type":27,"value":1940,"position":1941},"render.shape",{"start":1942,"end":1943},{"line":1900,"column":1934,"offset":1935},{"line":1900,"column":1944,"offset":1945},140,4616,{"start":1947,"end":1948},{"line":1900,"column":1934,"offset":1935},{"line":1900,"column":1944,"offset":1945},{"type":27,"value":1950,"position":1951}," picks a different mark kind than the chart's default (",{"start":1952,"end":1953},{"line":1900,"column":1944,"offset":1945},{"line":1900,"column":1873,"offset":1954},4671,{"type":31,"tagName":1170,"properties":1956,"children":1958,"position":1968},{"href":1957},"../presentation/plotting.md#text-labels-tables-strips-tints",[1959],{"type":27,"value":1960,"position":1961},"Plotting",{"start":1962,"end":1965},{"line":1900,"column":1963,"offset":1964},196,4672,{"line":1900,"column":1966,"offset":1967},204,4680,{"start":1969,"end":1970},{"line":1900,"column":1873,"offset":1954},{"line":1900,"column":1971,"offset":1972},266,4742,{"type":27,"value":1189,"position":1974},{"start":1975,"end":1976},{"line":1900,"column":1971,"offset":1972},{"line":1900,"column":1977,"offset":1978},268,4744,{"start":1980,"end":1982},{"line":1900,"column":21,"offset":1981},4477,{"line":1900,"column":1977,"offset":1978},{"type":27,"value":28},{"type":31,"tagName":1410,"properties":1985,"children":1986,"position":2101},{},[1987,2004,2011,2023,2030,2046,2053,2070,2077,2095],{"type":31,"tagName":827,"properties":1988,"children":1989,"position":1998},{},[1990],{"type":27,"value":1991,"position":1992},"Turn it into an alert.",{"start":1993,"end":1995},{"line":1253,"column":38,"offset":1994},4749,{"line":1253,"column":1996,"offset":1997},27,4771,{"start":1999,"end":2001},{"line":1253,"column":835,"offset":2000},4747,{"line":1253,"column":2002,"offset":2003},29,4773,{"type":27,"value":2005,"position":2006}," Publish it, add it to a chart, and set an alert from the chart on ",{"start":2007,"end":2008},{"line":1253,"column":2002,"offset":2003},{"line":1253,"column":2009,"offset":2010},96,4840,{"type":31,"tagName":93,"properties":2012,"children":2013,"position":2020},{},[2014],{"type":27,"value":1229,"position":2015},{"start":2016,"end":2017},{"line":1253,"column":2009,"offset":2010},{"line":1253,"column":2018,"offset":2019},99,4843,{"start":2021,"end":2022},{"line":1253,"column":2009,"offset":2010},{"line":1253,"column":2018,"offset":2019},{"type":27,"value":2024,"position":2025}," with ",{"start":2026,"end":2027},{"line":1253,"column":2018,"offset":2019},{"line":1253,"column":2028,"offset":2029},105,4849,{"type":31,"tagName":827,"properties":2031,"children":2032,"position":2042},{},[2033],{"type":27,"value":2034,"position":2035},"Crosses above",{"start":2036,"end":2039},{"line":1253,"column":2037,"offset":2038},107,4851,{"line":1253,"column":2040,"offset":2041},120,4864,{"start":2043,"end":2044},{"line":1253,"column":2028,"offset":2029},{"line":1253,"column":1566,"offset":2045},4866,{"type":27,"value":2047,"position":2048}," at 3. OpenMarket's alerts engine evaluates it in the cloud with the overlay's settings; ",{"start":2049,"end":2050},{"line":1253,"column":1566,"offset":2045},{"line":1253,"column":2051,"offset":2052},211,4955,{"type":31,"tagName":827,"properties":2054,"children":2055,"position":2065},{},[2056],{"type":27,"value":2057,"position":2058},"Once per bar",{"start":2059,"end":2062},{"line":1253,"column":2060,"offset":2061},213,4957,{"line":1253,"column":2063,"offset":2064},225,4969,{"start":2066,"end":2067},{"line":1253,"column":2051,"offset":2052},{"line":1253,"column":2068,"offset":2069},227,4971,{"type":27,"value":2071,"position":2072}," lets it fire again on later spikes, at most once per bar (",{"start":2073,"end":2074},{"line":1253,"column":2068,"offset":2069},{"line":1253,"column":2075,"offset":2076},286,5030,{"type":31,"tagName":1170,"properties":2078,"children":2080,"position":2090},{"href":2079},"../functions/alerts.md",[2081],{"type":27,"value":2082,"position":2083},"Alerts",{"start":2084,"end":2087},{"line":1253,"column":2085,"offset":2086},287,5031,{"line":1253,"column":2088,"offset":2089},293,5037,{"start":2091,"end":2092},{"line":1253,"column":2075,"offset":2076},{"line":1253,"column":2093,"offset":2094},318,5062,{"type":27,"value":1189,"position":2096},{"start":2097,"end":2098},{"line":1253,"column":2093,"offset":2094},{"line":1253,"column":2099,"offset":2100},320,5064,{"start":2102,"end":2104},{"line":1253,"column":21,"offset":2103},4745,{"line":1253,"column":2099,"offset":2100},{"type":27,"value":28},{"start":2107,"end":2108},{"line":1679,"column":21,"offset":1752},{"line":1253,"column":2099,"offset":2100},{"type":27,"value":28},{"type":31,"tagName":64,"properties":2111,"children":2112,"position":2122},{},[2113],{"type":27,"value":2114,"position":2115},"Run it",{"start":2116,"end":2119},{"line":2117,"column":72,"offset":2118},63,5069,{"line":2117,"column":2120,"offset":2121},10,5075,{"start":2123,"end":2125},{"line":2117,"column":21,"offset":2124},5066,{"line":2117,"column":2120,"offset":2121},{"type":27,"value":28},{"type":31,"tagName":2128,"properties":2129,"children":2130,"position":2281},"ol",{},[2131,2132,2209,2210,2247,2248,2280],{"type":27,"value":28},{"type":31,"tagName":1410,"properties":2133,"children":2134,"position":2205},{},[2135,2143,2157,2163,2178,2185,2198],{"type":27,"value":2136,"position":2137},"In the editor's Explorer, press ",{"start":2138,"end":2140},{"line":1556,"column":72,"offset":2139},5080,{"line":1556,"column":2141,"offset":2142},36,5112,{"type":31,"tagName":827,"properties":2144,"children":2145,"position":2153},{},[2146],{"type":27,"value":2147,"position":2148},"New indicator",{"start":2149,"end":2151},{"line":1556,"column":813,"offset":2150},5114,{"line":1556,"column":1489,"offset":2152},5127,{"start":2154,"end":2155},{"line":1556,"column":2141,"offset":2142},{"line":1556,"column":1580,"offset":2156},5129,{"type":27,"value":2158,"position":2159}," and pick ",{"start":2160,"end":2161},{"line":1556,"column":1580,"offset":2156},{"line":1556,"column":2117,"offset":2162},5139,{"type":31,"tagName":827,"properties":2164,"children":2165,"position":2174},{},[2166],{"type":27,"value":2167,"position":2168},"Blank indicator",{"start":2169,"end":2171},{"line":1556,"column":1556,"offset":2170},5141,{"line":1556,"column":2172,"offset":2173},80,5156,{"start":2175,"end":2176},{"line":1556,"column":2117,"offset":2162},{"line":1556,"column":1101,"offset":2177},5158,{"type":27,"value":2179,"position":2180},": the tab holds the ",{"start":2181,"end":2182},{"line":1556,"column":1101,"offset":2177},{"line":1556,"column":2183,"offset":2184},102,5178,{"type":31,"tagName":93,"properties":2186,"children":2187,"position":2195},{},[2188],{"type":27,"value":2189,"position":2190},"//@lang=wrun-ts",{"start":2191,"end":2192},{"line":1556,"column":2183,"offset":2184},{"line":1556,"column":2193,"offset":2194},119,5195,{"start":2196,"end":2197},{"line":1556,"column":2183,"offset":2184},{"line":1556,"column":2193,"offset":2194},{"type":27,"value":2199,"position":2200}," line alone.",{"start":2201,"end":2202},{"line":1556,"column":2193,"offset":2194},{"line":1556,"column":2203,"offset":2204},131,5207,{"start":2206,"end":2208},{"line":1556,"column":21,"offset":2207},5077,{"line":1556,"column":2203,"offset":2204},{"type":27,"value":28},{"type":31,"tagName":1410,"properties":2211,"children":2212,"position":2243},{},[2213,2222,2237],{"type":27,"value":2214,"position":2215},"Paste the indicator block above under that line and press ",{"start":2216,"end":2219},{"line":2217,"column":72,"offset":2218},66,5211,{"line":2217,"column":2220,"offset":2221},62,5269,{"type":31,"tagName":827,"properties":2223,"children":2224,"position":2233},{},[2225],{"type":27,"value":2226,"position":2227},"Run",{"start":2228,"end":2230},{"line":2217,"column":1263,"offset":2229},5271,{"line":2217,"column":2231,"offset":2232},67,5274,{"start":2234,"end":2235},{"line":2217,"column":2220,"offset":2221},{"line":2217,"column":10,"offset":2236},5276,{"type":27,"value":2238,"position":2239},".",{"start":2240,"end":2241},{"line":2217,"column":10,"offset":2236},{"line":2217,"column":1719,"offset":2242},5277,{"start":2244,"end":2246},{"line":2217,"column":21,"offset":2245},5208,{"line":2217,"column":1719,"offset":2242},{"type":27,"value":28},{"type":31,"tagName":1410,"properties":2249,"children":2250,"position":2276},{},[2251,2258,2269],{"type":27,"value":2252,"position":2253},"At the editor's Console prompt, type ",{"start":2254,"end":2256},{"line":2231,"column":72,"offset":2255},5281,{"line":2231,"column":1528,"offset":2257},5318,{"type":31,"tagName":93,"properties":2259,"children":2260,"position":2266},{},[2261],{"type":27,"value":1589,"position":2262},{"start":2263,"end":2264},{"line":2231,"column":1528,"offset":2257},{"line":2231,"column":1505,"offset":2265},5329,{"start":2267,"end":2268},{"line":2231,"column":1528,"offset":2257},{"line":2231,"column":1505,"offset":2265},{"type":27,"value":2270,"position":2271}," to read the score of the last 20 bars.",{"start":2272,"end":2273},{"line":2231,"column":1505,"offset":2265},{"line":2231,"column":2274,"offset":2275},91,5368,{"start":2277,"end":2279},{"line":2231,"column":21,"offset":2278},5278,{"line":2231,"column":2274,"offset":2275},{"type":27,"value":28},{"start":2282,"end":2283},{"line":1556,"column":21,"offset":2207},{"line":2231,"column":2274,"offset":2275},{"type":27,"value":28},{"type":31,"tagName":64,"properties":2286,"children":2287,"position":2295},{},[2288],{"type":27,"value":2289,"position":2290},"Concepts used",{"start":2291,"end":2293},{"line":10,"column":72,"offset":2292},5373,{"line":10,"column":1223,"offset":2294},5386,{"start":2296,"end":2298},{"line":10,"column":21,"offset":2297},5370,{"line":10,"column":1223,"offset":2294},{"type":27,"value":28},{"type":31,"tagName":1405,"properties":2301,"children":2302,"position":2568},{},[2303,2304,2375,2376,2439,2440,2487,2488,2567],{"type":27,"value":28},{"type":31,"tagName":1410,"properties":2305,"children":2306,"position":2371},{},[2307,2324,2330,2346,2352,2364],{"type":31,"tagName":1170,"properties":2308,"children":2310,"position":2319},{"href":2309},"../functions/series-functions.md",[2311],{"type":27,"value":2312,"position":2313},"Series functions",{"start":2314,"end":2317},{"line":2315,"column":72,"offset":2316},71,5391,{"line":2315,"column":1233,"offset":2318},5407,{"start":2320,"end":2322},{"line":2315,"column":835,"offset":2321},5390,{"line":2315,"column":1656,"offset":2323},5442,{"type":27,"value":2325,"position":2326}," and ",{"start":2327,"end":2328},{"line":2315,"column":1656,"offset":2323},{"line":2315,"column":1900,"offset":2329},5447,{"type":31,"tagName":1170,"properties":2331,"children":2333,"position":2341},{"href":2332},"../functions/ta-library.md",[2334],{"type":27,"value":2335,"position":2336},"TA library",{"start":2337,"end":2339},{"line":2315,"column":1253,"offset":2338},5448,{"line":2315,"column":2315,"offset":2340},5458,{"start":2342,"end":2343},{"line":2315,"column":1900,"offset":2329},{"line":2315,"column":2344,"offset":2345},100,5487,{"type":27,"value":2347,"position":2348}," for ",{"start":2349,"end":2350},{"line":2315,"column":2344,"offset":2345},{"line":2315,"column":2028,"offset":2351},5492,{"type":31,"tagName":93,"properties":2353,"children":2354,"position":2361},{},[2355],{"type":27,"value":967,"position":2356},{"start":2357,"end":2358},{"line":2315,"column":2028,"offset":2351},{"line":2315,"column":2359,"offset":2360},113,5500,{"start":2362,"end":2363},{"line":2315,"column":2028,"offset":2351},{"line":2315,"column":2359,"offset":2360},{"type":27,"value":2365,"position":2366}," over a trailing window",{"start":2367,"end":2368},{"line":2315,"column":2359,"offset":2360},{"line":2315,"column":2369,"offset":2370},136,5523,{"start":2372,"end":2374},{"line":2315,"column":21,"offset":2373},5388,{"line":2315,"column":2369,"offset":2370},{"type":27,"value":28},{"type":31,"tagName":1410,"properties":2377,"children":2378,"position":2435},{},[2379,2396,2402,2413,2418,2429],{"type":31,"tagName":1170,"properties":2380,"children":2382,"position":2391},{"href":2381},"../settings/kinds.md",[2383],{"type":27,"value":2384,"position":2385},"Setting kinds",{"start":2386,"end":2389},{"line":2387,"column":72,"offset":2388},72,5527,{"line":2387,"column":1223,"offset":2390},5540,{"start":2392,"end":2394},{"line":2387,"column":835,"offset":2393},5526,{"line":2387,"column":834,"offset":2395},5563,{"type":27,"value":2397,"position":2398}," for the ",{"start":2399,"end":2400},{"line":2387,"column":834,"offset":2395},{"line":2387,"column":1427,"offset":2401},5572,{"type":31,"tagName":93,"properties":2403,"children":2404,"position":2410},{},[2405],{"type":27,"value":1078,"position":2406},{"start":2407,"end":2408},{"line":2387,"column":1427,"offset":2401},{"line":2387,"column":1812,"offset":2409},5582,{"start":2411,"end":2412},{"line":2387,"column":1427,"offset":2401},{"line":2387,"column":1812,"offset":2409},{"type":27,"value":2325,"position":2414},{"start":2415,"end":2416},{"line":2387,"column":1812,"offset":2409},{"line":2387,"column":1263,"offset":2417},5587,{"type":31,"tagName":93,"properties":2419,"children":2420,"position":2426},{},[2421],{"type":27,"value":1269,"position":2422},{"start":2423,"end":2424},{"line":2387,"column":1263,"offset":2417},{"line":2387,"column":1273,"offset":2425},5598,{"start":2427,"end":2428},{"line":2387,"column":1263,"offset":2417},{"line":2387,"column":1273,"offset":2425},{"type":27,"value":2430,"position":2431}," params",{"start":2432,"end":2433},{"line":2387,"column":1273,"offset":2425},{"line":2387,"column":1101,"offset":2434},5605,{"start":2436,"end":2438},{"line":2387,"column":21,"offset":2437},5524,{"line":2387,"column":1101,"offset":2434},{"type":27,"value":28},{"type":31,"tagName":1410,"properties":2441,"children":2442,"position":2483},{},[2443,2461,2466,2477],{"type":31,"tagName":1170,"properties":2444,"children":2446,"position":2456},{"href":2445},"../core-concepts/na-and-scalar-types.md",[2447],{"type":27,"value":2448,"position":2449},"Missing values (NaN)",{"start":2450,"end":2453},{"line":2451,"column":72,"offset":2452},73,5609,{"line":2451,"column":2454,"offset":2455},24,5629,{"start":2457,"end":2459},{"line":2451,"column":835,"offset":2458},5608,{"line":2451,"column":2217,"offset":2460},5671,{"type":27,"value":2397,"position":2462},{"start":2463,"end":2464},{"line":2451,"column":2217,"offset":2460},{"line":2451,"column":1273,"offset":2465},5680,{"type":31,"tagName":93,"properties":2467,"children":2468,"position":2474},{},[2469],{"type":27,"value":1097,"position":2470},{"start":2471,"end":2472},{"line":2451,"column":1273,"offset":2465},{"line":2451,"column":2172,"offset":2473},5685,{"start":2475,"end":2476},{"line":2451,"column":1273,"offset":2465},{"line":2451,"column":2172,"offset":2473},{"type":27,"value":2478,"position":2479}," warm-up rule",{"start":2480,"end":2481},{"line":2451,"column":2172,"offset":2473},{"line":2451,"column":1446,"offset":2482},5698,{"start":2484,"end":2486},{"line":2451,"column":21,"offset":2485},5606,{"line":2451,"column":1446,"offset":2482},{"type":27,"value":28},{"type":31,"tagName":1410,"properties":2489,"children":2490,"position":2563},{},[2491,2507,2513,2529,2535,2546,2552],{"type":31,"tagName":1170,"properties":2492,"children":2494,"position":2502},{"href":2493},"../presentation/plotting.md",[2495],{"type":27,"value":1960,"position":2496},{"start":2497,"end":2500},{"line":2498,"column":72,"offset":2499},74,5702,{"line":2498,"column":838,"offset":2501},5710,{"start":2503,"end":2505},{"line":2498,"column":835,"offset":2504},5701,{"line":2498,"column":945,"offset":2506},5740,{"type":27,"value":2325,"position":2508},{"start":2509,"end":2510},{"line":2498,"column":945,"offset":2506},{"line":2498,"column":2511,"offset":2512},47,5745,{"type":31,"tagName":1170,"properties":2514,"children":2516,"position":2524},{"href":2515},"../presentation/cards-frames-panels.md#marks-tints-and-fills",[2517],{"type":27,"value":2518,"position":2519},"Cards, frames and panels",{"start":2520,"end":2522},{"line":2498,"column":1395,"offset":2521},5746,{"line":2498,"column":2387,"offset":2523},5770,{"start":2525,"end":2526},{"line":2498,"column":2511,"offset":2512},{"line":2498,"column":2527,"offset":2528},135,5833,{"type":27,"value":2397,"position":2530},{"start":2531,"end":2532},{"line":2498,"column":2527,"offset":2528},{"line":2498,"column":2533,"offset":2534},144,5842,{"type":31,"tagName":93,"properties":2536,"children":2537,"position":2543},{},[2538],{"type":27,"value":101,"position":2539},{"start":2540,"end":2541},{"line":2498,"column":2533,"offset":2534},{"line":2498,"column":1130,"offset":2542},5848,{"start":2544,"end":2545},{"line":2498,"column":2533,"offset":2534},{"line":2498,"column":1130,"offset":2542},{"type":27,"value":2547,"position":2548}," outputs and the gated ",{"start":2549,"end":2550},{"line":2498,"column":1130,"offset":2542},{"line":2498,"column":1854,"offset":2551},5871,{"type":31,"tagName":93,"properties":2553,"children":2554,"position":2560},{},[2555],{"type":27,"value":1309,"position":2556},{"start":2557,"end":2558},{"line":2498,"column":1854,"offset":2551},{"line":2498,"column":1157,"offset":2559},5878,{"start":2561,"end":2562},{"line":2498,"column":1854,"offset":2551},{"line":2498,"column":1157,"offset":2559},{"start":2564,"end":2566},{"line":2498,"column":21,"offset":2565},5699,{"line":2498,"column":1157,"offset":2559},{"type":27,"value":28},{"start":2569,"end":2570},{"line":2315,"column":21,"offset":2373},{"line":2498,"column":1157,"offset":2559},{"quirksMode":2572},false,{"start":2574,"end":2575},{"line":21,"column":21,"offset":22},{"line":1273,"column":21,"offset":2576},5879,1791265147914]