[{"data":1,"prerenderedAt":2014},["ShallowReactive",2],{"kscript:getting-started/whats-new-v3":3},{"slug":4,"filePath":5,"frontmatter":6,"rawMarkdown":9,"tree":10},"getting-started/whats-new-v3","getting-started/whats-new-v3.md",{"title":7,"description":8},"What's New in v3","kScript v3 turns the language from plot-an-indicator into model-a-trading-idea: typed structs, persistent collections, self-managing drawings, no-repaint multi-timeframe, multi-venue aggregation, and a reference-validated TA library. Every capability here is verified against the live engine.","---\ntitle: \"What's New in v3\"\ndescription: \"kScript v3 turns the language from plot-an-indicator into model-a-trading-idea: typed structs, persistent collections, self-managing drawings, no-repaint multi-timeframe, multi-venue aggregation, and a reference-validated TA library. Every capability here is verified against the live engine.\"\n---\n\n# What's New in v3\n\nkScript v3 is the largest release since the language launched. v2 let you compute\na series and plot it. v3 lets you **model a trading idea**: hold state in typed\nstructures across bars, draw and retire chart objects, read higher and lower\ntimeframes without repaint risk, combine symbols and venues under one budget, and\ncall a technical-analysis library whose every function is validated against an\nindependent reference.\n\nIt is **additive**. Every v2 script keeps running, and the version marker is still\n`//@version=2` (see [The version marker](#the-version-marker) below). \"v3\" is the\nengine capability tier, not a number you write.\n\n```\n            v2                              v3\n  ----------------------------    ------------------------------------\n  numbers, strings, booleans      + arrays & maps with lambdas/reducers\n  fire-and-forget plotting        + type Zone { ... } structs with methods\n  one symbol, one timeframe        + na & color as real types\n  ~15 ad-hoc TA helpers           + drawings: line/box/label/polyline/\n                                    linefill/table handles with .delete()\n                                  + htf()/ltf()/request(): no-repaint MTF,\n                                    multi-symbol, multi-venue aggregation\n                                  + 70+ reference-validated TA functions,\n                                    named streams (bb.upper, macd.signal)\n                                  + vwap(anchor=\"day\"|\"week\"|\"month\")\n                                  + a named limits manifest; every error\n                                    carries a line and column\n```\n\n## The headline capabilities\n\n### Typed structs with methods\n\nDeclare a `type` with fields and behavior, construct instances with named fields,\nand carry them across bars. State now has the shape of the problem instead of a\npile of parallel arrays.\n\n```javascript title=\"scripts/probes/lang-types/band_struct_method.ks\" lines wrap\n//@version=2\ndefine(title=\"Struct Methods\", position=\"offchart\", axis=true)\n\ntype Band {\n  top: number,\n  bottom: number,\n\n  func width() {\n    return this.top - this.bottom\n  }\n}\n\ntimeseries d = ohlcv(symbol=currentSymbol, exchange=currentExchange)\nvar band = Band.new(top=d.high[0], bottom=d.low[0])\nplotLine(value=band.width(), colors=[\"#2563eb\"], width=2, label=[\"Band width\"], desc=[\"high minus low via a struct method\"])\n```\n\n\nSee [User-Defined Types](/kscript/core-concepts/user-defined-types).\n\n### Self-managing drawings\n\nLines, boxes, labels, polylines, linefills, and tables are now **handles** you can\ncreate and `.delete()`. Build supply/demand zones that remove themselves when price\nmitigates them, or a live dashboard table that updates on the last bar.\n\nSee [Drawing Objects](/kscript/functions/drawing-objects).\n\n### No-repaint multi-timeframe\n\n`htf()` reads a **confirmed** higher timeframe with no look-ahead: the 4h value at\nany bar uses only data that closed before that bar. The repaint trap that\n`security()` invites in other languages is impossible by default. `ltf()` attaches\nfiner bars, and `request()` is one-line shorthand for loading another symbol.\n\nSee [Multi-Timeframe](/kscript/core-concepts/multi-timeframe).\n\n### Multi-venue aggregation\n\nA single script can load up to **20 distinct sources**. Sum real buy/sell flow\nacross four exchanges into one cumulative delta, or aggregate open interest across\nvenues — the kind of cross-market view that took one source per script in v2.\n\nSee [Multi-Source & Aggregation](/kscript/core-concepts/multi-source) and\n[Data Sources](/kscript/core-concepts/data-sources) for all 18 source types.\n\n### A reference-validated TA library\n\n70+ canonical indicators, each matching an independent reference implementation.\nMulti-output indicators expose **named streams**: `bb.upper`, `macd.signal`,\n`stoch.k`, `supertrend.direction` — no more positional guesswork.\n\nSee the [TA Library](/kscript/functions/ta-library) and\n[Named Streams](/kscript/core-concepts/named-streams).\n\n### Session-anchored VWAP\n\n`vwap(anchor=\"day\" | \"week\" | \"month\")` resets on real UTC session boundaries\ninstead of drifting with however much history happened to load. The no-argument\nform is the familiar cumulative VWAP.\n\nSee [Special Indicators](/kscript/functions/special-indicators).\n\n## Compatibility\n\n- **Every v2 script keeps running.** v3 is additive.\n- **Eight TA builtins were corrected to their textbook forms** (`ema` seeding,\n  `rsi` Wilder smoothing, `macd`, `psar`, `adx`, `highest`/`lowest`, strict `sma`\n  warmup). Early-bar values change for those functions; this is a correction, not\n  a regression, since each now matches an independent reference.\n- A few v2 conveniences were tightened or renamed; the\n  [v2 vs v3 migration guide](/kscript/migrations/v2-vs-v3) lists them.\n\n## The version marker\n\nA v3 script still starts with `//@version=2` on its first line. The number is the\n**script-format marker**, not the engine version — and it must be `//@version=2`.\nDo not write `//@version=3`: the engine does not recognize it and falls back. All\nof the v3 capabilities above compile and run under the `//@version=2` marker.\n\n```javascript title=\"scripts/probes/lang-variables/var_timeseries_basic.ks\" lines wrap\n//@version=2\ndefine(title=\"v3 under the v2 marker\", position=\"offchart\", axis=true)\n\ntimeseries d = ohlcv(symbol=currentSymbol, exchange=currentExchange)\ntimeseries sma20 = sma(source=d.close, period=20)\nplotLine(value=sma20, colors=[\"#2563eb\"], width=2, label=[\"SMA 20\"], desc=[\"v3 features run under //@version=2\"])\n```\n\n\nIf something does not behave as documented, the\n[Common Errors](/kscript/faq/common-errors) page maps every real engine error\nmessage to its cause and fix.\n",{"type":11,"children":12,"data":2006,"position":2008},"root",[13,16,61,62,149,150,169,170,187,188,206,207,239,240,643,644,683,684,701,702,759,760,792,793,808,809,915,916,948,949,965,966,1005,1006,1064,1065,1081,1082,1194,1195,1251,1252,1269,1270,1298,1299,1333,1334,1350,1351,1608,1609,1624,1625,1733,1734,1967,1968],{"type":14,"value":15},"text","\n",{"type":17,"tagName":18,"properties":19,"children":20,"position":58},"element","p",{},[21,32,50],{"type":14,"value":22,"position":23},"kScript v3 is the largest release since the language launched. v2 let you compute\na series and plot it. v3 lets you ",{"start":24,"end":28},{"line":25,"column":26,"offset":27},3,1,20,{"line":29,"column":30,"offset":31},4,35,136,{"type":17,"tagName":33,"properties":34,"children":35,"position":45},"strong",{},[36],{"type":14,"value":37,"position":38},"model a trading idea",{"start":39,"end":42},{"line":29,"column":40,"offset":41},37,138,{"line":29,"column":43,"offset":44},57,158,{"start":46,"end":47},{"line":29,"column":30,"offset":31},{"line":29,"column":48,"offset":49},59,160,{"type":14,"value":51,"position":52},": hold state in typed\nstructures across bars, draw and retire chart objects, read higher and lower\ntimeframes without repaint risk, combine symbols and venues under one budget, and\ncall a technical-analysis library whose every function is validated against an\nindependent reference.",{"start":53,"end":54},{"line":29,"column":48,"offset":49},{"line":55,"column":56,"offset":57},8,23,442,{"start":59,"end":60},{"line":25,"column":26,"offset":27},{"line":55,"column":56,"offset":57},{"type":14,"value":15},{"type":17,"tagName":18,"properties":63,"children":64,"position":146},{},[65,74,91,98,112,119,138],{"type":14,"value":66,"position":67},"It is ",{"start":68,"end":71},{"line":69,"column":26,"offset":70},10,444,{"line":69,"column":72,"offset":73},7,450,{"type":17,"tagName":33,"properties":75,"children":76,"position":86},{},[77],{"type":14,"value":78,"position":79},"additive",{"start":80,"end":83},{"line":69,"column":81,"offset":82},9,452,{"line":69,"column":84,"offset":85},17,460,{"start":87,"end":88},{"line":69,"column":72,"offset":73},{"line":69,"column":89,"offset":90},19,462,{"type":14,"value":92,"position":93},". Every v2 script keeps running, and the version marker is still\n",{"start":94,"end":95},{"line":69,"column":89,"offset":90},{"line":96,"column":26,"offset":97},11,527,{"type":17,"tagName":99,"properties":100,"children":101,"position":109},"code",{},[102],{"type":14,"value":103,"position":104},"//@version=2",{"start":105,"end":106},{"line":96,"column":26,"offset":97},{"line":96,"column":107,"offset":108},15,541,{"start":110,"end":111},{"line":96,"column":26,"offset":97},{"line":96,"column":107,"offset":108},{"type":14,"value":113,"position":114}," (see ",{"start":115,"end":116},{"line":96,"column":107,"offset":108},{"line":96,"column":117,"offset":118},21,547,{"type":17,"tagName":120,"properties":121,"children":123,"position":133},"a",{"href":122},"#the-version-marker",[124],{"type":14,"value":125,"position":126},"The version marker",{"start":127,"end":130},{"line":96,"column":128,"offset":129},22,548,{"line":96,"column":131,"offset":132},40,566,{"start":134,"end":135},{"line":96,"column":117,"offset":118},{"line":96,"column":136,"offset":137},62,588,{"type":14,"value":139,"position":140}," below). \"v3\" is the\nengine capability tier, not a number you write.",{"start":141,"end":142},{"line":96,"column":136,"offset":137},{"line":143,"column":144,"offset":145},12,48,656,{"start":147,"end":148},{"line":69,"column":26,"offset":70},{"line":143,"column":144,"offset":145},{"type":14,"value":15},{"type":17,"tagName":151,"properties":152,"children":153,"position":166},"pre",{},[154],{"type":17,"tagName":99,"properties":155,"children":156,"position":159},{},[157],{"type":14,"value":158},"            v2                              v3\n  ----------------------------    ------------------------------------\n  numbers, strings, booleans      + arrays & maps with lambdas/reducers\n  fire-and-forget plotting        + type Zone { ... } structs with methods\n  one symbol, one timeframe        + na & color as real types\n  ~15 ad-hoc TA helpers           + drawings: line/box/label/polyline/\n                                    linefill/table handles with .delete()\n                                  + htf()/ltf()/request(): no-repaint MTF,\n                                    multi-symbol, multi-venue aggregation\n                                  + 70+ reference-validated TA functions,\n                                    named streams (bb.upper, macd.signal)\n                                  + vwap(anchor=\"day\"|\"week\"|\"month\")\n                                  + a named limits manifest; every error\n                                    carries a line and column\n",{"start":160,"end":163},{"line":161,"column":26,"offset":162},14,658,{"line":164,"column":29,"offset":165},29,1639,{"start":167,"end":168},{"line":161,"column":26,"offset":162},{"line":164,"column":29,"offset":165},{"type":14,"value":15},{"type":17,"tagName":171,"properties":172,"children":174,"position":183},"h2",{"id":173},"the-headline-capabilities",[175],{"type":14,"value":176,"position":177},"The headline capabilities",{"start":178,"end":181},{"line":179,"column":29,"offset":180},31,1644,{"line":179,"column":164,"offset":182},1669,{"start":184,"end":186},{"line":179,"column":26,"offset":185},1641,{"line":179,"column":164,"offset":182},{"type":14,"value":15},{"type":17,"tagName":189,"properties":190,"children":192,"position":202},"h3",{"id":191},"typed-structs-with-methods",[193],{"type":14,"value":194,"position":195},"Typed structs with methods",{"start":196,"end":200},{"line":197,"column":198,"offset":199},33,5,1675,{"line":197,"column":179,"offset":201},1701,{"start":203,"end":205},{"line":197,"column":26,"offset":204},1671,{"line":197,"column":179,"offset":201},{"type":14,"value":15},{"type":17,"tagName":18,"properties":208,"children":209,"position":236},{},[210,217,229],{"type":14,"value":211,"position":212},"Declare a ",{"start":213,"end":215},{"line":30,"column":26,"offset":214},1703,{"line":30,"column":96,"offset":216},1713,{"type":17,"tagName":99,"properties":218,"children":219,"position":226},{},[220],{"type":14,"value":221,"position":222},"type",{"start":223,"end":224},{"line":30,"column":96,"offset":216},{"line":30,"column":84,"offset":225},1719,{"start":227,"end":228},{"line":30,"column":96,"offset":216},{"line":30,"column":84,"offset":225},{"type":14,"value":230,"position":231}," with fields and behavior, construct instances with named fields,\nand carry them across bars. State now has the shape of the problem instead of a\npile of parallel arrays.",{"start":232,"end":233},{"line":30,"column":84,"offset":225},{"line":40,"column":234,"offset":235},25,1889,{"start":237,"end":238},{"line":30,"column":26,"offset":214},{"line":40,"column":234,"offset":235},{"type":14,"value":15},{"type":11,"children":241},[242],{"type":17,"tagName":151,"properties":243,"children":248,"data":-1},{"class":244,"style":245,"tabindex":246,"title":247},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0","scripts/probes/lang-types/band_struct_method.ks",[249],{"type":17,"tagName":99,"properties":250,"children":251},{},[252,262,263,324,325,328,329,346,347,355,356,364,365,368,369,377,378,410,411,419,420,428,429,432,433,473,474,542,543],{"type":17,"tagName":253,"properties":254,"children":256},"span",{"class":255},"line",[257],{"type":17,"tagName":253,"properties":258,"children":260},{"style":259},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[261],{"type":14,"value":103},{"type":14,"value":15},{"type":17,"tagName":253,"properties":264,"children":265},{"class":255},[266,272,278,284,290,295,299,304,309,313,319],{"type":17,"tagName":253,"properties":267,"children":269},{"style":268},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[270],{"type":14,"value":271},"define",{"type":17,"tagName":253,"properties":273,"children":275},{"style":274},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[276],{"type":14,"value":277},"(title",{"type":17,"tagName":253,"properties":279,"children":281},{"style":280},"--shiki-dark:#F97583;--shiki-light:#D73A49",[282],{"type":14,"value":283},"=",{"type":17,"tagName":253,"properties":285,"children":287},{"style":286},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[288],{"type":14,"value":289},"\"Struct Methods\"",{"type":17,"tagName":253,"properties":291,"children":292},{"style":274},[293],{"type":14,"value":294},", position",{"type":17,"tagName":253,"properties":296,"children":297},{"style":280},[298],{"type":14,"value":283},{"type":17,"tagName":253,"properties":300,"children":301},{"style":286},[302],{"type":14,"value":303},"\"offchart\"",{"type":17,"tagName":253,"properties":305,"children":306},{"style":274},[307],{"type":14,"value":308},", axis",{"type":17,"tagName":253,"properties":310,"children":311},{"style":280},[312],{"type":14,"value":283},{"type":17,"tagName":253,"properties":314,"children":316},{"style":315},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[317],{"type":14,"value":318},"true",{"type":17,"tagName":253,"properties":320,"children":321},{"style":274},[322],{"type":14,"value":323},")",{"type":14,"value":15},{"type":17,"tagName":253,"properties":326,"children":327},{"class":255},[],{"type":14,"value":15},{"type":17,"tagName":253,"properties":330,"children":331},{"class":255},[332,336,341],{"type":17,"tagName":253,"properties":333,"children":334},{"style":280},[335],{"type":14,"value":221},{"type":17,"tagName":253,"properties":337,"children":338},{"style":268},[339],{"type":14,"value":340}," Band",{"type":17,"tagName":253,"properties":342,"children":343},{"style":274},[344],{"type":14,"value":345}," {",{"type":14,"value":15},{"type":17,"tagName":253,"properties":348,"children":349},{"class":255},[350],{"type":17,"tagName":253,"properties":351,"children":352},{"style":274},[353],{"type":14,"value":354},"  top: number,",{"type":14,"value":15},{"type":17,"tagName":253,"properties":357,"children":358},{"class":255},[359],{"type":17,"tagName":253,"properties":360,"children":361},{"style":274},[362],{"type":14,"value":363},"  bottom: number,",{"type":14,"value":15},{"type":17,"tagName":253,"properties":366,"children":367},{"class":255},[],{"type":14,"value":15},{"type":17,"tagName":253,"properties":370,"children":371},{"class":255},[372],{"type":17,"tagName":253,"properties":373,"children":374},{"style":274},[375],{"type":14,"value":376},"  func width() {",{"type":14,"value":15},{"type":17,"tagName":253,"properties":379,"children":380},{"class":255},[381,386,391,396,401,405],{"type":17,"tagName":253,"properties":382,"children":383},{"style":280},[384],{"type":14,"value":385},"    return",{"type":17,"tagName":253,"properties":387,"children":388},{"style":315},[389],{"type":14,"value":390}," this",{"type":17,"tagName":253,"properties":392,"children":393},{"style":274},[394],{"type":14,"value":395},".top ",{"type":17,"tagName":253,"properties":397,"children":398},{"style":280},[399],{"type":14,"value":400},"-",{"type":17,"tagName":253,"properties":402,"children":403},{"style":315},[404],{"type":14,"value":390},{"type":17,"tagName":253,"properties":406,"children":407},{"style":274},[408],{"type":14,"value":409},".bottom",{"type":14,"value":15},{"type":17,"tagName":253,"properties":412,"children":413},{"class":255},[414],{"type":17,"tagName":253,"properties":415,"children":416},{"style":274},[417],{"type":14,"value":418},"  }",{"type":14,"value":15},{"type":17,"tagName":253,"properties":421,"children":422},{"class":255},[423],{"type":17,"tagName":253,"properties":424,"children":425},{"style":274},[426],{"type":14,"value":427},"}",{"type":14,"value":15},{"type":17,"tagName":253,"properties":430,"children":431},{"class":255},[],{"type":14,"value":15},{"type":17,"tagName":253,"properties":434,"children":435},{"class":255},[436,441,445,450,455,459,464,468],{"type":17,"tagName":253,"properties":437,"children":438},{"style":274},[439],{"type":14,"value":440},"timeseries d ",{"type":17,"tagName":253,"properties":442,"children":443},{"style":280},[444],{"type":14,"value":283},{"type":17,"tagName":253,"properties":446,"children":447},{"style":268},[448],{"type":14,"value":449}," ohlcv",{"type":17,"tagName":253,"properties":451,"children":452},{"style":274},[453],{"type":14,"value":454},"(symbol",{"type":17,"tagName":253,"properties":456,"children":457},{"style":280},[458],{"type":14,"value":283},{"type":17,"tagName":253,"properties":460,"children":461},{"style":274},[462],{"type":14,"value":463},"currentSymbol, exchange",{"type":17,"tagName":253,"properties":465,"children":466},{"style":280},[467],{"type":14,"value":283},{"type":17,"tagName":253,"properties":469,"children":470},{"style":274},[471],{"type":14,"value":472},"currentExchange)",{"type":14,"value":15},{"type":17,"tagName":253,"properties":475,"children":476},{"class":255},[477,482,487,491,496,501,506,510,515,519,524,528,533,537],{"type":17,"tagName":253,"properties":478,"children":479},{"style":280},[480],{"type":14,"value":481},"var",{"type":17,"tagName":253,"properties":483,"children":484},{"style":274},[485],{"type":14,"value":486}," band ",{"type":17,"tagName":253,"properties":488,"children":489},{"style":280},[490],{"type":14,"value":283},{"type":17,"tagName":253,"properties":492,"children":493},{"style":274},[494],{"type":14,"value":495}," Band.",{"type":17,"tagName":253,"properties":497,"children":498},{"style":268},[499],{"type":14,"value":500},"new",{"type":17,"tagName":253,"properties":502,"children":503},{"style":274},[504],{"type":14,"value":505},"(top",{"type":17,"tagName":253,"properties":507,"children":508},{"style":280},[509],{"type":14,"value":283},{"type":17,"tagName":253,"properties":511,"children":512},{"style":274},[513],{"type":14,"value":514},"d.high[",{"type":17,"tagName":253,"properties":516,"children":517},{"style":315},[518],{"type":14,"value":246},{"type":17,"tagName":253,"properties":520,"children":521},{"style":274},[522],{"type":14,"value":523},"], bottom",{"type":17,"tagName":253,"properties":525,"children":526},{"style":280},[527],{"type":14,"value":283},{"type":17,"tagName":253,"properties":529,"children":530},{"style":274},[531],{"type":14,"value":532},"d.low[",{"type":17,"tagName":253,"properties":534,"children":535},{"style":315},[536],{"type":14,"value":246},{"type":17,"tagName":253,"properties":538,"children":539},{"style":274},[540],{"type":14,"value":541},"])",{"type":14,"value":15},{"type":17,"tagName":253,"properties":544,"children":545},{"class":255},[546,551,556,560,565,570,575,579,584,589,594,598,603,608,612,616,621,626,630,634,639],{"type":17,"tagName":253,"properties":547,"children":548},{"style":268},[549],{"type":14,"value":550},"plotLine",{"type":17,"tagName":253,"properties":552,"children":553},{"style":274},[554],{"type":14,"value":555},"(value",{"type":17,"tagName":253,"properties":557,"children":558},{"style":280},[559],{"type":14,"value":283},{"type":17,"tagName":253,"properties":561,"children":562},{"style":274},[563],{"type":14,"value":564},"band.",{"type":17,"tagName":253,"properties":566,"children":567},{"style":268},[568],{"type":14,"value":569},"width",{"type":17,"tagName":253,"properties":571,"children":572},{"style":274},[573],{"type":14,"value":574},"(), colors",{"type":17,"tagName":253,"properties":576,"children":577},{"style":280},[578],{"type":14,"value":283},{"type":17,"tagName":253,"properties":580,"children":581},{"style":274},[582],{"type":14,"value":583},"[",{"type":17,"tagName":253,"properties":585,"children":586},{"style":286},[587],{"type":14,"value":588},"\"#2563eb\"",{"type":17,"tagName":253,"properties":590,"children":591},{"style":274},[592],{"type":14,"value":593},"], width",{"type":17,"tagName":253,"properties":595,"children":596},{"style":280},[597],{"type":14,"value":283},{"type":17,"tagName":253,"properties":599,"children":600},{"style":315},[601],{"type":14,"value":602},"2",{"type":17,"tagName":253,"properties":604,"children":605},{"style":274},[606],{"type":14,"value":607},", label",{"type":17,"tagName":253,"properties":609,"children":610},{"style":280},[611],{"type":14,"value":283},{"type":17,"tagName":253,"properties":613,"children":614},{"style":274},[615],{"type":14,"value":583},{"type":17,"tagName":253,"properties":617,"children":618},{"style":286},[619],{"type":14,"value":620},"\"Band width\"",{"type":17,"tagName":253,"properties":622,"children":623},{"style":274},[624],{"type":14,"value":625},"], desc",{"type":17,"tagName":253,"properties":627,"children":628},{"style":280},[629],{"type":14,"value":283},{"type":17,"tagName":253,"properties":631,"children":632},{"style":274},[633],{"type":14,"value":583},{"type":17,"tagName":253,"properties":635,"children":636},{"style":286},[637],{"type":14,"value":638},"\"high minus low via a struct method\"",{"type":17,"tagName":253,"properties":640,"children":641},{"style":274},[642],{"type":14,"value":541},{"type":14,"value":15},{"type":17,"tagName":18,"properties":645,"children":646,"position":680},{},[647,655,673],{"type":14,"value":648,"position":649},"See ",{"start":650,"end":653},{"line":651,"column":26,"offset":652},58,2405,{"line":651,"column":198,"offset":654},2409,{"type":17,"tagName":120,"properties":656,"children":658,"position":668},{"href":657},"/kscript/core-concepts/user-defined-types",[659],{"type":14,"value":660,"position":661},"User-Defined Types",{"start":662,"end":665},{"line":651,"column":663,"offset":664},6,2410,{"line":651,"column":666,"offset":667},24,2428,{"start":669,"end":670},{"line":651,"column":198,"offset":654},{"line":651,"column":671,"offset":672},68,2472,{"type":14,"value":674,"position":675},".",{"start":676,"end":677},{"line":651,"column":671,"offset":672},{"line":651,"column":678,"offset":679},69,2473,{"start":681,"end":682},{"line":651,"column":26,"offset":652},{"line":651,"column":678,"offset":679},{"type":14,"value":15},{"type":17,"tagName":189,"properties":685,"children":687,"position":697},{"id":686},"self-managing-drawings",[688],{"type":14,"value":689,"position":690},"Self-managing drawings",{"start":691,"end":694},{"line":692,"column":198,"offset":693},60,2479,{"line":692,"column":695,"offset":696},27,2501,{"start":698,"end":700},{"line":692,"column":26,"offset":699},2475,{"line":692,"column":695,"offset":696},{"type":14,"value":15},{"type":17,"tagName":18,"properties":703,"children":704,"position":756},{},[705,713,730,737,749],{"type":14,"value":706,"position":707},"Lines, boxes, labels, polylines, linefills, and tables are now ",{"start":708,"end":710},{"line":136,"column":26,"offset":709},2503,{"line":136,"column":711,"offset":712},64,2566,{"type":17,"tagName":33,"properties":714,"children":715,"position":725},{},[716],{"type":14,"value":717,"position":718},"handles",{"start":719,"end":722},{"line":136,"column":720,"offset":721},66,2568,{"line":136,"column":723,"offset":724},73,2575,{"start":726,"end":727},{"line":136,"column":711,"offset":712},{"line":136,"column":728,"offset":729},75,2577,{"type":14,"value":731,"position":732}," you can\ncreate and ",{"start":733,"end":734},{"line":136,"column":728,"offset":729},{"line":735,"column":143,"offset":736},63,2597,{"type":17,"tagName":99,"properties":738,"children":739,"position":746},{},[740],{"type":14,"value":741,"position":742},".delete()",{"start":743,"end":744},{"line":735,"column":143,"offset":736},{"line":735,"column":56,"offset":745},2608,{"start":747,"end":748},{"line":735,"column":143,"offset":736},{"line":735,"column":56,"offset":745},{"type":14,"value":750,"position":751},". Build supply/demand zones that remove themselves when price\nmitigates them, or a live dashboard table that updates on the last bar.",{"start":752,"end":753},{"line":735,"column":56,"offset":745},{"line":711,"column":754,"offset":755},72,2741,{"start":757,"end":758},{"line":136,"column":26,"offset":709},{"line":711,"column":754,"offset":755},{"type":14,"value":15},{"type":17,"tagName":18,"properties":761,"children":762,"position":789},{},[763,769,784],{"type":14,"value":648,"position":764},{"start":765,"end":767},{"line":720,"column":26,"offset":766},2743,{"line":720,"column":198,"offset":768},2747,{"type":17,"tagName":120,"properties":770,"children":772,"position":780},{"href":771},"/kscript/functions/drawing-objects",[773],{"type":14,"value":774,"position":775},"Drawing Objects",{"start":776,"end":778},{"line":720,"column":663,"offset":777},2748,{"line":720,"column":117,"offset":779},2763,{"start":781,"end":782},{"line":720,"column":198,"offset":768},{"line":720,"column":651,"offset":783},2800,{"type":14,"value":674,"position":785},{"start":786,"end":787},{"line":720,"column":651,"offset":783},{"line":720,"column":48,"offset":788},2801,{"start":790,"end":791},{"line":720,"column":26,"offset":766},{"line":720,"column":48,"offset":788},{"type":14,"value":15},{"type":17,"tagName":189,"properties":794,"children":796,"position":804},{"id":795},"no-repaint-multi-timeframe",[797],{"type":14,"value":798,"position":799},"No-repaint multi-timeframe",{"start":800,"end":802},{"line":671,"column":198,"offset":801},2807,{"line":671,"column":179,"offset":803},2833,{"start":805,"end":807},{"line":671,"column":26,"offset":806},2803,{"line":671,"column":179,"offset":803},{"type":14,"value":15},{"type":17,"tagName":18,"properties":810,"children":811,"position":912},{},[812,826,832,848,854,867,874,887,893,905],{"type":17,"tagName":99,"properties":813,"children":814,"position":823},{},[815],{"type":14,"value":816,"position":817},"htf()",{"start":818,"end":821},{"line":819,"column":26,"offset":820},70,2835,{"line":819,"column":55,"offset":822},2842,{"start":824,"end":825},{"line":819,"column":26,"offset":820},{"line":819,"column":55,"offset":822},{"type":14,"value":827,"position":828}," reads a ",{"start":829,"end":830},{"line":819,"column":55,"offset":822},{"line":819,"column":84,"offset":831},2851,{"type":17,"tagName":33,"properties":833,"children":834,"position":843},{},[835],{"type":14,"value":836,"position":837},"confirmed",{"start":838,"end":840},{"line":819,"column":89,"offset":839},2853,{"line":819,"column":841,"offset":842},28,2862,{"start":844,"end":845},{"line":819,"column":84,"offset":831},{"line":819,"column":846,"offset":847},30,2864,{"type":14,"value":849,"position":850}," higher timeframe with no look-ahead: the 4h value at\nany bar uses only data that closed before that bar. The repaint trap that\n",{"start":851,"end":852},{"line":819,"column":846,"offset":847},{"line":754,"column":26,"offset":853},2992,{"type":17,"tagName":99,"properties":855,"children":856,"position":864},{},[857],{"type":14,"value":858,"position":859},"security()",{"start":860,"end":861},{"line":754,"column":26,"offset":853},{"line":754,"column":862,"offset":863},13,3004,{"start":865,"end":866},{"line":754,"column":26,"offset":853},{"line":754,"column":862,"offset":863},{"type":14,"value":868,"position":869}," invites in other languages is impossible by default. ",{"start":870,"end":871},{"line":754,"column":862,"offset":863},{"line":754,"column":872,"offset":873},67,3058,{"type":17,"tagName":99,"properties":875,"children":876,"position":884},{},[877],{"type":14,"value":878,"position":879},"ltf()",{"start":880,"end":881},{"line":754,"column":872,"offset":873},{"line":754,"column":882,"offset":883},74,3065,{"start":885,"end":886},{"line":754,"column":872,"offset":873},{"line":754,"column":882,"offset":883},{"type":14,"value":888,"position":889}," attaches\nfiner bars, and ",{"start":890,"end":891},{"line":754,"column":882,"offset":883},{"line":723,"column":84,"offset":892},3091,{"type":17,"tagName":99,"properties":894,"children":895,"position":902},{},[896],{"type":14,"value":897,"position":898},"request()",{"start":899,"end":900},{"line":723,"column":84,"offset":892},{"line":723,"column":841,"offset":901},3102,{"start":903,"end":904},{"line":723,"column":84,"offset":892},{"line":723,"column":841,"offset":901},{"type":14,"value":906,"position":907}," is one-line shorthand for loading another symbol.",{"start":908,"end":909},{"line":723,"column":841,"offset":901},{"line":723,"column":910,"offset":911},78,3152,{"start":913,"end":914},{"line":819,"column":26,"offset":820},{"line":723,"column":910,"offset":911},{"type":14,"value":15},{"type":17,"tagName":18,"properties":917,"children":918,"position":945},{},[919,925,940],{"type":14,"value":648,"position":920},{"start":921,"end":923},{"line":728,"column":26,"offset":922},3154,{"line":728,"column":198,"offset":924},3158,{"type":17,"tagName":120,"properties":926,"children":928,"position":936},{"href":927},"/kscript/core-concepts/multi-timeframe",[929],{"type":14,"value":930,"position":931},"Multi-Timeframe",{"start":932,"end":934},{"line":728,"column":663,"offset":933},3159,{"line":728,"column":117,"offset":935},3174,{"start":937,"end":938},{"line":728,"column":198,"offset":924},{"line":728,"column":136,"offset":939},3215,{"type":14,"value":674,"position":941},{"start":942,"end":943},{"line":728,"column":136,"offset":939},{"line":728,"column":735,"offset":944},3216,{"start":946,"end":947},{"line":728,"column":26,"offset":922},{"line":728,"column":735,"offset":944},{"type":14,"value":15},{"type":17,"tagName":189,"properties":950,"children":952,"position":961},{"id":951},"multi-venue-aggregation",[953],{"type":14,"value":954,"position":955},"Multi-venue aggregation",{"start":956,"end":959},{"line":957,"column":198,"offset":958},77,3222,{"line":957,"column":841,"offset":960},3245,{"start":962,"end":964},{"line":957,"column":26,"offset":963},3218,{"line":957,"column":841,"offset":960},{"type":14,"value":15},{"type":17,"tagName":18,"properties":967,"children":968,"position":1002},{},[969,978,995],{"type":14,"value":970,"position":971},"A single script can load up to ",{"start":972,"end":975},{"line":973,"column":26,"offset":974},79,3247,{"line":973,"column":976,"offset":977},32,3278,{"type":17,"tagName":33,"properties":979,"children":980,"position":990},{},[981],{"type":14,"value":982,"position":983},"20 distinct sources",{"start":984,"end":987},{"line":973,"column":985,"offset":986},34,3280,{"line":973,"column":988,"offset":989},53,3299,{"start":991,"end":992},{"line":973,"column":976,"offset":977},{"line":973,"column":993,"offset":994},55,3301,{"type":14,"value":996,"position":997},". Sum real buy/sell flow\nacross four exchanges into one cumulative delta, or aggregate open interest across\nvenues — the kind of cross-market view that took one source per script in v2.",{"start":998,"end":999},{"line":973,"column":993,"offset":994},{"line":1000,"column":910,"offset":1001},81,3486,{"start":1003,"end":1004},{"line":973,"column":26,"offset":974},{"line":1000,"column":910,"offset":1001},{"type":14,"value":15},{"type":17,"tagName":18,"properties":1007,"children":1008,"position":1061},{},[1009,1016,1031,1038,1055],{"type":14,"value":648,"position":1010},{"start":1011,"end":1014},{"line":1012,"column":26,"offset":1013},83,3488,{"line":1012,"column":198,"offset":1015},3492,{"type":17,"tagName":120,"properties":1017,"children":1019,"position":1027},{"href":1018},"/kscript/core-concepts/multi-source",[1020],{"type":14,"value":1021,"position":1022},"Multi-Source & Aggregation",{"start":1023,"end":1025},{"line":1012,"column":663,"offset":1024},3493,{"line":1012,"column":976,"offset":1026},3519,{"start":1028,"end":1029},{"line":1012,"column":198,"offset":1015},{"line":1012,"column":819,"offset":1030},3557,{"type":14,"value":1032,"position":1033}," and\n",{"start":1034,"end":1035},{"line":1012,"column":819,"offset":1030},{"line":1036,"column":26,"offset":1037},84,3562,{"type":17,"tagName":120,"properties":1039,"children":1041,"position":1050},{"href":1040},"/kscript/core-concepts/data-sources",[1042],{"type":14,"value":1043,"position":1044},"Data Sources",{"start":1045,"end":1048},{"line":1036,"column":1046,"offset":1047},2,3563,{"line":1036,"column":161,"offset":1049},3575,{"start":1051,"end":1052},{"line":1036,"column":26,"offset":1037},{"line":1036,"column":1053,"offset":1054},52,3613,{"type":14,"value":1056,"position":1057}," for all 18 source types.",{"start":1058,"end":1059},{"line":1036,"column":1053,"offset":1054},{"line":1036,"column":957,"offset":1060},3638,{"start":1062,"end":1063},{"line":1012,"column":26,"offset":1013},{"line":1036,"column":957,"offset":1060},{"type":14,"value":15},{"type":17,"tagName":189,"properties":1066,"children":1068,"position":1077},{"id":1067},"a-reference-validated-ta-library",[1069],{"type":14,"value":1070,"position":1071},"A reference-validated TA library",{"start":1072,"end":1075},{"line":1073,"column":198,"offset":1074},86,3644,{"line":1073,"column":40,"offset":1076},3676,{"start":1078,"end":1080},{"line":1073,"column":26,"offset":1079},3640,{"line":1073,"column":40,"offset":1076},{"type":14,"value":15},{"type":17,"tagName":18,"properties":1083,"children":1084,"position":1191},{},[1085,1094,1110,1117,1130,1136,1149,1156,1168,1173,1185],{"type":14,"value":1086,"position":1087},"70+ canonical indicators, each matching an independent reference implementation.\nMulti-output indicators expose ",{"start":1088,"end":1091},{"line":1089,"column":26,"offset":1090},88,3678,{"line":1092,"column":976,"offset":1093},89,3790,{"type":17,"tagName":33,"properties":1095,"children":1096,"position":1105},{},[1097],{"type":14,"value":1098,"position":1099},"named streams",{"start":1100,"end":1102},{"line":1092,"column":985,"offset":1101},3792,{"line":1092,"column":1103,"offset":1104},47,3805,{"start":1106,"end":1107},{"line":1092,"column":976,"offset":1093},{"line":1092,"column":1108,"offset":1109},49,3807,{"type":14,"value":1111,"position":1112},": ",{"start":1113,"end":1114},{"line":1092,"column":1108,"offset":1109},{"line":1092,"column":1115,"offset":1116},51,3809,{"type":17,"tagName":99,"properties":1118,"children":1119,"position":1127},{},[1120],{"type":14,"value":1121,"position":1122},"bb.upper",{"start":1123,"end":1124},{"line":1092,"column":1115,"offset":1116},{"line":1092,"column":1125,"offset":1126},61,3819,{"start":1128,"end":1129},{"line":1092,"column":1115,"offset":1116},{"line":1092,"column":1125,"offset":1126},{"type":14,"value":1131,"position":1132},", ",{"start":1133,"end":1134},{"line":1092,"column":1125,"offset":1126},{"line":1092,"column":735,"offset":1135},3821,{"type":17,"tagName":99,"properties":1137,"children":1138,"position":1146},{},[1139],{"type":14,"value":1140,"position":1141},"macd.signal",{"start":1142,"end":1143},{"line":1092,"column":735,"offset":1135},{"line":1092,"column":1144,"offset":1145},76,3834,{"start":1147,"end":1148},{"line":1092,"column":735,"offset":1135},{"line":1092,"column":1144,"offset":1145},{"type":14,"value":1150,"position":1151},",\n",{"start":1152,"end":1153},{"line":1092,"column":1144,"offset":1145},{"line":1154,"column":26,"offset":1155},90,3836,{"type":17,"tagName":99,"properties":1157,"children":1158,"position":1165},{},[1159],{"type":14,"value":1160,"position":1161},"stoch.k",{"start":1162,"end":1163},{"line":1154,"column":26,"offset":1155},{"line":1154,"column":69,"offset":1164},3845,{"start":1166,"end":1167},{"line":1154,"column":26,"offset":1155},{"line":1154,"column":69,"offset":1164},{"type":14,"value":1131,"position":1169},{"start":1170,"end":1171},{"line":1154,"column":69,"offset":1164},{"line":1154,"column":143,"offset":1172},3847,{"type":17,"tagName":99,"properties":1174,"children":1175,"position":1182},{},[1176],{"type":14,"value":1177,"position":1178},"supertrend.direction",{"start":1179,"end":1180},{"line":1154,"column":143,"offset":1172},{"line":1154,"column":985,"offset":1181},3869,{"start":1183,"end":1184},{"line":1154,"column":143,"offset":1172},{"line":1154,"column":985,"offset":1181},{"type":14,"value":1186,"position":1187}," — no more positional guesswork.",{"start":1188,"end":1189},{"line":1154,"column":985,"offset":1181},{"line":1154,"column":720,"offset":1190},3901,{"start":1192,"end":1193},{"line":1089,"column":26,"offset":1090},{"line":1154,"column":720,"offset":1190},{"type":14,"value":15},{"type":17,"tagName":18,"properties":1196,"children":1197,"position":1248},{},[1198,1206,1221,1227,1243],{"type":14,"value":1199,"position":1200},"See the ",{"start":1201,"end":1204},{"line":1202,"column":26,"offset":1203},92,3903,{"line":1202,"column":81,"offset":1205},3911,{"type":17,"tagName":120,"properties":1207,"children":1209,"position":1217},{"href":1208},"/kscript/functions/ta-library",[1210],{"type":14,"value":1211,"position":1212},"TA Library",{"start":1213,"end":1215},{"line":1202,"column":69,"offset":1214},3912,{"line":1202,"column":27,"offset":1216},3922,{"start":1218,"end":1219},{"line":1202,"column":81,"offset":1205},{"line":1202,"column":1053,"offset":1220},3954,{"type":14,"value":1032,"position":1222},{"start":1223,"end":1224},{"line":1202,"column":1053,"offset":1220},{"line":1225,"column":26,"offset":1226},93,3959,{"type":17,"tagName":120,"properties":1228,"children":1230,"position":1238},{"href":1229},"/kscript/core-concepts/named-streams",[1231],{"type":14,"value":1232,"position":1233},"Named Streams",{"start":1234,"end":1236},{"line":1225,"column":1046,"offset":1235},3960,{"line":1225,"column":107,"offset":1237},3973,{"start":1239,"end":1240},{"line":1225,"column":26,"offset":1226},{"line":1225,"column":1241,"offset":1242},54,4012,{"type":14,"value":674,"position":1244},{"start":1245,"end":1246},{"line":1225,"column":1241,"offset":1242},{"line":1225,"column":993,"offset":1247},4013,{"start":1249,"end":1250},{"line":1202,"column":26,"offset":1203},{"line":1225,"column":993,"offset":1247},{"type":14,"value":15},{"type":17,"tagName":189,"properties":1253,"children":1255,"position":1265},{"id":1254},"session-anchored-vwap",[1256],{"type":14,"value":1257,"position":1258},"Session-anchored VWAP",{"start":1259,"end":1262},{"line":1260,"column":198,"offset":1261},95,4019,{"line":1260,"column":1263,"offset":1264},26,4040,{"start":1266,"end":1268},{"line":1260,"column":26,"offset":1267},4015,{"line":1260,"column":1263,"offset":1264},{"type":14,"value":15},{"type":17,"tagName":18,"properties":1271,"children":1272,"position":1295},{},[1273,1287],{"type":17,"tagName":99,"properties":1274,"children":1275,"position":1284},{},[1276],{"type":14,"value":1277,"position":1278},"vwap(anchor=\"day\" | \"week\" | \"month\")",{"start":1279,"end":1282},{"line":1280,"column":26,"offset":1281},97,4042,{"line":1280,"column":131,"offset":1283},4081,{"start":1285,"end":1286},{"line":1280,"column":26,"offset":1281},{"line":1280,"column":131,"offset":1283},{"type":14,"value":1288,"position":1289}," resets on real UTC session boundaries\ninstead of drifting with however much history happened to load. The no-argument\nform is the familiar cumulative VWAP.",{"start":1290,"end":1291},{"line":1280,"column":131,"offset":1283},{"line":1292,"column":1293,"offset":1294},99,38,4237,{"start":1296,"end":1297},{"line":1280,"column":26,"offset":1281},{"line":1292,"column":1293,"offset":1294},{"type":14,"value":15},{"type":17,"tagName":18,"properties":1300,"children":1301,"position":1330},{},[1302,1309,1324],{"type":14,"value":648,"position":1303},{"start":1304,"end":1307},{"line":1305,"column":26,"offset":1306},101,4239,{"line":1305,"column":198,"offset":1308},4243,{"type":17,"tagName":120,"properties":1310,"children":1312,"position":1320},{"href":1311},"/kscript/functions/special-indicators",[1313],{"type":14,"value":1314,"position":1315},"Special Indicators",{"start":1316,"end":1318},{"line":1305,"column":663,"offset":1317},4244,{"line":1305,"column":666,"offset":1319},4262,{"start":1321,"end":1322},{"line":1305,"column":198,"offset":1308},{"line":1305,"column":711,"offset":1323},4302,{"type":14,"value":674,"position":1325},{"start":1326,"end":1327},{"line":1305,"column":711,"offset":1323},{"line":1305,"column":1328,"offset":1329},65,4303,{"start":1331,"end":1332},{"line":1305,"column":26,"offset":1306},{"line":1305,"column":1328,"offset":1329},{"type":14,"value":15},{"type":17,"tagName":171,"properties":1335,"children":1337,"position":1346},{"id":1336},"compatibility",[1338],{"type":14,"value":1339,"position":1340},"Compatibility",{"start":1341,"end":1344},{"line":1342,"column":29,"offset":1343},103,4308,{"line":1342,"column":84,"offset":1345},4321,{"start":1347,"end":1349},{"line":1342,"column":26,"offset":1348},4305,{"line":1342,"column":84,"offset":1345},{"type":14,"value":15},{"type":17,"tagName":1352,"properties":1353,"children":1354,"position":1605},"ul",{},[1355,1356,1386,1387,1564,1565,1604],{"type":14,"value":15},{"type":17,"tagName":1357,"properties":1358,"children":1359,"position":1382},"li",{},[1360,1376],{"type":17,"tagName":33,"properties":1361,"children":1362,"position":1371},{},[1363],{"type":14,"value":1364,"position":1365},"Every v2 script keeps running.",{"start":1366,"end":1369},{"line":1367,"column":198,"offset":1368},105,4327,{"line":1367,"column":30,"offset":1370},4357,{"start":1372,"end":1374},{"line":1367,"column":25,"offset":1373},4325,{"line":1367,"column":40,"offset":1375},4359,{"type":14,"value":1377,"position":1378}," v3 is additive.",{"start":1379,"end":1380},{"line":1367,"column":40,"offset":1375},{"line":1367,"column":988,"offset":1381},4375,{"start":1383,"end":1385},{"line":1367,"column":26,"offset":1384},4323,{"line":1367,"column":988,"offset":1381},{"type":14,"value":15},{"type":17,"tagName":1357,"properties":1388,"children":1389,"position":1560},{},[1390,1406,1412,1424,1431,1444,1450,1462,1467,1480,1486,1498,1504,1516,1522,1534,1540,1553],{"type":17,"tagName":33,"properties":1391,"children":1392,"position":1401},{},[1393],{"type":14,"value":1394,"position":1395},"Eight TA builtins were corrected to their textbook forms",{"start":1396,"end":1399},{"line":1397,"column":198,"offset":1398},106,4380,{"line":1397,"column":1125,"offset":1400},4436,{"start":1402,"end":1404},{"line":1397,"column":25,"offset":1403},4378,{"line":1397,"column":735,"offset":1405},4438,{"type":14,"value":1407,"position":1408}," (",{"start":1409,"end":1410},{"line":1397,"column":735,"offset":1405},{"line":1397,"column":1328,"offset":1411},4440,{"type":17,"tagName":99,"properties":1413,"children":1414,"position":1421},{},[1415],{"type":14,"value":1416,"position":1417},"ema",{"start":1418,"end":1419},{"line":1397,"column":1328,"offset":1411},{"line":1397,"column":819,"offset":1420},4445,{"start":1422,"end":1423},{"line":1397,"column":1328,"offset":1411},{"line":1397,"column":819,"offset":1420},{"type":14,"value":1425,"position":1426}," seeding,\n",{"start":1427,"end":1428},{"line":1397,"column":819,"offset":1420},{"line":1429,"column":26,"offset":1430},107,4455,{"type":17,"tagName":99,"properties":1432,"children":1433,"position":1441},{},[1434],{"type":14,"value":1435,"position":1436},"rsi",{"start":1437,"end":1439},{"line":1429,"column":25,"offset":1438},4457,{"line":1429,"column":55,"offset":1440},4462,{"start":1442,"end":1443},{"line":1429,"column":25,"offset":1438},{"line":1429,"column":55,"offset":1440},{"type":14,"value":1445,"position":1446}," Wilder smoothing, ",{"start":1447,"end":1448},{"line":1429,"column":55,"offset":1440},{"line":1429,"column":695,"offset":1449},4481,{"type":17,"tagName":99,"properties":1451,"children":1452,"position":1459},{},[1453],{"type":14,"value":1454,"position":1455},"macd",{"start":1456,"end":1457},{"line":1429,"column":695,"offset":1449},{"line":1429,"column":197,"offset":1458},4487,{"start":1460,"end":1461},{"line":1429,"column":695,"offset":1449},{"line":1429,"column":197,"offset":1458},{"type":14,"value":1131,"position":1463},{"start":1464,"end":1465},{"line":1429,"column":197,"offset":1458},{"line":1429,"column":30,"offset":1466},4489,{"type":17,"tagName":99,"properties":1468,"children":1469,"position":1477},{},[1470],{"type":14,"value":1471,"position":1472},"psar",{"start":1473,"end":1474},{"line":1429,"column":30,"offset":1466},{"line":1429,"column":1475,"offset":1476},41,4495,{"start":1478,"end":1479},{"line":1429,"column":30,"offset":1466},{"line":1429,"column":1475,"offset":1476},{"type":14,"value":1131,"position":1481},{"start":1482,"end":1483},{"line":1429,"column":1475,"offset":1476},{"line":1429,"column":1484,"offset":1485},43,4497,{"type":17,"tagName":99,"properties":1487,"children":1488,"position":1495},{},[1489],{"type":14,"value":1490,"position":1491},"adx",{"start":1492,"end":1493},{"line":1429,"column":1484,"offset":1485},{"line":1429,"column":144,"offset":1494},4502,{"start":1496,"end":1497},{"line":1429,"column":1484,"offset":1485},{"line":1429,"column":144,"offset":1494},{"type":14,"value":1131,"position":1499},{"start":1500,"end":1501},{"line":1429,"column":144,"offset":1494},{"line":1429,"column":1502,"offset":1503},50,4504,{"type":17,"tagName":99,"properties":1505,"children":1506,"position":1513},{},[1507],{"type":14,"value":1508,"position":1509},"highest",{"start":1510,"end":1511},{"line":1429,"column":1502,"offset":1503},{"line":1429,"column":48,"offset":1512},4513,{"start":1514,"end":1515},{"line":1429,"column":1502,"offset":1503},{"line":1429,"column":48,"offset":1512},{"type":14,"value":1517,"position":1518},"/",{"start":1519,"end":1520},{"line":1429,"column":48,"offset":1512},{"line":1429,"column":692,"offset":1521},4514,{"type":17,"tagName":99,"properties":1523,"children":1524,"position":1531},{},[1525],{"type":14,"value":1526,"position":1527},"lowest",{"start":1528,"end":1529},{"line":1429,"column":692,"offset":1521},{"line":1429,"column":671,"offset":1530},4522,{"start":1532,"end":1533},{"line":1429,"column":692,"offset":1521},{"line":1429,"column":671,"offset":1530},{"type":14,"value":1535,"position":1536},", strict ",{"start":1537,"end":1538},{"line":1429,"column":671,"offset":1530},{"line":1429,"column":957,"offset":1539},4531,{"type":17,"tagName":99,"properties":1541,"children":1542,"position":1550},{},[1543],{"type":14,"value":1544,"position":1545},"sma",{"start":1546,"end":1547},{"line":1429,"column":957,"offset":1539},{"line":1429,"column":1548,"offset":1549},82,4536,{"start":1551,"end":1552},{"line":1429,"column":957,"offset":1539},{"line":1429,"column":1548,"offset":1549},{"type":14,"value":1554,"position":1555},"\nwarmup). Early-bar values change for those functions; this is a correction, not\na regression, since each now matches an independent reference.",{"start":1556,"end":1557},{"line":1429,"column":1548,"offset":1549},{"line":1558,"column":1328,"offset":1559},109,4683,{"start":1561,"end":1563},{"line":1397,"column":26,"offset":1562},4376,{"line":1558,"column":1328,"offset":1559},{"type":14,"value":15},{"type":17,"tagName":1357,"properties":1566,"children":1567,"position":1600},{},[1568,1577,1593],{"type":14,"value":1569,"position":1570},"A few v2 conveniences were tightened or renamed; the\n",{"start":1571,"end":1574},{"line":1572,"column":25,"offset":1573},110,4686,{"line":1575,"column":26,"offset":1576},111,4739,{"type":17,"tagName":120,"properties":1578,"children":1580,"position":1588},{"href":1579},"/kscript/migrations/v2-vs-v3",[1581],{"type":14,"value":1582,"position":1583},"v2 vs v3 migration guide",{"start":1584,"end":1586},{"line":1575,"column":29,"offset":1585},4742,{"line":1575,"column":841,"offset":1587},4766,{"start":1589,"end":1591},{"line":1575,"column":25,"offset":1590},4741,{"line":1575,"column":48,"offset":1592},4797,{"type":14,"value":1594,"position":1595}," lists them.",{"start":1596,"end":1597},{"line":1575,"column":48,"offset":1592},{"line":1575,"column":1598,"offset":1599},71,4809,{"start":1601,"end":1603},{"line":1572,"column":26,"offset":1602},4684,{"line":1575,"column":1598,"offset":1599},{"type":14,"value":15},{"start":1606,"end":1607},{"line":1367,"column":26,"offset":1384},{"line":1575,"column":1598,"offset":1599},{"type":14,"value":15},{"type":17,"tagName":171,"properties":1610,"children":1612,"position":1620},{"id":1611},"the-version-marker",[1613],{"type":14,"value":125,"position":1614},{"start":1615,"end":1618},{"line":1616,"column":29,"offset":1617},113,4814,{"line":1616,"column":128,"offset":1619},4832,{"start":1621,"end":1623},{"line":1616,"column":26,"offset":1622},4811,{"line":1616,"column":128,"offset":1619},{"type":14,"value":15},{"type":17,"tagName":18,"properties":1626,"children":1627,"position":1730},{},[1628,1636,1648,1655,1669,1675,1686,1693,1705,1713,1724],{"type":14,"value":1629,"position":1630},"A v3 script still starts with ",{"start":1631,"end":1634},{"line":1632,"column":26,"offset":1633},115,4834,{"line":1632,"column":179,"offset":1635},4864,{"type":17,"tagName":99,"properties":1637,"children":1638,"position":1645},{},[1639],{"type":14,"value":103,"position":1640},{"start":1641,"end":1642},{"line":1632,"column":179,"offset":1635},{"line":1632,"column":1643,"offset":1644},45,4878,{"start":1646,"end":1647},{"line":1632,"column":179,"offset":1635},{"line":1632,"column":1643,"offset":1644},{"type":14,"value":1649,"position":1650}," on its first line. The number is the\n",{"start":1651,"end":1652},{"line":1632,"column":1643,"offset":1644},{"line":1653,"column":26,"offset":1654},116,4916,{"type":17,"tagName":33,"properties":1656,"children":1657,"position":1665},{},[1658],{"type":14,"value":1659,"position":1660},"script-format marker",{"start":1661,"end":1663},{"line":1653,"column":25,"offset":1662},4918,{"line":1653,"column":56,"offset":1664},4938,{"start":1666,"end":1667},{"line":1653,"column":26,"offset":1654},{"line":1653,"column":234,"offset":1668},4940,{"type":14,"value":1670,"position":1671},", not the engine version — and it must be ",{"start":1672,"end":1673},{"line":1653,"column":234,"offset":1668},{"line":1653,"column":872,"offset":1674},4982,{"type":17,"tagName":99,"properties":1676,"children":1677,"position":1683},{},[1678],{"type":14,"value":103,"position":1679},{"start":1680,"end":1681},{"line":1653,"column":872,"offset":1674},{"line":1653,"column":1000,"offset":1682},4996,{"start":1684,"end":1685},{"line":1653,"column":872,"offset":1674},{"line":1653,"column":1000,"offset":1682},{"type":14,"value":1687,"position":1688},".\nDo not write ",{"start":1689,"end":1690},{"line":1653,"column":1000,"offset":1682},{"line":1691,"column":161,"offset":1692},117,5011,{"type":17,"tagName":99,"properties":1694,"children":1695,"position":1702},{},[1696],{"type":14,"value":1697,"position":1698},"//@version=3",{"start":1699,"end":1700},{"line":1691,"column":161,"offset":1692},{"line":1691,"column":841,"offset":1701},5025,{"start":1703,"end":1704},{"line":1691,"column":161,"offset":1692},{"line":1691,"column":841,"offset":1701},{"type":14,"value":1706,"position":1707},": the engine does not recognize it and falls back. All\nof the v3 capabilities above compile and run under the ",{"start":1708,"end":1709},{"line":1691,"column":841,"offset":1701},{"line":1710,"column":1711,"offset":1712},118,56,5135,{"type":17,"tagName":99,"properties":1714,"children":1715,"position":1721},{},[1716],{"type":14,"value":103,"position":1717},{"start":1718,"end":1719},{"line":1710,"column":1711,"offset":1712},{"line":1710,"column":819,"offset":1720},5149,{"start":1722,"end":1723},{"line":1710,"column":1711,"offset":1712},{"line":1710,"column":819,"offset":1720},{"type":14,"value":1725,"position":1726}," marker.",{"start":1727,"end":1728},{"line":1710,"column":819,"offset":1720},{"line":1710,"column":910,"offset":1729},5157,{"start":1731,"end":1732},{"line":1632,"column":26,"offset":1633},{"line":1710,"column":910,"offset":1729},{"type":14,"value":15},{"type":11,"children":1735},[1736],{"type":17,"tagName":151,"properties":1737,"children":1739,"data":-1},{"class":244,"style":245,"tabindex":246,"title":1738},"scripts/probes/lang-variables/var_timeseries_basic.ks",[1740],{"type":17,"tagName":99,"properties":1741,"children":1742},{},[1743,1750,1751,1799,1800,1803,1804,1839,1840,1884,1885],{"type":17,"tagName":253,"properties":1744,"children":1745},{"class":255},[1746],{"type":17,"tagName":253,"properties":1747,"children":1748},{"style":259},[1749],{"type":14,"value":103},{"type":14,"value":15},{"type":17,"tagName":253,"properties":1752,"children":1753},{"class":255},[1754,1758,1762,1766,1771,1775,1779,1783,1787,1791,1795],{"type":17,"tagName":253,"properties":1755,"children":1756},{"style":268},[1757],{"type":14,"value":271},{"type":17,"tagName":253,"properties":1759,"children":1760},{"style":274},[1761],{"type":14,"value":277},{"type":17,"tagName":253,"properties":1763,"children":1764},{"style":280},[1765],{"type":14,"value":283},{"type":17,"tagName":253,"properties":1767,"children":1768},{"style":286},[1769],{"type":14,"value":1770},"\"v3 under the v2 marker\"",{"type":17,"tagName":253,"properties":1772,"children":1773},{"style":274},[1774],{"type":14,"value":294},{"type":17,"tagName":253,"properties":1776,"children":1777},{"style":280},[1778],{"type":14,"value":283},{"type":17,"tagName":253,"properties":1780,"children":1781},{"style":286},[1782],{"type":14,"value":303},{"type":17,"tagName":253,"properties":1784,"children":1785},{"style":274},[1786],{"type":14,"value":308},{"type":17,"tagName":253,"properties":1788,"children":1789},{"style":280},[1790],{"type":14,"value":283},{"type":17,"tagName":253,"properties":1792,"children":1793},{"style":315},[1794],{"type":14,"value":318},{"type":17,"tagName":253,"properties":1796,"children":1797},{"style":274},[1798],{"type":14,"value":323},{"type":14,"value":15},{"type":17,"tagName":253,"properties":1801,"children":1802},{"class":255},[],{"type":14,"value":15},{"type":17,"tagName":253,"properties":1805,"children":1806},{"class":255},[1807,1811,1815,1819,1823,1827,1831,1835],{"type":17,"tagName":253,"properties":1808,"children":1809},{"style":274},[1810],{"type":14,"value":440},{"type":17,"tagName":253,"properties":1812,"children":1813},{"style":280},[1814],{"type":14,"value":283},{"type":17,"tagName":253,"properties":1816,"children":1817},{"style":268},[1818],{"type":14,"value":449},{"type":17,"tagName":253,"properties":1820,"children":1821},{"style":274},[1822],{"type":14,"value":454},{"type":17,"tagName":253,"properties":1824,"children":1825},{"style":280},[1826],{"type":14,"value":283},{"type":17,"tagName":253,"properties":1828,"children":1829},{"style":274},[1830],{"type":14,"value":463},{"type":17,"tagName":253,"properties":1832,"children":1833},{"style":280},[1834],{"type":14,"value":283},{"type":17,"tagName":253,"properties":1836,"children":1837},{"style":274},[1838],{"type":14,"value":472},{"type":14,"value":15},{"type":17,"tagName":253,"properties":1841,"children":1842},{"class":255},[1843,1848,1852,1857,1862,1866,1871,1875,1880],{"type":17,"tagName":253,"properties":1844,"children":1845},{"style":274},[1846],{"type":14,"value":1847},"timeseries sma20 ",{"type":17,"tagName":253,"properties":1849,"children":1850},{"style":280},[1851],{"type":14,"value":283},{"type":17,"tagName":253,"properties":1853,"children":1854},{"style":268},[1855],{"type":14,"value":1856}," sma",{"type":17,"tagName":253,"properties":1858,"children":1859},{"style":274},[1860],{"type":14,"value":1861},"(source",{"type":17,"tagName":253,"properties":1863,"children":1864},{"style":280},[1865],{"type":14,"value":283},{"type":17,"tagName":253,"properties":1867,"children":1868},{"style":274},[1869],{"type":14,"value":1870},"d.close, period",{"type":17,"tagName":253,"properties":1872,"children":1873},{"style":280},[1874],{"type":14,"value":283},{"type":17,"tagName":253,"properties":1876,"children":1877},{"style":315},[1878],{"type":14,"value":1879},"20",{"type":17,"tagName":253,"properties":1881,"children":1882},{"style":274},[1883],{"type":14,"value":323},{"type":14,"value":15},{"type":17,"tagName":253,"properties":1886,"children":1887},{"class":255},[1888,1892,1896,1900,1905,1909,1913,1917,1921,1925,1929,1933,1937,1941,1946,1950,1954,1958,1963],{"type":17,"tagName":253,"properties":1889,"children":1890},{"style":268},[1891],{"type":14,"value":550},{"type":17,"tagName":253,"properties":1893,"children":1894},{"style":274},[1895],{"type":14,"value":555},{"type":17,"tagName":253,"properties":1897,"children":1898},{"style":280},[1899],{"type":14,"value":283},{"type":17,"tagName":253,"properties":1901,"children":1902},{"style":274},[1903],{"type":14,"value":1904},"sma20, colors",{"type":17,"tagName":253,"properties":1906,"children":1907},{"style":280},[1908],{"type":14,"value":283},{"type":17,"tagName":253,"properties":1910,"children":1911},{"style":274},[1912],{"type":14,"value":583},{"type":17,"tagName":253,"properties":1914,"children":1915},{"style":286},[1916],{"type":14,"value":588},{"type":17,"tagName":253,"properties":1918,"children":1919},{"style":274},[1920],{"type":14,"value":593},{"type":17,"tagName":253,"properties":1922,"children":1923},{"style":280},[1924],{"type":14,"value":283},{"type":17,"tagName":253,"properties":1926,"children":1927},{"style":315},[1928],{"type":14,"value":602},{"type":17,"tagName":253,"properties":1930,"children":1931},{"style":274},[1932],{"type":14,"value":607},{"type":17,"tagName":253,"properties":1934,"children":1935},{"style":280},[1936],{"type":14,"value":283},{"type":17,"tagName":253,"properties":1938,"children":1939},{"style":274},[1940],{"type":14,"value":583},{"type":17,"tagName":253,"properties":1942,"children":1943},{"style":286},[1944],{"type":14,"value":1945},"\"SMA 20\"",{"type":17,"tagName":253,"properties":1947,"children":1948},{"style":274},[1949],{"type":14,"value":625},{"type":17,"tagName":253,"properties":1951,"children":1952},{"style":280},[1953],{"type":14,"value":283},{"type":17,"tagName":253,"properties":1955,"children":1956},{"style":274},[1957],{"type":14,"value":583},{"type":17,"tagName":253,"properties":1959,"children":1960},{"style":286},[1961],{"type":14,"value":1962},"\"v3 features run under //@version=2\"",{"type":17,"tagName":253,"properties":1964,"children":1965},{"style":274},[1966],{"type":14,"value":541},{"type":14,"value":15},{"type":17,"tagName":18,"properties":1969,"children":1970,"position":2003},{},[1971,1980,1996],{"type":14,"value":1972,"position":1973},"If something does not behave as documented, the\n",{"start":1974,"end":1977},{"line":1975,"column":26,"offset":1976},130,5570,{"line":1978,"column":26,"offset":1979},131,5618,{"type":17,"tagName":120,"properties":1981,"children":1983,"position":1991},{"href":1982},"/kscript/faq/common-errors",[1984],{"type":14,"value":1985,"position":1986},"Common Errors",{"start":1987,"end":1989},{"line":1978,"column":1046,"offset":1988},5619,{"line":1978,"column":107,"offset":1990},5632,{"start":1992,"end":1993},{"line":1978,"column":26,"offset":1979},{"line":1978,"column":1994,"offset":1995},44,5661,{"type":14,"value":1997,"position":1998}," page maps every real engine error\nmessage to its cause and fix.",{"start":1999,"end":2000},{"line":1978,"column":1994,"offset":1995},{"line":2001,"column":846,"offset":2002},132,5725,{"start":2004,"end":2005},{"line":1975,"column":26,"offset":1976},{"line":2001,"column":846,"offset":2002},{"quirksMode":2007},false,{"start":2009,"end":2011},{"line":26,"column":26,"offset":2010},0,{"line":2012,"column":26,"offset":2013},133,5726,1782471835668]