[{"data":1,"prerenderedAt":7709},["ShallowReactive",2],{"indicators:cookbook/viewport-hud":3},{"slug":4,"filePath":5,"frontmatter":6,"rawMarkdown":11,"tree":12},"cookbook/viewport-hud","cookbook/viewport-hud.md",{"title":7,"description":8,"order":9,"section":10},"Viewport-anchored market HUD","A regime readout the package draws itself: one box and four left-aligned rows pinned to the top-left corner of the price pane (the close's distance from EMA 50…",67,"cookbook","---\ntitle: \"Viewport-anchored market HUD\"\ndescription: \"A regime readout the package draws itself: one box and four left-aligned rows pinned to the top-left corner of the price pane (the close's distance from EMA 50…\"\norder: 67\nsection: \"cookbook\"\n---\n\n\u003C!-- source: docs/indicators/cookbook/viewport-hud.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Viewport-anchored market HUD\n\nA regime readout the package draws itself: one box and four left-aligned rows pinned to the top-left corner of the price pane (the close's distance from EMA 50, RSI 14, ATR as a percent of the close, and a BULLISH, BEARISH or NEUTRAL line coloured by regime), plus a meter for RSI at the top-right. The numbers come from three plain recurrences in `state()`; the readout is two handle kinds, an anchor word, an align word and one `draw.meter` declaration. The kScript (legacy) precedent is the MMT-style viewport HUD script, whose labels sat at a time and a price and scrolled away with the chart; here the readout is pinned to the pane. The [HUD terminal](hud-terminal.md) recipe is the sibling: it reads the tape (buy and sell prints) and shows a flow readout, while this one reads only the chart's candles and shows the regime its own indicator numbers describe.\n\nBoxes and labels are handles: objects the Indicator creates, moves and re-words by an integer id ([Drawing objects](../functions/drawing-objects.md)). `anchor: \"top_left\"` on both declarations turns their coordinates into pixels from the pane's corner, so the HUD stays put when the chart pans or zooms; `align: \"left\"` makes every row's text start at its x, which is what lines the columns up. The two plotted outputs are `ema50` on the price pane and `rsi14` in the lower pane; `atr_pct` and `rsi_frac` are data-only (`none`), so the lower pane holds RSI alone and the meter reads `rsi_frac` without a second line being drawn. Three params (`ema_len`, `rsi_len`, `atr_len`) size the recurrences in `init()`, and the output names and the meter's label spell their defaults. This is also the `viewport-hud` template: `om wrun create` scaffolds it, and it compiles as written.\n\n## The Indicator\n\n```typescript\n// A regime HUD from indicator numbers: one anchored box and four left-aligned rows pinned to the pane's top-left corner, plus an RSI meter.\nimport { draw, handles, input, line, lower, none, ohlcv, output, overlay, param, string } from \"./sdk/declare\"; // the declaring words; draw declares the meter here\nimport { ALIGN_LEFT, bar, draw as handle, LabelHandle, rgba } from \"./gen/draw\"; // the handle constructors under another name, the align word, colours, the last-bar signal\nimport { in_close, in_high, in_low } from \"./gen/inputs\"; // generated: an in_ reader for each input declared below\nimport { emitRow, out_atr_pct, out_ema50, out_rsi14, out_rsi_frac } from \"./gen/outputs\"; // generated: an out_ writer per output, plus emitRow\nimport { p_atr_len, p_ema_len, p_rsi_len } from \"./gen/params\"; // generated: a p_ reader for each param declared below\nimport { sb_clear, sb_f64, sb_int, sb_text, str_text_sb } from \"./gen/strings\"; // the allocation-free line builder and the slot's sender\n\nparam(\"ema_len\", 50, { min: 2, max: 400 }); // the EMA's length in bars; the largest of the three periods is how many bars the daemon reads for a metric or a watch\nparam(\"rsi_len\", 14, { min: 2, max: 200 }); // the RSI's Wilder length in bars\nparam(\"atr_len\", 14, { min: 2, max: 200 }); // the ATR's Wilder length in bars\ninput(\"close\", ohlcv.close); // the primary input: the chart's own candles define the grid; unpinned, so it follows the symbol selector\ninput(\"high\", ohlcv.high); // the bar's high and low feed the true range\ninput(\"low\", ohlcv.low);\noutput(\"ema50\", line, overlay, { color: \"#38bdf8\", description: \"EMA of the close over ema_len bars\" }); // a line on the price pane; the name spells the default period\noutput(\"rsi14\", line, lower, { color: \"#a78bfa\", description: \"RSI over rsi_len bars with Wilder smoothing\" }); // the only line in the lower pane\noutput(\"atr_pct\", none); // data-only: ATR over atr_len bars as a percent of the close, a row in the HUD and a metric on your machine\noutput(\"rsi_frac\", none); // data-only: rsi14 / 100, the fraction the meter reads\nstring(\"text\", { max_bytes: 32 }); // one bounded slot every row is written through, one row at a time\nhandles.box({ anchor: \"top_left\", color: \"#0f172a\", borderColor: \"#334155\", opacity: 0.85, borderWidth: 1 }); // the box behind the rows, in pane pixels\nhandles.label({ anchor: \"top_left\", align: \"left\", color: \"#e2e8f0\", size: 12 }); // rows whose text starts at x, so the columns line up\ndraw.meter({ name: \"rsi\", label: \"RSI 14\", fraction: { output: \"rsi_frac\" }, ramp: [\"#e5484d\", \"#8b8f98\", \"#30a46c\"], anchor: \"top_right\" }); // the meter widget; its label spells the default too\n\n// One recurrence serves all three numbers: a plain average over the first n values seeds it, then value += (x - value) * alpha.\n// alpha = 1 / n is Wilder smoothing (what the Rma helper does); alpha = 2 / (n + 1) is the EMA. The value stays NaN until seeded.\nclass Smoother {\n  n: i32; alpha: f64; sum: f64 = 0.0; count: i32 = 0; value: f64 = NaN;\n  constructor(n: i32, alpha: f64) { this.n = n; this.alpha = alpha; }\n  update(x: f64): f64 {\n    if (this.count \u003C this.n) { this.sum += x; this.count += 1; if (this.count == this.n) this.value = this.sum / f64(this.n); }\n    else this.value += (x - this.value) * this.alpha;\n    return this.value;\n  }\n  reset(): void { this.sum = 0.0; this.count = 0; this.value = NaN; }\n}\n\nlet emaLen = 50; let rsiLen = 14; let atrLen = 14; // the periods, read from the params in init(); the row labels are built from them, so they never lie\nlet emaOfClose = new Smoother(emaLen, 2.0 / f64(emaLen + 1)); // EMA of the close; init() rebuilds it from the param\nlet gains = new Smoother(rsiLen, 1.0 / f64(rsiLen)); let losses = new Smoother(rsiLen, 1.0 / f64(rsiLen)); // RSI's two Wilder averages\nlet ranges = new Smoother(atrLen, 1.0 / f64(atrLen)); // ATR: Wilder smoothing of the true range\nconst backdrop = handle.box(0); // handle objects allocate once; ids are one space across boxes, labels, lines and polylines\nconst rows: LabelHandle[] = [handle.label(1), handle.label(2), handle.label(3), handle.label(4)]; // EMA, RSI, ATR%, the state row\nlet close: f64 = NaN; let prev: f64 = NaN; let ema50: f64 = NaN; let rsi14: f64 = NaN; let atrPct: f64 = NaN; // this bar's numbers\n\nexport function init(): void { // read the params (f64) as periods (i32) and build the smoothers from them\n  emaLen = i32(p_ema_len()); rsiLen = i32(p_rsi_len()); atrLen = i32(p_atr_len());\n  emaOfClose = new Smoother(emaLen, 2.0 / f64(emaLen + 1)); gains = new Smoother(rsiLen, 1.0 / f64(rsiLen)); losses = new Smoother(rsiLen, 1.0 / f64(rsiLen)); ranges = new Smoother(atrLen, 1.0 / f64(atrLen));\n}\nexport function state(): i32 { // once per bar: read the bar, fold it into the three recurrences, say whether every number is ready\n  prev = close; close = in_close(); const high = in_high(); const low = in_low();\n  ema50 = emaOfClose.update(close);\n  if (isNaN(prev)) return 0; // the first bar has no change and no true range\n  const change = close - prev;\n  const gain = gains.update(change > 0.0 ? change : 0.0); const loss = losses.update(change \u003C 0.0 ? -change : 0.0);\n  rsi14 = loss == 0.0 ? 100.0 : 100.0 - 100.0 / (1.0 + gain / loss); // NaN while the averages seed (NaN == 0.0 is false)\n  const range = Math.max(high - low, Math.max(Math.abs(high - prev), Math.abs(low - prev))); // the true range\n  atrPct = (ranges.update(range) / close) * 100.0;\n  return isNaN(ema50) || isNaN(rsi14) || isNaN(atrPct) ? 0 : 1; // 0 = a warmup row: the chart draws nothing for this bar\n}\n// finalize() runs after state() returns 1: write the outputs on every bar; draw the HUD on the live bar only.\n// A row is one line: build it with sb_* (numbers through sb_f64, periods through sb_int, never a locale), then text(...) sends the slot\n// and draws the label at the last set(x, y); the slot is reused row by row, the host copies each draw.\nexport function finalize(): void {\n  out_ema50(ema50); out_rsi14(rsi14); out_atr_pct(atrPct); out_rsi_frac(rsi14 / 100.0);\n  if (bar.isLast()) { // the newest bar only: history bars never paint the HUD, and each refresh draws it once\n    const bullish = close > ema50 && rsi14 > 50.0; const bearish = close \u003C ema50 && rsi14 \u003C 50.0; // the regime\n    const tone = bullish ? rgba(48, 164, 108, 255) : bearish ? rgba(229, 72, 77, 255) : rgba(139, 143, 152, 255); // green, red, grey\n    backdrop.set(12, 12, 172, 112).color(tone); // pane pixels from the top-left corner: left, top, right, bottom; the border takes the regime colour\n    const distance = ((close - ema50) / ema50) * 100.0; // the close's distance from the EMA, sign kept\n    sb_clear(); sb_text(\"EMA \"); sb_int(emaLen); sb_text(\"  \"); if (distance >= 0.0) sb_text(\"+\"); sb_f64(distance, 1); sb_text(\"%\"); // \"EMA 50  +1.2%\"\n    rows[0].set(22, 30).text(str_text_sb).align(ALIGN_LEFT); // an explicit align call: it wins over the declared default for this label\n    sb_clear(); sb_text(\"RSI \"); sb_int(rsiLen); sb_text(\"  \"); sb_f64(rsi14, 1); rows[1].set(22, 50).text(str_text_sb);\n    sb_clear(); sb_text(\"ATR%    \"); sb_f64(atrPct, 2); rows[2].set(22, 70).text(str_text_sb);\n    sb_clear(); sb_text(bullish ? \"BULLISH\" : bearish ? \"BEARISH\" : \"NEUTRAL\"); rows[3].set(22, 94).text(str_text_sb).color(tone);\n  }\n  emitRow();\n}\n// reset() runs when the chart restarts the series: back to the start; the host rolls the handles back beside the module state.\nexport function reset(): void {\n  emaOfClose.reset(); gains.reset(); losses.reset(); ranges.reset(); close = NaN; prev = NaN; ema50 = NaN; rsi14 = NaN; atrPct = NaN;\n}\n```\n\n## How it works\n\n**Anchor: pixels from the pane edge.** `handles.box({ anchor: \"top_left\", ... })` and `handles.label({ anchor: \"top_left\", ... })` enable the two kinds and set the defaults every new box and label starts from. With the anchor word, `backdrop.set(12, 12, 172, 112)` is a box from 12 px to 172 px across and 12 px to 112 px down from the pane's top-left corner, and `rows[1].set(22, 50)` puts a label 22 px in and 50 px down; the chart can pan to last year or zoom to a minute and the HUD does not move. Without the word the same numbers would be epoch seconds and prices, and the readout would scroll away with the bars. The nine corner and centre words pin both axes; `top`, `bottom`, `left` and `right` pin one axis and leave the other on chart time or price ([Drawing objects](../functions/drawing-objects.md) lists them).\n\n**Align: the text starts at x.** A label is placed by one point, and by default its text is centred on that point, so `RSI 14  61.4` and `BULLISH` would centre on different widths and the columns would drift. `align: \"left\"` makes the text start at x instead; the four rows share x = 22, so their first characters sit on one vertical line and the gaps after the names read as columns. The declaration is the default every new label is created with. `rows[0].set(22, 30).text(str_text_sb).align(ALIGN_LEFT)` is the per-handle call (it needs a live label, so it follows `text(...)`), and the call wins for that handle: a new label is created with the sheet's word copied in, and the call overwrites the handle's own word from then on. Here both say left, so nothing changes; `ALIGN_RIGHT` on that row would right-align it while the other three stay left, and `ALIGN_DEFAULT` clears the word on that handle and centres it again, sheet default or not. `anchor(...)` works the same way (prop 7 on the style channel, beside align's prop 8): a per-handle call overrides the declared default for that one handle, and `ANCHOR_CHART` puts it back on chart time and price.\n\n**The live bar only.** `bar.isLast()` is true on the newest bar the host holds (the last row of a full run, the forming bar live) and false on every earlier bar. The whole HUD sits behind it, so a history bar writes its four outputs, emits its row and draws nothing; only the newest bar creates the box and the four labels, and each refresh draws them once. When the forming bar ticks, the host rolls the handles back beside the module state and replays that bar, so the box is created again, never stacked. Without the guard every history bar would paint the same HUD on top of itself, once per bar, for nothing.\n\n**Three numbers, one recurrence.** `Smoother` seeds with a plain average over the first `n` values, then folds each new value in with `value += (x - value) * alpha`. With `alpha = 1 / n` that is Wilder smoothing, what the `Rma` helper and every RSI and ATR use; with `alpha = 2 / (n + 1)` it is the EMA, seeded the way the `Ema` helper in `./sdk/ta` seeds. RSI is two of them, over the bar's gains and over its losses, then `100 - 100 / (1 + gain / loss)`; ATR is one of them over the true range, divided by the close and scaled to a percent. The periods are the three params, read in `init()` as `p_ema_len()`, `p_rsi_len()` and `p_atr_len()` (params are `f64`, periods `i32`) and used to build the smoothers there. A code-first source has no other way to say how many bars it needs: a metric read or a watch on your machine fetches the largest param default plus the ready row, 51 bars here, where a module without params would read three and never leave warmup. `state()` returns 0 until all three are seeded, so the bars before the `ema_len`th (the 50th by default) are warmup rows the chart leaves empty. The helpers in [Moving averages](../functions/moving-averages.md) and [Oscillators](../functions/oscillators.md) do the same in one line each; the recurrence is written out here so the numbers behind the HUD are visible.\n\n**The meter.** `draw.meter({ name: \"rsi\", label: \"RSI 14\", fraction: { output: \"rsi_frac\" }, ramp: [...], anchor: \"top_right\" })` declares a meter the chart draws at the pane's top-right. It reads the last ready value of `rsi_frac`, which the module emits as `rsi14 / 100`, a fraction from 0 to 1 the host does not clamp, and colours it along the ramp from red through grey to green. The declaration is validated and erased before the AssemblyScript build, so there is no accessor to call: emitting the output is the whole job. Its keys are `name`, `label`, `fraction`, `ramp`, and the optional `text` (a short literal or `{ slot }`), `anchor` (one of the nine pane positions), `offset` and `z` ([Drawing primitives](../functions/drawing-primitives.md)).\n\n**The regime row.** BULLISH when the close is above EMA 50 and RSI 14 is above 50, BEARISH when it is below both, NEUTRAL otherwise. `tone` is an `rgba(...)` value (green, red or grey) and `.color(tone)` restyles one handle on the bar it is drawn: the state row's text, and the box's border. The distance row keeps its sign: `sb_f64` writes the minus for a negative and the code adds the plus, so `+1.2%` and `-0.8%` read alike. The row names are built from the params (`sb_text(\"EMA \"); sb_int(emaLen)`), so a chart user who sets `ema_len` to 100 reads `EMA 100` in the HUD, never a stale number. Every row goes through one 32-byte slot: build it with `sb_clear`, `sb_text`, `sb_int` and `sb_f64`, then `text(str_text_sb)` sends the slot and draws the label at its last `set(x, y)`; the host copies the bytes at each draw, so one slot serves four labels ([String functions](../functions/string-functions.md)).\n\n## What kScript (legacy) could not do\n\n- **No pixel-anchored drawings.** A label or box lived at a time and a price and scrolled away with the chart; the only thing that stayed put was a table with fixed cells. Here `anchor: \"top_left\"` turns a handle's coordinates into pixels from the pane edge, and `ANCHOR_CHART` puts the same handle back on chart coordinates.\n- **No text alignment word.** Text centred on its point, so a column of numbers never lined up. `align: \"left\"` on the declaration, or `align(ALIGN_LEFT)` on one label, starts the text at x.\n- **No meter widget.** A fraction was a number in a table cell. `draw.meter` draws it as a meter along a colour ramp, fed by one data-only output.\n- **No per-handle style calls.** Colours were set once, on a plot or a table declaration. `.color(rgba(...))`, `.align(...)` and `.anchor(...)` restyle one live handle on the bar it changes, which is how the state row turns green, red or grey by regime.\n\n## Customize it\n\n- **Change the periods.** `ema_len` (2 to 400), `rsi_len` and `atr_len` (2 to 200) are params: the chart user sets them in the settings dialog and `om metric series --param ema_len=100` reads them on your machine, with no rebuild. The HUD's row names are built from them, so they always say what they show; the output names (`ema50`, `rsi14`) and the meter's `label` spell the defaults, so rename those if you change a default in the source.\n- **Move the HUD.** Change the anchor word on both handle declarations to `top_right` or `bottom_left`; the pixel offsets are then measured from that corner. Move the meter with its own `anchor` and an `offset: [x, y]`.\n- **Right-align the numbers.** Import `ALIGN_RIGHT`, draw each row's value as a second label at the box's right edge (x = 162) and call `.align(ALIGN_RIGHT)` on it after its `text(...)`; the names stay left-aligned at 22.\n- **Plot ATR% too.** `output(\"atr_pct\", line, lower)` draws it in the lower pane beside RSI; `none` keeps it data-only. Either way `om metric series` reads it.\n- **Colours.** The box declaration takes `color`, `borderColor`, `opacity` and `borderWidth`, the label declaration `color` and `size`; the meter's `ramp` takes 2 to 5 hex colours; the three `rgba(...)` values in `finalize()` are the regime tones.\n\nScaffold, build, install, and read RSI 14 on your machine:\n\n```bash\nom wrun create @you/viewport-hud ./viewport-hud --template viewport-hud\nom wrun build ./viewport-hud\nom wrun install ./viewport-hud --replace\nom metric series --metric wrun/@you/viewport-hud/rsi14 --symbol BTCUSDT --exchange BINANCE_FUTURES --bars 20\n```\n\n## Concepts used\n\n- [Drawing objects](../functions/drawing-objects.md) for handles, the anchor and align words, the per-handle setters and `bar.isLast()`\n- [Drawing primitives](../functions/drawing-primitives.md) for `draw.meter`, pane pixel placement and the style props behind `anchor(...)` and `align(...)`\n- [HUD terminal](hud-terminal.md) for the sibling readout over the tape, framed once and refreshed on the live bar\n- [String functions](../functions/string-functions.md) for the `sb_*` builder and the slot sender\n- [Moving averages](../functions/moving-averages.md) and [Oscillators](../functions/oscillators.md) for the `Ema`, `Rma` and `Rsi` helpers this recipe writes out by hand\n",{"type":13,"children":14,"data":7703,"position":7705},"root",[15,25,28,29,113,114,429,430,449,450,4736,4737,4754,4755,4966,4967,5175,5176,5226,5227,5632,5633,5914,5915,6254,6255,6271,6272,6557,6558,6574,6575,7222,7223,7237,7238,7389,7390,7405,7406],{"type":16,"value":17,"position":18},"comment"," source: docs/indicators/cookbook/viewport-hud.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit ",{"start":19,"end":22},{"line":20,"column":20,"offset":21},1,0,{"line":20,"column":23,"offset":24},128,127,{"type":26,"value":27},"text","\n",{"type":26,"value":27},{"type":30,"tagName":31,"properties":32,"children":33,"position":110},"element","p",{},[34,43,57,64,77,84,103],{"type":26,"value":35,"position":36},"A regime readout the package draws itself: one box and four left-aligned rows pinned to the top-left corner of the price pane (the close's distance from EMA 50, RSI 14, ATR as a percent of the close, and a BULLISH, BEARISH or NEUTRAL line coloured by regime), plus a meter for RSI at the top-right. The numbers come from three plain recurrences in ",{"start":37,"end":40},{"line":38,"column":20,"offset":39},5,161,{"line":38,"column":41,"offset":42},349,509,{"type":30,"tagName":44,"properties":45,"children":46,"position":54},"code",{},[47],{"type":26,"value":48,"position":49},"state()",{"start":50,"end":51},{"line":38,"column":41,"offset":42},{"line":38,"column":52,"offset":53},358,518,{"start":55,"end":56},{"line":38,"column":41,"offset":42},{"line":38,"column":52,"offset":53},{"type":26,"value":58,"position":59},"; the readout is two handle kinds, an anchor word, an align word and one ",{"start":60,"end":61},{"line":38,"column":52,"offset":53},{"line":38,"column":62,"offset":63},431,591,{"type":30,"tagName":44,"properties":65,"children":66,"position":74},{},[67],{"type":26,"value":68,"position":69},"draw.meter",{"start":70,"end":71},{"line":38,"column":62,"offset":63},{"line":38,"column":72,"offset":73},443,603,{"start":75,"end":76},{"line":38,"column":62,"offset":63},{"line":38,"column":72,"offset":73},{"type":26,"value":78,"position":79}," declaration. The kScript (legacy) precedent is the MMT-style viewport HUD script, whose labels sat at a time and a price and scrolled away with the chart; here the readout is pinned to the pane. The ",{"start":80,"end":81},{"line":38,"column":72,"offset":73},{"line":38,"column":82,"offset":83},643,803,{"type":30,"tagName":85,"properties":86,"children":88,"position":98},"a",{"href":87},"hud-terminal.md",[89],{"type":26,"value":90,"position":91},"HUD terminal",{"start":92,"end":95},{"line":38,"column":93,"offset":94},644,804,{"line":38,"column":96,"offset":97},656,816,{"start":99,"end":100},{"line":38,"column":82,"offset":83},{"line":38,"column":101,"offset":102},674,834,{"type":26,"value":104,"position":105}," recipe is the sibling: it reads the tape (buy and sell prints) and shows a flow readout, while this one reads only the chart's candles and shows the regime its own indicator numbers describe.",{"start":106,"end":107},{"line":38,"column":101,"offset":102},{"line":38,"column":108,"offset":109},866,1026,{"start":111,"end":112},{"line":38,"column":20,"offset":39},{"line":38,"column":108,"offset":109},{"type":26,"value":27},{"type":30,"tagName":31,"properties":115,"children":116,"position":426},{},[117,126,144,151,164,171,184,191,203,210,223,230,243,250,263,270,283,290,302,308,321,328,341,347,360,367,380,387,400,407,419],{"type":26,"value":118,"position":119},"Boxes and labels are handles: objects the Indicator creates, moves and re-words by an integer id (",{"start":120,"end":123},{"line":121,"column":20,"offset":122},7,1028,{"line":121,"column":124,"offset":125},99,1126,{"type":30,"tagName":85,"properties":127,"children":129,"position":139},{"href":128},"../functions/drawing-objects.md",[130],{"type":26,"value":131,"position":132},"Drawing objects",{"start":133,"end":136},{"line":121,"column":134,"offset":135},100,1127,{"line":121,"column":137,"offset":138},115,1142,{"start":140,"end":141},{"line":121,"column":124,"offset":125},{"line":121,"column":142,"offset":143},149,1176,{"type":26,"value":145,"position":146},"). ",{"start":147,"end":148},{"line":121,"column":142,"offset":143},{"line":121,"column":149,"offset":150},152,1179,{"type":30,"tagName":44,"properties":152,"children":153,"position":161},{},[154],{"type":26,"value":155,"position":156},"anchor: \"top_left\"",{"start":157,"end":158},{"line":121,"column":149,"offset":150},{"line":121,"column":159,"offset":160},172,1199,{"start":162,"end":163},{"line":121,"column":149,"offset":150},{"line":121,"column":159,"offset":160},{"type":26,"value":165,"position":166}," on both declarations turns their coordinates into pixels from the pane's corner, so the HUD stays put when the chart pans or zooms; ",{"start":167,"end":168},{"line":121,"column":159,"offset":160},{"line":121,"column":169,"offset":170},305,1332,{"type":30,"tagName":44,"properties":172,"children":173,"position":181},{},[174],{"type":26,"value":175,"position":176},"align: \"left\"",{"start":177,"end":178},{"line":121,"column":169,"offset":170},{"line":121,"column":179,"offset":180},320,1347,{"start":182,"end":183},{"line":121,"column":169,"offset":170},{"line":121,"column":179,"offset":180},{"type":26,"value":185,"position":186}," makes every row's text start at its x, which is what lines the columns up. The two plotted outputs are ",{"start":187,"end":188},{"line":121,"column":179,"offset":180},{"line":121,"column":189,"offset":190},424,1451,{"type":30,"tagName":44,"properties":192,"children":193,"position":200},{},[194],{"type":26,"value":195,"position":196},"ema50",{"start":197,"end":198},{"line":121,"column":189,"offset":190},{"line":121,"column":62,"offset":199},1458,{"start":201,"end":202},{"line":121,"column":189,"offset":190},{"line":121,"column":62,"offset":199},{"type":26,"value":204,"position":205}," on the price pane and ",{"start":206,"end":207},{"line":121,"column":62,"offset":199},{"line":121,"column":208,"offset":209},454,1481,{"type":30,"tagName":44,"properties":211,"children":212,"position":220},{},[213],{"type":26,"value":214,"position":215},"rsi14",{"start":216,"end":217},{"line":121,"column":208,"offset":209},{"line":121,"column":218,"offset":219},461,1488,{"start":221,"end":222},{"line":121,"column":208,"offset":209},{"line":121,"column":218,"offset":219},{"type":26,"value":224,"position":225}," in the lower pane; ",{"start":226,"end":227},{"line":121,"column":218,"offset":219},{"line":121,"column":228,"offset":229},481,1508,{"type":30,"tagName":44,"properties":231,"children":232,"position":240},{},[233],{"type":26,"value":234,"position":235},"atr_pct",{"start":236,"end":237},{"line":121,"column":228,"offset":229},{"line":121,"column":238,"offset":239},490,1517,{"start":241,"end":242},{"line":121,"column":228,"offset":229},{"line":121,"column":238,"offset":239},{"type":26,"value":244,"position":245}," and ",{"start":246,"end":247},{"line":121,"column":238,"offset":239},{"line":121,"column":248,"offset":249},495,1522,{"type":30,"tagName":44,"properties":251,"children":252,"position":260},{},[253],{"type":26,"value":254,"position":255},"rsi_frac",{"start":256,"end":257},{"line":121,"column":248,"offset":249},{"line":121,"column":258,"offset":259},505,1532,{"start":261,"end":262},{"line":121,"column":248,"offset":249},{"line":121,"column":258,"offset":259},{"type":26,"value":264,"position":265}," are data-only (",{"start":266,"end":267},{"line":121,"column":258,"offset":259},{"line":121,"column":268,"offset":269},521,1548,{"type":30,"tagName":44,"properties":271,"children":272,"position":280},{},[273],{"type":26,"value":274,"position":275},"none",{"start":276,"end":277},{"line":121,"column":268,"offset":269},{"line":121,"column":278,"offset":279},527,1554,{"start":281,"end":282},{"line":121,"column":268,"offset":269},{"line":121,"column":278,"offset":279},{"type":26,"value":284,"position":285},"), so the lower pane holds RSI alone and the meter reads ",{"start":286,"end":287},{"line":121,"column":278,"offset":279},{"line":121,"column":288,"offset":289},584,1611,{"type":30,"tagName":44,"properties":291,"children":292,"position":299},{},[293],{"type":26,"value":254,"position":294},{"start":295,"end":296},{"line":121,"column":288,"offset":289},{"line":121,"column":297,"offset":298},594,1621,{"start":300,"end":301},{"line":121,"column":288,"offset":289},{"line":121,"column":297,"offset":298},{"type":26,"value":303,"position":304}," without a second line being drawn. Three params (",{"start":305,"end":306},{"line":121,"column":297,"offset":298},{"line":121,"column":93,"offset":307},1671,{"type":30,"tagName":44,"properties":309,"children":310,"position":318},{},[311],{"type":26,"value":312,"position":313},"ema_len",{"start":314,"end":315},{"line":121,"column":93,"offset":307},{"line":121,"column":316,"offset":317},653,1680,{"start":319,"end":320},{"line":121,"column":93,"offset":307},{"line":121,"column":316,"offset":317},{"type":26,"value":322,"position":323},", ",{"start":324,"end":325},{"line":121,"column":316,"offset":317},{"line":121,"column":326,"offset":327},655,1682,{"type":30,"tagName":44,"properties":329,"children":330,"position":338},{},[331],{"type":26,"value":332,"position":333},"rsi_len",{"start":334,"end":335},{"line":121,"column":326,"offset":327},{"line":121,"column":336,"offset":337},664,1691,{"start":339,"end":340},{"line":121,"column":326,"offset":327},{"line":121,"column":336,"offset":337},{"type":26,"value":322,"position":342},{"start":343,"end":344},{"line":121,"column":336,"offset":337},{"line":121,"column":345,"offset":346},666,1693,{"type":30,"tagName":44,"properties":348,"children":349,"position":357},{},[350],{"type":26,"value":351,"position":352},"atr_len",{"start":353,"end":354},{"line":121,"column":345,"offset":346},{"line":121,"column":355,"offset":356},675,1702,{"start":358,"end":359},{"line":121,"column":345,"offset":346},{"line":121,"column":355,"offset":356},{"type":26,"value":361,"position":362},") size the recurrences in ",{"start":363,"end":364},{"line":121,"column":355,"offset":356},{"line":121,"column":365,"offset":366},701,1728,{"type":30,"tagName":44,"properties":368,"children":369,"position":377},{},[370],{"type":26,"value":371,"position":372},"init()",{"start":373,"end":374},{"line":121,"column":365,"offset":366},{"line":121,"column":375,"offset":376},709,1736,{"start":378,"end":379},{"line":121,"column":365,"offset":366},{"line":121,"column":375,"offset":376},{"type":26,"value":381,"position":382},", and the output names and the meter's label spell their defaults. This is also the ",{"start":383,"end":384},{"line":121,"column":375,"offset":376},{"line":121,"column":385,"offset":386},793,1820,{"type":30,"tagName":44,"properties":388,"children":389,"position":397},{},[390],{"type":26,"value":391,"position":392},"viewport-hud",{"start":393,"end":394},{"line":121,"column":385,"offset":386},{"line":121,"column":395,"offset":396},807,1834,{"start":398,"end":399},{"line":121,"column":385,"offset":386},{"line":121,"column":395,"offset":396},{"type":26,"value":401,"position":402}," template: ",{"start":403,"end":404},{"line":121,"column":395,"offset":396},{"line":121,"column":405,"offset":406},818,1845,{"type":30,"tagName":44,"properties":408,"children":409,"position":416},{},[410],{"type":26,"value":411,"position":412},"om wrun create",{"start":413,"end":414},{"line":121,"column":405,"offset":406},{"line":121,"column":102,"offset":415},1861,{"start":417,"end":418},{"line":121,"column":405,"offset":406},{"line":121,"column":102,"offset":415},{"type":26,"value":420,"position":421}," scaffolds it, and it compiles as written.",{"start":422,"end":423},{"line":121,"column":102,"offset":415},{"line":121,"column":424,"offset":425},876,1903,{"start":427,"end":428},{"line":121,"column":20,"offset":122},{"line":121,"column":424,"offset":425},{"type":26,"value":27},{"type":30,"tagName":431,"properties":432,"children":434,"position":445},"h2",{"id":433},"the-indicator",[435],{"type":26,"value":436,"position":437},"The Indicator",{"start":438,"end":442},{"line":439,"column":440,"offset":441},9,4,1908,{"line":439,"column":443,"offset":444},17,1921,{"start":446,"end":448},{"line":439,"column":20,"offset":447},1905,{"line":439,"column":443,"offset":444},{"type":26,"value":27},{"type":13,"children":451},[452],{"type":30,"tagName":453,"properties":454,"children":458,"data":-1},"pre",{"class":455,"style":456,"tabindex":457},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0",[459],{"type":30,"tagName":44,"properties":460,"children":461},{},[462,473,474,510,511,551,552,582,583,613,614,644,645,675,676,679,680,739,740,791,792,841,842,869,870,896,897,918,919,965,966,1010,1011,1037,1038,1063,1064,1100,1101,1173,1174,1232,1233,1322,1323,1326,1327,1335,1336,1344,1345,1363,1364,1485,1486,1570,1571,1613,1614,1765,1766,1819,1820,1837,1838,1846,1847,1935,1936,1944,1945,1948,1949,2023,2024,2092,2093,2186,2187,2238,2239,2283,2284,2392,2393,2546,2547,2550,2551,2590,2591,2665,2666,2818,2819,2826,2827,2864,2865,2941,2942,2969,2970,3010,3011,3042,3043,3165,3166,3253,3254,3344,3345,3392,3393,3464,3465,3472,3473,3481,3482,3490,3491,3499,3500,3532,3533,3588,3589,3616,3617,3720,3721,3900,3901,3968,3969,4024,4025,4161,4162,4237,4238,4350,4351,4437,4438,4547,4548,4555,4556,4568,4569,4576,4577,4585,4586,4618,4619,4728,4729],{"type":30,"tagName":463,"properties":464,"children":466},"span",{"class":465},"line",[467],{"type":30,"tagName":463,"properties":468,"children":470},{"style":469},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[471],{"type":26,"value":472},"// A regime HUD from indicator numbers: one anchored box and four left-aligned rows pinned to the pane's top-left corner, plus an RSI meter.",{"type":26,"value":27},{"type":30,"tagName":463,"properties":475,"children":476},{"class":465},[477,483,489,494,500,505],{"type":30,"tagName":463,"properties":478,"children":480},{"style":479},"--shiki-dark:#F97583;--shiki-light:#D73A49",[481],{"type":26,"value":482},"import",{"type":30,"tagName":463,"properties":484,"children":486},{"style":485},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[487],{"type":26,"value":488}," { draw, handles, input, line, lower, none, ohlcv, output, overlay, param, string } ",{"type":30,"tagName":463,"properties":490,"children":491},{"style":479},[492],{"type":26,"value":493},"from",{"type":30,"tagName":463,"properties":495,"children":497},{"style":496},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[498],{"type":26,"value":499}," \"./sdk/declare\"",{"type":30,"tagName":463,"properties":501,"children":502},{"style":485},[503],{"type":26,"value":504},"; ",{"type":30,"tagName":463,"properties":506,"children":507},{"style":469},[508],{"type":26,"value":509},"// the declaring words; draw declares the meter here",{"type":26,"value":27},{"type":30,"tagName":463,"properties":512,"children":513},{"class":465},[514,518,523,528,533,537,542,546],{"type":30,"tagName":463,"properties":515,"children":516},{"style":479},[517],{"type":26,"value":482},{"type":30,"tagName":463,"properties":519,"children":520},{"style":485},[521],{"type":26,"value":522}," { ALIGN_LEFT, bar, draw ",{"type":30,"tagName":463,"properties":524,"children":525},{"style":479},[526],{"type":26,"value":527},"as",{"type":30,"tagName":463,"properties":529,"children":530},{"style":485},[531],{"type":26,"value":532}," handle, LabelHandle, rgba } ",{"type":30,"tagName":463,"properties":534,"children":535},{"style":479},[536],{"type":26,"value":493},{"type":30,"tagName":463,"properties":538,"children":539},{"style":496},[540],{"type":26,"value":541}," \"./gen/draw\"",{"type":30,"tagName":463,"properties":543,"children":544},{"style":485},[545],{"type":26,"value":504},{"type":30,"tagName":463,"properties":547,"children":548},{"style":469},[549],{"type":26,"value":550},"// the handle constructors under another name, the align word, colours, the last-bar signal",{"type":26,"value":27},{"type":30,"tagName":463,"properties":553,"children":554},{"class":465},[555,559,564,568,573,577],{"type":30,"tagName":463,"properties":556,"children":557},{"style":479},[558],{"type":26,"value":482},{"type":30,"tagName":463,"properties":560,"children":561},{"style":485},[562],{"type":26,"value":563}," { in_close, in_high, in_low } ",{"type":30,"tagName":463,"properties":565,"children":566},{"style":479},[567],{"type":26,"value":493},{"type":30,"tagName":463,"properties":569,"children":570},{"style":496},[571],{"type":26,"value":572}," \"./gen/inputs\"",{"type":30,"tagName":463,"properties":574,"children":575},{"style":485},[576],{"type":26,"value":504},{"type":30,"tagName":463,"properties":578,"children":579},{"style":469},[580],{"type":26,"value":581},"// generated: an in_ reader for each input declared below",{"type":26,"value":27},{"type":30,"tagName":463,"properties":584,"children":585},{"class":465},[586,590,595,599,604,608],{"type":30,"tagName":463,"properties":587,"children":588},{"style":479},[589],{"type":26,"value":482},{"type":30,"tagName":463,"properties":591,"children":592},{"style":485},[593],{"type":26,"value":594}," { emitRow, out_atr_pct, out_ema50, out_rsi14, out_rsi_frac } ",{"type":30,"tagName":463,"properties":596,"children":597},{"style":479},[598],{"type":26,"value":493},{"type":30,"tagName":463,"properties":600,"children":601},{"style":496},[602],{"type":26,"value":603}," \"./gen/outputs\"",{"type":30,"tagName":463,"properties":605,"children":606},{"style":485},[607],{"type":26,"value":504},{"type":30,"tagName":463,"properties":609,"children":610},{"style":469},[611],{"type":26,"value":612},"// generated: an out_ writer per output, plus emitRow",{"type":26,"value":27},{"type":30,"tagName":463,"properties":615,"children":616},{"class":465},[617,621,626,630,635,639],{"type":30,"tagName":463,"properties":618,"children":619},{"style":479},[620],{"type":26,"value":482},{"type":30,"tagName":463,"properties":622,"children":623},{"style":485},[624],{"type":26,"value":625}," { p_atr_len, p_ema_len, p_rsi_len } ",{"type":30,"tagName":463,"properties":627,"children":628},{"style":479},[629],{"type":26,"value":493},{"type":30,"tagName":463,"properties":631,"children":632},{"style":496},[633],{"type":26,"value":634}," \"./gen/params\"",{"type":30,"tagName":463,"properties":636,"children":637},{"style":485},[638],{"type":26,"value":504},{"type":30,"tagName":463,"properties":640,"children":641},{"style":469},[642],{"type":26,"value":643},"// generated: a p_ reader for each param declared below",{"type":26,"value":27},{"type":30,"tagName":463,"properties":646,"children":647},{"class":465},[648,652,657,661,666,670],{"type":30,"tagName":463,"properties":649,"children":650},{"style":479},[651],{"type":26,"value":482},{"type":30,"tagName":463,"properties":653,"children":654},{"style":485},[655],{"type":26,"value":656}," { sb_clear, sb_f64, sb_int, sb_text, str_text_sb } ",{"type":30,"tagName":463,"properties":658,"children":659},{"style":479},[660],{"type":26,"value":493},{"type":30,"tagName":463,"properties":662,"children":663},{"style":496},[664],{"type":26,"value":665}," \"./gen/strings\"",{"type":30,"tagName":463,"properties":667,"children":668},{"style":485},[669],{"type":26,"value":504},{"type":30,"tagName":463,"properties":671,"children":672},{"style":469},[673],{"type":26,"value":674},"// the allocation-free line builder and the slot's sender",{"type":26,"value":27},{"type":30,"tagName":463,"properties":677,"children":678},{"class":465},[],{"type":26,"value":27},{"type":30,"tagName":463,"properties":681,"children":682},{"class":465},[683,689,694,699,703,709,714,719,724,729,734],{"type":30,"tagName":463,"properties":684,"children":686},{"style":685},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[687],{"type":26,"value":688},"param",{"type":30,"tagName":463,"properties":690,"children":691},{"style":485},[692],{"type":26,"value":693},"(",{"type":30,"tagName":463,"properties":695,"children":696},{"style":496},[697],{"type":26,"value":698},"\"ema_len\"",{"type":30,"tagName":463,"properties":700,"children":701},{"style":485},[702],{"type":26,"value":322},{"type":30,"tagName":463,"properties":704,"children":706},{"style":705},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[707],{"type":26,"value":708},"50",{"type":30,"tagName":463,"properties":710,"children":711},{"style":485},[712],{"type":26,"value":713},", { min: ",{"type":30,"tagName":463,"properties":715,"children":716},{"style":705},[717],{"type":26,"value":718},"2",{"type":30,"tagName":463,"properties":720,"children":721},{"style":485},[722],{"type":26,"value":723},", max: ",{"type":30,"tagName":463,"properties":725,"children":726},{"style":705},[727],{"type":26,"value":728},"400",{"type":30,"tagName":463,"properties":730,"children":731},{"style":485},[732],{"type":26,"value":733}," }); ",{"type":30,"tagName":463,"properties":735,"children":736},{"style":469},[737],{"type":26,"value":738},"// the EMA's length in bars; the largest of the three periods is how many bars the daemon reads for a metric or a watch",{"type":26,"value":27},{"type":30,"tagName":463,"properties":741,"children":742},{"class":465},[743,747,751,756,760,765,769,773,777,782,786],{"type":30,"tagName":463,"properties":744,"children":745},{"style":685},[746],{"type":26,"value":688},{"type":30,"tagName":463,"properties":748,"children":749},{"style":485},[750],{"type":26,"value":693},{"type":30,"tagName":463,"properties":752,"children":753},{"style":496},[754],{"type":26,"value":755},"\"rsi_len\"",{"type":30,"tagName":463,"properties":757,"children":758},{"style":485},[759],{"type":26,"value":322},{"type":30,"tagName":463,"properties":761,"children":762},{"style":705},[763],{"type":26,"value":764},"14",{"type":30,"tagName":463,"properties":766,"children":767},{"style":485},[768],{"type":26,"value":713},{"type":30,"tagName":463,"properties":770,"children":771},{"style":705},[772],{"type":26,"value":718},{"type":30,"tagName":463,"properties":774,"children":775},{"style":485},[776],{"type":26,"value":723},{"type":30,"tagName":463,"properties":778,"children":779},{"style":705},[780],{"type":26,"value":781},"200",{"type":30,"tagName":463,"properties":783,"children":784},{"style":485},[785],{"type":26,"value":733},{"type":30,"tagName":463,"properties":787,"children":788},{"style":469},[789],{"type":26,"value":790},"// the RSI's Wilder length in bars",{"type":26,"value":27},{"type":30,"tagName":463,"properties":793,"children":794},{"class":465},[795,799,803,808,812,816,820,824,828,832,836],{"type":30,"tagName":463,"properties":796,"children":797},{"style":685},[798],{"type":26,"value":688},{"type":30,"tagName":463,"properties":800,"children":801},{"style":485},[802],{"type":26,"value":693},{"type":30,"tagName":463,"properties":804,"children":805},{"style":496},[806],{"type":26,"value":807},"\"atr_len\"",{"type":30,"tagName":463,"properties":809,"children":810},{"style":485},[811],{"type":26,"value":322},{"type":30,"tagName":463,"properties":813,"children":814},{"style":705},[815],{"type":26,"value":764},{"type":30,"tagName":463,"properties":817,"children":818},{"style":485},[819],{"type":26,"value":713},{"type":30,"tagName":463,"properties":821,"children":822},{"style":705},[823],{"type":26,"value":718},{"type":30,"tagName":463,"properties":825,"children":826},{"style":485},[827],{"type":26,"value":723},{"type":30,"tagName":463,"properties":829,"children":830},{"style":705},[831],{"type":26,"value":781},{"type":30,"tagName":463,"properties":833,"children":834},{"style":485},[835],{"type":26,"value":733},{"type":30,"tagName":463,"properties":837,"children":838},{"style":469},[839],{"type":26,"value":840},"// the ATR's Wilder length in bars",{"type":26,"value":27},{"type":30,"tagName":463,"properties":843,"children":844},{"class":465},[845,850,854,859,864],{"type":30,"tagName":463,"properties":846,"children":847},{"style":685},[848],{"type":26,"value":849},"input",{"type":30,"tagName":463,"properties":851,"children":852},{"style":485},[853],{"type":26,"value":693},{"type":30,"tagName":463,"properties":855,"children":856},{"style":496},[857],{"type":26,"value":858},"\"close\"",{"type":30,"tagName":463,"properties":860,"children":861},{"style":485},[862],{"type":26,"value":863},", ohlcv.close); ",{"type":30,"tagName":463,"properties":865,"children":866},{"style":469},[867],{"type":26,"value":868},"// the primary input: the chart's own candles define the grid; unpinned, so it follows the symbol selector",{"type":26,"value":27},{"type":30,"tagName":463,"properties":871,"children":872},{"class":465},[873,877,881,886,891],{"type":30,"tagName":463,"properties":874,"children":875},{"style":685},[876],{"type":26,"value":849},{"type":30,"tagName":463,"properties":878,"children":879},{"style":485},[880],{"type":26,"value":693},{"type":30,"tagName":463,"properties":882,"children":883},{"style":496},[884],{"type":26,"value":885},"\"high\"",{"type":30,"tagName":463,"properties":887,"children":888},{"style":485},[889],{"type":26,"value":890},", ohlcv.high); ",{"type":30,"tagName":463,"properties":892,"children":893},{"style":469},[894],{"type":26,"value":895},"// the bar's high and low feed the true range",{"type":26,"value":27},{"type":30,"tagName":463,"properties":898,"children":899},{"class":465},[900,904,908,913],{"type":30,"tagName":463,"properties":901,"children":902},{"style":685},[903],{"type":26,"value":849},{"type":30,"tagName":463,"properties":905,"children":906},{"style":485},[907],{"type":26,"value":693},{"type":30,"tagName":463,"properties":909,"children":910},{"style":496},[911],{"type":26,"value":912},"\"low\"",{"type":30,"tagName":463,"properties":914,"children":915},{"style":485},[916],{"type":26,"value":917},", ohlcv.low);",{"type":26,"value":27},{"type":30,"tagName":463,"properties":920,"children":921},{"class":465},[922,927,931,936,941,946,951,956,960],{"type":30,"tagName":463,"properties":923,"children":924},{"style":685},[925],{"type":26,"value":926},"output",{"type":30,"tagName":463,"properties":928,"children":929},{"style":485},[930],{"type":26,"value":693},{"type":30,"tagName":463,"properties":932,"children":933},{"style":496},[934],{"type":26,"value":935},"\"ema50\"",{"type":30,"tagName":463,"properties":937,"children":938},{"style":485},[939],{"type":26,"value":940},", line, overlay, { color: ",{"type":30,"tagName":463,"properties":942,"children":943},{"style":496},[944],{"type":26,"value":945},"\"#38bdf8\"",{"type":30,"tagName":463,"properties":947,"children":948},{"style":485},[949],{"type":26,"value":950},", description: ",{"type":30,"tagName":463,"properties":952,"children":953},{"style":496},[954],{"type":26,"value":955},"\"EMA of the close over ema_len bars\"",{"type":30,"tagName":463,"properties":957,"children":958},{"style":485},[959],{"type":26,"value":733},{"type":30,"tagName":463,"properties":961,"children":962},{"style":469},[963],{"type":26,"value":964},"// a line on the price pane; the name spells the default period",{"type":26,"value":27},{"type":30,"tagName":463,"properties":967,"children":968},{"class":465},[969,973,977,982,987,992,996,1001,1005],{"type":30,"tagName":463,"properties":970,"children":971},{"style":685},[972],{"type":26,"value":926},{"type":30,"tagName":463,"properties":974,"children":975},{"style":485},[976],{"type":26,"value":693},{"type":30,"tagName":463,"properties":978,"children":979},{"style":496},[980],{"type":26,"value":981},"\"rsi14\"",{"type":30,"tagName":463,"properties":983,"children":984},{"style":485},[985],{"type":26,"value":986},", line, lower, { color: ",{"type":30,"tagName":463,"properties":988,"children":989},{"style":496},[990],{"type":26,"value":991},"\"#a78bfa\"",{"type":30,"tagName":463,"properties":993,"children":994},{"style":485},[995],{"type":26,"value":950},{"type":30,"tagName":463,"properties":997,"children":998},{"style":496},[999],{"type":26,"value":1000},"\"RSI over rsi_len bars with Wilder smoothing\"",{"type":30,"tagName":463,"properties":1002,"children":1003},{"style":485},[1004],{"type":26,"value":733},{"type":30,"tagName":463,"properties":1006,"children":1007},{"style":469},[1008],{"type":26,"value":1009},"// the only line in the lower pane",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1012,"children":1013},{"class":465},[1014,1018,1022,1027,1032],{"type":30,"tagName":463,"properties":1015,"children":1016},{"style":685},[1017],{"type":26,"value":926},{"type":30,"tagName":463,"properties":1019,"children":1020},{"style":485},[1021],{"type":26,"value":693},{"type":30,"tagName":463,"properties":1023,"children":1024},{"style":496},[1025],{"type":26,"value":1026},"\"atr_pct\"",{"type":30,"tagName":463,"properties":1028,"children":1029},{"style":485},[1030],{"type":26,"value":1031},", none); ",{"type":30,"tagName":463,"properties":1033,"children":1034},{"style":469},[1035],{"type":26,"value":1036},"// data-only: ATR over atr_len bars as a percent of the close, a row in the HUD and a metric on your machine",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1039,"children":1040},{"class":465},[1041,1045,1049,1054,1058],{"type":30,"tagName":463,"properties":1042,"children":1043},{"style":685},[1044],{"type":26,"value":926},{"type":30,"tagName":463,"properties":1046,"children":1047},{"style":485},[1048],{"type":26,"value":693},{"type":30,"tagName":463,"properties":1050,"children":1051},{"style":496},[1052],{"type":26,"value":1053},"\"rsi_frac\"",{"type":30,"tagName":463,"properties":1055,"children":1056},{"style":485},[1057],{"type":26,"value":1031},{"type":30,"tagName":463,"properties":1059,"children":1060},{"style":469},[1061],{"type":26,"value":1062},"// data-only: rsi14 / 100, the fraction the meter reads",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1065,"children":1066},{"class":465},[1067,1072,1076,1081,1086,1091,1095],{"type":30,"tagName":463,"properties":1068,"children":1069},{"style":685},[1070],{"type":26,"value":1071},"string",{"type":30,"tagName":463,"properties":1073,"children":1074},{"style":485},[1075],{"type":26,"value":693},{"type":30,"tagName":463,"properties":1077,"children":1078},{"style":496},[1079],{"type":26,"value":1080},"\"text\"",{"type":30,"tagName":463,"properties":1082,"children":1083},{"style":485},[1084],{"type":26,"value":1085},", { max_bytes: ",{"type":30,"tagName":463,"properties":1087,"children":1088},{"style":705},[1089],{"type":26,"value":1090},"32",{"type":30,"tagName":463,"properties":1092,"children":1093},{"style":485},[1094],{"type":26,"value":733},{"type":30,"tagName":463,"properties":1096,"children":1097},{"style":469},[1098],{"type":26,"value":1099},"// one bounded slot every row is written through, one row at a time",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1102,"children":1103},{"class":465},[1104,1109,1114,1119,1124,1129,1134,1139,1144,1149,1154,1159,1164,1168],{"type":30,"tagName":463,"properties":1105,"children":1106},{"style":485},[1107],{"type":26,"value":1108},"handles.",{"type":30,"tagName":463,"properties":1110,"children":1111},{"style":685},[1112],{"type":26,"value":1113},"box",{"type":30,"tagName":463,"properties":1115,"children":1116},{"style":485},[1117],{"type":26,"value":1118},"({ anchor: ",{"type":30,"tagName":463,"properties":1120,"children":1121},{"style":496},[1122],{"type":26,"value":1123},"\"top_left\"",{"type":30,"tagName":463,"properties":1125,"children":1126},{"style":485},[1127],{"type":26,"value":1128},", color: ",{"type":30,"tagName":463,"properties":1130,"children":1131},{"style":496},[1132],{"type":26,"value":1133},"\"#0f172a\"",{"type":30,"tagName":463,"properties":1135,"children":1136},{"style":485},[1137],{"type":26,"value":1138},", borderColor: ",{"type":30,"tagName":463,"properties":1140,"children":1141},{"style":496},[1142],{"type":26,"value":1143},"\"#334155\"",{"type":30,"tagName":463,"properties":1145,"children":1146},{"style":485},[1147],{"type":26,"value":1148},", opacity: ",{"type":30,"tagName":463,"properties":1150,"children":1151},{"style":705},[1152],{"type":26,"value":1153},"0.85",{"type":30,"tagName":463,"properties":1155,"children":1156},{"style":485},[1157],{"type":26,"value":1158},", borderWidth: ",{"type":30,"tagName":463,"properties":1160,"children":1161},{"style":705},[1162],{"type":26,"value":1163},"1",{"type":30,"tagName":463,"properties":1165,"children":1166},{"style":485},[1167],{"type":26,"value":733},{"type":30,"tagName":463,"properties":1169,"children":1170},{"style":469},[1171],{"type":26,"value":1172},"// the box behind the rows, in pane pixels",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1175,"children":1176},{"class":465},[1177,1181,1186,1190,1194,1199,1204,1208,1213,1218,1223,1227],{"type":30,"tagName":463,"properties":1178,"children":1179},{"style":485},[1180],{"type":26,"value":1108},{"type":30,"tagName":463,"properties":1182,"children":1183},{"style":685},[1184],{"type":26,"value":1185},"label",{"type":30,"tagName":463,"properties":1187,"children":1188},{"style":485},[1189],{"type":26,"value":1118},{"type":30,"tagName":463,"properties":1191,"children":1192},{"style":496},[1193],{"type":26,"value":1123},{"type":30,"tagName":463,"properties":1195,"children":1196},{"style":485},[1197],{"type":26,"value":1198},", align: ",{"type":30,"tagName":463,"properties":1200,"children":1201},{"style":496},[1202],{"type":26,"value":1203},"\"left\"",{"type":30,"tagName":463,"properties":1205,"children":1206},{"style":485},[1207],{"type":26,"value":1128},{"type":30,"tagName":463,"properties":1209,"children":1210},{"style":496},[1211],{"type":26,"value":1212},"\"#e2e8f0\"",{"type":30,"tagName":463,"properties":1214,"children":1215},{"style":485},[1216],{"type":26,"value":1217},", size: ",{"type":30,"tagName":463,"properties":1219,"children":1220},{"style":705},[1221],{"type":26,"value":1222},"12",{"type":30,"tagName":463,"properties":1224,"children":1225},{"style":485},[1226],{"type":26,"value":733},{"type":30,"tagName":463,"properties":1228,"children":1229},{"style":469},[1230],{"type":26,"value":1231},"// rows whose text starts at x, so the columns line up",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1234,"children":1235},{"class":465},[1236,1241,1246,1251,1256,1261,1266,1271,1275,1280,1285,1289,1294,1298,1303,1308,1313,1317],{"type":30,"tagName":463,"properties":1237,"children":1238},{"style":485},[1239],{"type":26,"value":1240},"draw.",{"type":30,"tagName":463,"properties":1242,"children":1243},{"style":685},[1244],{"type":26,"value":1245},"meter",{"type":30,"tagName":463,"properties":1247,"children":1248},{"style":485},[1249],{"type":26,"value":1250},"({ name: ",{"type":30,"tagName":463,"properties":1252,"children":1253},{"style":496},[1254],{"type":26,"value":1255},"\"rsi\"",{"type":30,"tagName":463,"properties":1257,"children":1258},{"style":485},[1259],{"type":26,"value":1260},", label: ",{"type":30,"tagName":463,"properties":1262,"children":1263},{"style":496},[1264],{"type":26,"value":1265},"\"RSI 14\"",{"type":30,"tagName":463,"properties":1267,"children":1268},{"style":485},[1269],{"type":26,"value":1270},", fraction: { output: ",{"type":30,"tagName":463,"properties":1272,"children":1273},{"style":496},[1274],{"type":26,"value":1053},{"type":30,"tagName":463,"properties":1276,"children":1277},{"style":485},[1278],{"type":26,"value":1279}," }, ramp: [",{"type":30,"tagName":463,"properties":1281,"children":1282},{"style":496},[1283],{"type":26,"value":1284},"\"#e5484d\"",{"type":30,"tagName":463,"properties":1286,"children":1287},{"style":485},[1288],{"type":26,"value":322},{"type":30,"tagName":463,"properties":1290,"children":1291},{"style":496},[1292],{"type":26,"value":1293},"\"#8b8f98\"",{"type":30,"tagName":463,"properties":1295,"children":1296},{"style":485},[1297],{"type":26,"value":322},{"type":30,"tagName":463,"properties":1299,"children":1300},{"style":496},[1301],{"type":26,"value":1302},"\"#30a46c\"",{"type":30,"tagName":463,"properties":1304,"children":1305},{"style":485},[1306],{"type":26,"value":1307},"], anchor: ",{"type":30,"tagName":463,"properties":1309,"children":1310},{"style":496},[1311],{"type":26,"value":1312},"\"top_right\"",{"type":30,"tagName":463,"properties":1314,"children":1315},{"style":485},[1316],{"type":26,"value":733},{"type":30,"tagName":463,"properties":1318,"children":1319},{"style":469},[1320],{"type":26,"value":1321},"// the meter widget; its label spells the default too",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1324,"children":1325},{"class":465},[],{"type":26,"value":27},{"type":30,"tagName":463,"properties":1328,"children":1329},{"class":465},[1330],{"type":30,"tagName":463,"properties":1331,"children":1332},{"style":469},[1333],{"type":26,"value":1334},"// One recurrence serves all three numbers: a plain average over the first n values seeds it, then value += (x - value) * alpha.",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1337,"children":1338},{"class":465},[1339],{"type":30,"tagName":463,"properties":1340,"children":1341},{"style":469},[1342],{"type":26,"value":1343},"// alpha = 1 / n is Wilder smoothing (what the Rma helper does); alpha = 2 / (n + 1) is the EMA. The value stays NaN until seeded.",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1346,"children":1347},{"class":465},[1348,1353,1358],{"type":30,"tagName":463,"properties":1349,"children":1350},{"style":479},[1351],{"type":26,"value":1352},"class",{"type":30,"tagName":463,"properties":1354,"children":1355},{"style":685},[1356],{"type":26,"value":1357}," Smoother",{"type":30,"tagName":463,"properties":1359,"children":1360},{"style":485},[1361],{"type":26,"value":1362}," {",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1365,"children":1366},{"class":465},[1367,1373,1378,1383,1387,1392,1396,1401,1405,1410,1414,1418,1423,1428,1432,1437,1441,1445,1449,1454,1458,1463,1467,1471,1475,1480],{"type":30,"tagName":463,"properties":1368,"children":1370},{"style":1369},"--shiki-dark:#FFAB70;--shiki-light:#E36209",[1371],{"type":26,"value":1372},"  n",{"type":30,"tagName":463,"properties":1374,"children":1375},{"style":479},[1376],{"type":26,"value":1377},":",{"type":30,"tagName":463,"properties":1379,"children":1380},{"style":685},[1381],{"type":26,"value":1382}," i32",{"type":30,"tagName":463,"properties":1384,"children":1385},{"style":485},[1386],{"type":26,"value":504},{"type":30,"tagName":463,"properties":1388,"children":1389},{"style":1369},[1390],{"type":26,"value":1391},"alpha",{"type":30,"tagName":463,"properties":1393,"children":1394},{"style":479},[1395],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":1397,"children":1398},{"style":685},[1399],{"type":26,"value":1400}," f64",{"type":30,"tagName":463,"properties":1402,"children":1403},{"style":485},[1404],{"type":26,"value":504},{"type":30,"tagName":463,"properties":1406,"children":1407},{"style":1369},[1408],{"type":26,"value":1409},"sum",{"type":30,"tagName":463,"properties":1411,"children":1412},{"style":479},[1413],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":1415,"children":1416},{"style":685},[1417],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":1419,"children":1420},{"style":479},[1421],{"type":26,"value":1422}," =",{"type":30,"tagName":463,"properties":1424,"children":1425},{"style":705},[1426],{"type":26,"value":1427}," 0.0",{"type":30,"tagName":463,"properties":1429,"children":1430},{"style":485},[1431],{"type":26,"value":504},{"type":30,"tagName":463,"properties":1433,"children":1434},{"style":1369},[1435],{"type":26,"value":1436},"count",{"type":30,"tagName":463,"properties":1438,"children":1439},{"style":479},[1440],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":1442,"children":1443},{"style":685},[1444],{"type":26,"value":1382},{"type":30,"tagName":463,"properties":1446,"children":1447},{"style":479},[1448],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":1450,"children":1451},{"style":705},[1452],{"type":26,"value":1453}," 0",{"type":30,"tagName":463,"properties":1455,"children":1456},{"style":485},[1457],{"type":26,"value":504},{"type":30,"tagName":463,"properties":1459,"children":1460},{"style":1369},[1461],{"type":26,"value":1462},"value",{"type":30,"tagName":463,"properties":1464,"children":1465},{"style":479},[1466],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":1468,"children":1469},{"style":685},[1470],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":1472,"children":1473},{"style":479},[1474],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":1476,"children":1477},{"style":705},[1478],{"type":26,"value":1479}," NaN",{"type":30,"tagName":463,"properties":1481,"children":1482},{"style":485},[1483],{"type":26,"value":1484},";",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1487,"children":1488},{"class":465},[1489,1494,1498,1503,1507,1511,1515,1519,1523,1527,1532,1537,1542,1547,1552,1556,1561,1565],{"type":30,"tagName":463,"properties":1490,"children":1491},{"style":479},[1492],{"type":26,"value":1493},"  constructor",{"type":30,"tagName":463,"properties":1495,"children":1496},{"style":485},[1497],{"type":26,"value":693},{"type":30,"tagName":463,"properties":1499,"children":1500},{"style":1369},[1501],{"type":26,"value":1502},"n",{"type":30,"tagName":463,"properties":1504,"children":1505},{"style":479},[1506],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":1508,"children":1509},{"style":685},[1510],{"type":26,"value":1382},{"type":30,"tagName":463,"properties":1512,"children":1513},{"style":485},[1514],{"type":26,"value":322},{"type":30,"tagName":463,"properties":1516,"children":1517},{"style":1369},[1518],{"type":26,"value":1391},{"type":30,"tagName":463,"properties":1520,"children":1521},{"style":479},[1522],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":1524,"children":1525},{"style":685},[1526],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":1528,"children":1529},{"style":485},[1530],{"type":26,"value":1531},") { ",{"type":30,"tagName":463,"properties":1533,"children":1534},{"style":705},[1535],{"type":26,"value":1536},"this",{"type":30,"tagName":463,"properties":1538,"children":1539},{"style":485},[1540],{"type":26,"value":1541},".n ",{"type":30,"tagName":463,"properties":1543,"children":1544},{"style":479},[1545],{"type":26,"value":1546},"=",{"type":30,"tagName":463,"properties":1548,"children":1549},{"style":485},[1550],{"type":26,"value":1551}," n; ",{"type":30,"tagName":463,"properties":1553,"children":1554},{"style":705},[1555],{"type":26,"value":1536},{"type":30,"tagName":463,"properties":1557,"children":1558},{"style":485},[1559],{"type":26,"value":1560},".alpha ",{"type":30,"tagName":463,"properties":1562,"children":1563},{"style":479},[1564],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":1566,"children":1567},{"style":485},[1568],{"type":26,"value":1569}," alpha; }",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1572,"children":1573},{"class":465},[1574,1579,1583,1588,1592,1596,1601,1605,1609],{"type":30,"tagName":463,"properties":1575,"children":1576},{"style":685},[1577],{"type":26,"value":1578},"  update",{"type":30,"tagName":463,"properties":1580,"children":1581},{"style":485},[1582],{"type":26,"value":693},{"type":30,"tagName":463,"properties":1584,"children":1585},{"style":1369},[1586],{"type":26,"value":1587},"x",{"type":30,"tagName":463,"properties":1589,"children":1590},{"style":479},[1591],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":1593,"children":1594},{"style":685},[1595],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":1597,"children":1598},{"style":485},[1599],{"type":26,"value":1600},")",{"type":30,"tagName":463,"properties":1602,"children":1603},{"style":479},[1604],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":1606,"children":1607},{"style":685},[1608],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":1610,"children":1611},{"style":485},[1612],{"type":26,"value":1362},{"type":26,"value":27},{"type":30,"tagName":463,"properties":1615,"children":1616},{"class":465},[1617,1622,1627,1631,1636,1641,1646,1651,1655,1660,1665,1670,1674,1678,1682,1687,1691,1696,1700,1704,1708,1713,1717,1722,1726,1731,1735,1739,1743,1748,1752,1756,1760],{"type":30,"tagName":463,"properties":1618,"children":1619},{"style":479},[1620],{"type":26,"value":1621},"    if",{"type":30,"tagName":463,"properties":1623,"children":1624},{"style":485},[1625],{"type":26,"value":1626}," (",{"type":30,"tagName":463,"properties":1628,"children":1629},{"style":705},[1630],{"type":26,"value":1536},{"type":30,"tagName":463,"properties":1632,"children":1633},{"style":485},[1634],{"type":26,"value":1635},".count ",{"type":30,"tagName":463,"properties":1637,"children":1638},{"style":479},[1639],{"type":26,"value":1640},"\u003C",{"type":30,"tagName":463,"properties":1642,"children":1643},{"style":705},[1644],{"type":26,"value":1645}," this",{"type":30,"tagName":463,"properties":1647,"children":1648},{"style":485},[1649],{"type":26,"value":1650},".n) { ",{"type":30,"tagName":463,"properties":1652,"children":1653},{"style":705},[1654],{"type":26,"value":1536},{"type":30,"tagName":463,"properties":1656,"children":1657},{"style":485},[1658],{"type":26,"value":1659},".sum ",{"type":30,"tagName":463,"properties":1661,"children":1662},{"style":479},[1663],{"type":26,"value":1664},"+=",{"type":30,"tagName":463,"properties":1666,"children":1667},{"style":485},[1668],{"type":26,"value":1669}," x; ",{"type":30,"tagName":463,"properties":1671,"children":1672},{"style":705},[1673],{"type":26,"value":1536},{"type":30,"tagName":463,"properties":1675,"children":1676},{"style":485},[1677],{"type":26,"value":1635},{"type":30,"tagName":463,"properties":1679,"children":1680},{"style":479},[1681],{"type":26,"value":1664},{"type":30,"tagName":463,"properties":1683,"children":1684},{"style":705},[1685],{"type":26,"value":1686}," 1",{"type":30,"tagName":463,"properties":1688,"children":1689},{"style":485},[1690],{"type":26,"value":504},{"type":30,"tagName":463,"properties":1692,"children":1693},{"style":479},[1694],{"type":26,"value":1695},"if",{"type":30,"tagName":463,"properties":1697,"children":1698},{"style":485},[1699],{"type":26,"value":1626},{"type":30,"tagName":463,"properties":1701,"children":1702},{"style":705},[1703],{"type":26,"value":1536},{"type":30,"tagName":463,"properties":1705,"children":1706},{"style":485},[1707],{"type":26,"value":1635},{"type":30,"tagName":463,"properties":1709,"children":1710},{"style":479},[1711],{"type":26,"value":1712},"==",{"type":30,"tagName":463,"properties":1714,"children":1715},{"style":705},[1716],{"type":26,"value":1645},{"type":30,"tagName":463,"properties":1718,"children":1719},{"style":485},[1720],{"type":26,"value":1721},".n) ",{"type":30,"tagName":463,"properties":1723,"children":1724},{"style":705},[1725],{"type":26,"value":1536},{"type":30,"tagName":463,"properties":1727,"children":1728},{"style":485},[1729],{"type":26,"value":1730},".value ",{"type":30,"tagName":463,"properties":1732,"children":1733},{"style":479},[1734],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":1736,"children":1737},{"style":705},[1738],{"type":26,"value":1645},{"type":30,"tagName":463,"properties":1740,"children":1741},{"style":485},[1742],{"type":26,"value":1659},{"type":30,"tagName":463,"properties":1744,"children":1745},{"style":479},[1746],{"type":26,"value":1747},"/",{"type":30,"tagName":463,"properties":1749,"children":1750},{"style":685},[1751],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":1753,"children":1754},{"style":485},[1755],{"type":26,"value":693},{"type":30,"tagName":463,"properties":1757,"children":1758},{"style":705},[1759],{"type":26,"value":1536},{"type":30,"tagName":463,"properties":1761,"children":1762},{"style":485},[1763],{"type":26,"value":1764},".n); }",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1767,"children":1768},{"class":465},[1769,1774,1778,1782,1786,1791,1796,1800,1805,1810,1814],{"type":30,"tagName":463,"properties":1770,"children":1771},{"style":479},[1772],{"type":26,"value":1773},"    else",{"type":30,"tagName":463,"properties":1775,"children":1776},{"style":705},[1777],{"type":26,"value":1645},{"type":30,"tagName":463,"properties":1779,"children":1780},{"style":485},[1781],{"type":26,"value":1730},{"type":30,"tagName":463,"properties":1783,"children":1784},{"style":479},[1785],{"type":26,"value":1664},{"type":30,"tagName":463,"properties":1787,"children":1788},{"style":485},[1789],{"type":26,"value":1790}," (x ",{"type":30,"tagName":463,"properties":1792,"children":1793},{"style":479},[1794],{"type":26,"value":1795},"-",{"type":30,"tagName":463,"properties":1797,"children":1798},{"style":705},[1799],{"type":26,"value":1645},{"type":30,"tagName":463,"properties":1801,"children":1802},{"style":485},[1803],{"type":26,"value":1804},".value) ",{"type":30,"tagName":463,"properties":1806,"children":1807},{"style":479},[1808],{"type":26,"value":1809},"*",{"type":30,"tagName":463,"properties":1811,"children":1812},{"style":705},[1813],{"type":26,"value":1645},{"type":30,"tagName":463,"properties":1815,"children":1816},{"style":485},[1817],{"type":26,"value":1818},".alpha;",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1821,"children":1822},{"class":465},[1823,1828,1832],{"type":30,"tagName":463,"properties":1824,"children":1825},{"style":479},[1826],{"type":26,"value":1827},"    return",{"type":30,"tagName":463,"properties":1829,"children":1830},{"style":705},[1831],{"type":26,"value":1645},{"type":30,"tagName":463,"properties":1833,"children":1834},{"style":485},[1835],{"type":26,"value":1836},".value;",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1839,"children":1840},{"class":465},[1841],{"type":30,"tagName":463,"properties":1842,"children":1843},{"style":485},[1844],{"type":26,"value":1845},"  }",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1848,"children":1849},{"class":465},[1850,1855,1860,1864,1869,1874,1878,1882,1886,1890,1894,1898,1902,1906,1910,1914,1918,1922,1926,1930],{"type":30,"tagName":463,"properties":1851,"children":1852},{"style":685},[1853],{"type":26,"value":1854},"  reset",{"type":30,"tagName":463,"properties":1856,"children":1857},{"style":485},[1858],{"type":26,"value":1859},"()",{"type":30,"tagName":463,"properties":1861,"children":1862},{"style":479},[1863],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":1865,"children":1866},{"style":705},[1867],{"type":26,"value":1868}," void",{"type":30,"tagName":463,"properties":1870,"children":1871},{"style":485},[1872],{"type":26,"value":1873}," { ",{"type":30,"tagName":463,"properties":1875,"children":1876},{"style":705},[1877],{"type":26,"value":1536},{"type":30,"tagName":463,"properties":1879,"children":1880},{"style":485},[1881],{"type":26,"value":1659},{"type":30,"tagName":463,"properties":1883,"children":1884},{"style":479},[1885],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":1887,"children":1888},{"style":705},[1889],{"type":26,"value":1427},{"type":30,"tagName":463,"properties":1891,"children":1892},{"style":485},[1893],{"type":26,"value":504},{"type":30,"tagName":463,"properties":1895,"children":1896},{"style":705},[1897],{"type":26,"value":1536},{"type":30,"tagName":463,"properties":1899,"children":1900},{"style":485},[1901],{"type":26,"value":1635},{"type":30,"tagName":463,"properties":1903,"children":1904},{"style":479},[1905],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":1907,"children":1908},{"style":705},[1909],{"type":26,"value":1453},{"type":30,"tagName":463,"properties":1911,"children":1912},{"style":485},[1913],{"type":26,"value":504},{"type":30,"tagName":463,"properties":1915,"children":1916},{"style":705},[1917],{"type":26,"value":1536},{"type":30,"tagName":463,"properties":1919,"children":1920},{"style":485},[1921],{"type":26,"value":1730},{"type":30,"tagName":463,"properties":1923,"children":1924},{"style":479},[1925],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":1927,"children":1928},{"style":705},[1929],{"type":26,"value":1479},{"type":30,"tagName":463,"properties":1931,"children":1932},{"style":485},[1933],{"type":26,"value":1934},"; }",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1937,"children":1938},{"class":465},[1939],{"type":30,"tagName":463,"properties":1940,"children":1941},{"style":485},[1942],{"type":26,"value":1943},"}",{"type":26,"value":27},{"type":30,"tagName":463,"properties":1946,"children":1947},{"class":465},[],{"type":26,"value":27},{"type":30,"tagName":463,"properties":1950,"children":1951},{"class":465},[1952,1957,1962,1966,1971,1975,1979,1984,1988,1993,1997,2001,2006,2010,2014,2018],{"type":30,"tagName":463,"properties":1953,"children":1954},{"style":479},[1955],{"type":26,"value":1956},"let",{"type":30,"tagName":463,"properties":1958,"children":1959},{"style":485},[1960],{"type":26,"value":1961}," emaLen ",{"type":30,"tagName":463,"properties":1963,"children":1964},{"style":479},[1965],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":1967,"children":1968},{"style":705},[1969],{"type":26,"value":1970}," 50",{"type":30,"tagName":463,"properties":1972,"children":1973},{"style":485},[1974],{"type":26,"value":504},{"type":30,"tagName":463,"properties":1976,"children":1977},{"style":479},[1978],{"type":26,"value":1956},{"type":30,"tagName":463,"properties":1980,"children":1981},{"style":485},[1982],{"type":26,"value":1983}," rsiLen ",{"type":30,"tagName":463,"properties":1985,"children":1986},{"style":479},[1987],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":1989,"children":1990},{"style":705},[1991],{"type":26,"value":1992}," 14",{"type":30,"tagName":463,"properties":1994,"children":1995},{"style":485},[1996],{"type":26,"value":504},{"type":30,"tagName":463,"properties":1998,"children":1999},{"style":479},[2000],{"type":26,"value":1956},{"type":30,"tagName":463,"properties":2002,"children":2003},{"style":485},[2004],{"type":26,"value":2005}," atrLen ",{"type":30,"tagName":463,"properties":2007,"children":2008},{"style":479},[2009],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":2011,"children":2012},{"style":705},[2013],{"type":26,"value":1992},{"type":30,"tagName":463,"properties":2015,"children":2016},{"style":485},[2017],{"type":26,"value":504},{"type":30,"tagName":463,"properties":2019,"children":2020},{"style":469},[2021],{"type":26,"value":2022},"// the periods, read from the params in init(); the row labels are built from them, so they never lie",{"type":26,"value":27},{"type":30,"tagName":463,"properties":2025,"children":2026},{"class":465},[2027,2031,2036,2040,2045,2049,2054,2059,2064,2068,2073,2078,2082,2087],{"type":30,"tagName":463,"properties":2028,"children":2029},{"style":479},[2030],{"type":26,"value":1956},{"type":30,"tagName":463,"properties":2032,"children":2033},{"style":485},[2034],{"type":26,"value":2035}," emaOfClose ",{"type":30,"tagName":463,"properties":2037,"children":2038},{"style":479},[2039],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":2041,"children":2042},{"style":479},[2043],{"type":26,"value":2044}," new",{"type":30,"tagName":463,"properties":2046,"children":2047},{"style":685},[2048],{"type":26,"value":1357},{"type":30,"tagName":463,"properties":2050,"children":2051},{"style":485},[2052],{"type":26,"value":2053},"(emaLen, ",{"type":30,"tagName":463,"properties":2055,"children":2056},{"style":705},[2057],{"type":26,"value":2058},"2.0",{"type":30,"tagName":463,"properties":2060,"children":2061},{"style":479},[2062],{"type":26,"value":2063}," /",{"type":30,"tagName":463,"properties":2065,"children":2066},{"style":685},[2067],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":2069,"children":2070},{"style":485},[2071],{"type":26,"value":2072},"(emaLen ",{"type":30,"tagName":463,"properties":2074,"children":2075},{"style":479},[2076],{"type":26,"value":2077},"+",{"type":30,"tagName":463,"properties":2079,"children":2080},{"style":705},[2081],{"type":26,"value":1686},{"type":30,"tagName":463,"properties":2083,"children":2084},{"style":485},[2085],{"type":26,"value":2086},")); ",{"type":30,"tagName":463,"properties":2088,"children":2089},{"style":469},[2090],{"type":26,"value":2091},"// EMA of the close; init() rebuilds it from the param",{"type":26,"value":27},{"type":30,"tagName":463,"properties":2094,"children":2095},{"class":465},[2096,2100,2105,2109,2113,2117,2122,2127,2131,2135,2140,2144,2149,2153,2157,2161,2165,2169,2173,2177,2181],{"type":30,"tagName":463,"properties":2097,"children":2098},{"style":479},[2099],{"type":26,"value":1956},{"type":30,"tagName":463,"properties":2101,"children":2102},{"style":485},[2103],{"type":26,"value":2104}," gains ",{"type":30,"tagName":463,"properties":2106,"children":2107},{"style":479},[2108],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":2110,"children":2111},{"style":479},[2112],{"type":26,"value":2044},{"type":30,"tagName":463,"properties":2114,"children":2115},{"style":685},[2116],{"type":26,"value":1357},{"type":30,"tagName":463,"properties":2118,"children":2119},{"style":485},[2120],{"type":26,"value":2121},"(rsiLen, ",{"type":30,"tagName":463,"properties":2123,"children":2124},{"style":705},[2125],{"type":26,"value":2126},"1.0",{"type":30,"tagName":463,"properties":2128,"children":2129},{"style":479},[2130],{"type":26,"value":2063},{"type":30,"tagName":463,"properties":2132,"children":2133},{"style":685},[2134],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":2136,"children":2137},{"style":485},[2138],{"type":26,"value":2139},"(rsiLen)); ",{"type":30,"tagName":463,"properties":2141,"children":2142},{"style":479},[2143],{"type":26,"value":1956},{"type":30,"tagName":463,"properties":2145,"children":2146},{"style":485},[2147],{"type":26,"value":2148}," losses ",{"type":30,"tagName":463,"properties":2150,"children":2151},{"style":479},[2152],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":2154,"children":2155},{"style":479},[2156],{"type":26,"value":2044},{"type":30,"tagName":463,"properties":2158,"children":2159},{"style":685},[2160],{"type":26,"value":1357},{"type":30,"tagName":463,"properties":2162,"children":2163},{"style":485},[2164],{"type":26,"value":2121},{"type":30,"tagName":463,"properties":2166,"children":2167},{"style":705},[2168],{"type":26,"value":2126},{"type":30,"tagName":463,"properties":2170,"children":2171},{"style":479},[2172],{"type":26,"value":2063},{"type":30,"tagName":463,"properties":2174,"children":2175},{"style":685},[2176],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":2178,"children":2179},{"style":485},[2180],{"type":26,"value":2139},{"type":30,"tagName":463,"properties":2182,"children":2183},{"style":469},[2184],{"type":26,"value":2185},"// RSI's two Wilder averages",{"type":26,"value":27},{"type":30,"tagName":463,"properties":2188,"children":2189},{"class":465},[2190,2194,2199,2203,2207,2211,2216,2220,2224,2228,2233],{"type":30,"tagName":463,"properties":2191,"children":2192},{"style":479},[2193],{"type":26,"value":1956},{"type":30,"tagName":463,"properties":2195,"children":2196},{"style":485},[2197],{"type":26,"value":2198}," ranges ",{"type":30,"tagName":463,"properties":2200,"children":2201},{"style":479},[2202],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":2204,"children":2205},{"style":479},[2206],{"type":26,"value":2044},{"type":30,"tagName":463,"properties":2208,"children":2209},{"style":685},[2210],{"type":26,"value":1357},{"type":30,"tagName":463,"properties":2212,"children":2213},{"style":485},[2214],{"type":26,"value":2215},"(atrLen, ",{"type":30,"tagName":463,"properties":2217,"children":2218},{"style":705},[2219],{"type":26,"value":2126},{"type":30,"tagName":463,"properties":2221,"children":2222},{"style":479},[2223],{"type":26,"value":2063},{"type":30,"tagName":463,"properties":2225,"children":2226},{"style":685},[2227],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":2229,"children":2230},{"style":485},[2231],{"type":26,"value":2232},"(atrLen)); ",{"type":30,"tagName":463,"properties":2234,"children":2235},{"style":469},[2236],{"type":26,"value":2237},"// ATR: Wilder smoothing of the true range",{"type":26,"value":27},{"type":30,"tagName":463,"properties":2240,"children":2241},{"class":465},[2242,2247,2252,2256,2261,2265,2269,2273,2278],{"type":30,"tagName":463,"properties":2243,"children":2244},{"style":479},[2245],{"type":26,"value":2246},"const",{"type":30,"tagName":463,"properties":2248,"children":2249},{"style":705},[2250],{"type":26,"value":2251}," backdrop",{"type":30,"tagName":463,"properties":2253,"children":2254},{"style":479},[2255],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":2257,"children":2258},{"style":485},[2259],{"type":26,"value":2260}," handle.",{"type":30,"tagName":463,"properties":2262,"children":2263},{"style":685},[2264],{"type":26,"value":1113},{"type":30,"tagName":463,"properties":2266,"children":2267},{"style":485},[2268],{"type":26,"value":693},{"type":30,"tagName":463,"properties":2270,"children":2271},{"style":705},[2272],{"type":26,"value":457},{"type":30,"tagName":463,"properties":2274,"children":2275},{"style":485},[2276],{"type":26,"value":2277},"); ",{"type":30,"tagName":463,"properties":2279,"children":2280},{"style":469},[2281],{"type":26,"value":2282},"// handle objects allocate once; ids are one space across boxes, labels, lines and polylines",{"type":26,"value":27},{"type":30,"tagName":463,"properties":2285,"children":2286},{"class":465},[2287,2291,2296,2300,2305,2310,2314,2319,2323,2327,2331,2336,2340,2344,2348,2352,2356,2360,2365,2369,2373,2377,2382,2387],{"type":30,"tagName":463,"properties":2288,"children":2289},{"style":479},[2290],{"type":26,"value":2246},{"type":30,"tagName":463,"properties":2292,"children":2293},{"style":705},[2294],{"type":26,"value":2295}," rows",{"type":30,"tagName":463,"properties":2297,"children":2298},{"style":479},[2299],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":2301,"children":2302},{"style":685},[2303],{"type":26,"value":2304}," LabelHandle",{"type":30,"tagName":463,"properties":2306,"children":2307},{"style":485},[2308],{"type":26,"value":2309},"[] ",{"type":30,"tagName":463,"properties":2311,"children":2312},{"style":479},[2313],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":2315,"children":2316},{"style":485},[2317],{"type":26,"value":2318}," [handle.",{"type":30,"tagName":463,"properties":2320,"children":2321},{"style":685},[2322],{"type":26,"value":1185},{"type":30,"tagName":463,"properties":2324,"children":2325},{"style":485},[2326],{"type":26,"value":693},{"type":30,"tagName":463,"properties":2328,"children":2329},{"style":705},[2330],{"type":26,"value":1163},{"type":30,"tagName":463,"properties":2332,"children":2333},{"style":485},[2334],{"type":26,"value":2335},"), handle.",{"type":30,"tagName":463,"properties":2337,"children":2338},{"style":685},[2339],{"type":26,"value":1185},{"type":30,"tagName":463,"properties":2341,"children":2342},{"style":485},[2343],{"type":26,"value":693},{"type":30,"tagName":463,"properties":2345,"children":2346},{"style":705},[2347],{"type":26,"value":718},{"type":30,"tagName":463,"properties":2349,"children":2350},{"style":485},[2351],{"type":26,"value":2335},{"type":30,"tagName":463,"properties":2353,"children":2354},{"style":685},[2355],{"type":26,"value":1185},{"type":30,"tagName":463,"properties":2357,"children":2358},{"style":485},[2359],{"type":26,"value":693},{"type":30,"tagName":463,"properties":2361,"children":2362},{"style":705},[2363],{"type":26,"value":2364},"3",{"type":30,"tagName":463,"properties":2366,"children":2367},{"style":485},[2368],{"type":26,"value":2335},{"type":30,"tagName":463,"properties":2370,"children":2371},{"style":685},[2372],{"type":26,"value":1185},{"type":30,"tagName":463,"properties":2374,"children":2375},{"style":485},[2376],{"type":26,"value":693},{"type":30,"tagName":463,"properties":2378,"children":2379},{"style":705},[2380],{"type":26,"value":2381},"4",{"type":30,"tagName":463,"properties":2383,"children":2384},{"style":485},[2385],{"type":26,"value":2386},")]; ",{"type":30,"tagName":463,"properties":2388,"children":2389},{"style":469},[2390],{"type":26,"value":2391},"// EMA, RSI, ATR%, the state row",{"type":26,"value":27},{"type":30,"tagName":463,"properties":2394,"children":2395},{"class":465},[2396,2400,2405,2409,2413,2417,2421,2425,2429,2434,2438,2442,2446,2450,2454,2458,2463,2467,2471,2475,2479,2483,2487,2492,2496,2500,2504,2508,2512,2516,2521,2525,2529,2533,2537,2541],{"type":30,"tagName":463,"properties":2397,"children":2398},{"style":479},[2399],{"type":26,"value":1956},{"type":30,"tagName":463,"properties":2401,"children":2402},{"style":485},[2403],{"type":26,"value":2404}," close",{"type":30,"tagName":463,"properties":2406,"children":2407},{"style":479},[2408],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":2410,"children":2411},{"style":685},[2412],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":2414,"children":2415},{"style":479},[2416],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":2418,"children":2419},{"style":705},[2420],{"type":26,"value":1479},{"type":30,"tagName":463,"properties":2422,"children":2423},{"style":485},[2424],{"type":26,"value":504},{"type":30,"tagName":463,"properties":2426,"children":2427},{"style":479},[2428],{"type":26,"value":1956},{"type":30,"tagName":463,"properties":2430,"children":2431},{"style":485},[2432],{"type":26,"value":2433}," prev",{"type":30,"tagName":463,"properties":2435,"children":2436},{"style":479},[2437],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":2439,"children":2440},{"style":685},[2441],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":2443,"children":2444},{"style":479},[2445],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":2447,"children":2448},{"style":705},[2449],{"type":26,"value":1479},{"type":30,"tagName":463,"properties":2451,"children":2452},{"style":485},[2453],{"type":26,"value":504},{"type":30,"tagName":463,"properties":2455,"children":2456},{"style":479},[2457],{"type":26,"value":1956},{"type":30,"tagName":463,"properties":2459,"children":2460},{"style":485},[2461],{"type":26,"value":2462}," ema50",{"type":30,"tagName":463,"properties":2464,"children":2465},{"style":479},[2466],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":2468,"children":2469},{"style":685},[2470],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":2472,"children":2473},{"style":479},[2474],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":2476,"children":2477},{"style":705},[2478],{"type":26,"value":1479},{"type":30,"tagName":463,"properties":2480,"children":2481},{"style":485},[2482],{"type":26,"value":504},{"type":30,"tagName":463,"properties":2484,"children":2485},{"style":479},[2486],{"type":26,"value":1956},{"type":30,"tagName":463,"properties":2488,"children":2489},{"style":485},[2490],{"type":26,"value":2491}," rsi14",{"type":30,"tagName":463,"properties":2493,"children":2494},{"style":479},[2495],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":2497,"children":2498},{"style":685},[2499],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":2501,"children":2502},{"style":479},[2503],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":2505,"children":2506},{"style":705},[2507],{"type":26,"value":1479},{"type":30,"tagName":463,"properties":2509,"children":2510},{"style":485},[2511],{"type":26,"value":504},{"type":30,"tagName":463,"properties":2513,"children":2514},{"style":479},[2515],{"type":26,"value":1956},{"type":30,"tagName":463,"properties":2517,"children":2518},{"style":485},[2519],{"type":26,"value":2520}," atrPct",{"type":30,"tagName":463,"properties":2522,"children":2523},{"style":479},[2524],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":2526,"children":2527},{"style":685},[2528],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":2530,"children":2531},{"style":479},[2532],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":2534,"children":2535},{"style":705},[2536],{"type":26,"value":1479},{"type":30,"tagName":463,"properties":2538,"children":2539},{"style":485},[2540],{"type":26,"value":504},{"type":30,"tagName":463,"properties":2542,"children":2543},{"style":469},[2544],{"type":26,"value":2545},"// this bar's numbers",{"type":26,"value":27},{"type":30,"tagName":463,"properties":2548,"children":2549},{"class":465},[],{"type":26,"value":27},{"type":30,"tagName":463,"properties":2552,"children":2553},{"class":465},[2554,2559,2564,2569,2573,2577,2581,2585],{"type":30,"tagName":463,"properties":2555,"children":2556},{"style":479},[2557],{"type":26,"value":2558},"export",{"type":30,"tagName":463,"properties":2560,"children":2561},{"style":479},[2562],{"type":26,"value":2563}," function",{"type":30,"tagName":463,"properties":2565,"children":2566},{"style":685},[2567],{"type":26,"value":2568}," init",{"type":30,"tagName":463,"properties":2570,"children":2571},{"style":485},[2572],{"type":26,"value":1859},{"type":30,"tagName":463,"properties":2574,"children":2575},{"style":479},[2576],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":2578,"children":2579},{"style":705},[2580],{"type":26,"value":1868},{"type":30,"tagName":463,"properties":2582,"children":2583},{"style":485},[2584],{"type":26,"value":1873},{"type":30,"tagName":463,"properties":2586,"children":2587},{"style":469},[2588],{"type":26,"value":2589},"// read the params (f64) as periods (i32) and build the smoothers from them",{"type":26,"value":27},{"type":30,"tagName":463,"properties":2592,"children":2593},{"class":465},[2594,2599,2603,2607,2611,2616,2621,2625,2629,2633,2638,2643,2647,2651,2655,2660],{"type":30,"tagName":463,"properties":2595,"children":2596},{"style":485},[2597],{"type":26,"value":2598},"  emaLen ",{"type":30,"tagName":463,"properties":2600,"children":2601},{"style":479},[2602],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":2604,"children":2605},{"style":685},[2606],{"type":26,"value":1382},{"type":30,"tagName":463,"properties":2608,"children":2609},{"style":485},[2610],{"type":26,"value":693},{"type":30,"tagName":463,"properties":2612,"children":2613},{"style":685},[2614],{"type":26,"value":2615},"p_ema_len",{"type":30,"tagName":463,"properties":2617,"children":2618},{"style":485},[2619],{"type":26,"value":2620},"()); rsiLen ",{"type":30,"tagName":463,"properties":2622,"children":2623},{"style":479},[2624],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":2626,"children":2627},{"style":685},[2628],{"type":26,"value":1382},{"type":30,"tagName":463,"properties":2630,"children":2631},{"style":485},[2632],{"type":26,"value":693},{"type":30,"tagName":463,"properties":2634,"children":2635},{"style":685},[2636],{"type":26,"value":2637},"p_rsi_len",{"type":30,"tagName":463,"properties":2639,"children":2640},{"style":485},[2641],{"type":26,"value":2642},"()); atrLen ",{"type":30,"tagName":463,"properties":2644,"children":2645},{"style":479},[2646],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":2648,"children":2649},{"style":685},[2650],{"type":26,"value":1382},{"type":30,"tagName":463,"properties":2652,"children":2653},{"style":485},[2654],{"type":26,"value":693},{"type":30,"tagName":463,"properties":2656,"children":2657},{"style":685},[2658],{"type":26,"value":2659},"p_atr_len",{"type":30,"tagName":463,"properties":2661,"children":2662},{"style":485},[2663],{"type":26,"value":2664},"());",{"type":26,"value":27},{"type":30,"tagName":463,"properties":2667,"children":2668},{"class":465},[2669,2674,2678,2682,2686,2690,2694,2698,2702,2706,2710,2714,2719,2723,2727,2731,2735,2739,2743,2747,2752,2756,2760,2764,2768,2772,2776,2780,2785,2789,2793,2797,2801,2805,2809,2813],{"type":30,"tagName":463,"properties":2670,"children":2671},{"style":485},[2672],{"type":26,"value":2673},"  emaOfClose ",{"type":30,"tagName":463,"properties":2675,"children":2676},{"style":479},[2677],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":2679,"children":2680},{"style":479},[2681],{"type":26,"value":2044},{"type":30,"tagName":463,"properties":2683,"children":2684},{"style":685},[2685],{"type":26,"value":1357},{"type":30,"tagName":463,"properties":2687,"children":2688},{"style":485},[2689],{"type":26,"value":2053},{"type":30,"tagName":463,"properties":2691,"children":2692},{"style":705},[2693],{"type":26,"value":2058},{"type":30,"tagName":463,"properties":2695,"children":2696},{"style":479},[2697],{"type":26,"value":2063},{"type":30,"tagName":463,"properties":2699,"children":2700},{"style":685},[2701],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":2703,"children":2704},{"style":485},[2705],{"type":26,"value":2072},{"type":30,"tagName":463,"properties":2707,"children":2708},{"style":479},[2709],{"type":26,"value":2077},{"type":30,"tagName":463,"properties":2711,"children":2712},{"style":705},[2713],{"type":26,"value":1686},{"type":30,"tagName":463,"properties":2715,"children":2716},{"style":485},[2717],{"type":26,"value":2718},")); gains ",{"type":30,"tagName":463,"properties":2720,"children":2721},{"style":479},[2722],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":2724,"children":2725},{"style":479},[2726],{"type":26,"value":2044},{"type":30,"tagName":463,"properties":2728,"children":2729},{"style":685},[2730],{"type":26,"value":1357},{"type":30,"tagName":463,"properties":2732,"children":2733},{"style":485},[2734],{"type":26,"value":2121},{"type":30,"tagName":463,"properties":2736,"children":2737},{"style":705},[2738],{"type":26,"value":2126},{"type":30,"tagName":463,"properties":2740,"children":2741},{"style":479},[2742],{"type":26,"value":2063},{"type":30,"tagName":463,"properties":2744,"children":2745},{"style":685},[2746],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":2748,"children":2749},{"style":485},[2750],{"type":26,"value":2751},"(rsiLen)); losses ",{"type":30,"tagName":463,"properties":2753,"children":2754},{"style":479},[2755],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":2757,"children":2758},{"style":479},[2759],{"type":26,"value":2044},{"type":30,"tagName":463,"properties":2761,"children":2762},{"style":685},[2763],{"type":26,"value":1357},{"type":30,"tagName":463,"properties":2765,"children":2766},{"style":485},[2767],{"type":26,"value":2121},{"type":30,"tagName":463,"properties":2769,"children":2770},{"style":705},[2771],{"type":26,"value":2126},{"type":30,"tagName":463,"properties":2773,"children":2774},{"style":479},[2775],{"type":26,"value":2063},{"type":30,"tagName":463,"properties":2777,"children":2778},{"style":685},[2779],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":2781,"children":2782},{"style":485},[2783],{"type":26,"value":2784},"(rsiLen)); ranges ",{"type":30,"tagName":463,"properties":2786,"children":2787},{"style":479},[2788],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":2790,"children":2791},{"style":479},[2792],{"type":26,"value":2044},{"type":30,"tagName":463,"properties":2794,"children":2795},{"style":685},[2796],{"type":26,"value":1357},{"type":30,"tagName":463,"properties":2798,"children":2799},{"style":485},[2800],{"type":26,"value":2215},{"type":30,"tagName":463,"properties":2802,"children":2803},{"style":705},[2804],{"type":26,"value":2126},{"type":30,"tagName":463,"properties":2806,"children":2807},{"style":479},[2808],{"type":26,"value":2063},{"type":30,"tagName":463,"properties":2810,"children":2811},{"style":685},[2812],{"type":26,"value":1400},{"type":30,"tagName":463,"properties":2814,"children":2815},{"style":485},[2816],{"type":26,"value":2817},"(atrLen));",{"type":26,"value":27},{"type":30,"tagName":463,"properties":2820,"children":2821},{"class":465},[2822],{"type":30,"tagName":463,"properties":2823,"children":2824},{"style":485},[2825],{"type":26,"value":1943},{"type":26,"value":27},{"type":30,"tagName":463,"properties":2828,"children":2829},{"class":465},[2830,2834,2838,2843,2847,2851,2855,2859],{"type":30,"tagName":463,"properties":2831,"children":2832},{"style":479},[2833],{"type":26,"value":2558},{"type":30,"tagName":463,"properties":2835,"children":2836},{"style":479},[2837],{"type":26,"value":2563},{"type":30,"tagName":463,"properties":2839,"children":2840},{"style":685},[2841],{"type":26,"value":2842}," state",{"type":30,"tagName":463,"properties":2844,"children":2845},{"style":485},[2846],{"type":26,"value":1859},{"type":30,"tagName":463,"properties":2848,"children":2849},{"style":479},[2850],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":2852,"children":2853},{"style":685},[2854],{"type":26,"value":1382},{"type":30,"tagName":463,"properties":2856,"children":2857},{"style":485},[2858],{"type":26,"value":1873},{"type":30,"tagName":463,"properties":2860,"children":2861},{"style":469},[2862],{"type":26,"value":2863},"// once per bar: read the bar, fold it into the three recurrences, say whether every number is ready",{"type":26,"value":27},{"type":30,"tagName":463,"properties":2866,"children":2867},{"class":465},[2868,2873,2877,2882,2886,2891,2896,2900,2905,2909,2914,2918,2922,2927,2931,2936],{"type":30,"tagName":463,"properties":2869,"children":2870},{"style":485},[2871],{"type":26,"value":2872},"  prev ",{"type":30,"tagName":463,"properties":2874,"children":2875},{"style":479},[2876],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":2878,"children":2879},{"style":485},[2880],{"type":26,"value":2881}," close; close ",{"type":30,"tagName":463,"properties":2883,"children":2884},{"style":479},[2885],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":2887,"children":2888},{"style":685},[2889],{"type":26,"value":2890}," in_close",{"type":30,"tagName":463,"properties":2892,"children":2893},{"style":485},[2894],{"type":26,"value":2895},"(); ",{"type":30,"tagName":463,"properties":2897,"children":2898},{"style":479},[2899],{"type":26,"value":2246},{"type":30,"tagName":463,"properties":2901,"children":2902},{"style":705},[2903],{"type":26,"value":2904}," high",{"type":30,"tagName":463,"properties":2906,"children":2907},{"style":479},[2908],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":2910,"children":2911},{"style":685},[2912],{"type":26,"value":2913}," in_high",{"type":30,"tagName":463,"properties":2915,"children":2916},{"style":485},[2917],{"type":26,"value":2895},{"type":30,"tagName":463,"properties":2919,"children":2920},{"style":479},[2921],{"type":26,"value":2246},{"type":30,"tagName":463,"properties":2923,"children":2924},{"style":705},[2925],{"type":26,"value":2926}," low",{"type":30,"tagName":463,"properties":2928,"children":2929},{"style":479},[2930],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":2932,"children":2933},{"style":685},[2934],{"type":26,"value":2935}," in_low",{"type":30,"tagName":463,"properties":2937,"children":2938},{"style":485},[2939],{"type":26,"value":2940},"();",{"type":26,"value":27},{"type":30,"tagName":463,"properties":2943,"children":2944},{"class":465},[2945,2950,2954,2959,2964],{"type":30,"tagName":463,"properties":2946,"children":2947},{"style":485},[2948],{"type":26,"value":2949},"  ema50 ",{"type":30,"tagName":463,"properties":2951,"children":2952},{"style":479},[2953],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":2955,"children":2956},{"style":485},[2957],{"type":26,"value":2958}," emaOfClose.",{"type":30,"tagName":463,"properties":2960,"children":2961},{"style":685},[2962],{"type":26,"value":2963},"update",{"type":30,"tagName":463,"properties":2965,"children":2966},{"style":485},[2967],{"type":26,"value":2968},"(close);",{"type":26,"value":27},{"type":30,"tagName":463,"properties":2971,"children":2972},{"class":465},[2973,2978,2982,2987,2992,2997,3001,3005],{"type":30,"tagName":463,"properties":2974,"children":2975},{"style":479},[2976],{"type":26,"value":2977},"  if",{"type":30,"tagName":463,"properties":2979,"children":2980},{"style":485},[2981],{"type":26,"value":1626},{"type":30,"tagName":463,"properties":2983,"children":2984},{"style":685},[2985],{"type":26,"value":2986},"isNaN",{"type":30,"tagName":463,"properties":2988,"children":2989},{"style":485},[2990],{"type":26,"value":2991},"(prev)) ",{"type":30,"tagName":463,"properties":2993,"children":2994},{"style":479},[2995],{"type":26,"value":2996},"return",{"type":30,"tagName":463,"properties":2998,"children":2999},{"style":705},[3000],{"type":26,"value":1453},{"type":30,"tagName":463,"properties":3002,"children":3003},{"style":485},[3004],{"type":26,"value":504},{"type":30,"tagName":463,"properties":3006,"children":3007},{"style":469},[3008],{"type":26,"value":3009},"// the first bar has no change and no true range",{"type":26,"value":27},{"type":30,"tagName":463,"properties":3012,"children":3013},{"class":465},[3014,3019,3024,3028,3033,3037],{"type":30,"tagName":463,"properties":3015,"children":3016},{"style":479},[3017],{"type":26,"value":3018},"  const",{"type":30,"tagName":463,"properties":3020,"children":3021},{"style":705},[3022],{"type":26,"value":3023}," change",{"type":30,"tagName":463,"properties":3025,"children":3026},{"style":479},[3027],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":3029,"children":3030},{"style":485},[3031],{"type":26,"value":3032}," close ",{"type":30,"tagName":463,"properties":3034,"children":3035},{"style":479},[3036],{"type":26,"value":1795},{"type":30,"tagName":463,"properties":3038,"children":3039},{"style":485},[3040],{"type":26,"value":3041}," prev;",{"type":26,"value":27},{"type":30,"tagName":463,"properties":3044,"children":3045},{"class":465},[3046,3050,3055,3059,3064,3068,3073,3078,3082,3087,3092,3096,3100,3104,3108,3113,3117,3122,3126,3130,3134,3138,3142,3147,3152,3156,3160],{"type":30,"tagName":463,"properties":3047,"children":3048},{"style":479},[3049],{"type":26,"value":3018},{"type":30,"tagName":463,"properties":3051,"children":3052},{"style":705},[3053],{"type":26,"value":3054}," gain",{"type":30,"tagName":463,"properties":3056,"children":3057},{"style":479},[3058],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":3060,"children":3061},{"style":485},[3062],{"type":26,"value":3063}," gains.",{"type":30,"tagName":463,"properties":3065,"children":3066},{"style":685},[3067],{"type":26,"value":2963},{"type":30,"tagName":463,"properties":3069,"children":3070},{"style":485},[3071],{"type":26,"value":3072},"(change ",{"type":30,"tagName":463,"properties":3074,"children":3075},{"style":479},[3076],{"type":26,"value":3077},">",{"type":30,"tagName":463,"properties":3079,"children":3080},{"style":705},[3081],{"type":26,"value":1427},{"type":30,"tagName":463,"properties":3083,"children":3084},{"style":479},[3085],{"type":26,"value":3086}," ?",{"type":30,"tagName":463,"properties":3088,"children":3089},{"style":485},[3090],{"type":26,"value":3091}," change ",{"type":30,"tagName":463,"properties":3093,"children":3094},{"style":479},[3095],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":3097,"children":3098},{"style":705},[3099],{"type":26,"value":1427},{"type":30,"tagName":463,"properties":3101,"children":3102},{"style":485},[3103],{"type":26,"value":2277},{"type":30,"tagName":463,"properties":3105,"children":3106},{"style":479},[3107],{"type":26,"value":2246},{"type":30,"tagName":463,"properties":3109,"children":3110},{"style":705},[3111],{"type":26,"value":3112}," loss",{"type":30,"tagName":463,"properties":3114,"children":3115},{"style":479},[3116],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":3118,"children":3119},{"style":485},[3120],{"type":26,"value":3121}," losses.",{"type":30,"tagName":463,"properties":3123,"children":3124},{"style":685},[3125],{"type":26,"value":2963},{"type":30,"tagName":463,"properties":3127,"children":3128},{"style":485},[3129],{"type":26,"value":3072},{"type":30,"tagName":463,"properties":3131,"children":3132},{"style":479},[3133],{"type":26,"value":1640},{"type":30,"tagName":463,"properties":3135,"children":3136},{"style":705},[3137],{"type":26,"value":1427},{"type":30,"tagName":463,"properties":3139,"children":3140},{"style":479},[3141],{"type":26,"value":3086},{"type":30,"tagName":463,"properties":3143,"children":3144},{"style":479},[3145],{"type":26,"value":3146}," -",{"type":30,"tagName":463,"properties":3148,"children":3149},{"style":485},[3150],{"type":26,"value":3151},"change ",{"type":30,"tagName":463,"properties":3153,"children":3154},{"style":479},[3155],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":3157,"children":3158},{"style":705},[3159],{"type":26,"value":1427},{"type":30,"tagName":463,"properties":3161,"children":3162},{"style":485},[3163],{"type":26,"value":3164},");",{"type":26,"value":27},{"type":30,"tagName":463,"properties":3167,"children":3168},{"class":465},[3169,3174,3178,3183,3187,3191,3195,3200,3205,3209,3213,3217,3221,3225,3229,3234,3239,3243,3248],{"type":30,"tagName":463,"properties":3170,"children":3171},{"style":485},[3172],{"type":26,"value":3173},"  rsi14 ",{"type":30,"tagName":463,"properties":3175,"children":3176},{"style":479},[3177],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":3179,"children":3180},{"style":485},[3181],{"type":26,"value":3182}," loss ",{"type":30,"tagName":463,"properties":3184,"children":3185},{"style":479},[3186],{"type":26,"value":1712},{"type":30,"tagName":463,"properties":3188,"children":3189},{"style":705},[3190],{"type":26,"value":1427},{"type":30,"tagName":463,"properties":3192,"children":3193},{"style":479},[3194],{"type":26,"value":3086},{"type":30,"tagName":463,"properties":3196,"children":3197},{"style":705},[3198],{"type":26,"value":3199}," 100.0",{"type":30,"tagName":463,"properties":3201,"children":3202},{"style":479},[3203],{"type":26,"value":3204}," :",{"type":30,"tagName":463,"properties":3206,"children":3207},{"style":705},[3208],{"type":26,"value":3199},{"type":30,"tagName":463,"properties":3210,"children":3211},{"style":479},[3212],{"type":26,"value":3146},{"type":30,"tagName":463,"properties":3214,"children":3215},{"style":705},[3216],{"type":26,"value":3199},{"type":30,"tagName":463,"properties":3218,"children":3219},{"style":479},[3220],{"type":26,"value":2063},{"type":30,"tagName":463,"properties":3222,"children":3223},{"style":485},[3224],{"type":26,"value":1626},{"type":30,"tagName":463,"properties":3226,"children":3227},{"style":705},[3228],{"type":26,"value":2126},{"type":30,"tagName":463,"properties":3230,"children":3231},{"style":479},[3232],{"type":26,"value":3233}," +",{"type":30,"tagName":463,"properties":3235,"children":3236},{"style":485},[3237],{"type":26,"value":3238}," gain ",{"type":30,"tagName":463,"properties":3240,"children":3241},{"style":479},[3242],{"type":26,"value":1747},{"type":30,"tagName":463,"properties":3244,"children":3245},{"style":485},[3246],{"type":26,"value":3247}," loss); ",{"type":30,"tagName":463,"properties":3249,"children":3250},{"style":469},[3251],{"type":26,"value":3252},"// NaN while the averages seed (NaN == 0.0 is false)",{"type":26,"value":27},{"type":30,"tagName":463,"properties":3255,"children":3256},{"class":465},[3257,3261,3266,3270,3275,3280,3285,3289,3294,3298,3303,3308,3312,3316,3321,3325,3330,3334,3339],{"type":30,"tagName":463,"properties":3258,"children":3259},{"style":479},[3260],{"type":26,"value":3018},{"type":30,"tagName":463,"properties":3262,"children":3263},{"style":705},[3264],{"type":26,"value":3265}," range",{"type":30,"tagName":463,"properties":3267,"children":3268},{"style":479},[3269],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":3271,"children":3272},{"style":485},[3273],{"type":26,"value":3274}," Math.",{"type":30,"tagName":463,"properties":3276,"children":3277},{"style":685},[3278],{"type":26,"value":3279},"max",{"type":30,"tagName":463,"properties":3281,"children":3282},{"style":485},[3283],{"type":26,"value":3284},"(high ",{"type":30,"tagName":463,"properties":3286,"children":3287},{"style":479},[3288],{"type":26,"value":1795},{"type":30,"tagName":463,"properties":3290,"children":3291},{"style":485},[3292],{"type":26,"value":3293}," low, Math.",{"type":30,"tagName":463,"properties":3295,"children":3296},{"style":685},[3297],{"type":26,"value":3279},{"type":30,"tagName":463,"properties":3299,"children":3300},{"style":485},[3301],{"type":26,"value":3302},"(Math.",{"type":30,"tagName":463,"properties":3304,"children":3305},{"style":685},[3306],{"type":26,"value":3307},"abs",{"type":30,"tagName":463,"properties":3309,"children":3310},{"style":485},[3311],{"type":26,"value":3284},{"type":30,"tagName":463,"properties":3313,"children":3314},{"style":479},[3315],{"type":26,"value":1795},{"type":30,"tagName":463,"properties":3317,"children":3318},{"style":485},[3319],{"type":26,"value":3320}," prev), Math.",{"type":30,"tagName":463,"properties":3322,"children":3323},{"style":685},[3324],{"type":26,"value":3307},{"type":30,"tagName":463,"properties":3326,"children":3327},{"style":485},[3328],{"type":26,"value":3329},"(low ",{"type":30,"tagName":463,"properties":3331,"children":3332},{"style":479},[3333],{"type":26,"value":1795},{"type":30,"tagName":463,"properties":3335,"children":3336},{"style":485},[3337],{"type":26,"value":3338}," prev))); ",{"type":30,"tagName":463,"properties":3340,"children":3341},{"style":469},[3342],{"type":26,"value":3343},"// the true range",{"type":26,"value":27},{"type":30,"tagName":463,"properties":3346,"children":3347},{"class":465},[3348,3353,3357,3362,3366,3371,3375,3380,3384,3388],{"type":30,"tagName":463,"properties":3349,"children":3350},{"style":485},[3351],{"type":26,"value":3352},"  atrPct ",{"type":30,"tagName":463,"properties":3354,"children":3355},{"style":479},[3356],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":3358,"children":3359},{"style":485},[3360],{"type":26,"value":3361}," (ranges.",{"type":30,"tagName":463,"properties":3363,"children":3364},{"style":685},[3365],{"type":26,"value":2963},{"type":30,"tagName":463,"properties":3367,"children":3368},{"style":485},[3369],{"type":26,"value":3370},"(range) ",{"type":30,"tagName":463,"properties":3372,"children":3373},{"style":479},[3374],{"type":26,"value":1747},{"type":30,"tagName":463,"properties":3376,"children":3377},{"style":485},[3378],{"type":26,"value":3379}," close) ",{"type":30,"tagName":463,"properties":3381,"children":3382},{"style":479},[3383],{"type":26,"value":1809},{"type":30,"tagName":463,"properties":3385,"children":3386},{"style":705},[3387],{"type":26,"value":3199},{"type":30,"tagName":463,"properties":3389,"children":3390},{"style":485},[3391],{"type":26,"value":1484},{"type":26,"value":27},{"type":30,"tagName":463,"properties":3394,"children":3395},{"class":465},[3396,3401,3406,3411,3416,3420,3425,3429,3433,3438,3443,3447,3451,3455,3459],{"type":30,"tagName":463,"properties":3397,"children":3398},{"style":479},[3399],{"type":26,"value":3400},"  return",{"type":30,"tagName":463,"properties":3402,"children":3403},{"style":685},[3404],{"type":26,"value":3405}," isNaN",{"type":30,"tagName":463,"properties":3407,"children":3408},{"style":485},[3409],{"type":26,"value":3410},"(ema50) ",{"type":30,"tagName":463,"properties":3412,"children":3413},{"style":479},[3414],{"type":26,"value":3415},"||",{"type":30,"tagName":463,"properties":3417,"children":3418},{"style":685},[3419],{"type":26,"value":3405},{"type":30,"tagName":463,"properties":3421,"children":3422},{"style":485},[3423],{"type":26,"value":3424},"(rsi14) ",{"type":30,"tagName":463,"properties":3426,"children":3427},{"style":479},[3428],{"type":26,"value":3415},{"type":30,"tagName":463,"properties":3430,"children":3431},{"style":685},[3432],{"type":26,"value":3405},{"type":30,"tagName":463,"properties":3434,"children":3435},{"style":485},[3436],{"type":26,"value":3437},"(atrPct) ",{"type":30,"tagName":463,"properties":3439,"children":3440},{"style":479},[3441],{"type":26,"value":3442},"?",{"type":30,"tagName":463,"properties":3444,"children":3445},{"style":705},[3446],{"type":26,"value":1453},{"type":30,"tagName":463,"properties":3448,"children":3449},{"style":479},[3450],{"type":26,"value":3204},{"type":30,"tagName":463,"properties":3452,"children":3453},{"style":705},[3454],{"type":26,"value":1686},{"type":30,"tagName":463,"properties":3456,"children":3457},{"style":485},[3458],{"type":26,"value":504},{"type":30,"tagName":463,"properties":3460,"children":3461},{"style":469},[3462],{"type":26,"value":3463},"// 0 = a warmup row: the chart draws nothing for this bar",{"type":26,"value":27},{"type":30,"tagName":463,"properties":3466,"children":3467},{"class":465},[3468],{"type":30,"tagName":463,"properties":3469,"children":3470},{"style":485},[3471],{"type":26,"value":1943},{"type":26,"value":27},{"type":30,"tagName":463,"properties":3474,"children":3475},{"class":465},[3476],{"type":30,"tagName":463,"properties":3477,"children":3478},{"style":469},[3479],{"type":26,"value":3480},"// finalize() runs after state() returns 1: write the outputs on every bar; draw the HUD on the live bar only.",{"type":26,"value":27},{"type":30,"tagName":463,"properties":3483,"children":3484},{"class":465},[3485],{"type":30,"tagName":463,"properties":3486,"children":3487},{"style":469},[3488],{"type":26,"value":3489},"// A row is one line: build it with sb_* (numbers through sb_f64, periods through sb_int, never a locale), then text(...) sends the slot",{"type":26,"value":27},{"type":30,"tagName":463,"properties":3492,"children":3493},{"class":465},[3494],{"type":30,"tagName":463,"properties":3495,"children":3496},{"style":469},[3497],{"type":26,"value":3498},"// and draws the label at the last set(x, y); the slot is reused row by row, the host copies each draw.",{"type":26,"value":27},{"type":30,"tagName":463,"properties":3501,"children":3502},{"class":465},[3503,3507,3511,3516,3520,3524,3528],{"type":30,"tagName":463,"properties":3504,"children":3505},{"style":479},[3506],{"type":26,"value":2558},{"type":30,"tagName":463,"properties":3508,"children":3509},{"style":479},[3510],{"type":26,"value":2563},{"type":30,"tagName":463,"properties":3512,"children":3513},{"style":685},[3514],{"type":26,"value":3515}," finalize",{"type":30,"tagName":463,"properties":3517,"children":3518},{"style":485},[3519],{"type":26,"value":1859},{"type":30,"tagName":463,"properties":3521,"children":3522},{"style":479},[3523],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":3525,"children":3526},{"style":705},[3527],{"type":26,"value":1868},{"type":30,"tagName":463,"properties":3529,"children":3530},{"style":485},[3531],{"type":26,"value":1362},{"type":26,"value":27},{"type":30,"tagName":463,"properties":3534,"children":3535},{"class":465},[3536,3541,3546,3551,3556,3561,3566,3571,3576,3580,3584],{"type":30,"tagName":463,"properties":3537,"children":3538},{"style":685},[3539],{"type":26,"value":3540},"  out_ema50",{"type":30,"tagName":463,"properties":3542,"children":3543},{"style":485},[3544],{"type":26,"value":3545},"(ema50); ",{"type":30,"tagName":463,"properties":3547,"children":3548},{"style":685},[3549],{"type":26,"value":3550},"out_rsi14",{"type":30,"tagName":463,"properties":3552,"children":3553},{"style":485},[3554],{"type":26,"value":3555},"(rsi14); ",{"type":30,"tagName":463,"properties":3557,"children":3558},{"style":685},[3559],{"type":26,"value":3560},"out_atr_pct",{"type":30,"tagName":463,"properties":3562,"children":3563},{"style":485},[3564],{"type":26,"value":3565},"(atrPct); ",{"type":30,"tagName":463,"properties":3567,"children":3568},{"style":685},[3569],{"type":26,"value":3570},"out_rsi_frac",{"type":30,"tagName":463,"properties":3572,"children":3573},{"style":485},[3574],{"type":26,"value":3575},"(rsi14 ",{"type":30,"tagName":463,"properties":3577,"children":3578},{"style":479},[3579],{"type":26,"value":1747},{"type":30,"tagName":463,"properties":3581,"children":3582},{"style":705},[3583],{"type":26,"value":3199},{"type":30,"tagName":463,"properties":3585,"children":3586},{"style":485},[3587],{"type":26,"value":3164},{"type":26,"value":27},{"type":30,"tagName":463,"properties":3590,"children":3591},{"class":465},[3592,3596,3601,3606,3611],{"type":30,"tagName":463,"properties":3593,"children":3594},{"style":479},[3595],{"type":26,"value":2977},{"type":30,"tagName":463,"properties":3597,"children":3598},{"style":485},[3599],{"type":26,"value":3600}," (bar.",{"type":30,"tagName":463,"properties":3602,"children":3603},{"style":685},[3604],{"type":26,"value":3605},"isLast",{"type":30,"tagName":463,"properties":3607,"children":3608},{"style":485},[3609],{"type":26,"value":3610},"()) { ",{"type":30,"tagName":463,"properties":3612,"children":3613},{"style":469},[3614],{"type":26,"value":3615},"// the newest bar only: history bars never paint the HUD, and each refresh draws it once",{"type":26,"value":27},{"type":30,"tagName":463,"properties":3618,"children":3619},{"class":465},[3620,3625,3630,3634,3638,3642,3647,3652,3657,3661,3666,3670,3674,3679,3683,3687,3691,3695,3699,3703,3707,3711,3715],{"type":30,"tagName":463,"properties":3621,"children":3622},{"style":479},[3623],{"type":26,"value":3624},"    const",{"type":30,"tagName":463,"properties":3626,"children":3627},{"style":705},[3628],{"type":26,"value":3629}," bullish",{"type":30,"tagName":463,"properties":3631,"children":3632},{"style":479},[3633],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":3635,"children":3636},{"style":485},[3637],{"type":26,"value":3032},{"type":30,"tagName":463,"properties":3639,"children":3640},{"style":479},[3641],{"type":26,"value":3077},{"type":30,"tagName":463,"properties":3643,"children":3644},{"style":485},[3645],{"type":26,"value":3646}," ema50 ",{"type":30,"tagName":463,"properties":3648,"children":3649},{"style":479},[3650],{"type":26,"value":3651},"&&",{"type":30,"tagName":463,"properties":3653,"children":3654},{"style":485},[3655],{"type":26,"value":3656}," rsi14 ",{"type":30,"tagName":463,"properties":3658,"children":3659},{"style":479},[3660],{"type":26,"value":3077},{"type":30,"tagName":463,"properties":3662,"children":3663},{"style":705},[3664],{"type":26,"value":3665}," 50.0",{"type":30,"tagName":463,"properties":3667,"children":3668},{"style":485},[3669],{"type":26,"value":504},{"type":30,"tagName":463,"properties":3671,"children":3672},{"style":479},[3673],{"type":26,"value":2246},{"type":30,"tagName":463,"properties":3675,"children":3676},{"style":705},[3677],{"type":26,"value":3678}," bearish",{"type":30,"tagName":463,"properties":3680,"children":3681},{"style":479},[3682],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":3684,"children":3685},{"style":485},[3686],{"type":26,"value":3032},{"type":30,"tagName":463,"properties":3688,"children":3689},{"style":479},[3690],{"type":26,"value":1640},{"type":30,"tagName":463,"properties":3692,"children":3693},{"style":485},[3694],{"type":26,"value":3646},{"type":30,"tagName":463,"properties":3696,"children":3697},{"style":479},[3698],{"type":26,"value":3651},{"type":30,"tagName":463,"properties":3700,"children":3701},{"style":485},[3702],{"type":26,"value":3656},{"type":30,"tagName":463,"properties":3704,"children":3705},{"style":479},[3706],{"type":26,"value":1640},{"type":30,"tagName":463,"properties":3708,"children":3709},{"style":705},[3710],{"type":26,"value":3665},{"type":30,"tagName":463,"properties":3712,"children":3713},{"style":485},[3714],{"type":26,"value":504},{"type":30,"tagName":463,"properties":3716,"children":3717},{"style":469},[3718],{"type":26,"value":3719},"// the regime",{"type":26,"value":27},{"type":30,"tagName":463,"properties":3722,"children":3723},{"class":465},[3724,3728,3733,3737,3742,3746,3751,3755,3760,3764,3769,3773,3778,3782,3787,3792,3796,3801,3805,3809,3813,3818,3822,3827,3831,3836,3840,3844,3848,3852,3856,3860,3865,3869,3874,3878,3883,3887,3891,3895],{"type":30,"tagName":463,"properties":3725,"children":3726},{"style":479},[3727],{"type":26,"value":3624},{"type":30,"tagName":463,"properties":3729,"children":3730},{"style":705},[3731],{"type":26,"value":3732}," tone",{"type":30,"tagName":463,"properties":3734,"children":3735},{"style":479},[3736],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":3738,"children":3739},{"style":485},[3740],{"type":26,"value":3741}," bullish ",{"type":30,"tagName":463,"properties":3743,"children":3744},{"style":479},[3745],{"type":26,"value":3442},{"type":30,"tagName":463,"properties":3747,"children":3748},{"style":685},[3749],{"type":26,"value":3750}," rgba",{"type":30,"tagName":463,"properties":3752,"children":3753},{"style":485},[3754],{"type":26,"value":693},{"type":30,"tagName":463,"properties":3756,"children":3757},{"style":705},[3758],{"type":26,"value":3759},"48",{"type":30,"tagName":463,"properties":3761,"children":3762},{"style":485},[3763],{"type":26,"value":322},{"type":30,"tagName":463,"properties":3765,"children":3766},{"style":705},[3767],{"type":26,"value":3768},"164",{"type":30,"tagName":463,"properties":3770,"children":3771},{"style":485},[3772],{"type":26,"value":322},{"type":30,"tagName":463,"properties":3774,"children":3775},{"style":705},[3776],{"type":26,"value":3777},"108",{"type":30,"tagName":463,"properties":3779,"children":3780},{"style":485},[3781],{"type":26,"value":322},{"type":30,"tagName":463,"properties":3783,"children":3784},{"style":705},[3785],{"type":26,"value":3786},"255",{"type":30,"tagName":463,"properties":3788,"children":3789},{"style":485},[3790],{"type":26,"value":3791},") ",{"type":30,"tagName":463,"properties":3793,"children":3794},{"style":479},[3795],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":3797,"children":3798},{"style":485},[3799],{"type":26,"value":3800}," bearish ",{"type":30,"tagName":463,"properties":3802,"children":3803},{"style":479},[3804],{"type":26,"value":3442},{"type":30,"tagName":463,"properties":3806,"children":3807},{"style":685},[3808],{"type":26,"value":3750},{"type":30,"tagName":463,"properties":3810,"children":3811},{"style":485},[3812],{"type":26,"value":693},{"type":30,"tagName":463,"properties":3814,"children":3815},{"style":705},[3816],{"type":26,"value":3817},"229",{"type":30,"tagName":463,"properties":3819,"children":3820},{"style":485},[3821],{"type":26,"value":322},{"type":30,"tagName":463,"properties":3823,"children":3824},{"style":705},[3825],{"type":26,"value":3826},"72",{"type":30,"tagName":463,"properties":3828,"children":3829},{"style":485},[3830],{"type":26,"value":322},{"type":30,"tagName":463,"properties":3832,"children":3833},{"style":705},[3834],{"type":26,"value":3835},"77",{"type":30,"tagName":463,"properties":3837,"children":3838},{"style":485},[3839],{"type":26,"value":322},{"type":30,"tagName":463,"properties":3841,"children":3842},{"style":705},[3843],{"type":26,"value":3786},{"type":30,"tagName":463,"properties":3845,"children":3846},{"style":485},[3847],{"type":26,"value":3791},{"type":30,"tagName":463,"properties":3849,"children":3850},{"style":479},[3851],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":3853,"children":3854},{"style":685},[3855],{"type":26,"value":3750},{"type":30,"tagName":463,"properties":3857,"children":3858},{"style":485},[3859],{"type":26,"value":693},{"type":30,"tagName":463,"properties":3861,"children":3862},{"style":705},[3863],{"type":26,"value":3864},"139",{"type":30,"tagName":463,"properties":3866,"children":3867},{"style":485},[3868],{"type":26,"value":322},{"type":30,"tagName":463,"properties":3870,"children":3871},{"style":705},[3872],{"type":26,"value":3873},"143",{"type":30,"tagName":463,"properties":3875,"children":3876},{"style":485},[3877],{"type":26,"value":322},{"type":30,"tagName":463,"properties":3879,"children":3880},{"style":705},[3881],{"type":26,"value":3882},"152",{"type":30,"tagName":463,"properties":3884,"children":3885},{"style":485},[3886],{"type":26,"value":322},{"type":30,"tagName":463,"properties":3888,"children":3889},{"style":705},[3890],{"type":26,"value":3786},{"type":30,"tagName":463,"properties":3892,"children":3893},{"style":485},[3894],{"type":26,"value":2277},{"type":30,"tagName":463,"properties":3896,"children":3897},{"style":469},[3898],{"type":26,"value":3899},"// green, red, grey",{"type":26,"value":27},{"type":30,"tagName":463,"properties":3902,"children":3903},{"class":465},[3904,3909,3914,3918,3922,3926,3930,3934,3939,3943,3948,3953,3958,3963],{"type":30,"tagName":463,"properties":3905,"children":3906},{"style":485},[3907],{"type":26,"value":3908},"    backdrop.",{"type":30,"tagName":463,"properties":3910,"children":3911},{"style":685},[3912],{"type":26,"value":3913},"set",{"type":30,"tagName":463,"properties":3915,"children":3916},{"style":485},[3917],{"type":26,"value":693},{"type":30,"tagName":463,"properties":3919,"children":3920},{"style":705},[3921],{"type":26,"value":1222},{"type":30,"tagName":463,"properties":3923,"children":3924},{"style":485},[3925],{"type":26,"value":322},{"type":30,"tagName":463,"properties":3927,"children":3928},{"style":705},[3929],{"type":26,"value":1222},{"type":30,"tagName":463,"properties":3931,"children":3932},{"style":485},[3933],{"type":26,"value":322},{"type":30,"tagName":463,"properties":3935,"children":3936},{"style":705},[3937],{"type":26,"value":3938},"172",{"type":30,"tagName":463,"properties":3940,"children":3941},{"style":485},[3942],{"type":26,"value":322},{"type":30,"tagName":463,"properties":3944,"children":3945},{"style":705},[3946],{"type":26,"value":3947},"112",{"type":30,"tagName":463,"properties":3949,"children":3950},{"style":485},[3951],{"type":26,"value":3952},").",{"type":30,"tagName":463,"properties":3954,"children":3955},{"style":685},[3956],{"type":26,"value":3957},"color",{"type":30,"tagName":463,"properties":3959,"children":3960},{"style":485},[3961],{"type":26,"value":3962},"(tone); ",{"type":30,"tagName":463,"properties":3964,"children":3965},{"style":469},[3966],{"type":26,"value":3967},"// pane pixels from the top-left corner: left, top, right, bottom; the border takes the regime colour",{"type":26,"value":27},{"type":30,"tagName":463,"properties":3970,"children":3971},{"class":465},[3972,3976,3981,3985,3990,3994,3999,4003,4007,4011,4015,4019],{"type":30,"tagName":463,"properties":3973,"children":3974},{"style":479},[3975],{"type":26,"value":3624},{"type":30,"tagName":463,"properties":3977,"children":3978},{"style":705},[3979],{"type":26,"value":3980}," distance",{"type":30,"tagName":463,"properties":3982,"children":3983},{"style":479},[3984],{"type":26,"value":1422},{"type":30,"tagName":463,"properties":3986,"children":3987},{"style":485},[3988],{"type":26,"value":3989}," ((close ",{"type":30,"tagName":463,"properties":3991,"children":3992},{"style":479},[3993],{"type":26,"value":1795},{"type":30,"tagName":463,"properties":3995,"children":3996},{"style":485},[3997],{"type":26,"value":3998}," ema50) ",{"type":30,"tagName":463,"properties":4000,"children":4001},{"style":479},[4002],{"type":26,"value":1747},{"type":30,"tagName":463,"properties":4004,"children":4005},{"style":485},[4006],{"type":26,"value":3998},{"type":30,"tagName":463,"properties":4008,"children":4009},{"style":479},[4010],{"type":26,"value":1809},{"type":30,"tagName":463,"properties":4012,"children":4013},{"style":705},[4014],{"type":26,"value":3199},{"type":30,"tagName":463,"properties":4016,"children":4017},{"style":485},[4018],{"type":26,"value":504},{"type":30,"tagName":463,"properties":4020,"children":4021},{"style":469},[4022],{"type":26,"value":4023},"// the close's distance from the EMA, sign kept",{"type":26,"value":27},{"type":30,"tagName":463,"properties":4026,"children":4027},{"class":465},[4028,4033,4037,4042,4046,4051,4055,4060,4065,4069,4073,4078,4082,4086,4091,4096,4100,4104,4108,4112,4117,4121,4126,4131,4135,4139,4143,4147,4152,4156],{"type":30,"tagName":463,"properties":4029,"children":4030},{"style":685},[4031],{"type":26,"value":4032},"    sb_clear",{"type":30,"tagName":463,"properties":4034,"children":4035},{"style":485},[4036],{"type":26,"value":2895},{"type":30,"tagName":463,"properties":4038,"children":4039},{"style":685},[4040],{"type":26,"value":4041},"sb_text",{"type":30,"tagName":463,"properties":4043,"children":4044},{"style":485},[4045],{"type":26,"value":693},{"type":30,"tagName":463,"properties":4047,"children":4048},{"style":496},[4049],{"type":26,"value":4050},"\"EMA \"",{"type":30,"tagName":463,"properties":4052,"children":4053},{"style":485},[4054],{"type":26,"value":2277},{"type":30,"tagName":463,"properties":4056,"children":4057},{"style":685},[4058],{"type":26,"value":4059},"sb_int",{"type":30,"tagName":463,"properties":4061,"children":4062},{"style":485},[4063],{"type":26,"value":4064},"(emaLen); ",{"type":30,"tagName":463,"properties":4066,"children":4067},{"style":685},[4068],{"type":26,"value":4041},{"type":30,"tagName":463,"properties":4070,"children":4071},{"style":485},[4072],{"type":26,"value":693},{"type":30,"tagName":463,"properties":4074,"children":4075},{"style":496},[4076],{"type":26,"value":4077},"\"  \"",{"type":30,"tagName":463,"properties":4079,"children":4080},{"style":485},[4081],{"type":26,"value":2277},{"type":30,"tagName":463,"properties":4083,"children":4084},{"style":479},[4085],{"type":26,"value":1695},{"type":30,"tagName":463,"properties":4087,"children":4088},{"style":485},[4089],{"type":26,"value":4090}," (distance ",{"type":30,"tagName":463,"properties":4092,"children":4093},{"style":479},[4094],{"type":26,"value":4095},">=",{"type":30,"tagName":463,"properties":4097,"children":4098},{"style":705},[4099],{"type":26,"value":1427},{"type":30,"tagName":463,"properties":4101,"children":4102},{"style":485},[4103],{"type":26,"value":3791},{"type":30,"tagName":463,"properties":4105,"children":4106},{"style":685},[4107],{"type":26,"value":4041},{"type":30,"tagName":463,"properties":4109,"children":4110},{"style":485},[4111],{"type":26,"value":693},{"type":30,"tagName":463,"properties":4113,"children":4114},{"style":496},[4115],{"type":26,"value":4116},"\"+\"",{"type":30,"tagName":463,"properties":4118,"children":4119},{"style":485},[4120],{"type":26,"value":2277},{"type":30,"tagName":463,"properties":4122,"children":4123},{"style":685},[4124],{"type":26,"value":4125},"sb_f64",{"type":30,"tagName":463,"properties":4127,"children":4128},{"style":485},[4129],{"type":26,"value":4130},"(distance, ",{"type":30,"tagName":463,"properties":4132,"children":4133},{"style":705},[4134],{"type":26,"value":1163},{"type":30,"tagName":463,"properties":4136,"children":4137},{"style":485},[4138],{"type":26,"value":2277},{"type":30,"tagName":463,"properties":4140,"children":4141},{"style":685},[4142],{"type":26,"value":4041},{"type":30,"tagName":463,"properties":4144,"children":4145},{"style":485},[4146],{"type":26,"value":693},{"type":30,"tagName":463,"properties":4148,"children":4149},{"style":496},[4150],{"type":26,"value":4151},"\"%\"",{"type":30,"tagName":463,"properties":4153,"children":4154},{"style":485},[4155],{"type":26,"value":2277},{"type":30,"tagName":463,"properties":4157,"children":4158},{"style":469},[4159],{"type":26,"value":4160},"// \"EMA 50  +1.2%\"",{"type":26,"value":27},{"type":30,"tagName":463,"properties":4163,"children":4164},{"class":465},[4165,4170,4174,4179,4183,4187,4192,4196,4201,4205,4209,4214,4219,4223,4228,4232],{"type":30,"tagName":463,"properties":4166,"children":4167},{"style":485},[4168],{"type":26,"value":4169},"    rows[",{"type":30,"tagName":463,"properties":4171,"children":4172},{"style":705},[4173],{"type":26,"value":457},{"type":30,"tagName":463,"properties":4175,"children":4176},{"style":485},[4177],{"type":26,"value":4178},"].",{"type":30,"tagName":463,"properties":4180,"children":4181},{"style":685},[4182],{"type":26,"value":3913},{"type":30,"tagName":463,"properties":4184,"children":4185},{"style":485},[4186],{"type":26,"value":693},{"type":30,"tagName":463,"properties":4188,"children":4189},{"style":705},[4190],{"type":26,"value":4191},"22",{"type":30,"tagName":463,"properties":4193,"children":4194},{"style":485},[4195],{"type":26,"value":322},{"type":30,"tagName":463,"properties":4197,"children":4198},{"style":705},[4199],{"type":26,"value":4200},"30",{"type":30,"tagName":463,"properties":4202,"children":4203},{"style":485},[4204],{"type":26,"value":3952},{"type":30,"tagName":463,"properties":4206,"children":4207},{"style":685},[4208],{"type":26,"value":26},{"type":30,"tagName":463,"properties":4210,"children":4211},{"style":485},[4212],{"type":26,"value":4213},"(str_text_sb).",{"type":30,"tagName":463,"properties":4215,"children":4216},{"style":685},[4217],{"type":26,"value":4218},"align",{"type":30,"tagName":463,"properties":4220,"children":4221},{"style":485},[4222],{"type":26,"value":693},{"type":30,"tagName":463,"properties":4224,"children":4225},{"style":705},[4226],{"type":26,"value":4227},"ALIGN_LEFT",{"type":30,"tagName":463,"properties":4229,"children":4230},{"style":485},[4231],{"type":26,"value":2277},{"type":30,"tagName":463,"properties":4233,"children":4234},{"style":469},[4235],{"type":26,"value":4236},"// an explicit align call: it wins over the declared default for this label",{"type":26,"value":27},{"type":30,"tagName":463,"properties":4239,"children":4240},{"class":465},[4241,4245,4249,4253,4257,4262,4266,4270,4275,4279,4283,4287,4291,4295,4300,4304,4309,4313,4317,4321,4325,4329,4333,4337,4341,4345],{"type":30,"tagName":463,"properties":4242,"children":4243},{"style":685},[4244],{"type":26,"value":4032},{"type":30,"tagName":463,"properties":4246,"children":4247},{"style":485},[4248],{"type":26,"value":2895},{"type":30,"tagName":463,"properties":4250,"children":4251},{"style":685},[4252],{"type":26,"value":4041},{"type":30,"tagName":463,"properties":4254,"children":4255},{"style":485},[4256],{"type":26,"value":693},{"type":30,"tagName":463,"properties":4258,"children":4259},{"style":496},[4260],{"type":26,"value":4261},"\"RSI \"",{"type":30,"tagName":463,"properties":4263,"children":4264},{"style":485},[4265],{"type":26,"value":2277},{"type":30,"tagName":463,"properties":4267,"children":4268},{"style":685},[4269],{"type":26,"value":4059},{"type":30,"tagName":463,"properties":4271,"children":4272},{"style":485},[4273],{"type":26,"value":4274},"(rsiLen); ",{"type":30,"tagName":463,"properties":4276,"children":4277},{"style":685},[4278],{"type":26,"value":4041},{"type":30,"tagName":463,"properties":4280,"children":4281},{"style":485},[4282],{"type":26,"value":693},{"type":30,"tagName":463,"properties":4284,"children":4285},{"style":496},[4286],{"type":26,"value":4077},{"type":30,"tagName":463,"properties":4288,"children":4289},{"style":485},[4290],{"type":26,"value":2277},{"type":30,"tagName":463,"properties":4292,"children":4293},{"style":685},[4294],{"type":26,"value":4125},{"type":30,"tagName":463,"properties":4296,"children":4297},{"style":485},[4298],{"type":26,"value":4299},"(rsi14, ",{"type":30,"tagName":463,"properties":4301,"children":4302},{"style":705},[4303],{"type":26,"value":1163},{"type":30,"tagName":463,"properties":4305,"children":4306},{"style":485},[4307],{"type":26,"value":4308},"); rows[",{"type":30,"tagName":463,"properties":4310,"children":4311},{"style":705},[4312],{"type":26,"value":1163},{"type":30,"tagName":463,"properties":4314,"children":4315},{"style":485},[4316],{"type":26,"value":4178},{"type":30,"tagName":463,"properties":4318,"children":4319},{"style":685},[4320],{"type":26,"value":3913},{"type":30,"tagName":463,"properties":4322,"children":4323},{"style":485},[4324],{"type":26,"value":693},{"type":30,"tagName":463,"properties":4326,"children":4327},{"style":705},[4328],{"type":26,"value":4191},{"type":30,"tagName":463,"properties":4330,"children":4331},{"style":485},[4332],{"type":26,"value":322},{"type":30,"tagName":463,"properties":4334,"children":4335},{"style":705},[4336],{"type":26,"value":708},{"type":30,"tagName":463,"properties":4338,"children":4339},{"style":485},[4340],{"type":26,"value":3952},{"type":30,"tagName":463,"properties":4342,"children":4343},{"style":685},[4344],{"type":26,"value":26},{"type":30,"tagName":463,"properties":4346,"children":4347},{"style":485},[4348],{"type":26,"value":4349},"(str_text_sb);",{"type":26,"value":27},{"type":30,"tagName":463,"properties":4352,"children":4353},{"class":465},[4354,4358,4362,4366,4370,4375,4379,4383,4388,4392,4396,4400,4404,4408,4412,4416,4420,4425,4429,4433],{"type":30,"tagName":463,"properties":4355,"children":4356},{"style":685},[4357],{"type":26,"value":4032},{"type":30,"tagName":463,"properties":4359,"children":4360},{"style":485},[4361],{"type":26,"value":2895},{"type":30,"tagName":463,"properties":4363,"children":4364},{"style":685},[4365],{"type":26,"value":4041},{"type":30,"tagName":463,"properties":4367,"children":4368},{"style":485},[4369],{"type":26,"value":693},{"type":30,"tagName":463,"properties":4371,"children":4372},{"style":496},[4373],{"type":26,"value":4374},"\"ATR%    \"",{"type":30,"tagName":463,"properties":4376,"children":4377},{"style":485},[4378],{"type":26,"value":2277},{"type":30,"tagName":463,"properties":4380,"children":4381},{"style":685},[4382],{"type":26,"value":4125},{"type":30,"tagName":463,"properties":4384,"children":4385},{"style":485},[4386],{"type":26,"value":4387},"(atrPct, ",{"type":30,"tagName":463,"properties":4389,"children":4390},{"style":705},[4391],{"type":26,"value":718},{"type":30,"tagName":463,"properties":4393,"children":4394},{"style":485},[4395],{"type":26,"value":4308},{"type":30,"tagName":463,"properties":4397,"children":4398},{"style":705},[4399],{"type":26,"value":718},{"type":30,"tagName":463,"properties":4401,"children":4402},{"style":485},[4403],{"type":26,"value":4178},{"type":30,"tagName":463,"properties":4405,"children":4406},{"style":685},[4407],{"type":26,"value":3913},{"type":30,"tagName":463,"properties":4409,"children":4410},{"style":485},[4411],{"type":26,"value":693},{"type":30,"tagName":463,"properties":4413,"children":4414},{"style":705},[4415],{"type":26,"value":4191},{"type":30,"tagName":463,"properties":4417,"children":4418},{"style":485},[4419],{"type":26,"value":322},{"type":30,"tagName":463,"properties":4421,"children":4422},{"style":705},[4423],{"type":26,"value":4424},"70",{"type":30,"tagName":463,"properties":4426,"children":4427},{"style":485},[4428],{"type":26,"value":3952},{"type":30,"tagName":463,"properties":4430,"children":4431},{"style":685},[4432],{"type":26,"value":26},{"type":30,"tagName":463,"properties":4434,"children":4435},{"style":485},[4436],{"type":26,"value":4349},{"type":26,"value":27},{"type":30,"tagName":463,"properties":4439,"children":4440},{"class":465},[4441,4445,4449,4453,4458,4462,4467,4471,4475,4479,4484,4488,4493,4497,4501,4505,4509,4513,4517,4521,4526,4530,4534,4538,4542],{"type":30,"tagName":463,"properties":4442,"children":4443},{"style":685},[4444],{"type":26,"value":4032},{"type":30,"tagName":463,"properties":4446,"children":4447},{"style":485},[4448],{"type":26,"value":2895},{"type":30,"tagName":463,"properties":4450,"children":4451},{"style":685},[4452],{"type":26,"value":4041},{"type":30,"tagName":463,"properties":4454,"children":4455},{"style":485},[4456],{"type":26,"value":4457},"(bullish ",{"type":30,"tagName":463,"properties":4459,"children":4460},{"style":479},[4461],{"type":26,"value":3442},{"type":30,"tagName":463,"properties":4463,"children":4464},{"style":496},[4465],{"type":26,"value":4466}," \"BULLISH\"",{"type":30,"tagName":463,"properties":4468,"children":4469},{"style":479},[4470],{"type":26,"value":3204},{"type":30,"tagName":463,"properties":4472,"children":4473},{"style":485},[4474],{"type":26,"value":3800},{"type":30,"tagName":463,"properties":4476,"children":4477},{"style":479},[4478],{"type":26,"value":3442},{"type":30,"tagName":463,"properties":4480,"children":4481},{"style":496},[4482],{"type":26,"value":4483}," \"BEARISH\"",{"type":30,"tagName":463,"properties":4485,"children":4486},{"style":479},[4487],{"type":26,"value":3204},{"type":30,"tagName":463,"properties":4489,"children":4490},{"style":496},[4491],{"type":26,"value":4492}," \"NEUTRAL\"",{"type":30,"tagName":463,"properties":4494,"children":4495},{"style":485},[4496],{"type":26,"value":4308},{"type":30,"tagName":463,"properties":4498,"children":4499},{"style":705},[4500],{"type":26,"value":2364},{"type":30,"tagName":463,"properties":4502,"children":4503},{"style":485},[4504],{"type":26,"value":4178},{"type":30,"tagName":463,"properties":4506,"children":4507},{"style":685},[4508],{"type":26,"value":3913},{"type":30,"tagName":463,"properties":4510,"children":4511},{"style":485},[4512],{"type":26,"value":693},{"type":30,"tagName":463,"properties":4514,"children":4515},{"style":705},[4516],{"type":26,"value":4191},{"type":30,"tagName":463,"properties":4518,"children":4519},{"style":485},[4520],{"type":26,"value":322},{"type":30,"tagName":463,"properties":4522,"children":4523},{"style":705},[4524],{"type":26,"value":4525},"94",{"type":30,"tagName":463,"properties":4527,"children":4528},{"style":485},[4529],{"type":26,"value":3952},{"type":30,"tagName":463,"properties":4531,"children":4532},{"style":685},[4533],{"type":26,"value":26},{"type":30,"tagName":463,"properties":4535,"children":4536},{"style":485},[4537],{"type":26,"value":4213},{"type":30,"tagName":463,"properties":4539,"children":4540},{"style":685},[4541],{"type":26,"value":3957},{"type":30,"tagName":463,"properties":4543,"children":4544},{"style":485},[4545],{"type":26,"value":4546},"(tone);",{"type":26,"value":27},{"type":30,"tagName":463,"properties":4549,"children":4550},{"class":465},[4551],{"type":30,"tagName":463,"properties":4552,"children":4553},{"style":485},[4554],{"type":26,"value":1845},{"type":26,"value":27},{"type":30,"tagName":463,"properties":4557,"children":4558},{"class":465},[4559,4564],{"type":30,"tagName":463,"properties":4560,"children":4561},{"style":685},[4562],{"type":26,"value":4563},"  emitRow",{"type":30,"tagName":463,"properties":4565,"children":4566},{"style":485},[4567],{"type":26,"value":2940},{"type":26,"value":27},{"type":30,"tagName":463,"properties":4570,"children":4571},{"class":465},[4572],{"type":30,"tagName":463,"properties":4573,"children":4574},{"style":485},[4575],{"type":26,"value":1943},{"type":26,"value":27},{"type":30,"tagName":463,"properties":4578,"children":4579},{"class":465},[4580],{"type":30,"tagName":463,"properties":4581,"children":4582},{"style":469},[4583],{"type":26,"value":4584},"// reset() runs when the chart restarts the series: back to the start; the host rolls the handles back beside the module state.",{"type":26,"value":27},{"type":30,"tagName":463,"properties":4587,"children":4588},{"class":465},[4589,4593,4597,4602,4606,4610,4614],{"type":30,"tagName":463,"properties":4590,"children":4591},{"style":479},[4592],{"type":26,"value":2558},{"type":30,"tagName":463,"properties":4594,"children":4595},{"style":479},[4596],{"type":26,"value":2563},{"type":30,"tagName":463,"properties":4598,"children":4599},{"style":685},[4600],{"type":26,"value":4601}," reset",{"type":30,"tagName":463,"properties":4603,"children":4604},{"style":485},[4605],{"type":26,"value":1859},{"type":30,"tagName":463,"properties":4607,"children":4608},{"style":479},[4609],{"type":26,"value":1377},{"type":30,"tagName":463,"properties":4611,"children":4612},{"style":705},[4613],{"type":26,"value":1868},{"type":30,"tagName":463,"properties":4615,"children":4616},{"style":485},[4617],{"type":26,"value":1362},{"type":26,"value":27},{"type":30,"tagName":463,"properties":4620,"children":4621},{"class":465},[4622,4627,4632,4637,4641,4646,4650,4655,4659,4664,4668,4672,4677,4681,4685,4690,4694,4698,4703,4707,4711,4716,4720,4724],{"type":30,"tagName":463,"properties":4623,"children":4624},{"style":485},[4625],{"type":26,"value":4626},"  emaOfClose.",{"type":30,"tagName":463,"properties":4628,"children":4629},{"style":685},[4630],{"type":26,"value":4631},"reset",{"type":30,"tagName":463,"properties":4633,"children":4634},{"style":485},[4635],{"type":26,"value":4636},"(); gains.",{"type":30,"tagName":463,"properties":4638,"children":4639},{"style":685},[4640],{"type":26,"value":4631},{"type":30,"tagName":463,"properties":4642,"children":4643},{"style":485},[4644],{"type":26,"value":4645},"(); losses.",{"type":30,"tagName":463,"properties":4647,"children":4648},{"style":685},[4649],{"type":26,"value":4631},{"type":30,"tagName":463,"properties":4651,"children":4652},{"style":485},[4653],{"type":26,"value":4654},"(); ranges.",{"type":30,"tagName":463,"properties":4656,"children":4657},{"style":685},[4658],{"type":26,"value":4631},{"type":30,"tagName":463,"properties":4660,"children":4661},{"style":485},[4662],{"type":26,"value":4663},"(); close ",{"type":30,"tagName":463,"properties":4665,"children":4666},{"style":479},[4667],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":4669,"children":4670},{"style":705},[4671],{"type":26,"value":1479},{"type":30,"tagName":463,"properties":4673,"children":4674},{"style":485},[4675],{"type":26,"value":4676},"; prev ",{"type":30,"tagName":463,"properties":4678,"children":4679},{"style":479},[4680],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":4682,"children":4683},{"style":705},[4684],{"type":26,"value":1479},{"type":30,"tagName":463,"properties":4686,"children":4687},{"style":485},[4688],{"type":26,"value":4689},"; ema50 ",{"type":30,"tagName":463,"properties":4691,"children":4692},{"style":479},[4693],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":4695,"children":4696},{"style":705},[4697],{"type":26,"value":1479},{"type":30,"tagName":463,"properties":4699,"children":4700},{"style":485},[4701],{"type":26,"value":4702},"; rsi14 ",{"type":30,"tagName":463,"properties":4704,"children":4705},{"style":479},[4706],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":4708,"children":4709},{"style":705},[4710],{"type":26,"value":1479},{"type":30,"tagName":463,"properties":4712,"children":4713},{"style":485},[4714],{"type":26,"value":4715},"; atrPct ",{"type":30,"tagName":463,"properties":4717,"children":4718},{"style":479},[4719],{"type":26,"value":1546},{"type":30,"tagName":463,"properties":4721,"children":4722},{"style":705},[4723],{"type":26,"value":1479},{"type":30,"tagName":463,"properties":4725,"children":4726},{"style":485},[4727],{"type":26,"value":1484},{"type":26,"value":27},{"type":30,"tagName":463,"properties":4730,"children":4731},{"class":465},[4732],{"type":30,"tagName":463,"properties":4733,"children":4734},{"style":485},[4735],{"type":26,"value":1943},{"type":26,"value":27},{"type":30,"tagName":431,"properties":4738,"children":4740,"position":4750},{"id":4739},"how-it-works",[4741],{"type":26,"value":4742,"position":4743},"How it works",{"start":4744,"end":4747},{"line":4745,"column":440,"offset":4746},95,9560,{"line":4745,"column":4748,"offset":4749},16,9572,{"start":4751,"end":4753},{"line":4745,"column":20,"offset":4752},9557,{"line":4745,"column":4748,"offset":4749},{"type":26,"value":27},{"type":30,"tagName":31,"properties":4756,"children":4757,"position":4963},{},[4758,4778,4785,4798,4804,4817,4824,4837,4844,4857,4864,4876,4882,4895,4901,4914,4920,4933,4940,4956],{"type":30,"tagName":4759,"properties":4760,"children":4761,"position":4772},"strong",{},[4762],{"type":26,"value":4763,"position":4764},"Anchor: pixels from the pane edge.",{"start":4765,"end":4769},{"line":4766,"column":4767,"offset":4768},97,3,9576,{"line":4766,"column":4770,"offset":4771},37,9610,{"start":4773,"end":4775},{"line":4766,"column":20,"offset":4774},9574,{"line":4766,"column":4776,"offset":4777},39,9612,{"type":26,"value":4779,"position":4780}," ",{"start":4781,"end":4782},{"line":4766,"column":4776,"offset":4777},{"line":4766,"column":4783,"offset":4784},40,9613,{"type":30,"tagName":44,"properties":4786,"children":4787,"position":4795},{},[4788],{"type":26,"value":4789,"position":4790},"handles.box({ anchor: \"top_left\", ... })",{"start":4791,"end":4792},{"line":4766,"column":4783,"offset":4784},{"line":4766,"column":4793,"offset":4794},82,9655,{"start":4796,"end":4797},{"line":4766,"column":4783,"offset":4784},{"line":4766,"column":4793,"offset":4794},{"type":26,"value":244,"position":4799},{"start":4800,"end":4801},{"line":4766,"column":4793,"offset":4794},{"line":4766,"column":4802,"offset":4803},87,9660,{"type":30,"tagName":44,"properties":4805,"children":4806,"position":4814},{},[4807],{"type":26,"value":4808,"position":4809},"handles.label({ anchor: \"top_left\", ... })",{"start":4810,"end":4811},{"line":4766,"column":4802,"offset":4803},{"line":4766,"column":4812,"offset":4813},131,9704,{"start":4815,"end":4816},{"line":4766,"column":4802,"offset":4803},{"line":4766,"column":4812,"offset":4813},{"type":26,"value":4818,"position":4819}," enable the two kinds and set the defaults every new box and label starts from. With the anchor word, ",{"start":4820,"end":4821},{"line":4766,"column":4812,"offset":4813},{"line":4766,"column":4822,"offset":4823},233,9806,{"type":30,"tagName":44,"properties":4825,"children":4826,"position":4834},{},[4827],{"type":26,"value":4828,"position":4829},"backdrop.set(12, 12, 172, 112)",{"start":4830,"end":4831},{"line":4766,"column":4822,"offset":4823},{"line":4766,"column":4832,"offset":4833},265,9838,{"start":4835,"end":4836},{"line":4766,"column":4822,"offset":4823},{"line":4766,"column":4832,"offset":4833},{"type":26,"value":4838,"position":4839}," is a box from 12 px to 172 px across and 12 px to 112 px down from the pane's top-left corner, and ",{"start":4840,"end":4841},{"line":4766,"column":4832,"offset":4833},{"line":4766,"column":4842,"offset":4843},365,9938,{"type":30,"tagName":44,"properties":4845,"children":4846,"position":4854},{},[4847],{"type":26,"value":4848,"position":4849},"rows[1].set(22, 50)",{"start":4850,"end":4851},{"line":4766,"column":4842,"offset":4843},{"line":4766,"column":4852,"offset":4853},386,9959,{"start":4855,"end":4856},{"line":4766,"column":4842,"offset":4843},{"line":4766,"column":4852,"offset":4853},{"type":26,"value":4858,"position":4859}," puts a label 22 px in and 50 px down; the chart can pan to last year or zoom to a minute and the HUD does not move. Without the word the same numbers would be epoch seconds and prices, and the readout would scroll away with the bars. The nine corner and centre words pin both axes; ",{"start":4860,"end":4861},{"line":4766,"column":4852,"offset":4853},{"line":4766,"column":4862,"offset":4863},669,10242,{"type":30,"tagName":44,"properties":4865,"children":4866,"position":4873},{},[4867],{"type":26,"value":4868,"position":4869},"top",{"start":4870,"end":4871},{"line":4766,"column":4862,"offset":4863},{"line":4766,"column":101,"offset":4872},10247,{"start":4874,"end":4875},{"line":4766,"column":4862,"offset":4863},{"line":4766,"column":101,"offset":4872},{"type":26,"value":322,"position":4877},{"start":4878,"end":4879},{"line":4766,"column":101,"offset":4872},{"line":4766,"column":4880,"offset":4881},676,10249,{"type":30,"tagName":44,"properties":4883,"children":4884,"position":4892},{},[4885],{"type":26,"value":4886,"position":4887},"bottom",{"start":4888,"end":4889},{"line":4766,"column":4880,"offset":4881},{"line":4766,"column":4890,"offset":4891},684,10257,{"start":4893,"end":4894},{"line":4766,"column":4880,"offset":4881},{"line":4766,"column":4890,"offset":4891},{"type":26,"value":322,"position":4896},{"start":4897,"end":4898},{"line":4766,"column":4890,"offset":4891},{"line":4766,"column":4899,"offset":4900},686,10259,{"type":30,"tagName":44,"properties":4902,"children":4903,"position":4911},{},[4904],{"type":26,"value":4905,"position":4906},"left",{"start":4907,"end":4908},{"line":4766,"column":4899,"offset":4900},{"line":4766,"column":4909,"offset":4910},692,10265,{"start":4912,"end":4913},{"line":4766,"column":4899,"offset":4900},{"line":4766,"column":4909,"offset":4910},{"type":26,"value":244,"position":4915},{"start":4916,"end":4917},{"line":4766,"column":4909,"offset":4910},{"line":4766,"column":4918,"offset":4919},697,10270,{"type":30,"tagName":44,"properties":4921,"children":4922,"position":4930},{},[4923],{"type":26,"value":4924,"position":4925},"right",{"start":4926,"end":4927},{"line":4766,"column":4918,"offset":4919},{"line":4766,"column":4928,"offset":4929},704,10277,{"start":4931,"end":4932},{"line":4766,"column":4918,"offset":4919},{"line":4766,"column":4928,"offset":4929},{"type":26,"value":4934,"position":4935}," pin one axis and leave the other on chart time or price (",{"start":4936,"end":4937},{"line":4766,"column":4928,"offset":4929},{"line":4766,"column":4938,"offset":4939},762,10335,{"type":30,"tagName":85,"properties":4941,"children":4942,"position":4951},{"href":128},[4943],{"type":26,"value":131,"position":4944},{"start":4945,"end":4948},{"line":4766,"column":4946,"offset":4947},763,10336,{"line":4766,"column":4949,"offset":4950},778,10351,{"start":4952,"end":4953},{"line":4766,"column":4938,"offset":4939},{"line":4766,"column":4954,"offset":4955},812,10385,{"type":26,"value":4957,"position":4958}," lists them).",{"start":4959,"end":4960},{"line":4766,"column":4954,"offset":4955},{"line":4766,"column":4961,"offset":4962},825,10398,{"start":4964,"end":4965},{"line":4766,"column":20,"offset":4774},{"line":4766,"column":4961,"offset":4962},{"type":26,"value":27},{"type":30,"tagName":31,"properties":4968,"children":4969,"position":5172},{},[4970,4987,4994,5007,5013,5026,5033,5045,5052,5065,5072,5085,5092,5105,5112,5125,5132,5145,5152,5165],{"type":30,"tagName":4759,"properties":4971,"children":4972,"position":4981},{},[4973],{"type":26,"value":4974,"position":4975},"Align: the text starts at x.",{"start":4976,"end":4978},{"line":124,"column":4767,"offset":4977},10402,{"line":124,"column":4979,"offset":4980},31,10430,{"start":4982,"end":4984},{"line":124,"column":20,"offset":4983},10400,{"line":124,"column":4985,"offset":4986},33,10432,{"type":26,"value":4988,"position":4989}," A label is placed by one point, and by default its text is centred on that point, so ",{"start":4990,"end":4991},{"line":124,"column":4985,"offset":4986},{"line":124,"column":4992,"offset":4993},119,10518,{"type":30,"tagName":44,"properties":4995,"children":4996,"position":5004},{},[4997],{"type":26,"value":4998,"position":4999},"RSI 14  61.4",{"start":5000,"end":5001},{"line":124,"column":4992,"offset":4993},{"line":124,"column":5002,"offset":5003},133,10532,{"start":5005,"end":5006},{"line":124,"column":4992,"offset":4993},{"line":124,"column":5002,"offset":5003},{"type":26,"value":244,"position":5008},{"start":5009,"end":5010},{"line":124,"column":5002,"offset":5003},{"line":124,"column":5011,"offset":5012},138,10537,{"type":30,"tagName":44,"properties":5014,"children":5015,"position":5023},{},[5016],{"type":26,"value":5017,"position":5018},"BULLISH",{"start":5019,"end":5020},{"line":124,"column":5011,"offset":5012},{"line":124,"column":5021,"offset":5022},147,10546,{"start":5024,"end":5025},{"line":124,"column":5011,"offset":5012},{"line":124,"column":5021,"offset":5022},{"type":26,"value":5027,"position":5028}," would centre on different widths and the columns would drift. ",{"start":5029,"end":5030},{"line":124,"column":5021,"offset":5022},{"line":124,"column":5031,"offset":5032},210,10609,{"type":30,"tagName":44,"properties":5034,"children":5035,"position":5042},{},[5036],{"type":26,"value":175,"position":5037},{"start":5038,"end":5039},{"line":124,"column":5031,"offset":5032},{"line":124,"column":5040,"offset":5041},225,10624,{"start":5043,"end":5044},{"line":124,"column":5031,"offset":5032},{"line":124,"column":5040,"offset":5041},{"type":26,"value":5046,"position":5047}," makes the text start at x instead; the four rows share x = 22, so their first characters sit on one vertical line and the gaps after the names read as columns. The declaration is the default every new label is created with. ",{"start":5048,"end":5049},{"line":124,"column":5040,"offset":5041},{"line":124,"column":5050,"offset":5051},450,10849,{"type":30,"tagName":44,"properties":5053,"children":5054,"position":5062},{},[5055],{"type":26,"value":5056,"position":5057},"rows[0].set(22, 30).text(str_text_sb).align(ALIGN_LEFT)",{"start":5058,"end":5059},{"line":124,"column":5050,"offset":5051},{"line":124,"column":5060,"offset":5061},507,10906,{"start":5063,"end":5064},{"line":124,"column":5050,"offset":5051},{"line":124,"column":5060,"offset":5061},{"type":26,"value":5066,"position":5067}," is the per-handle call (it needs a live label, so it follows ",{"start":5068,"end":5069},{"line":124,"column":5060,"offset":5061},{"line":124,"column":5070,"offset":5071},569,10968,{"type":30,"tagName":44,"properties":5073,"children":5074,"position":5082},{},[5075],{"type":26,"value":5076,"position":5077},"text(...)",{"start":5078,"end":5079},{"line":124,"column":5070,"offset":5071},{"line":124,"column":5080,"offset":5081},580,10979,{"start":5083,"end":5084},{"line":124,"column":5070,"offset":5071},{"line":124,"column":5080,"offset":5081},{"type":26,"value":5086,"position":5087},"), and the call wins for that handle: a new label is created with the sheet's word copied in, and the call overwrites the handle's own word from then on. Here both say left, so nothing changes; ",{"start":5088,"end":5089},{"line":124,"column":5080,"offset":5081},{"line":124,"column":5090,"offset":5091},774,11173,{"type":30,"tagName":44,"properties":5093,"children":5094,"position":5102},{},[5095],{"type":26,"value":5096,"position":5097},"ALIGN_RIGHT",{"start":5098,"end":5099},{"line":124,"column":5090,"offset":5091},{"line":124,"column":5100,"offset":5101},787,11186,{"start":5103,"end":5104},{"line":124,"column":5090,"offset":5091},{"line":124,"column":5100,"offset":5101},{"type":26,"value":5106,"position":5107}," on that row would right-align it while the other three stay left, and ",{"start":5108,"end":5109},{"line":124,"column":5100,"offset":5101},{"line":124,"column":5110,"offset":5111},858,11257,{"type":30,"tagName":44,"properties":5113,"children":5114,"position":5122},{},[5115],{"type":26,"value":5116,"position":5117},"ALIGN_DEFAULT",{"start":5118,"end":5119},{"line":124,"column":5110,"offset":5111},{"line":124,"column":5120,"offset":5121},873,11272,{"start":5123,"end":5124},{"line":124,"column":5110,"offset":5111},{"line":124,"column":5120,"offset":5121},{"type":26,"value":5126,"position":5127}," clears the word on that handle and centres it again, sheet default or not. ",{"start":5128,"end":5129},{"line":124,"column":5120,"offset":5121},{"line":124,"column":5130,"offset":5131},949,11348,{"type":30,"tagName":44,"properties":5133,"children":5134,"position":5142},{},[5135],{"type":26,"value":5136,"position":5137},"anchor(...)",{"start":5138,"end":5139},{"line":124,"column":5130,"offset":5131},{"line":124,"column":5140,"offset":5141},962,11361,{"start":5143,"end":5144},{"line":124,"column":5130,"offset":5131},{"line":124,"column":5140,"offset":5141},{"type":26,"value":5146,"position":5147}," works the same way (prop 7 on the style channel, beside align's prop 8): a per-handle call overrides the declared default for that one handle, and ",{"start":5148,"end":5149},{"line":124,"column":5140,"offset":5141},{"line":124,"column":5150,"offset":5151},1110,11509,{"type":30,"tagName":44,"properties":5153,"children":5154,"position":5162},{},[5155],{"type":26,"value":5156,"position":5157},"ANCHOR_CHART",{"start":5158,"end":5159},{"line":124,"column":5150,"offset":5151},{"line":124,"column":5160,"offset":5161},1124,11523,{"start":5163,"end":5164},{"line":124,"column":5150,"offset":5151},{"line":124,"column":5160,"offset":5161},{"type":26,"value":5166,"position":5167}," puts it back on chart time and price.",{"start":5168,"end":5169},{"line":124,"column":5160,"offset":5161},{"line":124,"column":5170,"offset":5171},1162,11561,{"start":5173,"end":5174},{"line":124,"column":20,"offset":4983},{"line":124,"column":5170,"offset":5171},{"type":26,"value":27},{"type":30,"tagName":31,"properties":5177,"children":5178,"position":5223},{},[5179,5197,5203,5216],{"type":30,"tagName":4759,"properties":5180,"children":5181,"position":5191},{},[5182],{"type":26,"value":5183,"position":5184},"The live bar only.",{"start":5185,"end":5188},{"line":5186,"column":4767,"offset":5187},101,11565,{"line":5186,"column":5189,"offset":5190},21,11583,{"start":5192,"end":5194},{"line":5186,"column":20,"offset":5193},11563,{"line":5186,"column":5195,"offset":5196},23,11585,{"type":26,"value":4779,"position":5198},{"start":5199,"end":5200},{"line":5186,"column":5195,"offset":5196},{"line":5186,"column":5201,"offset":5202},24,11586,{"type":30,"tagName":44,"properties":5204,"children":5205,"position":5213},{},[5206],{"type":26,"value":5207,"position":5208},"bar.isLast()",{"start":5209,"end":5210},{"line":5186,"column":5201,"offset":5202},{"line":5186,"column":5211,"offset":5212},38,11600,{"start":5214,"end":5215},{"line":5186,"column":5201,"offset":5202},{"line":5186,"column":5211,"offset":5212},{"type":26,"value":5217,"position":5218}," is true on the newest bar the host holds (the last row of a full run, the forming bar live) and false on every earlier bar. The whole HUD sits behind it, so a history bar writes its four outputs, emits its row and draws nothing; only the newest bar creates the box and the four labels, and each refresh draws them once. When the forming bar ticks, the host rolls the handles back beside the module state and replays that bar, so the box is created again, never stacked. Without the guard every history bar would paint the same HUD on top of itself, once per bar, for nothing.",{"start":5219,"end":5220},{"line":5186,"column":5211,"offset":5212},{"line":5186,"column":5221,"offset":5222},614,12176,{"start":5224,"end":5225},{"line":5186,"column":20,"offset":5193},{"line":5186,"column":5221,"offset":5222},{"type":26,"value":27},{"type":30,"tagName":31,"properties":5228,"children":5229,"position":5629},{},[5230,5247,5253,5266,5273,5285,5292,5305,5311,5324,5331,5344,5351,5364,5371,5384,5391,5404,5411,5424,5431,5442,5449,5462,5468,5481,5487,5499,5506,5519,5526,5539,5546,5558,5565,5577,5583,5598,5604,5622],{"type":30,"tagName":4759,"properties":5231,"children":5232,"position":5241},{},[5233],{"type":26,"value":5234,"position":5235},"Three numbers, one recurrence.",{"start":5236,"end":5239},{"line":5237,"column":4767,"offset":5238},103,12180,{"line":5237,"column":4985,"offset":5240},12210,{"start":5242,"end":5244},{"line":5237,"column":20,"offset":5243},12178,{"line":5237,"column":5245,"offset":5246},35,12212,{"type":26,"value":4779,"position":5248},{"start":5249,"end":5250},{"line":5237,"column":5245,"offset":5246},{"line":5237,"column":5251,"offset":5252},36,12213,{"type":30,"tagName":44,"properties":5254,"children":5255,"position":5263},{},[5256],{"type":26,"value":5257,"position":5258},"Smoother",{"start":5259,"end":5260},{"line":5237,"column":5251,"offset":5252},{"line":5237,"column":5261,"offset":5262},46,12223,{"start":5264,"end":5265},{"line":5237,"column":5251,"offset":5252},{"line":5237,"column":5261,"offset":5262},{"type":26,"value":5267,"position":5268}," seeds with a plain average over the first ",{"start":5269,"end":5270},{"line":5237,"column":5261,"offset":5262},{"line":5237,"column":5271,"offset":5272},89,12266,{"type":30,"tagName":44,"properties":5274,"children":5275,"position":5282},{},[5276],{"type":26,"value":1502,"position":5277},{"start":5278,"end":5279},{"line":5237,"column":5271,"offset":5272},{"line":5237,"column":5280,"offset":5281},92,12269,{"start":5283,"end":5284},{"line":5237,"column":5271,"offset":5272},{"line":5237,"column":5280,"offset":5281},{"type":26,"value":5286,"position":5287}," values, then folds each new value in with ",{"start":5288,"end":5289},{"line":5237,"column":5280,"offset":5281},{"line":5237,"column":5290,"offset":5291},135,12312,{"type":30,"tagName":44,"properties":5293,"children":5294,"position":5302},{},[5295],{"type":26,"value":5296,"position":5297},"value += (x - value) * alpha",{"start":5298,"end":5299},{"line":5237,"column":5290,"offset":5291},{"line":5237,"column":5300,"offset":5301},165,12342,{"start":5303,"end":5304},{"line":5237,"column":5290,"offset":5291},{"line":5237,"column":5300,"offset":5301},{"type":26,"value":5306,"position":5307},". With ",{"start":5308,"end":5309},{"line":5237,"column":5300,"offset":5301},{"line":5237,"column":159,"offset":5310},12349,{"type":30,"tagName":44,"properties":5312,"children":5313,"position":5321},{},[5314],{"type":26,"value":5315,"position":5316},"alpha = 1 / n",{"start":5317,"end":5318},{"line":5237,"column":159,"offset":5310},{"line":5237,"column":5319,"offset":5320},187,12364,{"start":5322,"end":5323},{"line":5237,"column":159,"offset":5310},{"line":5237,"column":5319,"offset":5320},{"type":26,"value":5325,"position":5326}," that is Wilder smoothing, what the ",{"start":5327,"end":5328},{"line":5237,"column":5319,"offset":5320},{"line":5237,"column":5329,"offset":5330},223,12400,{"type":30,"tagName":44,"properties":5332,"children":5333,"position":5341},{},[5334],{"type":26,"value":5335,"position":5336},"Rma",{"start":5337,"end":5338},{"line":5237,"column":5329,"offset":5330},{"line":5237,"column":5339,"offset":5340},228,12405,{"start":5342,"end":5343},{"line":5237,"column":5329,"offset":5330},{"line":5237,"column":5339,"offset":5340},{"type":26,"value":5345,"position":5346}," helper and every RSI and ATR use; with ",{"start":5347,"end":5348},{"line":5237,"column":5339,"offset":5340},{"line":5237,"column":5349,"offset":5350},268,12445,{"type":30,"tagName":44,"properties":5352,"children":5353,"position":5361},{},[5354],{"type":26,"value":5355,"position":5356},"alpha = 2 / (n + 1)",{"start":5357,"end":5358},{"line":5237,"column":5349,"offset":5350},{"line":5237,"column":5359,"offset":5360},289,12466,{"start":5362,"end":5363},{"line":5237,"column":5349,"offset":5350},{"line":5237,"column":5359,"offset":5360},{"type":26,"value":5365,"position":5366}," it is the EMA, seeded the way the ",{"start":5367,"end":5368},{"line":5237,"column":5359,"offset":5360},{"line":5237,"column":5369,"offset":5370},324,12501,{"type":30,"tagName":44,"properties":5372,"children":5373,"position":5381},{},[5374],{"type":26,"value":5375,"position":5376},"Ema",{"start":5377,"end":5378},{"line":5237,"column":5369,"offset":5370},{"line":5237,"column":5379,"offset":5380},329,12506,{"start":5382,"end":5383},{"line":5237,"column":5369,"offset":5370},{"line":5237,"column":5379,"offset":5380},{"type":26,"value":5385,"position":5386}," helper in ",{"start":5387,"end":5388},{"line":5237,"column":5379,"offset":5380},{"line":5237,"column":5389,"offset":5390},340,12517,{"type":30,"tagName":44,"properties":5392,"children":5393,"position":5401},{},[5394],{"type":26,"value":5395,"position":5396},"./sdk/ta",{"start":5397,"end":5398},{"line":5237,"column":5389,"offset":5390},{"line":5237,"column":5399,"offset":5400},350,12527,{"start":5402,"end":5403},{"line":5237,"column":5389,"offset":5390},{"line":5237,"column":5399,"offset":5400},{"type":26,"value":5405,"position":5406}," seeds. RSI is two of them, over the bar's gains and over its losses, then ",{"start":5407,"end":5408},{"line":5237,"column":5399,"offset":5400},{"line":5237,"column":5409,"offset":5410},425,12602,{"type":30,"tagName":44,"properties":5412,"children":5413,"position":5421},{},[5414],{"type":26,"value":5415,"position":5416},"100 - 100 / (1 + gain / loss)",{"start":5417,"end":5418},{"line":5237,"column":5409,"offset":5410},{"line":5237,"column":5419,"offset":5420},456,12633,{"start":5422,"end":5423},{"line":5237,"column":5409,"offset":5410},{"line":5237,"column":5419,"offset":5420},{"type":26,"value":5425,"position":5426},"; ATR is one of them over the true range, divided by the close and scaled to a percent. The periods are the three params, read in ",{"start":5427,"end":5428},{"line":5237,"column":5419,"offset":5420},{"line":5237,"column":5429,"offset":5430},586,12763,{"type":30,"tagName":44,"properties":5432,"children":5433,"position":5439},{},[5434],{"type":26,"value":371,"position":5435},{"start":5436,"end":5437},{"line":5237,"column":5429,"offset":5430},{"line":5237,"column":297,"offset":5438},12771,{"start":5440,"end":5441},{"line":5237,"column":5429,"offset":5430},{"line":5237,"column":297,"offset":5438},{"type":26,"value":5443,"position":5444}," as ",{"start":5445,"end":5446},{"line":5237,"column":297,"offset":5438},{"line":5237,"column":5447,"offset":5448},598,12775,{"type":30,"tagName":44,"properties":5450,"children":5451,"position":5459},{},[5452],{"type":26,"value":5453,"position":5454},"p_ema_len()",{"start":5455,"end":5456},{"line":5237,"column":5447,"offset":5448},{"line":5237,"column":5457,"offset":5458},611,12788,{"start":5460,"end":5461},{"line":5237,"column":5447,"offset":5448},{"line":5237,"column":5457,"offset":5458},{"type":26,"value":322,"position":5463},{"start":5464,"end":5465},{"line":5237,"column":5457,"offset":5458},{"line":5237,"column":5466,"offset":5467},613,12790,{"type":30,"tagName":44,"properties":5469,"children":5470,"position":5478},{},[5471],{"type":26,"value":5472,"position":5473},"p_rsi_len()",{"start":5474,"end":5475},{"line":5237,"column":5466,"offset":5467},{"line":5237,"column":5476,"offset":5477},626,12803,{"start":5479,"end":5480},{"line":5237,"column":5466,"offset":5467},{"line":5237,"column":5476,"offset":5477},{"type":26,"value":244,"position":5482},{"start":5483,"end":5484},{"line":5237,"column":5476,"offset":5477},{"line":5237,"column":5485,"offset":5486},631,12808,{"type":30,"tagName":44,"properties":5488,"children":5489,"position":5496},{},[5490],{"type":26,"value":5491,"position":5492},"p_atr_len()",{"start":5493,"end":5494},{"line":5237,"column":5485,"offset":5486},{"line":5237,"column":93,"offset":5495},12821,{"start":5497,"end":5498},{"line":5237,"column":5485,"offset":5486},{"line":5237,"column":93,"offset":5495},{"type":26,"value":5500,"position":5501}," (params are ",{"start":5502,"end":5503},{"line":5237,"column":93,"offset":5495},{"line":5237,"column":5504,"offset":5505},657,12834,{"type":30,"tagName":44,"properties":5507,"children":5508,"position":5516},{},[5509],{"type":26,"value":5510,"position":5511},"f64",{"start":5512,"end":5513},{"line":5237,"column":5504,"offset":5505},{"line":5237,"column":5514,"offset":5515},662,12839,{"start":5517,"end":5518},{"line":5237,"column":5504,"offset":5505},{"line":5237,"column":5514,"offset":5515},{"type":26,"value":5520,"position":5521},", periods ",{"start":5522,"end":5523},{"line":5237,"column":5514,"offset":5515},{"line":5237,"column":5524,"offset":5525},672,12849,{"type":30,"tagName":44,"properties":5527,"children":5528,"position":5536},{},[5529],{"type":26,"value":5530,"position":5531},"i32",{"start":5532,"end":5533},{"line":5237,"column":5524,"offset":5525},{"line":5237,"column":5534,"offset":5535},677,12854,{"start":5537,"end":5538},{"line":5237,"column":5524,"offset":5525},{"line":5237,"column":5534,"offset":5535},{"type":26,"value":5540,"position":5541},") and used to build the smoothers there. A code-first source has no other way to say how many bars it needs: a metric read or a watch on your machine fetches the largest param default plus the ready row, 51 bars here, where a module without params would read three and never leave warmup. ",{"start":5542,"end":5543},{"line":5237,"column":5534,"offset":5535},{"line":5237,"column":5544,"offset":5545},966,13143,{"type":30,"tagName":44,"properties":5547,"children":5548,"position":5555},{},[5549],{"type":26,"value":48,"position":5550},{"start":5551,"end":5552},{"line":5237,"column":5544,"offset":5545},{"line":5237,"column":5553,"offset":5554},975,13152,{"start":5556,"end":5557},{"line":5237,"column":5544,"offset":5545},{"line":5237,"column":5553,"offset":5554},{"type":26,"value":5559,"position":5560}," returns 0 until all three are seeded, so the bars before the ",{"start":5561,"end":5562},{"line":5237,"column":5553,"offset":5554},{"line":5237,"column":5563,"offset":5564},1037,13214,{"type":30,"tagName":44,"properties":5566,"children":5567,"position":5574},{},[5568],{"type":26,"value":312,"position":5569},{"start":5570,"end":5571},{"line":5237,"column":5563,"offset":5564},{"line":5237,"column":5572,"offset":5573},1046,13223,{"start":5575,"end":5576},{"line":5237,"column":5563,"offset":5564},{"line":5237,"column":5572,"offset":5573},{"type":26,"value":5578,"position":5579},"th (the 50th by default) are warmup rows the chart leaves empty. The helpers in ",{"start":5580,"end":5581},{"line":5237,"column":5572,"offset":5573},{"line":5237,"column":125,"offset":5582},13303,{"type":30,"tagName":85,"properties":5584,"children":5586,"position":5594},{"href":5585},"../functions/moving-averages.md",[5587],{"type":26,"value":5588,"position":5589},"Moving averages",{"start":5590,"end":5592},{"line":5237,"column":135,"offset":5591},13304,{"line":5237,"column":138,"offset":5593},13319,{"start":5595,"end":5596},{"line":5237,"column":125,"offset":5582},{"line":5237,"column":143,"offset":5597},13353,{"type":26,"value":244,"position":5599},{"start":5600,"end":5601},{"line":5237,"column":143,"offset":5597},{"line":5237,"column":5602,"offset":5603},1181,13358,{"type":30,"tagName":85,"properties":5605,"children":5607,"position":5617},{"href":5606},"../functions/oscillators.md",[5608],{"type":26,"value":5609,"position":5610},"Oscillators",{"start":5611,"end":5614},{"line":5237,"column":5612,"offset":5613},1182,13359,{"line":5237,"column":5615,"offset":5616},1193,13370,{"start":5618,"end":5619},{"line":5237,"column":5602,"offset":5603},{"line":5237,"column":5620,"offset":5621},1223,13400,{"type":26,"value":5623,"position":5624}," do the same in one line each; the recurrence is written out here so the numbers behind the HUD are visible.",{"start":5625,"end":5626},{"line":5237,"column":5620,"offset":5621},{"line":5237,"column":5627,"offset":5628},1331,13508,{"start":5630,"end":5631},{"line":5237,"column":20,"offset":5243},{"line":5237,"column":5627,"offset":5628},{"type":26,"value":27},{"type":30,"tagName":31,"properties":5634,"children":5635,"position":5911},{},[5636,5654,5659,5672,5679,5691,5698,5711,5718,5731,5737,5749,5755,5767,5773,5786,5793,5805,5812,5825,5832,5844,5851,5864,5869,5882,5887,5905],{"type":30,"tagName":4759,"properties":5637,"children":5638,"position":5648},{},[5639],{"type":26,"value":5640,"position":5641},"The meter.",{"start":5642,"end":5645},{"line":5643,"column":4767,"offset":5644},105,13512,{"line":5643,"column":5646,"offset":5647},13,13522,{"start":5649,"end":5651},{"line":5643,"column":20,"offset":5650},13510,{"line":5643,"column":5652,"offset":5653},15,13524,{"type":26,"value":4779,"position":5655},{"start":5656,"end":5657},{"line":5643,"column":5652,"offset":5653},{"line":5643,"column":4748,"offset":5658},13525,{"type":30,"tagName":44,"properties":5660,"children":5661,"position":5669},{},[5662],{"type":26,"value":5663,"position":5664},"draw.meter({ name: \"rsi\", label: \"RSI 14\", fraction: { output: \"rsi_frac\" }, ramp: [...], anchor: \"top_right\" })",{"start":5665,"end":5666},{"line":5643,"column":4748,"offset":5658},{"line":5643,"column":5667,"offset":5668},130,13639,{"start":5670,"end":5671},{"line":5643,"column":4748,"offset":5658},{"line":5643,"column":5667,"offset":5668},{"type":26,"value":5673,"position":5674}," declares a meter the chart draws at the pane's top-right. It reads the last ready value of ",{"start":5675,"end":5676},{"line":5643,"column":5667,"offset":5668},{"line":5643,"column":5677,"offset":5678},222,13731,{"type":30,"tagName":44,"properties":5680,"children":5681,"position":5688},{},[5682],{"type":26,"value":254,"position":5683},{"start":5684,"end":5685},{"line":5643,"column":5677,"offset":5678},{"line":5643,"column":5686,"offset":5687},232,13741,{"start":5689,"end":5690},{"line":5643,"column":5677,"offset":5678},{"line":5643,"column":5686,"offset":5687},{"type":26,"value":5692,"position":5693},", which the module emits as ",{"start":5694,"end":5695},{"line":5643,"column":5686,"offset":5687},{"line":5643,"column":5696,"offset":5697},260,13769,{"type":30,"tagName":44,"properties":5699,"children":5700,"position":5708},{},[5701],{"type":26,"value":5702,"position":5703},"rsi14 / 100",{"start":5704,"end":5705},{"line":5643,"column":5696,"offset":5697},{"line":5643,"column":5706,"offset":5707},273,13782,{"start":5709,"end":5710},{"line":5643,"column":5696,"offset":5697},{"line":5643,"column":5706,"offset":5707},{"type":26,"value":5712,"position":5713},", a fraction from 0 to 1 the host does not clamp, and colours it along the ramp from red through grey to green. The declaration is validated and erased before the AssemblyScript build, so there is no accessor to call: emitting the output is the whole job. Its keys are ",{"start":5714,"end":5715},{"line":5643,"column":5706,"offset":5707},{"line":5643,"column":5716,"offset":5717},542,14051,{"type":30,"tagName":44,"properties":5719,"children":5720,"position":5728},{},[5721],{"type":26,"value":5722,"position":5723},"name",{"start":5724,"end":5725},{"line":5643,"column":5716,"offset":5717},{"line":5643,"column":5726,"offset":5727},548,14057,{"start":5729,"end":5730},{"line":5643,"column":5716,"offset":5717},{"line":5643,"column":5726,"offset":5727},{"type":26,"value":322,"position":5732},{"start":5733,"end":5734},{"line":5643,"column":5726,"offset":5727},{"line":5643,"column":5735,"offset":5736},550,14059,{"type":30,"tagName":44,"properties":5738,"children":5739,"position":5746},{},[5740],{"type":26,"value":1185,"position":5741},{"start":5742,"end":5743},{"line":5643,"column":5735,"offset":5736},{"line":5643,"column":5744,"offset":5745},557,14066,{"start":5747,"end":5748},{"line":5643,"column":5735,"offset":5736},{"line":5643,"column":5744,"offset":5745},{"type":26,"value":322,"position":5750},{"start":5751,"end":5752},{"line":5643,"column":5744,"offset":5745},{"line":5643,"column":5753,"offset":5754},559,14068,{"type":30,"tagName":44,"properties":5756,"children":5757,"position":5764},{},[5758],{"type":26,"value":5759,"position":5760},"fraction",{"start":5761,"end":5762},{"line":5643,"column":5753,"offset":5754},{"line":5643,"column":5070,"offset":5763},14078,{"start":5765,"end":5766},{"line":5643,"column":5753,"offset":5754},{"line":5643,"column":5070,"offset":5763},{"type":26,"value":322,"position":5768},{"start":5769,"end":5770},{"line":5643,"column":5070,"offset":5763},{"line":5643,"column":5771,"offset":5772},571,14080,{"type":30,"tagName":44,"properties":5774,"children":5775,"position":5783},{},[5776],{"type":26,"value":5777,"position":5778},"ramp",{"start":5779,"end":5780},{"line":5643,"column":5771,"offset":5772},{"line":5643,"column":5781,"offset":5782},577,14086,{"start":5784,"end":5785},{"line":5643,"column":5771,"offset":5772},{"line":5643,"column":5781,"offset":5782},{"type":26,"value":5787,"position":5788},", and the optional ",{"start":5789,"end":5790},{"line":5643,"column":5781,"offset":5782},{"line":5643,"column":5791,"offset":5792},596,14105,{"type":30,"tagName":44,"properties":5794,"children":5795,"position":5802},{},[5796],{"type":26,"value":26,"position":5797},{"start":5798,"end":5799},{"line":5643,"column":5791,"offset":5792},{"line":5643,"column":5800,"offset":5801},602,14111,{"start":5803,"end":5804},{"line":5643,"column":5791,"offset":5792},{"line":5643,"column":5800,"offset":5801},{"type":26,"value":5806,"position":5807}," (a short literal or ",{"start":5808,"end":5809},{"line":5643,"column":5800,"offset":5801},{"line":5643,"column":5810,"offset":5811},623,14132,{"type":30,"tagName":44,"properties":5813,"children":5814,"position":5822},{},[5815],{"type":26,"value":5816,"position":5817},"{ slot }",{"start":5818,"end":5819},{"line":5643,"column":5810,"offset":5811},{"line":5643,"column":5820,"offset":5821},633,14142,{"start":5823,"end":5824},{"line":5643,"column":5810,"offset":5811},{"line":5643,"column":5820,"offset":5821},{"type":26,"value":5826,"position":5827},"), ",{"start":5828,"end":5829},{"line":5643,"column":5820,"offset":5821},{"line":5643,"column":5830,"offset":5831},636,14145,{"type":30,"tagName":44,"properties":5833,"children":5834,"position":5841},{},[5835],{"type":26,"value":5836,"position":5837},"anchor",{"start":5838,"end":5839},{"line":5643,"column":5830,"offset":5831},{"line":5643,"column":93,"offset":5840},14153,{"start":5842,"end":5843},{"line":5643,"column":5830,"offset":5831},{"line":5643,"column":93,"offset":5840},{"type":26,"value":5845,"position":5846}," (one of the nine pane positions), ",{"start":5847,"end":5848},{"line":5643,"column":93,"offset":5840},{"line":5643,"column":5849,"offset":5850},679,14188,{"type":30,"tagName":44,"properties":5852,"children":5853,"position":5861},{},[5854],{"type":26,"value":5855,"position":5856},"offset",{"start":5857,"end":5858},{"line":5643,"column":5849,"offset":5850},{"line":5643,"column":5859,"offset":5860},687,14196,{"start":5862,"end":5863},{"line":5643,"column":5849,"offset":5850},{"line":5643,"column":5859,"offset":5860},{"type":26,"value":244,"position":5865},{"start":5866,"end":5867},{"line":5643,"column":5859,"offset":5860},{"line":5643,"column":4909,"offset":5868},14201,{"type":30,"tagName":44,"properties":5870,"children":5871,"position":5879},{},[5872],{"type":26,"value":5873,"position":5874},"z",{"start":5875,"end":5876},{"line":5643,"column":4909,"offset":5868},{"line":5643,"column":5877,"offset":5878},695,14204,{"start":5880,"end":5881},{"line":5643,"column":4909,"offset":5868},{"line":5643,"column":5877,"offset":5878},{"type":26,"value":1626,"position":5883},{"start":5884,"end":5885},{"line":5643,"column":5877,"offset":5878},{"line":5643,"column":4918,"offset":5886},14206,{"type":30,"tagName":85,"properties":5888,"children":5890,"position":5900},{"href":5889},"../functions/drawing-primitives.md",[5891],{"type":26,"value":5892,"position":5893},"Drawing primitives",{"start":5894,"end":5897},{"line":5643,"column":5895,"offset":5896},698,14207,{"line":5643,"column":5898,"offset":5899},716,14225,{"start":5901,"end":5902},{"line":5643,"column":4918,"offset":5886},{"line":5643,"column":5903,"offset":5904},753,14262,{"type":26,"value":3952,"position":5906},{"start":5907,"end":5908},{"line":5643,"column":5903,"offset":5904},{"line":5643,"column":5909,"offset":5910},755,14264,{"start":5912,"end":5913},{"line":5643,"column":20,"offset":5650},{"line":5643,"column":5909,"offset":5910},{"type":26,"value":27},{"type":30,"tagName":31,"properties":5916,"children":5917,"position":6251},{},[5918,5936,5943,5956,5962,5975,5982,5995,6002,6014,6021,6034,6040,6053,6060,6073,6080,6092,6099,6112,6119,6131,6136,6147,6152,6164,6170,6181,6188,6201,6208,6221,6228,6245],{"type":30,"tagName":4759,"properties":5919,"children":5920,"position":5930},{},[5921],{"type":26,"value":5922,"position":5923},"The regime row.",{"start":5924,"end":5927},{"line":5925,"column":4767,"offset":5926},107,14268,{"line":5925,"column":5928,"offset":5929},18,14283,{"start":5931,"end":5933},{"line":5925,"column":20,"offset":5932},14266,{"line":5925,"column":5934,"offset":5935},20,14285,{"type":26,"value":5937,"position":5938}," BULLISH when the close is above EMA 50 and RSI 14 is above 50, BEARISH when it is below both, NEUTRAL otherwise. ",{"start":5939,"end":5940},{"line":5925,"column":5934,"offset":5935},{"line":5925,"column":5941,"offset":5942},134,14399,{"type":30,"tagName":44,"properties":5944,"children":5945,"position":5953},{},[5946],{"type":26,"value":5947,"position":5948},"tone",{"start":5949,"end":5950},{"line":5925,"column":5941,"offset":5942},{"line":5925,"column":5951,"offset":5952},140,14405,{"start":5954,"end":5955},{"line":5925,"column":5941,"offset":5942},{"line":5925,"column":5951,"offset":5952},{"type":26,"value":5957,"position":5958}," is an ",{"start":5959,"end":5960},{"line":5925,"column":5951,"offset":5952},{"line":5925,"column":5021,"offset":5961},14412,{"type":30,"tagName":44,"properties":5963,"children":5964,"position":5972},{},[5965],{"type":26,"value":5966,"position":5967},"rgba(...)",{"start":5968,"end":5969},{"line":5925,"column":5021,"offset":5961},{"line":5925,"column":5970,"offset":5971},158,14423,{"start":5973,"end":5974},{"line":5925,"column":5021,"offset":5961},{"line":5925,"column":5970,"offset":5971},{"type":26,"value":5976,"position":5977}," value (green, red or grey) and ",{"start":5978,"end":5979},{"line":5925,"column":5970,"offset":5971},{"line":5925,"column":5980,"offset":5981},190,14455,{"type":30,"tagName":44,"properties":5983,"children":5984,"position":5992},{},[5985],{"type":26,"value":5986,"position":5987},".color(tone)",{"start":5988,"end":5989},{"line":5925,"column":5980,"offset":5981},{"line":5925,"column":5990,"offset":5991},204,14469,{"start":5993,"end":5994},{"line":5925,"column":5980,"offset":5981},{"line":5925,"column":5990,"offset":5991},{"type":26,"value":5996,"position":5997}," restyles one handle on the bar it is drawn: the state row's text, and the box's border. The distance row keeps its sign: ",{"start":5998,"end":5999},{"line":5925,"column":5990,"offset":5991},{"line":5925,"column":6000,"offset":6001},326,14591,{"type":30,"tagName":44,"properties":6003,"children":6004,"position":6011},{},[6005],{"type":26,"value":4125,"position":6006},{"start":6007,"end":6008},{"line":5925,"column":6000,"offset":6001},{"line":5925,"column":6009,"offset":6010},334,14599,{"start":6012,"end":6013},{"line":5925,"column":6000,"offset":6001},{"line":5925,"column":6009,"offset":6010},{"type":26,"value":6015,"position":6016}," writes the minus for a negative and the code adds the plus, so ",{"start":6017,"end":6018},{"line":5925,"column":6009,"offset":6010},{"line":5925,"column":6019,"offset":6020},398,14663,{"type":30,"tagName":44,"properties":6022,"children":6023,"position":6031},{},[6024],{"type":26,"value":6025,"position":6026},"+1.2%",{"start":6027,"end":6028},{"line":5925,"column":6019,"offset":6020},{"line":5925,"column":6029,"offset":6030},405,14670,{"start":6032,"end":6033},{"line":5925,"column":6019,"offset":6020},{"line":5925,"column":6029,"offset":6030},{"type":26,"value":244,"position":6035},{"start":6036,"end":6037},{"line":5925,"column":6029,"offset":6030},{"line":5925,"column":6038,"offset":6039},410,14675,{"type":30,"tagName":44,"properties":6041,"children":6042,"position":6050},{},[6043],{"type":26,"value":6044,"position":6045},"-0.8%",{"start":6046,"end":6047},{"line":5925,"column":6038,"offset":6039},{"line":5925,"column":6048,"offset":6049},417,14682,{"start":6051,"end":6052},{"line":5925,"column":6038,"offset":6039},{"line":5925,"column":6048,"offset":6049},{"type":26,"value":6054,"position":6055}," read alike. The row names are built from the params (",{"start":6056,"end":6057},{"line":5925,"column":6048,"offset":6049},{"line":5925,"column":6058,"offset":6059},471,14736,{"type":30,"tagName":44,"properties":6061,"children":6062,"position":6070},{},[6063],{"type":26,"value":6064,"position":6065},"sb_text(\"EMA \"); sb_int(emaLen)",{"start":6066,"end":6067},{"line":5925,"column":6058,"offset":6059},{"line":5925,"column":6068,"offset":6069},504,14769,{"start":6071,"end":6072},{"line":5925,"column":6058,"offset":6059},{"line":5925,"column":6068,"offset":6069},{"type":26,"value":6074,"position":6075},"), so a chart user who sets ",{"start":6076,"end":6077},{"line":5925,"column":6068,"offset":6069},{"line":5925,"column":6078,"offset":6079},532,14797,{"type":30,"tagName":44,"properties":6081,"children":6082,"position":6089},{},[6083],{"type":26,"value":312,"position":6084},{"start":6085,"end":6086},{"line":5925,"column":6078,"offset":6079},{"line":5925,"column":6087,"offset":6088},541,14806,{"start":6090,"end":6091},{"line":5925,"column":6078,"offset":6079},{"line":5925,"column":6087,"offset":6088},{"type":26,"value":6093,"position":6094}," to 100 reads ",{"start":6095,"end":6096},{"line":5925,"column":6087,"offset":6088},{"line":5925,"column":6097,"offset":6098},555,14820,{"type":30,"tagName":44,"properties":6100,"children":6101,"position":6109},{},[6102],{"type":26,"value":6103,"position":6104},"EMA 100",{"start":6105,"end":6106},{"line":5925,"column":6097,"offset":6098},{"line":5925,"column":6107,"offset":6108},564,14829,{"start":6110,"end":6111},{"line":5925,"column":6097,"offset":6098},{"line":5925,"column":6107,"offset":6108},{"type":26,"value":6113,"position":6114}," in the HUD, never a stale number. Every row goes through one 32-byte slot: build it with ",{"start":6115,"end":6116},{"line":5925,"column":6107,"offset":6108},{"line":5925,"column":6117,"offset":6118},654,14919,{"type":30,"tagName":44,"properties":6120,"children":6121,"position":6128},{},[6122],{"type":26,"value":6123,"position":6124},"sb_clear",{"start":6125,"end":6126},{"line":5925,"column":6117,"offset":6118},{"line":5925,"column":336,"offset":6127},14929,{"start":6129,"end":6130},{"line":5925,"column":6117,"offset":6118},{"line":5925,"column":336,"offset":6127},{"type":26,"value":322,"position":6132},{"start":6133,"end":6134},{"line":5925,"column":336,"offset":6127},{"line":5925,"column":345,"offset":6135},14931,{"type":30,"tagName":44,"properties":6137,"children":6138,"position":6144},{},[6139],{"type":26,"value":4041,"position":6140},{"start":6141,"end":6142},{"line":5925,"column":345,"offset":6135},{"line":5925,"column":355,"offset":6143},14940,{"start":6145,"end":6146},{"line":5925,"column":345,"offset":6135},{"line":5925,"column":355,"offset":6143},{"type":26,"value":322,"position":6148},{"start":6149,"end":6150},{"line":5925,"column":355,"offset":6143},{"line":5925,"column":5534,"offset":6151},14942,{"type":30,"tagName":44,"properties":6153,"children":6154,"position":6161},{},[6155],{"type":26,"value":4059,"position":6156},{"start":6157,"end":6158},{"line":5925,"column":5534,"offset":6151},{"line":5925,"column":6159,"offset":6160},685,14950,{"start":6162,"end":6163},{"line":5925,"column":5534,"offset":6151},{"line":5925,"column":6159,"offset":6160},{"type":26,"value":244,"position":6165},{"start":6166,"end":6167},{"line":5925,"column":6159,"offset":6160},{"line":5925,"column":6168,"offset":6169},690,14955,{"type":30,"tagName":44,"properties":6171,"children":6172,"position":6178},{},[6173],{"type":26,"value":4125,"position":6174},{"start":6175,"end":6176},{"line":5925,"column":6168,"offset":6169},{"line":5925,"column":5895,"offset":6177},14963,{"start":6179,"end":6180},{"line":5925,"column":6168,"offset":6169},{"line":5925,"column":5895,"offset":6177},{"type":26,"value":6182,"position":6183},", then ",{"start":6184,"end":6185},{"line":5925,"column":5895,"offset":6177},{"line":5925,"column":6186,"offset":6187},705,14970,{"type":30,"tagName":44,"properties":6189,"children":6190,"position":6198},{},[6191],{"type":26,"value":6192,"position":6193},"text(str_text_sb)",{"start":6194,"end":6195},{"line":5925,"column":6186,"offset":6187},{"line":5925,"column":6196,"offset":6197},724,14989,{"start":6199,"end":6200},{"line":5925,"column":6186,"offset":6187},{"line":5925,"column":6196,"offset":6197},{"type":26,"value":6202,"position":6203}," sends the slot and draws the label at its last ",{"start":6204,"end":6205},{"line":5925,"column":6196,"offset":6197},{"line":5925,"column":6206,"offset":6207},772,15037,{"type":30,"tagName":44,"properties":6209,"children":6210,"position":6218},{},[6211],{"type":26,"value":6212,"position":6213},"set(x, y)",{"start":6214,"end":6215},{"line":5925,"column":6206,"offset":6207},{"line":5925,"column":6216,"offset":6217},783,15048,{"start":6219,"end":6220},{"line":5925,"column":6206,"offset":6207},{"line":5925,"column":6216,"offset":6217},{"type":26,"value":6222,"position":6223},"; the host copies the bytes at each draw, so one slot serves four labels (",{"start":6224,"end":6225},{"line":5925,"column":6216,"offset":6217},{"line":5925,"column":6226,"offset":6227},857,15122,{"type":30,"tagName":85,"properties":6229,"children":6231,"position":6240},{"href":6230},"../functions/string-functions.md",[6232],{"type":26,"value":6233,"position":6234},"String functions",{"start":6235,"end":6237},{"line":5925,"column":5110,"offset":6236},15123,{"line":5925,"column":6238,"offset":6239},874,15139,{"start":6241,"end":6242},{"line":5925,"column":6226,"offset":6227},{"line":5925,"column":6243,"offset":6244},909,15174,{"type":26,"value":3952,"position":6246},{"start":6247,"end":6248},{"line":5925,"column":6243,"offset":6244},{"line":5925,"column":6249,"offset":6250},911,15176,{"start":6252,"end":6253},{"line":5925,"column":20,"offset":5932},{"line":5925,"column":6249,"offset":6250},{"type":26,"value":27},{"type":30,"tagName":431,"properties":6256,"children":6258,"position":6267},{"id":6257},"what-kscript-legacy-could-not-do",[6259],{"type":26,"value":6260,"position":6261},"What kScript (legacy) could not do",{"start":6262,"end":6265},{"line":6263,"column":440,"offset":6264},109,15181,{"line":6263,"column":5211,"offset":6266},15215,{"start":6268,"end":6270},{"line":6263,"column":20,"offset":6269},15178,{"line":6263,"column":5211,"offset":6266},{"type":26,"value":27},{"type":30,"tagName":6273,"properties":6274,"children":6275,"position":6554},"ul",{},[6276,6277,6347,6348,6417,6418,6466,6467,6553],{"type":26,"value":27},{"type":30,"tagName":6278,"properties":6279,"children":6280,"position":6343},"li",{},[6281,6299,6306,6318,6325,6337],{"type":30,"tagName":4759,"properties":6282,"children":6283,"position":6293},{},[6284],{"type":26,"value":6285,"position":6286},"No pixel-anchored drawings.",{"start":6287,"end":6290},{"line":6288,"column":38,"offset":6289},111,15221,{"line":6288,"column":6291,"offset":6292},32,15248,{"start":6294,"end":6296},{"line":6288,"column":4767,"offset":6295},15219,{"line":6288,"column":6297,"offset":6298},34,15250,{"type":26,"value":6300,"position":6301}," A label or box lived at a time and a price and scrolled away with the chart; the only thing that stayed put was a table with fixed cells. Here ",{"start":6302,"end":6303},{"line":6288,"column":6297,"offset":6298},{"line":6288,"column":6304,"offset":6305},178,15394,{"type":30,"tagName":44,"properties":6307,"children":6308,"position":6315},{},[6309],{"type":26,"value":155,"position":6310},{"start":6311,"end":6312},{"line":6288,"column":6304,"offset":6305},{"line":6288,"column":6313,"offset":6314},198,15414,{"start":6316,"end":6317},{"line":6288,"column":6304,"offset":6305},{"line":6288,"column":6313,"offset":6314},{"type":26,"value":6319,"position":6320}," turns a handle's coordinates into pixels from the pane edge, and ",{"start":6321,"end":6322},{"line":6288,"column":6313,"offset":6314},{"line":6288,"column":6323,"offset":6324},264,15480,{"type":30,"tagName":44,"properties":6326,"children":6327,"position":6334},{},[6328],{"type":26,"value":5156,"position":6329},{"start":6330,"end":6331},{"line":6288,"column":6323,"offset":6324},{"line":6288,"column":6332,"offset":6333},278,15494,{"start":6335,"end":6336},{"line":6288,"column":6323,"offset":6324},{"line":6288,"column":6332,"offset":6333},{"type":26,"value":6338,"position":6339}," puts the same handle back on chart coordinates.",{"start":6340,"end":6341},{"line":6288,"column":6332,"offset":6333},{"line":6288,"column":6000,"offset":6342},15542,{"start":6344,"end":6346},{"line":6288,"column":20,"offset":6345},15217,{"line":6288,"column":6000,"offset":6342},{"type":26,"value":27},{"type":30,"tagName":6278,"properties":6349,"children":6350,"position":6413},{},[6351,6369,6375,6386,6393,6406],{"type":30,"tagName":4759,"properties":6352,"children":6353,"position":6363},{},[6354],{"type":26,"value":6355,"position":6356},"No text alignment word.",{"start":6357,"end":6360},{"line":6358,"column":38,"offset":6359},112,15547,{"line":6358,"column":6361,"offset":6362},28,15570,{"start":6364,"end":6366},{"line":6358,"column":4767,"offset":6365},15545,{"line":6358,"column":6367,"offset":6368},30,15572,{"type":26,"value":6370,"position":6371}," Text centred on its point, so a column of numbers never lined up. ",{"start":6372,"end":6373},{"line":6358,"column":6367,"offset":6368},{"line":6358,"column":4766,"offset":6374},15639,{"type":30,"tagName":44,"properties":6376,"children":6377,"position":6383},{},[6378],{"type":26,"value":175,"position":6379},{"start":6380,"end":6381},{"line":6358,"column":4766,"offset":6374},{"line":6358,"column":6358,"offset":6382},15654,{"start":6384,"end":6385},{"line":6358,"column":4766,"offset":6374},{"line":6358,"column":6358,"offset":6382},{"type":26,"value":6387,"position":6388}," on the declaration, or ",{"start":6389,"end":6390},{"line":6358,"column":6358,"offset":6382},{"line":6358,"column":6391,"offset":6392},136,15678,{"type":30,"tagName":44,"properties":6394,"children":6395,"position":6403},{},[6396],{"type":26,"value":6397,"position":6398},"align(ALIGN_LEFT)",{"start":6399,"end":6400},{"line":6358,"column":6391,"offset":6392},{"line":6358,"column":6401,"offset":6402},155,15697,{"start":6404,"end":6405},{"line":6358,"column":6391,"offset":6392},{"line":6358,"column":6401,"offset":6402},{"type":26,"value":6407,"position":6408}," on one label, starts the text at x.",{"start":6409,"end":6410},{"line":6358,"column":6401,"offset":6402},{"line":6358,"column":6411,"offset":6412},191,15733,{"start":6414,"end":6416},{"line":6358,"column":20,"offset":6415},15543,{"line":6358,"column":6411,"offset":6412},{"type":26,"value":27},{"type":30,"tagName":6278,"properties":6419,"children":6420,"position":6462},{},[6421,6437,6444,6456],{"type":30,"tagName":4759,"properties":6422,"children":6423,"position":6432},{},[6424],{"type":26,"value":6425,"position":6426},"No meter widget.",{"start":6427,"end":6430},{"line":6428,"column":38,"offset":6429},113,15738,{"line":6428,"column":5189,"offset":6431},15754,{"start":6433,"end":6435},{"line":6428,"column":4767,"offset":6434},15736,{"line":6428,"column":5195,"offset":6436},15756,{"type":26,"value":6438,"position":6439}," A fraction was a number in a table cell. ",{"start":6440,"end":6441},{"line":6428,"column":5195,"offset":6436},{"line":6428,"column":6442,"offset":6443},65,15798,{"type":30,"tagName":44,"properties":6445,"children":6446,"position":6453},{},[6447],{"type":26,"value":68,"position":6448},{"start":6449,"end":6450},{"line":6428,"column":6442,"offset":6443},{"line":6428,"column":6451,"offset":6452},77,15810,{"start":6454,"end":6455},{"line":6428,"column":6442,"offset":6443},{"line":6428,"column":6451,"offset":6452},{"type":26,"value":6457,"position":6458}," draws it as a meter along a colour ramp, fed by one data-only output.",{"start":6459,"end":6460},{"line":6428,"column":6451,"offset":6452},{"line":6428,"column":5021,"offset":6461},15880,{"start":6463,"end":6465},{"line":6428,"column":20,"offset":6464},15734,{"line":6428,"column":5021,"offset":6461},{"type":26,"value":27},{"type":30,"tagName":6278,"properties":6468,"children":6469,"position":6549},{},[6470,6486,6493,6506,6511,6524,6529,6542],{"type":30,"tagName":4759,"properties":6471,"children":6472,"position":6481},{},[6473],{"type":26,"value":6474,"position":6475},"No per-handle style calls.",{"start":6476,"end":6479},{"line":6477,"column":38,"offset":6478},114,15885,{"line":6477,"column":4979,"offset":6480},15911,{"start":6482,"end":6484},{"line":6477,"column":4767,"offset":6483},15883,{"line":6477,"column":4985,"offset":6485},15913,{"type":26,"value":6487,"position":6488}," Colours were set once, on a plot or a table declaration. ",{"start":6489,"end":6490},{"line":6477,"column":4985,"offset":6485},{"line":6477,"column":6491,"offset":6492},91,15971,{"type":30,"tagName":44,"properties":6494,"children":6495,"position":6503},{},[6496],{"type":26,"value":6497,"position":6498},".color(rgba(...))",{"start":6499,"end":6500},{"line":6477,"column":6491,"offset":6492},{"line":6477,"column":6501,"offset":6502},110,15990,{"start":6504,"end":6505},{"line":6477,"column":6491,"offset":6492},{"line":6477,"column":6501,"offset":6502},{"type":26,"value":322,"position":6507},{"start":6508,"end":6509},{"line":6477,"column":6501,"offset":6502},{"line":6477,"column":6358,"offset":6510},15992,{"type":30,"tagName":44,"properties":6512,"children":6513,"position":6521},{},[6514],{"type":26,"value":6515,"position":6516},".align(...)",{"start":6517,"end":6518},{"line":6477,"column":6358,"offset":6510},{"line":6477,"column":6519,"offset":6520},125,16005,{"start":6522,"end":6523},{"line":6477,"column":6358,"offset":6510},{"line":6477,"column":6519,"offset":6520},{"type":26,"value":244,"position":6525},{"start":6526,"end":6527},{"line":6477,"column":6519,"offset":6520},{"line":6477,"column":5667,"offset":6528},16010,{"type":30,"tagName":44,"properties":6530,"children":6531,"position":6539},{},[6532],{"type":26,"value":6533,"position":6534},".anchor(...)",{"start":6535,"end":6536},{"line":6477,"column":5667,"offset":6528},{"line":6477,"column":6537,"offset":6538},144,16024,{"start":6540,"end":6541},{"line":6477,"column":5667,"offset":6528},{"line":6477,"column":6537,"offset":6538},{"type":26,"value":6543,"position":6544}," restyle one live handle on the bar it changes, which is how the state row turns green, red or grey by regime.",{"start":6545,"end":6546},{"line":6477,"column":6537,"offset":6538},{"line":6477,"column":6547,"offset":6548},254,16134,{"start":6550,"end":6552},{"line":6477,"column":20,"offset":6551},15881,{"line":6477,"column":6547,"offset":6548},{"type":26,"value":27},{"start":6555,"end":6556},{"line":6288,"column":20,"offset":6345},{"line":6477,"column":6547,"offset":6548},{"type":26,"value":27},{"type":30,"tagName":431,"properties":6559,"children":6561,"position":6570},{"id":6560},"customize-it",[6562],{"type":26,"value":6563,"position":6564},"Customize it",{"start":6565,"end":6568},{"line":6566,"column":440,"offset":6567},116,16139,{"line":6566,"column":4748,"offset":6569},16151,{"start":6571,"end":6573},{"line":6566,"column":20,"offset":6572},16136,{"line":6566,"column":4748,"offset":6569},{"type":26,"value":27},{"type":30,"tagName":6273,"properties":6576,"children":6577,"position":7219},{},[6578,6579,6739,6740,6846,6847,6932,6933,7021,7022,7218],{"type":26,"value":27},{"type":30,"tagName":6278,"properties":6580,"children":6581,"position":6735},{},[6582,6599,6605,6616,6623,6635,6641,6653,6660,6673,6679,6691,6697,6709,6716,6728],{"type":30,"tagName":4759,"properties":6583,"children":6584,"position":6593},{},[6585],{"type":26,"value":6586,"position":6587},"Change the periods.",{"start":6588,"end":6591},{"line":6589,"column":38,"offset":6590},118,16157,{"line":6589,"column":5201,"offset":6592},16176,{"start":6594,"end":6596},{"line":6589,"column":4767,"offset":6595},16155,{"line":6589,"column":6597,"offset":6598},26,16178,{"type":26,"value":4779,"position":6600},{"start":6601,"end":6602},{"line":6589,"column":6597,"offset":6598},{"line":6589,"column":6603,"offset":6604},27,16179,{"type":30,"tagName":44,"properties":6606,"children":6607,"position":6613},{},[6608],{"type":26,"value":312,"position":6609},{"start":6610,"end":6611},{"line":6589,"column":6603,"offset":6604},{"line":6589,"column":5251,"offset":6612},16188,{"start":6614,"end":6615},{"line":6589,"column":6603,"offset":6604},{"line":6589,"column":5251,"offset":6612},{"type":26,"value":6617,"position":6618}," (2 to 400), ",{"start":6619,"end":6620},{"line":6589,"column":5251,"offset":6612},{"line":6589,"column":6621,"offset":6622},49,16201,{"type":30,"tagName":44,"properties":6624,"children":6625,"position":6632},{},[6626],{"type":26,"value":332,"position":6627},{"start":6628,"end":6629},{"line":6589,"column":6621,"offset":6622},{"line":6589,"column":6630,"offset":6631},58,16210,{"start":6633,"end":6634},{"line":6589,"column":6621,"offset":6622},{"line":6589,"column":6630,"offset":6631},{"type":26,"value":244,"position":6636},{"start":6637,"end":6638},{"line":6589,"column":6630,"offset":6631},{"line":6589,"column":6639,"offset":6640},63,16215,{"type":30,"tagName":44,"properties":6642,"children":6643,"position":6650},{},[6644],{"type":26,"value":351,"position":6645},{"start":6646,"end":6647},{"line":6589,"column":6639,"offset":6640},{"line":6589,"column":6648,"offset":6649},72,16224,{"start":6651,"end":6652},{"line":6589,"column":6639,"offset":6640},{"line":6589,"column":6648,"offset":6649},{"type":26,"value":6654,"position":6655}," (2 to 200) are params: the chart user sets them in the settings dialog and ",{"start":6656,"end":6657},{"line":6589,"column":6648,"offset":6649},{"line":6589,"column":6658,"offset":6659},148,16300,{"type":30,"tagName":44,"properties":6661,"children":6662,"position":6670},{},[6663],{"type":26,"value":6664,"position":6665},"om metric series --param ema_len=100",{"start":6666,"end":6667},{"line":6589,"column":6658,"offset":6659},{"line":6589,"column":6668,"offset":6669},186,16338,{"start":6671,"end":6672},{"line":6589,"column":6658,"offset":6659},{"line":6589,"column":6668,"offset":6669},{"type":26,"value":6674,"position":6675}," reads them on your machine, with no rebuild. The HUD's row names are built from them, so they always say what they show; the output names (",{"start":6676,"end":6677},{"line":6589,"column":6668,"offset":6669},{"line":6589,"column":6000,"offset":6678},16478,{"type":30,"tagName":44,"properties":6680,"children":6681,"position":6688},{},[6682],{"type":26,"value":195,"position":6683},{"start":6684,"end":6685},{"line":6589,"column":6000,"offset":6678},{"line":6589,"column":6686,"offset":6687},333,16485,{"start":6689,"end":6690},{"line":6589,"column":6000,"offset":6678},{"line":6589,"column":6686,"offset":6687},{"type":26,"value":322,"position":6692},{"start":6693,"end":6694},{"line":6589,"column":6686,"offset":6687},{"line":6589,"column":6695,"offset":6696},335,16487,{"type":30,"tagName":44,"properties":6698,"children":6699,"position":6706},{},[6700],{"type":26,"value":214,"position":6701},{"start":6702,"end":6703},{"line":6589,"column":6695,"offset":6696},{"line":6589,"column":6704,"offset":6705},342,16494,{"start":6707,"end":6708},{"line":6589,"column":6695,"offset":6696},{"line":6589,"column":6704,"offset":6705},{"type":26,"value":6710,"position":6711},") and the meter's ",{"start":6712,"end":6713},{"line":6589,"column":6704,"offset":6705},{"line":6589,"column":6714,"offset":6715},360,16512,{"type":30,"tagName":44,"properties":6717,"children":6718,"position":6725},{},[6719],{"type":26,"value":1185,"position":6720},{"start":6721,"end":6722},{"line":6589,"column":6714,"offset":6715},{"line":6589,"column":6723,"offset":6724},367,16519,{"start":6726,"end":6727},{"line":6589,"column":6714,"offset":6715},{"line":6589,"column":6723,"offset":6724},{"type":26,"value":6729,"position":6730}," spell the defaults, so rename those if you change a default in the source.",{"start":6731,"end":6732},{"line":6589,"column":6723,"offset":6724},{"line":6589,"column":6733,"offset":6734},442,16594,{"start":6736,"end":6738},{"line":6589,"column":20,"offset":6737},16153,{"line":6589,"column":6733,"offset":6734},{"type":26,"value":27},{"type":30,"tagName":6278,"properties":6741,"children":6742,"position":6842},{},[6743,6758,6765,6778,6785,6797,6803,6815,6822,6835],{"type":30,"tagName":4759,"properties":6744,"children":6745,"position":6753},{},[6746],{"type":26,"value":6747,"position":6748},"Move the HUD.",{"start":6749,"end":6751},{"line":4992,"column":38,"offset":6750},16599,{"line":4992,"column":5928,"offset":6752},16612,{"start":6754,"end":6756},{"line":4992,"column":4767,"offset":6755},16597,{"line":4992,"column":5934,"offset":6757},16614,{"type":26,"value":6759,"position":6760}," Change the anchor word on both handle declarations to ",{"start":6761,"end":6762},{"line":4992,"column":5934,"offset":6757},{"line":4992,"column":6763,"offset":6764},75,16669,{"type":30,"tagName":44,"properties":6766,"children":6767,"position":6775},{},[6768],{"type":26,"value":6769,"position":6770},"top_right",{"start":6771,"end":6772},{"line":4992,"column":6763,"offset":6764},{"line":4992,"column":6773,"offset":6774},86,16680,{"start":6776,"end":6777},{"line":4992,"column":6763,"offset":6764},{"line":4992,"column":6773,"offset":6774},{"type":26,"value":6779,"position":6780}," or ",{"start":6781,"end":6782},{"line":4992,"column":6773,"offset":6774},{"line":4992,"column":6783,"offset":6784},90,16684,{"type":30,"tagName":44,"properties":6786,"children":6787,"position":6794},{},[6788],{"type":26,"value":6789,"position":6790},"bottom_left",{"start":6791,"end":6792},{"line":4992,"column":6783,"offset":6784},{"line":4992,"column":5237,"offset":6793},16697,{"start":6795,"end":6796},{"line":4992,"column":6783,"offset":6784},{"line":4992,"column":5237,"offset":6793},{"type":26,"value":6798,"position":6799},"; the pixel offsets are then measured from that corner. Move the meter with its own ",{"start":6800,"end":6801},{"line":4992,"column":5237,"offset":6793},{"line":4992,"column":5319,"offset":6802},16781,{"type":30,"tagName":44,"properties":6804,"children":6805,"position":6812},{},[6806],{"type":26,"value":5836,"position":6807},{"start":6808,"end":6809},{"line":4992,"column":5319,"offset":6802},{"line":4992,"column":6810,"offset":6811},195,16789,{"start":6813,"end":6814},{"line":4992,"column":5319,"offset":6802},{"line":4992,"column":6810,"offset":6811},{"type":26,"value":6816,"position":6817}," and an ",{"start":6818,"end":6819},{"line":4992,"column":6810,"offset":6811},{"line":4992,"column":6820,"offset":6821},203,16797,{"type":30,"tagName":44,"properties":6823,"children":6824,"position":6832},{},[6825],{"type":26,"value":6826,"position":6827},"offset: [x, y]",{"start":6828,"end":6829},{"line":4992,"column":6820,"offset":6821},{"line":4992,"column":6830,"offset":6831},219,16813,{"start":6833,"end":6834},{"line":4992,"column":6820,"offset":6821},{"line":4992,"column":6830,"offset":6831},{"type":26,"value":6836,"position":6837},".",{"start":6838,"end":6839},{"line":4992,"column":6830,"offset":6831},{"line":4992,"column":6840,"offset":6841},220,16814,{"start":6843,"end":6845},{"line":4992,"column":20,"offset":6844},16595,{"line":4992,"column":6840,"offset":6841},{"type":26,"value":27},{"type":30,"tagName":6278,"properties":6848,"children":6849,"position":6928},{},[6850,6867,6873,6885,6892,6904,6911,6922],{"type":30,"tagName":4759,"properties":6851,"children":6852,"position":6862},{},[6853],{"type":26,"value":6854,"position":6855},"Right-align the numbers.",{"start":6856,"end":6859},{"line":6857,"column":38,"offset":6858},120,16819,{"line":6857,"column":6860,"offset":6861},29,16843,{"start":6863,"end":6865},{"line":6857,"column":4767,"offset":6864},16817,{"line":6857,"column":4979,"offset":6866},16845,{"type":26,"value":6868,"position":6869}," Import ",{"start":6870,"end":6871},{"line":6857,"column":4979,"offset":6866},{"line":6857,"column":4776,"offset":6872},16853,{"type":30,"tagName":44,"properties":6874,"children":6875,"position":6882},{},[6876],{"type":26,"value":5096,"position":6877},{"start":6878,"end":6879},{"line":6857,"column":4776,"offset":6872},{"line":6857,"column":6880,"offset":6881},52,16866,{"start":6883,"end":6884},{"line":6857,"column":4776,"offset":6872},{"line":6857,"column":6880,"offset":6881},{"type":26,"value":6886,"position":6887},", draw each row's value as a second label at the box's right edge (x = 162) and call ",{"start":6888,"end":6889},{"line":6857,"column":6880,"offset":6881},{"line":6857,"column":6890,"offset":6891},137,16951,{"type":30,"tagName":44,"properties":6893,"children":6894,"position":6901},{},[6895],{"type":26,"value":6896,"position":6897},".align(ALIGN_RIGHT)",{"start":6898,"end":6899},{"line":6857,"column":6890,"offset":6891},{"line":6857,"column":5970,"offset":6900},16972,{"start":6902,"end":6903},{"line":6857,"column":6890,"offset":6891},{"line":6857,"column":5970,"offset":6900},{"type":26,"value":6905,"position":6906}," on it after its ",{"start":6907,"end":6908},{"line":6857,"column":5970,"offset":6900},{"line":6857,"column":6909,"offset":6910},175,16989,{"type":30,"tagName":44,"properties":6912,"children":6913,"position":6919},{},[6914],{"type":26,"value":5076,"position":6915},{"start":6916,"end":6917},{"line":6857,"column":6909,"offset":6910},{"line":6857,"column":6668,"offset":6918},17000,{"start":6920,"end":6921},{"line":6857,"column":6909,"offset":6910},{"line":6857,"column":6668,"offset":6918},{"type":26,"value":6923,"position":6924},"; the names stay left-aligned at 22.",{"start":6925,"end":6926},{"line":6857,"column":6668,"offset":6918},{"line":6857,"column":5677,"offset":6927},17036,{"start":6929,"end":6931},{"line":6857,"column":20,"offset":6930},16815,{"line":6857,"column":5677,"offset":6927},{"type":26,"value":27},{"type":30,"tagName":6278,"properties":6934,"children":6935,"position":7017},{},[6936,6953,6959,6972,6979,6990,6997,7010],{"type":30,"tagName":4759,"properties":6937,"children":6938,"position":6948},{},[6939],{"type":26,"value":6940,"position":6941},"Plot ATR% too.",{"start":6942,"end":6945},{"line":6943,"column":38,"offset":6944},121,17041,{"line":6943,"column":6946,"offset":6947},19,17055,{"start":6949,"end":6951},{"line":6943,"column":4767,"offset":6950},17039,{"line":6943,"column":5189,"offset":6952},17057,{"type":26,"value":4779,"position":6954},{"start":6955,"end":6956},{"line":6943,"column":5189,"offset":6952},{"line":6943,"column":6957,"offset":6958},22,17058,{"type":30,"tagName":44,"properties":6960,"children":6961,"position":6969},{},[6962],{"type":26,"value":6963,"position":6964},"output(\"atr_pct\", line, lower)",{"start":6965,"end":6966},{"line":6943,"column":6957,"offset":6958},{"line":6943,"column":6967,"offset":6968},54,17090,{"start":6970,"end":6971},{"line":6943,"column":6957,"offset":6958},{"line":6943,"column":6967,"offset":6968},{"type":26,"value":6973,"position":6974}," draws it in the lower pane beside RSI; ",{"start":6975,"end":6976},{"line":6943,"column":6967,"offset":6968},{"line":6943,"column":6977,"offset":6978},94,17130,{"type":30,"tagName":44,"properties":6980,"children":6981,"position":6987},{},[6982],{"type":26,"value":274,"position":6983},{"start":6984,"end":6985},{"line":6943,"column":6977,"offset":6978},{"line":6943,"column":134,"offset":6986},17136,{"start":6988,"end":6989},{"line":6943,"column":6977,"offset":6978},{"line":6943,"column":134,"offset":6986},{"type":26,"value":6991,"position":6992}," keeps it data-only. Either way ",{"start":6993,"end":6994},{"line":6943,"column":134,"offset":6986},{"line":6943,"column":6995,"offset":6996},132,17168,{"type":30,"tagName":44,"properties":6998,"children":6999,"position":7007},{},[7000],{"type":26,"value":7001,"position":7002},"om metric series",{"start":7003,"end":7004},{"line":6943,"column":6995,"offset":6996},{"line":6943,"column":7005,"offset":7006},150,17186,{"start":7008,"end":7009},{"line":6943,"column":6995,"offset":6996},{"line":6943,"column":7005,"offset":7006},{"type":26,"value":7011,"position":7012}," reads it.",{"start":7013,"end":7014},{"line":6943,"column":7005,"offset":7006},{"line":6943,"column":7015,"offset":7016},160,17196,{"start":7018,"end":7020},{"line":6943,"column":20,"offset":7019},17037,{"line":6943,"column":7015,"offset":7016},{"type":26,"value":27},{"type":30,"tagName":6278,"properties":7023,"children":7024,"position":7214},{},[7025,7041,7048,7059,7065,7078,7084,7096,7102,7115,7122,7134,7140,7152,7158,7169,7176,7187,7194,7207],{"type":30,"tagName":4759,"properties":7026,"children":7027,"position":7036},{},[7028],{"type":26,"value":7029,"position":7030},"Colours.",{"start":7031,"end":7034},{"line":7032,"column":38,"offset":7033},122,17201,{"line":7032,"column":5646,"offset":7035},17209,{"start":7037,"end":7039},{"line":7032,"column":4767,"offset":7038},17199,{"line":7032,"column":5652,"offset":7040},17211,{"type":26,"value":7042,"position":7043}," The box declaration takes ",{"start":7044,"end":7045},{"line":7032,"column":5652,"offset":7040},{"line":7032,"column":7046,"offset":7047},42,17238,{"type":30,"tagName":44,"properties":7049,"children":7050,"position":7056},{},[7051],{"type":26,"value":3957,"position":7052},{"start":7053,"end":7054},{"line":7032,"column":7046,"offset":7047},{"line":7032,"column":6621,"offset":7055},17245,{"start":7057,"end":7058},{"line":7032,"column":7046,"offset":7047},{"line":7032,"column":6621,"offset":7055},{"type":26,"value":322,"position":7060},{"start":7061,"end":7062},{"line":7032,"column":6621,"offset":7055},{"line":7032,"column":7063,"offset":7064},51,17247,{"type":30,"tagName":44,"properties":7066,"children":7067,"position":7075},{},[7068],{"type":26,"value":7069,"position":7070},"borderColor",{"start":7071,"end":7072},{"line":7032,"column":7063,"offset":7064},{"line":7032,"column":7073,"offset":7074},64,17260,{"start":7076,"end":7077},{"line":7032,"column":7063,"offset":7064},{"line":7032,"column":7073,"offset":7074},{"type":26,"value":322,"position":7079},{"start":7080,"end":7081},{"line":7032,"column":7073,"offset":7074},{"line":7032,"column":7082,"offset":7083},66,17262,{"type":30,"tagName":44,"properties":7085,"children":7086,"position":7093},{},[7087],{"type":26,"value":7088,"position":7089},"opacity",{"start":7090,"end":7091},{"line":7032,"column":7082,"offset":7083},{"line":7032,"column":6763,"offset":7092},17271,{"start":7094,"end":7095},{"line":7032,"column":7082,"offset":7083},{"line":7032,"column":6763,"offset":7092},{"type":26,"value":244,"position":7097},{"start":7098,"end":7099},{"line":7032,"column":6763,"offset":7092},{"line":7032,"column":7100,"offset":7101},80,17276,{"type":30,"tagName":44,"properties":7103,"children":7104,"position":7112},{},[7105],{"type":26,"value":7106,"position":7107},"borderWidth",{"start":7108,"end":7109},{"line":7032,"column":7100,"offset":7101},{"line":7032,"column":7110,"offset":7111},93,17289,{"start":7113,"end":7114},{"line":7032,"column":7100,"offset":7101},{"line":7032,"column":7110,"offset":7111},{"type":26,"value":7116,"position":7117},", the label declaration ",{"start":7118,"end":7119},{"line":7032,"column":7110,"offset":7111},{"line":7032,"column":7120,"offset":7121},117,17313,{"type":30,"tagName":44,"properties":7123,"children":7124,"position":7131},{},[7125],{"type":26,"value":3957,"position":7126},{"start":7127,"end":7128},{"line":7032,"column":7120,"offset":7121},{"line":7032,"column":7129,"offset":7130},124,17320,{"start":7132,"end":7133},{"line":7032,"column":7120,"offset":7121},{"line":7032,"column":7129,"offset":7130},{"type":26,"value":244,"position":7135},{"start":7136,"end":7137},{"line":7032,"column":7129,"offset":7130},{"line":7032,"column":7138,"offset":7139},129,17325,{"type":30,"tagName":44,"properties":7141,"children":7142,"position":7149},{},[7143],{"type":26,"value":7144,"position":7145},"size",{"start":7146,"end":7147},{"line":7032,"column":7138,"offset":7139},{"line":7032,"column":5290,"offset":7148},17331,{"start":7150,"end":7151},{"line":7032,"column":7138,"offset":7139},{"line":7032,"column":5290,"offset":7148},{"type":26,"value":7153,"position":7154},"; the meter's ",{"start":7155,"end":7156},{"line":7032,"column":5290,"offset":7148},{"line":7032,"column":142,"offset":7157},17345,{"type":30,"tagName":44,"properties":7159,"children":7160,"position":7166},{},[7161],{"type":26,"value":5777,"position":7162},{"start":7163,"end":7164},{"line":7032,"column":142,"offset":7157},{"line":7032,"column":6401,"offset":7165},17351,{"start":7167,"end":7168},{"line":7032,"column":142,"offset":7157},{"line":7032,"column":6401,"offset":7165},{"type":26,"value":7170,"position":7171}," takes 2 to 5 hex colours; the three ",{"start":7172,"end":7173},{"line":7032,"column":6401,"offset":7165},{"line":7032,"column":7174,"offset":7175},192,17388,{"type":30,"tagName":44,"properties":7177,"children":7178,"position":7184},{},[7179],{"type":26,"value":5966,"position":7180},{"start":7181,"end":7182},{"line":7032,"column":7174,"offset":7175},{"line":7032,"column":6820,"offset":7183},17399,{"start":7185,"end":7186},{"line":7032,"column":7174,"offset":7175},{"line":7032,"column":6820,"offset":7183},{"type":26,"value":7188,"position":7189}," values in ",{"start":7190,"end":7191},{"line":7032,"column":6820,"offset":7183},{"line":7032,"column":7192,"offset":7193},214,17410,{"type":30,"tagName":44,"properties":7195,"children":7196,"position":7204},{},[7197],{"type":26,"value":7198,"position":7199},"finalize()",{"start":7200,"end":7201},{"line":7032,"column":7192,"offset":7193},{"line":7032,"column":7202,"offset":7203},226,17422,{"start":7205,"end":7206},{"line":7032,"column":7192,"offset":7193},{"line":7032,"column":7202,"offset":7203},{"type":26,"value":7208,"position":7209}," are the regime tones.",{"start":7210,"end":7211},{"line":7032,"column":7202,"offset":7203},{"line":7032,"column":7212,"offset":7213},248,17444,{"start":7215,"end":7217},{"line":7032,"column":20,"offset":7216},17197,{"line":7032,"column":7212,"offset":7213},{"type":26,"value":27},{"start":7220,"end":7221},{"line":6589,"column":20,"offset":6737},{"line":7032,"column":7212,"offset":7213},{"type":26,"value":27},{"type":30,"tagName":31,"properties":7224,"children":7225,"position":7234},{},[7226],{"type":26,"value":7227,"position":7228},"Scaffold, build, install, and read RSI 14 on your machine:",{"start":7229,"end":7231},{"line":7129,"column":20,"offset":7230},17446,{"line":7129,"column":7232,"offset":7233},59,17504,{"start":7235,"end":7236},{"line":7129,"column":20,"offset":7230},{"line":7129,"column":7232,"offset":7233},{"type":26,"value":27},{"type":13,"children":7239},[7240],{"type":30,"tagName":453,"properties":7241,"children":7242,"data":-1},{"class":455,"style":456,"tabindex":457},[7243],{"type":30,"tagName":44,"properties":7244,"children":7245},{},[7246,7284,7285,7305,7306,7331,7332],{"type":30,"tagName":463,"properties":7247,"children":7248},{"class":465},[7249,7254,7259,7264,7269,7274,7279],{"type":30,"tagName":463,"properties":7250,"children":7251},{"style":685},[7252],{"type":26,"value":7253},"om",{"type":30,"tagName":463,"properties":7255,"children":7256},{"style":496},[7257],{"type":26,"value":7258}," wrun",{"type":30,"tagName":463,"properties":7260,"children":7261},{"style":496},[7262],{"type":26,"value":7263}," create",{"type":30,"tagName":463,"properties":7265,"children":7266},{"style":496},[7267],{"type":26,"value":7268}," @you/viewport-hud",{"type":30,"tagName":463,"properties":7270,"children":7271},{"style":496},[7272],{"type":26,"value":7273}," ./viewport-hud",{"type":30,"tagName":463,"properties":7275,"children":7276},{"style":705},[7277],{"type":26,"value":7278}," --template",{"type":30,"tagName":463,"properties":7280,"children":7281},{"style":496},[7282],{"type":26,"value":7283}," viewport-hud",{"type":26,"value":27},{"type":30,"tagName":463,"properties":7286,"children":7287},{"class":465},[7288,7292,7296,7301],{"type":30,"tagName":463,"properties":7289,"children":7290},{"style":685},[7291],{"type":26,"value":7253},{"type":30,"tagName":463,"properties":7293,"children":7294},{"style":496},[7295],{"type":26,"value":7258},{"type":30,"tagName":463,"properties":7297,"children":7298},{"style":496},[7299],{"type":26,"value":7300}," build",{"type":30,"tagName":463,"properties":7302,"children":7303},{"style":496},[7304],{"type":26,"value":7273},{"type":26,"value":27},{"type":30,"tagName":463,"properties":7307,"children":7308},{"class":465},[7309,7313,7317,7322,7326],{"type":30,"tagName":463,"properties":7310,"children":7311},{"style":685},[7312],{"type":26,"value":7253},{"type":30,"tagName":463,"properties":7314,"children":7315},{"style":496},[7316],{"type":26,"value":7258},{"type":30,"tagName":463,"properties":7318,"children":7319},{"style":496},[7320],{"type":26,"value":7321}," install",{"type":30,"tagName":463,"properties":7323,"children":7324},{"style":496},[7325],{"type":26,"value":7273},{"type":30,"tagName":463,"properties":7327,"children":7328},{"style":705},[7329],{"type":26,"value":7330}," --replace",{"type":26,"value":27},{"type":30,"tagName":463,"properties":7333,"children":7334},{"class":465},[7335,7339,7344,7349,7354,7359,7364,7369,7374,7379,7384],{"type":30,"tagName":463,"properties":7336,"children":7337},{"style":685},[7338],{"type":26,"value":7253},{"type":30,"tagName":463,"properties":7340,"children":7341},{"style":496},[7342],{"type":26,"value":7343}," metric",{"type":30,"tagName":463,"properties":7345,"children":7346},{"style":496},[7347],{"type":26,"value":7348}," series",{"type":30,"tagName":463,"properties":7350,"children":7351},{"style":705},[7352],{"type":26,"value":7353}," --metric",{"type":30,"tagName":463,"properties":7355,"children":7356},{"style":496},[7357],{"type":26,"value":7358}," wrun/@you/viewport-hud/rsi14",{"type":30,"tagName":463,"properties":7360,"children":7361},{"style":705},[7362],{"type":26,"value":7363}," --symbol",{"type":30,"tagName":463,"properties":7365,"children":7366},{"style":496},[7367],{"type":26,"value":7368}," BTCUSDT",{"type":30,"tagName":463,"properties":7370,"children":7371},{"style":705},[7372],{"type":26,"value":7373}," --exchange",{"type":30,"tagName":463,"properties":7375,"children":7376},{"style":496},[7377],{"type":26,"value":7378}," BINANCE_FUTURES",{"type":30,"tagName":463,"properties":7380,"children":7381},{"style":705},[7382],{"type":26,"value":7383}," --bars",{"type":30,"tagName":463,"properties":7385,"children":7386},{"style":705},[7387],{"type":26,"value":7388}," 20",{"type":26,"value":27},{"type":30,"tagName":431,"properties":7391,"children":7393,"position":7401},{"id":7392},"concepts-used",[7394],{"type":26,"value":7395,"position":7396},"Concepts used",{"start":7397,"end":7399},{"line":5002,"column":440,"offset":7398},17773,{"line":5002,"column":443,"offset":7400},17786,{"start":7402,"end":7404},{"line":5002,"column":20,"offset":7403},17770,{"line":5002,"column":443,"offset":7400},{"type":26,"value":27},{"type":30,"tagName":6273,"properties":7407,"children":7408,"position":7700},{},[7409,7410,7449,7450,7526,7527,7554,7555,7603,7604,7699],{"type":26,"value":27},{"type":30,"tagName":6278,"properties":7411,"children":7412,"position":7445},{},[7413,7428,7434],{"type":30,"tagName":85,"properties":7414,"children":7415,"position":7422},{"href":128},[7416],{"type":26,"value":131,"position":7417},{"start":7418,"end":7420},{"line":5290,"column":440,"offset":7419},17791,{"line":5290,"column":6946,"offset":7421},17806,{"start":7423,"end":7425},{"line":5290,"column":4767,"offset":7424},17790,{"line":5290,"column":7426,"offset":7427},53,17840,{"type":26,"value":7429,"position":7430}," for handles, the anchor and align words, the per-handle setters and ",{"start":7431,"end":7432},{"line":5290,"column":7426,"offset":7427},{"line":5290,"column":7032,"offset":7433},17909,{"type":30,"tagName":44,"properties":7435,"children":7436,"position":7442},{},[7437],{"type":26,"value":5207,"position":7438},{"start":7439,"end":7440},{"line":5290,"column":7032,"offset":7433},{"line":5290,"column":6391,"offset":7441},17923,{"start":7443,"end":7444},{"line":5290,"column":7032,"offset":7433},{"line":5290,"column":6391,"offset":7441},{"start":7446,"end":7448},{"line":5290,"column":20,"offset":7447},17788,{"line":5290,"column":6391,"offset":7441},{"type":26,"value":27},{"type":30,"tagName":6278,"properties":7451,"children":7452,"position":7522},{},[7453,7467,7473,7485,7492,7504,7509],{"type":30,"tagName":85,"properties":7454,"children":7455,"position":7462},{"href":5889},[7456],{"type":26,"value":5892,"position":7457},{"start":7458,"end":7460},{"line":6391,"column":440,"offset":7459},17927,{"line":6391,"column":6957,"offset":7461},17945,{"start":7463,"end":7465},{"line":6391,"column":4767,"offset":7464},17926,{"line":6391,"column":7232,"offset":7466},17982,{"type":26,"value":7468,"position":7469}," for ",{"start":7470,"end":7471},{"line":6391,"column":7232,"offset":7466},{"line":6391,"column":7073,"offset":7472},17987,{"type":30,"tagName":44,"properties":7474,"children":7475,"position":7482},{},[7476],{"type":26,"value":68,"position":7477},{"start":7478,"end":7479},{"line":6391,"column":7073,"offset":7472},{"line":6391,"column":7480,"offset":7481},76,17999,{"start":7483,"end":7484},{"line":6391,"column":7073,"offset":7472},{"line":6391,"column":7480,"offset":7481},{"type":26,"value":7486,"position":7487},", pane pixel placement and the style props behind ",{"start":7488,"end":7489},{"line":6391,"column":7480,"offset":7481},{"line":6391,"column":7490,"offset":7491},126,18049,{"type":30,"tagName":44,"properties":7493,"children":7494,"position":7501},{},[7495],{"type":26,"value":5136,"position":7496},{"start":7497,"end":7498},{"line":6391,"column":7490,"offset":7491},{"line":6391,"column":7499,"offset":7500},139,18062,{"start":7502,"end":7503},{"line":6391,"column":7490,"offset":7491},{"line":6391,"column":7499,"offset":7500},{"type":26,"value":244,"position":7505},{"start":7506,"end":7507},{"line":6391,"column":7499,"offset":7500},{"line":6391,"column":6537,"offset":7508},18067,{"type":30,"tagName":44,"properties":7510,"children":7511,"position":7519},{},[7512],{"type":26,"value":7513,"position":7514},"align(...)",{"start":7515,"end":7516},{"line":6391,"column":6537,"offset":7508},{"line":6391,"column":7517,"offset":7518},156,18079,{"start":7520,"end":7521},{"line":6391,"column":6537,"offset":7508},{"line":6391,"column":7517,"offset":7518},{"start":7523,"end":7525},{"line":6391,"column":20,"offset":7524},17924,{"line":6391,"column":7517,"offset":7518},{"type":26,"value":27},{"type":30,"tagName":6278,"properties":7528,"children":7529,"position":7550},{},[7530,7544],{"type":30,"tagName":85,"properties":7531,"children":7532,"position":7539},{"href":87},[7533],{"type":26,"value":90,"position":7534},{"start":7535,"end":7537},{"line":6890,"column":440,"offset":7536},18083,{"line":6890,"column":4748,"offset":7538},18095,{"start":7540,"end":7542},{"line":6890,"column":4767,"offset":7541},18082,{"line":6890,"column":6297,"offset":7543},18113,{"type":26,"value":7545,"position":7546}," for the sibling readout over the tape, framed once and refreshed on the live bar",{"start":7547,"end":7548},{"line":6890,"column":6297,"offset":7543},{"line":6890,"column":137,"offset":7549},18194,{"start":7551,"end":7553},{"line":6890,"column":20,"offset":7552},18080,{"line":6890,"column":137,"offset":7549},{"type":26,"value":27},{"type":30,"tagName":6278,"properties":7556,"children":7557,"position":7599},{},[7558,7573,7579,7592],{"type":30,"tagName":85,"properties":7559,"children":7560,"position":7567},{"href":6230},[7561],{"type":26,"value":6233,"position":7562},{"start":7563,"end":7565},{"line":5011,"column":440,"offset":7564},18198,{"line":5011,"column":5934,"offset":7566},18214,{"start":7568,"end":7570},{"line":5011,"column":4767,"offset":7569},18197,{"line":5011,"column":7571,"offset":7572},55,18249,{"type":26,"value":7574,"position":7575}," for the ",{"start":7576,"end":7577},{"line":5011,"column":7571,"offset":7572},{"line":5011,"column":7073,"offset":7578},18258,{"type":30,"tagName":44,"properties":7580,"children":7581,"position":7589},{},[7582],{"type":26,"value":7583,"position":7584},"sb_*",{"start":7585,"end":7586},{"line":5011,"column":7073,"offset":7578},{"line":5011,"column":7587,"offset":7588},70,18264,{"start":7590,"end":7591},{"line":5011,"column":7073,"offset":7578},{"line":5011,"column":7587,"offset":7588},{"type":26,"value":7593,"position":7594}," builder and the slot sender",{"start":7595,"end":7596},{"line":5011,"column":7587,"offset":7588},{"line":5011,"column":7597,"offset":7598},98,18292,{"start":7600,"end":7602},{"line":5011,"column":20,"offset":7601},18195,{"line":5011,"column":7597,"offset":7598},{"type":26,"value":27},{"type":30,"tagName":6278,"properties":7605,"children":7606,"position":7695},{},[7607,7621,7626,7639,7644,7655,7660,7671,7676,7688],{"type":30,"tagName":85,"properties":7608,"children":7609,"position":7616},{"href":5585},[7610],{"type":26,"value":5588,"position":7611},{"start":7612,"end":7614},{"line":7499,"column":440,"offset":7613},18296,{"line":7499,"column":6946,"offset":7615},18311,{"start":7617,"end":7619},{"line":7499,"column":4767,"offset":7618},18295,{"line":7499,"column":7426,"offset":7620},18345,{"type":26,"value":244,"position":7622},{"start":7623,"end":7624},{"line":7499,"column":7426,"offset":7620},{"line":7499,"column":6630,"offset":7625},18350,{"type":30,"tagName":85,"properties":7627,"children":7628,"position":7635},{"href":5606},[7629],{"type":26,"value":5609,"position":7630},{"start":7631,"end":7633},{"line":7499,"column":7232,"offset":7632},18351,{"line":7499,"column":7587,"offset":7634},18362,{"start":7636,"end":7637},{"line":7499,"column":6630,"offset":7625},{"line":7499,"column":134,"offset":7638},18392,{"type":26,"value":7574,"position":7640},{"start":7641,"end":7642},{"line":7499,"column":134,"offset":7638},{"line":7499,"column":6263,"offset":7643},18401,{"type":30,"tagName":44,"properties":7645,"children":7646,"position":7652},{},[7647],{"type":26,"value":5375,"position":7648},{"start":7649,"end":7650},{"line":7499,"column":6263,"offset":7643},{"line":7499,"column":6477,"offset":7651},18406,{"start":7653,"end":7654},{"line":7499,"column":6263,"offset":7643},{"line":7499,"column":6477,"offset":7651},{"type":26,"value":322,"position":7656},{"start":7657,"end":7658},{"line":7499,"column":6477,"offset":7651},{"line":7499,"column":6566,"offset":7659},18408,{"type":30,"tagName":44,"properties":7661,"children":7662,"position":7668},{},[7663],{"type":26,"value":5335,"position":7664},{"start":7665,"end":7666},{"line":7499,"column":6566,"offset":7659},{"line":7499,"column":6943,"offset":7667},18413,{"start":7669,"end":7670},{"line":7499,"column":6566,"offset":7659},{"line":7499,"column":6943,"offset":7667},{"type":26,"value":244,"position":7672},{"start":7673,"end":7674},{"line":7499,"column":6943,"offset":7667},{"line":7499,"column":7490,"offset":7675},18418,{"type":30,"tagName":44,"properties":7677,"children":7678,"position":7685},{},[7679],{"type":26,"value":7680,"position":7681},"Rsi",{"start":7682,"end":7683},{"line":7499,"column":7490,"offset":7675},{"line":7499,"column":4812,"offset":7684},18423,{"start":7686,"end":7687},{"line":7499,"column":7490,"offset":7675},{"line":7499,"column":4812,"offset":7684},{"type":26,"value":7689,"position":7690}," helpers this recipe writes out by hand",{"start":7691,"end":7692},{"line":7499,"column":4812,"offset":7684},{"line":7499,"column":7693,"offset":7694},170,18462,{"start":7696,"end":7698},{"line":7499,"column":20,"offset":7697},18293,{"line":7499,"column":7693,"offset":7694},{"type":26,"value":27},{"start":7701,"end":7702},{"line":5290,"column":20,"offset":7447},{"line":7499,"column":7693,"offset":7694},{"quirksMode":7704},false,{"start":7706,"end":7707},{"line":20,"column":20,"offset":21},{"line":5951,"column":20,"offset":7708},18463,1790157168137]