[{"data":1,"prerenderedAt":1924},["ShallowReactive",2],{"kscript:core-concepts/execution-model":3},{"slug":4,"filePath":5,"frontmatter":6,"rawMarkdown":9,"tree":10},"core-concepts/execution-model","core-concepts/execution-model.md",{"title":7,"description":8},"Execution Model","How kScript runs your code bar by bar, where barIndex and isLastBar come from, and how history indexing works.","---\ntitle: Execution Model\ndescription: How kScript runs your code bar by bar, where barIndex and isLastBar come from, and how history indexing works.\n---\n\n\u003Cdiv class=\"flex gap-3 mb-6\">\n  \u003Cspan class=\"inline-flex items-center gap-1.5 px-3 py-1 rounded-full bg-blue-50 text-blue-600 text-sm font-medium\">\n    Core Concept\n  \u003C/span>\n  \u003Cspan class=\"inline-flex items-center gap-1.5 px-3 py-1 rounded-full bg-gray-100 text-gray-600 text-sm font-medium\">\n    4 min read\n  \u003C/span>\n\u003C/div>\n\n## The bar loop\n\nkScript runs your whole script **once per bar**, oldest bar first, walking forward to the newest. Think of the body of your script as a loop body that the engine calls for every candle on the chart. On bar 0 it computes your plots for bar 0, on bar 1 it recomputes them for bar 1, and so on. The line you write once produces a value at every point in time, which is what gives you a series to draw.\n\nThat has one consequence worth internalizing: a source feed is what drives the loop. The engine builds its bar sequence from the data you load, so **a script with no source never enters the loop** and produces nothing. More on that below.\n\n## barIndex and isLastBar\n\nTwo values let you reason about where you are in the walk:\n\n- **`barIndex`** is the position of the current bar, starting at `0` on the oldest bar and counting up.\n- **`isLastBar`** is `true` only on the most recent bar, and `false` everywhere else. Use it to do something exactly once, at the live edge of the chart (draw a label, snapshot a final total).\n\nBoth are available anywhere in the per-bar body, including inside ternaries and conditions.\n\n## History indexing\n\nBecause the script re-runs each bar, you often want a previous bar's value: the close from one bar ago, the high from ten bars ago. That is **history indexing**, written `series[n]`, where `[1]` is one bar back and `[0]` is the current bar.\n\nHistory indexing only works on a `timeseries` (or an array). It is the engine remembering past values of a series for you. A plain `var` holds just the current bar's scalar, so indexing it is a compile error. If you need `closeSeries[1]`, store the value in a `timeseries` first:\n\n```javascript\ntimeseries trade = ohlcv(symbol=currentSymbol, exchange=currentExchange)\ntimeseries closeSeries = trade.close   // now closeSeries[1] is valid\n```\n\nSee [Variables](core-variables.md) for the full `var` vs `timeseries` distinction.\n## A complete example\n\nThis script ties the three ideas together. It anchors on `ohlcv`, reports `barIndex` (nudged up by one on the final bar so you can spot the live edge), and computes the one-bar change in close by indexing back through a `timeseries`.\n\n```javascript title=\"Bar loop anchor\" lines wrap\n//@version=2\ndefine(title=\"Bar Loop Anchor\", position=\"offchart\", axis=true)\n\ntimeseries trade = ohlcv(symbol=currentSymbol, exchange=currentExchange)\ntimeseries closeSeries = trade.close\n\nvar previousClose = barIndex > 0 ? closeSeries[1] : closeSeries\nvar closeDelta = closeSeries - previousClose\nvar loopValue = barIndex + (isLastBar ? 1 : 0)\n\nplotLine(value=loopValue, colors=[\"#2563eb\"], label=[\"barIndex\"], desc=[\"barIndex with isLastBar offset\"])\nplotLine(value=closeDelta, colors=[\"#dc2626\"], label=[\"closeDelta\"], desc=[\"history indexing through a timeseries\"])\n```\n\nWhat you'll see: the `barIndex` line is a straight ramp from `0` up to the last bar's index, ticking one higher on the final bar thanks to the `isLastBar` offset. The `closeDelta` line is the bar-over-bar price change, hovering around zero and spiking when price moves. Note the guard `barIndex > 0 ? closeSeries[1] : closeSeries`: on bar 0 there is no prior bar to look back to, so the script falls back to the current value instead.\n\n## You need a source to reach the loop\n\nSince source data is what generates the bar sequence, an offchart script that never opens a source has nothing to iterate. It will compile and start, then stop with zero bars to compute and a message telling you no source data reached the bar loop. Nothing draws, because there were no bars and therefore no plot points.\n\nThe fix is to add an anchor before you plot anything derived:\n\n```javascript\n//@version=2\ndefine(title=\"Anchored\", position=\"offchart\", axis=true)\n\ntimeseries trade = ohlcv(symbol=currentSymbol, exchange=currentExchange)\n// now the loop runs, && you can plot anything off trade\nplotLine(value=trade.close, colors=[\"#2563eb\"], label=[\"Close\"], desc=[\"chart close\"])\n```\nThis applies even when your indicator doesn't obviously use price. If you compute something from time or constants alone, you still need a source open so the engine knows which bars to walk.\n\n## var versus timeseries, at a glance\n\nThe split that matters in the bar loop is history:\n\n- Use **`timeseries`** when you want history indexing: `closeSeries[1]`, `high[10]`. Source data and anything you plan to look back through belongs here.\n- Use **`var`** when you only need the current bar's value: a scalar, a one-bar calculation, an indicator reading you consume immediately.\n\nIndexing a `var` (`closeNow[1]`) fails at compile time with a message that indexing is only allowed on timeseries and arrays. That error is the engine telling you to promote the value to a `timeseries`. The full treatment, including `persist` for carrying state across bars, is in [Variables](core-variables.md).\n",{"type":11,"children":12,"data":1917,"position":1919},"root",[13,100,101,118,119,159,160,199,200,216,217,232,233,378,379,394,395,411,412,510,511,602,603,683,684,761,762,778,779,850,851,1288,1289,1397,1398,1413,1414,1429,1430,1443,1444,1628,1629,1644,1645,1662,1663,1678,1679,1806,1807],{"type":14,"tagName":15,"properties":16,"children":21,"position":95},"element","div",{"className":17},[18,19,20],"flex","gap-3","mb-6",[22,34,63,69,88],{"type":23,"value":24,"position":25},"text","\n  ",{"start":26,"end":30},{"line":27,"column":28,"offset":29},1,30,29,{"line":31,"column":32,"offset":33},2,3,32,{"type":14,"tagName":35,"properties":36,"children":48,"position":58},"span",{"className":37},[38,39,40,41,42,43,44,45,46,47],"inline-flex","items-center","gap-1.5","px-3","py-1","rounded-full","bg-blue-50","text-blue-600","text-sm","font-medium",[49],{"type":23,"value":50,"position":51},"\n    Core Concept\n  ",{"start":52,"end":55},{"line":31,"column":53,"offset":54},118,147,{"line":56,"column":32,"offset":57},4,167,{"start":59,"end":60},{"line":31,"column":32,"offset":33},{"line":56,"column":61,"offset":62},10,174,{"type":23,"value":24,"position":64},{"start":65,"end":66},{"line":56,"column":61,"offset":62},{"line":67,"column":32,"offset":68},5,177,{"type":14,"tagName":35,"properties":70,"children":74,"position":84},{"className":71},[38,39,40,41,42,43,72,73,46,47],"bg-gray-100","text-gray-600",[75],{"type":23,"value":76,"position":77},"\n    4 min read\n  ",{"start":78,"end":81},{"line":67,"column":79,"offset":80},119,293,{"line":82,"column":32,"offset":83},7,311,{"start":85,"end":86},{"line":67,"column":32,"offset":68},{"line":82,"column":61,"offset":87},318,{"type":23,"value":89,"position":90},"\n",{"start":91,"end":92},{"line":82,"column":61,"offset":87},{"line":93,"column":27,"offset":94},8,319,{"start":96,"end":98},{"line":27,"column":27,"offset":97},0,{"line":93,"column":82,"offset":99},325,{"type":23,"value":89},{"type":14,"tagName":102,"properties":103,"children":105,"position":114},"h2",{"id":104},"the-bar-loop",[106],{"type":23,"value":107,"position":108},"The bar loop",{"start":109,"end":111},{"line":61,"column":56,"offset":110},330,{"line":61,"column":112,"offset":113},16,342,{"start":115,"end":117},{"line":61,"column":27,"offset":116},327,{"line":61,"column":112,"offset":113},{"type":23,"value":89},{"type":14,"tagName":120,"properties":121,"children":122,"position":156},"p",{},[123,131,149],{"type":23,"value":124,"position":125},"kScript runs your whole script ",{"start":126,"end":129},{"line":127,"column":27,"offset":128},12,344,{"line":127,"column":33,"offset":130},375,{"type":14,"tagName":132,"properties":133,"children":134,"position":144},"strong",{},[135],{"type":23,"value":136,"position":137},"once per bar",{"start":138,"end":141},{"line":127,"column":139,"offset":140},34,377,{"line":127,"column":142,"offset":143},46,389,{"start":145,"end":146},{"line":127,"column":33,"offset":130},{"line":127,"column":147,"offset":148},48,391,{"type":23,"value":150,"position":151},", oldest bar first, walking forward to the newest. Think of the body of your script as a loop body that the engine calls for every candle on the chart. On bar 0 it computes your plots for bar 0, on bar 1 it recomputes them for bar 1, and so on. The line you write once produces a value at every point in time, which is what gives you a series to draw.",{"start":152,"end":153},{"line":127,"column":147,"offset":148},{"line":127,"column":154,"offset":155},399,742,{"start":157,"end":158},{"line":127,"column":27,"offset":128},{"line":127,"column":154,"offset":155},{"type":23,"value":89},{"type":14,"tagName":120,"properties":161,"children":162,"position":196},{},[163,172,189],{"type":23,"value":164,"position":165},"That has one consequence worth internalizing: a source feed is what drives the loop. The engine builds its bar sequence from the data you load, so ",{"start":166,"end":169},{"line":167,"column":27,"offset":168},14,744,{"line":167,"column":170,"offset":171},148,891,{"type":14,"tagName":132,"properties":173,"children":174,"position":184},{},[175],{"type":23,"value":176,"position":177},"a script with no source never enters the loop",{"start":178,"end":181},{"line":167,"column":179,"offset":180},150,893,{"line":167,"column":182,"offset":183},195,938,{"start":185,"end":186},{"line":167,"column":170,"offset":171},{"line":167,"column":187,"offset":188},197,940,{"type":23,"value":190,"position":191}," and produces nothing. More on that below.",{"start":192,"end":193},{"line":167,"column":187,"offset":188},{"line":167,"column":194,"offset":195},239,982,{"start":197,"end":198},{"line":167,"column":27,"offset":168},{"line":167,"column":194,"offset":195},{"type":23,"value":89},{"type":14,"tagName":102,"properties":201,"children":203,"position":212},{"id":202},"barindex-and-islastbar",[204],{"type":23,"value":205,"position":206},"barIndex and isLastBar",{"start":207,"end":209},{"line":112,"column":56,"offset":208},987,{"line":112,"column":210,"offset":211},26,1009,{"start":213,"end":215},{"line":112,"column":27,"offset":214},984,{"line":112,"column":210,"offset":211},{"type":23,"value":89},{"type":14,"tagName":120,"properties":218,"children":219,"position":229},{},[220],{"type":23,"value":221,"position":222},"Two values let you reason about where you are in the walk:",{"start":223,"end":226},{"line":224,"column":27,"offset":225},18,1011,{"line":224,"column":227,"offset":228},59,1069,{"start":230,"end":231},{"line":224,"column":27,"offset":225},{"line":224,"column":227,"offset":228},{"type":23,"value":89},{"type":14,"tagName":234,"properties":235,"children":236,"position":375},"ul",{},[237,238,298,299,374],{"type":23,"value":89},{"type":14,"tagName":239,"properties":240,"children":241,"position":294},"li",{},[242,267,274,287],{"type":14,"tagName":132,"properties":243,"children":244,"position":261},{},[245],{"type":14,"tagName":246,"properties":247,"children":248,"position":258},"code",{},[249],{"type":23,"value":250,"position":251},"barIndex",{"start":252,"end":255},{"line":253,"column":67,"offset":254},20,1075,{"line":253,"column":256,"offset":257},15,1085,{"start":259,"end":260},{"line":253,"column":67,"offset":254},{"line":253,"column":256,"offset":257},{"start":262,"end":264},{"line":253,"column":32,"offset":263},1073,{"line":253,"column":265,"offset":266},17,1087,{"type":23,"value":268,"position":269}," is the position of the current bar, starting at ",{"start":270,"end":271},{"line":253,"column":265,"offset":266},{"line":253,"column":272,"offset":273},66,1136,{"type":14,"tagName":246,"properties":275,"children":276,"position":284},{},[277],{"type":23,"value":278,"position":279},"0",{"start":280,"end":281},{"line":253,"column":272,"offset":273},{"line":253,"column":282,"offset":283},69,1139,{"start":285,"end":286},{"line":253,"column":272,"offset":273},{"line":253,"column":282,"offset":283},{"type":23,"value":288,"position":289}," on the oldest bar and counting up.",{"start":290,"end":291},{"line":253,"column":282,"offset":283},{"line":253,"column":292,"offset":293},104,1174,{"start":295,"end":297},{"line":253,"column":27,"offset":296},1071,{"line":253,"column":292,"offset":293},{"type":23,"value":89},{"type":14,"tagName":239,"properties":300,"children":301,"position":370},{},[302,324,331,344,351,363],{"type":14,"tagName":132,"properties":303,"children":304,"position":319},{},[305],{"type":14,"tagName":246,"properties":306,"children":307,"position":316},{},[308],{"type":23,"value":309,"position":310},"isLastBar",{"start":311,"end":314},{"line":312,"column":67,"offset":313},21,1179,{"line":312,"column":112,"offset":315},1190,{"start":317,"end":318},{"line":312,"column":67,"offset":313},{"line":312,"column":112,"offset":315},{"start":320,"end":322},{"line":312,"column":32,"offset":321},1177,{"line":312,"column":224,"offset":323},1192,{"type":23,"value":325,"position":326}," is ",{"start":327,"end":328},{"line":312,"column":224,"offset":323},{"line":312,"column":329,"offset":330},22,1196,{"type":14,"tagName":246,"properties":332,"children":333,"position":341},{},[334],{"type":23,"value":335,"position":336},"true",{"start":337,"end":338},{"line":312,"column":329,"offset":330},{"line":312,"column":339,"offset":340},28,1202,{"start":342,"end":343},{"line":312,"column":329,"offset":330},{"line":312,"column":339,"offset":340},{"type":23,"value":345,"position":346}," only on the most recent bar, and ",{"start":347,"end":348},{"line":312,"column":339,"offset":340},{"line":312,"column":349,"offset":350},62,1236,{"type":14,"tagName":246,"properties":352,"children":353,"position":360},{},[354],{"type":23,"value":355,"position":356},"false",{"start":357,"end":358},{"line":312,"column":349,"offset":350},{"line":312,"column":282,"offset":359},1243,{"start":361,"end":362},{"line":312,"column":349,"offset":350},{"line":312,"column":282,"offset":359},{"type":23,"value":364,"position":365}," everywhere else. Use it to do something exactly once, at the live edge of the chart (draw a label, snapshot a final total).",{"start":366,"end":367},{"line":312,"column":282,"offset":359},{"line":312,"column":368,"offset":369},193,1367,{"start":371,"end":373},{"line":312,"column":27,"offset":372},1175,{"line":312,"column":368,"offset":369},{"type":23,"value":89},{"start":376,"end":377},{"line":253,"column":27,"offset":296},{"line":312,"column":368,"offset":369},{"type":23,"value":89},{"type":14,"tagName":120,"properties":380,"children":381,"position":391},{},[382],{"type":23,"value":383,"position":384},"Both are available anywhere in the per-bar body, including inside ternaries and conditions.",{"start":385,"end":388},{"line":386,"column":27,"offset":387},23,1369,{"line":386,"column":389,"offset":390},92,1460,{"start":392,"end":393},{"line":386,"column":27,"offset":387},{"line":386,"column":389,"offset":390},{"type":23,"value":89},{"type":14,"tagName":102,"properties":396,"children":398,"position":407},{"id":397},"history-indexing",[399],{"type":23,"value":400,"position":401},"History indexing",{"start":402,"end":405},{"line":403,"column":56,"offset":404},25,1465,{"line":403,"column":253,"offset":406},1481,{"start":408,"end":410},{"line":403,"column":27,"offset":409},1462,{"line":403,"column":253,"offset":406},{"type":23,"value":89},{"type":14,"tagName":120,"properties":413,"children":414,"position":507},{},[415,424,441,448,461,468,480,487,500],{"type":23,"value":416,"position":417},"Because the script re-runs each bar, you often want a previous bar's value: the close from one bar ago, the high from ten bars ago. That is ",{"start":418,"end":421},{"line":419,"column":27,"offset":420},27,1483,{"line":419,"column":422,"offset":423},141,1623,{"type":14,"tagName":132,"properties":425,"children":426,"position":436},{},[427],{"type":23,"value":428,"position":429},"history indexing",{"start":430,"end":433},{"line":419,"column":431,"offset":432},143,1625,{"line":419,"column":434,"offset":435},159,1641,{"start":437,"end":438},{"line":419,"column":422,"offset":423},{"line":419,"column":439,"offset":440},161,1643,{"type":23,"value":442,"position":443},", written ",{"start":444,"end":445},{"line":419,"column":439,"offset":440},{"line":419,"column":446,"offset":447},171,1653,{"type":14,"tagName":246,"properties":449,"children":450,"position":458},{},[451],{"type":23,"value":452,"position":453},"series[n]",{"start":454,"end":455},{"line":419,"column":446,"offset":447},{"line":419,"column":456,"offset":457},182,1664,{"start":459,"end":460},{"line":419,"column":446,"offset":447},{"line":419,"column":456,"offset":457},{"type":23,"value":462,"position":463},", where ",{"start":464,"end":465},{"line":419,"column":456,"offset":457},{"line":419,"column":466,"offset":467},190,1672,{"type":14,"tagName":246,"properties":469,"children":470,"position":477},{},[471],{"type":23,"value":472,"position":473},"[1]",{"start":474,"end":475},{"line":419,"column":466,"offset":467},{"line":419,"column":182,"offset":476},1677,{"start":478,"end":479},{"line":419,"column":466,"offset":467},{"line":419,"column":182,"offset":476},{"type":23,"value":481,"position":482}," is one bar back and ",{"start":483,"end":484},{"line":419,"column":182,"offset":476},{"line":419,"column":485,"offset":486},216,1698,{"type":14,"tagName":246,"properties":488,"children":489,"position":497},{},[490],{"type":23,"value":491,"position":492},"[0]",{"start":493,"end":494},{"line":419,"column":485,"offset":486},{"line":419,"column":495,"offset":496},221,1703,{"start":498,"end":499},{"line":419,"column":485,"offset":486},{"line":419,"column":495,"offset":496},{"type":23,"value":501,"position":502}," is the current bar.",{"start":503,"end":504},{"line":419,"column":495,"offset":496},{"line":419,"column":505,"offset":506},241,1723,{"start":508,"end":509},{"line":419,"column":27,"offset":420},{"line":419,"column":505,"offset":506},{"type":23,"value":89},{"type":14,"tagName":120,"properties":512,"children":513,"position":599},{},[514,521,533,540,553,560,573,580,592],{"type":23,"value":515,"position":516},"History indexing only works on a ",{"start":517,"end":519},{"line":29,"column":27,"offset":518},1725,{"line":29,"column":139,"offset":520},1758,{"type":14,"tagName":246,"properties":522,"children":523,"position":530},{},[524],{"type":23,"value":525,"position":526},"timeseries",{"start":527,"end":528},{"line":29,"column":139,"offset":520},{"line":29,"column":142,"offset":529},1770,{"start":531,"end":532},{"line":29,"column":139,"offset":520},{"line":29,"column":142,"offset":529},{"type":23,"value":534,"position":535}," (or an array). It is the engine remembering past values of a series for you. A plain ",{"start":536,"end":537},{"line":29,"column":142,"offset":529},{"line":29,"column":538,"offset":539},132,1856,{"type":14,"tagName":246,"properties":541,"children":542,"position":550},{},[543],{"type":23,"value":544,"position":545},"var",{"start":546,"end":547},{"line":29,"column":538,"offset":539},{"line":29,"column":548,"offset":549},137,1861,{"start":551,"end":552},{"line":29,"column":538,"offset":539},{"line":29,"column":548,"offset":549},{"type":23,"value":554,"position":555}," holds just the current bar's scalar, so indexing it is a compile error. If you need ",{"start":556,"end":557},{"line":29,"column":548,"offset":549},{"line":29,"column":558,"offset":559},222,1946,{"type":14,"tagName":246,"properties":561,"children":562,"position":570},{},[563],{"type":23,"value":564,"position":565},"closeSeries[1]",{"start":566,"end":567},{"line":29,"column":558,"offset":559},{"line":29,"column":568,"offset":569},238,1962,{"start":571,"end":572},{"line":29,"column":558,"offset":559},{"line":29,"column":568,"offset":569},{"type":23,"value":574,"position":575},", store the value in a ",{"start":576,"end":577},{"line":29,"column":568,"offset":569},{"line":29,"column":578,"offset":579},261,1985,{"type":14,"tagName":246,"properties":581,"children":582,"position":589},{},[583],{"type":23,"value":525,"position":584},{"start":585,"end":586},{"line":29,"column":578,"offset":579},{"line":29,"column":587,"offset":588},273,1997,{"start":590,"end":591},{"line":29,"column":578,"offset":579},{"line":29,"column":587,"offset":588},{"type":23,"value":593,"position":594}," first:",{"start":595,"end":596},{"line":29,"column":587,"offset":588},{"line":29,"column":597,"offset":598},280,2004,{"start":600,"end":601},{"line":29,"column":27,"offset":518},{"line":29,"column":597,"offset":598},{"type":23,"value":89},{"type":11,"children":604},[605],{"type":14,"tagName":606,"properties":607,"children":610,"data":-1},"pre",{"class":608,"style":609,"tabindex":278},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff",[611],{"type":14,"tagName":246,"properties":612,"children":613},{},[614,659,660],{"type":14,"tagName":35,"properties":615,"children":617},{"class":616},"line",[618,624,630,636,641,645,650,654],{"type":14,"tagName":35,"properties":619,"children":621},{"style":620},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[622],{"type":23,"value":623},"timeseries trade ",{"type":14,"tagName":35,"properties":625,"children":627},{"style":626},"--shiki-dark:#F97583;--shiki-light:#D73A49",[628],{"type":23,"value":629},"=",{"type":14,"tagName":35,"properties":631,"children":633},{"style":632},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[634],{"type":23,"value":635}," ohlcv",{"type":14,"tagName":35,"properties":637,"children":638},{"style":620},[639],{"type":23,"value":640},"(symbol",{"type":14,"tagName":35,"properties":642,"children":643},{"style":626},[644],{"type":23,"value":629},{"type":14,"tagName":35,"properties":646,"children":647},{"style":620},[648],{"type":23,"value":649},"currentSymbol, exchange",{"type":14,"tagName":35,"properties":651,"children":652},{"style":626},[653],{"type":23,"value":629},{"type":14,"tagName":35,"properties":655,"children":656},{"style":620},[657],{"type":23,"value":658},"currentExchange)",{"type":23,"value":89},{"type":14,"tagName":35,"properties":661,"children":662},{"class":616},[663,668,672,677],{"type":14,"tagName":35,"properties":664,"children":665},{"style":620},[666],{"type":23,"value":667},"timeseries closeSeries ",{"type":14,"tagName":35,"properties":669,"children":670},{"style":626},[671],{"type":23,"value":629},{"type":14,"tagName":35,"properties":673,"children":674},{"style":620},[675],{"type":23,"value":676}," trade.close   ",{"type":14,"tagName":35,"properties":678,"children":680},{"style":679},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[681],{"type":23,"value":682},"// now closeSeries[1] is valid",{"type":23,"value":89},{"type":14,"tagName":120,"properties":685,"children":686,"position":758},{},[687,695,713,720,732,739,751],{"type":23,"value":688,"position":689},"See ",{"start":690,"end":693},{"line":691,"column":27,"offset":692},36,2168,{"line":691,"column":67,"offset":694},2172,{"type":14,"tagName":696,"properties":697,"children":699,"position":708},"a",{"href":698},"core-variables.md",[700],{"type":23,"value":701,"position":702},"Variables",{"start":703,"end":706},{"line":691,"column":704,"offset":705},6,2173,{"line":691,"column":256,"offset":707},2182,{"start":709,"end":710},{"line":691,"column":67,"offset":694},{"line":691,"column":711,"offset":712},35,2202,{"type":23,"value":714,"position":715}," for the full ",{"start":716,"end":717},{"line":691,"column":711,"offset":712},{"line":691,"column":718,"offset":719},49,2216,{"type":14,"tagName":246,"properties":721,"children":722,"position":729},{},[723],{"type":23,"value":544,"position":724},{"start":725,"end":726},{"line":691,"column":718,"offset":719},{"line":691,"column":727,"offset":728},54,2221,{"start":730,"end":731},{"line":691,"column":718,"offset":719},{"line":691,"column":727,"offset":728},{"type":23,"value":733,"position":734}," vs ",{"start":735,"end":736},{"line":691,"column":727,"offset":728},{"line":691,"column":737,"offset":738},58,2225,{"type":14,"tagName":246,"properties":740,"children":741,"position":748},{},[742],{"type":23,"value":525,"position":743},{"start":744,"end":745},{"line":691,"column":737,"offset":738},{"line":691,"column":746,"offset":747},70,2237,{"start":749,"end":750},{"line":691,"column":737,"offset":738},{"line":691,"column":746,"offset":747},{"type":23,"value":752,"position":753}," distinction.",{"start":754,"end":755},{"line":691,"column":746,"offset":747},{"line":691,"column":756,"offset":757},83,2250,{"start":759,"end":760},{"line":691,"column":27,"offset":692},{"line":691,"column":756,"offset":757},{"type":23,"value":89},{"type":14,"tagName":102,"properties":763,"children":765,"position":774},{"id":764},"a-complete-example",[766],{"type":23,"value":767,"position":768},"A complete example",{"start":769,"end":772},{"line":770,"column":56,"offset":771},37,2254,{"line":770,"column":329,"offset":773},2272,{"start":775,"end":777},{"line":770,"column":27,"offset":776},2251,{"line":770,"column":329,"offset":773},{"type":23,"value":89},{"type":14,"tagName":120,"properties":780,"children":781,"position":847},{},[782,790,803,810,822,828,840],{"type":23,"value":783,"position":784},"This script ties the three ideas together. It anchors on ",{"start":785,"end":788},{"line":786,"column":27,"offset":787},39,2274,{"line":786,"column":737,"offset":789},2331,{"type":14,"tagName":246,"properties":791,"children":792,"position":800},{},[793],{"type":23,"value":794,"position":795},"ohlcv",{"start":796,"end":797},{"line":786,"column":737,"offset":789},{"line":786,"column":798,"offset":799},65,2338,{"start":801,"end":802},{"line":786,"column":737,"offset":789},{"line":786,"column":798,"offset":799},{"type":23,"value":804,"position":805},", reports ",{"start":806,"end":807},{"line":786,"column":798,"offset":799},{"line":786,"column":808,"offset":809},75,2348,{"type":14,"tagName":246,"properties":811,"children":812,"position":819},{},[813],{"type":23,"value":250,"position":814},{"start":815,"end":816},{"line":786,"column":808,"offset":809},{"line":786,"column":817,"offset":818},85,2358,{"start":820,"end":821},{"line":786,"column":808,"offset":809},{"line":786,"column":817,"offset":818},{"type":23,"value":823,"position":824}," (nudged up by one on the final bar so you can spot the live edge), and computes the one-bar change in close by indexing back through a ",{"start":825,"end":826},{"line":786,"column":817,"offset":818},{"line":786,"column":495,"offset":827},2494,{"type":14,"tagName":246,"properties":829,"children":830,"position":837},{},[831],{"type":23,"value":525,"position":832},{"start":833,"end":834},{"line":786,"column":495,"offset":827},{"line":786,"column":835,"offset":836},233,2506,{"start":838,"end":839},{"line":786,"column":495,"offset":827},{"line":786,"column":835,"offset":836},{"type":23,"value":841,"position":842},".",{"start":843,"end":844},{"line":786,"column":835,"offset":836},{"line":786,"column":845,"offset":846},234,2507,{"start":848,"end":849},{"line":786,"column":27,"offset":787},{"line":786,"column":845,"offset":846},{"type":23,"value":89},{"type":11,"children":852},[853],{"type":14,"tagName":606,"properties":854,"children":856,"data":-1},{"class":608,"style":609,"tabindex":278,"title":855},"Bar loop anchor",[857],{"type":14,"tagName":246,"properties":858,"children":859},{},[860,868,869,925,926,929,930,965,966,982,983,986,987,1048,1049,1080,1081,1134,1135,1138,1139,1216,1217],{"type":14,"tagName":35,"properties":861,"children":862},{"class":616},[863],{"type":14,"tagName":35,"properties":864,"children":865},{"style":679},[866],{"type":23,"value":867},"//@version=2",{"type":23,"value":89},{"type":14,"tagName":35,"properties":870,"children":871},{"class":616},[872,877,882,886,892,897,901,906,911,915,920],{"type":14,"tagName":35,"properties":873,"children":874},{"style":632},[875],{"type":23,"value":876},"define",{"type":14,"tagName":35,"properties":878,"children":879},{"style":620},[880],{"type":23,"value":881},"(title",{"type":14,"tagName":35,"properties":883,"children":884},{"style":626},[885],{"type":23,"value":629},{"type":14,"tagName":35,"properties":887,"children":889},{"style":888},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[890],{"type":23,"value":891},"\"Bar Loop Anchor\"",{"type":14,"tagName":35,"properties":893,"children":894},{"style":620},[895],{"type":23,"value":896},", position",{"type":14,"tagName":35,"properties":898,"children":899},{"style":626},[900],{"type":23,"value":629},{"type":14,"tagName":35,"properties":902,"children":903},{"style":888},[904],{"type":23,"value":905},"\"offchart\"",{"type":14,"tagName":35,"properties":907,"children":908},{"style":620},[909],{"type":23,"value":910},", axis",{"type":14,"tagName":35,"properties":912,"children":913},{"style":626},[914],{"type":23,"value":629},{"type":14,"tagName":35,"properties":916,"children":918},{"style":917},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[919],{"type":23,"value":335},{"type":14,"tagName":35,"properties":921,"children":922},{"style":620},[923],{"type":23,"value":924},")",{"type":23,"value":89},{"type":14,"tagName":35,"properties":927,"children":928},{"class":616},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":931,"children":932},{"class":616},[933,937,941,945,949,953,957,961],{"type":14,"tagName":35,"properties":934,"children":935},{"style":620},[936],{"type":23,"value":623},{"type":14,"tagName":35,"properties":938,"children":939},{"style":626},[940],{"type":23,"value":629},{"type":14,"tagName":35,"properties":942,"children":943},{"style":632},[944],{"type":23,"value":635},{"type":14,"tagName":35,"properties":946,"children":947},{"style":620},[948],{"type":23,"value":640},{"type":14,"tagName":35,"properties":950,"children":951},{"style":626},[952],{"type":23,"value":629},{"type":14,"tagName":35,"properties":954,"children":955},{"style":620},[956],{"type":23,"value":649},{"type":14,"tagName":35,"properties":958,"children":959},{"style":626},[960],{"type":23,"value":629},{"type":14,"tagName":35,"properties":962,"children":963},{"style":620},[964],{"type":23,"value":658},{"type":23,"value":89},{"type":14,"tagName":35,"properties":967,"children":968},{"class":616},[969,973,977],{"type":14,"tagName":35,"properties":970,"children":971},{"style":620},[972],{"type":23,"value":667},{"type":14,"tagName":35,"properties":974,"children":975},{"style":626},[976],{"type":23,"value":629},{"type":14,"tagName":35,"properties":978,"children":979},{"style":620},[980],{"type":23,"value":981}," trade.close",{"type":23,"value":89},{"type":14,"tagName":35,"properties":984,"children":985},{"class":616},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":988,"children":989},{"class":616},[990,994,999,1003,1008,1013,1018,1023,1028,1033,1038,1043],{"type":14,"tagName":35,"properties":991,"children":992},{"style":626},[993],{"type":23,"value":544},{"type":14,"tagName":35,"properties":995,"children":996},{"style":620},[997],{"type":23,"value":998}," previousClose ",{"type":14,"tagName":35,"properties":1000,"children":1001},{"style":626},[1002],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1004,"children":1005},{"style":620},[1006],{"type":23,"value":1007}," barIndex ",{"type":14,"tagName":35,"properties":1009,"children":1010},{"style":626},[1011],{"type":23,"value":1012},">",{"type":14,"tagName":35,"properties":1014,"children":1015},{"style":917},[1016],{"type":23,"value":1017}," 0",{"type":14,"tagName":35,"properties":1019,"children":1020},{"style":626},[1021],{"type":23,"value":1022}," ?",{"type":14,"tagName":35,"properties":1024,"children":1025},{"style":620},[1026],{"type":23,"value":1027}," closeSeries[",{"type":14,"tagName":35,"properties":1029,"children":1030},{"style":917},[1031],{"type":23,"value":1032},"1",{"type":14,"tagName":35,"properties":1034,"children":1035},{"style":620},[1036],{"type":23,"value":1037},"] ",{"type":14,"tagName":35,"properties":1039,"children":1040},{"style":626},[1041],{"type":23,"value":1042},":",{"type":14,"tagName":35,"properties":1044,"children":1045},{"style":620},[1046],{"type":23,"value":1047}," closeSeries",{"type":23,"value":89},{"type":14,"tagName":35,"properties":1050,"children":1051},{"class":616},[1052,1056,1061,1065,1070,1075],{"type":14,"tagName":35,"properties":1053,"children":1054},{"style":626},[1055],{"type":23,"value":544},{"type":14,"tagName":35,"properties":1057,"children":1058},{"style":620},[1059],{"type":23,"value":1060}," closeDelta ",{"type":14,"tagName":35,"properties":1062,"children":1063},{"style":626},[1064],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1066,"children":1067},{"style":620},[1068],{"type":23,"value":1069}," closeSeries ",{"type":14,"tagName":35,"properties":1071,"children":1072},{"style":626},[1073],{"type":23,"value":1074},"-",{"type":14,"tagName":35,"properties":1076,"children":1077},{"style":620},[1078],{"type":23,"value":1079}," previousClose",{"type":23,"value":89},{"type":14,"tagName":35,"properties":1082,"children":1083},{"class":616},[1084,1088,1093,1097,1101,1106,1111,1116,1121,1126,1130],{"type":14,"tagName":35,"properties":1085,"children":1086},{"style":626},[1087],{"type":23,"value":544},{"type":14,"tagName":35,"properties":1089,"children":1090},{"style":620},[1091],{"type":23,"value":1092}," loopValue ",{"type":14,"tagName":35,"properties":1094,"children":1095},{"style":626},[1096],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1098,"children":1099},{"style":620},[1100],{"type":23,"value":1007},{"type":14,"tagName":35,"properties":1102,"children":1103},{"style":626},[1104],{"type":23,"value":1105},"+",{"type":14,"tagName":35,"properties":1107,"children":1108},{"style":620},[1109],{"type":23,"value":1110}," (isLastBar ",{"type":14,"tagName":35,"properties":1112,"children":1113},{"style":626},[1114],{"type":23,"value":1115},"?",{"type":14,"tagName":35,"properties":1117,"children":1118},{"style":917},[1119],{"type":23,"value":1120}," 1",{"type":14,"tagName":35,"properties":1122,"children":1123},{"style":626},[1124],{"type":23,"value":1125}," :",{"type":14,"tagName":35,"properties":1127,"children":1128},{"style":917},[1129],{"type":23,"value":1017},{"type":14,"tagName":35,"properties":1131,"children":1132},{"style":620},[1133],{"type":23,"value":924},{"type":23,"value":89},{"type":14,"tagName":35,"properties":1136,"children":1137},{"class":616},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":1140,"children":1141},{"class":616},[1142,1147,1152,1156,1161,1165,1170,1175,1180,1184,1188,1193,1198,1202,1206,1211],{"type":14,"tagName":35,"properties":1143,"children":1144},{"style":632},[1145],{"type":23,"value":1146},"plotLine",{"type":14,"tagName":35,"properties":1148,"children":1149},{"style":620},[1150],{"type":23,"value":1151},"(value",{"type":14,"tagName":35,"properties":1153,"children":1154},{"style":626},[1155],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1157,"children":1158},{"style":620},[1159],{"type":23,"value":1160},"loopValue, colors",{"type":14,"tagName":35,"properties":1162,"children":1163},{"style":626},[1164],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1166,"children":1167},{"style":620},[1168],{"type":23,"value":1169},"[",{"type":14,"tagName":35,"properties":1171,"children":1172},{"style":888},[1173],{"type":23,"value":1174},"\"#2563eb\"",{"type":14,"tagName":35,"properties":1176,"children":1177},{"style":620},[1178],{"type":23,"value":1179},"], label",{"type":14,"tagName":35,"properties":1181,"children":1182},{"style":626},[1183],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1185,"children":1186},{"style":620},[1187],{"type":23,"value":1169},{"type":14,"tagName":35,"properties":1189,"children":1190},{"style":888},[1191],{"type":23,"value":1192},"\"barIndex\"",{"type":14,"tagName":35,"properties":1194,"children":1195},{"style":620},[1196],{"type":23,"value":1197},"], desc",{"type":14,"tagName":35,"properties":1199,"children":1200},{"style":626},[1201],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1203,"children":1204},{"style":620},[1205],{"type":23,"value":1169},{"type":14,"tagName":35,"properties":1207,"children":1208},{"style":888},[1209],{"type":23,"value":1210},"\"barIndex with isLastBar offset\"",{"type":14,"tagName":35,"properties":1212,"children":1213},{"style":620},[1214],{"type":23,"value":1215},"])",{"type":23,"value":89},{"type":14,"tagName":35,"properties":1218,"children":1219},{"class":616},[1220,1224,1228,1232,1237,1241,1245,1250,1254,1258,1262,1267,1271,1275,1279,1284],{"type":14,"tagName":35,"properties":1221,"children":1222},{"style":632},[1223],{"type":23,"value":1146},{"type":14,"tagName":35,"properties":1225,"children":1226},{"style":620},[1227],{"type":23,"value":1151},{"type":14,"tagName":35,"properties":1229,"children":1230},{"style":626},[1231],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1233,"children":1234},{"style":620},[1235],{"type":23,"value":1236},"closeDelta, colors",{"type":14,"tagName":35,"properties":1238,"children":1239},{"style":626},[1240],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1242,"children":1243},{"style":620},[1244],{"type":23,"value":1169},{"type":14,"tagName":35,"properties":1246,"children":1247},{"style":888},[1248],{"type":23,"value":1249},"\"#dc2626\"",{"type":14,"tagName":35,"properties":1251,"children":1252},{"style":620},[1253],{"type":23,"value":1179},{"type":14,"tagName":35,"properties":1255,"children":1256},{"style":626},[1257],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1259,"children":1260},{"style":620},[1261],{"type":23,"value":1169},{"type":14,"tagName":35,"properties":1263,"children":1264},{"style":888},[1265],{"type":23,"value":1266},"\"closeDelta\"",{"type":14,"tagName":35,"properties":1268,"children":1269},{"style":620},[1270],{"type":23,"value":1197},{"type":14,"tagName":35,"properties":1272,"children":1273},{"style":626},[1274],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1276,"children":1277},{"style":620},[1278],{"type":23,"value":1169},{"type":14,"tagName":35,"properties":1280,"children":1281},{"style":888},[1282],{"type":23,"value":1283},"\"history indexing through a timeseries\"",{"type":14,"tagName":35,"properties":1285,"children":1286},{"style":620},[1287],{"type":23,"value":1215},{"type":23,"value":89},{"type":14,"tagName":120,"properties":1290,"children":1291,"position":1394},{},[1292,1300,1311,1317,1328,1335,1347,1354,1367,1374,1387],{"type":23,"value":1293,"position":1294},"What you'll see: the ",{"start":1295,"end":1298},{"line":1296,"column":27,"offset":1297},56,3133,{"line":1296,"column":329,"offset":1299},3154,{"type":14,"tagName":246,"properties":1301,"children":1302,"position":1308},{},[1303],{"type":23,"value":250,"position":1304},{"start":1305,"end":1306},{"line":1296,"column":329,"offset":1299},{"line":1296,"column":33,"offset":1307},3164,{"start":1309,"end":1310},{"line":1296,"column":329,"offset":1299},{"line":1296,"column":33,"offset":1307},{"type":23,"value":1312,"position":1313}," line is a straight ramp from ",{"start":1314,"end":1315},{"line":1296,"column":33,"offset":1307},{"line":1296,"column":349,"offset":1316},3194,{"type":14,"tagName":246,"properties":1318,"children":1319,"position":1325},{},[1320],{"type":23,"value":278,"position":1321},{"start":1322,"end":1323},{"line":1296,"column":349,"offset":1316},{"line":1296,"column":798,"offset":1324},3197,{"start":1326,"end":1327},{"line":1296,"column":349,"offset":1316},{"line":1296,"column":798,"offset":1324},{"type":23,"value":1329,"position":1330}," up to the last bar's index, ticking one higher on the final bar thanks to the ",{"start":1331,"end":1332},{"line":1296,"column":798,"offset":1324},{"line":1296,"column":1333,"offset":1334},144,3276,{"type":14,"tagName":246,"properties":1336,"children":1337,"position":1344},{},[1338],{"type":23,"value":309,"position":1339},{"start":1340,"end":1341},{"line":1296,"column":1333,"offset":1334},{"line":1296,"column":1342,"offset":1343},155,3287,{"start":1345,"end":1346},{"line":1296,"column":1333,"offset":1334},{"line":1296,"column":1342,"offset":1343},{"type":23,"value":1348,"position":1349}," offset. The ",{"start":1350,"end":1351},{"line":1296,"column":1342,"offset":1343},{"line":1296,"column":1352,"offset":1353},168,3300,{"type":14,"tagName":246,"properties":1355,"children":1356,"position":1364},{},[1357],{"type":23,"value":1358,"position":1359},"closeDelta",{"start":1360,"end":1361},{"line":1296,"column":1352,"offset":1353},{"line":1296,"column":1362,"offset":1363},180,3312,{"start":1365,"end":1366},{"line":1296,"column":1352,"offset":1353},{"line":1296,"column":1362,"offset":1363},{"type":23,"value":1368,"position":1369}," line is the bar-over-bar price change, hovering around zero and spiking when price moves. Note the guard ",{"start":1370,"end":1371},{"line":1296,"column":1362,"offset":1363},{"line":1296,"column":1372,"offset":1373},286,3418,{"type":14,"tagName":246,"properties":1375,"children":1376,"position":1384},{},[1377],{"type":23,"value":1378,"position":1379},"barIndex > 0 ? closeSeries[1] : closeSeries",{"start":1380,"end":1381},{"line":1296,"column":1372,"offset":1373},{"line":1296,"column":1382,"offset":1383},331,3463,{"start":1385,"end":1386},{"line":1296,"column":1372,"offset":1373},{"line":1296,"column":1382,"offset":1383},{"type":23,"value":1388,"position":1389},": on bar 0 there is no prior bar to look back to, so the script falls back to the current value instead.",{"start":1390,"end":1391},{"line":1296,"column":1382,"offset":1383},{"line":1296,"column":1392,"offset":1393},435,3567,{"start":1395,"end":1396},{"line":1296,"column":27,"offset":1297},{"line":1296,"column":1392,"offset":1393},{"type":23,"value":89},{"type":14,"tagName":102,"properties":1399,"children":1401,"position":1409},{"id":1400},"you-need-a-source-to-reach-the-loop",[1402],{"type":23,"value":1403,"position":1404},"You need a source to reach the loop",{"start":1405,"end":1407},{"line":737,"column":56,"offset":1406},3572,{"line":737,"column":786,"offset":1408},3607,{"start":1410,"end":1412},{"line":737,"column":27,"offset":1411},3569,{"line":737,"column":786,"offset":1408},{"type":23,"value":89},{"type":14,"tagName":120,"properties":1415,"children":1416,"position":1426},{},[1417],{"type":23,"value":1418,"position":1419},"Since source data is what generates the bar sequence, an offchart script that never opens a source has nothing to iterate. It will compile and start, then stop with zero bars to compute and a message telling you no source data reached the bar loop. Nothing draws, because there were no bars and therefore no plot points.",{"start":1420,"end":1423},{"line":1421,"column":27,"offset":1422},60,3609,{"line":1421,"column":1424,"offset":1425},321,3929,{"start":1427,"end":1428},{"line":1421,"column":27,"offset":1422},{"line":1421,"column":1424,"offset":1425},{"type":23,"value":89},{"type":14,"tagName":120,"properties":1431,"children":1432,"position":1440},{},[1433],{"type":23,"value":1434,"position":1435},"The fix is to add an anchor before you plot anything derived:",{"start":1436,"end":1438},{"line":349,"column":27,"offset":1437},3931,{"line":349,"column":349,"offset":1439},3992,{"start":1441,"end":1442},{"line":349,"column":27,"offset":1437},{"line":349,"column":349,"offset":1439},{"type":23,"value":89},{"type":11,"children":1445},[1446],{"type":14,"tagName":606,"properties":1447,"children":1448,"data":-1},{"class":608,"style":609,"tabindex":278},[1449],{"type":14,"tagName":246,"properties":1450,"children":1451},{},[1452,1459,1460,1508,1509,1512,1513,1548,1549,1557,1558],{"type":14,"tagName":35,"properties":1453,"children":1454},{"class":616},[1455],{"type":14,"tagName":35,"properties":1456,"children":1457},{"style":679},[1458],{"type":23,"value":867},{"type":23,"value":89},{"type":14,"tagName":35,"properties":1461,"children":1462},{"class":616},[1463,1467,1471,1475,1480,1484,1488,1492,1496,1500,1504],{"type":14,"tagName":35,"properties":1464,"children":1465},{"style":632},[1466],{"type":23,"value":876},{"type":14,"tagName":35,"properties":1468,"children":1469},{"style":620},[1470],{"type":23,"value":881},{"type":14,"tagName":35,"properties":1472,"children":1473},{"style":626},[1474],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1476,"children":1477},{"style":888},[1478],{"type":23,"value":1479},"\"Anchored\"",{"type":14,"tagName":35,"properties":1481,"children":1482},{"style":620},[1483],{"type":23,"value":896},{"type":14,"tagName":35,"properties":1485,"children":1486},{"style":626},[1487],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1489,"children":1490},{"style":888},[1491],{"type":23,"value":905},{"type":14,"tagName":35,"properties":1493,"children":1494},{"style":620},[1495],{"type":23,"value":910},{"type":14,"tagName":35,"properties":1497,"children":1498},{"style":626},[1499],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1501,"children":1502},{"style":917},[1503],{"type":23,"value":335},{"type":14,"tagName":35,"properties":1505,"children":1506},{"style":620},[1507],{"type":23,"value":924},{"type":23,"value":89},{"type":14,"tagName":35,"properties":1510,"children":1511},{"class":616},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":1514,"children":1515},{"class":616},[1516,1520,1524,1528,1532,1536,1540,1544],{"type":14,"tagName":35,"properties":1517,"children":1518},{"style":620},[1519],{"type":23,"value":623},{"type":14,"tagName":35,"properties":1521,"children":1522},{"style":626},[1523],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1525,"children":1526},{"style":632},[1527],{"type":23,"value":635},{"type":14,"tagName":35,"properties":1529,"children":1530},{"style":620},[1531],{"type":23,"value":640},{"type":14,"tagName":35,"properties":1533,"children":1534},{"style":626},[1535],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1537,"children":1538},{"style":620},[1539],{"type":23,"value":649},{"type":14,"tagName":35,"properties":1541,"children":1542},{"style":626},[1543],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1545,"children":1546},{"style":620},[1547],{"type":23,"value":658},{"type":23,"value":89},{"type":14,"tagName":35,"properties":1550,"children":1551},{"class":616},[1552],{"type":14,"tagName":35,"properties":1553,"children":1554},{"style":679},[1555],{"type":23,"value":1556},"// now the loop runs, && you can plot anything off trade",{"type":23,"value":89},{"type":14,"tagName":35,"properties":1559,"children":1560},{"class":616},[1561,1565,1569,1573,1578,1582,1586,1590,1594,1598,1602,1607,1611,1615,1619,1624],{"type":14,"tagName":35,"properties":1562,"children":1563},{"style":632},[1564],{"type":23,"value":1146},{"type":14,"tagName":35,"properties":1566,"children":1567},{"style":620},[1568],{"type":23,"value":1151},{"type":14,"tagName":35,"properties":1570,"children":1571},{"style":626},[1572],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1574,"children":1575},{"style":620},[1576],{"type":23,"value":1577},"trade.close, colors",{"type":14,"tagName":35,"properties":1579,"children":1580},{"style":626},[1581],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1583,"children":1584},{"style":620},[1585],{"type":23,"value":1169},{"type":14,"tagName":35,"properties":1587,"children":1588},{"style":888},[1589],{"type":23,"value":1174},{"type":14,"tagName":35,"properties":1591,"children":1592},{"style":620},[1593],{"type":23,"value":1179},{"type":14,"tagName":35,"properties":1595,"children":1596},{"style":626},[1597],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1599,"children":1600},{"style":620},[1601],{"type":23,"value":1169},{"type":14,"tagName":35,"properties":1603,"children":1604},{"style":888},[1605],{"type":23,"value":1606},"\"Close\"",{"type":14,"tagName":35,"properties":1608,"children":1609},{"style":620},[1610],{"type":23,"value":1197},{"type":14,"tagName":35,"properties":1612,"children":1613},{"style":626},[1614],{"type":23,"value":629},{"type":14,"tagName":35,"properties":1616,"children":1617},{"style":620},[1618],{"type":23,"value":1169},{"type":14,"tagName":35,"properties":1620,"children":1621},{"style":888},[1622],{"type":23,"value":1623},"\"chart close\"",{"type":14,"tagName":35,"properties":1625,"children":1626},{"style":620},[1627],{"type":23,"value":1215},{"type":23,"value":89},{"type":14,"tagName":120,"properties":1630,"children":1631,"position":1641},{},[1632],{"type":23,"value":1633,"position":1634},"This applies even when your indicator doesn't obviously use price. If you compute something from time or constants alone, you still need a source open so the engine knows which bars to walk.",{"start":1635,"end":1638},{"line":1636,"column":27,"offset":1637},72,4300,{"line":1636,"column":1639,"offset":1640},191,4490,{"start":1642,"end":1643},{"line":1636,"column":27,"offset":1637},{"line":1636,"column":1639,"offset":1640},{"type":23,"value":89},{"type":14,"tagName":102,"properties":1646,"children":1648,"position":1658},{"id":1647},"var-versus-timeseries-at-a-glance",[1649],{"type":23,"value":1650,"position":1651},"var versus timeseries, at a glance",{"start":1652,"end":1655},{"line":1653,"column":56,"offset":1654},74,4495,{"line":1653,"column":1656,"offset":1657},38,4529,{"start":1659,"end":1661},{"line":1653,"column":27,"offset":1660},4492,{"line":1653,"column":1656,"offset":1657},{"type":23,"value":89},{"type":14,"tagName":120,"properties":1664,"children":1665,"position":1675},{},[1666],{"type":23,"value":1667,"position":1668},"The split that matters in the bar loop is history:",{"start":1669,"end":1672},{"line":1670,"column":27,"offset":1671},76,4531,{"line":1670,"column":1673,"offset":1674},51,4581,{"start":1676,"end":1677},{"line":1670,"column":27,"offset":1671},{"line":1670,"column":1673,"offset":1674},{"type":23,"value":89},{"type":14,"tagName":234,"properties":1680,"children":1681,"position":1803},{},[1682,1683,1761,1762,1802],{"type":23,"value":89},{"type":14,"tagName":239,"properties":1684,"children":1685,"position":1757},{},[1686,1694,1714,1720,1731,1737,1750],{"type":23,"value":1687,"position":1688},"Use ",{"start":1689,"end":1692},{"line":1690,"column":32,"offset":1691},78,4585,{"line":1690,"column":82,"offset":1693},4589,{"type":14,"tagName":132,"properties":1695,"children":1696,"position":1710},{},[1697],{"type":14,"tagName":246,"properties":1698,"children":1699,"position":1707},{},[1700],{"type":23,"value":525,"position":1701},{"start":1702,"end":1705},{"line":1690,"column":1703,"offset":1704},9,4591,{"line":1690,"column":312,"offset":1706},4603,{"start":1708,"end":1709},{"line":1690,"column":1703,"offset":1704},{"line":1690,"column":312,"offset":1706},{"start":1711,"end":1712},{"line":1690,"column":82,"offset":1693},{"line":1690,"column":386,"offset":1713},4605,{"type":23,"value":1715,"position":1716}," when you want history indexing: ",{"start":1717,"end":1718},{"line":1690,"column":386,"offset":1713},{"line":1690,"column":1296,"offset":1719},4638,{"type":14,"tagName":246,"properties":1721,"children":1722,"position":1728},{},[1723],{"type":23,"value":564,"position":1724},{"start":1725,"end":1726},{"line":1690,"column":1296,"offset":1719},{"line":1690,"column":1636,"offset":1727},4654,{"start":1729,"end":1730},{"line":1690,"column":1296,"offset":1719},{"line":1690,"column":1636,"offset":1727},{"type":23,"value":1732,"position":1733},", ",{"start":1734,"end":1735},{"line":1690,"column":1636,"offset":1727},{"line":1690,"column":1653,"offset":1736},4656,{"type":14,"tagName":246,"properties":1738,"children":1739,"position":1747},{},[1740],{"type":23,"value":1741,"position":1742},"high[10]",{"start":1743,"end":1744},{"line":1690,"column":1653,"offset":1736},{"line":1690,"column":1745,"offset":1746},84,4666,{"start":1748,"end":1749},{"line":1690,"column":1653,"offset":1736},{"line":1690,"column":1745,"offset":1746},{"type":23,"value":1751,"position":1752},". Source data and anything you plan to look back through belongs here.",{"start":1753,"end":1754},{"line":1690,"column":1745,"offset":1746},{"line":1690,"column":1755,"offset":1756},154,4736,{"start":1758,"end":1760},{"line":1690,"column":27,"offset":1759},4583,{"line":1690,"column":1755,"offset":1756},{"type":23,"value":89},{"type":14,"tagName":239,"properties":1763,"children":1764,"position":1798},{},[1765,1772,1791],{"type":23,"value":1687,"position":1766},{"start":1767,"end":1770},{"line":1768,"column":32,"offset":1769},79,4739,{"line":1768,"column":82,"offset":1771},4743,{"type":14,"tagName":132,"properties":1773,"children":1774,"position":1787},{},[1775],{"type":14,"tagName":246,"properties":1776,"children":1777,"position":1784},{},[1778],{"type":23,"value":544,"position":1779},{"start":1780,"end":1782},{"line":1768,"column":1703,"offset":1781},4745,{"line":1768,"column":167,"offset":1783},4750,{"start":1785,"end":1786},{"line":1768,"column":1703,"offset":1781},{"line":1768,"column":167,"offset":1783},{"start":1788,"end":1789},{"line":1768,"column":82,"offset":1771},{"line":1768,"column":112,"offset":1790},4752,{"type":23,"value":1792,"position":1793}," when you only need the current bar's value: a scalar, a one-bar calculation, an indicator reading you consume immediately.",{"start":1794,"end":1795},{"line":1768,"column":112,"offset":1790},{"line":1768,"column":1796,"offset":1797},139,4875,{"start":1799,"end":1801},{"line":1768,"column":27,"offset":1800},4737,{"line":1768,"column":1796,"offset":1797},{"type":23,"value":89},{"start":1804,"end":1805},{"line":1690,"column":27,"offset":1759},{"line":1768,"column":1796,"offset":1797},{"type":23,"value":89},{"type":14,"tagName":120,"properties":1808,"children":1809,"position":1914},{},[1810,1818,1829,1836,1848,1854,1866,1872,1885,1892,1908],{"type":23,"value":1811,"position":1812},"Indexing a ",{"start":1813,"end":1816},{"line":1814,"column":27,"offset":1815},81,4877,{"line":1814,"column":127,"offset":1817},4888,{"type":14,"tagName":246,"properties":1819,"children":1820,"position":1826},{},[1821],{"type":23,"value":544,"position":1822},{"start":1823,"end":1824},{"line":1814,"column":127,"offset":1817},{"line":1814,"column":265,"offset":1825},4893,{"start":1827,"end":1828},{"line":1814,"column":127,"offset":1817},{"line":1814,"column":265,"offset":1825},{"type":23,"value":1830,"position":1831}," (",{"start":1832,"end":1833},{"line":1814,"column":265,"offset":1825},{"line":1814,"column":1834,"offset":1835},19,4895,{"type":14,"tagName":246,"properties":1837,"children":1838,"position":1845},{},[1839],{"type":23,"value":1840,"position":1841},"closeNow[1]",{"start":1842,"end":1843},{"line":1814,"column":1834,"offset":1835},{"line":1814,"column":33,"offset":1844},4908,{"start":1846,"end":1847},{"line":1814,"column":1834,"offset":1835},{"line":1814,"column":33,"offset":1844},{"type":23,"value":1849,"position":1850},") fails at compile time with a message that indexing is only allowed on timeseries and arrays. That error is the engine telling you to promote the value to a ",{"start":1851,"end":1852},{"line":1814,"column":33,"offset":1844},{"line":1814,"column":466,"offset":1853},5066,{"type":14,"tagName":246,"properties":1855,"children":1856,"position":1863},{},[1857],{"type":23,"value":525,"position":1858},{"start":1859,"end":1860},{"line":1814,"column":466,"offset":1853},{"line":1814,"column":1861,"offset":1862},202,5078,{"start":1864,"end":1865},{"line":1814,"column":466,"offset":1853},{"line":1814,"column":1861,"offset":1862},{"type":23,"value":1867,"position":1868},". The full treatment, including ",{"start":1869,"end":1870},{"line":1814,"column":1861,"offset":1862},{"line":1814,"column":845,"offset":1871},5110,{"type":14,"tagName":246,"properties":1873,"children":1874,"position":1882},{},[1875],{"type":23,"value":1876,"position":1877},"persist",{"start":1878,"end":1879},{"line":1814,"column":845,"offset":1871},{"line":1814,"column":1880,"offset":1881},243,5119,{"start":1883,"end":1884},{"line":1814,"column":845,"offset":1871},{"line":1814,"column":1880,"offset":1881},{"type":23,"value":1886,"position":1887}," for carrying state across bars, is in ",{"start":1888,"end":1889},{"line":1814,"column":1880,"offset":1881},{"line":1814,"column":1890,"offset":1891},282,5158,{"type":14,"tagName":696,"properties":1893,"children":1894,"position":1903},{"href":698},[1895],{"type":23,"value":701,"position":1896},{"start":1897,"end":1900},{"line":1814,"column":1898,"offset":1899},283,5159,{"line":1814,"column":1901,"offset":1902},292,5168,{"start":1904,"end":1905},{"line":1814,"column":1890,"offset":1891},{"line":1814,"column":1906,"offset":1907},312,5188,{"type":23,"value":841,"position":1909},{"start":1910,"end":1911},{"line":1814,"column":1906,"offset":1907},{"line":1814,"column":1912,"offset":1913},313,5189,{"start":1915,"end":1916},{"line":1814,"column":27,"offset":1815},{"line":1814,"column":1912,"offset":1913},{"quirksMode":1918},false,{"start":1920,"end":1921},{"line":27,"column":27,"offset":97},{"line":1922,"column":27,"offset":1923},82,5190,1784888046542]