[{"data":1,"prerenderedAt":4256},["ShallowReactive",2],{"wrun-open-editor-url":3,"indicators:functions/publishing":4},"https://openmarket.xyz/chart/#wrun-open=v1",{"slug":5,"filePath":6,"frontmatter":7,"rawMarkdown":12,"tree":13},"functions/publishing","functions/publishing.md",{"title":8,"description":9,"order":10,"section":11},"Publishing","Publishing turns the wrun indicator in your editor into a versioned package on the OpenMarket registry, under your username, that you, the people you invite…",60,"functions","---\ntitle: \"Publishing\"\ndescription: \"Publishing turns the wrun indicator in your editor into a versioned package on the OpenMarket registry, under your username, that you, the people you invite…\"\norder: 60\nsection: \"functions\"\n---\n\n\u003C!-- source: docs/indicators/functions/publishing.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Publishing\n\nPublishing turns the wrun indicator in your editor into a versioned package on\nthe OpenMarket registry, under your username, that you, the people you\ninvite, or everyone can add to a chart. In the editor, **Publish** opens\nthe **Publish Indicator** dialog once the current code runs with no errors\n(until then the editor says \"Publish is available once the Indicator has\nno errors\"); you need to be signed in, and the draft is saved first. Whether readers get the code, a compiled module, or neither is\nthe dialog's **Code** choice, and it also decides where the indicator runs:\non OpenMarket's servers, or in each person's browser. Publishing is also how\ncode is reused between indicators: there is no import between them\n([Reuse and libraries](#reuse-and-libraries)). Who can use it, inviting\npeople and keeping a member list in sync from your own site are the\n[Sharing](../sharing/overview.md) section.\n\n## The Publish Indicator dialog\n\n```text\nPublish Indicator\n  Name            @yourname/ followed by the name: lowercase letters, digits and dashes\n  Version         0.1.0 on the first release; Patch, Minor or Major after that\n  What changed    one line people read before they update (from the second version)\n  Who can use it  Everyone (Listed on OpenMarket on or off), Invite only, Just me\n  Code            Protected, Compiled, Open source\n  Description     what this Indicator shows\n  Cover           a picture of this pane, taken now\n```\n\n- **Name.** The scope is your OpenMarket username, lowercased, and the\n  dialog sets it in front of the name; you type only the name part. After\n  the first publish the name is read-only: a rename is a new indicator.\n  The name shown in lists is the editor tab's title.\n- **Version.** The first release is always 0.1.0. Every later publish is\n  **Publish a new version**: pick **Patch**, **Minor** or **Major** (the\n  dialog starts on the next patch). A published version never changes, so\n  revising an indicator means publishing the next version.\n- **What changed.** From the second version, one line of up to 280\n  characters that people read before they update.\n- **Description.** What the indicator shows, prefilled from the draft.\n- **Cover.** When the draft is on the active chart, publishing takes a\n  picture of its pane and uses it as the package's cover. There is no\n  picker; without a picture the registry shows a stock one.\n\n![The Publish Indicator dialog on a first publish: the name after the scope, the 0.1.0 line, Who can use it with Invite only and Just me greyed without a direct session, Code, Description, Cancel and Publish](/wrun/images/publish-dialog.png)\n\n- The scope (`@yourname/`) is fixed in front of the name field; the name\n  is prefilled from the tab's title.\n- \"Version 0.1.0, the first release\" replaces the version chips until the\n  second publish.\n- **Everyone** is on with **Listed on OpenMarket**; **Invite only** and\n  **Just me** are greyed here because this session was not a direct one.\n- **Code** shows the current choice, with its one-line meaning under the\n  row.\n\nWith a direct OpenMarket session the dialog publishes as you on the spot\n(\"Publishing directly as @yourname: no popup.\"). Otherwise it opens a\nsign-in window that finishes by itself; if the browser blocks it, the\ndialog says \"The publish window was blocked. Allow popups for this site and\ntry again.\" A refusal from the registry, such as a version that already\nexists, reads \"Publish failed:\" followed by the registry's reason.\n\n## Who can use it\n\n**Who can use it** picks **Everyone**, **Invite only** or **Just me**. A\nnew publish starts on **Everyone**, listed. Invite only and Just me need a\ndirect OpenMarket session; without one they are greyed out. You can change\nwho can use a published indicator at any time without publishing a new\nversion.\n\nWhat each choice means, how to invite people, and how to keep a member\nlist in sync from your own site: [Sharing](../sharing/overview.md).\n\n## Code: who reads it and where it runs\n\n| Choice | What the dialog says | Who gets what |\n| --- | --- | --- |\n| **Protected** | Runs on OpenMarket servers. Your code never leaves them: nobody can download, read or copy it. | the chart shows the result; nothing of yours downloads |\n| **Compiled** | Runs in each person's browser. They get a compiled module, never your source. | everyone with access downloads the compiled module, and a downloaded module can be copied |\n| **Open source** | Anyone who can use it can read the code and fork it. | everyone with access gets the code, in each person's browser |\n\n- The row opens the three choices; the tick marks the current one.\n- The sentence under the row changes with the choice and says who gets\n  the code and where the indicator runs.\n- **Invite only** starts on **Protected**: the choice for anything you\n  sell. Only Protected keeps the code on OpenMarket's servers; a Compiled\n  module is downloaded by everyone with access and can be copied. Invite\n  only greys out **Open source** (\"Invite only keeps the code private.\").\n\nA **Protected** indicator is marked Protected in the Indicators dialog.\nOpenMarket's servers compute it over the chart's candles and stream the\nresult to the chart; its settings dialog is the file's own (a source,\ntimeframe or symbol setting keeps its declared default there for now, and\nthere is no Style page), and it cannot be forked. In the editor, once its\ncurrent version is published, you can run the published indicator in the\ncloud instead of in your browser. Protected is free to run for your\ncommunity within fair use ([Fair use](../sharing/overview.md#fair-use)).\nOpen source code is capped at 256 KB.\n\nProtected is set at the first publish and cannot change later. A name\nfirst published as Compiled or Open source stays in the browser, and a\nname first published as Protected stays on OpenMarket's servers; Compiled\nand Open source can alternate from one version to the next. To move an\nindicator to the other side, publish it under a new name.\n\n## After publishing\n\n- **Find it.** Published wrun indicators are in the chart's **Indicators**\n  dialog, on its **Indicators** tab: **OpenMarket** (the built-in and\n  official indicators), **Community**, and **Mine** (yours, drafts\n  included, when you are signed in), with indicators others invited you to\n  under **Shared with you**. The chart's search finds them too.\n- **Add it.** Add a row, or open it and press **Apply**. The overlay keeps\n  the exact version it was added at and reloads that version, so a newer\n  publish never changes a chart that already carries the older one.\n- **Indicator page.** In the detail panel, **Indicator page** opens the\n  package's public page in a new tab.\n- **Fork.** On desktop, **Fork** copies an Open source indicator's code\n  into a new draft in your editor, and publishing the draft records\n  \"Forked from\" the original. A Compiled indicator has nothing to fork\n  (\"The author published this Indicator without its source, so there is\n  nothing to fork.\"), and a Protected indicator offers no Fork.\n- **Alerts.** A published indicator can carry alerts from the chart; a\n  draft cannot ([Alerts](alerts.md)).\n- **Invite people.** After an Invite only publish, **Invite people…** on\n  the receipt opens the indicator's People panel\n  ([Invite your community](../sharing/invite-your-community.md)).\n\n## Manage a published indicator\n\n**Manage Indicator**, on the indicator's page under **Mine** in the\nIndicators dialog, is the owner's place for removal. **Delete Indicator**\nremoves every version for good, and the name can never be used again. A\nchart that already carries it keeps an overlay that no longer loads and\nsays so on its legend.\n\nOn an Invite only indicator, **People · N** on the same page opens its\nPeople panel: the people with access, the invite link, imports and access\nkeys ([Sharing](../sharing/overview.md)).\n\n## Reuse and libraries\n\nSharing code between wrun indicators is publishing one: the unit of reuse on\nOpenMarket is a whole indicator, `@yourname/name`, that people add to\ntheir charts, and an Open source one can be forked into a new draft in\nyour editor. There is no source import between indicators, and no\n`import \"@scope/lib\"` from another indicator's source. Inside one\nindicator, shared code is ordinary AssemblyScript in the same file: an\nindicator is one file.\n\n### Shared code in the one file\n\nPut functions, classes, and constants in the editor tab beside the\ndeclarations and `onBar()`. One file per indicator: the kit's classes\nand functions and the readers and writers Run generates from your\ndeclarations are simply there, with nothing to import, and there is no\nsecond file to import from (a second source file is refused: \"one file\nper indicator for now: move src/helpers.ts into src/indicator.ts\").\n\nA set of normalization helpers, in the indicator that uses them, which\nowns the data, the TA objects, and the declarations, beside the kit's\nown `Sma` and `Stdev`:\n\n```typescript\nparam(\"period\", 20, { min: 2, max: 400 });\noutput(\"z\", line, lower, { color: \"#4f8cff\", description: \"Z-score of the close\" });\noutput(\"regime\", line, lower, { color: \"#f59e0b\", description: \"+1 stretched up, -1 down, 0 inside the band\" });\n\n// The shared logic: plain functions and a class, no declarations.\nfunction zscore(sample: f64, mean: f64, dev: f64): f64 {\n  if (dev == 0.0) return 0.0;\n  return (sample - mean) / dev;\n}\n\n// +1 stretched up, -1 stretched down, 0 neutral.\nfunction regime(z: f64, hi: f64, lo: f64): f64 {\n  if (z > hi) return 1.0;\n  if (z \u003C lo) return -1.0;\n  return 0.0;\n}\n\nclass Band {\n  top: f64;\n  bottom: f64;\n\n  constructor(top: f64, bottom: f64) {\n    this.top = top;\n    this.bottom = bottom;\n  }\n\n  contains(price: f64): bool {\n    return price \u003C= this.top && price >= this.bottom;\n  }\n}\n\nlet sma = new Sma(20);\nlet stdev = new Stdev(20);\n\nfunction onStart(): void {\n  sma = new Sma(i32(p_period()));\n  stdev = new Stdev(i32(p_period()));\n}\n\nfunction onBar(): void {\n  const close = bar.close();\n  const mean = sma.update(close);\n  const dev = stdev.update(close);\n  const z = zscore(close, mean, dev);\n  const band = new Band(mean + dev, mean - dev);\n  if (isNaN(mean) || isNaN(dev)) return;\n  out_z(z);\n  out_regime(band.contains(z) ? 0.0 : regime(z, 2.0, -2.0));\n}\n```\n\nIn the editor, open a **New indicator** tab, paste it in, and press\n**Run**: it builds like any other indicator. `Band` is a class the\nindicator constructs; a function is a function everywhere in the file,\nand there are no placement rules.\n\nThe `new Band(...)` on every bar allocates, and the module's runtime\nnever frees; keep one `Band` and update its fields when the history is\nlong ([Collections](../core-concepts/collections.md)).\n\n### Reuse across indicators\n\nWhat sharing code between indicators looks like on the chart:\n\n| You want | wrun form |\n| --- | --- |\n| use another indicator's functions | copy them into your tab, or add that indicator to the chart beside yours as its own overlay |\n| a shared type | a class in your tab |\n| reuse a series another indicator computed | not on the chart: each indicator runs its own module and cannot read another's outputs, so compute the series in the consumer |\n| a draft that resolves live in the editor | the editor builds the current source as you type, and **Run** puts it on the chart |\n| publish an immutable version | **Publish** in the editor; a published version never changes ([The Publish Indicator dialog](#the-publish-indicator-dialog)) |\n| pin an exact version | a chart keeps the exact version it added and reloads that version ([After publishing](#after-publishing)) |\n| start from someone else's code | **Fork** (on desktop) copies an Open source indicator's code into a new draft in your editor ([After publishing](#after-publishing)) |\n\n## Good to know\n\n- Official indicators publish under `@om-core`: they list under\n  **OpenMarket** with an **Official** tag.\n- The dialog has no price. Paid indicators show their price in the\n  listing and cannot be added from the chart.\n- On CME markets, community indicators and drafts cannot read CME data;\n  official indicators can.\n- The chart publishes to the OpenMarket registry; there is no other\n  registry to choose.\n",{"type":14,"children":15,"data":4249,"position":4251},"root",[16,26,29,30,169,170,188,189,276,277,539,540,558,559,739,740,755,756,771,772,876,877,910,911,926,928,1191,1192,1300,1301,1356,1357,1372,1373,1388,1389,1823,1824,1839,1840,1908,1909,1961,1962,1975,1976,2029,2030,2046,2047,2081,2082,2133,2134,3497,3498,3573,3574,3645,3646,3661,3662,3676,3678,4100,4101,4116,4117],{"type":17,"value":18,"position":19},"comment"," source: docs/indicators/functions/publishing.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit ",{"start":20,"end":23},{"line":21,"column":21,"offset":22},1,0,{"line":21,"column":24,"offset":25},127,126,{"type":27,"value":28},"text","\n",{"type":27,"value":28},{"type":31,"tagName":32,"properties":33,"children":34,"position":166},"element","p",{},[35,45,63,70,86,94,111,118,136,142,159],{"type":27,"value":36,"position":37},"Publishing turns the wrun indicator in your editor into a versioned package on\nthe OpenMarket registry, under your username, that you, the people you\ninvite, or everyone can add to a chart. In the editor, ",{"start":38,"end":41},{"line":39,"column":21,"offset":40},5,142,{"line":42,"column":43,"offset":44},7,56,347,{"type":31,"tagName":46,"properties":47,"children":48,"position":58},"strong",{},[49],{"type":27,"value":50,"position":51},"Publish",{"start":52,"end":55},{"line":42,"column":53,"offset":54},58,349,{"line":42,"column":56,"offset":57},65,356,{"start":59,"end":60},{"line":42,"column":43,"offset":44},{"line":42,"column":61,"offset":62},67,358,{"type":27,"value":64,"position":65}," opens\nthe ",{"start":66,"end":67},{"line":42,"column":61,"offset":62},{"line":68,"column":39,"offset":69},8,369,{"type":31,"tagName":46,"properties":71,"children":72,"position":81},{},[73],{"type":27,"value":74,"position":75},"Publish Indicator",{"start":76,"end":78},{"line":68,"column":42,"offset":77},371,{"line":68,"column":79,"offset":80},24,388,{"start":82,"end":83},{"line":68,"column":39,"offset":69},{"line":68,"column":84,"offset":85},26,390,{"type":27,"value":87,"position":88}," dialog once the current code runs with no errors\n(until then the editor says \"Publish is available once the Indicator has\nno errors\"); you need to be signed in, and the draft is saved first. Whether readers get the code, a compiled module, or neither is\nthe dialog's ",{"start":89,"end":90},{"line":68,"column":84,"offset":85},{"line":91,"column":92,"offset":93},11,14,658,{"type":31,"tagName":46,"properties":95,"children":96,"position":106},{},[97],{"type":27,"value":98,"position":99},"Code",{"start":100,"end":103},{"line":91,"column":101,"offset":102},16,660,{"line":91,"column":104,"offset":105},20,664,{"start":107,"end":108},{"line":91,"column":92,"offset":93},{"line":91,"column":109,"offset":110},22,666,{"type":27,"value":112,"position":113}," choice, and it also decides where the indicator runs:\non OpenMarket's servers, or in each person's browser. Publishing is also how\ncode is reused between indicators: there is no import between them\n(",{"start":114,"end":115},{"line":91,"column":109,"offset":110},{"line":92,"column":116,"offset":117},2,866,{"type":31,"tagName":119,"properties":120,"children":122,"position":131},"a",{"href":121},"#reuse-and-libraries",[123],{"type":27,"value":124,"position":125},"Reuse and libraries",{"start":126,"end":129},{"line":92,"column":127,"offset":128},3,867,{"line":92,"column":109,"offset":130},886,{"start":132,"end":133},{"line":92,"column":116,"offset":117},{"line":92,"column":134,"offset":135},45,909,{"type":27,"value":137,"position":138},"). Who can use it, inviting\npeople and keeping a member list in sync from your own site are the\n",{"start":139,"end":140},{"line":92,"column":134,"offset":135},{"line":101,"column":21,"offset":141},1005,{"type":31,"tagName":119,"properties":143,"children":145,"position":154},{"href":144},"../sharing/overview.md",[146],{"type":27,"value":147,"position":148},"Sharing",{"start":149,"end":151},{"line":101,"column":116,"offset":150},1006,{"line":101,"column":152,"offset":153},9,1013,{"start":155,"end":156},{"line":101,"column":21,"offset":141},{"line":101,"column":157,"offset":158},34,1038,{"type":27,"value":160,"position":161}," section.",{"start":162,"end":163},{"line":101,"column":157,"offset":158},{"line":101,"column":164,"offset":165},43,1047,{"start":167,"end":168},{"line":39,"column":21,"offset":40},{"line":101,"column":164,"offset":165},{"type":27,"value":28},{"type":31,"tagName":171,"properties":172,"children":173,"position":184},"h2",{},[174],{"type":27,"value":175,"position":176},"The Publish Indicator dialog",{"start":177,"end":181},{"line":178,"column":179,"offset":180},18,4,1052,{"line":178,"column":182,"offset":183},32,1080,{"start":185,"end":187},{"line":178,"column":21,"offset":186},1049,{"line":178,"column":182,"offset":183},{"type":27,"value":28},{"type":14,"children":190},[191],{"type":31,"tagName":192,"properties":193,"children":197,"data":-1},"pre",{"class":194,"style":195,"tabindex":196},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0",[198],{"type":31,"tagName":199,"properties":200,"children":203},"code",{"class":201},[202],"language-text",[204,213,214,222,223,231,232,240,241,249,250,258,259,267,268],{"type":31,"tagName":205,"properties":206,"children":208},"span",{"class":207},"line",[209],{"type":31,"tagName":205,"properties":210,"children":211},{},[212],{"type":27,"value":74},{"type":27,"value":28},{"type":31,"tagName":205,"properties":215,"children":216},{"class":207},[217],{"type":31,"tagName":205,"properties":218,"children":219},{},[220],{"type":27,"value":221},"  Name            @yourname/ followed by the name: lowercase letters, digits and dashes",{"type":27,"value":28},{"type":31,"tagName":205,"properties":224,"children":225},{"class":207},[226],{"type":31,"tagName":205,"properties":227,"children":228},{},[229],{"type":27,"value":230},"  Version         0.1.0 on the first release; Patch, Minor or Major after that",{"type":27,"value":28},{"type":31,"tagName":205,"properties":233,"children":234},{"class":207},[235],{"type":31,"tagName":205,"properties":236,"children":237},{},[238],{"type":27,"value":239},"  What changed    one line people read before they update (from the second version)",{"type":27,"value":28},{"type":31,"tagName":205,"properties":242,"children":243},{"class":207},[244],{"type":31,"tagName":205,"properties":245,"children":246},{},[247],{"type":27,"value":248},"  Who can use it  Everyone (Listed on OpenMarket on or off), Invite only, Just me",{"type":27,"value":28},{"type":31,"tagName":205,"properties":251,"children":252},{"class":207},[253],{"type":31,"tagName":205,"properties":254,"children":255},{},[256],{"type":27,"value":257},"  Code            Protected, Compiled, Open source",{"type":27,"value":28},{"type":31,"tagName":205,"properties":260,"children":261},{"class":207},[262],{"type":31,"tagName":205,"properties":263,"children":264},{},[265],{"type":27,"value":266},"  Description     what this Indicator shows",{"type":27,"value":28},{"type":31,"tagName":205,"properties":269,"children":270},{"class":207},[271],{"type":31,"tagName":205,"properties":272,"children":273},{},[274],{"type":27,"value":275},"  Cover           a picture of this pane, taken now",{"type":27,"value":28},{"type":31,"tagName":278,"properties":279,"children":280,"position":536},"ul",{},[281,282,315,316,441,442,473,474,506,507,535],{"type":27,"value":28},{"type":31,"tagName":283,"properties":284,"children":285,"position":311},"li",{},[286,304],{"type":31,"tagName":46,"properties":287,"children":288,"position":298},{},[289],{"type":27,"value":290,"position":291},"Name.",{"start":292,"end":295},{"line":293,"column":39,"offset":294},31,1597,{"line":293,"column":296,"offset":297},10,1602,{"start":299,"end":301},{"line":293,"column":127,"offset":300},1595,{"line":293,"column":302,"offset":303},12,1604,{"type":27,"value":305,"position":306}," The scope is your OpenMarket username, lowercased, and the\ndialog sets it in front of the name; you type only the name part. After\nthe first publish the name is read-only: a rename is a new indicator.\nThe name shown in lists is the editor tab's title.",{"start":307,"end":308},{"line":293,"column":302,"offset":303},{"line":157,"column":309,"offset":310},53,1862,{"start":312,"end":314},{"line":293,"column":21,"offset":313},1593,{"line":157,"column":309,"offset":310},{"type":27,"value":28},{"type":31,"tagName":283,"properties":317,"children":318,"position":437},{},[319,337,344,360,366,383,390,406,413,430],{"type":31,"tagName":46,"properties":320,"children":321,"position":331},{},[322],{"type":27,"value":323,"position":324},"Version.",{"start":325,"end":328},{"line":326,"column":39,"offset":327},35,1867,{"line":326,"column":329,"offset":330},13,1875,{"start":332,"end":334},{"line":326,"column":127,"offset":333},1865,{"line":326,"column":335,"offset":336},15,1877,{"type":27,"value":338,"position":339}," The first release is always 0.1.0. Every later publish is\n",{"start":340,"end":341},{"line":326,"column":335,"offset":336},{"line":342,"column":21,"offset":343},36,1936,{"type":31,"tagName":46,"properties":345,"children":346,"position":354},{},[347],{"type":27,"value":348,"position":349},"Publish a new version",{"start":350,"end":352},{"line":342,"column":39,"offset":351},1940,{"line":342,"column":84,"offset":353},1961,{"start":355,"end":357},{"line":342,"column":127,"offset":356},1938,{"line":342,"column":358,"offset":359},28,1963,{"type":27,"value":361,"position":362},": pick ",{"start":363,"end":364},{"line":342,"column":358,"offset":359},{"line":342,"column":326,"offset":365},1970,{"type":31,"tagName":46,"properties":367,"children":368,"position":378},{},[369],{"type":27,"value":370,"position":371},"Patch",{"start":372,"end":375},{"line":342,"column":373,"offset":374},37,1972,{"line":342,"column":376,"offset":377},42,1977,{"start":379,"end":380},{"line":342,"column":326,"offset":365},{"line":342,"column":381,"offset":382},44,1979,{"type":27,"value":384,"position":385},", ",{"start":386,"end":387},{"line":342,"column":381,"offset":382},{"line":342,"column":388,"offset":389},46,1981,{"type":31,"tagName":46,"properties":391,"children":392,"position":401},{},[393],{"type":27,"value":394,"position":395},"Minor",{"start":396,"end":399},{"line":342,"column":397,"offset":398},48,1983,{"line":342,"column":309,"offset":400},1988,{"start":402,"end":403},{"line":342,"column":388,"offset":389},{"line":342,"column":404,"offset":405},55,1990,{"type":27,"value":407,"position":408}," or ",{"start":409,"end":410},{"line":342,"column":404,"offset":405},{"line":342,"column":411,"offset":412},59,1994,{"type":31,"tagName":46,"properties":414,"children":415,"position":425},{},[416],{"type":27,"value":417,"position":418},"Major",{"start":419,"end":422},{"line":342,"column":420,"offset":421},61,1996,{"line":342,"column":423,"offset":424},66,2001,{"start":426,"end":427},{"line":342,"column":411,"offset":412},{"line":342,"column":428,"offset":429},68,2003,{"type":27,"value":431,"position":432}," (the\ndialog starts on the next patch). A published version never changes, so\nrevising an indicator means publishing the next version.",{"start":433,"end":434},{"line":342,"column":428,"offset":429},{"line":435,"column":411,"offset":436},38,2141,{"start":438,"end":440},{"line":326,"column":21,"offset":439},1863,{"line":435,"column":411,"offset":436},{"type":27,"value":28},{"type":31,"tagName":283,"properties":443,"children":444,"position":469},{},[445,461],{"type":31,"tagName":46,"properties":446,"children":447,"position":456},{},[448],{"type":27,"value":449,"position":450},"What changed.",{"start":451,"end":454},{"line":452,"column":39,"offset":453},39,2146,{"line":452,"column":178,"offset":455},2159,{"start":457,"end":459},{"line":452,"column":127,"offset":458},2144,{"line":452,"column":104,"offset":460},2161,{"type":27,"value":462,"position":463}," From the second version, one line of up to 280\ncharacters that people read before they update.",{"start":464,"end":465},{"line":452,"column":104,"offset":460},{"line":466,"column":467,"offset":468},40,50,2258,{"start":470,"end":472},{"line":452,"column":21,"offset":471},2142,{"line":466,"column":467,"offset":468},{"type":27,"value":28},{"type":31,"tagName":283,"properties":475,"children":476,"position":502},{},[477,495],{"type":31,"tagName":46,"properties":478,"children":479,"position":489},{},[480],{"type":27,"value":481,"position":482},"Description.",{"start":483,"end":486},{"line":484,"column":39,"offset":485},41,2263,{"line":484,"column":487,"offset":488},17,2275,{"start":490,"end":492},{"line":484,"column":127,"offset":491},2261,{"line":484,"column":493,"offset":494},19,2277,{"type":27,"value":496,"position":497}," What the indicator shows, prefilled from the draft.",{"start":498,"end":499},{"line":484,"column":493,"offset":494},{"line":484,"column":500,"offset":501},71,2329,{"start":503,"end":505},{"line":484,"column":21,"offset":504},2259,{"line":484,"column":500,"offset":501},{"type":27,"value":28},{"type":31,"tagName":283,"properties":508,"children":509,"position":531},{},[510,525],{"type":31,"tagName":46,"properties":511,"children":512,"position":520},{},[513],{"type":27,"value":514,"position":515},"Cover.",{"start":516,"end":518},{"line":376,"column":39,"offset":517},2334,{"line":376,"column":91,"offset":519},2340,{"start":521,"end":523},{"line":376,"column":127,"offset":522},2332,{"line":376,"column":329,"offset":524},2342,{"type":27,"value":526,"position":527}," When the draft is on the active chart, publishing takes a\npicture of its pane and uses it as the package's cover. There is no\npicker; without a picture the registry shows a stock one.",{"start":528,"end":529},{"line":376,"column":329,"offset":524},{"line":381,"column":10,"offset":530},2530,{"start":532,"end":534},{"line":376,"column":21,"offset":533},2330,{"line":381,"column":10,"offset":530},{"type":27,"value":28},{"start":537,"end":538},{"line":293,"column":21,"offset":313},{"line":381,"column":10,"offset":530},{"type":27,"value":28},{"type":31,"tagName":32,"properties":541,"children":542,"position":555},{},[543],{"type":31,"tagName":544,"properties":545,"children":548,"position":549},"img",{"src":546,"alt":547},"/wrun/images/publish-dialog.png","The Publish Indicator dialog on a first publish: the name after the scope, the 0.1.0 line, Who can use it with Invite only and Just me greyed without a direct session, Code, Description, Cancel and Publish",[],{"start":550,"end":552},{"line":388,"column":21,"offset":551},2532,{"line":388,"column":553,"offset":554},242,2773,{"start":556,"end":557},{"line":388,"column":21,"offset":551},{"line":388,"column":553,"offset":554},{"type":27,"value":28},{"type":31,"tagName":278,"properties":560,"children":561,"position":736},{},[562,563,596,597,612,613,706,707,735],{"type":27,"value":28},{"type":31,"tagName":283,"properties":564,"children":565,"position":592},{},[566,573,585],{"type":27,"value":567,"position":568},"The scope (",{"start":569,"end":571},{"line":397,"column":127,"offset":570},2777,{"line":397,"column":92,"offset":572},2788,{"type":31,"tagName":199,"properties":574,"children":575,"position":582},{},[576],{"type":27,"value":577,"position":578},"@yourname/",{"start":579,"end":580},{"line":397,"column":92,"offset":572},{"line":397,"column":84,"offset":581},2800,{"start":583,"end":584},{"line":397,"column":92,"offset":572},{"line":397,"column":84,"offset":581},{"type":27,"value":586,"position":587},") is fixed in front of the name field; the name\nis prefilled from the tab's title.",{"start":588,"end":589},{"line":397,"column":84,"offset":581},{"line":590,"column":373,"offset":591},49,2884,{"start":593,"end":595},{"line":397,"column":21,"offset":594},2775,{"line":590,"column":373,"offset":591},{"type":27,"value":28},{"type":31,"tagName":283,"properties":598,"children":599,"position":608},{},[600],{"type":27,"value":601,"position":602},"\"Version 0.1.0, the first release\" replaces the version chips until the\nsecond publish.",{"start":603,"end":605},{"line":467,"column":127,"offset":604},2887,{"line":606,"column":178,"offset":607},51,2976,{"start":609,"end":611},{"line":467,"column":21,"offset":610},2885,{"line":606,"column":178,"offset":607},{"type":27,"value":28},{"type":31,"tagName":283,"properties":614,"children":615,"position":702},{},[616,632,639,654,660,674,680,695],{"type":31,"tagName":46,"properties":617,"children":618,"position":627},{},[619],{"type":27,"value":620,"position":621},"Everyone",{"start":622,"end":625},{"line":623,"column":39,"offset":624},52,2981,{"line":623,"column":329,"offset":626},2989,{"start":628,"end":630},{"line":623,"column":127,"offset":629},2979,{"line":623,"column":335,"offset":631},2991,{"type":27,"value":633,"position":634}," is on with ",{"start":635,"end":636},{"line":623,"column":335,"offset":631},{"line":623,"column":637,"offset":638},27,3003,{"type":31,"tagName":46,"properties":640,"children":641,"position":650},{},[642],{"type":27,"value":643,"position":644},"Listed on OpenMarket",{"start":645,"end":648},{"line":623,"column":646,"offset":647},29,3005,{"line":623,"column":590,"offset":649},3025,{"start":651,"end":652},{"line":623,"column":637,"offset":638},{"line":623,"column":606,"offset":653},3027,{"type":27,"value":655,"position":656},"; ",{"start":657,"end":658},{"line":623,"column":606,"offset":653},{"line":623,"column":309,"offset":659},3029,{"type":31,"tagName":46,"properties":661,"children":662,"position":670},{},[663],{"type":27,"value":664,"position":665},"Invite only",{"start":666,"end":668},{"line":623,"column":404,"offset":667},3031,{"line":623,"column":423,"offset":669},3042,{"start":671,"end":672},{"line":623,"column":309,"offset":659},{"line":623,"column":428,"offset":673},3044,{"type":27,"value":675,"position":676}," and\n",{"start":677,"end":678},{"line":623,"column":428,"offset":673},{"line":309,"column":21,"offset":679},3049,{"type":31,"tagName":46,"properties":681,"children":682,"position":690},{},[683],{"type":27,"value":684,"position":685},"Just me",{"start":686,"end":688},{"line":309,"column":39,"offset":687},3053,{"line":309,"column":302,"offset":689},3060,{"start":691,"end":693},{"line":309,"column":127,"offset":692},3051,{"line":309,"column":92,"offset":694},3062,{"type":27,"value":696,"position":697}," are greyed here because this session was not a direct one.",{"start":698,"end":699},{"line":309,"column":92,"offset":694},{"line":309,"column":700,"offset":701},73,3121,{"start":703,"end":705},{"line":623,"column":21,"offset":704},2977,{"line":309,"column":700,"offset":701},{"type":27,"value":28},{"type":31,"tagName":283,"properties":708,"children":709,"position":731},{},[710,725],{"type":31,"tagName":46,"properties":711,"children":712,"position":720},{},[713],{"type":27,"value":98,"position":714},{"start":715,"end":718},{"line":716,"column":39,"offset":717},54,3126,{"line":716,"column":152,"offset":719},3130,{"start":721,"end":723},{"line":716,"column":127,"offset":722},3124,{"line":716,"column":91,"offset":724},3132,{"type":27,"value":726,"position":727}," shows the current choice, with its one-line meaning under the\nrow.",{"start":728,"end":729},{"line":716,"column":91,"offset":724},{"line":404,"column":42,"offset":730},3201,{"start":732,"end":734},{"line":716,"column":21,"offset":733},3122,{"line":404,"column":42,"offset":730},{"type":27,"value":28},{"start":737,"end":738},{"line":397,"column":21,"offset":594},{"line":404,"column":42,"offset":730},{"type":27,"value":28},{"type":31,"tagName":32,"properties":741,"children":742,"position":752},{},[743],{"type":27,"value":744,"position":745},"With a direct OpenMarket session the dialog publishes as you on the spot\n(\"Publishing directly as @yourname: no popup.\"). Otherwise it opens a\nsign-in window that finishes by itself; if the browser blocks it, the\ndialog says \"The publish window was blocked. Allow popups for this site and\ntry again.\" A refusal from the registry, such as a version that already\nexists, reads \"Publish failed:\" followed by the registry's reason.",{"start":746,"end":749},{"line":747,"column":21,"offset":748},57,3203,{"line":750,"column":61,"offset":751},62,3630,{"start":753,"end":754},{"line":747,"column":21,"offset":748},{"line":750,"column":61,"offset":751},{"type":27,"value":28},{"type":31,"tagName":171,"properties":757,"children":758,"position":767},{},[759],{"type":27,"value":760,"position":761},"Who can use it",{"start":762,"end":765},{"line":763,"column":179,"offset":764},64,3635,{"line":763,"column":178,"offset":766},3649,{"start":768,"end":770},{"line":763,"column":21,"offset":769},3632,{"line":763,"column":178,"offset":766},{"type":27,"value":28},{"type":31,"tagName":32,"properties":773,"children":774,"position":873},{},[775,789,795,808,813,826,831,845,852,867],{"type":31,"tagName":46,"properties":776,"children":777,"position":784},{},[778],{"type":27,"value":760,"position":779},{"start":780,"end":782},{"line":423,"column":127,"offset":781},3653,{"line":423,"column":487,"offset":783},3667,{"start":785,"end":787},{"line":423,"column":21,"offset":786},3651,{"line":423,"column":493,"offset":788},3669,{"type":27,"value":790,"position":791}," picks ",{"start":792,"end":793},{"line":423,"column":493,"offset":788},{"line":423,"column":84,"offset":794},3676,{"type":31,"tagName":46,"properties":796,"children":797,"position":804},{},[798],{"type":27,"value":620,"position":799},{"start":800,"end":802},{"line":423,"column":358,"offset":801},3678,{"line":423,"column":342,"offset":803},3686,{"start":805,"end":806},{"line":423,"column":84,"offset":794},{"line":423,"column":435,"offset":807},3688,{"type":27,"value":384,"position":809},{"start":810,"end":811},{"line":423,"column":435,"offset":807},{"line":423,"column":466,"offset":812},3690,{"type":31,"tagName":46,"properties":814,"children":815,"position":822},{},[816],{"type":27,"value":664,"position":817},{"start":818,"end":820},{"line":423,"column":376,"offset":819},3692,{"line":423,"column":309,"offset":821},3703,{"start":823,"end":824},{"line":423,"column":466,"offset":812},{"line":423,"column":404,"offset":825},3705,{"type":27,"value":407,"position":827},{"start":828,"end":829},{"line":423,"column":404,"offset":825},{"line":423,"column":411,"offset":830},3709,{"type":31,"tagName":46,"properties":832,"children":833,"position":840},{},[834],{"type":27,"value":684,"position":835},{"start":836,"end":838},{"line":423,"column":420,"offset":837},3711,{"line":423,"column":428,"offset":839},3718,{"start":841,"end":842},{"line":423,"column":411,"offset":830},{"line":423,"column":843,"offset":844},70,3720,{"type":27,"value":846,"position":847},". A\nnew publish starts on ",{"start":848,"end":849},{"line":423,"column":843,"offset":844},{"line":61,"column":850,"offset":851},23,3746,{"type":31,"tagName":46,"properties":853,"children":854,"position":863},{},[855],{"type":27,"value":620,"position":856},{"start":857,"end":860},{"line":61,"column":858,"offset":859},25,3748,{"line":61,"column":861,"offset":862},33,3756,{"start":864,"end":865},{"line":61,"column":850,"offset":851},{"line":61,"column":326,"offset":866},3758,{"type":27,"value":868,"position":869},", listed. Invite only and Just me need a\ndirect OpenMarket session; without one they are greyed out. You can change\nwho can use a published indicator at any time without publishing a new\nversion.",{"start":870,"end":871},{"line":61,"column":326,"offset":866},{"line":843,"column":152,"offset":872},3953,{"start":874,"end":875},{"line":423,"column":21,"offset":786},{"line":843,"column":152,"offset":872},{"type":27,"value":28},{"type":31,"tagName":32,"properties":878,"children":879,"position":907},{},[880,888,901],{"type":27,"value":881,"position":882},"What each choice means, how to invite people, and how to keep a member\nlist in sync from your own site: ",{"start":883,"end":886},{"line":884,"column":21,"offset":885},72,3955,{"line":700,"column":157,"offset":887},4059,{"type":31,"tagName":119,"properties":889,"children":890,"position":897},{"href":144},[891],{"type":27,"value":147,"position":892},{"start":893,"end":895},{"line":700,"column":326,"offset":894},4060,{"line":700,"column":376,"offset":896},4067,{"start":898,"end":899},{"line":700,"column":157,"offset":887},{"line":700,"column":61,"offset":900},4092,{"type":27,"value":902,"position":903},".",{"start":904,"end":905},{"line":700,"column":61,"offset":900},{"line":700,"column":428,"offset":906},4093,{"start":908,"end":909},{"line":884,"column":21,"offset":885},{"line":700,"column":428,"offset":906},{"type":27,"value":28},{"type":31,"tagName":171,"properties":912,"children":913,"position":922},{},[914],{"type":27,"value":915,"position":916},"Code: who reads it and where it runs",{"start":917,"end":920},{"line":918,"column":179,"offset":919},75,4098,{"line":918,"column":466,"offset":921},4134,{"start":923,"end":925},{"line":918,"column":21,"offset":924},4095,{"line":918,"column":466,"offset":921},{"type":27,"value":927},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":31,"tagName":929,"properties":930,"children":931,"position":1188},"table",{},[932,991],{"type":31,"tagName":933,"properties":934,"children":935,"position":988},"thead",{},[936],{"type":31,"tagName":937,"properties":938,"children":939,"position":985},"tr",{},[940,957,971],{"type":31,"tagName":941,"properties":942,"children":943,"position":952},"th",{},[944],{"type":27,"value":945,"position":946},"Choice",{"start":947,"end":950},{"line":948,"column":127,"offset":949},77,4138,{"line":948,"column":152,"offset":951},4144,{"start":953,"end":955},{"line":948,"column":21,"offset":954},4136,{"line":948,"column":296,"offset":956},4145,{"type":31,"tagName":941,"properties":958,"children":959,"position":967},{},[960],{"type":27,"value":961,"position":962},"What the dialog says",{"start":963,"end":965},{"line":948,"column":302,"offset":964},4147,{"line":948,"column":182,"offset":966},4167,{"start":968,"end":969},{"line":948,"column":296,"offset":956},{"line":948,"column":861,"offset":970},4168,{"type":31,"tagName":941,"properties":972,"children":973,"position":981},{},[974],{"type":27,"value":975,"position":976},"Who gets what",{"start":977,"end":979},{"line":948,"column":326,"offset":978},4170,{"line":948,"column":397,"offset":980},4183,{"start":982,"end":983},{"line":948,"column":861,"offset":970},{"line":948,"column":467,"offset":984},4185,{"start":986,"end":987},{"line":948,"column":21,"offset":954},{"line":948,"column":467,"offset":984},{"start":989,"end":990},{"line":948,"column":21,"offset":954},{"line":948,"column":467,"offset":984},{"type":31,"tagName":992,"properties":993,"children":994,"position":1185},"tbody",{},[995,1059,1122],{"type":31,"tagName":937,"properties":996,"children":997,"position":1056},{},[998,1023,1039],{"type":31,"tagName":999,"properties":1000,"children":1001,"position":1018},"td",{},[1002],{"type":31,"tagName":46,"properties":1003,"children":1004,"position":1013},{},[1005],{"type":27,"value":1006,"position":1007},"Protected",{"start":1008,"end":1011},{"line":1009,"column":39,"offset":1010},79,4210,{"line":1009,"column":92,"offset":1012},4219,{"start":1014,"end":1016},{"line":1009,"column":127,"offset":1015},4208,{"line":1009,"column":101,"offset":1017},4221,{"start":1019,"end":1021},{"line":1009,"column":21,"offset":1020},4206,{"line":1009,"column":487,"offset":1022},4222,{"type":31,"tagName":999,"properties":1024,"children":1025,"position":1034},{},[1026],{"type":27,"value":1027,"position":1028},"Runs on OpenMarket servers. Your code never leaves them: nobody can download, read or copy it.",{"start":1029,"end":1031},{"line":1009,"column":493,"offset":1030},4224,{"line":1009,"column":1032,"offset":1033},113,4318,{"start":1035,"end":1036},{"line":1009,"column":487,"offset":1022},{"line":1009,"column":1037,"offset":1038},114,4319,{"type":31,"tagName":999,"properties":1040,"children":1041,"position":1051},{},[1042],{"type":27,"value":1043,"position":1044},"the chart shows the result; nothing of yours downloads",{"start":1045,"end":1048},{"line":1009,"column":1046,"offset":1047},116,4321,{"line":1009,"column":1049,"offset":1050},170,4375,{"start":1052,"end":1053},{"line":1009,"column":1037,"offset":1038},{"line":1009,"column":1054,"offset":1055},172,4377,{"start":1057,"end":1058},{"line":1009,"column":21,"offset":1020},{"line":1009,"column":1054,"offset":1055},{"type":31,"tagName":937,"properties":1060,"children":1061,"position":1119},{},[1062,1086,1102],{"type":31,"tagName":999,"properties":1063,"children":1064,"position":1081},{},[1065],{"type":31,"tagName":46,"properties":1066,"children":1067,"position":1076},{},[1068],{"type":27,"value":1069,"position":1070},"Compiled",{"start":1071,"end":1074},{"line":1072,"column":39,"offset":1073},80,4382,{"line":1072,"column":329,"offset":1075},4390,{"start":1077,"end":1079},{"line":1072,"column":127,"offset":1078},4380,{"line":1072,"column":335,"offset":1080},4392,{"start":1082,"end":1084},{"line":1072,"column":21,"offset":1083},4378,{"line":1072,"column":101,"offset":1085},4393,{"type":31,"tagName":999,"properties":1087,"children":1088,"position":1097},{},[1089],{"type":27,"value":1090,"position":1091},"Runs in each person's browser. They get a compiled module, never your source.",{"start":1092,"end":1094},{"line":1072,"column":178,"offset":1093},4395,{"line":1072,"column":1095,"offset":1096},95,4472,{"start":1098,"end":1099},{"line":1072,"column":101,"offset":1085},{"line":1072,"column":1100,"offset":1101},96,4473,{"type":31,"tagName":999,"properties":1103,"children":1104,"position":1114},{},[1105],{"type":27,"value":1106,"position":1107},"everyone with access downloads the compiled module, and a downloaded module can be copied",{"start":1108,"end":1111},{"line":1072,"column":1109,"offset":1110},98,4475,{"line":1072,"column":1112,"offset":1113},187,4564,{"start":1115,"end":1116},{"line":1072,"column":1100,"offset":1101},{"line":1072,"column":1117,"offset":1118},189,4566,{"start":1120,"end":1121},{"line":1072,"column":21,"offset":1083},{"line":1072,"column":1117,"offset":1118},{"type":31,"tagName":937,"properties":1123,"children":1124,"position":1182},{},[1125,1149,1165],{"type":31,"tagName":999,"properties":1126,"children":1127,"position":1144},{},[1128],{"type":31,"tagName":46,"properties":1129,"children":1130,"position":1139},{},[1131],{"type":27,"value":1132,"position":1133},"Open source",{"start":1134,"end":1137},{"line":1135,"column":39,"offset":1136},81,4571,{"line":1135,"column":101,"offset":1138},4582,{"start":1140,"end":1142},{"line":1135,"column":127,"offset":1141},4569,{"line":1135,"column":178,"offset":1143},4584,{"start":1145,"end":1147},{"line":1135,"column":21,"offset":1146},4567,{"line":1135,"column":493,"offset":1148},4585,{"type":31,"tagName":999,"properties":1150,"children":1151,"position":1160},{},[1152],{"type":27,"value":1153,"position":1154},"Anyone who can use it can read the code and fork it.",{"start":1155,"end":1158},{"line":1135,"column":1156,"offset":1157},21,4587,{"line":1135,"column":700,"offset":1159},4639,{"start":1161,"end":1162},{"line":1135,"column":493,"offset":1148},{"line":1135,"column":1163,"offset":1164},74,4640,{"type":31,"tagName":999,"properties":1166,"children":1167,"position":1177},{},[1168],{"type":27,"value":1169,"position":1170},"everyone with access gets the code, in each person's browser",{"start":1171,"end":1174},{"line":1135,"column":1172,"offset":1173},76,4642,{"line":1135,"column":1175,"offset":1176},136,4702,{"start":1178,"end":1179},{"line":1135,"column":1163,"offset":1164},{"line":1135,"column":1180,"offset":1181},138,4704,{"start":1183,"end":1184},{"line":1135,"column":21,"offset":1146},{"line":1135,"column":1180,"offset":1181},{"start":1186,"end":1187},{"line":1009,"column":21,"offset":1020},{"line":1135,"column":1180,"offset":1181},{"start":1189,"end":1190},{"line":948,"column":21,"offset":954},{"line":1135,"column":1180,"offset":1181},{"type":27,"value":28},{"type":31,"tagName":278,"properties":1193,"children":1194,"position":1297},{},[1195,1196,1211,1212,1228,1229,1296],{"type":27,"value":28},{"type":31,"tagName":283,"properties":1197,"children":1198,"position":1207},{},[1199],{"type":27,"value":1200,"position":1201},"The row opens the three choices; the tick marks the current one.",{"start":1202,"end":1205},{"line":1203,"column":127,"offset":1204},83,4708,{"line":1203,"column":61,"offset":1206},4772,{"start":1208,"end":1210},{"line":1203,"column":21,"offset":1209},4706,{"line":1203,"column":61,"offset":1206},{"type":27,"value":28},{"type":31,"tagName":283,"properties":1213,"children":1214,"position":1224},{},[1215],{"type":27,"value":1216,"position":1217},"The sentence under the row changes with the choice and says who gets\nthe code and where the indicator runs.",{"start":1218,"end":1221},{"line":1219,"column":127,"offset":1220},84,4775,{"line":1222,"column":484,"offset":1223},85,4884,{"start":1225,"end":1227},{"line":1219,"column":21,"offset":1226},4773,{"line":1222,"column":484,"offset":1223},{"type":27,"value":28},{"type":31,"tagName":283,"properties":1230,"children":1231,"position":1292},{},[1232,1247,1253,1266,1273,1286],{"type":31,"tagName":46,"properties":1233,"children":1234,"position":1242},{},[1235],{"type":27,"value":664,"position":1236},{"start":1237,"end":1240},{"line":1238,"column":39,"offset":1239},86,4889,{"line":1238,"column":101,"offset":1241},4900,{"start":1243,"end":1245},{"line":1238,"column":127,"offset":1244},4887,{"line":1238,"column":178,"offset":1246},4902,{"type":27,"value":1248,"position":1249}," starts on ",{"start":1250,"end":1251},{"line":1238,"column":178,"offset":1246},{"line":1238,"column":646,"offset":1252},4913,{"type":31,"tagName":46,"properties":1254,"children":1255,"position":1262},{},[1256],{"type":27,"value":1006,"position":1257},{"start":1258,"end":1260},{"line":1238,"column":293,"offset":1259},4915,{"line":1238,"column":466,"offset":1261},4924,{"start":1263,"end":1264},{"line":1238,"column":646,"offset":1252},{"line":1238,"column":376,"offset":1265},4926,{"type":27,"value":1267,"position":1268},": the choice for anything you\nsell. Only Protected keeps the code on OpenMarket's servers; a Compiled\nmodule is downloaded by everyone with access and can be copied. Invite\nonly greys out ",{"start":1269,"end":1270},{"line":1238,"column":376,"offset":1265},{"line":1271,"column":178,"offset":1272},89,5120,{"type":31,"tagName":46,"properties":1274,"children":1275,"position":1282},{},[1276],{"type":27,"value":1132,"position":1277},{"start":1278,"end":1280},{"line":1271,"column":104,"offset":1279},5122,{"line":1271,"column":293,"offset":1281},5133,{"start":1283,"end":1284},{"line":1271,"column":178,"offset":1272},{"line":1271,"column":861,"offset":1285},5135,{"type":27,"value":1287,"position":1288}," (\"Invite only keeps the code private.\").",{"start":1289,"end":1290},{"line":1271,"column":861,"offset":1285},{"line":1271,"column":1163,"offset":1291},5176,{"start":1293,"end":1295},{"line":1238,"column":21,"offset":1294},4885,{"line":1271,"column":1163,"offset":1291},{"type":27,"value":28},{"start":1298,"end":1299},{"line":1203,"column":21,"offset":1209},{"line":1271,"column":1163,"offset":1291},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1302,"children":1303,"position":1353},{},[1304,1312,1325,1331,1346],{"type":27,"value":1305,"position":1306},"A ",{"start":1307,"end":1310},{"line":1308,"column":21,"offset":1309},91,5178,{"line":1308,"column":127,"offset":1311},5180,{"type":31,"tagName":46,"properties":1313,"children":1314,"position":1321},{},[1315],{"type":27,"value":1006,"position":1316},{"start":1317,"end":1319},{"line":1308,"column":39,"offset":1318},5182,{"line":1308,"column":92,"offset":1320},5191,{"start":1322,"end":1323},{"line":1308,"column":127,"offset":1311},{"line":1308,"column":101,"offset":1324},5193,{"type":27,"value":1326,"position":1327}," indicator is marked Protected in the Indicators dialog.\nOpenMarket's servers compute it over the chart's candles and stream the\nresult to the chart; its settings dialog is the file's own (a source,\ntimeframe or symbol setting keeps its declared default there for now, and\nthere is no Style page), and it cannot be forked. In the editor, once its\ncurrent version is published, you can run the published indicator in the\ncloud instead of in your browser. Protected is free to run for your\ncommunity within fair use (",{"start":1328,"end":1329},{"line":1308,"column":101,"offset":1324},{"line":1109,"column":358,"offset":1330},5708,{"type":31,"tagName":119,"properties":1332,"children":1334,"position":1342},{"href":1333},"../sharing/overview.md#fair-use",[1335],{"type":27,"value":1336,"position":1337},"Fair use",{"start":1338,"end":1340},{"line":1109,"column":646,"offset":1339},5709,{"line":1109,"column":373,"offset":1341},5717,{"start":1343,"end":1344},{"line":1109,"column":358,"offset":1330},{"line":1109,"column":500,"offset":1345},5751,{"type":27,"value":1347,"position":1348},").\nOpen source code is capped at 256 KB.",{"start":1349,"end":1350},{"line":1109,"column":500,"offset":1345},{"line":1351,"column":435,"offset":1352},99,5791,{"start":1354,"end":1355},{"line":1308,"column":21,"offset":1309},{"line":1351,"column":435,"offset":1352},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1358,"children":1359,"position":1369},{},[1360],{"type":27,"value":1361,"position":1362},"Protected is set at the first publish and cannot change later. A name\nfirst published as Compiled or Open source stays in the browser, and a\nname first published as Protected stays on OpenMarket's servers; Compiled\nand Open source can alternate from one version to the next. To move an\nindicator to the other side, publish it under a new name.",{"start":1363,"end":1366},{"line":1364,"column":21,"offset":1365},101,5793,{"line":1367,"column":53,"offset":1368},105,6136,{"start":1370,"end":1371},{"line":1364,"column":21,"offset":1365},{"line":1367,"column":53,"offset":1368},{"type":27,"value":28},{"type":31,"tagName":171,"properties":1374,"children":1375,"position":1384},{},[1376],{"type":27,"value":1377,"position":1378},"After publishing",{"start":1379,"end":1382},{"line":1380,"column":179,"offset":1381},107,6141,{"line":1380,"column":104,"offset":1383},6157,{"start":1385,"end":1387},{"line":1380,"column":21,"offset":1386},6138,{"line":1380,"column":104,"offset":1383},{"type":27,"value":28},{"type":31,"tagName":278,"properties":1390,"children":1391,"position":1820},{},[1392,1393,1545,1546,1595,1596,1646,1647,1697,1698,1749,1750,1819],{"type":27,"value":28},{"type":31,"tagName":283,"properties":1394,"children":1395,"position":1541},{},[1396,1412,1418,1433,1440,1454,1460,1474,1481,1495,1501,1515,1521,1535],{"type":31,"tagName":46,"properties":1397,"children":1398,"position":1407},{},[1399],{"type":27,"value":1400,"position":1401},"Find it.",{"start":1402,"end":1405},{"line":1403,"column":39,"offset":1404},109,6163,{"line":1403,"column":329,"offset":1406},6171,{"start":1408,"end":1410},{"line":1403,"column":127,"offset":1409},6161,{"line":1403,"column":335,"offset":1411},6173,{"type":27,"value":1413,"position":1414}," Published wrun indicators are in the chart's ",{"start":1415,"end":1416},{"line":1403,"column":335,"offset":1411},{"line":1403,"column":420,"offset":1417},6219,{"type":31,"tagName":46,"properties":1419,"children":1420,"position":1429},{},[1421],{"type":27,"value":1422,"position":1423},"Indicators",{"start":1424,"end":1427},{"line":1403,"column":1425,"offset":1426},63,6221,{"line":1403,"column":700,"offset":1428},6231,{"start":1430,"end":1431},{"line":1403,"column":420,"offset":1417},{"line":1403,"column":918,"offset":1432},6233,{"type":27,"value":1434,"position":1435},"\ndialog, on its ",{"start":1436,"end":1437},{"line":1403,"column":918,"offset":1432},{"line":1438,"column":178,"offset":1439},110,6251,{"type":31,"tagName":46,"properties":1441,"children":1442,"position":1450},{},[1443],{"type":27,"value":1422,"position":1444},{"start":1445,"end":1447},{"line":1438,"column":104,"offset":1446},6253,{"line":1438,"column":1448,"offset":1449},30,6263,{"start":1451,"end":1452},{"line":1438,"column":178,"offset":1439},{"line":1438,"column":182,"offset":1453},6265,{"type":27,"value":1455,"position":1456}," tab: ",{"start":1457,"end":1458},{"line":1438,"column":182,"offset":1453},{"line":1438,"column":435,"offset":1459},6271,{"type":31,"tagName":46,"properties":1461,"children":1462,"position":1470},{},[1463],{"type":27,"value":1464,"position":1465},"OpenMarket",{"start":1466,"end":1468},{"line":1438,"column":466,"offset":1467},6273,{"line":1438,"column":467,"offset":1469},6283,{"start":1471,"end":1472},{"line":1438,"column":435,"offset":1459},{"line":1438,"column":623,"offset":1473},6285,{"type":27,"value":1475,"position":1476}," (the built-in and\nofficial indicators), ",{"start":1477,"end":1478},{"line":1438,"column":623,"offset":1473},{"line":1479,"column":858,"offset":1480},111,6328,{"type":31,"tagName":46,"properties":1482,"children":1483,"position":1491},{},[1484],{"type":27,"value":1485,"position":1486},"Community",{"start":1487,"end":1489},{"line":1479,"column":637,"offset":1488},6330,{"line":1479,"column":342,"offset":1490},6339,{"start":1492,"end":1493},{"line":1479,"column":858,"offset":1480},{"line":1479,"column":435,"offset":1494},6341,{"type":27,"value":1496,"position":1497},", and ",{"start":1498,"end":1499},{"line":1479,"column":435,"offset":1494},{"line":1479,"column":381,"offset":1500},6347,{"type":31,"tagName":46,"properties":1502,"children":1503,"position":1511},{},[1504],{"type":27,"value":1505,"position":1506},"Mine",{"start":1507,"end":1509},{"line":1479,"column":388,"offset":1508},6349,{"line":1479,"column":467,"offset":1510},6353,{"start":1512,"end":1513},{"line":1479,"column":381,"offset":1500},{"line":1479,"column":623,"offset":1514},6355,{"type":27,"value":1516,"position":1517}," (yours, drafts\nincluded, when you are signed in), with indicators others invited you to\nunder ",{"start":1518,"end":1519},{"line":1479,"column":623,"offset":1514},{"line":1032,"column":152,"offset":1520},6454,{"type":31,"tagName":46,"properties":1522,"children":1523,"position":1531},{},[1524],{"type":27,"value":1525,"position":1526},"Shared with you",{"start":1527,"end":1529},{"line":1032,"column":91,"offset":1528},6456,{"line":1032,"column":84,"offset":1530},6471,{"start":1532,"end":1533},{"line":1032,"column":152,"offset":1520},{"line":1032,"column":358,"offset":1534},6473,{"type":27,"value":1536,"position":1537},". The chart's search finds them too.",{"start":1538,"end":1539},{"line":1032,"column":358,"offset":1534},{"line":1032,"column":763,"offset":1540},6509,{"start":1542,"end":1544},{"line":1403,"column":21,"offset":1543},6159,{"line":1032,"column":763,"offset":1540},{"type":27,"value":28},{"type":31,"tagName":283,"properties":1547,"children":1548,"position":1591},{},[1549,1564,1571,1585],{"type":31,"tagName":46,"properties":1550,"children":1551,"position":1559},{},[1552],{"type":27,"value":1553,"position":1554},"Add it.",{"start":1555,"end":1557},{"line":1037,"column":39,"offset":1556},6514,{"line":1037,"column":302,"offset":1558},6521,{"start":1560,"end":1562},{"line":1037,"column":127,"offset":1561},6512,{"line":1037,"column":92,"offset":1563},6523,{"type":27,"value":1565,"position":1566}," Add a row, or open it and press ",{"start":1567,"end":1568},{"line":1037,"column":92,"offset":1563},{"line":1037,"column":1569,"offset":1570},47,6556,{"type":31,"tagName":46,"properties":1572,"children":1573,"position":1581},{},[1574],{"type":27,"value":1575,"position":1576},"Apply",{"start":1577,"end":1579},{"line":1037,"column":590,"offset":1578},6558,{"line":1037,"column":716,"offset":1580},6563,{"start":1582,"end":1583},{"line":1037,"column":1569,"offset":1570},{"line":1037,"column":43,"offset":1584},6565,{"type":27,"value":1586,"position":1587},". The overlay keeps\nthe exact version it was added at and reloads that version, so a newer\npublish never changes a chart that already carries the older one.",{"start":1588,"end":1589},{"line":1037,"column":43,"offset":1584},{"line":1046,"column":428,"offset":1590},6725,{"start":1592,"end":1594},{"line":1037,"column":21,"offset":1593},6510,{"line":1046,"column":428,"offset":1590},{"type":27,"value":28},{"type":31,"tagName":283,"properties":1597,"children":1598,"position":1642},{},[1599,1615,1621,1635],{"type":31,"tagName":46,"properties":1600,"children":1601,"position":1610},{},[1602],{"type":27,"value":1603,"position":1604},"Indicator page.",{"start":1605,"end":1608},{"line":1606,"column":39,"offset":1607},117,6730,{"line":1606,"column":104,"offset":1609},6745,{"start":1611,"end":1613},{"line":1606,"column":127,"offset":1612},6728,{"line":1606,"column":109,"offset":1614},6747,{"type":27,"value":1616,"position":1617}," In the detail panel, ",{"start":1618,"end":1619},{"line":1606,"column":109,"offset":1614},{"line":1606,"column":381,"offset":1620},6769,{"type":31,"tagName":46,"properties":1622,"children":1623,"position":1631},{},[1624],{"type":27,"value":1625,"position":1626},"Indicator page",{"start":1627,"end":1629},{"line":1606,"column":388,"offset":1628},6771,{"line":1606,"column":10,"offset":1630},6785,{"start":1632,"end":1633},{"line":1606,"column":381,"offset":1620},{"line":1606,"column":750,"offset":1634},6787,{"type":27,"value":1636,"position":1637}," opens the\npackage's public page in a new tab.",{"start":1638,"end":1639},{"line":1606,"column":750,"offset":1634},{"line":1640,"column":435,"offset":1641},118,6835,{"start":1643,"end":1645},{"line":1606,"column":21,"offset":1644},6726,{"line":1640,"column":435,"offset":1641},{"type":27,"value":28},{"type":31,"tagName":283,"properties":1648,"children":1649,"position":1693},{},[1650,1666,1672,1686],{"type":31,"tagName":46,"properties":1651,"children":1652,"position":1661},{},[1653],{"type":27,"value":1654,"position":1655},"Fork.",{"start":1656,"end":1659},{"line":1657,"column":39,"offset":1658},119,6840,{"line":1657,"column":296,"offset":1660},6845,{"start":1662,"end":1664},{"line":1657,"column":127,"offset":1663},6838,{"line":1657,"column":302,"offset":1665},6847,{"type":27,"value":1667,"position":1668}," On desktop, ",{"start":1669,"end":1670},{"line":1657,"column":302,"offset":1665},{"line":1657,"column":858,"offset":1671},6860,{"type":31,"tagName":46,"properties":1673,"children":1674,"position":1682},{},[1675],{"type":27,"value":1676,"position":1677},"Fork",{"start":1678,"end":1680},{"line":1657,"column":637,"offset":1679},6862,{"line":1657,"column":293,"offset":1681},6866,{"start":1683,"end":1684},{"line":1657,"column":858,"offset":1671},{"line":1657,"column":861,"offset":1685},6868,{"type":27,"value":1687,"position":1688}," copies an Open source indicator's code\ninto a new draft in your editor, and publishing the draft records\n\"Forked from\" the original. A Compiled indicator has nothing to fork\n(\"The author published this Indicator without its source, so there is\nnothing to fork.\"), and a Protected indicator offers no Fork.",{"start":1689,"end":1690},{"line":1657,"column":861,"offset":1685},{"line":1691,"column":763,"offset":1692},123,7182,{"start":1694,"end":1696},{"line":1657,"column":21,"offset":1695},6836,{"line":1691,"column":763,"offset":1692},{"type":27,"value":28},{"type":31,"tagName":283,"properties":1699,"children":1700,"position":1745},{},[1701,1717,1724,1739],{"type":31,"tagName":46,"properties":1702,"children":1703,"position":1712},{},[1704],{"type":27,"value":1705,"position":1706},"Alerts.",{"start":1707,"end":1710},{"line":1708,"column":39,"offset":1709},124,7187,{"line":1708,"column":302,"offset":1711},7194,{"start":1713,"end":1715},{"line":1708,"column":127,"offset":1714},7185,{"line":1708,"column":92,"offset":1716},7196,{"type":27,"value":1718,"position":1719}," A published indicator can carry alerts from the chart; a\ndraft cannot (",{"start":1720,"end":1721},{"line":1708,"column":92,"offset":1716},{"line":1722,"column":487,"offset":1723},125,7270,{"type":31,"tagName":119,"properties":1725,"children":1727,"position":1735},{"href":1726},"alerts.md",[1728],{"type":27,"value":1729,"position":1730},"Alerts",{"start":1731,"end":1733},{"line":1722,"column":178,"offset":1732},7271,{"line":1722,"column":79,"offset":1734},7277,{"start":1736,"end":1737},{"line":1722,"column":487,"offset":1723},{"line":1722,"column":342,"offset":1738},7289,{"type":27,"value":1740,"position":1741},").",{"start":1742,"end":1743},{"line":1722,"column":342,"offset":1738},{"line":1722,"column":435,"offset":1744},7291,{"start":1746,"end":1748},{"line":1708,"column":21,"offset":1747},7183,{"line":1722,"column":435,"offset":1744},{"type":27,"value":28},{"type":31,"tagName":283,"properties":1751,"children":1752,"position":1815},{},[1753,1768,1774,1788,1795,1810],{"type":31,"tagName":46,"properties":1754,"children":1755,"position":1763},{},[1756],{"type":27,"value":1757,"position":1758},"Invite people.",{"start":1759,"end":1761},{"line":25,"column":39,"offset":1760},7296,{"line":25,"column":493,"offset":1762},7310,{"start":1764,"end":1766},{"line":25,"column":127,"offset":1765},7294,{"line":25,"column":1156,"offset":1767},7312,{"type":27,"value":1769,"position":1770}," After an Invite only publish, ",{"start":1771,"end":1772},{"line":25,"column":1156,"offset":1767},{"line":25,"column":623,"offset":1773},7343,{"type":31,"tagName":46,"properties":1775,"children":1776,"position":1784},{},[1777],{"type":27,"value":1778,"position":1779},"Invite people…",{"start":1780,"end":1782},{"line":25,"column":716,"offset":1781},7345,{"line":25,"column":428,"offset":1783},7359,{"start":1785,"end":1786},{"line":25,"column":623,"offset":1773},{"line":25,"column":843,"offset":1787},7361,{"type":27,"value":1789,"position":1790}," on\nthe receipt opens the indicator's People panel\n(",{"start":1791,"end":1792},{"line":25,"column":843,"offset":1787},{"line":1793,"column":179,"offset":1794},128,7417,{"type":31,"tagName":119,"properties":1796,"children":1798,"position":1806},{"href":1797},"../sharing/invite-your-community.md",[1799],{"type":27,"value":1800,"position":1801},"Invite your community",{"start":1802,"end":1804},{"line":1793,"column":39,"offset":1803},7418,{"line":1793,"column":84,"offset":1805},7439,{"start":1807,"end":1808},{"line":1793,"column":179,"offset":1794},{"line":1793,"column":763,"offset":1809},7477,{"type":27,"value":1740,"position":1811},{"start":1812,"end":1813},{"line":1793,"column":763,"offset":1809},{"line":1793,"column":423,"offset":1814},7479,{"start":1816,"end":1818},{"line":25,"column":21,"offset":1817},7292,{"line":1793,"column":423,"offset":1814},{"type":27,"value":28},{"start":1821,"end":1822},{"line":1403,"column":21,"offset":1543},{"line":1793,"column":423,"offset":1814},{"type":27,"value":28},{"type":31,"tagName":171,"properties":1825,"children":1826,"position":1835},{},[1827],{"type":27,"value":1828,"position":1829},"Manage a published indicator",{"start":1830,"end":1833},{"line":1831,"column":179,"offset":1832},130,7484,{"line":1831,"column":182,"offset":1834},7512,{"start":1836,"end":1838},{"line":1831,"column":21,"offset":1837},7481,{"line":1831,"column":182,"offset":1834},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1841,"children":1842,"position":1905},{},[1843,1859,1865,1878,1885,1899],{"type":31,"tagName":46,"properties":1844,"children":1845,"position":1854},{},[1846],{"type":27,"value":1847,"position":1848},"Manage Indicator",{"start":1849,"end":1852},{"line":1850,"column":127,"offset":1851},132,7516,{"line":1850,"column":493,"offset":1853},7532,{"start":1855,"end":1857},{"line":1850,"column":21,"offset":1856},7514,{"line":1850,"column":1156,"offset":1858},7534,{"type":27,"value":1860,"position":1861},", on the indicator's page under ",{"start":1862,"end":1863},{"line":1850,"column":1156,"offset":1858},{"line":1850,"column":309,"offset":1864},7566,{"type":31,"tagName":46,"properties":1866,"children":1867,"position":1874},{},[1868],{"type":27,"value":1505,"position":1869},{"start":1870,"end":1872},{"line":1850,"column":404,"offset":1871},7568,{"line":1850,"column":411,"offset":1873},7572,{"start":1875,"end":1876},{"line":1850,"column":309,"offset":1864},{"line":1850,"column":420,"offset":1877},7574,{"type":27,"value":1879,"position":1880}," in the\nIndicators dialog, is the owner's place for removal. ",{"start":1881,"end":1882},{"line":1850,"column":420,"offset":1877},{"line":1883,"column":716,"offset":1884},133,7635,{"type":31,"tagName":46,"properties":1886,"children":1887,"position":1895},{},[1888],{"type":27,"value":1889,"position":1890},"Delete Indicator",{"start":1891,"end":1893},{"line":1883,"column":43,"offset":1892},7637,{"line":1883,"column":884,"offset":1894},7653,{"start":1896,"end":1897},{"line":1883,"column":716,"offset":1884},{"line":1883,"column":1163,"offset":1898},7655,{"type":27,"value":1900,"position":1901},"\nremoves every version for good, and the name can never be used again. A\nchart that already carries it keeps an overlay that no longer loads and\nsays so on its legend.",{"start":1902,"end":1903},{"line":1883,"column":1163,"offset":1898},{"line":1175,"column":850,"offset":1904},7822,{"start":1906,"end":1907},{"line":1850,"column":21,"offset":1856},{"line":1175,"column":850,"offset":1904},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1910,"children":1911,"position":1958},{},[1912,1919,1933,1940,1953],{"type":27,"value":1913,"position":1914},"On an Invite only indicator, ",{"start":1915,"end":1917},{"line":1180,"column":21,"offset":1916},7824,{"line":1180,"column":1448,"offset":1918},7853,{"type":31,"tagName":46,"properties":1920,"children":1921,"position":1929},{},[1922],{"type":27,"value":1923,"position":1924},"People · N",{"start":1925,"end":1927},{"line":1180,"column":182,"offset":1926},7855,{"line":1180,"column":376,"offset":1928},7865,{"start":1930,"end":1931},{"line":1180,"column":1448,"offset":1918},{"line":1180,"column":381,"offset":1932},7867,{"type":27,"value":1934,"position":1935}," on the same page opens its\nPeople panel: the people with access, the invite link, imports and access\nkeys (",{"start":1936,"end":1937},{"line":1180,"column":381,"offset":1932},{"line":1938,"column":42,"offset":1939},140,7975,{"type":31,"tagName":119,"properties":1941,"children":1942,"position":1949},{"href":144},[1943],{"type":27,"value":147,"position":1944},{"start":1945,"end":1947},{"line":1938,"column":68,"offset":1946},7976,{"line":1938,"column":335,"offset":1948},7983,{"start":1950,"end":1951},{"line":1938,"column":42,"offset":1939},{"line":1938,"column":466,"offset":1952},8008,{"type":27,"value":1740,"position":1954},{"start":1955,"end":1956},{"line":1938,"column":466,"offset":1952},{"line":1938,"column":376,"offset":1957},8010,{"start":1959,"end":1960},{"line":1180,"column":21,"offset":1916},{"line":1938,"column":376,"offset":1957},{"type":27,"value":28},{"type":31,"tagName":171,"properties":1963,"children":1964,"position":1971},{},[1965],{"type":27,"value":124,"position":1966},{"start":1967,"end":1969},{"line":40,"column":179,"offset":1968},8015,{"line":40,"column":850,"offset":1970},8034,{"start":1972,"end":1974},{"line":40,"column":21,"offset":1973},8012,{"line":40,"column":850,"offset":1970},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1977,"children":1978,"position":2026},{},[1979,1988,2000,2007,2019],{"type":27,"value":1980,"position":1981},"Sharing code between wrun indicators is publishing one: the unit of reuse on\nOpenMarket is a whole indicator, ",{"start":1982,"end":1985},{"line":1983,"column":21,"offset":1984},144,8036,{"line":1986,"column":157,"offset":1987},145,8146,{"type":31,"tagName":199,"properties":1989,"children":1990,"position":1997},{},[1991],{"type":27,"value":1992,"position":1993},"@yourname/name",{"start":1994,"end":1995},{"line":1986,"column":157,"offset":1987},{"line":1986,"column":467,"offset":1996},8162,{"start":1998,"end":1999},{"line":1986,"column":157,"offset":1987},{"line":1986,"column":467,"offset":1996},{"type":27,"value":2001,"position":2002},", that people add to\ntheir charts, and an Open source one can be forked into a new draft in\nyour editor. There is no source import between indicators, and no\n",{"start":2003,"end":2004},{"line":1986,"column":467,"offset":1996},{"line":2005,"column":21,"offset":2006},148,8320,{"type":31,"tagName":199,"properties":2008,"children":2009,"position":2016},{},[2010],{"type":27,"value":2011,"position":2012},"import \"@scope/lib\"",{"start":2013,"end":2014},{"line":2005,"column":21,"offset":2006},{"line":2005,"column":109,"offset":2015},8341,{"start":2017,"end":2018},{"line":2005,"column":21,"offset":2006},{"line":2005,"column":109,"offset":2015},{"type":27,"value":2020,"position":2021}," from another indicator's source. Inside one\nindicator, shared code is ordinary AssemblyScript in the same file: an\nindicator is one file.",{"start":2022,"end":2023},{"line":2005,"column":109,"offset":2015},{"line":2024,"column":850,"offset":2025},150,8479,{"start":2027,"end":2028},{"line":1983,"column":21,"offset":1984},{"line":2024,"column":850,"offset":2025},{"type":27,"value":28},{"type":31,"tagName":2031,"properties":2032,"children":2033,"position":2042},"h3",{},[2034],{"type":27,"value":2035,"position":2036},"Shared code in the one file",{"start":2037,"end":2040},{"line":2038,"column":39,"offset":2039},152,8485,{"line":2038,"column":182,"offset":2041},8512,{"start":2043,"end":2045},{"line":2038,"column":21,"offset":2044},8481,{"line":2038,"column":182,"offset":2041},{"type":27,"value":28},{"type":31,"tagName":32,"properties":2048,"children":2049,"position":2078},{},[2050,2059,2071],{"type":27,"value":2051,"position":2052},"Put functions, classes, and constants in the editor tab beside the\ndeclarations and ",{"start":2053,"end":2056},{"line":2054,"column":21,"offset":2055},154,8514,{"line":2057,"column":178,"offset":2058},155,8598,{"type":31,"tagName":199,"properties":2060,"children":2061,"position":2068},{},[2062],{"type":27,"value":2063,"position":2064},"onBar()",{"start":2065,"end":2066},{"line":2057,"column":178,"offset":2058},{"line":2057,"column":637,"offset":2067},8607,{"start":2069,"end":2070},{"line":2057,"column":178,"offset":2058},{"line":2057,"column":637,"offset":2067},{"type":27,"value":2072,"position":2073},". One file per indicator: the kit's classes\nand functions and the readers and writers Run generates from your\ndeclarations are simply there, with nothing to import, and there is no\nsecond file to import from (a second source file is refused: \"one file\nper indicator for now: move src/helpers.ts into src/indicator.ts\").",{"start":2074,"end":2075},{"line":2057,"column":637,"offset":2067},{"line":2076,"column":428,"offset":2077},159,8926,{"start":2079,"end":2080},{"line":2054,"column":21,"offset":2055},{"line":2076,"column":428,"offset":2077},{"type":27,"value":28},{"type":31,"tagName":32,"properties":2083,"children":2084,"position":2130},{},[2085,2094,2106,2112,2124],{"type":27,"value":2086,"position":2087},"A set of normalization helpers, in the indicator that uses them, which\nowns the data, the TA objects, and the declarations, beside the kit's\nown ",{"start":2088,"end":2091},{"line":2089,"column":21,"offset":2090},161,8928,{"line":2092,"column":39,"offset":2093},163,9073,{"type":31,"tagName":199,"properties":2095,"children":2096,"position":2103},{},[2097],{"type":27,"value":2098,"position":2099},"Sma",{"start":2100,"end":2101},{"line":2092,"column":39,"offset":2093},{"line":2092,"column":296,"offset":2102},9078,{"start":2104,"end":2105},{"line":2092,"column":39,"offset":2093},{"line":2092,"column":296,"offset":2102},{"type":27,"value":2107,"position":2108}," and ",{"start":2109,"end":2110},{"line":2092,"column":296,"offset":2102},{"line":2092,"column":335,"offset":2111},9083,{"type":31,"tagName":199,"properties":2113,"children":2114,"position":2121},{},[2115],{"type":27,"value":2116,"position":2117},"Stdev",{"start":2118,"end":2119},{"line":2092,"column":335,"offset":2111},{"line":2092,"column":109,"offset":2120},9090,{"start":2122,"end":2123},{"line":2092,"column":335,"offset":2111},{"line":2092,"column":109,"offset":2120},{"type":27,"value":2125,"position":2126},":",{"start":2127,"end":2128},{"line":2092,"column":109,"offset":2120},{"line":2092,"column":850,"offset":2129},9091,{"start":2131,"end":2132},{"line":2089,"column":21,"offset":2090},{"line":2092,"column":850,"offset":2129},{"type":27,"value":28},{"type":14,"children":2135},[2136],{"type":31,"tagName":192,"properties":2137,"children":2138,"data":-1},{"class":194,"style":195,"tabindex":196},[2139],{"type":31,"tagName":199,"properties":2140,"children":2143},{"class":2141},[2142],"language-typescript",[2144,2200,2201,2242,2243,2281,2282,2285,2286,2295,2296,2381,2382,2424,2425,2458,2459,2467,2468,2471,2472,2480,2481,2560,2561,2596,2597,2636,2637,2652,2653,2660,2661,2664,2665,2682,2683,2703,2704,2724,2725,2728,2729,2776,2777,2800,2801,2822,2823,2831,2832,2835,2836,2878,2879,2929,2930,2937,2938,2945,2946,2949,2950,2990,2991,3028,3029,3032,3033,3063,3064,3107,3108,3148,3149,3156,3157,3160,3161,3189,3190,3223,3224,3255,3256,3285,3286,3311,3312,3360,3361,3406,3407,3420,3421,3489,3490],{"type":31,"tagName":205,"properties":2145,"children":2146},{"class":207},[2147,2153,2159,2165,2169,2175,2180,2185,2190,2195],{"type":31,"tagName":205,"properties":2148,"children":2150},{"style":2149},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[2151],{"type":27,"value":2152},"param",{"type":31,"tagName":205,"properties":2154,"children":2156},{"style":2155},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[2157],{"type":27,"value":2158},"(",{"type":31,"tagName":205,"properties":2160,"children":2162},{"style":2161},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[2163],{"type":27,"value":2164},"\"period\"",{"type":31,"tagName":205,"properties":2166,"children":2167},{"style":2155},[2168],{"type":27,"value":384},{"type":31,"tagName":205,"properties":2170,"children":2172},{"style":2171},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[2173],{"type":27,"value":2174},"20",{"type":31,"tagName":205,"properties":2176,"children":2177},{"style":2155},[2178],{"type":27,"value":2179},", { min: ",{"type":31,"tagName":205,"properties":2181,"children":2182},{"style":2171},[2183],{"type":27,"value":2184},"2",{"type":31,"tagName":205,"properties":2186,"children":2187},{"style":2155},[2188],{"type":27,"value":2189},", max: ",{"type":31,"tagName":205,"properties":2191,"children":2192},{"style":2171},[2193],{"type":27,"value":2194},"400",{"type":31,"tagName":205,"properties":2196,"children":2197},{"style":2155},[2198],{"type":27,"value":2199}," });",{"type":27,"value":28},{"type":31,"tagName":205,"properties":2202,"children":2203},{"class":207},[2204,2209,2213,2218,2223,2228,2233,2238],{"type":31,"tagName":205,"properties":2205,"children":2206},{"style":2149},[2207],{"type":27,"value":2208},"output",{"type":31,"tagName":205,"properties":2210,"children":2211},{"style":2155},[2212],{"type":27,"value":2158},{"type":31,"tagName":205,"properties":2214,"children":2215},{"style":2161},[2216],{"type":27,"value":2217},"\"z\"",{"type":31,"tagName":205,"properties":2219,"children":2220},{"style":2155},[2221],{"type":27,"value":2222},", line, lower, { color: ",{"type":31,"tagName":205,"properties":2224,"children":2225},{"style":2161},[2226],{"type":27,"value":2227},"\"#4f8cff\"",{"type":31,"tagName":205,"properties":2229,"children":2230},{"style":2155},[2231],{"type":27,"value":2232},", description: ",{"type":31,"tagName":205,"properties":2234,"children":2235},{"style":2161},[2236],{"type":27,"value":2237},"\"Z-score of the close\"",{"type":31,"tagName":205,"properties":2239,"children":2240},{"style":2155},[2241],{"type":27,"value":2199},{"type":27,"value":28},{"type":31,"tagName":205,"properties":2244,"children":2245},{"class":207},[2246,2250,2254,2259,2263,2268,2272,2277],{"type":31,"tagName":205,"properties":2247,"children":2248},{"style":2149},[2249],{"type":27,"value":2208},{"type":31,"tagName":205,"properties":2251,"children":2252},{"style":2155},[2253],{"type":27,"value":2158},{"type":31,"tagName":205,"properties":2255,"children":2256},{"style":2161},[2257],{"type":27,"value":2258},"\"regime\"",{"type":31,"tagName":205,"properties":2260,"children":2261},{"style":2155},[2262],{"type":27,"value":2222},{"type":31,"tagName":205,"properties":2264,"children":2265},{"style":2161},[2266],{"type":27,"value":2267},"\"#f59e0b\"",{"type":31,"tagName":205,"properties":2269,"children":2270},{"style":2155},[2271],{"type":27,"value":2232},{"type":31,"tagName":205,"properties":2273,"children":2274},{"style":2161},[2275],{"type":27,"value":2276},"\"+1 stretched up, -1 down, 0 inside the band\"",{"type":31,"tagName":205,"properties":2278,"children":2279},{"style":2155},[2280],{"type":27,"value":2199},{"type":27,"value":28},{"type":31,"tagName":205,"properties":2283,"children":2284},{"class":207},[],{"type":27,"value":28},{"type":31,"tagName":205,"properties":2287,"children":2288},{"class":207},[2289],{"type":31,"tagName":205,"properties":2290,"children":2292},{"style":2291},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[2293],{"type":27,"value":2294},"// The shared logic: plain functions and a class, no declarations.",{"type":27,"value":28},{"type":31,"tagName":205,"properties":2297,"children":2298},{"class":207},[2299,2305,2310,2314,2320,2324,2329,2333,2338,2342,2346,2350,2355,2359,2363,2368,2372,2376],{"type":31,"tagName":205,"properties":2300,"children":2302},{"style":2301},"--shiki-dark:#F97583;--shiki-light:#D73A49",[2303],{"type":27,"value":2304},"function",{"type":31,"tagName":205,"properties":2306,"children":2307},{"style":2149},[2308],{"type":27,"value":2309}," zscore",{"type":31,"tagName":205,"properties":2311,"children":2312},{"style":2155},[2313],{"type":27,"value":2158},{"type":31,"tagName":205,"properties":2315,"children":2317},{"style":2316},"--shiki-dark:#FFAB70;--shiki-light:#E36209",[2318],{"type":27,"value":2319},"sample",{"type":31,"tagName":205,"properties":2321,"children":2322},{"style":2301},[2323],{"type":27,"value":2125},{"type":31,"tagName":205,"properties":2325,"children":2326},{"style":2149},[2327],{"type":27,"value":2328}," f64",{"type":31,"tagName":205,"properties":2330,"children":2331},{"style":2155},[2332],{"type":27,"value":384},{"type":31,"tagName":205,"properties":2334,"children":2335},{"style":2316},[2336],{"type":27,"value":2337},"mean",{"type":31,"tagName":205,"properties":2339,"children":2340},{"style":2301},[2341],{"type":27,"value":2125},{"type":31,"tagName":205,"properties":2343,"children":2344},{"style":2149},[2345],{"type":27,"value":2328},{"type":31,"tagName":205,"properties":2347,"children":2348},{"style":2155},[2349],{"type":27,"value":384},{"type":31,"tagName":205,"properties":2351,"children":2352},{"style":2316},[2353],{"type":27,"value":2354},"dev",{"type":31,"tagName":205,"properties":2356,"children":2357},{"style":2301},[2358],{"type":27,"value":2125},{"type":31,"tagName":205,"properties":2360,"children":2361},{"style":2149},[2362],{"type":27,"value":2328},{"type":31,"tagName":205,"properties":2364,"children":2365},{"style":2155},[2366],{"type":27,"value":2367},")",{"type":31,"tagName":205,"properties":2369,"children":2370},{"style":2301},[2371],{"type":27,"value":2125},{"type":31,"tagName":205,"properties":2373,"children":2374},{"style":2149},[2375],{"type":27,"value":2328},{"type":31,"tagName":205,"properties":2377,"children":2378},{"style":2155},[2379],{"type":27,"value":2380}," {",{"type":27,"value":28},{"type":31,"tagName":205,"properties":2383,"children":2384},{"class":207},[2385,2390,2395,2400,2405,2410,2415,2419],{"type":31,"tagName":205,"properties":2386,"children":2387},{"style":2301},[2388],{"type":27,"value":2389},"  if",{"type":31,"tagName":205,"properties":2391,"children":2392},{"style":2155},[2393],{"type":27,"value":2394}," (dev ",{"type":31,"tagName":205,"properties":2396,"children":2397},{"style":2301},[2398],{"type":27,"value":2399},"==",{"type":31,"tagName":205,"properties":2401,"children":2402},{"style":2171},[2403],{"type":27,"value":2404}," 0.0",{"type":31,"tagName":205,"properties":2406,"children":2407},{"style":2155},[2408],{"type":27,"value":2409},") ",{"type":31,"tagName":205,"properties":2411,"children":2412},{"style":2301},[2413],{"type":27,"value":2414},"return",{"type":31,"tagName":205,"properties":2416,"children":2417},{"style":2171},[2418],{"type":27,"value":2404},{"type":31,"tagName":205,"properties":2420,"children":2421},{"style":2155},[2422],{"type":27,"value":2423},";",{"type":27,"value":28},{"type":31,"tagName":205,"properties":2426,"children":2427},{"class":207},[2428,2433,2438,2443,2448,2453],{"type":31,"tagName":205,"properties":2429,"children":2430},{"style":2301},[2431],{"type":27,"value":2432},"  return",{"type":31,"tagName":205,"properties":2434,"children":2435},{"style":2155},[2436],{"type":27,"value":2437}," (sample ",{"type":31,"tagName":205,"properties":2439,"children":2440},{"style":2301},[2441],{"type":27,"value":2442},"-",{"type":31,"tagName":205,"properties":2444,"children":2445},{"style":2155},[2446],{"type":27,"value":2447}," mean) ",{"type":31,"tagName":205,"properties":2449,"children":2450},{"style":2301},[2451],{"type":27,"value":2452},"/",{"type":31,"tagName":205,"properties":2454,"children":2455},{"style":2155},[2456],{"type":27,"value":2457}," dev;",{"type":27,"value":28},{"type":31,"tagName":205,"properties":2460,"children":2461},{"class":207},[2462],{"type":31,"tagName":205,"properties":2463,"children":2464},{"style":2155},[2465],{"type":27,"value":2466},"}",{"type":27,"value":28},{"type":31,"tagName":205,"properties":2469,"children":2470},{"class":207},[],{"type":27,"value":28},{"type":31,"tagName":205,"properties":2473,"children":2474},{"class":207},[2475],{"type":31,"tagName":205,"properties":2476,"children":2477},{"style":2291},[2478],{"type":27,"value":2479},"// +1 stretched up, -1 stretched down, 0 neutral.",{"type":27,"value":28},{"type":31,"tagName":205,"properties":2482,"children":2483},{"class":207},[2484,2488,2493,2497,2502,2506,2510,2514,2519,2523,2527,2531,2536,2540,2544,2548,2552,2556],{"type":31,"tagName":205,"properties":2485,"children":2486},{"style":2301},[2487],{"type":27,"value":2304},{"type":31,"tagName":205,"properties":2489,"children":2490},{"style":2149},[2491],{"type":27,"value":2492}," regime",{"type":31,"tagName":205,"properties":2494,"children":2495},{"style":2155},[2496],{"type":27,"value":2158},{"type":31,"tagName":205,"properties":2498,"children":2499},{"style":2316},[2500],{"type":27,"value":2501},"z",{"type":31,"tagName":205,"properties":2503,"children":2504},{"style":2301},[2505],{"type":27,"value":2125},{"type":31,"tagName":205,"properties":2507,"children":2508},{"style":2149},[2509],{"type":27,"value":2328},{"type":31,"tagName":205,"properties":2511,"children":2512},{"style":2155},[2513],{"type":27,"value":384},{"type":31,"tagName":205,"properties":2515,"children":2516},{"style":2316},[2517],{"type":27,"value":2518},"hi",{"type":31,"tagName":205,"properties":2520,"children":2521},{"style":2301},[2522],{"type":27,"value":2125},{"type":31,"tagName":205,"properties":2524,"children":2525},{"style":2149},[2526],{"type":27,"value":2328},{"type":31,"tagName":205,"properties":2528,"children":2529},{"style":2155},[2530],{"type":27,"value":384},{"type":31,"tagName":205,"properties":2532,"children":2533},{"style":2316},[2534],{"type":27,"value":2535},"lo",{"type":31,"tagName":205,"properties":2537,"children":2538},{"style":2301},[2539],{"type":27,"value":2125},{"type":31,"tagName":205,"properties":2541,"children":2542},{"style":2149},[2543],{"type":27,"value":2328},{"type":31,"tagName":205,"properties":2545,"children":2546},{"style":2155},[2547],{"type":27,"value":2367},{"type":31,"tagName":205,"properties":2549,"children":2550},{"style":2301},[2551],{"type":27,"value":2125},{"type":31,"tagName":205,"properties":2553,"children":2554},{"style":2149},[2555],{"type":27,"value":2328},{"type":31,"tagName":205,"properties":2557,"children":2558},{"style":2155},[2559],{"type":27,"value":2380},{"type":27,"value":28},{"type":31,"tagName":205,"properties":2562,"children":2563},{"class":207},[2564,2568,2573,2578,2583,2587,2592],{"type":31,"tagName":205,"properties":2565,"children":2566},{"style":2301},[2567],{"type":27,"value":2389},{"type":31,"tagName":205,"properties":2569,"children":2570},{"style":2155},[2571],{"type":27,"value":2572}," (z ",{"type":31,"tagName":205,"properties":2574,"children":2575},{"style":2301},[2576],{"type":27,"value":2577},">",{"type":31,"tagName":205,"properties":2579,"children":2580},{"style":2155},[2581],{"type":27,"value":2582}," hi) ",{"type":31,"tagName":205,"properties":2584,"children":2585},{"style":2301},[2586],{"type":27,"value":2414},{"type":31,"tagName":205,"properties":2588,"children":2589},{"style":2171},[2590],{"type":27,"value":2591}," 1.0",{"type":31,"tagName":205,"properties":2593,"children":2594},{"style":2155},[2595],{"type":27,"value":2423},{"type":27,"value":28},{"type":31,"tagName":205,"properties":2598,"children":2599},{"class":207},[2600,2604,2608,2613,2618,2622,2627,2632],{"type":31,"tagName":205,"properties":2601,"children":2602},{"style":2301},[2603],{"type":27,"value":2389},{"type":31,"tagName":205,"properties":2605,"children":2606},{"style":2155},[2607],{"type":27,"value":2572},{"type":31,"tagName":205,"properties":2609,"children":2610},{"style":2301},[2611],{"type":27,"value":2612},"\u003C",{"type":31,"tagName":205,"properties":2614,"children":2615},{"style":2155},[2616],{"type":27,"value":2617}," lo) ",{"type":31,"tagName":205,"properties":2619,"children":2620},{"style":2301},[2621],{"type":27,"value":2414},{"type":31,"tagName":205,"properties":2623,"children":2624},{"style":2301},[2625],{"type":27,"value":2626}," -",{"type":31,"tagName":205,"properties":2628,"children":2629},{"style":2171},[2630],{"type":27,"value":2631},"1.0",{"type":31,"tagName":205,"properties":2633,"children":2634},{"style":2155},[2635],{"type":27,"value":2423},{"type":27,"value":28},{"type":31,"tagName":205,"properties":2638,"children":2639},{"class":207},[2640,2644,2648],{"type":31,"tagName":205,"properties":2641,"children":2642},{"style":2301},[2643],{"type":27,"value":2432},{"type":31,"tagName":205,"properties":2645,"children":2646},{"style":2171},[2647],{"type":27,"value":2404},{"type":31,"tagName":205,"properties":2649,"children":2650},{"style":2155},[2651],{"type":27,"value":2423},{"type":27,"value":28},{"type":31,"tagName":205,"properties":2654,"children":2655},{"class":207},[2656],{"type":31,"tagName":205,"properties":2657,"children":2658},{"style":2155},[2659],{"type":27,"value":2466},{"type":27,"value":28},{"type":31,"tagName":205,"properties":2662,"children":2663},{"class":207},[],{"type":27,"value":28},{"type":31,"tagName":205,"properties":2666,"children":2667},{"class":207},[2668,2673,2678],{"type":31,"tagName":205,"properties":2669,"children":2670},{"style":2301},[2671],{"type":27,"value":2672},"class",{"type":31,"tagName":205,"properties":2674,"children":2675},{"style":2149},[2676],{"type":27,"value":2677}," Band",{"type":31,"tagName":205,"properties":2679,"children":2680},{"style":2155},[2681],{"type":27,"value":2380},{"type":27,"value":28},{"type":31,"tagName":205,"properties":2684,"children":2685},{"class":207},[2686,2691,2695,2699],{"type":31,"tagName":205,"properties":2687,"children":2688},{"style":2316},[2689],{"type":27,"value":2690},"  top",{"type":31,"tagName":205,"properties":2692,"children":2693},{"style":2301},[2694],{"type":27,"value":2125},{"type":31,"tagName":205,"properties":2696,"children":2697},{"style":2149},[2698],{"type":27,"value":2328},{"type":31,"tagName":205,"properties":2700,"children":2701},{"style":2155},[2702],{"type":27,"value":2423},{"type":27,"value":28},{"type":31,"tagName":205,"properties":2705,"children":2706},{"class":207},[2707,2712,2716,2720],{"type":31,"tagName":205,"properties":2708,"children":2709},{"style":2316},[2710],{"type":27,"value":2711},"  bottom",{"type":31,"tagName":205,"properties":2713,"children":2714},{"style":2301},[2715],{"type":27,"value":2125},{"type":31,"tagName":205,"properties":2717,"children":2718},{"style":2149},[2719],{"type":27,"value":2328},{"type":31,"tagName":205,"properties":2721,"children":2722},{"style":2155},[2723],{"type":27,"value":2423},{"type":27,"value":28},{"type":31,"tagName":205,"properties":2726,"children":2727},{"class":207},[],{"type":27,"value":28},{"type":31,"tagName":205,"properties":2730,"children":2731},{"class":207},[2732,2737,2741,2746,2750,2754,2758,2763,2767,2771],{"type":31,"tagName":205,"properties":2733,"children":2734},{"style":2301},[2735],{"type":27,"value":2736},"  constructor",{"type":31,"tagName":205,"properties":2738,"children":2739},{"style":2155},[2740],{"type":27,"value":2158},{"type":31,"tagName":205,"properties":2742,"children":2743},{"style":2316},[2744],{"type":27,"value":2745},"top",{"type":31,"tagName":205,"properties":2747,"children":2748},{"style":2301},[2749],{"type":27,"value":2125},{"type":31,"tagName":205,"properties":2751,"children":2752},{"style":2149},[2753],{"type":27,"value":2328},{"type":31,"tagName":205,"properties":2755,"children":2756},{"style":2155},[2757],{"type":27,"value":384},{"type":31,"tagName":205,"properties":2759,"children":2760},{"style":2316},[2761],{"type":27,"value":2762},"bottom",{"type":31,"tagName":205,"properties":2764,"children":2765},{"style":2301},[2766],{"type":27,"value":2125},{"type":31,"tagName":205,"properties":2768,"children":2769},{"style":2149},[2770],{"type":27,"value":2328},{"type":31,"tagName":205,"properties":2772,"children":2773},{"style":2155},[2774],{"type":27,"value":2775},") {",{"type":27,"value":28},{"type":31,"tagName":205,"properties":2778,"children":2779},{"class":207},[2780,2785,2790,2795],{"type":31,"tagName":205,"properties":2781,"children":2782},{"style":2171},[2783],{"type":27,"value":2784},"    this",{"type":31,"tagName":205,"properties":2786,"children":2787},{"style":2155},[2788],{"type":27,"value":2789},".top ",{"type":31,"tagName":205,"properties":2791,"children":2792},{"style":2301},[2793],{"type":27,"value":2794},"=",{"type":31,"tagName":205,"properties":2796,"children":2797},{"style":2155},[2798],{"type":27,"value":2799}," top;",{"type":27,"value":28},{"type":31,"tagName":205,"properties":2802,"children":2803},{"class":207},[2804,2808,2813,2817],{"type":31,"tagName":205,"properties":2805,"children":2806},{"style":2171},[2807],{"type":27,"value":2784},{"type":31,"tagName":205,"properties":2809,"children":2810},{"style":2155},[2811],{"type":27,"value":2812},".bottom ",{"type":31,"tagName":205,"properties":2814,"children":2815},{"style":2301},[2816],{"type":27,"value":2794},{"type":31,"tagName":205,"properties":2818,"children":2819},{"style":2155},[2820],{"type":27,"value":2821}," bottom;",{"type":27,"value":28},{"type":31,"tagName":205,"properties":2824,"children":2825},{"class":207},[2826],{"type":31,"tagName":205,"properties":2827,"children":2828},{"style":2155},[2829],{"type":27,"value":2830},"  }",{"type":27,"value":28},{"type":31,"tagName":205,"properties":2833,"children":2834},{"class":207},[],{"type":27,"value":28},{"type":31,"tagName":205,"properties":2837,"children":2838},{"class":207},[2839,2844,2848,2853,2857,2861,2865,2869,2874],{"type":31,"tagName":205,"properties":2840,"children":2841},{"style":2149},[2842],{"type":27,"value":2843},"  contains",{"type":31,"tagName":205,"properties":2845,"children":2846},{"style":2155},[2847],{"type":27,"value":2158},{"type":31,"tagName":205,"properties":2849,"children":2850},{"style":2316},[2851],{"type":27,"value":2852},"price",{"type":31,"tagName":205,"properties":2854,"children":2855},{"style":2301},[2856],{"type":27,"value":2125},{"type":31,"tagName":205,"properties":2858,"children":2859},{"style":2149},[2860],{"type":27,"value":2328},{"type":31,"tagName":205,"properties":2862,"children":2863},{"style":2155},[2864],{"type":27,"value":2367},{"type":31,"tagName":205,"properties":2866,"children":2867},{"style":2301},[2868],{"type":27,"value":2125},{"type":31,"tagName":205,"properties":2870,"children":2871},{"style":2149},[2872],{"type":27,"value":2873}," bool",{"type":31,"tagName":205,"properties":2875,"children":2876},{"style":2155},[2877],{"type":27,"value":2380},{"type":27,"value":28},{"type":31,"tagName":205,"properties":2880,"children":2881},{"class":207},[2882,2887,2892,2897,2902,2906,2911,2915,2920,2924],{"type":31,"tagName":205,"properties":2883,"children":2884},{"style":2301},[2885],{"type":27,"value":2886},"    return",{"type":31,"tagName":205,"properties":2888,"children":2889},{"style":2155},[2890],{"type":27,"value":2891}," price ",{"type":31,"tagName":205,"properties":2893,"children":2894},{"style":2301},[2895],{"type":27,"value":2896},"\u003C=",{"type":31,"tagName":205,"properties":2898,"children":2899},{"style":2171},[2900],{"type":27,"value":2901}," this",{"type":31,"tagName":205,"properties":2903,"children":2904},{"style":2155},[2905],{"type":27,"value":2789},{"type":31,"tagName":205,"properties":2907,"children":2908},{"style":2301},[2909],{"type":27,"value":2910},"&&",{"type":31,"tagName":205,"properties":2912,"children":2913},{"style":2155},[2914],{"type":27,"value":2891},{"type":31,"tagName":205,"properties":2916,"children":2917},{"style":2301},[2918],{"type":27,"value":2919},">=",{"type":31,"tagName":205,"properties":2921,"children":2922},{"style":2171},[2923],{"type":27,"value":2901},{"type":31,"tagName":205,"properties":2925,"children":2926},{"style":2155},[2927],{"type":27,"value":2928},".bottom;",{"type":27,"value":28},{"type":31,"tagName":205,"properties":2931,"children":2932},{"class":207},[2933],{"type":31,"tagName":205,"properties":2934,"children":2935},{"style":2155},[2936],{"type":27,"value":2830},{"type":27,"value":28},{"type":31,"tagName":205,"properties":2939,"children":2940},{"class":207},[2941],{"type":31,"tagName":205,"properties":2942,"children":2943},{"style":2155},[2944],{"type":27,"value":2466},{"type":27,"value":28},{"type":31,"tagName":205,"properties":2947,"children":2948},{"class":207},[],{"type":27,"value":28},{"type":31,"tagName":205,"properties":2951,"children":2952},{"class":207},[2953,2958,2963,2967,2972,2977,2981,2985],{"type":31,"tagName":205,"properties":2954,"children":2955},{"style":2301},[2956],{"type":27,"value":2957},"let",{"type":31,"tagName":205,"properties":2959,"children":2960},{"style":2155},[2961],{"type":27,"value":2962}," sma ",{"type":31,"tagName":205,"properties":2964,"children":2965},{"style":2301},[2966],{"type":27,"value":2794},{"type":31,"tagName":205,"properties":2968,"children":2969},{"style":2301},[2970],{"type":27,"value":2971}," new",{"type":31,"tagName":205,"properties":2973,"children":2974},{"style":2149},[2975],{"type":27,"value":2976}," Sma",{"type":31,"tagName":205,"properties":2978,"children":2979},{"style":2155},[2980],{"type":27,"value":2158},{"type":31,"tagName":205,"properties":2982,"children":2983},{"style":2171},[2984],{"type":27,"value":2174},{"type":31,"tagName":205,"properties":2986,"children":2987},{"style":2155},[2988],{"type":27,"value":2989},");",{"type":27,"value":28},{"type":31,"tagName":205,"properties":2992,"children":2993},{"class":207},[2994,2998,3003,3007,3011,3016,3020,3024],{"type":31,"tagName":205,"properties":2995,"children":2996},{"style":2301},[2997],{"type":27,"value":2957},{"type":31,"tagName":205,"properties":2999,"children":3000},{"style":2155},[3001],{"type":27,"value":3002}," stdev ",{"type":31,"tagName":205,"properties":3004,"children":3005},{"style":2301},[3006],{"type":27,"value":2794},{"type":31,"tagName":205,"properties":3008,"children":3009},{"style":2301},[3010],{"type":27,"value":2971},{"type":31,"tagName":205,"properties":3012,"children":3013},{"style":2149},[3014],{"type":27,"value":3015}," Stdev",{"type":31,"tagName":205,"properties":3017,"children":3018},{"style":2155},[3019],{"type":27,"value":2158},{"type":31,"tagName":205,"properties":3021,"children":3022},{"style":2171},[3023],{"type":27,"value":2174},{"type":31,"tagName":205,"properties":3025,"children":3026},{"style":2155},[3027],{"type":27,"value":2989},{"type":27,"value":28},{"type":31,"tagName":205,"properties":3030,"children":3031},{"class":207},[],{"type":27,"value":28},{"type":31,"tagName":205,"properties":3034,"children":3035},{"class":207},[3036,3040,3045,3050,3054,3059],{"type":31,"tagName":205,"properties":3037,"children":3038},{"style":2301},[3039],{"type":27,"value":2304},{"type":31,"tagName":205,"properties":3041,"children":3042},{"style":2149},[3043],{"type":27,"value":3044}," onStart",{"type":31,"tagName":205,"properties":3046,"children":3047},{"style":2155},[3048],{"type":27,"value":3049},"()",{"type":31,"tagName":205,"properties":3051,"children":3052},{"style":2301},[3053],{"type":27,"value":2125},{"type":31,"tagName":205,"properties":3055,"children":3056},{"style":2171},[3057],{"type":27,"value":3058}," void",{"type":31,"tagName":205,"properties":3060,"children":3061},{"style":2155},[3062],{"type":27,"value":2380},{"type":27,"value":28},{"type":31,"tagName":205,"properties":3065,"children":3066},{"class":207},[3067,3072,3076,3080,3084,3088,3093,3097,3102],{"type":31,"tagName":205,"properties":3068,"children":3069},{"style":2155},[3070],{"type":27,"value":3071},"  sma ",{"type":31,"tagName":205,"properties":3073,"children":3074},{"style":2301},[3075],{"type":27,"value":2794},{"type":31,"tagName":205,"properties":3077,"children":3078},{"style":2301},[3079],{"type":27,"value":2971},{"type":31,"tagName":205,"properties":3081,"children":3082},{"style":2149},[3083],{"type":27,"value":2976},{"type":31,"tagName":205,"properties":3085,"children":3086},{"style":2155},[3087],{"type":27,"value":2158},{"type":31,"tagName":205,"properties":3089,"children":3090},{"style":2149},[3091],{"type":27,"value":3092},"i32",{"type":31,"tagName":205,"properties":3094,"children":3095},{"style":2155},[3096],{"type":27,"value":2158},{"type":31,"tagName":205,"properties":3098,"children":3099},{"style":2149},[3100],{"type":27,"value":3101},"p_period",{"type":31,"tagName":205,"properties":3103,"children":3104},{"style":2155},[3105],{"type":27,"value":3106},"()));",{"type":27,"value":28},{"type":31,"tagName":205,"properties":3109,"children":3110},{"class":207},[3111,3116,3120,3124,3128,3132,3136,3140,3144],{"type":31,"tagName":205,"properties":3112,"children":3113},{"style":2155},[3114],{"type":27,"value":3115},"  stdev ",{"type":31,"tagName":205,"properties":3117,"children":3118},{"style":2301},[3119],{"type":27,"value":2794},{"type":31,"tagName":205,"properties":3121,"children":3122},{"style":2301},[3123],{"type":27,"value":2971},{"type":31,"tagName":205,"properties":3125,"children":3126},{"style":2149},[3127],{"type":27,"value":3015},{"type":31,"tagName":205,"properties":3129,"children":3130},{"style":2155},[3131],{"type":27,"value":2158},{"type":31,"tagName":205,"properties":3133,"children":3134},{"style":2149},[3135],{"type":27,"value":3092},{"type":31,"tagName":205,"properties":3137,"children":3138},{"style":2155},[3139],{"type":27,"value":2158},{"type":31,"tagName":205,"properties":3141,"children":3142},{"style":2149},[3143],{"type":27,"value":3101},{"type":31,"tagName":205,"properties":3145,"children":3146},{"style":2155},[3147],{"type":27,"value":3106},{"type":27,"value":28},{"type":31,"tagName":205,"properties":3150,"children":3151},{"class":207},[3152],{"type":31,"tagName":205,"properties":3153,"children":3154},{"style":2155},[3155],{"type":27,"value":2466},{"type":27,"value":28},{"type":31,"tagName":205,"properties":3158,"children":3159},{"class":207},[],{"type":27,"value":28},{"type":31,"tagName":205,"properties":3162,"children":3163},{"class":207},[3164,3168,3173,3177,3181,3185],{"type":31,"tagName":205,"properties":3165,"children":3166},{"style":2301},[3167],{"type":27,"value":2304},{"type":31,"tagName":205,"properties":3169,"children":3170},{"style":2149},[3171],{"type":27,"value":3172}," onBar",{"type":31,"tagName":205,"properties":3174,"children":3175},{"style":2155},[3176],{"type":27,"value":3049},{"type":31,"tagName":205,"properties":3178,"children":3179},{"style":2301},[3180],{"type":27,"value":2125},{"type":31,"tagName":205,"properties":3182,"children":3183},{"style":2171},[3184],{"type":27,"value":3058},{"type":31,"tagName":205,"properties":3186,"children":3187},{"style":2155},[3188],{"type":27,"value":2380},{"type":27,"value":28},{"type":31,"tagName":205,"properties":3191,"children":3192},{"class":207},[3193,3198,3203,3208,3213,3218],{"type":31,"tagName":205,"properties":3194,"children":3195},{"style":2301},[3196],{"type":27,"value":3197},"  const",{"type":31,"tagName":205,"properties":3199,"children":3200},{"style":2171},[3201],{"type":27,"value":3202}," close",{"type":31,"tagName":205,"properties":3204,"children":3205},{"style":2301},[3206],{"type":27,"value":3207}," =",{"type":31,"tagName":205,"properties":3209,"children":3210},{"style":2155},[3211],{"type":27,"value":3212}," bar.",{"type":31,"tagName":205,"properties":3214,"children":3215},{"style":2149},[3216],{"type":27,"value":3217},"close",{"type":31,"tagName":205,"properties":3219,"children":3220},{"style":2155},[3221],{"type":27,"value":3222},"();",{"type":27,"value":28},{"type":31,"tagName":205,"properties":3225,"children":3226},{"class":207},[3227,3231,3236,3240,3245,3250],{"type":31,"tagName":205,"properties":3228,"children":3229},{"style":2301},[3230],{"type":27,"value":3197},{"type":31,"tagName":205,"properties":3232,"children":3233},{"style":2171},[3234],{"type":27,"value":3235}," mean",{"type":31,"tagName":205,"properties":3237,"children":3238},{"style":2301},[3239],{"type":27,"value":3207},{"type":31,"tagName":205,"properties":3241,"children":3242},{"style":2155},[3243],{"type":27,"value":3244}," sma.",{"type":31,"tagName":205,"properties":3246,"children":3247},{"style":2149},[3248],{"type":27,"value":3249},"update",{"type":31,"tagName":205,"properties":3251,"children":3252},{"style":2155},[3253],{"type":27,"value":3254},"(close);",{"type":27,"value":28},{"type":31,"tagName":205,"properties":3257,"children":3258},{"class":207},[3259,3263,3268,3272,3277,3281],{"type":31,"tagName":205,"properties":3260,"children":3261},{"style":2301},[3262],{"type":27,"value":3197},{"type":31,"tagName":205,"properties":3264,"children":3265},{"style":2171},[3266],{"type":27,"value":3267}," dev",{"type":31,"tagName":205,"properties":3269,"children":3270},{"style":2301},[3271],{"type":27,"value":3207},{"type":31,"tagName":205,"properties":3273,"children":3274},{"style":2155},[3275],{"type":27,"value":3276}," stdev.",{"type":31,"tagName":205,"properties":3278,"children":3279},{"style":2149},[3280],{"type":27,"value":3249},{"type":31,"tagName":205,"properties":3282,"children":3283},{"style":2155},[3284],{"type":27,"value":3254},{"type":27,"value":28},{"type":31,"tagName":205,"properties":3287,"children":3288},{"class":207},[3289,3293,3298,3302,3306],{"type":31,"tagName":205,"properties":3290,"children":3291},{"style":2301},[3292],{"type":27,"value":3197},{"type":31,"tagName":205,"properties":3294,"children":3295},{"style":2171},[3296],{"type":27,"value":3297}," z",{"type":31,"tagName":205,"properties":3299,"children":3300},{"style":2301},[3301],{"type":27,"value":3207},{"type":31,"tagName":205,"properties":3303,"children":3304},{"style":2149},[3305],{"type":27,"value":2309},{"type":31,"tagName":205,"properties":3307,"children":3308},{"style":2155},[3309],{"type":27,"value":3310},"(close, mean, dev);",{"type":27,"value":28},{"type":31,"tagName":205,"properties":3313,"children":3314},{"class":207},[3315,3319,3324,3328,3332,3336,3341,3346,3351,3355],{"type":31,"tagName":205,"properties":3316,"children":3317},{"style":2301},[3318],{"type":27,"value":3197},{"type":31,"tagName":205,"properties":3320,"children":3321},{"style":2171},[3322],{"type":27,"value":3323}," band",{"type":31,"tagName":205,"properties":3325,"children":3326},{"style":2301},[3327],{"type":27,"value":3207},{"type":31,"tagName":205,"properties":3329,"children":3330},{"style":2301},[3331],{"type":27,"value":2971},{"type":31,"tagName":205,"properties":3333,"children":3334},{"style":2149},[3335],{"type":27,"value":2677},{"type":31,"tagName":205,"properties":3337,"children":3338},{"style":2155},[3339],{"type":27,"value":3340},"(mean ",{"type":31,"tagName":205,"properties":3342,"children":3343},{"style":2301},[3344],{"type":27,"value":3345},"+",{"type":31,"tagName":205,"properties":3347,"children":3348},{"style":2155},[3349],{"type":27,"value":3350}," dev, mean ",{"type":31,"tagName":205,"properties":3352,"children":3353},{"style":2301},[3354],{"type":27,"value":2442},{"type":31,"tagName":205,"properties":3356,"children":3357},{"style":2155},[3358],{"type":27,"value":3359}," dev);",{"type":27,"value":28},{"type":31,"tagName":205,"properties":3362,"children":3363},{"class":207},[3364,3368,3373,3378,3383,3388,3393,3398,3402],{"type":31,"tagName":205,"properties":3365,"children":3366},{"style":2301},[3367],{"type":27,"value":2389},{"type":31,"tagName":205,"properties":3369,"children":3370},{"style":2155},[3371],{"type":27,"value":3372}," (",{"type":31,"tagName":205,"properties":3374,"children":3375},{"style":2149},[3376],{"type":27,"value":3377},"isNaN",{"type":31,"tagName":205,"properties":3379,"children":3380},{"style":2155},[3381],{"type":27,"value":3382},"(mean) ",{"type":31,"tagName":205,"properties":3384,"children":3385},{"style":2301},[3386],{"type":27,"value":3387},"||",{"type":31,"tagName":205,"properties":3389,"children":3390},{"style":2149},[3391],{"type":27,"value":3392}," isNaN",{"type":31,"tagName":205,"properties":3394,"children":3395},{"style":2155},[3396],{"type":27,"value":3397},"(dev)) ",{"type":31,"tagName":205,"properties":3399,"children":3400},{"style":2301},[3401],{"type":27,"value":2414},{"type":31,"tagName":205,"properties":3403,"children":3404},{"style":2155},[3405],{"type":27,"value":2423},{"type":27,"value":28},{"type":31,"tagName":205,"properties":3408,"children":3409},{"class":207},[3410,3415],{"type":31,"tagName":205,"properties":3411,"children":3412},{"style":2149},[3413],{"type":27,"value":3414},"  out_z",{"type":31,"tagName":205,"properties":3416,"children":3417},{"style":2155},[3418],{"type":27,"value":3419},"(z);",{"type":27,"value":28},{"type":31,"tagName":205,"properties":3422,"children":3423},{"class":207},[3424,3429,3434,3439,3444,3449,3453,3458,3462,3467,3472,3476,3480,3484],{"type":31,"tagName":205,"properties":3425,"children":3426},{"style":2149},[3427],{"type":27,"value":3428},"  out_regime",{"type":31,"tagName":205,"properties":3430,"children":3431},{"style":2155},[3432],{"type":27,"value":3433},"(band.",{"type":31,"tagName":205,"properties":3435,"children":3436},{"style":2149},[3437],{"type":27,"value":3438},"contains",{"type":31,"tagName":205,"properties":3440,"children":3441},{"style":2155},[3442],{"type":27,"value":3443},"(z) ",{"type":31,"tagName":205,"properties":3445,"children":3446},{"style":2301},[3447],{"type":27,"value":3448},"?",{"type":31,"tagName":205,"properties":3450,"children":3451},{"style":2171},[3452],{"type":27,"value":2404},{"type":31,"tagName":205,"properties":3454,"children":3455},{"style":2301},[3456],{"type":27,"value":3457}," :",{"type":31,"tagName":205,"properties":3459,"children":3460},{"style":2149},[3461],{"type":27,"value":2492},{"type":31,"tagName":205,"properties":3463,"children":3464},{"style":2155},[3465],{"type":27,"value":3466},"(z, ",{"type":31,"tagName":205,"properties":3468,"children":3469},{"style":2171},[3470],{"type":27,"value":3471},"2.0",{"type":31,"tagName":205,"properties":3473,"children":3474},{"style":2155},[3475],{"type":27,"value":384},{"type":31,"tagName":205,"properties":3477,"children":3478},{"style":2301},[3479],{"type":27,"value":2442},{"type":31,"tagName":205,"properties":3481,"children":3482},{"style":2171},[3483],{"type":27,"value":3471},{"type":31,"tagName":205,"properties":3485,"children":3486},{"style":2155},[3487],{"type":27,"value":3488},"));",{"type":27,"value":28},{"type":31,"tagName":205,"properties":3491,"children":3492},{"class":207},[3493],{"type":31,"tagName":205,"properties":3494,"children":3495},{"style":2155},[3496],{"type":27,"value":2466},{"type":27,"value":28},{"type":31,"tagName":32,"properties":3499,"children":3500,"position":3570},{},[3501,3509,3523,3530,3545,3551,3563],{"type":27,"value":3502,"position":3503},"In the editor, open a ",{"start":3504,"end":3507},{"line":3505,"column":21,"offset":3506},217,10414,{"line":3505,"column":850,"offset":3508},10436,{"type":31,"tagName":46,"properties":3510,"children":3511,"position":3519},{},[3512],{"type":27,"value":3513,"position":3514},"New indicator",{"start":3515,"end":3517},{"line":3505,"column":858,"offset":3516},10438,{"line":3505,"column":435,"offset":3518},10451,{"start":3520,"end":3521},{"line":3505,"column":850,"offset":3508},{"line":3505,"column":466,"offset":3522},10453,{"type":27,"value":3524,"position":3525}," tab, paste it in, and press\n",{"start":3526,"end":3527},{"line":3505,"column":466,"offset":3522},{"line":3528,"column":21,"offset":3529},218,10482,{"type":31,"tagName":46,"properties":3531,"children":3532,"position":3541},{},[3533],{"type":27,"value":3534,"position":3535},"Run",{"start":3536,"end":3538},{"line":3528,"column":127,"offset":3537},10484,{"line":3528,"column":3539,"offset":3540},6,10487,{"start":3542,"end":3543},{"line":3528,"column":21,"offset":3529},{"line":3528,"column":68,"offset":3544},10489,{"type":27,"value":3546,"position":3547},": it builds like any other indicator. ",{"start":3548,"end":3549},{"line":3528,"column":68,"offset":3544},{"line":3528,"column":388,"offset":3550},10527,{"type":31,"tagName":199,"properties":3552,"children":3553,"position":3560},{},[3554],{"type":27,"value":3555,"position":3556},"Band",{"start":3557,"end":3558},{"line":3528,"column":388,"offset":3550},{"line":3528,"column":623,"offset":3559},10533,{"start":3561,"end":3562},{"line":3528,"column":388,"offset":3550},{"line":3528,"column":623,"offset":3559},{"type":27,"value":3564,"position":3565}," is a class the\nindicator constructs; a function is a function everywhere in the file,\nand there are no placement rules.",{"start":3566,"end":3567},{"line":3528,"column":623,"offset":3559},{"line":3568,"column":157,"offset":3569},220,10653,{"start":3571,"end":3572},{"line":3505,"column":21,"offset":3506},{"line":3568,"column":157,"offset":3569},{"type":27,"value":28},{"type":31,"tagName":32,"properties":3575,"children":3576,"position":3642},{},[3577,3585,3597,3604,3615,3622,3637],{"type":27,"value":3578,"position":3579},"The ",{"start":3580,"end":3583},{"line":3581,"column":21,"offset":3582},222,10655,{"line":3581,"column":39,"offset":3584},10659,{"type":31,"tagName":199,"properties":3586,"children":3587,"position":3594},{},[3588],{"type":27,"value":3589,"position":3590},"new Band(...)",{"start":3591,"end":3592},{"line":3581,"column":39,"offset":3584},{"line":3581,"column":104,"offset":3593},10674,{"start":3595,"end":3596},{"line":3581,"column":39,"offset":3584},{"line":3581,"column":104,"offset":3593},{"type":27,"value":3598,"position":3599}," on every bar allocates, and the module's runtime\nnever frees; keep one ",{"start":3600,"end":3601},{"line":3581,"column":104,"offset":3593},{"line":3602,"column":850,"offset":3603},223,10746,{"type":31,"tagName":199,"properties":3605,"children":3606,"position":3612},{},[3607],{"type":27,"value":3555,"position":3608},{"start":3609,"end":3610},{"line":3602,"column":850,"offset":3603},{"line":3602,"column":646,"offset":3611},10752,{"start":3613,"end":3614},{"line":3602,"column":850,"offset":3603},{"line":3602,"column":646,"offset":3611},{"type":27,"value":3616,"position":3617}," and update its fields when the history is\nlong (",{"start":3618,"end":3619},{"line":3602,"column":646,"offset":3611},{"line":3620,"column":42,"offset":3621},224,10801,{"type":31,"tagName":119,"properties":3623,"children":3625,"position":3633},{"href":3624},"../core-concepts/collections.md",[3626],{"type":27,"value":3627,"position":3628},"Collections",{"start":3629,"end":3631},{"line":3620,"column":68,"offset":3630},10802,{"line":3620,"column":493,"offset":3632},10813,{"start":3634,"end":3635},{"line":3620,"column":42,"offset":3621},{"line":3620,"column":309,"offset":3636},10847,{"type":27,"value":1740,"position":3638},{"start":3639,"end":3640},{"line":3620,"column":309,"offset":3636},{"line":3620,"column":404,"offset":3641},10849,{"start":3643,"end":3644},{"line":3581,"column":21,"offset":3582},{"line":3620,"column":404,"offset":3641},{"type":27,"value":28},{"type":31,"tagName":2031,"properties":3647,"children":3648,"position":3657},{},[3649],{"type":27,"value":3650,"position":3651},"Reuse across indicators",{"start":3652,"end":3655},{"line":3653,"column":39,"offset":3654},226,10855,{"line":3653,"column":358,"offset":3656},10878,{"start":3658,"end":3660},{"line":3653,"column":21,"offset":3659},10851,{"line":3653,"column":358,"offset":3656},{"type":27,"value":28},{"type":31,"tagName":32,"properties":3663,"children":3664,"position":3673},{},[3665],{"type":27,"value":3666,"position":3667},"What sharing code between indicators looks like on the chart:",{"start":3668,"end":3671},{"line":3669,"column":21,"offset":3670},228,10880,{"line":3669,"column":750,"offset":3672},10941,{"start":3674,"end":3675},{"line":3669,"column":21,"offset":3670},{"line":3669,"column":750,"offset":3672},{"type":27,"value":3677},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":31,"tagName":929,"properties":3679,"children":3680,"position":4097},{},[3681,3725],{"type":31,"tagName":933,"properties":3682,"children":3683,"position":3722},{},[3684],{"type":31,"tagName":937,"properties":3685,"children":3686,"position":3719},{},[3687,3703],{"type":31,"tagName":941,"properties":3688,"children":3689,"position":3698},{},[3690],{"type":27,"value":3691,"position":3692},"You want",{"start":3693,"end":3696},{"line":3694,"column":127,"offset":3695},230,10945,{"line":3694,"column":91,"offset":3697},10953,{"start":3699,"end":3701},{"line":3694,"column":21,"offset":3700},10943,{"line":3694,"column":302,"offset":3702},10954,{"type":31,"tagName":941,"properties":3704,"children":3705,"position":3715},{},[3706,3713],{"type":31,"tagName":205,"properties":3707,"children":3710},{"className":3708},[3709],"brand-lc",[3711],{"type":27,"value":3712},"wrun",{"type":27,"value":3714}," form",{"start":3716,"end":3717},{"line":3694,"column":302,"offset":3702},{"line":3694,"column":858,"offset":3718},10967,{"start":3720,"end":3721},{"line":3694,"column":21,"offset":3700},{"line":3694,"column":858,"offset":3718},{"start":3723,"end":3724},{"line":3694,"column":21,"offset":3700},{"line":3694,"column":858,"offset":3718},{"type":31,"tagName":992,"properties":3726,"children":3727,"position":4094},{},[3728,3764,3800,3837,3894,3966,4024],{"type":31,"tagName":937,"properties":3729,"children":3730,"position":3761},{},[3731,3747],{"type":31,"tagName":999,"properties":3732,"children":3733,"position":3742},{},[3734],{"type":27,"value":3735,"position":3736},"use another indicator's functions",{"start":3737,"end":3740},{"line":3738,"column":127,"offset":3739},232,10984,{"line":3738,"column":342,"offset":3741},11017,{"start":3743,"end":3745},{"line":3738,"column":21,"offset":3744},10982,{"line":3738,"column":373,"offset":3746},11018,{"type":31,"tagName":999,"properties":3748,"children":3749,"position":3757},{},[3750],{"type":27,"value":3751,"position":3752},"copy them into your tab, or add that indicator to the chart beside yours as its own overlay",{"start":3753,"end":3755},{"line":3738,"column":452,"offset":3754},11020,{"line":3738,"column":1831,"offset":3756},11111,{"start":3758,"end":3759},{"line":3738,"column":373,"offset":3746},{"line":3738,"column":1850,"offset":3760},11113,{"start":3762,"end":3763},{"line":3738,"column":21,"offset":3744},{"line":3738,"column":1850,"offset":3760},{"type":31,"tagName":937,"properties":3765,"children":3766,"position":3797},{},[3767,3783],{"type":31,"tagName":999,"properties":3768,"children":3769,"position":3778},{},[3770],{"type":27,"value":3771,"position":3772},"a shared type",{"start":3773,"end":3776},{"line":3774,"column":127,"offset":3775},233,11116,{"line":3774,"column":101,"offset":3777},11129,{"start":3779,"end":3781},{"line":3774,"column":21,"offset":3780},11114,{"line":3774,"column":487,"offset":3782},11130,{"type":31,"tagName":999,"properties":3784,"children":3785,"position":3793},{},[3786],{"type":27,"value":3787,"position":3788},"a class in your tab",{"start":3789,"end":3791},{"line":3774,"column":493,"offset":3790},11132,{"line":3774,"column":435,"offset":3792},11151,{"start":3794,"end":3795},{"line":3774,"column":487,"offset":3782},{"line":3774,"column":466,"offset":3796},11153,{"start":3798,"end":3799},{"line":3774,"column":21,"offset":3780},{"line":3774,"column":466,"offset":3796},{"type":31,"tagName":937,"properties":3801,"children":3802,"position":3834},{},[3803,3819],{"type":31,"tagName":999,"properties":3804,"children":3805,"position":3814},{},[3806],{"type":27,"value":3807,"position":3808},"reuse a series another indicator computed",{"start":3809,"end":3812},{"line":3810,"column":127,"offset":3811},234,11156,{"line":3810,"column":381,"offset":3813},11197,{"start":3815,"end":3817},{"line":3810,"column":21,"offset":3816},11154,{"line":3810,"column":134,"offset":3818},11198,{"type":31,"tagName":999,"properties":3820,"children":3821,"position":3829},{},[3822],{"type":27,"value":3823,"position":3824},"not on the chart: each indicator runs its own module and cannot read another's outputs, so compute the series in the consumer",{"start":3825,"end":3827},{"line":3810,"column":1569,"offset":3826},11200,{"line":3810,"column":1054,"offset":3828},11325,{"start":3830,"end":3831},{"line":3810,"column":134,"offset":3818},{"line":3810,"column":3832,"offset":3833},174,11327,{"start":3835,"end":3836},{"line":3810,"column":21,"offset":3816},{"line":3810,"column":3832,"offset":3833},{"type":31,"tagName":937,"properties":3838,"children":3839,"position":3891},{},[3840,3856],{"type":31,"tagName":999,"properties":3841,"children":3842,"position":3851},{},[3843],{"type":27,"value":3844,"position":3845},"a draft that resolves live in the editor",{"start":3846,"end":3849},{"line":3847,"column":127,"offset":3848},235,11330,{"line":3847,"column":164,"offset":3850},11370,{"start":3852,"end":3854},{"line":3847,"column":21,"offset":3853},11328,{"line":3847,"column":381,"offset":3855},11371,{"type":31,"tagName":999,"properties":3857,"children":3858,"position":3887},{},[3859,3867,3881],{"type":27,"value":3860,"position":3861},"the editor builds the current source as you type, and ",{"start":3862,"end":3864},{"line":3847,"column":388,"offset":3863},11373,{"line":3847,"column":3865,"offset":3866},100,11427,{"type":31,"tagName":46,"properties":3868,"children":3869,"position":3877},{},[3870],{"type":27,"value":3534,"position":3871},{"start":3872,"end":3875},{"line":3847,"column":3873,"offset":3874},102,11429,{"line":3847,"column":1367,"offset":3876},11432,{"start":3878,"end":3879},{"line":3847,"column":3865,"offset":3866},{"line":3847,"column":1380,"offset":3880},11434,{"type":27,"value":3882,"position":3883}," puts it on the chart",{"start":3884,"end":3885},{"line":3847,"column":1380,"offset":3880},{"line":3847,"column":1793,"offset":3886},11455,{"start":3888,"end":3889},{"line":3847,"column":381,"offset":3855},{"line":3847,"column":1831,"offset":3890},11457,{"start":3892,"end":3893},{"line":3847,"column":21,"offset":3853},{"line":3847,"column":1831,"offset":3890},{"type":31,"tagName":937,"properties":3895,"children":3896,"position":3963},{},[3897,3913],{"type":31,"tagName":999,"properties":3898,"children":3899,"position":3908},{},[3900],{"type":27,"value":3901,"position":3902},"publish an immutable version",{"start":3903,"end":3906},{"line":3904,"column":127,"offset":3905},236,11460,{"line":3904,"column":293,"offset":3907},11488,{"start":3909,"end":3911},{"line":3904,"column":21,"offset":3910},11458,{"line":3904,"column":182,"offset":3912},11489,{"type":31,"tagName":999,"properties":3914,"children":3915,"position":3958},{},[3916,3930,3936,3952],{"type":31,"tagName":46,"properties":3917,"children":3918,"position":3925},{},[3919],{"type":27,"value":50,"position":3920},{"start":3921,"end":3923},{"line":3904,"column":342,"offset":3922},11493,{"line":3904,"column":164,"offset":3924},11500,{"start":3926,"end":3928},{"line":3904,"column":157,"offset":3927},11491,{"line":3904,"column":134,"offset":3929},11502,{"type":27,"value":3931,"position":3932}," in the editor; a published version never changes (",{"start":3933,"end":3934},{"line":3904,"column":134,"offset":3929},{"line":3904,"column":1100,"offset":3935},11553,{"type":31,"tagName":119,"properties":3937,"children":3939,"position":3947},{"href":3938},"#the-publish-indicator-dialog",[3940],{"type":27,"value":175,"position":3941},{"start":3942,"end":3945},{"line":3904,"column":3943,"offset":3944},97,11554,{"line":3904,"column":1722,"offset":3946},11582,{"start":3948,"end":3949},{"line":3904,"column":1100,"offset":3935},{"line":3904,"column":3950,"offset":3951},157,11614,{"type":27,"value":2367,"position":3953},{"start":3954,"end":3955},{"line":3904,"column":3950,"offset":3951},{"line":3904,"column":3956,"offset":3957},158,11615,{"start":3959,"end":3960},{"line":3904,"column":182,"offset":3912},{"line":3904,"column":3961,"offset":3962},160,11617,{"start":3964,"end":3965},{"line":3904,"column":21,"offset":3910},{"line":3904,"column":3961,"offset":3962},{"type":31,"tagName":937,"properties":3967,"children":3968,"position":4021},{},[3969,3985],{"type":31,"tagName":999,"properties":3970,"children":3971,"position":3980},{},[3972],{"type":27,"value":3973,"position":3974},"pin an exact version",{"start":3975,"end":3978},{"line":3976,"column":127,"offset":3977},237,11620,{"line":3976,"column":850,"offset":3979},11640,{"start":3981,"end":3983},{"line":3976,"column":21,"offset":3982},11618,{"line":3976,"column":79,"offset":3984},11641,{"type":31,"tagName":999,"properties":3986,"children":3987,"position":4017},{},[3988,3996,4011],{"type":27,"value":3989,"position":3990},"a chart keeps the exact version it added and reloads that version (",{"start":3991,"end":3993},{"line":3976,"column":84,"offset":3992},11643,{"line":3976,"column":3994,"offset":3995},93,11710,{"type":31,"tagName":119,"properties":3997,"children":3999,"position":4007},{"href":3998},"#after-publishing",[4000],{"type":27,"value":1377,"position":4001},{"start":4002,"end":4005},{"line":3976,"column":4003,"offset":4004},94,11711,{"line":3976,"column":1438,"offset":4006},11727,{"start":4008,"end":4009},{"line":3976,"column":3994,"offset":3995},{"line":3976,"column":1831,"offset":4010},11747,{"type":27,"value":2367,"position":4012},{"start":4013,"end":4014},{"line":3976,"column":1831,"offset":4010},{"line":3976,"column":4015,"offset":4016},131,11748,{"start":4018,"end":4019},{"line":3976,"column":79,"offset":3984},{"line":3976,"column":1883,"offset":4020},11750,{"start":4022,"end":4023},{"line":3976,"column":21,"offset":3982},{"line":3976,"column":1883,"offset":4020},{"type":31,"tagName":937,"properties":4025,"children":4026,"position":4091},{},[4027,4043],{"type":31,"tagName":999,"properties":4028,"children":4029,"position":4038},{},[4030],{"type":27,"value":4031,"position":4032},"start from someone else's code",{"start":4033,"end":4036},{"line":4034,"column":127,"offset":4035},238,11753,{"line":4034,"column":861,"offset":4037},11783,{"start":4039,"end":4041},{"line":4034,"column":21,"offset":4040},11751,{"line":4034,"column":157,"offset":4042},11784,{"type":31,"tagName":999,"properties":4044,"children":4045,"position":4087},{},[4046,4060,4066,4081],{"type":31,"tagName":46,"properties":4047,"children":4048,"position":4055},{},[4049],{"type":27,"value":1676,"position":4050},{"start":4051,"end":4053},{"line":4034,"column":435,"offset":4052},11788,{"line":4034,"column":376,"offset":4054},11792,{"start":4056,"end":4058},{"line":4034,"column":342,"offset":4057},11786,{"line":4034,"column":381,"offset":4059},11794,{"type":27,"value":4061,"position":4062}," (on desktop) copies an Open source indicator's code into a new draft in your editor (",{"start":4063,"end":4064},{"line":4034,"column":381,"offset":4059},{"line":4034,"column":1831,"offset":4065},11880,{"type":31,"tagName":119,"properties":4067,"children":4068,"position":4076},{"href":3998},[4069],{"type":27,"value":1377,"position":4070},{"start":4071,"end":4073},{"line":4034,"column":4015,"offset":4072},11881,{"line":4034,"column":4074,"offset":4075},147,11897,{"start":4077,"end":4078},{"line":4034,"column":1831,"offset":4065},{"line":4034,"column":4079,"offset":4080},167,11917,{"type":27,"value":2367,"position":4082},{"start":4083,"end":4084},{"line":4034,"column":4079,"offset":4080},{"line":4034,"column":4085,"offset":4086},168,11918,{"start":4088,"end":4089},{"line":4034,"column":157,"offset":4042},{"line":4034,"column":1049,"offset":4090},11920,{"start":4092,"end":4093},{"line":4034,"column":21,"offset":4040},{"line":4034,"column":1049,"offset":4090},{"start":4095,"end":4096},{"line":3738,"column":21,"offset":3744},{"line":4034,"column":1049,"offset":4090},{"start":4098,"end":4099},{"line":3694,"column":21,"offset":3700},{"line":4034,"column":1049,"offset":4090},{"type":27,"value":28},{"type":31,"tagName":171,"properties":4102,"children":4103,"position":4112},{},[4104],{"type":27,"value":4105,"position":4106},"Good to know",{"start":4107,"end":4110},{"line":4108,"column":179,"offset":4109},240,11925,{"line":4108,"column":101,"offset":4111},11937,{"start":4113,"end":4115},{"line":4108,"column":21,"offset":4114},11922,{"line":4108,"column":101,"offset":4111},{"type":27,"value":28},{"type":31,"tagName":278,"properties":4118,"children":4119,"position":4246},{},[4120,4121,4194,4195,4211,4212,4228,4229,4245],{"type":27,"value":28},{"type":31,"tagName":283,"properties":4122,"children":4123,"position":4190},{},[4124,4131,4143,4150,4164,4170,4184],{"type":27,"value":4125,"position":4126},"Official indicators publish under ",{"start":4127,"end":4129},{"line":553,"column":127,"offset":4128},11941,{"line":553,"column":373,"offset":4130},11975,{"type":31,"tagName":199,"properties":4132,"children":4133,"position":4140},{},[4134],{"type":27,"value":4135,"position":4136},"@om-core",{"start":4137,"end":4138},{"line":553,"column":373,"offset":4130},{"line":553,"column":1569,"offset":4139},11985,{"start":4141,"end":4142},{"line":553,"column":373,"offset":4130},{"line":553,"column":1569,"offset":4139},{"type":27,"value":4144,"position":4145},": they list under\n",{"start":4146,"end":4147},{"line":553,"column":1569,"offset":4139},{"line":4148,"column":21,"offset":4149},243,12003,{"type":31,"tagName":46,"properties":4151,"children":4152,"position":4159},{},[4153],{"type":27,"value":1464,"position":4154},{"start":4155,"end":4157},{"line":4148,"column":39,"offset":4156},12007,{"line":4148,"column":335,"offset":4158},12017,{"start":4160,"end":4162},{"line":4148,"column":127,"offset":4161},12005,{"line":4148,"column":487,"offset":4163},12019,{"type":27,"value":4165,"position":4166}," with an ",{"start":4167,"end":4168},{"line":4148,"column":487,"offset":4163},{"line":4148,"column":84,"offset":4169},12028,{"type":31,"tagName":46,"properties":4171,"children":4172,"position":4180},{},[4173],{"type":27,"value":4174,"position":4175},"Official",{"start":4176,"end":4178},{"line":4148,"column":358,"offset":4177},12030,{"line":4148,"column":342,"offset":4179},12038,{"start":4181,"end":4182},{"line":4148,"column":84,"offset":4169},{"line":4148,"column":435,"offset":4183},12040,{"type":27,"value":4185,"position":4186}," tag.",{"start":4187,"end":4188},{"line":4148,"column":435,"offset":4183},{"line":4148,"column":164,"offset":4189},12045,{"start":4191,"end":4193},{"line":553,"column":21,"offset":4192},11939,{"line":4148,"column":164,"offset":4189},{"type":27,"value":28},{"type":31,"tagName":283,"properties":4196,"children":4197,"position":4207},{},[4198],{"type":27,"value":4199,"position":4200},"The dialog has no price. Paid indicators show their price in the\nlisting and cannot be added from the chart.",{"start":4201,"end":4204},{"line":4202,"column":127,"offset":4203},244,12048,{"line":4205,"column":388,"offset":4206},245,12158,{"start":4208,"end":4210},{"line":4202,"column":21,"offset":4209},12046,{"line":4205,"column":388,"offset":4206},{"type":27,"value":28},{"type":31,"tagName":283,"properties":4213,"children":4214,"position":4224},{},[4215],{"type":27,"value":4216,"position":4217},"On CME markets, community indicators and drafts cannot read CME data;\nofficial indicators can.",{"start":4218,"end":4221},{"line":4219,"column":127,"offset":4220},246,12161,{"line":4222,"column":637,"offset":4223},247,12257,{"start":4225,"end":4227},{"line":4219,"column":21,"offset":4226},12159,{"line":4222,"column":637,"offset":4223},{"type":27,"value":28},{"type":31,"tagName":283,"properties":4230,"children":4231,"position":4241},{},[4232],{"type":27,"value":4233,"position":4234},"The chart publishes to the OpenMarket registry; there is no other\nregistry to choose.",{"start":4235,"end":4238},{"line":4236,"column":127,"offset":4237},248,12260,{"line":4239,"column":109,"offset":4240},249,12347,{"start":4242,"end":4244},{"line":4236,"column":21,"offset":4243},12258,{"line":4239,"column":109,"offset":4240},{"type":27,"value":28},{"start":4247,"end":4248},{"line":553,"column":21,"offset":4192},{"line":4239,"column":109,"offset":4240},{"quirksMode":4250},false,{"start":4252,"end":4253},{"line":21,"column":21,"offset":22},{"line":4254,"column":21,"offset":4255},250,12348,1791265105843]