[{"data":1,"prerenderedAt":4273},["ShallowReactive",2],{"indicators:getting-started/quick-start":3},{"slug":4,"filePath":5,"frontmatter":6,"rawMarkdown":11,"tree":12},"getting-started/quick-start","getting-started/quick-start.md",{"title":7,"description":8,"order":9,"section":10},"Quick start: author on your machine","Build, install, and read an Indicator from a terminal in five steps. The same file the chart editor compiles authors from your machine with the om CLI and bun…",10,"getting-started","---\ntitle: \"Quick start: author on your machine\"\ndescription: \"Build, install, and read an Indicator from a terminal in five steps. The same file the chart editor compiles authors from your machine with the om CLI and bun…\"\norder: 10\nsection: \"getting-started\"\n---\n\n\u003C!-- source: docs/indicators/getting-started/quick-start.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Quick start: author on your machine\n\nBuild, install, and read an Indicator from a terminal in five steps. The\nsame file the chart editor compiles authors from your machine with the `om`\nCLI and `bun`: scaffold a workspace from a template, build it, install it,\nand read its values as an ordinary metric. If you came from kScript (legacy),\nthis is the flow that has no equivalent there: an Indicator is a\npackage you hold, not a script the platform holds for you.\n\n## Anatomy of a workspace\n\nEvery Indicator workspace has three main parts:\n\n1. **The sheet.** `wrun/metadata.json` declares what the module reads and\n   writes: params, inputs and their sources, outputs and their looks. In a\n   code-first workspace it is derived from the declarations in your source;\n   in a metadata-first workspace you write it by hand.\n2. **The source.** `src/indicator.ts`: the four functions and the state\n   between them.\n3. **The generated accessors.** `src/gen/`: one reader or writer per\n   declared name, regenerated before every build, so the code stays attached\n   to names while the runtime passes values by position.\n\n## Step 1: Scaffold from a template\n\n```bash\nom wrun templates --format json\nom wrun create @you/my-sma ./my-sma --template sma\n```\n\n`om wrun templates` lists the starting points: `sma`, `sma-codefirst` (the\nchart's New indicator seed), `sma-box` (the second starter: the same SMA\nwith a box shading a band around it), `vp-buy-share-codefirst` (a celled\nvolume-profile input with a text renderer, the worked footprint example in\n`core-concepts/data-sources.md`), `polymarket-odds`, `conviction-score`,\n`event-asset-divergence`, `escalation-risk`, and `hud-terminal` (a\nterminal-style readout drawn with anchored label handles). Every template\nscaffolds a complete workspace:\n\n```text\nom-package.json            package manifest (@scope/name, version, kind)\npackage.json               local build scripts\nasconfig.json              compiler settings\nwrun/metadata.json         the sheet (what the module reads and writes)\nsrc/indicator.ts           your file\nsrc/sdk/sdk.ts             raw host imports (advanced; variable-index access)\nsrc/sdk/ta.ts              stateful TA classes, one per kScript builtin (Sma, Ema, Rsi, ...)\nsrc/sdk/declare.ts         GENERATED declaration SDK (param/input/output/box/segment);\n                           regenerated by scaffold migrations, never edit\nsrc/gen/                   GENERATED name-attached accessors; never edit\n                           (strings.ts appears when the sheet declares string slots)\nscripts/wrun-prebuild.mjs  GENERATED prebuild step run by `bun run build`; never edit\n.wrun-scaffold             scaffold contract version\nREADME.md, .gitignore\n```\n\n`om wrun` migrates a workspace scaffolded by an older release onto the\ncurrent contract once, non-destructively: your source and sheet are never\ntouched, the SDK files and build scripts are refreshed, and the migration\nis reported in the next build's warnings.\n\n## Step 2: Read the sheet and the source\n\nThe `sma` template is the moving average with a hand-written sheet instead\nof declarations. The sheet declares one param, one input, one output:\n\n```json\n{\n  \"id\": \"my-sma\",\n  \"name\": \"My Simple Moving Average\",\n  \"abi_version\": \"wrun-1\",\n  \"warmup_bars\": 1,\n  \"params\": [{ \"name\": \"period\", \"default\": 20, \"min\": 1, \"max\": 200 }],\n  \"inputSources\": { \"close\": { \"source\": \"ohlcv\", \"field\": \"close\" } },\n  \"inputs\": [{ \"index\": 0, \"name\": \"close\" }],\n  \"outputs\": [{ \"index\": 0, \"name\": \"sma\", \"plot\": \"line\", \"panel\": \"overlay\", \"unit\": \"price\" }]\n}\n```\n\nAnd the source reads and writes those names through the same accessors the\nchart's template uses:\n\n```typescript\nimport { in_close } from \"./gen/inputs\";\nimport { emitRow, out_sma } from \"./gen/outputs\";\nimport { p_period } from \"./gen/params\";\nimport { Sma } from \"./sdk/ta\";\n\nlet sma = new Sma(20);\nlet value: f64 = NaN;\n\nexport function init(): void {\n  sma = new Sma(i32(p_period()));\n}\n\nexport function state(): i32 {\n  value = sma.update(in_close());\n  return isNaN(value) ? 0 : 1;\n}\n\nexport function finalize(): void {\n  out_sma(value);\n  emitRow();\n}\n\nexport function reset(): void {\n  sma.reset();\n  value = NaN;\n}\n```\n\nEditing the sheet moves the SLOT inside each accessor while your source\nkeeps the NAME, so reordering params or inputs never changes what the module\ncomputes. With declarations in the source the sheet is DERIVED at every\nbuild (it records `generated_from: \"declarations\"` plus a `source_digest`)\nand hand edits to it are refused; without declarations the hand-written\nsheet is the authority, and that is the only mode for languages without an\nextractor. Raw positional literals (`getFloat(0)`, `setOutput(0, ...)`) are\na build error either way; `src/sdk/sdk.ts` exists for variable-index access\nonly. The full grammar is in `functions/ta-library.md` and\n`functions/script-definition.md`.\n\n## Step 3: Build, install, check\n\n```bash\nom wrun build ./my-sma\nom wrun install ./my-sma --replace\nom wrun validate ./my-sma\n```\n\n`om wrun build` regenerates `src/gen` from the sheet (deriving the sheet\nfrom declarations first), runs the local build (the receipt prints\n`Compiler: assemblyscript (bun run build)`), checks the module statically\nagainst the contract, and exports `dist/package`. The scaffold's local\nbuild runs `bun install` once per workspace (the compiler) and\n`bun run build` per compile; `om wrun build` drives both, and a plain\n`bun run build` inside the workspace runs the same prebuild plus compile\nwithout `om` on PATH. `om wrun install` is the same pipeline plus the local\ninstall under `~/.openmarket/packages`, with a receipt naming the install path and\nthe undo (`om wrun remove @you/my-sma`). On a compile error the command\nexits with the compiler's diagnostics: read them, edit, build again.\n\n## Step 4: See a value, see it move, see it drawn\n\n```bash\nom wrun list\nom metric get --metric wrun/@you/my-sma/sma:period=20 --symbol BTCUSDT --exchange BINANCE_FUTURES\nom metric series --metric wrun/@you/my-sma/sma --params period=20 --symbol BTCUSDT --exchange BINANCE_FUTURES --bars 60\nom chart indicator preview --type wrun/@you/my-sma/sma --bars 300\n```\n\n`om metric get` returns the newest value; `om metric series` returns one\n`[barOpenSec, value]` pair per bar (oldest first, newest = the still-forming\nbar) and renders a sparkline in text mode; `om chart indicator preview`\ndraws the draft on your active chart workspace without publishing. An\ninstalled output is an ordinary metric id everywhere else too: watch\nconditions (including `crosses_above` / `crosses_below` edges), screens,\nand backtests.\n\n## Step 5: Make it yours\n\nHard-coded periods are not very flexible, and one average is not much of a\nstudy. Scaffold a second workspace from the code-first template and replace\n`src/indicator.ts` with the classic off-chart study from the kScript quick\nstart: the difference between a fast and a slow EMA, drawn as a histogram\nthat is green above zero and red below. Params make the periods settings,\nand a data-only `sign` output feeds the histogram's per-bar color:\n\n```bash\nom wrun create @you/ema-diff ./ema-diff --template sma-codefirst\n```\n\n```typescript\nimport { histogram, input, lower, none, ohlcv, output, param } from \"./sdk/declare\";\nimport { in_close } from \"./gen/inputs\";\nimport { emitRow, out_diff, out_sign } from \"./gen/outputs\";\nimport { p_fast, p_slow } from \"./gen/params\";\nimport { Ema } from \"./sdk/ta\";\n\nparam(\"fast\", 7, { min: 1, max: 200, description: \"Fast period\" });\nparam(\"slow\", 14, { min: 2, max: 400, description: \"Slow period\" });\ninput(\"close\", ohlcv.close);\n// A histogram in its own pane, colored per bar by the sign output: entry 0 below zero, entry 1 above.\noutput(\"diff\", histogram, lower, { color_by: \"sign\", colors: [\"#dc2626\", \"#16a34a\"], description: \"Fast EMA minus slow EMA\" });\noutput(\"sign\", none, lower);\n\nlet fast = new Ema(7);\nlet slow = new Ema(14);\nlet diff: f64 = NaN;\n\nexport function init(): void {\n  fast = new Ema(i32(p_fast()));\n  slow = new Ema(i32(p_slow()));\n}\n\nexport function state(): i32 {\n  const close = in_close();\n  diff = fast.update(close) - slow.update(close);\n  return isNaN(diff) ? 0 : 1;\n}\n\nexport function finalize(): void {\n  out_diff(diff);\n  out_sign(diff > 0.0 ? 1.0 : 0.0);\n  emitRow();\n}\n\nexport function reset(): void {\n  fast.reset();\n  slow.reset();\n  diff = NaN;\n}\n```\n\nThe `color_by` option names another output whose per-bar value indexes the\n`colors` palette (floored), so `sign` at `0` paints red and at `1` paints\ngreen; an output cannot color itself, which is why the decision is its own\ndata-only output. Every param is a field in the overlay's settings dialog\non the chart and a `--params` value on your machine.\n\nBuild and install it, then read the difference back with its params:\n\n```bash\nom wrun install ./ema-diff --replace\nom metric series --metric wrun/@you/ema-diff/diff --params fast=7,slow=14 --symbol BTCUSDT --exchange BINANCE_FUTURES --bars 48\n```\n\nThe moment the histogram turns positive is a one-line watch on the same\nmetric id: params travel as a `params` object, and a condition with an edge\noperator names the interval the cross is read on:\n\n```bash\nom watch create \"EMA difference turned positive\" --condition '{\"metric\":\"wrun/@you/ema-diff/diff\",\"params\":{\"fast\":7,\"slow\":14},\"selector\":{\"symbol\":\"BTCUSDT\",\"exchange\":\"BINANCE_FUTURES\",\"interval\":\"HOUR\"},\"op\":\"crosses_above\",\"value\":0}'\n```\n\nCongratulations: you have built, installed, read, and armed an Indicator\nwithout opening a browser. Publishing from the CLI, scopes, visibility, and\ndeleting are in `functions/publishing.md`; every verb under its `om indicator`\nspelling is `getting-started/cli.md`.\n\n## What's next\n\n- `core-concepts/execution-model.md`: the per-bar function, warm-up, no\n  lookahead, and which host runs the file.\n- `functions/moving-averages.md`: `Sma`, `Ema`, and the averages you write\n  yourself.\n- `functions/plotting.md`: every plot kind, panel, and styling option.\n- `core-concepts/core-variables.md`: what to keep between bars and how.\n",{"type":13,"children":14,"data":4266,"position":4268},"root",[15,25,28,29,89,90,109,110,124,125,290,291,307,308,389,390,607,608,741,742,769,770,786,787,819,820,1228,1229,1245,1246,1821,1822,1969,1970,1986,1987,2062,2063,2299,2300,2316,2317,2500,2501,2623,2624,2640,2641,2692,2693,2735,2736,3711,3712,3832,3833,3847,3848,3942,3943,3978,3979,4018,4019,4090,4091,4107,4108],{"type":16,"value":17,"position":18},"comment"," source: docs/indicators/getting-started/quick-start.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},134,133,{"type":26,"value":27},"text","\n",{"type":26,"value":27},{"type":30,"tagName":31,"properties":32,"children":33,"position":86},"element","p",{},[34,44,58,66,79],{"type":26,"value":35,"position":36},"Build, install, and read an Indicator from a terminal in five steps. The\nsame file the chart editor compiles authors from your machine with the ",{"start":37,"end":40},{"line":38,"column":20,"offset":39},5,174,{"line":41,"column":42,"offset":43},6,72,318,{"type":30,"tagName":45,"properties":46,"children":47,"position":55},"code",{},[48],{"type":26,"value":49,"position":50},"om",{"start":51,"end":52},{"line":41,"column":42,"offset":43},{"line":41,"column":53,"offset":54},76,322,{"start":56,"end":57},{"line":41,"column":42,"offset":43},{"line":41,"column":53,"offset":54},{"type":26,"value":59,"position":60},"\nCLI and ",{"start":61,"end":62},{"line":41,"column":53,"offset":54},{"line":63,"column":64,"offset":65},7,9,331,{"type":30,"tagName":45,"properties":67,"children":68,"position":76},{},[69],{"type":26,"value":70,"position":71},"bun",{"start":72,"end":73},{"line":63,"column":64,"offset":65},{"line":63,"column":74,"offset":75},14,336,{"start":77,"end":78},{"line":63,"column":64,"offset":65},{"line":63,"column":74,"offset":75},{"type":26,"value":80,"position":81},": scaffold a workspace from a template, build it, install it,\nand read its values as an ordinary metric. If you came from kScript (legacy),\nthis is the flow that has no equivalent there: an Indicator is a\npackage you hold, not a script the platform holds for you.",{"start":82,"end":83},{"line":63,"column":74,"offset":75},{"line":9,"column":84,"offset":85},59,599,{"start":87,"end":88},{"line":38,"column":20,"offset":39},{"line":9,"column":84,"offset":85},{"type":26,"value":27},{"type":30,"tagName":91,"properties":92,"children":94,"position":105},"h2",{"id":93},"anatomy-of-a-workspace",[95],{"type":26,"value":96,"position":97},"Anatomy of a workspace",{"start":98,"end":102},{"line":99,"column":100,"offset":101},12,4,604,{"line":99,"column":103,"offset":104},26,626,{"start":106,"end":108},{"line":99,"column":20,"offset":107},601,{"line":99,"column":103,"offset":104},{"type":26,"value":27},{"type":30,"tagName":31,"properties":111,"children":112,"position":121},{},[113],{"type":26,"value":114,"position":115},"Every Indicator workspace has three main parts:",{"start":116,"end":118},{"line":74,"column":20,"offset":117},628,{"line":74,"column":119,"offset":120},48,675,{"start":122,"end":123},{"line":74,"column":20,"offset":117},{"line":74,"column":119,"offset":120},{"type":26,"value":27},{"type":30,"tagName":126,"properties":127,"children":128,"position":287},"ol",{},[129,130,183,184,233,234,286],{"type":26,"value":27},{"type":30,"tagName":131,"properties":132,"children":133,"position":179},"li",{},[134,152,159,172],{"type":30,"tagName":135,"properties":136,"children":137,"position":146},"strong",{},[138],{"type":26,"value":139,"position":140},"The sheet.",{"start":141,"end":144},{"line":142,"column":41,"offset":143},16,682,{"line":142,"column":142,"offset":145},692,{"start":147,"end":149},{"line":142,"column":100,"offset":148},680,{"line":142,"column":150,"offset":151},18,694,{"type":26,"value":153,"position":154}," ",{"start":155,"end":156},{"line":142,"column":150,"offset":151},{"line":142,"column":157,"offset":158},19,695,{"type":30,"tagName":45,"properties":160,"children":161,"position":169},{},[162],{"type":26,"value":163,"position":164},"wrun/metadata.json",{"start":165,"end":166},{"line":142,"column":157,"offset":158},{"line":142,"column":167,"offset":168},39,715,{"start":170,"end":171},{"line":142,"column":157,"offset":158},{"line":142,"column":167,"offset":168},{"type":26,"value":173,"position":174}," declares what the module reads and\nwrites: params, inputs and their sources, outputs and their looks. In a\ncode-first workspace it is derived from the declarations in your source;\nin a metadata-first workspace you write it by hand.",{"start":175,"end":176},{"line":142,"column":167,"offset":168},{"line":157,"column":177,"offset":178},55,956,{"start":180,"end":182},{"line":142,"column":20,"offset":181},677,{"line":157,"column":177,"offset":178},{"type":26,"value":27},{"type":30,"tagName":131,"properties":185,"children":186,"position":229},{},[187,204,209,222],{"type":30,"tagName":135,"properties":188,"children":189,"position":199},{},[190],{"type":26,"value":191,"position":192},"The source.",{"start":193,"end":196},{"line":194,"column":41,"offset":195},20,962,{"line":194,"column":197,"offset":198},17,973,{"start":200,"end":202},{"line":194,"column":100,"offset":201},960,{"line":194,"column":157,"offset":203},975,{"type":26,"value":153,"position":205},{"start":206,"end":207},{"line":194,"column":157,"offset":203},{"line":194,"column":194,"offset":208},976,{"type":30,"tagName":45,"properties":210,"children":211,"position":219},{},[212],{"type":26,"value":213,"position":214},"src/indicator.ts",{"start":215,"end":216},{"line":194,"column":194,"offset":208},{"line":194,"column":217,"offset":218},38,994,{"start":220,"end":221},{"line":194,"column":194,"offset":208},{"line":194,"column":217,"offset":218},{"type":26,"value":223,"position":224},": the four functions and the state\nbetween them.",{"start":225,"end":226},{"line":194,"column":217,"offset":218},{"line":227,"column":197,"offset":228},21,1045,{"start":230,"end":232},{"line":194,"column":20,"offset":231},957,{"line":227,"column":197,"offset":228},{"type":26,"value":27},{"type":30,"tagName":131,"properties":235,"children":236,"position":282},{},[237,255,261,274],{"type":30,"tagName":135,"properties":238,"children":239,"position":249},{},[240],{"type":26,"value":241,"position":242},"The generated accessors.",{"start":243,"end":246},{"line":244,"column":41,"offset":245},22,1051,{"line":244,"column":247,"offset":248},30,1075,{"start":250,"end":252},{"line":244,"column":100,"offset":251},1049,{"line":244,"column":253,"offset":254},32,1077,{"type":26,"value":153,"position":256},{"start":257,"end":258},{"line":244,"column":253,"offset":254},{"line":244,"column":259,"offset":260},33,1078,{"type":30,"tagName":45,"properties":262,"children":263,"position":271},{},[264],{"type":26,"value":265,"position":266},"src/gen/",{"start":267,"end":268},{"line":244,"column":259,"offset":260},{"line":244,"column":269,"offset":270},43,1088,{"start":272,"end":273},{"line":244,"column":259,"offset":260},{"line":244,"column":269,"offset":270},{"type":26,"value":275,"position":276},": one reader or writer per\ndeclared name, regenerated before every build, so the code stays attached\nto names while the runtime passes values by position.",{"start":277,"end":278},{"line":244,"column":269,"offset":270},{"line":279,"column":280,"offset":281},24,57,1248,{"start":283,"end":285},{"line":244,"column":20,"offset":284},1046,{"line":279,"column":280,"offset":281},{"type":26,"value":27},{"start":288,"end":289},{"line":142,"column":20,"offset":181},{"line":279,"column":280,"offset":281},{"type":26,"value":27},{"type":30,"tagName":91,"properties":292,"children":294,"position":303},{"id":293},"step-1-scaffold-from-a-template",[295],{"type":26,"value":296,"position":297},"Step 1: Scaffold from a template",{"start":298,"end":300},{"line":103,"column":100,"offset":299},1253,{"line":103,"column":301,"offset":302},36,1285,{"start":304,"end":306},{"line":103,"column":20,"offset":305},1250,{"line":103,"column":301,"offset":302},{"type":26,"value":27},{"type":13,"children":309},[310],{"type":30,"tagName":311,"properties":312,"children":316,"data":-1},"pre",{"class":313,"style":314,"tabindex":315},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0",[317],{"type":30,"tagName":45,"properties":318,"children":319},{},[320,352,353],{"type":30,"tagName":321,"properties":322,"children":324},"span",{"class":323},"line",[325,330,336,341,347],{"type":30,"tagName":321,"properties":326,"children":328},{"style":327},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[329],{"type":26,"value":49},{"type":30,"tagName":321,"properties":331,"children":333},{"style":332},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[334],{"type":26,"value":335}," wrun",{"type":30,"tagName":321,"properties":337,"children":338},{"style":332},[339],{"type":26,"value":340}," templates",{"type":30,"tagName":321,"properties":342,"children":344},{"style":343},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[345],{"type":26,"value":346}," --format",{"type":30,"tagName":321,"properties":348,"children":349},{"style":332},[350],{"type":26,"value":351}," json",{"type":26,"value":27},{"type":30,"tagName":321,"properties":354,"children":355},{"class":323},[356,360,364,369,374,379,384],{"type":30,"tagName":321,"properties":357,"children":358},{"style":327},[359],{"type":26,"value":49},{"type":30,"tagName":321,"properties":361,"children":362},{"style":332},[363],{"type":26,"value":335},{"type":30,"tagName":321,"properties":365,"children":366},{"style":332},[367],{"type":26,"value":368}," create",{"type":30,"tagName":321,"properties":370,"children":371},{"style":332},[372],{"type":26,"value":373}," @you/my-sma",{"type":30,"tagName":321,"properties":375,"children":376},{"style":332},[377],{"type":26,"value":378}," ./my-sma",{"type":30,"tagName":321,"properties":380,"children":381},{"style":343},[382],{"type":26,"value":383}," --template",{"type":30,"tagName":321,"properties":385,"children":386},{"style":332},[387],{"type":26,"value":388}," sma",{"type":26,"value":27},{"type":30,"tagName":31,"properties":391,"children":392,"position":604},{},[393,406,412,425,431,444,451,463,470,483,490,502,508,521,527,539,545,558,564,577,584,597],{"type":30,"tagName":45,"properties":394,"children":395,"position":403},{},[396],{"type":26,"value":397,"position":398},"om wrun templates",{"start":399,"end":401},{"line":259,"column":20,"offset":400},1383,{"line":259,"column":194,"offset":402},1402,{"start":404,"end":405},{"line":259,"column":20,"offset":400},{"line":259,"column":194,"offset":402},{"type":26,"value":407,"position":408}," lists the starting points: ",{"start":409,"end":410},{"line":259,"column":194,"offset":402},{"line":259,"column":119,"offset":411},1430,{"type":30,"tagName":45,"properties":413,"children":414,"position":422},{},[415],{"type":26,"value":416,"position":417},"sma",{"start":418,"end":419},{"line":259,"column":119,"offset":411},{"line":259,"column":420,"offset":421},53,1435,{"start":423,"end":424},{"line":259,"column":119,"offset":411},{"line":259,"column":420,"offset":421},{"type":26,"value":426,"position":427},", ",{"start":428,"end":429},{"line":259,"column":420,"offset":421},{"line":259,"column":177,"offset":430},1437,{"type":30,"tagName":45,"properties":432,"children":433,"position":441},{},[434],{"type":26,"value":435,"position":436},"sma-codefirst",{"start":437,"end":438},{"line":259,"column":177,"offset":430},{"line":259,"column":439,"offset":440},70,1452,{"start":442,"end":443},{"line":259,"column":177,"offset":430},{"line":259,"column":439,"offset":440},{"type":26,"value":445,"position":446}," (the\nchart's New indicator seed), ",{"start":447,"end":448},{"line":259,"column":439,"offset":440},{"line":449,"column":247,"offset":450},34,1487,{"type":30,"tagName":45,"properties":452,"children":453,"position":460},{},[454],{"type":26,"value":455,"position":456},"sma-box",{"start":457,"end":458},{"line":449,"column":247,"offset":450},{"line":449,"column":167,"offset":459},1496,{"start":461,"end":462},{"line":449,"column":247,"offset":450},{"line":449,"column":167,"offset":459},{"type":26,"value":464,"position":465}," (the second starter: the same SMA\nwith a box shading a band around it), ",{"start":466,"end":467},{"line":449,"column":167,"offset":459},{"line":468,"column":167,"offset":469},35,1569,{"type":30,"tagName":45,"properties":471,"children":472,"position":480},{},[473],{"type":26,"value":474,"position":475},"vp-buy-share-codefirst",{"start":476,"end":477},{"line":468,"column":167,"offset":469},{"line":468,"column":478,"offset":479},63,1593,{"start":481,"end":482},{"line":468,"column":167,"offset":469},{"line":468,"column":478,"offset":479},{"type":26,"value":484,"position":485}," (a celled\nvolume-profile input with a text renderer, the worked footprint example in\n",{"start":486,"end":487},{"line":468,"column":478,"offset":479},{"line":488,"column":20,"offset":489},37,1679,{"type":30,"tagName":45,"properties":491,"children":492,"position":499},{},[493],{"type":26,"value":494,"position":495},"core-concepts/data-sources.md",{"start":496,"end":497},{"line":488,"column":20,"offset":489},{"line":488,"column":253,"offset":498},1710,{"start":500,"end":501},{"line":488,"column":20,"offset":489},{"line":488,"column":253,"offset":498},{"type":26,"value":503,"position":504},"), ",{"start":505,"end":506},{"line":488,"column":253,"offset":498},{"line":488,"column":468,"offset":507},1713,{"type":30,"tagName":45,"properties":509,"children":510,"position":518},{},[511],{"type":26,"value":512,"position":513},"polymarket-odds",{"start":514,"end":515},{"line":488,"column":468,"offset":507},{"line":488,"column":516,"offset":517},52,1730,{"start":519,"end":520},{"line":488,"column":468,"offset":507},{"line":488,"column":516,"offset":517},{"type":26,"value":426,"position":522},{"start":523,"end":524},{"line":488,"column":516,"offset":517},{"line":488,"column":525,"offset":526},54,1732,{"type":30,"tagName":45,"properties":528,"children":529,"position":536},{},[530],{"type":26,"value":531,"position":532},"conviction-score",{"start":533,"end":534},{"line":488,"column":525,"offset":526},{"line":488,"column":42,"offset":535},1750,{"start":537,"end":538},{"line":488,"column":525,"offset":526},{"line":488,"column":42,"offset":535},{"type":26,"value":540,"position":541},",\n",{"start":542,"end":543},{"line":488,"column":42,"offset":535},{"line":217,"column":20,"offset":544},1752,{"type":30,"tagName":45,"properties":546,"children":547,"position":555},{},[548],{"type":26,"value":549,"position":550},"event-asset-divergence",{"start":551,"end":552},{"line":217,"column":20,"offset":544},{"line":217,"column":553,"offset":554},25,1776,{"start":556,"end":557},{"line":217,"column":20,"offset":544},{"line":217,"column":553,"offset":554},{"type":26,"value":426,"position":559},{"start":560,"end":561},{"line":217,"column":553,"offset":554},{"line":217,"column":562,"offset":563},27,1778,{"type":30,"tagName":45,"properties":565,"children":566,"position":574},{},[567],{"type":26,"value":568,"position":569},"escalation-risk",{"start":570,"end":571},{"line":217,"column":562,"offset":563},{"line":217,"column":572,"offset":573},44,1795,{"start":575,"end":576},{"line":217,"column":562,"offset":563},{"line":217,"column":572,"offset":573},{"type":26,"value":578,"position":579},", and ",{"start":580,"end":581},{"line":217,"column":572,"offset":573},{"line":217,"column":582,"offset":583},50,1801,{"type":30,"tagName":45,"properties":585,"children":586,"position":594},{},[587],{"type":26,"value":588,"position":589},"hud-terminal",{"start":590,"end":591},{"line":217,"column":582,"offset":583},{"line":217,"column":592,"offset":593},64,1815,{"start":595,"end":596},{"line":217,"column":582,"offset":583},{"line":217,"column":592,"offset":593},{"type":26,"value":598,"position":599}," (a\nterminal-style readout drawn with anchored label handles). Every template\nscaffolds a complete workspace:",{"start":600,"end":601},{"line":217,"column":592,"offset":593},{"line":602,"column":253,"offset":603},40,1924,{"start":605,"end":606},{"line":259,"column":20,"offset":400},{"line":602,"column":253,"offset":603},{"type":26,"value":27},{"type":13,"children":609},[610],{"type":30,"tagName":311,"properties":611,"children":612,"data":-1},{"class":313,"style":314,"tabindex":315},[613],{"type":30,"tagName":45,"properties":614,"children":615},{},[616,624,625,633,634,642,643,651,652,660,661,669,670,678,679,687,688,696,697,705,706,714,715,723,724,732,733],{"type":30,"tagName":321,"properties":617,"children":618},{"class":323},[619],{"type":30,"tagName":321,"properties":620,"children":621},{},[622],{"type":26,"value":623},"om-package.json            package manifest (@scope/name, version, kind)",{"type":26,"value":27},{"type":30,"tagName":321,"properties":626,"children":627},{"class":323},[628],{"type":30,"tagName":321,"properties":629,"children":630},{},[631],{"type":26,"value":632},"package.json               local build scripts",{"type":26,"value":27},{"type":30,"tagName":321,"properties":635,"children":636},{"class":323},[637],{"type":30,"tagName":321,"properties":638,"children":639},{},[640],{"type":26,"value":641},"asconfig.json              compiler settings",{"type":26,"value":27},{"type":30,"tagName":321,"properties":644,"children":645},{"class":323},[646],{"type":30,"tagName":321,"properties":647,"children":648},{},[649],{"type":26,"value":650},"wrun/metadata.json         the sheet (what the module reads and writes)",{"type":26,"value":27},{"type":30,"tagName":321,"properties":653,"children":654},{"class":323},[655],{"type":30,"tagName":321,"properties":656,"children":657},{},[658],{"type":26,"value":659},"src/indicator.ts           your file",{"type":26,"value":27},{"type":30,"tagName":321,"properties":662,"children":663},{"class":323},[664],{"type":30,"tagName":321,"properties":665,"children":666},{},[667],{"type":26,"value":668},"src/sdk/sdk.ts             raw host imports (advanced; variable-index access)",{"type":26,"value":27},{"type":30,"tagName":321,"properties":671,"children":672},{"class":323},[673],{"type":30,"tagName":321,"properties":674,"children":675},{},[676],{"type":26,"value":677},"src/sdk/ta.ts              stateful TA classes, one per kScript builtin (Sma, Ema, Rsi, ...)",{"type":26,"value":27},{"type":30,"tagName":321,"properties":680,"children":681},{"class":323},[682],{"type":30,"tagName":321,"properties":683,"children":684},{},[685],{"type":26,"value":686},"src/sdk/declare.ts         GENERATED declaration SDK (param/input/output/box/segment);",{"type":26,"value":27},{"type":30,"tagName":321,"properties":689,"children":690},{"class":323},[691],{"type":30,"tagName":321,"properties":692,"children":693},{},[694],{"type":26,"value":695},"                           regenerated by scaffold migrations, never edit",{"type":26,"value":27},{"type":30,"tagName":321,"properties":698,"children":699},{"class":323},[700],{"type":30,"tagName":321,"properties":701,"children":702},{},[703],{"type":26,"value":704},"src/gen/                   GENERATED name-attached accessors; never edit",{"type":26,"value":27},{"type":30,"tagName":321,"properties":707,"children":708},{"class":323},[709],{"type":30,"tagName":321,"properties":710,"children":711},{},[712],{"type":26,"value":713},"                           (strings.ts appears when the sheet declares string slots)",{"type":26,"value":27},{"type":30,"tagName":321,"properties":716,"children":717},{"class":323},[718],{"type":30,"tagName":321,"properties":719,"children":720},{},[721],{"type":26,"value":722},"scripts/wrun-prebuild.mjs  GENERATED prebuild step run by `bun run build`; never edit",{"type":26,"value":27},{"type":30,"tagName":321,"properties":725,"children":726},{"class":323},[727],{"type":30,"tagName":321,"properties":728,"children":729},{},[730],{"type":26,"value":731},".wrun-scaffold             scaffold contract version",{"type":26,"value":27},{"type":30,"tagName":321,"properties":734,"children":735},{"class":323},[736],{"type":30,"tagName":321,"properties":737,"children":738},{},[739],{"type":26,"value":740},"README.md, .gitignore",{"type":26,"value":27},{"type":30,"tagName":31,"properties":743,"children":744,"position":766},{},[745,758],{"type":30,"tagName":45,"properties":746,"children":747,"position":755},{},[748],{"type":26,"value":749,"position":750},"om wrun",{"start":751,"end":753},{"line":84,"column":20,"offset":752},2864,{"line":84,"column":9,"offset":754},2873,{"start":756,"end":757},{"line":84,"column":20,"offset":752},{"line":84,"column":9,"offset":754},{"type":26,"value":759,"position":760}," migrates a workspace scaffolded by an older release onto the\ncurrent contract once, non-destructively: your source and sheet are never\ntouched, the SDK files and build scripts are refreshed, and the migration\nis reported in the next build's warnings.",{"start":761,"end":762},{"line":84,"column":9,"offset":754},{"line":763,"column":764,"offset":765},62,42,3124,{"start":767,"end":768},{"line":84,"column":20,"offset":752},{"line":763,"column":764,"offset":765},{"type":26,"value":27},{"type":30,"tagName":91,"properties":771,"children":773,"position":782},{"id":772},"step-2-read-the-sheet-and-the-source",[774],{"type":26,"value":775,"position":776},"Step 2: Read the sheet and the source",{"start":777,"end":779},{"line":592,"column":100,"offset":778},3129,{"line":592,"column":780,"offset":781},41,3166,{"start":783,"end":785},{"line":592,"column":20,"offset":784},3126,{"line":592,"column":780,"offset":781},{"type":26,"value":27},{"type":30,"tagName":31,"properties":788,"children":789,"position":816},{},[790,798,809],{"type":26,"value":791,"position":792},"The ",{"start":793,"end":796},{"line":794,"column":20,"offset":795},66,3168,{"line":794,"column":38,"offset":797},3172,{"type":30,"tagName":45,"properties":799,"children":800,"position":806},{},[801],{"type":26,"value":416,"position":802},{"start":803,"end":804},{"line":794,"column":38,"offset":797},{"line":794,"column":9,"offset":805},3177,{"start":807,"end":808},{"line":794,"column":38,"offset":797},{"line":794,"column":9,"offset":805},{"type":26,"value":810,"position":811}," template is the moving average with a hand-written sheet instead\nof declarations. The sheet declares one param, one input, one output:",{"start":812,"end":813},{"line":794,"column":9,"offset":805},{"line":814,"column":439,"offset":815},67,3312,{"start":817,"end":818},{"line":794,"column":20,"offset":795},{"line":814,"column":439,"offset":815},{"type":26,"value":27},{"type":13,"children":821},[822],{"type":30,"tagName":311,"properties":823,"children":824,"data":-1},{"class":313,"style":314,"tabindex":315},[825],{"type":30,"tagName":45,"properties":826,"children":827},{},[828,837,838,861,862,883,884,905,906,927,928,1013,1014,1072,1073,1118,1119,1219,1220],{"type":30,"tagName":321,"properties":829,"children":830},{"class":323},[831],{"type":30,"tagName":321,"properties":832,"children":834},{"style":833},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[835],{"type":26,"value":836},"{",{"type":26,"value":27},{"type":30,"tagName":321,"properties":839,"children":840},{"class":323},[841,846,851,856],{"type":30,"tagName":321,"properties":842,"children":843},{"style":343},[844],{"type":26,"value":845},"  \"id\"",{"type":30,"tagName":321,"properties":847,"children":848},{"style":833},[849],{"type":26,"value":850},": ",{"type":30,"tagName":321,"properties":852,"children":853},{"style":332},[854],{"type":26,"value":855},"\"my-sma\"",{"type":30,"tagName":321,"properties":857,"children":858},{"style":833},[859],{"type":26,"value":860},",",{"type":26,"value":27},{"type":30,"tagName":321,"properties":863,"children":864},{"class":323},[865,870,874,879],{"type":30,"tagName":321,"properties":866,"children":867},{"style":343},[868],{"type":26,"value":869},"  \"name\"",{"type":30,"tagName":321,"properties":871,"children":872},{"style":833},[873],{"type":26,"value":850},{"type":30,"tagName":321,"properties":875,"children":876},{"style":332},[877],{"type":26,"value":878},"\"My Simple Moving Average\"",{"type":30,"tagName":321,"properties":880,"children":881},{"style":833},[882],{"type":26,"value":860},{"type":26,"value":27},{"type":30,"tagName":321,"properties":885,"children":886},{"class":323},[887,892,896,901],{"type":30,"tagName":321,"properties":888,"children":889},{"style":343},[890],{"type":26,"value":891},"  \"abi_version\"",{"type":30,"tagName":321,"properties":893,"children":894},{"style":833},[895],{"type":26,"value":850},{"type":30,"tagName":321,"properties":897,"children":898},{"style":332},[899],{"type":26,"value":900},"\"wrun-1\"",{"type":30,"tagName":321,"properties":902,"children":903},{"style":833},[904],{"type":26,"value":860},{"type":26,"value":27},{"type":30,"tagName":321,"properties":907,"children":908},{"class":323},[909,914,918,923],{"type":30,"tagName":321,"properties":910,"children":911},{"style":343},[912],{"type":26,"value":913},"  \"warmup_bars\"",{"type":30,"tagName":321,"properties":915,"children":916},{"style":833},[917],{"type":26,"value":850},{"type":30,"tagName":321,"properties":919,"children":920},{"style":343},[921],{"type":26,"value":922},"1",{"type":30,"tagName":321,"properties":924,"children":925},{"style":833},[926],{"type":26,"value":860},{"type":26,"value":27},{"type":30,"tagName":321,"properties":929,"children":930},{"class":323},[931,936,941,946,950,955,959,964,968,973,977,982,986,990,994,999,1003,1008],{"type":30,"tagName":321,"properties":932,"children":933},{"style":343},[934],{"type":26,"value":935},"  \"params\"",{"type":30,"tagName":321,"properties":937,"children":938},{"style":833},[939],{"type":26,"value":940},": [{ ",{"type":30,"tagName":321,"properties":942,"children":943},{"style":343},[944],{"type":26,"value":945},"\"name\"",{"type":30,"tagName":321,"properties":947,"children":948},{"style":833},[949],{"type":26,"value":850},{"type":30,"tagName":321,"properties":951,"children":952},{"style":332},[953],{"type":26,"value":954},"\"period\"",{"type":30,"tagName":321,"properties":956,"children":957},{"style":833},[958],{"type":26,"value":426},{"type":30,"tagName":321,"properties":960,"children":961},{"style":343},[962],{"type":26,"value":963},"\"default\"",{"type":30,"tagName":321,"properties":965,"children":966},{"style":833},[967],{"type":26,"value":850},{"type":30,"tagName":321,"properties":969,"children":970},{"style":343},[971],{"type":26,"value":972},"20",{"type":30,"tagName":321,"properties":974,"children":975},{"style":833},[976],{"type":26,"value":426},{"type":30,"tagName":321,"properties":978,"children":979},{"style":343},[980],{"type":26,"value":981},"\"min\"",{"type":30,"tagName":321,"properties":983,"children":984},{"style":833},[985],{"type":26,"value":850},{"type":30,"tagName":321,"properties":987,"children":988},{"style":343},[989],{"type":26,"value":922},{"type":30,"tagName":321,"properties":991,"children":992},{"style":833},[993],{"type":26,"value":426},{"type":30,"tagName":321,"properties":995,"children":996},{"style":343},[997],{"type":26,"value":998},"\"max\"",{"type":30,"tagName":321,"properties":1000,"children":1001},{"style":833},[1002],{"type":26,"value":850},{"type":30,"tagName":321,"properties":1004,"children":1005},{"style":343},[1006],{"type":26,"value":1007},"200",{"type":30,"tagName":321,"properties":1009,"children":1010},{"style":833},[1011],{"type":26,"value":1012}," }],",{"type":26,"value":27},{"type":30,"tagName":321,"properties":1015,"children":1016},{"class":323},[1017,1022,1027,1032,1036,1041,1045,1050,1054,1059,1063,1067],{"type":30,"tagName":321,"properties":1018,"children":1019},{"style":343},[1020],{"type":26,"value":1021},"  \"inputSources\"",{"type":30,"tagName":321,"properties":1023,"children":1024},{"style":833},[1025],{"type":26,"value":1026},": { ",{"type":30,"tagName":321,"properties":1028,"children":1029},{"style":343},[1030],{"type":26,"value":1031},"\"close\"",{"type":30,"tagName":321,"properties":1033,"children":1034},{"style":833},[1035],{"type":26,"value":1026},{"type":30,"tagName":321,"properties":1037,"children":1038},{"style":343},[1039],{"type":26,"value":1040},"\"source\"",{"type":30,"tagName":321,"properties":1042,"children":1043},{"style":833},[1044],{"type":26,"value":850},{"type":30,"tagName":321,"properties":1046,"children":1047},{"style":332},[1048],{"type":26,"value":1049},"\"ohlcv\"",{"type":30,"tagName":321,"properties":1051,"children":1052},{"style":833},[1053],{"type":26,"value":426},{"type":30,"tagName":321,"properties":1055,"children":1056},{"style":343},[1057],{"type":26,"value":1058},"\"field\"",{"type":30,"tagName":321,"properties":1060,"children":1061},{"style":833},[1062],{"type":26,"value":850},{"type":30,"tagName":321,"properties":1064,"children":1065},{"style":332},[1066],{"type":26,"value":1031},{"type":30,"tagName":321,"properties":1068,"children":1069},{"style":833},[1070],{"type":26,"value":1071}," } },",{"type":26,"value":27},{"type":30,"tagName":321,"properties":1074,"children":1075},{"class":323},[1076,1081,1085,1090,1094,1098,1102,1106,1110,1114],{"type":30,"tagName":321,"properties":1077,"children":1078},{"style":343},[1079],{"type":26,"value":1080},"  \"inputs\"",{"type":30,"tagName":321,"properties":1082,"children":1083},{"style":833},[1084],{"type":26,"value":940},{"type":30,"tagName":321,"properties":1086,"children":1087},{"style":343},[1088],{"type":26,"value":1089},"\"index\"",{"type":30,"tagName":321,"properties":1091,"children":1092},{"style":833},[1093],{"type":26,"value":850},{"type":30,"tagName":321,"properties":1095,"children":1096},{"style":343},[1097],{"type":26,"value":315},{"type":30,"tagName":321,"properties":1099,"children":1100},{"style":833},[1101],{"type":26,"value":426},{"type":30,"tagName":321,"properties":1103,"children":1104},{"style":343},[1105],{"type":26,"value":945},{"type":30,"tagName":321,"properties":1107,"children":1108},{"style":833},[1109],{"type":26,"value":850},{"type":30,"tagName":321,"properties":1111,"children":1112},{"style":332},[1113],{"type":26,"value":1031},{"type":30,"tagName":321,"properties":1115,"children":1116},{"style":833},[1117],{"type":26,"value":1012},{"type":26,"value":27},{"type":30,"tagName":321,"properties":1120,"children":1121},{"class":323},[1122,1127,1131,1135,1139,1143,1147,1151,1155,1160,1164,1169,1173,1178,1182,1187,1191,1196,1200,1205,1209,1214],{"type":30,"tagName":321,"properties":1123,"children":1124},{"style":343},[1125],{"type":26,"value":1126},"  \"outputs\"",{"type":30,"tagName":321,"properties":1128,"children":1129},{"style":833},[1130],{"type":26,"value":940},{"type":30,"tagName":321,"properties":1132,"children":1133},{"style":343},[1134],{"type":26,"value":1089},{"type":30,"tagName":321,"properties":1136,"children":1137},{"style":833},[1138],{"type":26,"value":850},{"type":30,"tagName":321,"properties":1140,"children":1141},{"style":343},[1142],{"type":26,"value":315},{"type":30,"tagName":321,"properties":1144,"children":1145},{"style":833},[1146],{"type":26,"value":426},{"type":30,"tagName":321,"properties":1148,"children":1149},{"style":343},[1150],{"type":26,"value":945},{"type":30,"tagName":321,"properties":1152,"children":1153},{"style":833},[1154],{"type":26,"value":850},{"type":30,"tagName":321,"properties":1156,"children":1157},{"style":332},[1158],{"type":26,"value":1159},"\"sma\"",{"type":30,"tagName":321,"properties":1161,"children":1162},{"style":833},[1163],{"type":26,"value":426},{"type":30,"tagName":321,"properties":1165,"children":1166},{"style":343},[1167],{"type":26,"value":1168},"\"plot\"",{"type":30,"tagName":321,"properties":1170,"children":1171},{"style":833},[1172],{"type":26,"value":850},{"type":30,"tagName":321,"properties":1174,"children":1175},{"style":332},[1176],{"type":26,"value":1177},"\"line\"",{"type":30,"tagName":321,"properties":1179,"children":1180},{"style":833},[1181],{"type":26,"value":426},{"type":30,"tagName":321,"properties":1183,"children":1184},{"style":343},[1185],{"type":26,"value":1186},"\"panel\"",{"type":30,"tagName":321,"properties":1188,"children":1189},{"style":833},[1190],{"type":26,"value":850},{"type":30,"tagName":321,"properties":1192,"children":1193},{"style":332},[1194],{"type":26,"value":1195},"\"overlay\"",{"type":30,"tagName":321,"properties":1197,"children":1198},{"style":833},[1199],{"type":26,"value":426},{"type":30,"tagName":321,"properties":1201,"children":1202},{"style":343},[1203],{"type":26,"value":1204},"\"unit\"",{"type":30,"tagName":321,"properties":1206,"children":1207},{"style":833},[1208],{"type":26,"value":850},{"type":30,"tagName":321,"properties":1210,"children":1211},{"style":332},[1212],{"type":26,"value":1213},"\"price\"",{"type":30,"tagName":321,"properties":1215,"children":1216},{"style":833},[1217],{"type":26,"value":1218}," }]",{"type":26,"value":27},{"type":30,"tagName":321,"properties":1221,"children":1222},{"class":323},[1223],{"type":30,"tagName":321,"properties":1224,"children":1225},{"style":833},[1226],{"type":26,"value":1227},"}",{"type":26,"value":27},{"type":30,"tagName":31,"properties":1230,"children":1231,"position":1242},{},[1232],{"type":26,"value":1233,"position":1234},"And the source reads and writes those names through the same accessors the\nchart's template uses:",{"start":1235,"end":1238},{"line":1236,"column":20,"offset":1237},82,3724,{"line":1239,"column":1240,"offset":1241},83,23,3821,{"start":1243,"end":1244},{"line":1236,"column":20,"offset":1237},{"line":1239,"column":1240,"offset":1241},{"type":26,"value":27},{"type":13,"children":1247},[1248],{"type":30,"tagName":311,"properties":1249,"children":1250,"data":-1},{"class":313,"style":314,"tabindex":315},[1251],{"type":30,"tagName":45,"properties":1252,"children":1253},{},[1254,1283,1284,1309,1310,1335,1336,1361,1362,1365,1366,1408,1409,1445,1446,1449,1450,1487,1488,1531,1532,1539,1540,1543,1544,1577,1578,1614,1615,1657,1658,1665,1666,1669,1670,1702,1703,1716,1717,1730,1731,1738,1739,1742,1743,1775,1776,1793,1794,1813,1814],{"type":30,"tagName":321,"properties":1255,"children":1256},{"class":323},[1257,1263,1268,1273,1278],{"type":30,"tagName":321,"properties":1258,"children":1260},{"style":1259},"--shiki-dark:#F97583;--shiki-light:#D73A49",[1261],{"type":26,"value":1262},"import",{"type":30,"tagName":321,"properties":1264,"children":1265},{"style":833},[1266],{"type":26,"value":1267}," { in_close } ",{"type":30,"tagName":321,"properties":1269,"children":1270},{"style":1259},[1271],{"type":26,"value":1272},"from",{"type":30,"tagName":321,"properties":1274,"children":1275},{"style":332},[1276],{"type":26,"value":1277}," \"./gen/inputs\"",{"type":30,"tagName":321,"properties":1279,"children":1280},{"style":833},[1281],{"type":26,"value":1282},";",{"type":26,"value":27},{"type":30,"tagName":321,"properties":1285,"children":1286},{"class":323},[1287,1291,1296,1300,1305],{"type":30,"tagName":321,"properties":1288,"children":1289},{"style":1259},[1290],{"type":26,"value":1262},{"type":30,"tagName":321,"properties":1292,"children":1293},{"style":833},[1294],{"type":26,"value":1295}," { emitRow, out_sma } ",{"type":30,"tagName":321,"properties":1297,"children":1298},{"style":1259},[1299],{"type":26,"value":1272},{"type":30,"tagName":321,"properties":1301,"children":1302},{"style":332},[1303],{"type":26,"value":1304}," \"./gen/outputs\"",{"type":30,"tagName":321,"properties":1306,"children":1307},{"style":833},[1308],{"type":26,"value":1282},{"type":26,"value":27},{"type":30,"tagName":321,"properties":1311,"children":1312},{"class":323},[1313,1317,1322,1326,1331],{"type":30,"tagName":321,"properties":1314,"children":1315},{"style":1259},[1316],{"type":26,"value":1262},{"type":30,"tagName":321,"properties":1318,"children":1319},{"style":833},[1320],{"type":26,"value":1321}," { p_period } ",{"type":30,"tagName":321,"properties":1323,"children":1324},{"style":1259},[1325],{"type":26,"value":1272},{"type":30,"tagName":321,"properties":1327,"children":1328},{"style":332},[1329],{"type":26,"value":1330}," \"./gen/params\"",{"type":30,"tagName":321,"properties":1332,"children":1333},{"style":833},[1334],{"type":26,"value":1282},{"type":26,"value":27},{"type":30,"tagName":321,"properties":1337,"children":1338},{"class":323},[1339,1343,1348,1352,1357],{"type":30,"tagName":321,"properties":1340,"children":1341},{"style":1259},[1342],{"type":26,"value":1262},{"type":30,"tagName":321,"properties":1344,"children":1345},{"style":833},[1346],{"type":26,"value":1347}," { Sma } ",{"type":30,"tagName":321,"properties":1349,"children":1350},{"style":1259},[1351],{"type":26,"value":1272},{"type":30,"tagName":321,"properties":1353,"children":1354},{"style":332},[1355],{"type":26,"value":1356}," \"./sdk/ta\"",{"type":30,"tagName":321,"properties":1358,"children":1359},{"style":833},[1360],{"type":26,"value":1282},{"type":26,"value":27},{"type":30,"tagName":321,"properties":1363,"children":1364},{"class":323},[],{"type":26,"value":27},{"type":30,"tagName":321,"properties":1367,"children":1368},{"class":323},[1369,1374,1379,1384,1389,1394,1399,1403],{"type":30,"tagName":321,"properties":1370,"children":1371},{"style":1259},[1372],{"type":26,"value":1373},"let",{"type":30,"tagName":321,"properties":1375,"children":1376},{"style":833},[1377],{"type":26,"value":1378}," sma ",{"type":30,"tagName":321,"properties":1380,"children":1381},{"style":1259},[1382],{"type":26,"value":1383},"=",{"type":30,"tagName":321,"properties":1385,"children":1386},{"style":1259},[1387],{"type":26,"value":1388}," new",{"type":30,"tagName":321,"properties":1390,"children":1391},{"style":327},[1392],{"type":26,"value":1393}," Sma",{"type":30,"tagName":321,"properties":1395,"children":1396},{"style":833},[1397],{"type":26,"value":1398},"(",{"type":30,"tagName":321,"properties":1400,"children":1401},{"style":343},[1402],{"type":26,"value":972},{"type":30,"tagName":321,"properties":1404,"children":1405},{"style":833},[1406],{"type":26,"value":1407},");",{"type":26,"value":27},{"type":30,"tagName":321,"properties":1410,"children":1411},{"class":323},[1412,1416,1421,1426,1431,1436,1441],{"type":30,"tagName":321,"properties":1413,"children":1414},{"style":1259},[1415],{"type":26,"value":1373},{"type":30,"tagName":321,"properties":1417,"children":1418},{"style":833},[1419],{"type":26,"value":1420}," value",{"type":30,"tagName":321,"properties":1422,"children":1423},{"style":1259},[1424],{"type":26,"value":1425},":",{"type":30,"tagName":321,"properties":1427,"children":1428},{"style":327},[1429],{"type":26,"value":1430}," f64",{"type":30,"tagName":321,"properties":1432,"children":1433},{"style":1259},[1434],{"type":26,"value":1435}," =",{"type":30,"tagName":321,"properties":1437,"children":1438},{"style":343},[1439],{"type":26,"value":1440}," NaN",{"type":30,"tagName":321,"properties":1442,"children":1443},{"style":833},[1444],{"type":26,"value":1282},{"type":26,"value":27},{"type":30,"tagName":321,"properties":1447,"children":1448},{"class":323},[],{"type":26,"value":27},{"type":30,"tagName":321,"properties":1451,"children":1452},{"class":323},[1453,1458,1463,1468,1473,1477,1482],{"type":30,"tagName":321,"properties":1454,"children":1455},{"style":1259},[1456],{"type":26,"value":1457},"export",{"type":30,"tagName":321,"properties":1459,"children":1460},{"style":1259},[1461],{"type":26,"value":1462}," function",{"type":30,"tagName":321,"properties":1464,"children":1465},{"style":327},[1466],{"type":26,"value":1467}," init",{"type":30,"tagName":321,"properties":1469,"children":1470},{"style":833},[1471],{"type":26,"value":1472},"()",{"type":30,"tagName":321,"properties":1474,"children":1475},{"style":1259},[1476],{"type":26,"value":1425},{"type":30,"tagName":321,"properties":1478,"children":1479},{"style":343},[1480],{"type":26,"value":1481}," void",{"type":30,"tagName":321,"properties":1483,"children":1484},{"style":833},[1485],{"type":26,"value":1486}," {",{"type":26,"value":27},{"type":30,"tagName":321,"properties":1489,"children":1490},{"class":323},[1491,1496,1500,1504,1508,1512,1517,1521,1526],{"type":30,"tagName":321,"properties":1492,"children":1493},{"style":833},[1494],{"type":26,"value":1495},"  sma ",{"type":30,"tagName":321,"properties":1497,"children":1498},{"style":1259},[1499],{"type":26,"value":1383},{"type":30,"tagName":321,"properties":1501,"children":1502},{"style":1259},[1503],{"type":26,"value":1388},{"type":30,"tagName":321,"properties":1505,"children":1506},{"style":327},[1507],{"type":26,"value":1393},{"type":30,"tagName":321,"properties":1509,"children":1510},{"style":833},[1511],{"type":26,"value":1398},{"type":30,"tagName":321,"properties":1513,"children":1514},{"style":327},[1515],{"type":26,"value":1516},"i32",{"type":30,"tagName":321,"properties":1518,"children":1519},{"style":833},[1520],{"type":26,"value":1398},{"type":30,"tagName":321,"properties":1522,"children":1523},{"style":327},[1524],{"type":26,"value":1525},"p_period",{"type":30,"tagName":321,"properties":1527,"children":1528},{"style":833},[1529],{"type":26,"value":1530},"()));",{"type":26,"value":27},{"type":30,"tagName":321,"properties":1533,"children":1534},{"class":323},[1535],{"type":30,"tagName":321,"properties":1536,"children":1537},{"style":833},[1538],{"type":26,"value":1227},{"type":26,"value":27},{"type":30,"tagName":321,"properties":1541,"children":1542},{"class":323},[],{"type":26,"value":27},{"type":30,"tagName":321,"properties":1545,"children":1546},{"class":323},[1547,1551,1555,1560,1564,1568,1573],{"type":30,"tagName":321,"properties":1548,"children":1549},{"style":1259},[1550],{"type":26,"value":1457},{"type":30,"tagName":321,"properties":1552,"children":1553},{"style":1259},[1554],{"type":26,"value":1462},{"type":30,"tagName":321,"properties":1556,"children":1557},{"style":327},[1558],{"type":26,"value":1559}," state",{"type":30,"tagName":321,"properties":1561,"children":1562},{"style":833},[1563],{"type":26,"value":1472},{"type":30,"tagName":321,"properties":1565,"children":1566},{"style":1259},[1567],{"type":26,"value":1425},{"type":30,"tagName":321,"properties":1569,"children":1570},{"style":327},[1571],{"type":26,"value":1572}," i32",{"type":30,"tagName":321,"properties":1574,"children":1575},{"style":833},[1576],{"type":26,"value":1486},{"type":26,"value":27},{"type":30,"tagName":321,"properties":1579,"children":1580},{"class":323},[1581,1586,1590,1595,1600,1604,1609],{"type":30,"tagName":321,"properties":1582,"children":1583},{"style":833},[1584],{"type":26,"value":1585},"  value ",{"type":30,"tagName":321,"properties":1587,"children":1588},{"style":1259},[1589],{"type":26,"value":1383},{"type":30,"tagName":321,"properties":1591,"children":1592},{"style":833},[1593],{"type":26,"value":1594}," sma.",{"type":30,"tagName":321,"properties":1596,"children":1597},{"style":327},[1598],{"type":26,"value":1599},"update",{"type":30,"tagName":321,"properties":1601,"children":1602},{"style":833},[1603],{"type":26,"value":1398},{"type":30,"tagName":321,"properties":1605,"children":1606},{"style":327},[1607],{"type":26,"value":1608},"in_close",{"type":30,"tagName":321,"properties":1610,"children":1611},{"style":833},[1612],{"type":26,"value":1613},"());",{"type":26,"value":27},{"type":30,"tagName":321,"properties":1616,"children":1617},{"class":323},[1618,1623,1628,1633,1638,1643,1648,1653],{"type":30,"tagName":321,"properties":1619,"children":1620},{"style":1259},[1621],{"type":26,"value":1622},"  return",{"type":30,"tagName":321,"properties":1624,"children":1625},{"style":327},[1626],{"type":26,"value":1627}," isNaN",{"type":30,"tagName":321,"properties":1629,"children":1630},{"style":833},[1631],{"type":26,"value":1632},"(value) ",{"type":30,"tagName":321,"properties":1634,"children":1635},{"style":1259},[1636],{"type":26,"value":1637},"?",{"type":30,"tagName":321,"properties":1639,"children":1640},{"style":343},[1641],{"type":26,"value":1642}," 0",{"type":30,"tagName":321,"properties":1644,"children":1645},{"style":1259},[1646],{"type":26,"value":1647}," :",{"type":30,"tagName":321,"properties":1649,"children":1650},{"style":343},[1651],{"type":26,"value":1652}," 1",{"type":30,"tagName":321,"properties":1654,"children":1655},{"style":833},[1656],{"type":26,"value":1282},{"type":26,"value":27},{"type":30,"tagName":321,"properties":1659,"children":1660},{"class":323},[1661],{"type":30,"tagName":321,"properties":1662,"children":1663},{"style":833},[1664],{"type":26,"value":1227},{"type":26,"value":27},{"type":30,"tagName":321,"properties":1667,"children":1668},{"class":323},[],{"type":26,"value":27},{"type":30,"tagName":321,"properties":1671,"children":1672},{"class":323},[1673,1677,1681,1686,1690,1694,1698],{"type":30,"tagName":321,"properties":1674,"children":1675},{"style":1259},[1676],{"type":26,"value":1457},{"type":30,"tagName":321,"properties":1678,"children":1679},{"style":1259},[1680],{"type":26,"value":1462},{"type":30,"tagName":321,"properties":1682,"children":1683},{"style":327},[1684],{"type":26,"value":1685}," finalize",{"type":30,"tagName":321,"properties":1687,"children":1688},{"style":833},[1689],{"type":26,"value":1472},{"type":30,"tagName":321,"properties":1691,"children":1692},{"style":1259},[1693],{"type":26,"value":1425},{"type":30,"tagName":321,"properties":1695,"children":1696},{"style":343},[1697],{"type":26,"value":1481},{"type":30,"tagName":321,"properties":1699,"children":1700},{"style":833},[1701],{"type":26,"value":1486},{"type":26,"value":27},{"type":30,"tagName":321,"properties":1704,"children":1705},{"class":323},[1706,1711],{"type":30,"tagName":321,"properties":1707,"children":1708},{"style":327},[1709],{"type":26,"value":1710},"  out_sma",{"type":30,"tagName":321,"properties":1712,"children":1713},{"style":833},[1714],{"type":26,"value":1715},"(value);",{"type":26,"value":27},{"type":30,"tagName":321,"properties":1718,"children":1719},{"class":323},[1720,1725],{"type":30,"tagName":321,"properties":1721,"children":1722},{"style":327},[1723],{"type":26,"value":1724},"  emitRow",{"type":30,"tagName":321,"properties":1726,"children":1727},{"style":833},[1728],{"type":26,"value":1729},"();",{"type":26,"value":27},{"type":30,"tagName":321,"properties":1732,"children":1733},{"class":323},[1734],{"type":30,"tagName":321,"properties":1735,"children":1736},{"style":833},[1737],{"type":26,"value":1227},{"type":26,"value":27},{"type":30,"tagName":321,"properties":1740,"children":1741},{"class":323},[],{"type":26,"value":27},{"type":30,"tagName":321,"properties":1744,"children":1745},{"class":323},[1746,1750,1754,1759,1763,1767,1771],{"type":30,"tagName":321,"properties":1747,"children":1748},{"style":1259},[1749],{"type":26,"value":1457},{"type":30,"tagName":321,"properties":1751,"children":1752},{"style":1259},[1753],{"type":26,"value":1462},{"type":30,"tagName":321,"properties":1755,"children":1756},{"style":327},[1757],{"type":26,"value":1758}," reset",{"type":30,"tagName":321,"properties":1760,"children":1761},{"style":833},[1762],{"type":26,"value":1472},{"type":30,"tagName":321,"properties":1764,"children":1765},{"style":1259},[1766],{"type":26,"value":1425},{"type":30,"tagName":321,"properties":1768,"children":1769},{"style":343},[1770],{"type":26,"value":1481},{"type":30,"tagName":321,"properties":1772,"children":1773},{"style":833},[1774],{"type":26,"value":1486},{"type":26,"value":27},{"type":30,"tagName":321,"properties":1777,"children":1778},{"class":323},[1779,1784,1789],{"type":30,"tagName":321,"properties":1780,"children":1781},{"style":833},[1782],{"type":26,"value":1783},"  sma.",{"type":30,"tagName":321,"properties":1785,"children":1786},{"style":327},[1787],{"type":26,"value":1788},"reset",{"type":30,"tagName":321,"properties":1790,"children":1791},{"style":833},[1792],{"type":26,"value":1729},{"type":26,"value":27},{"type":30,"tagName":321,"properties":1795,"children":1796},{"class":323},[1797,1801,1805,1809],{"type":30,"tagName":321,"properties":1798,"children":1799},{"style":833},[1800],{"type":26,"value":1585},{"type":30,"tagName":321,"properties":1802,"children":1803},{"style":1259},[1804],{"type":26,"value":1383},{"type":30,"tagName":321,"properties":1806,"children":1807},{"style":343},[1808],{"type":26,"value":1440},{"type":30,"tagName":321,"properties":1810,"children":1811},{"style":833},[1812],{"type":26,"value":1282},{"type":26,"value":27},{"type":30,"tagName":321,"properties":1815,"children":1816},{"class":323},[1817],{"type":30,"tagName":321,"properties":1818,"children":1819},{"style":833},[1820],{"type":26,"value":1227},{"type":26,"value":27},{"type":30,"tagName":31,"properties":1823,"children":1824,"position":1966},{},[1825,1834,1847,1853,1866,1873,1885,1890,1903,1910,1922,1929,1941,1948,1960],{"type":26,"value":1826,"position":1827},"Editing the sheet moves the SLOT inside each accessor while your source\nkeeps the NAME, so reordering params or inputs never changes what the module\ncomputes. With declarations in the source the sheet is DERIVED at every\nbuild (it records ",{"start":1828,"end":1831},{"line":1829,"column":20,"offset":1830},114,4353,{"line":1832,"column":157,"offset":1833},117,4592,{"type":30,"tagName":45,"properties":1835,"children":1836,"position":1844},{},[1837],{"type":26,"value":1838,"position":1839},"generated_from: \"declarations\"",{"start":1840,"end":1841},{"line":1832,"column":157,"offset":1833},{"line":1832,"column":1842,"offset":1843},51,4624,{"start":1845,"end":1846},{"line":1832,"column":157,"offset":1833},{"line":1832,"column":1842,"offset":1843},{"type":26,"value":1848,"position":1849}," plus a ",{"start":1850,"end":1851},{"line":1832,"column":1842,"offset":1843},{"line":1832,"column":84,"offset":1852},4632,{"type":30,"tagName":45,"properties":1854,"children":1855,"position":1863},{},[1856],{"type":26,"value":1857,"position":1858},"source_digest",{"start":1859,"end":1860},{"line":1832,"column":84,"offset":1852},{"line":1832,"column":1861,"offset":1862},74,4647,{"start":1864,"end":1865},{"line":1832,"column":84,"offset":1852},{"line":1832,"column":1861,"offset":1862},{"type":26,"value":1867,"position":1868},")\nand hand edits to it are refused; without declarations the hand-written\nsheet is the authority, and that is the only mode for languages without an\nextractor. Raw positional literals (",{"start":1869,"end":1870},{"line":1832,"column":1861,"offset":1862},{"line":1871,"column":488,"offset":1872},120,4832,{"type":30,"tagName":45,"properties":1874,"children":1875,"position":1882},{},[1876],{"type":26,"value":1877,"position":1878},"getFloat(0)",{"start":1879,"end":1880},{"line":1871,"column":488,"offset":1872},{"line":1871,"column":582,"offset":1881},4845,{"start":1883,"end":1884},{"line":1871,"column":488,"offset":1872},{"line":1871,"column":582,"offset":1881},{"type":26,"value":426,"position":1886},{"start":1887,"end":1888},{"line":1871,"column":582,"offset":1881},{"line":1871,"column":516,"offset":1889},4847,{"type":30,"tagName":45,"properties":1891,"children":1892,"position":1900},{},[1893],{"type":26,"value":1894,"position":1895},"setOutput(0, ...)",{"start":1896,"end":1897},{"line":1871,"column":516,"offset":1889},{"line":1871,"column":1898,"offset":1899},71,4866,{"start":1901,"end":1902},{"line":1871,"column":516,"offset":1889},{"line":1871,"column":1898,"offset":1899},{"type":26,"value":1904,"position":1905},") are\na build error either way; ",{"start":1906,"end":1907},{"line":1871,"column":1898,"offset":1899},{"line":1908,"column":562,"offset":1909},121,4898,{"type":30,"tagName":45,"properties":1911,"children":1912,"position":1919},{},[1913],{"type":26,"value":1914,"position":1915},"src/sdk/sdk.ts",{"start":1916,"end":1917},{"line":1908,"column":562,"offset":1909},{"line":1908,"column":269,"offset":1918},4914,{"start":1920,"end":1921},{"line":1908,"column":562,"offset":1909},{"line":1908,"column":269,"offset":1918},{"type":26,"value":1923,"position":1924}," exists for variable-index access\nonly. The full grammar is in ",{"start":1925,"end":1926},{"line":1908,"column":269,"offset":1918},{"line":1927,"column":247,"offset":1928},122,4977,{"type":30,"tagName":45,"properties":1930,"children":1931,"position":1938},{},[1932],{"type":26,"value":1933,"position":1934},"functions/ta-library.md",{"start":1935,"end":1936},{"line":1927,"column":247,"offset":1928},{"line":1927,"column":177,"offset":1937},5002,{"start":1939,"end":1940},{"line":1927,"column":247,"offset":1928},{"line":1927,"column":177,"offset":1937},{"type":26,"value":1942,"position":1943}," and\n",{"start":1944,"end":1945},{"line":1927,"column":177,"offset":1937},{"line":1946,"column":20,"offset":1947},123,5007,{"type":30,"tagName":45,"properties":1949,"children":1950,"position":1957},{},[1951],{"type":26,"value":1952,"position":1953},"functions/script-definition.md",{"start":1954,"end":1955},{"line":1946,"column":20,"offset":1947},{"line":1946,"column":259,"offset":1956},5039,{"start":1958,"end":1959},{"line":1946,"column":20,"offset":1947},{"line":1946,"column":259,"offset":1956},{"type":26,"value":1961,"position":1962},".",{"start":1963,"end":1964},{"line":1946,"column":259,"offset":1956},{"line":1946,"column":449,"offset":1965},5040,{"start":1967,"end":1968},{"line":1829,"column":20,"offset":1830},{"line":1946,"column":449,"offset":1965},{"type":26,"value":27},{"type":30,"tagName":91,"properties":1971,"children":1973,"position":1982},{"id":1972},"step-3-build-install-check",[1974],{"type":26,"value":1975,"position":1976},"Step 3: Build, install, check",{"start":1977,"end":1980},{"line":1978,"column":100,"offset":1979},125,5045,{"line":1978,"column":259,"offset":1981},5074,{"start":1983,"end":1985},{"line":1978,"column":20,"offset":1984},5042,{"line":1978,"column":259,"offset":1981},{"type":26,"value":27},{"type":13,"children":1988},[1989],{"type":30,"tagName":311,"properties":1990,"children":1991,"data":-1},{"class":313,"style":314,"tabindex":315},[1992],{"type":30,"tagName":45,"properties":1993,"children":1994},{},[1995,2015,2016,2041,2042],{"type":30,"tagName":321,"properties":1996,"children":1997},{"class":323},[1998,2002,2006,2011],{"type":30,"tagName":321,"properties":1999,"children":2000},{"style":327},[2001],{"type":26,"value":49},{"type":30,"tagName":321,"properties":2003,"children":2004},{"style":332},[2005],{"type":26,"value":335},{"type":30,"tagName":321,"properties":2007,"children":2008},{"style":332},[2009],{"type":26,"value":2010}," build",{"type":30,"tagName":321,"properties":2012,"children":2013},{"style":332},[2014],{"type":26,"value":378},{"type":26,"value":27},{"type":30,"tagName":321,"properties":2017,"children":2018},{"class":323},[2019,2023,2027,2032,2036],{"type":30,"tagName":321,"properties":2020,"children":2021},{"style":327},[2022],{"type":26,"value":49},{"type":30,"tagName":321,"properties":2024,"children":2025},{"style":332},[2026],{"type":26,"value":335},{"type":30,"tagName":321,"properties":2028,"children":2029},{"style":332},[2030],{"type":26,"value":2031}," install",{"type":30,"tagName":321,"properties":2033,"children":2034},{"style":332},[2035],{"type":26,"value":378},{"type":30,"tagName":321,"properties":2037,"children":2038},{"style":343},[2039],{"type":26,"value":2040}," --replace",{"type":26,"value":27},{"type":30,"tagName":321,"properties":2043,"children":2044},{"class":323},[2045,2049,2053,2058],{"type":30,"tagName":321,"properties":2046,"children":2047},{"style":327},[2048],{"type":26,"value":49},{"type":30,"tagName":321,"properties":2050,"children":2051},{"style":332},[2052],{"type":26,"value":335},{"type":30,"tagName":321,"properties":2054,"children":2055},{"style":332},[2056],{"type":26,"value":2057}," validate",{"type":30,"tagName":321,"properties":2059,"children":2060},{"style":332},[2061],{"type":26,"value":378},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2064,"children":2065,"position":2296},{},[2066,2079,2086,2098,2105,2117,2124,2137,2144,2156,2163,2175,2181,2193,2200,2211,2218,2230,2236,2248,2256,2268,2276,2288],{"type":30,"tagName":45,"properties":2067,"children":2068,"position":2076},{},[2069],{"type":26,"value":2070,"position":2071},"om wrun build",{"start":2072,"end":2074},{"line":24,"column":20,"offset":2073},5173,{"line":24,"column":142,"offset":2075},5188,{"start":2077,"end":2078},{"line":24,"column":20,"offset":2073},{"line":24,"column":142,"offset":2075},{"type":26,"value":2080,"position":2081}," regenerates ",{"start":2082,"end":2083},{"line":24,"column":142,"offset":2075},{"line":24,"column":2084,"offset":2085},29,5201,{"type":30,"tagName":45,"properties":2087,"children":2088,"position":2095},{},[2089],{"type":26,"value":2090,"position":2091},"src/gen",{"start":2092,"end":2093},{"line":24,"column":2084,"offset":2085},{"line":24,"column":217,"offset":2094},5210,{"start":2096,"end":2097},{"line":24,"column":2084,"offset":2085},{"line":24,"column":217,"offset":2094},{"type":26,"value":2099,"position":2100}," from the sheet (deriving the sheet\nfrom declarations first), runs the local build (the receipt prints\n",{"start":2101,"end":2102},{"line":24,"column":217,"offset":2094},{"line":2103,"column":20,"offset":2104},135,5313,{"type":30,"tagName":45,"properties":2106,"children":2107,"position":2114},{},[2108],{"type":26,"value":2109,"position":2110},"Compiler: assemblyscript (bun run build)",{"start":2111,"end":2112},{"line":2103,"column":20,"offset":2104},{"line":2103,"column":269,"offset":2113},5355,{"start":2115,"end":2116},{"line":2103,"column":20,"offset":2104},{"line":2103,"column":269,"offset":2113},{"type":26,"value":2118,"position":2119},"), checks the module statically\nagainst the contract, and exports ",{"start":2120,"end":2121},{"line":2103,"column":269,"offset":2113},{"line":2122,"column":468,"offset":2123},136,5421,{"type":30,"tagName":45,"properties":2125,"children":2126,"position":2134},{},[2127],{"type":26,"value":2128,"position":2129},"dist/package",{"start":2130,"end":2131},{"line":2122,"column":468,"offset":2123},{"line":2122,"column":2132,"offset":2133},49,5435,{"start":2135,"end":2136},{"line":2122,"column":468,"offset":2123},{"line":2122,"column":2132,"offset":2133},{"type":26,"value":2138,"position":2139},". The scaffold's local\nbuild runs ",{"start":2140,"end":2141},{"line":2122,"column":2132,"offset":2133},{"line":2142,"column":99,"offset":2143},137,5469,{"type":30,"tagName":45,"properties":2145,"children":2146,"position":2153},{},[2147],{"type":26,"value":2148,"position":2149},"bun install",{"start":2150,"end":2151},{"line":2142,"column":99,"offset":2143},{"line":2142,"column":553,"offset":2152},5482,{"start":2154,"end":2155},{"line":2142,"column":99,"offset":2143},{"line":2142,"column":553,"offset":2152},{"type":26,"value":2157,"position":2158}," once per workspace (the compiler) and\n",{"start":2159,"end":2160},{"line":2142,"column":553,"offset":2152},{"line":2161,"column":20,"offset":2162},138,5521,{"type":30,"tagName":45,"properties":2164,"children":2165,"position":2172},{},[2166],{"type":26,"value":2167,"position":2168},"bun run build",{"start":2169,"end":2170},{"line":2161,"column":20,"offset":2162},{"line":2161,"column":142,"offset":2171},5536,{"start":2173,"end":2174},{"line":2161,"column":20,"offset":2162},{"line":2161,"column":142,"offset":2171},{"type":26,"value":2176,"position":2177}," per compile; ",{"start":2178,"end":2179},{"line":2161,"column":142,"offset":2171},{"line":2161,"column":247,"offset":2180},5550,{"type":30,"tagName":45,"properties":2182,"children":2183,"position":2190},{},[2184],{"type":26,"value":2070,"position":2185},{"start":2186,"end":2187},{"line":2161,"column":247,"offset":2180},{"line":2161,"column":2188,"offset":2189},45,5565,{"start":2191,"end":2192},{"line":2161,"column":247,"offset":2180},{"line":2161,"column":2188,"offset":2189},{"type":26,"value":2194,"position":2195}," drives both, and a plain\n",{"start":2196,"end":2197},{"line":2161,"column":2188,"offset":2189},{"line":2198,"column":20,"offset":2199},139,5591,{"type":30,"tagName":45,"properties":2201,"children":2202,"position":2208},{},[2203],{"type":26,"value":2167,"position":2204},{"start":2205,"end":2206},{"line":2198,"column":20,"offset":2199},{"line":2198,"column":142,"offset":2207},5606,{"start":2209,"end":2210},{"line":2198,"column":20,"offset":2199},{"line":2198,"column":142,"offset":2207},{"type":26,"value":2212,"position":2213}," inside the workspace runs the same prebuild plus compile\nwithout ",{"start":2214,"end":2215},{"line":2198,"column":142,"offset":2207},{"line":2216,"column":64,"offset":2217},140,5672,{"type":30,"tagName":45,"properties":2219,"children":2220,"position":2227},{},[2221],{"type":26,"value":49,"position":2222},{"start":2223,"end":2224},{"line":2216,"column":64,"offset":2217},{"line":2216,"column":2225,"offset":2226},13,5676,{"start":2228,"end":2229},{"line":2216,"column":64,"offset":2217},{"line":2216,"column":2225,"offset":2226},{"type":26,"value":2231,"position":2232}," on PATH. ",{"start":2233,"end":2234},{"line":2216,"column":2225,"offset":2226},{"line":2216,"column":1240,"offset":2235},5686,{"type":30,"tagName":45,"properties":2237,"children":2238,"position":2245},{},[2239],{"type":26,"value":2240,"position":2241},"om wrun install",{"start":2242,"end":2243},{"line":2216,"column":1240,"offset":2235},{"line":2216,"column":602,"offset":2244},5703,{"start":2246,"end":2247},{"line":2216,"column":1240,"offset":2235},{"line":2216,"column":602,"offset":2244},{"type":26,"value":2249,"position":2250}," is the same pipeline plus the local\ninstall under ",{"start":2251,"end":2252},{"line":2216,"column":602,"offset":2244},{"line":2253,"column":2254,"offset":2255},141,15,5754,{"type":30,"tagName":45,"properties":2257,"children":2258,"position":2265},{},[2259],{"type":26,"value":2260,"position":2261},"~/.openmarket/packages",{"start":2262,"end":2263},{"line":2253,"column":2254,"offset":2255},{"line":2253,"column":167,"offset":2264},5778,{"start":2266,"end":2267},{"line":2253,"column":2254,"offset":2255},{"line":2253,"column":167,"offset":2264},{"type":26,"value":2269,"position":2270},", with a receipt naming the install path and\nthe undo (",{"start":2271,"end":2272},{"line":2253,"column":167,"offset":2264},{"line":2273,"column":2274,"offset":2275},142,11,5833,{"type":30,"tagName":45,"properties":2277,"children":2278,"position":2285},{},[2279],{"type":26,"value":2280,"position":2281},"om wrun remove @you/my-sma",{"start":2282,"end":2283},{"line":2273,"column":2274,"offset":2275},{"line":2273,"column":167,"offset":2284},5861,{"start":2286,"end":2287},{"line":2273,"column":2274,"offset":2275},{"line":2273,"column":167,"offset":2284},{"type":26,"value":2289,"position":2290},"). On a compile error the command\nexits with the compiler's diagnostics: read them, edit, build again.",{"start":2291,"end":2292},{"line":2273,"column":167,"offset":2284},{"line":2293,"column":2294,"offset":2295},143,69,5963,{"start":2297,"end":2298},{"line":24,"column":20,"offset":2073},{"line":2293,"column":2294,"offset":2295},{"type":26,"value":27},{"type":30,"tagName":91,"properties":2301,"children":2303,"position":2312},{"id":2302},"step-4-see-a-value-see-it-move-see-it-drawn",[2304],{"type":26,"value":2305,"position":2306},"Step 4: See a value, see it move, see it drawn",{"start":2307,"end":2310},{"line":2308,"column":100,"offset":2309},145,5968,{"line":2308,"column":582,"offset":2311},6014,{"start":2313,"end":2315},{"line":2308,"column":20,"offset":2314},5965,{"line":2308,"column":582,"offset":2311},{"type":26,"value":27},{"type":13,"children":2318},[2319],{"type":30,"tagName":311,"properties":2320,"children":2321,"data":-1},{"class":313,"style":314,"tabindex":315},[2322],{"type":30,"tagName":45,"properties":2323,"children":2324},{},[2325,2341,2342,2393,2394,2459,2460],{"type":30,"tagName":321,"properties":2326,"children":2327},{"class":323},[2328,2332,2336],{"type":30,"tagName":321,"properties":2329,"children":2330},{"style":327},[2331],{"type":26,"value":49},{"type":30,"tagName":321,"properties":2333,"children":2334},{"style":332},[2335],{"type":26,"value":335},{"type":30,"tagName":321,"properties":2337,"children":2338},{"style":332},[2339],{"type":26,"value":2340}," list",{"type":26,"value":27},{"type":30,"tagName":321,"properties":2343,"children":2344},{"class":323},[2345,2349,2354,2359,2364,2369,2373,2378,2383,2388],{"type":30,"tagName":321,"properties":2346,"children":2347},{"style":327},[2348],{"type":26,"value":49},{"type":30,"tagName":321,"properties":2350,"children":2351},{"style":332},[2352],{"type":26,"value":2353}," metric",{"type":30,"tagName":321,"properties":2355,"children":2356},{"style":332},[2357],{"type":26,"value":2358}," get",{"type":30,"tagName":321,"properties":2360,"children":2361},{"style":343},[2362],{"type":26,"value":2363}," --metric",{"type":30,"tagName":321,"properties":2365,"children":2366},{"style":332},[2367],{"type":26,"value":2368}," wrun/@you/my-sma/sma:period=",{"type":30,"tagName":321,"properties":2370,"children":2371},{"style":343},[2372],{"type":26,"value":972},{"type":30,"tagName":321,"properties":2374,"children":2375},{"style":343},[2376],{"type":26,"value":2377}," --symbol",{"type":30,"tagName":321,"properties":2379,"children":2380},{"style":332},[2381],{"type":26,"value":2382}," BTCUSDT",{"type":30,"tagName":321,"properties":2384,"children":2385},{"style":343},[2386],{"type":26,"value":2387}," --exchange",{"type":30,"tagName":321,"properties":2389,"children":2390},{"style":332},[2391],{"type":26,"value":2392}," BINANCE_FUTURES",{"type":26,"value":27},{"type":30,"tagName":321,"properties":2395,"children":2396},{"class":323},[2397,2401,2405,2410,2414,2419,2424,2429,2433,2437,2441,2445,2449,2454],{"type":30,"tagName":321,"properties":2398,"children":2399},{"style":327},[2400],{"type":26,"value":49},{"type":30,"tagName":321,"properties":2402,"children":2403},{"style":332},[2404],{"type":26,"value":2353},{"type":30,"tagName":321,"properties":2406,"children":2407},{"style":332},[2408],{"type":26,"value":2409}," series",{"type":30,"tagName":321,"properties":2411,"children":2412},{"style":343},[2413],{"type":26,"value":2363},{"type":30,"tagName":321,"properties":2415,"children":2416},{"style":332},[2417],{"type":26,"value":2418}," wrun/@you/my-sma/sma",{"type":30,"tagName":321,"properties":2420,"children":2421},{"style":343},[2422],{"type":26,"value":2423}," --params",{"type":30,"tagName":321,"properties":2425,"children":2426},{"style":332},[2427],{"type":26,"value":2428}," period=",{"type":30,"tagName":321,"properties":2430,"children":2431},{"style":343},[2432],{"type":26,"value":972},{"type":30,"tagName":321,"properties":2434,"children":2435},{"style":343},[2436],{"type":26,"value":2377},{"type":30,"tagName":321,"properties":2438,"children":2439},{"style":332},[2440],{"type":26,"value":2382},{"type":30,"tagName":321,"properties":2442,"children":2443},{"style":343},[2444],{"type":26,"value":2387},{"type":30,"tagName":321,"properties":2446,"children":2447},{"style":332},[2448],{"type":26,"value":2392},{"type":30,"tagName":321,"properties":2450,"children":2451},{"style":343},[2452],{"type":26,"value":2453}," --bars",{"type":30,"tagName":321,"properties":2455,"children":2456},{"style":343},[2457],{"type":26,"value":2458}," 60",{"type":26,"value":27},{"type":30,"tagName":321,"properties":2461,"children":2462},{"class":323},[2463,2467,2472,2477,2482,2487,2491,2495],{"type":30,"tagName":321,"properties":2464,"children":2465},{"style":327},[2466],{"type":26,"value":49},{"type":30,"tagName":321,"properties":2468,"children":2469},{"style":332},[2470],{"type":26,"value":2471}," chart",{"type":30,"tagName":321,"properties":2473,"children":2474},{"style":332},[2475],{"type":26,"value":2476}," indicator",{"type":30,"tagName":321,"properties":2478,"children":2479},{"style":332},[2480],{"type":26,"value":2481}," preview",{"type":30,"tagName":321,"properties":2483,"children":2484},{"style":343},[2485],{"type":26,"value":2486}," --type",{"type":30,"tagName":321,"properties":2488,"children":2489},{"style":332},[2490],{"type":26,"value":2418},{"type":30,"tagName":321,"properties":2492,"children":2493},{"style":343},[2494],{"type":26,"value":2453},{"type":30,"tagName":321,"properties":2496,"children":2497},{"style":343},[2498],{"type":26,"value":2499}," 300",{"type":26,"value":27},{"type":30,"tagName":31,"properties":2502,"children":2503,"position":2620},{},[2504,2518,2524,2537,2544,2556,2563,2575,2582,2594,2600,2613],{"type":30,"tagName":45,"properties":2505,"children":2506,"position":2515},{},[2507],{"type":26,"value":2508,"position":2509},"om metric get",{"start":2510,"end":2513},{"line":2511,"column":20,"offset":2512},154,6326,{"line":2511,"column":142,"offset":2514},6341,{"start":2516,"end":2517},{"line":2511,"column":20,"offset":2512},{"line":2511,"column":142,"offset":2514},{"type":26,"value":2519,"position":2520}," returns the newest value; ",{"start":2521,"end":2522},{"line":2511,"column":142,"offset":2514},{"line":2511,"column":269,"offset":2523},6368,{"type":30,"tagName":45,"properties":2525,"children":2526,"position":2534},{},[2527],{"type":26,"value":2528,"position":2529},"om metric series",{"start":2530,"end":2531},{"line":2511,"column":269,"offset":2523},{"line":2511,"column":2532,"offset":2533},61,6386,{"start":2535,"end":2536},{"line":2511,"column":269,"offset":2523},{"line":2511,"column":2532,"offset":2533},{"type":26,"value":2538,"position":2539}," returns one\n",{"start":2540,"end":2541},{"line":2511,"column":2532,"offset":2533},{"line":2542,"column":20,"offset":2543},155,6399,{"type":30,"tagName":45,"properties":2545,"children":2546,"position":2553},{},[2547],{"type":26,"value":2548,"position":2549},"[barOpenSec, value]",{"start":2550,"end":2551},{"line":2542,"column":20,"offset":2543},{"line":2542,"column":244,"offset":2552},6420,{"start":2554,"end":2555},{"line":2542,"column":20,"offset":2543},{"line":2542,"column":244,"offset":2552},{"type":26,"value":2557,"position":2558}," pair per bar (oldest first, newest = the still-forming\nbar) and renders a sparkline in text mode; ",{"start":2559,"end":2560},{"line":2542,"column":244,"offset":2552},{"line":2561,"column":572,"offset":2562},156,6519,{"type":30,"tagName":45,"properties":2564,"children":2565,"position":2572},{},[2566],{"type":26,"value":2567,"position":2568},"om chart indicator preview",{"start":2569,"end":2570},{"line":2561,"column":572,"offset":2562},{"line":2561,"column":42,"offset":2571},6547,{"start":2573,"end":2574},{"line":2561,"column":572,"offset":2562},{"line":2561,"column":42,"offset":2571},{"type":26,"value":2576,"position":2577},"\ndraws the draft on your active chart workspace without publishing. An\ninstalled output is an ordinary metric id everywhere else too: watch\nconditions (including ",{"start":2578,"end":2579},{"line":2561,"column":42,"offset":2571},{"line":2580,"column":1240,"offset":2581},159,6709,{"type":30,"tagName":45,"properties":2583,"children":2584,"position":2591},{},[2585],{"type":26,"value":2586,"position":2587},"crosses_above",{"start":2588,"end":2589},{"line":2580,"column":1240,"offset":2581},{"line":2580,"column":217,"offset":2590},6724,{"start":2592,"end":2593},{"line":2580,"column":1240,"offset":2581},{"line":2580,"column":217,"offset":2590},{"type":26,"value":2595,"position":2596}," / ",{"start":2597,"end":2598},{"line":2580,"column":217,"offset":2590},{"line":2580,"column":780,"offset":2599},6727,{"type":30,"tagName":45,"properties":2601,"children":2602,"position":2610},{},[2603],{"type":26,"value":2604,"position":2605},"crosses_below",{"start":2606,"end":2607},{"line":2580,"column":780,"offset":2599},{"line":2580,"column":2608,"offset":2609},56,6742,{"start":2611,"end":2612},{"line":2580,"column":780,"offset":2599},{"line":2580,"column":2608,"offset":2609},{"type":26,"value":2614,"position":2615}," edges), screens,\nand backtests.",{"start":2616,"end":2617},{"line":2580,"column":2608,"offset":2609},{"line":2618,"column":2254,"offset":2619},160,6774,{"start":2621,"end":2622},{"line":2511,"column":20,"offset":2512},{"line":2618,"column":2254,"offset":2619},{"type":26,"value":27},{"type":30,"tagName":91,"properties":2625,"children":2627,"position":2636},{"id":2626},"step-5-make-it-yours",[2628],{"type":26,"value":2629,"position":2630},"Step 5: Make it yours",{"start":2631,"end":2634},{"line":2632,"column":100,"offset":2633},162,6779,{"line":2632,"column":553,"offset":2635},6800,{"start":2637,"end":2639},{"line":2632,"column":20,"offset":2638},6776,{"line":2632,"column":553,"offset":2635},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2642,"children":2643,"position":2689},{},[2644,2653,2664,2671,2683],{"type":26,"value":2645,"position":2646},"Hard-coded periods are not very flexible, and one average is not much of a\nstudy. Scaffold a second workspace from the code-first template and replace\n",{"start":2647,"end":2650},{"line":2648,"column":20,"offset":2649},164,6802,{"line":2651,"column":20,"offset":2652},166,6953,{"type":30,"tagName":45,"properties":2654,"children":2655,"position":2661},{},[2656],{"type":26,"value":213,"position":2657},{"start":2658,"end":2659},{"line":2651,"column":20,"offset":2652},{"line":2651,"column":157,"offset":2660},6971,{"start":2662,"end":2663},{"line":2651,"column":20,"offset":2652},{"line":2651,"column":157,"offset":2660},{"type":26,"value":2665,"position":2666}," with the classic off-chart study from the kScript quick\nstart: the difference between a fast and a slow EMA, drawn as a histogram\nthat is green above zero and red below. Params make the periods settings,\nand a data-only ",{"start":2667,"end":2668},{"line":2651,"column":157,"offset":2660},{"line":2669,"column":197,"offset":2670},169,7192,{"type":30,"tagName":45,"properties":2672,"children":2673,"position":2680},{},[2674],{"type":26,"value":2675,"position":2676},"sign",{"start":2677,"end":2678},{"line":2669,"column":197,"offset":2670},{"line":2669,"column":1240,"offset":2679},7198,{"start":2681,"end":2682},{"line":2669,"column":197,"offset":2670},{"line":2669,"column":1240,"offset":2679},{"type":26,"value":2684,"position":2685}," output feeds the histogram's per-bar color:",{"start":2686,"end":2687},{"line":2669,"column":1240,"offset":2679},{"line":2669,"column":814,"offset":2688},7242,{"start":2690,"end":2691},{"line":2648,"column":20,"offset":2649},{"line":2669,"column":814,"offset":2688},{"type":26,"value":27},{"type":13,"children":2694},[2695],{"type":30,"tagName":311,"properties":2696,"children":2697,"data":-1},{"class":313,"style":314,"tabindex":315},[2698],{"type":30,"tagName":45,"properties":2699,"children":2700},{},[2701],{"type":30,"tagName":321,"properties":2702,"children":2703},{"class":323},[2704,2708,2712,2716,2721,2726,2730],{"type":30,"tagName":321,"properties":2705,"children":2706},{"style":327},[2707],{"type":26,"value":49},{"type":30,"tagName":321,"properties":2709,"children":2710},{"style":332},[2711],{"type":26,"value":335},{"type":30,"tagName":321,"properties":2713,"children":2714},{"style":332},[2715],{"type":26,"value":368},{"type":30,"tagName":321,"properties":2717,"children":2718},{"style":332},[2719],{"type":26,"value":2720}," @you/ema-diff",{"type":30,"tagName":321,"properties":2722,"children":2723},{"style":332},[2724],{"type":26,"value":2725}," ./ema-diff",{"type":30,"tagName":321,"properties":2727,"children":2728},{"style":343},[2729],{"type":26,"value":383},{"type":30,"tagName":321,"properties":2731,"children":2732},{"style":332},[2733],{"type":26,"value":2734}," sma-codefirst",{"type":26,"value":27},{"type":13,"children":2737},[2738],{"type":30,"tagName":311,"properties":2739,"children":2740,"data":-1},{"class":313,"style":314,"tabindex":315},[2741],{"type":30,"tagName":45,"properties":2742,"children":2743},{},[2744,2769,2770,2793,2794,2818,2819,2843,2844,2868,2869,2872,2873,2932,2933,2989,2990,3011,3012,3021,3022,3082,3083,3103,3104,3107,3108,3145,3146,3182,3183,3215,3216,3219,3220,3251,3252,3293,3294,3335,3336,3343,3344,3347,3348,3379,3380,3406,3407,3452,3453,3489,3490,3497,3498,3501,3502,3533,3534,3547,3548,3593,3594,3605,3606,3613,3614,3617,3618,3649,3650,3666,3667,3683,3684,3703,3704],{"type":30,"tagName":321,"properties":2745,"children":2746},{"class":323},[2747,2751,2756,2760,2765],{"type":30,"tagName":321,"properties":2748,"children":2749},{"style":1259},[2750],{"type":26,"value":1262},{"type":30,"tagName":321,"properties":2752,"children":2753},{"style":833},[2754],{"type":26,"value":2755}," { histogram, input, lower, none, ohlcv, output, param } ",{"type":30,"tagName":321,"properties":2757,"children":2758},{"style":1259},[2759],{"type":26,"value":1272},{"type":30,"tagName":321,"properties":2761,"children":2762},{"style":332},[2763],{"type":26,"value":2764}," \"./sdk/declare\"",{"type":30,"tagName":321,"properties":2766,"children":2767},{"style":833},[2768],{"type":26,"value":1282},{"type":26,"value":27},{"type":30,"tagName":321,"properties":2771,"children":2772},{"class":323},[2773,2777,2781,2785,2789],{"type":30,"tagName":321,"properties":2774,"children":2775},{"style":1259},[2776],{"type":26,"value":1262},{"type":30,"tagName":321,"properties":2778,"children":2779},{"style":833},[2780],{"type":26,"value":1267},{"type":30,"tagName":321,"properties":2782,"children":2783},{"style":1259},[2784],{"type":26,"value":1272},{"type":30,"tagName":321,"properties":2786,"children":2787},{"style":332},[2788],{"type":26,"value":1277},{"type":30,"tagName":321,"properties":2790,"children":2791},{"style":833},[2792],{"type":26,"value":1282},{"type":26,"value":27},{"type":30,"tagName":321,"properties":2795,"children":2796},{"class":323},[2797,2801,2806,2810,2814],{"type":30,"tagName":321,"properties":2798,"children":2799},{"style":1259},[2800],{"type":26,"value":1262},{"type":30,"tagName":321,"properties":2802,"children":2803},{"style":833},[2804],{"type":26,"value":2805}," { emitRow, out_diff, out_sign } ",{"type":30,"tagName":321,"properties":2807,"children":2808},{"style":1259},[2809],{"type":26,"value":1272},{"type":30,"tagName":321,"properties":2811,"children":2812},{"style":332},[2813],{"type":26,"value":1304},{"type":30,"tagName":321,"properties":2815,"children":2816},{"style":833},[2817],{"type":26,"value":1282},{"type":26,"value":27},{"type":30,"tagName":321,"properties":2820,"children":2821},{"class":323},[2822,2826,2831,2835,2839],{"type":30,"tagName":321,"properties":2823,"children":2824},{"style":1259},[2825],{"type":26,"value":1262},{"type":30,"tagName":321,"properties":2827,"children":2828},{"style":833},[2829],{"type":26,"value":2830}," { p_fast, p_slow } ",{"type":30,"tagName":321,"properties":2832,"children":2833},{"style":1259},[2834],{"type":26,"value":1272},{"type":30,"tagName":321,"properties":2836,"children":2837},{"style":332},[2838],{"type":26,"value":1330},{"type":30,"tagName":321,"properties":2840,"children":2841},{"style":833},[2842],{"type":26,"value":1282},{"type":26,"value":27},{"type":30,"tagName":321,"properties":2845,"children":2846},{"class":323},[2847,2851,2856,2860,2864],{"type":30,"tagName":321,"properties":2848,"children":2849},{"style":1259},[2850],{"type":26,"value":1262},{"type":30,"tagName":321,"properties":2852,"children":2853},{"style":833},[2854],{"type":26,"value":2855}," { Ema } ",{"type":30,"tagName":321,"properties":2857,"children":2858},{"style":1259},[2859],{"type":26,"value":1272},{"type":30,"tagName":321,"properties":2861,"children":2862},{"style":332},[2863],{"type":26,"value":1356},{"type":30,"tagName":321,"properties":2865,"children":2866},{"style":833},[2867],{"type":26,"value":1282},{"type":26,"value":27},{"type":30,"tagName":321,"properties":2870,"children":2871},{"class":323},[],{"type":26,"value":27},{"type":30,"tagName":321,"properties":2874,"children":2875},{"class":323},[2876,2881,2885,2890,2894,2899,2904,2908,2913,2917,2922,2927],{"type":30,"tagName":321,"properties":2877,"children":2878},{"style":327},[2879],{"type":26,"value":2880},"param",{"type":30,"tagName":321,"properties":2882,"children":2883},{"style":833},[2884],{"type":26,"value":1398},{"type":30,"tagName":321,"properties":2886,"children":2887},{"style":332},[2888],{"type":26,"value":2889},"\"fast\"",{"type":30,"tagName":321,"properties":2891,"children":2892},{"style":833},[2893],{"type":26,"value":426},{"type":30,"tagName":321,"properties":2895,"children":2896},{"style":343},[2897],{"type":26,"value":2898},"7",{"type":30,"tagName":321,"properties":2900,"children":2901},{"style":833},[2902],{"type":26,"value":2903},", { min: ",{"type":30,"tagName":321,"properties":2905,"children":2906},{"style":343},[2907],{"type":26,"value":922},{"type":30,"tagName":321,"properties":2909,"children":2910},{"style":833},[2911],{"type":26,"value":2912},", max: ",{"type":30,"tagName":321,"properties":2914,"children":2915},{"style":343},[2916],{"type":26,"value":1007},{"type":30,"tagName":321,"properties":2918,"children":2919},{"style":833},[2920],{"type":26,"value":2921},", description: ",{"type":30,"tagName":321,"properties":2923,"children":2924},{"style":332},[2925],{"type":26,"value":2926},"\"Fast period\"",{"type":30,"tagName":321,"properties":2928,"children":2929},{"style":833},[2930],{"type":26,"value":2931}," });",{"type":26,"value":27},{"type":30,"tagName":321,"properties":2934,"children":2935},{"class":323},[2936,2940,2944,2949,2953,2958,2962,2967,2971,2976,2980,2985],{"type":30,"tagName":321,"properties":2937,"children":2938},{"style":327},[2939],{"type":26,"value":2880},{"type":30,"tagName":321,"properties":2941,"children":2942},{"style":833},[2943],{"type":26,"value":1398},{"type":30,"tagName":321,"properties":2945,"children":2946},{"style":332},[2947],{"type":26,"value":2948},"\"slow\"",{"type":30,"tagName":321,"properties":2950,"children":2951},{"style":833},[2952],{"type":26,"value":426},{"type":30,"tagName":321,"properties":2954,"children":2955},{"style":343},[2956],{"type":26,"value":2957},"14",{"type":30,"tagName":321,"properties":2959,"children":2960},{"style":833},[2961],{"type":26,"value":2903},{"type":30,"tagName":321,"properties":2963,"children":2964},{"style":343},[2965],{"type":26,"value":2966},"2",{"type":30,"tagName":321,"properties":2968,"children":2969},{"style":833},[2970],{"type":26,"value":2912},{"type":30,"tagName":321,"properties":2972,"children":2973},{"style":343},[2974],{"type":26,"value":2975},"400",{"type":30,"tagName":321,"properties":2977,"children":2978},{"style":833},[2979],{"type":26,"value":2921},{"type":30,"tagName":321,"properties":2981,"children":2982},{"style":332},[2983],{"type":26,"value":2984},"\"Slow period\"",{"type":30,"tagName":321,"properties":2986,"children":2987},{"style":833},[2988],{"type":26,"value":2931},{"type":26,"value":27},{"type":30,"tagName":321,"properties":2991,"children":2992},{"class":323},[2993,2998,3002,3006],{"type":30,"tagName":321,"properties":2994,"children":2995},{"style":327},[2996],{"type":26,"value":2997},"input",{"type":30,"tagName":321,"properties":2999,"children":3000},{"style":833},[3001],{"type":26,"value":1398},{"type":30,"tagName":321,"properties":3003,"children":3004},{"style":332},[3005],{"type":26,"value":1031},{"type":30,"tagName":321,"properties":3007,"children":3008},{"style":833},[3009],{"type":26,"value":3010},", ohlcv.close);",{"type":26,"value":27},{"type":30,"tagName":321,"properties":3013,"children":3014},{"class":323},[3015],{"type":30,"tagName":321,"properties":3016,"children":3018},{"style":3017},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[3019],{"type":26,"value":3020},"// A histogram in its own pane, colored per bar by the sign output: entry 0 below zero, entry 1 above.",{"type":26,"value":27},{"type":30,"tagName":321,"properties":3023,"children":3024},{"class":323},[3025,3030,3034,3039,3044,3049,3054,3059,3063,3068,3073,3078],{"type":30,"tagName":321,"properties":3026,"children":3027},{"style":327},[3028],{"type":26,"value":3029},"output",{"type":30,"tagName":321,"properties":3031,"children":3032},{"style":833},[3033],{"type":26,"value":1398},{"type":30,"tagName":321,"properties":3035,"children":3036},{"style":332},[3037],{"type":26,"value":3038},"\"diff\"",{"type":30,"tagName":321,"properties":3040,"children":3041},{"style":833},[3042],{"type":26,"value":3043},", histogram, lower, { color_by: ",{"type":30,"tagName":321,"properties":3045,"children":3046},{"style":332},[3047],{"type":26,"value":3048},"\"sign\"",{"type":30,"tagName":321,"properties":3050,"children":3051},{"style":833},[3052],{"type":26,"value":3053},", colors: [",{"type":30,"tagName":321,"properties":3055,"children":3056},{"style":332},[3057],{"type":26,"value":3058},"\"#dc2626\"",{"type":30,"tagName":321,"properties":3060,"children":3061},{"style":833},[3062],{"type":26,"value":426},{"type":30,"tagName":321,"properties":3064,"children":3065},{"style":332},[3066],{"type":26,"value":3067},"\"#16a34a\"",{"type":30,"tagName":321,"properties":3069,"children":3070},{"style":833},[3071],{"type":26,"value":3072},"], description: ",{"type":30,"tagName":321,"properties":3074,"children":3075},{"style":332},[3076],{"type":26,"value":3077},"\"Fast EMA minus slow EMA\"",{"type":30,"tagName":321,"properties":3079,"children":3080},{"style":833},[3081],{"type":26,"value":2931},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3084,"children":3085},{"class":323},[3086,3090,3094,3098],{"type":30,"tagName":321,"properties":3087,"children":3088},{"style":327},[3089],{"type":26,"value":3029},{"type":30,"tagName":321,"properties":3091,"children":3092},{"style":833},[3093],{"type":26,"value":1398},{"type":30,"tagName":321,"properties":3095,"children":3096},{"style":332},[3097],{"type":26,"value":3048},{"type":30,"tagName":321,"properties":3099,"children":3100},{"style":833},[3101],{"type":26,"value":3102},", none, lower);",{"type":26,"value":27},{"type":30,"tagName":321,"properties":3105,"children":3106},{"class":323},[],{"type":26,"value":27},{"type":30,"tagName":321,"properties":3109,"children":3110},{"class":323},[3111,3115,3120,3124,3128,3133,3137,3141],{"type":30,"tagName":321,"properties":3112,"children":3113},{"style":1259},[3114],{"type":26,"value":1373},{"type":30,"tagName":321,"properties":3116,"children":3117},{"style":833},[3118],{"type":26,"value":3119}," fast ",{"type":30,"tagName":321,"properties":3121,"children":3122},{"style":1259},[3123],{"type":26,"value":1383},{"type":30,"tagName":321,"properties":3125,"children":3126},{"style":1259},[3127],{"type":26,"value":1388},{"type":30,"tagName":321,"properties":3129,"children":3130},{"style":327},[3131],{"type":26,"value":3132}," Ema",{"type":30,"tagName":321,"properties":3134,"children":3135},{"style":833},[3136],{"type":26,"value":1398},{"type":30,"tagName":321,"properties":3138,"children":3139},{"style":343},[3140],{"type":26,"value":2898},{"type":30,"tagName":321,"properties":3142,"children":3143},{"style":833},[3144],{"type":26,"value":1407},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3147,"children":3148},{"class":323},[3149,3153,3158,3162,3166,3170,3174,3178],{"type":30,"tagName":321,"properties":3150,"children":3151},{"style":1259},[3152],{"type":26,"value":1373},{"type":30,"tagName":321,"properties":3154,"children":3155},{"style":833},[3156],{"type":26,"value":3157}," slow ",{"type":30,"tagName":321,"properties":3159,"children":3160},{"style":1259},[3161],{"type":26,"value":1383},{"type":30,"tagName":321,"properties":3163,"children":3164},{"style":1259},[3165],{"type":26,"value":1388},{"type":30,"tagName":321,"properties":3167,"children":3168},{"style":327},[3169],{"type":26,"value":3132},{"type":30,"tagName":321,"properties":3171,"children":3172},{"style":833},[3173],{"type":26,"value":1398},{"type":30,"tagName":321,"properties":3175,"children":3176},{"style":343},[3177],{"type":26,"value":2957},{"type":30,"tagName":321,"properties":3179,"children":3180},{"style":833},[3181],{"type":26,"value":1407},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3184,"children":3185},{"class":323},[3186,3190,3195,3199,3203,3207,3211],{"type":30,"tagName":321,"properties":3187,"children":3188},{"style":1259},[3189],{"type":26,"value":1373},{"type":30,"tagName":321,"properties":3191,"children":3192},{"style":833},[3193],{"type":26,"value":3194}," diff",{"type":30,"tagName":321,"properties":3196,"children":3197},{"style":1259},[3198],{"type":26,"value":1425},{"type":30,"tagName":321,"properties":3200,"children":3201},{"style":327},[3202],{"type":26,"value":1430},{"type":30,"tagName":321,"properties":3204,"children":3205},{"style":1259},[3206],{"type":26,"value":1435},{"type":30,"tagName":321,"properties":3208,"children":3209},{"style":343},[3210],{"type":26,"value":1440},{"type":30,"tagName":321,"properties":3212,"children":3213},{"style":833},[3214],{"type":26,"value":1282},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3217,"children":3218},{"class":323},[],{"type":26,"value":27},{"type":30,"tagName":321,"properties":3221,"children":3222},{"class":323},[3223,3227,3231,3235,3239,3243,3247],{"type":30,"tagName":321,"properties":3224,"children":3225},{"style":1259},[3226],{"type":26,"value":1457},{"type":30,"tagName":321,"properties":3228,"children":3229},{"style":1259},[3230],{"type":26,"value":1462},{"type":30,"tagName":321,"properties":3232,"children":3233},{"style":327},[3234],{"type":26,"value":1467},{"type":30,"tagName":321,"properties":3236,"children":3237},{"style":833},[3238],{"type":26,"value":1472},{"type":30,"tagName":321,"properties":3240,"children":3241},{"style":1259},[3242],{"type":26,"value":1425},{"type":30,"tagName":321,"properties":3244,"children":3245},{"style":343},[3246],{"type":26,"value":1481},{"type":30,"tagName":321,"properties":3248,"children":3249},{"style":833},[3250],{"type":26,"value":1486},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3253,"children":3254},{"class":323},[3255,3260,3264,3268,3272,3276,3280,3284,3289],{"type":30,"tagName":321,"properties":3256,"children":3257},{"style":833},[3258],{"type":26,"value":3259},"  fast ",{"type":30,"tagName":321,"properties":3261,"children":3262},{"style":1259},[3263],{"type":26,"value":1383},{"type":30,"tagName":321,"properties":3265,"children":3266},{"style":1259},[3267],{"type":26,"value":1388},{"type":30,"tagName":321,"properties":3269,"children":3270},{"style":327},[3271],{"type":26,"value":3132},{"type":30,"tagName":321,"properties":3273,"children":3274},{"style":833},[3275],{"type":26,"value":1398},{"type":30,"tagName":321,"properties":3277,"children":3278},{"style":327},[3279],{"type":26,"value":1516},{"type":30,"tagName":321,"properties":3281,"children":3282},{"style":833},[3283],{"type":26,"value":1398},{"type":30,"tagName":321,"properties":3285,"children":3286},{"style":327},[3287],{"type":26,"value":3288},"p_fast",{"type":30,"tagName":321,"properties":3290,"children":3291},{"style":833},[3292],{"type":26,"value":1530},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3295,"children":3296},{"class":323},[3297,3302,3306,3310,3314,3318,3322,3326,3331],{"type":30,"tagName":321,"properties":3298,"children":3299},{"style":833},[3300],{"type":26,"value":3301},"  slow ",{"type":30,"tagName":321,"properties":3303,"children":3304},{"style":1259},[3305],{"type":26,"value":1383},{"type":30,"tagName":321,"properties":3307,"children":3308},{"style":1259},[3309],{"type":26,"value":1388},{"type":30,"tagName":321,"properties":3311,"children":3312},{"style":327},[3313],{"type":26,"value":3132},{"type":30,"tagName":321,"properties":3315,"children":3316},{"style":833},[3317],{"type":26,"value":1398},{"type":30,"tagName":321,"properties":3319,"children":3320},{"style":327},[3321],{"type":26,"value":1516},{"type":30,"tagName":321,"properties":3323,"children":3324},{"style":833},[3325],{"type":26,"value":1398},{"type":30,"tagName":321,"properties":3327,"children":3328},{"style":327},[3329],{"type":26,"value":3330},"p_slow",{"type":30,"tagName":321,"properties":3332,"children":3333},{"style":833},[3334],{"type":26,"value":1530},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3337,"children":3338},{"class":323},[3339],{"type":30,"tagName":321,"properties":3340,"children":3341},{"style":833},[3342],{"type":26,"value":1227},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3345,"children":3346},{"class":323},[],{"type":26,"value":27},{"type":30,"tagName":321,"properties":3349,"children":3350},{"class":323},[3351,3355,3359,3363,3367,3371,3375],{"type":30,"tagName":321,"properties":3352,"children":3353},{"style":1259},[3354],{"type":26,"value":1457},{"type":30,"tagName":321,"properties":3356,"children":3357},{"style":1259},[3358],{"type":26,"value":1462},{"type":30,"tagName":321,"properties":3360,"children":3361},{"style":327},[3362],{"type":26,"value":1559},{"type":30,"tagName":321,"properties":3364,"children":3365},{"style":833},[3366],{"type":26,"value":1472},{"type":30,"tagName":321,"properties":3368,"children":3369},{"style":1259},[3370],{"type":26,"value":1425},{"type":30,"tagName":321,"properties":3372,"children":3373},{"style":327},[3374],{"type":26,"value":1572},{"type":30,"tagName":321,"properties":3376,"children":3377},{"style":833},[3378],{"type":26,"value":1486},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3381,"children":3382},{"class":323},[3383,3388,3393,3397,3402],{"type":30,"tagName":321,"properties":3384,"children":3385},{"style":1259},[3386],{"type":26,"value":3387},"  const",{"type":30,"tagName":321,"properties":3389,"children":3390},{"style":343},[3391],{"type":26,"value":3392}," close",{"type":30,"tagName":321,"properties":3394,"children":3395},{"style":1259},[3396],{"type":26,"value":1435},{"type":30,"tagName":321,"properties":3398,"children":3399},{"style":327},[3400],{"type":26,"value":3401}," in_close",{"type":30,"tagName":321,"properties":3403,"children":3404},{"style":833},[3405],{"type":26,"value":1729},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3408,"children":3409},{"class":323},[3410,3415,3419,3424,3428,3433,3438,3443,3447],{"type":30,"tagName":321,"properties":3411,"children":3412},{"style":833},[3413],{"type":26,"value":3414},"  diff ",{"type":30,"tagName":321,"properties":3416,"children":3417},{"style":1259},[3418],{"type":26,"value":1383},{"type":30,"tagName":321,"properties":3420,"children":3421},{"style":833},[3422],{"type":26,"value":3423}," fast.",{"type":30,"tagName":321,"properties":3425,"children":3426},{"style":327},[3427],{"type":26,"value":1599},{"type":30,"tagName":321,"properties":3429,"children":3430},{"style":833},[3431],{"type":26,"value":3432},"(close) ",{"type":30,"tagName":321,"properties":3434,"children":3435},{"style":1259},[3436],{"type":26,"value":3437},"-",{"type":30,"tagName":321,"properties":3439,"children":3440},{"style":833},[3441],{"type":26,"value":3442}," slow.",{"type":30,"tagName":321,"properties":3444,"children":3445},{"style":327},[3446],{"type":26,"value":1599},{"type":30,"tagName":321,"properties":3448,"children":3449},{"style":833},[3450],{"type":26,"value":3451},"(close);",{"type":26,"value":27},{"type":30,"tagName":321,"properties":3454,"children":3455},{"class":323},[3456,3460,3464,3469,3473,3477,3481,3485],{"type":30,"tagName":321,"properties":3457,"children":3458},{"style":1259},[3459],{"type":26,"value":1622},{"type":30,"tagName":321,"properties":3461,"children":3462},{"style":327},[3463],{"type":26,"value":1627},{"type":30,"tagName":321,"properties":3465,"children":3466},{"style":833},[3467],{"type":26,"value":3468},"(diff) ",{"type":30,"tagName":321,"properties":3470,"children":3471},{"style":1259},[3472],{"type":26,"value":1637},{"type":30,"tagName":321,"properties":3474,"children":3475},{"style":343},[3476],{"type":26,"value":1642},{"type":30,"tagName":321,"properties":3478,"children":3479},{"style":1259},[3480],{"type":26,"value":1647},{"type":30,"tagName":321,"properties":3482,"children":3483},{"style":343},[3484],{"type":26,"value":1652},{"type":30,"tagName":321,"properties":3486,"children":3487},{"style":833},[3488],{"type":26,"value":1282},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3491,"children":3492},{"class":323},[3493],{"type":30,"tagName":321,"properties":3494,"children":3495},{"style":833},[3496],{"type":26,"value":1227},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3499,"children":3500},{"class":323},[],{"type":26,"value":27},{"type":30,"tagName":321,"properties":3503,"children":3504},{"class":323},[3505,3509,3513,3517,3521,3525,3529],{"type":30,"tagName":321,"properties":3506,"children":3507},{"style":1259},[3508],{"type":26,"value":1457},{"type":30,"tagName":321,"properties":3510,"children":3511},{"style":1259},[3512],{"type":26,"value":1462},{"type":30,"tagName":321,"properties":3514,"children":3515},{"style":327},[3516],{"type":26,"value":1685},{"type":30,"tagName":321,"properties":3518,"children":3519},{"style":833},[3520],{"type":26,"value":1472},{"type":30,"tagName":321,"properties":3522,"children":3523},{"style":1259},[3524],{"type":26,"value":1425},{"type":30,"tagName":321,"properties":3526,"children":3527},{"style":343},[3528],{"type":26,"value":1481},{"type":30,"tagName":321,"properties":3530,"children":3531},{"style":833},[3532],{"type":26,"value":1486},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3535,"children":3536},{"class":323},[3537,3542],{"type":30,"tagName":321,"properties":3538,"children":3539},{"style":327},[3540],{"type":26,"value":3541},"  out_diff",{"type":30,"tagName":321,"properties":3543,"children":3544},{"style":833},[3545],{"type":26,"value":3546},"(diff);",{"type":26,"value":27},{"type":30,"tagName":321,"properties":3549,"children":3550},{"class":323},[3551,3556,3561,3566,3571,3576,3581,3585,3589],{"type":30,"tagName":321,"properties":3552,"children":3553},{"style":327},[3554],{"type":26,"value":3555},"  out_sign",{"type":30,"tagName":321,"properties":3557,"children":3558},{"style":833},[3559],{"type":26,"value":3560},"(diff ",{"type":30,"tagName":321,"properties":3562,"children":3563},{"style":1259},[3564],{"type":26,"value":3565},">",{"type":30,"tagName":321,"properties":3567,"children":3568},{"style":343},[3569],{"type":26,"value":3570}," 0.0",{"type":30,"tagName":321,"properties":3572,"children":3573},{"style":1259},[3574],{"type":26,"value":3575}," ?",{"type":30,"tagName":321,"properties":3577,"children":3578},{"style":343},[3579],{"type":26,"value":3580}," 1.0",{"type":30,"tagName":321,"properties":3582,"children":3583},{"style":1259},[3584],{"type":26,"value":1647},{"type":30,"tagName":321,"properties":3586,"children":3587},{"style":343},[3588],{"type":26,"value":3570},{"type":30,"tagName":321,"properties":3590,"children":3591},{"style":833},[3592],{"type":26,"value":1407},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3595,"children":3596},{"class":323},[3597,3601],{"type":30,"tagName":321,"properties":3598,"children":3599},{"style":327},[3600],{"type":26,"value":1724},{"type":30,"tagName":321,"properties":3602,"children":3603},{"style":833},[3604],{"type":26,"value":1729},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3607,"children":3608},{"class":323},[3609],{"type":30,"tagName":321,"properties":3610,"children":3611},{"style":833},[3612],{"type":26,"value":1227},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3615,"children":3616},{"class":323},[],{"type":26,"value":27},{"type":30,"tagName":321,"properties":3619,"children":3620},{"class":323},[3621,3625,3629,3633,3637,3641,3645],{"type":30,"tagName":321,"properties":3622,"children":3623},{"style":1259},[3624],{"type":26,"value":1457},{"type":30,"tagName":321,"properties":3626,"children":3627},{"style":1259},[3628],{"type":26,"value":1462},{"type":30,"tagName":321,"properties":3630,"children":3631},{"style":327},[3632],{"type":26,"value":1758},{"type":30,"tagName":321,"properties":3634,"children":3635},{"style":833},[3636],{"type":26,"value":1472},{"type":30,"tagName":321,"properties":3638,"children":3639},{"style":1259},[3640],{"type":26,"value":1425},{"type":30,"tagName":321,"properties":3642,"children":3643},{"style":343},[3644],{"type":26,"value":1481},{"type":30,"tagName":321,"properties":3646,"children":3647},{"style":833},[3648],{"type":26,"value":1486},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3651,"children":3652},{"class":323},[3653,3658,3662],{"type":30,"tagName":321,"properties":3654,"children":3655},{"style":833},[3656],{"type":26,"value":3657},"  fast.",{"type":30,"tagName":321,"properties":3659,"children":3660},{"style":327},[3661],{"type":26,"value":1788},{"type":30,"tagName":321,"properties":3663,"children":3664},{"style":833},[3665],{"type":26,"value":1729},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3668,"children":3669},{"class":323},[3670,3675,3679],{"type":30,"tagName":321,"properties":3671,"children":3672},{"style":833},[3673],{"type":26,"value":3674},"  slow.",{"type":30,"tagName":321,"properties":3676,"children":3677},{"style":327},[3678],{"type":26,"value":1788},{"type":30,"tagName":321,"properties":3680,"children":3681},{"style":833},[3682],{"type":26,"value":1729},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3685,"children":3686},{"class":323},[3687,3691,3695,3699],{"type":30,"tagName":321,"properties":3688,"children":3689},{"style":833},[3690],{"type":26,"value":3414},{"type":30,"tagName":321,"properties":3692,"children":3693},{"style":1259},[3694],{"type":26,"value":1383},{"type":30,"tagName":321,"properties":3696,"children":3697},{"style":343},[3698],{"type":26,"value":1440},{"type":30,"tagName":321,"properties":3700,"children":3701},{"style":833},[3702],{"type":26,"value":1282},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3705,"children":3706},{"class":323},[3707],{"type":30,"tagName":321,"properties":3708,"children":3709},{"style":833},[3710],{"type":26,"value":1227},{"type":26,"value":27},{"type":30,"tagName":31,"properties":3713,"children":3714,"position":3829},{},[3715,3722,3734,3741,3753,3759,3770,3776,3787,3793,3804,3811,3823],{"type":26,"value":791,"position":3716},{"start":3717,"end":3720},{"line":3718,"column":20,"offset":3719},217,8531,{"line":3718,"column":38,"offset":3721},8535,{"type":30,"tagName":45,"properties":3723,"children":3724,"position":3731},{},[3725],{"type":26,"value":3726,"position":3727},"color_by",{"start":3728,"end":3729},{"line":3718,"column":38,"offset":3721},{"line":3718,"column":2254,"offset":3730},8545,{"start":3732,"end":3733},{"line":3718,"column":38,"offset":3721},{"line":3718,"column":2254,"offset":3730},{"type":26,"value":3735,"position":3736}," option names another output whose per-bar value indexes the\n",{"start":3737,"end":3738},{"line":3718,"column":2254,"offset":3730},{"line":3739,"column":20,"offset":3740},218,8606,{"type":30,"tagName":45,"properties":3742,"children":3743,"position":3750},{},[3744],{"type":26,"value":3745,"position":3746},"colors",{"start":3747,"end":3748},{"line":3739,"column":20,"offset":3740},{"line":3739,"column":64,"offset":3749},8614,{"start":3751,"end":3752},{"line":3739,"column":20,"offset":3740},{"line":3739,"column":64,"offset":3749},{"type":26,"value":3754,"position":3755}," palette (floored), so ",{"start":3756,"end":3757},{"line":3739,"column":64,"offset":3749},{"line":3739,"column":253,"offset":3758},8637,{"type":30,"tagName":45,"properties":3760,"children":3761,"position":3767},{},[3762],{"type":26,"value":2675,"position":3763},{"start":3764,"end":3765},{"line":3739,"column":253,"offset":3758},{"line":3739,"column":217,"offset":3766},8643,{"start":3768,"end":3769},{"line":3739,"column":253,"offset":3758},{"line":3739,"column":217,"offset":3766},{"type":26,"value":3771,"position":3772}," at ",{"start":3773,"end":3774},{"line":3739,"column":217,"offset":3766},{"line":3739,"column":764,"offset":3775},8647,{"type":30,"tagName":45,"properties":3777,"children":3778,"position":3784},{},[3779],{"type":26,"value":315,"position":3780},{"start":3781,"end":3782},{"line":3739,"column":764,"offset":3775},{"line":3739,"column":2188,"offset":3783},8650,{"start":3785,"end":3786},{"line":3739,"column":764,"offset":3775},{"line":3739,"column":2188,"offset":3783},{"type":26,"value":3788,"position":3789}," paints red and at ",{"start":3790,"end":3791},{"line":3739,"column":2188,"offset":3783},{"line":3739,"column":592,"offset":3792},8669,{"type":30,"tagName":45,"properties":3794,"children":3795,"position":3801},{},[3796],{"type":26,"value":922,"position":3797},{"start":3798,"end":3799},{"line":3739,"column":592,"offset":3792},{"line":3739,"column":814,"offset":3800},8672,{"start":3802,"end":3803},{"line":3739,"column":592,"offset":3792},{"line":3739,"column":814,"offset":3800},{"type":26,"value":3805,"position":3806}," paints\ngreen; an output cannot color itself, which is why the decision is its own\ndata-only output. Every param is a field in the overlay's settings dialog\non the chart and a ",{"start":3807,"end":3808},{"line":3739,"column":814,"offset":3800},{"line":3809,"column":194,"offset":3810},221,8848,{"type":30,"tagName":45,"properties":3812,"children":3813,"position":3820},{},[3814],{"type":26,"value":3815,"position":3816},"--params",{"start":3817,"end":3818},{"line":3809,"column":194,"offset":3810},{"line":3809,"column":247,"offset":3819},8858,{"start":3821,"end":3822},{"line":3809,"column":194,"offset":3810},{"line":3809,"column":247,"offset":3819},{"type":26,"value":3824,"position":3825}," value on your machine.",{"start":3826,"end":3827},{"line":3809,"column":247,"offset":3819},{"line":3809,"column":420,"offset":3828},8881,{"start":3830,"end":3831},{"line":3718,"column":20,"offset":3719},{"line":3809,"column":420,"offset":3828},{"type":26,"value":27},{"type":30,"tagName":31,"properties":3834,"children":3835,"position":3844},{},[3836],{"type":26,"value":3837,"position":3838},"Build and install it, then read the difference back with its params:",{"start":3839,"end":3842},{"line":3840,"column":20,"offset":3841},223,8883,{"line":3840,"column":2294,"offset":3843},8951,{"start":3845,"end":3846},{"line":3840,"column":20,"offset":3841},{"line":3840,"column":2294,"offset":3843},{"type":26,"value":27},{"type":13,"children":3849},[3850],{"type":30,"tagName":311,"properties":3851,"children":3852,"data":-1},{"class":313,"style":314,"tabindex":315},[3853],{"type":30,"tagName":45,"properties":3854,"children":3855},{},[3856,3879,3880],{"type":30,"tagName":321,"properties":3857,"children":3858},{"class":323},[3859,3863,3867,3871,3875],{"type":30,"tagName":321,"properties":3860,"children":3861},{"style":327},[3862],{"type":26,"value":49},{"type":30,"tagName":321,"properties":3864,"children":3865},{"style":332},[3866],{"type":26,"value":335},{"type":30,"tagName":321,"properties":3868,"children":3869},{"style":332},[3870],{"type":26,"value":2031},{"type":30,"tagName":321,"properties":3872,"children":3873},{"style":332},[3874],{"type":26,"value":2725},{"type":30,"tagName":321,"properties":3876,"children":3877},{"style":343},[3878],{"type":26,"value":2040},{"type":26,"value":27},{"type":30,"tagName":321,"properties":3881,"children":3882},{"class":323},[3883,3887,3891,3895,3899,3904,3908,3913,3917,3921,3925,3929,3933,3937],{"type":30,"tagName":321,"properties":3884,"children":3885},{"style":327},[3886],{"type":26,"value":49},{"type":30,"tagName":321,"properties":3888,"children":3889},{"style":332},[3890],{"type":26,"value":2353},{"type":30,"tagName":321,"properties":3892,"children":3893},{"style":332},[3894],{"type":26,"value":2409},{"type":30,"tagName":321,"properties":3896,"children":3897},{"style":343},[3898],{"type":26,"value":2363},{"type":30,"tagName":321,"properties":3900,"children":3901},{"style":332},[3902],{"type":26,"value":3903}," wrun/@you/ema-diff/diff",{"type":30,"tagName":321,"properties":3905,"children":3906},{"style":343},[3907],{"type":26,"value":2423},{"type":30,"tagName":321,"properties":3909,"children":3910},{"style":332},[3911],{"type":26,"value":3912}," fast=7,slow=",{"type":30,"tagName":321,"properties":3914,"children":3915},{"style":343},[3916],{"type":26,"value":2957},{"type":30,"tagName":321,"properties":3918,"children":3919},{"style":343},[3920],{"type":26,"value":2377},{"type":30,"tagName":321,"properties":3922,"children":3923},{"style":332},[3924],{"type":26,"value":2382},{"type":30,"tagName":321,"properties":3926,"children":3927},{"style":343},[3928],{"type":26,"value":2387},{"type":30,"tagName":321,"properties":3930,"children":3931},{"style":332},[3932],{"type":26,"value":2392},{"type":30,"tagName":321,"properties":3934,"children":3935},{"style":343},[3936],{"type":26,"value":2453},{"type":30,"tagName":321,"properties":3938,"children":3939},{"style":343},[3940],{"type":26,"value":3941}," 48",{"type":26,"value":27},{"type":30,"tagName":31,"properties":3944,"children":3945,"position":3975},{},[3946,3956,3968],{"type":26,"value":3947,"position":3948},"The moment the histogram turns positive is a one-line watch on the same\nmetric id: params travel as a ",{"start":3949,"end":3952},{"line":3950,"column":20,"offset":3951},230,9131,{"line":3953,"column":3954,"offset":3955},231,31,9233,{"type":30,"tagName":45,"properties":3957,"children":3958,"position":3965},{},[3959],{"type":26,"value":3960,"position":3961},"params",{"start":3962,"end":3963},{"line":3953,"column":3954,"offset":3955},{"line":3953,"column":167,"offset":3964},9241,{"start":3966,"end":3967},{"line":3953,"column":3954,"offset":3955},{"line":3953,"column":167,"offset":3964},{"type":26,"value":3969,"position":3970}," object, and a condition with an edge\noperator names the interval the cross is read on:",{"start":3971,"end":3972},{"line":3953,"column":167,"offset":3964},{"line":3973,"column":582,"offset":3974},232,9328,{"start":3976,"end":3977},{"line":3950,"column":20,"offset":3951},{"line":3973,"column":582,"offset":3974},{"type":26,"value":27},{"type":13,"children":3980},[3981],{"type":30,"tagName":311,"properties":3982,"children":3983,"data":-1},{"class":313,"style":314,"tabindex":315},[3984],{"type":30,"tagName":45,"properties":3985,"children":3986},{},[3987],{"type":30,"tagName":321,"properties":3988,"children":3989},{"class":323},[3990,3994,3999,4003,4008,4013],{"type":30,"tagName":321,"properties":3991,"children":3992},{"style":327},[3993],{"type":26,"value":49},{"type":30,"tagName":321,"properties":3995,"children":3996},{"style":332},[3997],{"type":26,"value":3998}," watch",{"type":30,"tagName":321,"properties":4000,"children":4001},{"style":332},[4002],{"type":26,"value":368},{"type":30,"tagName":321,"properties":4004,"children":4005},{"style":332},[4006],{"type":26,"value":4007}," \"EMA difference turned positive\"",{"type":30,"tagName":321,"properties":4009,"children":4010},{"style":343},[4011],{"type":26,"value":4012}," --condition",{"type":30,"tagName":321,"properties":4014,"children":4015},{"style":332},[4016],{"type":26,"value":4017}," '{\"metric\":\"wrun/@you/ema-diff/diff\",\"params\":{\"fast\":7,\"slow\":14},\"selector\":{\"symbol\":\"BTCUSDT\",\"exchange\":\"BINANCE_FUTURES\",\"interval\":\"HOUR\"},\"op\":\"crosses_above\",\"value\":0}'",{"type":26,"value":27},{"type":30,"tagName":31,"properties":4020,"children":4021,"position":4087},{},[4022,4031,4043,4050,4063,4070,4082],{"type":26,"value":4023,"position":4024},"Congratulations: you have built, installed, read, and armed an Indicator\nwithout opening a browser. Publishing from the CLI, scopes, visibility, and\ndeleting are in ",{"start":4025,"end":4028},{"line":4026,"column":20,"offset":4027},238,9583,{"line":4029,"column":197,"offset":4030},240,9748,{"type":30,"tagName":45,"properties":4032,"children":4033,"position":4040},{},[4034],{"type":26,"value":4035,"position":4036},"functions/publishing.md",{"start":4037,"end":4038},{"line":4029,"column":197,"offset":4030},{"line":4029,"column":764,"offset":4039},9773,{"start":4041,"end":4042},{"line":4029,"column":197,"offset":4030},{"line":4029,"column":764,"offset":4039},{"type":26,"value":4044,"position":4045},"; every verb under its ",{"start":4046,"end":4047},{"line":4029,"column":764,"offset":4039},{"line":4029,"column":4048,"offset":4049},65,9796,{"type":30,"tagName":45,"properties":4051,"children":4052,"position":4060},{},[4053],{"type":26,"value":4054,"position":4055},"om indicator",{"start":4056,"end":4057},{"line":4029,"column":4048,"offset":4049},{"line":4029,"column":4058,"offset":4059},79,9810,{"start":4061,"end":4062},{"line":4029,"column":4048,"offset":4049},{"line":4029,"column":4058,"offset":4059},{"type":26,"value":4064,"position":4065},"\nspelling is ",{"start":4066,"end":4067},{"line":4029,"column":4058,"offset":4059},{"line":4068,"column":2225,"offset":4069},241,9823,{"type":30,"tagName":45,"properties":4071,"children":4072,"position":4079},{},[4073],{"type":26,"value":4074,"position":4075},"getting-started/cli.md",{"start":4076,"end":4077},{"line":4068,"column":2225,"offset":4069},{"line":4068,"column":488,"offset":4078},9847,{"start":4080,"end":4081},{"line":4068,"column":2225,"offset":4069},{"line":4068,"column":488,"offset":4078},{"type":26,"value":1961,"position":4083},{"start":4084,"end":4085},{"line":4068,"column":488,"offset":4078},{"line":4068,"column":217,"offset":4086},9848,{"start":4088,"end":4089},{"line":4026,"column":20,"offset":4027},{"line":4068,"column":217,"offset":4086},{"type":26,"value":27},{"type":30,"tagName":91,"properties":4092,"children":4094,"position":4103},{"id":4093},"whats-next",[4095],{"type":26,"value":4096,"position":4097},"What's next",{"start":4098,"end":4101},{"line":4099,"column":100,"offset":4100},243,9853,{"line":4099,"column":2254,"offset":4102},9864,{"start":4104,"end":4106},{"line":4099,"column":20,"offset":4105},9850,{"line":4099,"column":2254,"offset":4102},{"type":26,"value":27},{"type":30,"tagName":4109,"properties":4110,"children":4111,"position":4263},"ul",{},[4112,4113,4142,4143,4206,4207,4234,4235,4262],{"type":26,"value":27},{"type":30,"tagName":131,"properties":4114,"children":4115,"position":4138},{},[4116,4131],{"type":30,"tagName":45,"properties":4117,"children":4118,"position":4128},{},[4119],{"type":26,"value":4120,"position":4121},"core-concepts/execution-model.md",{"start":4122,"end":4126},{"line":4123,"column":4124,"offset":4125},245,3,9868,{"line":4123,"column":488,"offset":4127},9902,{"start":4129,"end":4130},{"line":4123,"column":4124,"offset":4125},{"line":4123,"column":488,"offset":4127},{"type":26,"value":4132,"position":4133},": the per-bar function, warm-up, no\nlookahead, and which host runs the file.",{"start":4134,"end":4135},{"line":4123,"column":488,"offset":4127},{"line":4136,"column":269,"offset":4137},246,9980,{"start":4139,"end":4141},{"line":4123,"column":20,"offset":4140},9866,{"line":4136,"column":269,"offset":4137},{"type":26,"value":27},{"type":30,"tagName":131,"properties":4144,"children":4145,"position":4202},{},[4146,4160,4165,4177,4182,4195],{"type":30,"tagName":45,"properties":4147,"children":4148,"position":4157},{},[4149],{"type":26,"value":4150,"position":4151},"functions/moving-averages.md",{"start":4152,"end":4155},{"line":4153,"column":4124,"offset":4154},247,9983,{"line":4153,"column":259,"offset":4156},10013,{"start":4158,"end":4159},{"line":4153,"column":4124,"offset":4154},{"line":4153,"column":259,"offset":4156},{"type":26,"value":850,"position":4161},{"start":4162,"end":4163},{"line":4153,"column":259,"offset":4156},{"line":4153,"column":468,"offset":4164},10015,{"type":30,"tagName":45,"properties":4166,"children":4167,"position":4174},{},[4168],{"type":26,"value":4169,"position":4170},"Sma",{"start":4171,"end":4172},{"line":4153,"column":468,"offset":4164},{"line":4153,"column":602,"offset":4173},10020,{"start":4175,"end":4176},{"line":4153,"column":468,"offset":4164},{"line":4153,"column":602,"offset":4173},{"type":26,"value":426,"position":4178},{"start":4179,"end":4180},{"line":4153,"column":602,"offset":4173},{"line":4153,"column":764,"offset":4181},10022,{"type":30,"tagName":45,"properties":4183,"children":4184,"position":4192},{},[4185],{"type":26,"value":4186,"position":4187},"Ema",{"start":4188,"end":4189},{"line":4153,"column":764,"offset":4181},{"line":4153,"column":4190,"offset":4191},47,10027,{"start":4193,"end":4194},{"line":4153,"column":764,"offset":4181},{"line":4153,"column":4190,"offset":4191},{"type":26,"value":4196,"position":4197},", and the averages you write\nyourself.",{"start":4198,"end":4199},{"line":4153,"column":4190,"offset":4191},{"line":4200,"column":99,"offset":4201},248,10067,{"start":4203,"end":4205},{"line":4153,"column":20,"offset":4204},9981,{"line":4200,"column":99,"offset":4201},{"type":26,"value":27},{"type":30,"tagName":131,"properties":4208,"children":4209,"position":4230},{},[4210,4224],{"type":30,"tagName":45,"properties":4211,"children":4212,"position":4221},{},[4213],{"type":26,"value":4214,"position":4215},"functions/plotting.md",{"start":4216,"end":4219},{"line":4217,"column":4124,"offset":4218},249,10070,{"line":4217,"column":103,"offset":4220},10093,{"start":4222,"end":4223},{"line":4217,"column":4124,"offset":4218},{"line":4217,"column":103,"offset":4220},{"type":26,"value":4225,"position":4226},": every plot kind, panel, and styling option.",{"start":4227,"end":4228},{"line":4217,"column":103,"offset":4220},{"line":4217,"column":1898,"offset":4229},10138,{"start":4231,"end":4233},{"line":4217,"column":20,"offset":4232},10068,{"line":4217,"column":1898,"offset":4229},{"type":26,"value":27},{"type":30,"tagName":131,"properties":4236,"children":4237,"position":4258},{},[4238,4252],{"type":30,"tagName":45,"properties":4239,"children":4240,"position":4249},{},[4241],{"type":26,"value":4242,"position":4243},"core-concepts/core-variables.md",{"start":4244,"end":4247},{"line":4245,"column":4124,"offset":4246},250,10141,{"line":4245,"column":301,"offset":4248},10174,{"start":4250,"end":4251},{"line":4245,"column":4124,"offset":4246},{"line":4245,"column":301,"offset":4248},{"type":26,"value":4253,"position":4254},": what to keep between bars and how.",{"start":4255,"end":4256},{"line":4245,"column":301,"offset":4248},{"line":4245,"column":42,"offset":4257},10210,{"start":4259,"end":4261},{"line":4245,"column":20,"offset":4260},10139,{"line":4245,"column":42,"offset":4257},{"type":26,"value":27},{"start":4264,"end":4265},{"line":4123,"column":20,"offset":4140},{"line":4245,"column":42,"offset":4257},{"quirksMode":4267},false,{"start":4269,"end":4270},{"line":20,"column":20,"offset":21},{"line":4271,"column":20,"offset":4272},251,10211,1790157136495]