[{"data":1,"prerenderedAt":4735},["ShallowReactive",2],{"kscript:faq/best-practices":3},{"slug":4,"filePath":5,"frontmatter":6,"rawMarkdown":9,"tree":10},"faq/best-practices","faq/best-practices.md",{"title":7,"description":8},"Best Practices","Guidelines and recommendations for writing efficient, maintainable, and error-free kScript code.","---\ntitle: Best Practices\ndescription: >-\n  Guidelines and recommendations for writing efficient, maintainable, and\n  error-free kScript code.\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-yellow-50 text-yellow-600 text-sm font-medium\">\n    Guidelines\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    8 min read\n  \u003C/span>\n\u003C/div>\n\n## Code Structure\n\nFundamental patterns for organizing your kScript code.\n\n### Variable Declarations\n\nUse the appropriate variable type for your data.\n\n**Static variables for constants:**\n\nUse for constants and values that never change across bars (e.g., periods, thresholds, multipliers).\n\n```javascript title=\"Static Variables\" lines wrap\nstatic period = 14\nstatic multiplier = 2.0\n\n**Regular variables for dynamic values:**\n\nUse for dynamic values that change per bar but don't need historical access (e.g., signals, calculations).\n```\n```javascript title=\"Regular Variables\" lines wrap\nvar signal = 0\nvar trend_direction = \"up\"\n\n**Timeseries for historical data:**\n\nUse **only when absolutely necessary** as they consume more memory. Declare as timeseries when you need to:\n```\n- Store data source outputs: `timeseries price_data = ohlcv(...)`\n- Access past values at previous candle indices: `sma_values[5]`\n\nWhile indicator functions like `sma()`, `ema()`, and `rsi()` require a **timeseries as input**, their return values should be stored as `var` unless you specifically need to access historical values (e.g., `sma_values[5]`). This saves memory and improves performance.\n\n```javascript title=\"Timeseries Usage\" lines wrap\n// ✓ Good - Data source stored as timeseries\ntimeseries price_data = ohlcv(currentSymbol, currentExchange)\n\n// ✓ Good - Indicator return value stored as var (unless you need history)\nvar sma_value = sma(price_data.close, period)\nvar rsi_value = rsi(price_data.close, 14)\n\n// ✓ Only use timeseries if you need to access historical values\ntimeseries sma_series = sma(price_data.close, period)\nvar previous_sma = sma_series[5]  // Accessing 5 bars ago\n```\n## Technical Indicators\n\nGuidelines for working with technical indicators effectively.\n\n### Explicit Parameters\n\nAlways specify parameters explicitly for clarity. This makes your code more readable and maintainable.\n\n```javascript title=\"Explicit Parameters\" lines wrap\n// ✓ Good - Parameters are explicit and clear\ntimeseries sma20 = sma(price_data.close, period=20)\ntimeseries rsi14 = rsi(price_data.close, period=14)\n\n// ❌ Avoid - Relying on defaults makes intent unclear\ntimeseries sma_default = sma(price_data.close)\n```\n### Historical Data Access\n\nUse bracket notation to access historical values safely.\n\n```javascript title=\"Historical Data Access\" lines wrap\n// Access previous bar values\nvar prev_close = price_data.close[1]\nvar close_5_bars_ago = price_data.close[5]\n\n// Use in calculations\nvar price_change = price_data.close - price_data.close[1]\n```\n## Plotting & Visualization\n\nCreate clear and informative visualizations.\n\n### Descriptive Plots\n\nUse meaningful colors and widths to make your plots easy to distinguish.\n\n```javascript title=\"Descriptive Plots\" lines wrap\n// Use meaningful colors and widths\nplotLine(value=sma20, width=2, colors=[\"blue\"], label=[\"SMA 20\"], desc=[\"20-period Simple Moving Average\"])\nplotLine(value=sma50, width=2, colors=[\"red\"], label=[\"SMA 50\"], desc=[\"50-period Simple Moving Average\"])\n\n// Conditional plotting with ternary operators\nvar signal_value = trend_up ? price_data.high : na\nplotShape(value=signal_value, shape=\"circle\", width=2, colors=[\"green\"], label=[\"Signal\"], desc=[\"Trading Signal\"])\n```\n### Choose Appropriate Plot Types\n\nSelect the right plot function for your data type.\n\n{% hint style=\"info\" %}\n**Plot Types**\n\n- `plotLine()` for continuous lines\n- `plotBar()` for histogram data\n- `plotCandle()` for OHLC data\n- `plotShape()` for discrete signals\n{% endhint %}\n\n## Debugging\n\nBest practices for debugging and inspecting your kScript code.\n\n### Use printTimeSeries for Timeseries Objects\n\nAlways use `printTimeSeries()` for timeseries objects instead of `print()`. The `print()` function only outputs the first value (e.g., only \"open\" for OHLCV data), while `printTimeSeries()` displays the complete timeseries structure.\n\n```javascript title=\"printTimeSeries for Timeseries Objects\" lines wrap\n// ❌ Avoid - print() only shows first value (open)\ntimeseries price_data = ohlcv(currentSymbol, currentExchange)\nprint(\"Price data:\", price_data)  // Only prints open values\n\n// ✓ Good - printTimeSeries() shows complete OHLCV structure\nprintTimeSeries(price_data)  // Prints [timeseriesInMs, open, high, low, close, volume]\n\n// You can also specify which field to print\nprintTimeSeries(price_data, priceIndex=4)  // Print [timeseriesInMs, close] prices\n```\n## Error Prevention\n\nProtect your code against common runtime errors.\n\n### Null Checking\n\nAlways check for invalid data before performing calculations.\n\n```javascript title=\"Null Checking\" lines wrap\n// Check for invalid data before calculations\nvar calculation = !isnan(price_data.close) ? price_data.close * multiplier : na\n\n// Alternative using isnum()\nif (isnum(price_data.close) && price_data.close > 0) {\n    var result = price_data.close * 2\n}\n```\n### Division by Zero\n\nProtect against division by zero errors.\n\n```javascript title=\"Division by Zero\" lines wrap\n// Protect against division by zero\nvar ratio = denominator != 0 ? numerator / denominator : na\n\n// With additional safety checks\nvar safe_ratio = isnum(denominator) && denominator != 0 ? numerator / denominator : na\n```\n### Array Bounds\n\nBe careful when accessing historical data to avoid index errors.\n\n```javascript title=\"Array Bounds\" lines wrap\n// Check bar index before accessing historical data\nvar safe_previous = barIndex > 0 ? price_data.close[1] : price_data.close\n\n// For multiple bars back\nvar safe_value = barIndex >= 5 ? price_data.close[5] : price_data.close\n```\n## Performance Optimization\n\nWrite efficient code that executes quickly.\n\n### Avoid Redundant Calculations\n\nStore frequently used calculations in variables instead of recalculating.\n\n```javascript title=\"Avoid Redundant Calculations\" lines wrap\n// ✓ Good - Calculate once and reuse\nstatic lookback_period = 20\ntimeseries typical_price = (price_data.high + price_data.low + price_data.close) / 3\ntimeseries sma_typical = sma(typical_price, lookback_period)\n\n// ❌ Avoid - Recalculating the same value multiple times\nvar value1 = sma((price_data.high + price_data.low + price_data.close) / 3, 20)\nvar value2 = sma((price_data.high + price_data.low + price_data.close) / 3, 20)\n```\n### Use Static Variables\n\nDeclare constants as `static` to avoid unnecessary recalculation on every bar.\n\n```javascript title=\"Use Static Variables\" lines wrap\n// ✓ Good - Declare constants as static\nstatic fibonacci_ratio = 0.618\nstatic golden_ratio = 1.618\nstatic pi = 3.14159\n\n// These values don't change, so no need to recalculate each bar\n```\n## Code Organization\n\nStructure your code for maximum readability and maintainability.\n\n### Group Related Code\n\nOrganize your code into logical sections: inputs, data sources, calculations, signals, and plotting.\n\n```javascript title=\"Group Related Code\" lines wrap\n// @version=2\ndefine(\"My Strategy\", \"overlay\", overlay=true)\n\n// Input parameters\nvar period = input(\"Period\", \"number\", defaultValue=14)\nvar threshold = input(\"Threshold\", \"number\", defaultValue=0.5)\n\n// Data sources\ntimeseries price_data = ohlcv(currentSymbol, currentExchange)\n\n// Calculations\ntimeseries ma_fast = sma(price_data.close, period)\ntimeseries ma_slow = sma(price_data.close, period * 2)\n\n// Signals\nvar buy_signal = crossover(ma_fast, ma_slow)\nvar sell_signal = crossunder(ma_fast, ma_slow)\n\n// Plotting\nplotLine(value=ma_fast, width=2, colors=[\"blue\"], label=[\"Fast MA\"], desc=[\"Fast Moving Average\"])\nplotLine(value=ma_slow, width=2, colors=[\"red\"], label=[\"Slow MA\"], desc=[\"Slow Moving Average\"])\nplotShape(value=buy_signal ? price_data.low : na, shape=\"circle\", width=2, colors=[\"green\"], label=[\"Buy Signal\"], desc=[\"Buy Signal Marker\"])\n```\n### Use Comments Effectively\n\nWrite clear comments that explain the \"why\" behind your code logic.\n\n```javascript title=\"Use Comments Effectively\" lines wrap\n// Calculate RSI divergence\nvar rsi_current = rsi(price_data.close, 14)\nvar rsi_previous = rsi_current[1]\n\n// Look for bullish divergence:\n// Price makes lower low but RSI makes higher low\nvar price_lower_low = price_data.low \u003C price_data.low[1]\nvar rsi_higher_low = rsi_current > rsi_previous\nvar bullish_divergence = price_lower_low && rsi_higher_low\n```\n### Use Descriptive Labels and Descriptions\n\nAlways include `label` and `desc` parameters in your plotting functions. These parameters improve autocomplete functionality, make scripts more readable, and help with script organization in the editor.\n\n```javascript title=\"Use Descriptive Labels and Descriptions\" lines wrap\n// ✓ Always use label and desc parameters for better organization\ntimeseries price_data = ohlcv(currentSymbol, currentExchange)\nvar sma20 = sma(price_data.close, 20)\nvar sma50 = sma(price_data.close, 50)\nvar rsi = rsi(price_data.close, 14)\n\n// Good: Descriptive labels help with autocomplete and script organization\nplotLine(value=sma20, width=2, colors=[\"blue\"], label=[\"SMA 20\"], desc=[\"20-period Simple Moving Average\"])\nplotLine(value=sma50, width=2, colors=[\"red\"], label=[\"SMA 50\"], desc=[\"50-period Simple Moving Average\"])\nplotLine(value=rsi, width=2, colors=[\"purple\"], label=[\"RSI\"], desc=[\"14-period Relative Strength Index\"])\n\n// ❌ Avoid: Missing labels make scripts harder to understand\nplotLine(value=sma20, width=2, colors=[\"blue\"])\nplotLine(value=sma50, width=2, colors=[\"red\"])\nplotLine(value=rsi, width=2, colors=[\"purple\"])\n```",{"type":11,"children":12,"data":4728,"position":4730},"root",[13,100,101,118,119,135,136,154,155,170,171,195,196,211,212,324,325,502,503,571,572,706,707,896,897,913,914,929,930,946,947,961,962,1081,1082,1099,1100,1114,1115,1244,1245,1262,1263,1278,1279,1296,1297,1311,1312,1657,1658,1674,1675,1690,1691,1843,1844,1860,1861,1875,1876,1893,1894,1984,1985,2128,2129,2145,2146,2160,2161,2177,2178,2191,2192,2365,2366,2383,2384,2398,2399,2553,2554,2570,2571,2585,2586,2726,2727,2743,2744,2759,2760,2775,2776,2790,2791,3029,3030,3047,3048,3081,3082,3165,3166,3182,3183,3196,3197,3214,3215,3229,3230,3874,3875,3891,3892,3907,3908,4108,4109,4125,4126,4177,4178],{"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-yellow-50","text-yellow-600","text-sm","font-medium",[49],{"type":23,"value":50,"position":51},"\n    Guidelines\n  ",{"start":52,"end":55},{"line":31,"column":53,"offset":54},122,151,{"line":56,"column":32,"offset":57},4,169,{"start":59,"end":60},{"line":31,"column":32,"offset":33},{"line":56,"column":61,"offset":62},10,176,{"type":23,"value":24,"position":64},{"start":65,"end":66},{"line":56,"column":61,"offset":62},{"line":67,"column":32,"offset":68},5,179,{"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    8 min read\n  ",{"start":78,"end":81},{"line":67,"column":79,"offset":80},119,295,{"line":82,"column":32,"offset":83},7,313,{"start":85,"end":86},{"line":67,"column":32,"offset":68},{"line":82,"column":61,"offset":87},320,{"type":23,"value":89,"position":90},"\n",{"start":91,"end":92},{"line":82,"column":61,"offset":87},{"line":93,"column":27,"offset":94},8,321,{"start":96,"end":98},{"line":27,"column":27,"offset":97},0,{"line":93,"column":82,"offset":99},327,{"type":23,"value":89},{"type":14,"tagName":102,"properties":103,"children":105,"position":114},"h2",{"id":104},"code-structure",[106],{"type":23,"value":107,"position":108},"Code Structure",{"start":109,"end":111},{"line":61,"column":56,"offset":110},332,{"line":61,"column":112,"offset":113},18,346,{"start":115,"end":117},{"line":61,"column":27,"offset":116},329,{"line":61,"column":112,"offset":113},{"type":23,"value":89},{"type":14,"tagName":120,"properties":121,"children":122,"position":132},"p",{},[123],{"type":23,"value":124,"position":125},"Fundamental patterns for organizing your kScript code.",{"start":126,"end":129},{"line":127,"column":27,"offset":128},12,348,{"line":127,"column":130,"offset":131},55,402,{"start":133,"end":134},{"line":127,"column":27,"offset":128},{"line":127,"column":130,"offset":131},{"type":23,"value":89},{"type":14,"tagName":137,"properties":138,"children":140,"position":150},"h3",{"id":139},"variable-declarations",[141],{"type":23,"value":142,"position":143},"Variable Declarations",{"start":144,"end":147},{"line":145,"column":67,"offset":146},14,408,{"line":145,"column":148,"offset":149},26,429,{"start":151,"end":153},{"line":145,"column":27,"offset":152},404,{"line":145,"column":148,"offset":149},{"type":23,"value":89},{"type":14,"tagName":120,"properties":156,"children":157,"position":167},{},[158],{"type":23,"value":159,"position":160},"Use the appropriate variable type for your data.",{"start":161,"end":164},{"line":162,"column":27,"offset":163},16,431,{"line":162,"column":165,"offset":166},49,479,{"start":168,"end":169},{"line":162,"column":27,"offset":163},{"line":162,"column":165,"offset":166},{"type":23,"value":89},{"type":14,"tagName":120,"properties":172,"children":173,"position":192},{},[174],{"type":14,"tagName":175,"properties":176,"children":177,"position":186},"strong",{},[178],{"type":23,"value":179,"position":180},"Static variables for constants:",{"start":181,"end":183},{"line":112,"column":32,"offset":182},483,{"line":112,"column":184,"offset":185},34,514,{"start":187,"end":189},{"line":112,"column":27,"offset":188},481,{"line":112,"column":190,"offset":191},36,516,{"start":193,"end":194},{"line":112,"column":27,"offset":188},{"line":112,"column":190,"offset":191},{"type":23,"value":89},{"type":14,"tagName":120,"properties":197,"children":198,"position":208},{},[199],{"type":23,"value":200,"position":201},"Use for constants and values that never change across bars (e.g., periods, thresholds, multipliers).",{"start":202,"end":205},{"line":203,"column":27,"offset":204},20,518,{"line":203,"column":206,"offset":207},101,618,{"start":209,"end":210},{"line":203,"column":27,"offset":204},{"line":203,"column":206,"offset":207},{"type":23,"value":89},{"type":11,"children":213},[214],{"type":14,"tagName":215,"properties":216,"children":221,"data":-1},"pre",{"class":217,"style":218,"tabindex":219,"title":220},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0","Static Variables",[222],{"type":14,"tagName":223,"properties":224,"children":225},"code",{},[226,248,249,266,267,270,271,299,300,303,304],{"type":14,"tagName":35,"properties":227,"children":229},{"class":228},"line",[230,236,242],{"type":14,"tagName":35,"properties":231,"children":233},{"style":232},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[234],{"type":23,"value":235},"static period ",{"type":14,"tagName":35,"properties":237,"children":239},{"style":238},"--shiki-dark:#F97583;--shiki-light:#D73A49",[240],{"type":23,"value":241},"=",{"type":14,"tagName":35,"properties":243,"children":245},{"style":244},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[246],{"type":23,"value":247}," 14",{"type":23,"value":89},{"type":14,"tagName":35,"properties":250,"children":251},{"class":228},[252,257,261],{"type":14,"tagName":35,"properties":253,"children":254},{"style":232},[255],{"type":23,"value":256},"static multiplier ",{"type":14,"tagName":35,"properties":258,"children":259},{"style":238},[260],{"type":23,"value":241},{"type":14,"tagName":35,"properties":262,"children":263},{"style":244},[264],{"type":23,"value":265}," 2.0",{"type":23,"value":89},{"type":14,"tagName":35,"properties":268,"children":269},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":272,"children":273},{"class":228},[274,279,284,290,295],{"type":14,"tagName":35,"properties":275,"children":276},{"style":238},[277],{"type":23,"value":278},"**",{"type":14,"tagName":35,"properties":280,"children":281},{"style":232},[282],{"type":23,"value":283},"Regular variables for dynamic ",{"type":14,"tagName":35,"properties":285,"children":287},{"style":286},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[288],{"type":23,"value":289},"values",{"type":14,"tagName":35,"properties":291,"children":292},{"style":232},[293],{"type":23,"value":294},":",{"type":14,"tagName":35,"properties":296,"children":297},{"style":238},[298],{"type":23,"value":278},{"type":23,"value":89},{"type":14,"tagName":35,"properties":301,"children":302},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":305,"children":306},{"class":228},[307,312,318],{"type":14,"tagName":35,"properties":308,"children":309},{"style":232},[310],{"type":23,"value":311},"Use for dynamic values that change per bar but don",{"type":14,"tagName":35,"properties":313,"children":315},{"style":314},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[316],{"type":23,"value":317},"'t need historical access (e.g., signals, calculations)",{"type":14,"tagName":35,"properties":319,"children":321},{"style":320},"--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;--shiki-light:#B31D28;--shiki-light-font-style:italic",[322],{"type":23,"value":323},".",{"type":23,"value":89},{"type":11,"children":326},[327],{"type":14,"tagName":215,"properties":328,"children":330,"data":-1},{"class":217,"style":218,"tabindex":219,"title":329},"Regular Variables",[331],{"type":14,"tagName":223,"properties":332,"children":333},{},[334,356,357,378,379,382,383,408,409,412,413],{"type":14,"tagName":35,"properties":335,"children":336},{"class":228},[337,342,347,351],{"type":14,"tagName":35,"properties":338,"children":339},{"style":238},[340],{"type":23,"value":341},"var",{"type":14,"tagName":35,"properties":343,"children":344},{"style":232},[345],{"type":23,"value":346}," signal ",{"type":14,"tagName":35,"properties":348,"children":349},{"style":238},[350],{"type":23,"value":241},{"type":14,"tagName":35,"properties":352,"children":353},{"style":244},[354],{"type":23,"value":355}," 0",{"type":23,"value":89},{"type":14,"tagName":35,"properties":358,"children":359},{"class":228},[360,364,369,373],{"type":14,"tagName":35,"properties":361,"children":362},{"style":238},[363],{"type":23,"value":341},{"type":14,"tagName":35,"properties":365,"children":366},{"style":232},[367],{"type":23,"value":368}," trend_direction ",{"type":14,"tagName":35,"properties":370,"children":371},{"style":238},[372],{"type":23,"value":241},{"type":14,"tagName":35,"properties":374,"children":375},{"style":314},[376],{"type":23,"value":377}," \"up\"",{"type":23,"value":89},{"type":14,"tagName":35,"properties":380,"children":381},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":384,"children":385},{"class":228},[386,390,395,400,404],{"type":14,"tagName":35,"properties":387,"children":388},{"style":238},[389],{"type":23,"value":278},{"type":14,"tagName":35,"properties":391,"children":392},{"style":232},[393],{"type":23,"value":394},"Timeseries for historical ",{"type":14,"tagName":35,"properties":396,"children":397},{"style":286},[398],{"type":23,"value":399},"data",{"type":14,"tagName":35,"properties":401,"children":402},{"style":232},[403],{"type":23,"value":294},{"type":14,"tagName":35,"properties":405,"children":406},{"style":238},[407],{"type":23,"value":278},{"type":23,"value":89},{"type":14,"tagName":35,"properties":410,"children":411},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":414,"children":415},{"class":228},[416,421,425,430,434,439,444,449,454,459,464,469,473,478,483,488,493,498],{"type":14,"tagName":35,"properties":417,"children":418},{"style":232},[419],{"type":23,"value":420},"Use ",{"type":14,"tagName":35,"properties":422,"children":423},{"style":238},[424],{"type":23,"value":278},{"type":14,"tagName":35,"properties":426,"children":427},{"style":232},[428],{"type":23,"value":429},"only when absolutely necessary",{"type":14,"tagName":35,"properties":431,"children":432},{"style":238},[433],{"type":23,"value":278},{"type":14,"tagName":35,"properties":435,"children":436},{"style":238},[437],{"type":23,"value":438}," as",{"type":14,"tagName":35,"properties":440,"children":441},{"style":286},[442],{"type":23,"value":443}," they",{"type":14,"tagName":35,"properties":445,"children":446},{"style":286},[447],{"type":23,"value":448}," consume",{"type":14,"tagName":35,"properties":450,"children":451},{"style":286},[452],{"type":23,"value":453}," more",{"type":14,"tagName":35,"properties":455,"children":456},{"style":286},[457],{"type":23,"value":458}," memory",{"type":14,"tagName":35,"properties":460,"children":461},{"style":232},[462],{"type":23,"value":463},". ",{"type":14,"tagName":35,"properties":465,"children":466},{"style":286},[467],{"type":23,"value":468},"Declare",{"type":14,"tagName":35,"properties":470,"children":471},{"style":238},[472],{"type":23,"value":438},{"type":14,"tagName":35,"properties":474,"children":475},{"style":286},[476],{"type":23,"value":477}," timeseries",{"type":14,"tagName":35,"properties":479,"children":480},{"style":286},[481],{"type":23,"value":482}," when",{"type":14,"tagName":35,"properties":484,"children":485},{"style":286},[486],{"type":23,"value":487}," you",{"type":14,"tagName":35,"properties":489,"children":490},{"style":286},[491],{"type":23,"value":492}," need",{"type":14,"tagName":35,"properties":494,"children":495},{"style":286},[496],{"type":23,"value":497}," to",{"type":14,"tagName":35,"properties":499,"children":500},{"style":232},[501],{"type":23,"value":294},{"type":23,"value":89},{"type":14,"tagName":504,"properties":505,"children":506,"position":568},"ul",{},[507,508,537,538,567],{"type":23,"value":89},{"type":14,"tagName":509,"properties":510,"children":511,"position":533},"li",{},[512,520],{"type":23,"value":513,"position":514},"Store data source outputs: ",{"start":515,"end":518},{"line":516,"column":32,"offset":517},38,1113,{"line":516,"column":28,"offset":519},1140,{"type":14,"tagName":223,"properties":521,"children":522,"position":530},{},[523],{"type":23,"value":524,"position":525},"timeseries price_data = ohlcv(...)",{"start":526,"end":527},{"line":516,"column":28,"offset":519},{"line":516,"column":528,"offset":529},66,1176,{"start":531,"end":532},{"line":516,"column":28,"offset":519},{"line":516,"column":528,"offset":529},{"start":534,"end":536},{"line":516,"column":27,"offset":535},1111,{"line":516,"column":528,"offset":529},{"type":23,"value":89},{"type":14,"tagName":509,"properties":539,"children":540,"position":563},{},[541,550],{"type":23,"value":542,"position":543},"Access past values at previous candle indices: ",{"start":544,"end":547},{"line":545,"column":32,"offset":546},39,1179,{"line":545,"column":548,"offset":549},50,1226,{"type":14,"tagName":223,"properties":551,"children":552,"position":560},{},[553],{"type":23,"value":554,"position":555},"sma_values[5]",{"start":556,"end":557},{"line":545,"column":548,"offset":549},{"line":545,"column":558,"offset":559},65,1241,{"start":561,"end":562},{"line":545,"column":548,"offset":549},{"line":545,"column":558,"offset":559},{"start":564,"end":566},{"line":545,"column":27,"offset":565},1177,{"line":545,"column":558,"offset":559},{"type":23,"value":89},{"start":569,"end":570},{"line":516,"column":27,"offset":535},{"line":545,"column":558,"offset":559},{"type":23,"value":89},{"type":14,"tagName":120,"properties":573,"children":574,"position":703},{},[575,583,595,601,614,621,634,641,658,665,677,684,696],{"type":23,"value":576,"position":577},"While indicator functions like ",{"start":578,"end":581},{"line":579,"column":27,"offset":580},41,1243,{"line":579,"column":33,"offset":582},1274,{"type":14,"tagName":223,"properties":584,"children":585,"position":592},{},[586],{"type":23,"value":587,"position":588},"sma()",{"start":589,"end":590},{"line":579,"column":33,"offset":582},{"line":579,"column":545,"offset":591},1281,{"start":593,"end":594},{"line":579,"column":33,"offset":582},{"line":579,"column":545,"offset":591},{"type":23,"value":596,"position":597},", ",{"start":598,"end":599},{"line":579,"column":545,"offset":591},{"line":579,"column":579,"offset":600},1283,{"type":14,"tagName":223,"properties":602,"children":603,"position":611},{},[604],{"type":23,"value":605,"position":606},"ema()",{"start":607,"end":608},{"line":579,"column":579,"offset":600},{"line":579,"column":609,"offset":610},48,1290,{"start":612,"end":613},{"line":579,"column":579,"offset":600},{"line":579,"column":609,"offset":610},{"type":23,"value":615,"position":616},", and ",{"start":617,"end":618},{"line":579,"column":609,"offset":610},{"line":579,"column":619,"offset":620},54,1296,{"type":14,"tagName":223,"properties":622,"children":623,"position":631},{},[624],{"type":23,"value":625,"position":626},"rsi()",{"start":627,"end":628},{"line":579,"column":619,"offset":620},{"line":579,"column":629,"offset":630},61,1303,{"start":632,"end":633},{"line":579,"column":619,"offset":620},{"line":579,"column":629,"offset":630},{"type":23,"value":635,"position":636}," require a ",{"start":637,"end":638},{"line":579,"column":629,"offset":630},{"line":579,"column":639,"offset":640},72,1314,{"type":14,"tagName":175,"properties":642,"children":643,"position":653},{},[644],{"type":23,"value":645,"position":646},"timeseries as input",{"start":647,"end":650},{"line":579,"column":648,"offset":649},74,1316,{"line":579,"column":651,"offset":652},93,1335,{"start":654,"end":655},{"line":579,"column":639,"offset":640},{"line":579,"column":656,"offset":657},95,1337,{"type":23,"value":659,"position":660},", their return values should be stored as ",{"start":661,"end":662},{"line":579,"column":656,"offset":657},{"line":579,"column":663,"offset":664},137,1379,{"type":14,"tagName":223,"properties":666,"children":667,"position":674},{},[668],{"type":23,"value":341,"position":669},{"start":670,"end":671},{"line":579,"column":663,"offset":664},{"line":579,"column":672,"offset":673},142,1384,{"start":675,"end":676},{"line":579,"column":663,"offset":664},{"line":579,"column":672,"offset":673},{"type":23,"value":678,"position":679}," unless you specifically need to access historical values (e.g., ",{"start":680,"end":681},{"line":579,"column":672,"offset":673},{"line":579,"column":682,"offset":683},207,1449,{"type":14,"tagName":223,"properties":685,"children":686,"position":693},{},[687],{"type":23,"value":554,"position":688},{"start":689,"end":690},{"line":579,"column":682,"offset":683},{"line":579,"column":691,"offset":692},222,1464,{"start":694,"end":695},{"line":579,"column":682,"offset":683},{"line":579,"column":691,"offset":692},{"type":23,"value":697,"position":698},"). This saves memory and improves performance.",{"start":699,"end":700},{"line":579,"column":691,"offset":692},{"line":579,"column":701,"offset":702},268,1510,{"start":704,"end":705},{"line":579,"column":27,"offset":580},{"line":579,"column":701,"offset":702},{"type":23,"value":89},{"type":11,"children":708},[709],{"type":14,"tagName":215,"properties":710,"children":712,"data":-1},{"class":217,"style":218,"tabindex":219,"title":711},"Timeseries Usage",[713],{"type":14,"tagName":223,"properties":714,"children":715},{},[716,725,726,748,749,752,753,761,762,788,789,825,826,829,830,838,839,859,860],{"type":14,"tagName":35,"properties":717,"children":718},{"class":228},[719],{"type":14,"tagName":35,"properties":720,"children":722},{"style":721},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[723],{"type":23,"value":724},"// ✓ Good - Data source stored as timeseries",{"type":23,"value":89},{"type":14,"tagName":35,"properties":727,"children":728},{"class":228},[729,734,738,743],{"type":14,"tagName":35,"properties":730,"children":731},{"style":232},[732],{"type":23,"value":733},"timeseries price_data ",{"type":14,"tagName":35,"properties":735,"children":736},{"style":238},[737],{"type":23,"value":241},{"type":14,"tagName":35,"properties":739,"children":740},{"style":286},[741],{"type":23,"value":742}," ohlcv",{"type":14,"tagName":35,"properties":744,"children":745},{"style":232},[746],{"type":23,"value":747},"(currentSymbol, currentExchange)",{"type":23,"value":89},{"type":14,"tagName":35,"properties":750,"children":751},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":754,"children":755},{"class":228},[756],{"type":14,"tagName":35,"properties":757,"children":758},{"style":721},[759],{"type":23,"value":760},"// ✓ Good - Indicator return value stored as var (unless you need history)",{"type":23,"value":89},{"type":14,"tagName":35,"properties":763,"children":764},{"class":228},[765,769,774,778,783],{"type":14,"tagName":35,"properties":766,"children":767},{"style":238},[768],{"type":23,"value":341},{"type":14,"tagName":35,"properties":770,"children":771},{"style":232},[772],{"type":23,"value":773}," sma_value ",{"type":14,"tagName":35,"properties":775,"children":776},{"style":238},[777],{"type":23,"value":241},{"type":14,"tagName":35,"properties":779,"children":780},{"style":286},[781],{"type":23,"value":782}," sma",{"type":14,"tagName":35,"properties":784,"children":785},{"style":232},[786],{"type":23,"value":787},"(price_data.close, period)",{"type":23,"value":89},{"type":14,"tagName":35,"properties":790,"children":791},{"class":228},[792,796,801,805,810,815,820],{"type":14,"tagName":35,"properties":793,"children":794},{"style":238},[795],{"type":23,"value":341},{"type":14,"tagName":35,"properties":797,"children":798},{"style":232},[799],{"type":23,"value":800}," rsi_value ",{"type":14,"tagName":35,"properties":802,"children":803},{"style":238},[804],{"type":23,"value":241},{"type":14,"tagName":35,"properties":806,"children":807},{"style":286},[808],{"type":23,"value":809}," rsi",{"type":14,"tagName":35,"properties":811,"children":812},{"style":232},[813],{"type":23,"value":814},"(price_data.close, ",{"type":14,"tagName":35,"properties":816,"children":817},{"style":244},[818],{"type":23,"value":819},"14",{"type":14,"tagName":35,"properties":821,"children":822},{"style":232},[823],{"type":23,"value":824},")",{"type":23,"value":89},{"type":14,"tagName":35,"properties":827,"children":828},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":831,"children":832},{"class":228},[833],{"type":14,"tagName":35,"properties":834,"children":835},{"style":721},[836],{"type":23,"value":837},"// ✓ Only use timeseries if you need to access historical values",{"type":23,"value":89},{"type":14,"tagName":35,"properties":840,"children":841},{"class":228},[842,847,851,855],{"type":14,"tagName":35,"properties":843,"children":844},{"style":232},[845],{"type":23,"value":846},"timeseries sma_series ",{"type":14,"tagName":35,"properties":848,"children":849},{"style":238},[850],{"type":23,"value":241},{"type":14,"tagName":35,"properties":852,"children":853},{"style":286},[854],{"type":23,"value":782},{"type":14,"tagName":35,"properties":856,"children":857},{"style":232},[858],{"type":23,"value":787},{"type":23,"value":89},{"type":14,"tagName":35,"properties":861,"children":862},{"class":228},[863,867,872,876,881,886,891],{"type":14,"tagName":35,"properties":864,"children":865},{"style":238},[866],{"type":23,"value":341},{"type":14,"tagName":35,"properties":868,"children":869},{"style":232},[870],{"type":23,"value":871}," previous_sma ",{"type":14,"tagName":35,"properties":873,"children":874},{"style":238},[875],{"type":23,"value":241},{"type":14,"tagName":35,"properties":877,"children":878},{"style":232},[879],{"type":23,"value":880}," sma_series[",{"type":14,"tagName":35,"properties":882,"children":883},{"style":244},[884],{"type":23,"value":885},"5",{"type":14,"tagName":35,"properties":887,"children":888},{"style":232},[889],{"type":23,"value":890},"]  ",{"type":14,"tagName":35,"properties":892,"children":893},{"style":721},[894],{"type":23,"value":895},"// Accessing 5 bars ago",{"type":23,"value":89},{"type":14,"tagName":102,"properties":898,"children":900,"position":909},{"id":899},"technical-indicators",[901],{"type":23,"value":902,"position":903},"Technical Indicators",{"start":904,"end":906},{"line":130,"column":56,"offset":905},2018,{"line":130,"column":907,"offset":908},24,2038,{"start":910,"end":912},{"line":130,"column":27,"offset":911},2015,{"line":130,"column":907,"offset":908},{"type":23,"value":89},{"type":14,"tagName":120,"properties":915,"children":916,"position":926},{},[917],{"type":23,"value":918,"position":919},"Guidelines for working with technical indicators effectively.",{"start":920,"end":923},{"line":921,"column":27,"offset":922},57,2040,{"line":921,"column":924,"offset":925},62,2101,{"start":927,"end":928},{"line":921,"column":27,"offset":922},{"line":921,"column":924,"offset":925},{"type":23,"value":89},{"type":14,"tagName":137,"properties":931,"children":933,"position":942},{"id":932},"explicit-parameters",[934],{"type":23,"value":935,"position":936},"Explicit Parameters",{"start":937,"end":940},{"line":938,"column":67,"offset":939},59,2107,{"line":938,"column":907,"offset":941},2126,{"start":943,"end":945},{"line":938,"column":27,"offset":944},2103,{"line":938,"column":907,"offset":941},{"type":23,"value":89},{"type":14,"tagName":120,"properties":948,"children":949,"position":958},{},[950],{"type":23,"value":951,"position":952},"Always specify parameters explicitly for clarity. This makes your code more readable and maintainable.",{"start":953,"end":955},{"line":629,"column":27,"offset":954},2128,{"line":629,"column":956,"offset":957},103,2230,{"start":959,"end":960},{"line":629,"column":27,"offset":954},{"line":629,"column":956,"offset":957},{"type":23,"value":89},{"type":11,"children":963},[964],{"type":14,"tagName":215,"properties":965,"children":966,"data":-1},{"class":217,"style":218,"tabindex":219,"title":935},[967],{"type":14,"tagName":223,"properties":968,"children":969},{},[970,978,979,1013,1014,1046,1047,1050,1051,1059,1060],{"type":14,"tagName":35,"properties":971,"children":972},{"class":228},[973],{"type":14,"tagName":35,"properties":974,"children":975},{"style":721},[976],{"type":23,"value":977},"// ✓ Good - Parameters are explicit and clear",{"type":23,"value":89},{"type":14,"tagName":35,"properties":980,"children":981},{"class":228},[982,987,991,995,1000,1004,1009],{"type":14,"tagName":35,"properties":983,"children":984},{"style":232},[985],{"type":23,"value":986},"timeseries sma20 ",{"type":14,"tagName":35,"properties":988,"children":989},{"style":238},[990],{"type":23,"value":241},{"type":14,"tagName":35,"properties":992,"children":993},{"style":286},[994],{"type":23,"value":782},{"type":14,"tagName":35,"properties":996,"children":997},{"style":232},[998],{"type":23,"value":999},"(price_data.close, period",{"type":14,"tagName":35,"properties":1001,"children":1002},{"style":238},[1003],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1005,"children":1006},{"style":244},[1007],{"type":23,"value":1008},"20",{"type":14,"tagName":35,"properties":1010,"children":1011},{"style":232},[1012],{"type":23,"value":824},{"type":23,"value":89},{"type":14,"tagName":35,"properties":1015,"children":1016},{"class":228},[1017,1022,1026,1030,1034,1038,1042],{"type":14,"tagName":35,"properties":1018,"children":1019},{"style":232},[1020],{"type":23,"value":1021},"timeseries rsi14 ",{"type":14,"tagName":35,"properties":1023,"children":1024},{"style":238},[1025],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1027,"children":1028},{"style":286},[1029],{"type":23,"value":809},{"type":14,"tagName":35,"properties":1031,"children":1032},{"style":232},[1033],{"type":23,"value":999},{"type":14,"tagName":35,"properties":1035,"children":1036},{"style":238},[1037],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1039,"children":1040},{"style":244},[1041],{"type":23,"value":819},{"type":14,"tagName":35,"properties":1043,"children":1044},{"style":232},[1045],{"type":23,"value":824},{"type":23,"value":89},{"type":14,"tagName":35,"properties":1048,"children":1049},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":1052,"children":1053},{"class":228},[1054],{"type":14,"tagName":35,"properties":1055,"children":1056},{"style":721},[1057],{"type":23,"value":1058},"// ❌ Avoid - Relying on defaults makes intent unclear",{"type":23,"value":89},{"type":14,"tagName":35,"properties":1061,"children":1062},{"class":228},[1063,1068,1072,1076],{"type":14,"tagName":35,"properties":1064,"children":1065},{"style":232},[1066],{"type":23,"value":1067},"timeseries sma_default ",{"type":14,"tagName":35,"properties":1069,"children":1070},{"style":238},[1071],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1073,"children":1074},{"style":286},[1075],{"type":23,"value":782},{"type":14,"tagName":35,"properties":1077,"children":1078},{"style":232},[1079],{"type":23,"value":1080},"(price_data.close)",{"type":23,"value":89},{"type":14,"tagName":137,"properties":1083,"children":1085,"position":1095},{"id":1084},"historical-data-access",[1086],{"type":23,"value":1087,"position":1088},"Historical Data Access",{"start":1089,"end":1092},{"line":1090,"column":67,"offset":1091},71,2545,{"line":1090,"column":1093,"offset":1094},27,2567,{"start":1096,"end":1098},{"line":1090,"column":27,"offset":1097},2541,{"line":1090,"column":1093,"offset":1094},{"type":23,"value":89},{"type":14,"tagName":120,"properties":1101,"children":1102,"position":1111},{},[1103],{"type":23,"value":1104,"position":1105},"Use bracket notation to access historical values safely.",{"start":1106,"end":1109},{"line":1107,"column":27,"offset":1108},73,2569,{"line":1107,"column":921,"offset":1110},2625,{"start":1112,"end":1113},{"line":1107,"column":27,"offset":1108},{"line":1107,"column":921,"offset":1110},{"type":23,"value":89},{"type":11,"children":1116},[1117],{"type":14,"tagName":215,"properties":1118,"children":1119,"data":-1},{"class":217,"style":218,"tabindex":219,"title":1087},[1120],{"type":14,"tagName":223,"properties":1121,"children":1122},{},[1123,1131,1132,1163,1164,1192,1193,1196,1197,1205,1206],{"type":14,"tagName":35,"properties":1124,"children":1125},{"class":228},[1126],{"type":14,"tagName":35,"properties":1127,"children":1128},{"style":721},[1129],{"type":23,"value":1130},"// Access previous bar values",{"type":23,"value":89},{"type":14,"tagName":35,"properties":1133,"children":1134},{"class":228},[1135,1139,1144,1148,1153,1158],{"type":14,"tagName":35,"properties":1136,"children":1137},{"style":238},[1138],{"type":23,"value":341},{"type":14,"tagName":35,"properties":1140,"children":1141},{"style":232},[1142],{"type":23,"value":1143}," prev_close ",{"type":14,"tagName":35,"properties":1145,"children":1146},{"style":238},[1147],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1149,"children":1150},{"style":232},[1151],{"type":23,"value":1152}," price_data.close[",{"type":14,"tagName":35,"properties":1154,"children":1155},{"style":244},[1156],{"type":23,"value":1157},"1",{"type":14,"tagName":35,"properties":1159,"children":1160},{"style":232},[1161],{"type":23,"value":1162},"]",{"type":23,"value":89},{"type":14,"tagName":35,"properties":1165,"children":1166},{"class":228},[1167,1171,1176,1180,1184,1188],{"type":14,"tagName":35,"properties":1168,"children":1169},{"style":238},[1170],{"type":23,"value":341},{"type":14,"tagName":35,"properties":1172,"children":1173},{"style":232},[1174],{"type":23,"value":1175}," close_5_bars_ago ",{"type":14,"tagName":35,"properties":1177,"children":1178},{"style":238},[1179],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1181,"children":1182},{"style":232},[1183],{"type":23,"value":1152},{"type":14,"tagName":35,"properties":1185,"children":1186},{"style":244},[1187],{"type":23,"value":885},{"type":14,"tagName":35,"properties":1189,"children":1190},{"style":232},[1191],{"type":23,"value":1162},{"type":23,"value":89},{"type":14,"tagName":35,"properties":1194,"children":1195},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":1198,"children":1199},{"class":228},[1200],{"type":14,"tagName":35,"properties":1201,"children":1202},{"style":721},[1203],{"type":23,"value":1204},"// Use in calculations",{"type":23,"value":89},{"type":14,"tagName":35,"properties":1207,"children":1208},{"class":228},[1209,1213,1218,1222,1227,1232,1236,1240],{"type":14,"tagName":35,"properties":1210,"children":1211},{"style":238},[1212],{"type":23,"value":341},{"type":14,"tagName":35,"properties":1214,"children":1215},{"style":232},[1216],{"type":23,"value":1217}," price_change ",{"type":14,"tagName":35,"properties":1219,"children":1220},{"style":238},[1221],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1223,"children":1224},{"style":232},[1225],{"type":23,"value":1226}," price_data.close ",{"type":14,"tagName":35,"properties":1228,"children":1229},{"style":238},[1230],{"type":23,"value":1231},"-",{"type":14,"tagName":35,"properties":1233,"children":1234},{"style":232},[1235],{"type":23,"value":1152},{"type":14,"tagName":35,"properties":1237,"children":1238},{"style":244},[1239],{"type":23,"value":1157},{"type":14,"tagName":35,"properties":1241,"children":1242},{"style":232},[1243],{"type":23,"value":1162},{"type":23,"value":89},{"type":14,"tagName":102,"properties":1246,"children":1248,"position":1258},{"id":1247},"plotting-and-visualization",[1249],{"type":23,"value":1250,"position":1251},"Plotting & Visualization",{"start":1252,"end":1255},{"line":1253,"column":56,"offset":1254},83,2882,{"line":1253,"column":1256,"offset":1257},28,2906,{"start":1259,"end":1261},{"line":1253,"column":27,"offset":1260},2879,{"line":1253,"column":1256,"offset":1257},{"type":23,"value":89},{"type":14,"tagName":120,"properties":1264,"children":1265,"position":1275},{},[1266],{"type":23,"value":1267,"position":1268},"Create clear and informative visualizations.",{"start":1269,"end":1272},{"line":1270,"column":27,"offset":1271},85,2908,{"line":1270,"column":1273,"offset":1274},45,2952,{"start":1276,"end":1277},{"line":1270,"column":27,"offset":1271},{"line":1270,"column":1273,"offset":1274},{"type":23,"value":89},{"type":14,"tagName":137,"properties":1280,"children":1282,"position":1292},{"id":1281},"descriptive-plots",[1283],{"type":23,"value":1284,"position":1285},"Descriptive Plots",{"start":1286,"end":1289},{"line":1287,"column":67,"offset":1288},87,2958,{"line":1287,"column":1290,"offset":1291},22,2975,{"start":1293,"end":1295},{"line":1287,"column":27,"offset":1294},2954,{"line":1287,"column":1290,"offset":1291},{"type":23,"value":89},{"type":14,"tagName":120,"properties":1298,"children":1299,"position":1308},{},[1300],{"type":23,"value":1301,"position":1302},"Use meaningful colors and widths to make your plots easy to distinguish.",{"start":1303,"end":1306},{"line":1304,"column":27,"offset":1305},89,2977,{"line":1304,"column":1107,"offset":1307},3049,{"start":1309,"end":1310},{"line":1304,"column":27,"offset":1305},{"line":1304,"column":1107,"offset":1307},{"type":23,"value":89},{"type":11,"children":1313},[1314],{"type":14,"tagName":215,"properties":1315,"children":1316,"data":-1},{"class":217,"style":218,"tabindex":219,"title":1284},[1317],{"type":14,"tagName":223,"properties":1318,"children":1319},{},[1320,1328,1329,1420,1421,1504,1505,1508,1509,1517,1518,1558,1559],{"type":14,"tagName":35,"properties":1321,"children":1322},{"class":228},[1323],{"type":14,"tagName":35,"properties":1324,"children":1325},{"style":721},[1326],{"type":23,"value":1327},"// Use meaningful colors and widths",{"type":23,"value":89},{"type":14,"tagName":35,"properties":1330,"children":1331},{"class":228},[1332,1337,1342,1346,1351,1355,1360,1365,1369,1374,1379,1384,1388,1392,1397,1402,1406,1410,1415],{"type":14,"tagName":35,"properties":1333,"children":1334},{"style":286},[1335],{"type":23,"value":1336},"plotLine",{"type":14,"tagName":35,"properties":1338,"children":1339},{"style":232},[1340],{"type":23,"value":1341},"(value",{"type":14,"tagName":35,"properties":1343,"children":1344},{"style":238},[1345],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1347,"children":1348},{"style":232},[1349],{"type":23,"value":1350},"sma20, width",{"type":14,"tagName":35,"properties":1352,"children":1353},{"style":238},[1354],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1356,"children":1357},{"style":244},[1358],{"type":23,"value":1359},"2",{"type":14,"tagName":35,"properties":1361,"children":1362},{"style":232},[1363],{"type":23,"value":1364},", colors",{"type":14,"tagName":35,"properties":1366,"children":1367},{"style":238},[1368],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1370,"children":1371},{"style":232},[1372],{"type":23,"value":1373},"[",{"type":14,"tagName":35,"properties":1375,"children":1376},{"style":314},[1377],{"type":23,"value":1378},"\"blue\"",{"type":14,"tagName":35,"properties":1380,"children":1381},{"style":232},[1382],{"type":23,"value":1383},"], label",{"type":14,"tagName":35,"properties":1385,"children":1386},{"style":238},[1387],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1389,"children":1390},{"style":232},[1391],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":1393,"children":1394},{"style":314},[1395],{"type":23,"value":1396},"\"SMA 20\"",{"type":14,"tagName":35,"properties":1398,"children":1399},{"style":232},[1400],{"type":23,"value":1401},"], desc",{"type":14,"tagName":35,"properties":1403,"children":1404},{"style":238},[1405],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1407,"children":1408},{"style":232},[1409],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":1411,"children":1412},{"style":314},[1413],{"type":23,"value":1414},"\"20-period Simple Moving Average\"",{"type":14,"tagName":35,"properties":1416,"children":1417},{"style":232},[1418],{"type":23,"value":1419},"])",{"type":23,"value":89},{"type":14,"tagName":35,"properties":1422,"children":1423},{"class":228},[1424,1428,1432,1436,1441,1445,1449,1453,1457,1461,1466,1470,1474,1478,1483,1487,1491,1495,1500],{"type":14,"tagName":35,"properties":1425,"children":1426},{"style":286},[1427],{"type":23,"value":1336},{"type":14,"tagName":35,"properties":1429,"children":1430},{"style":232},[1431],{"type":23,"value":1341},{"type":14,"tagName":35,"properties":1433,"children":1434},{"style":238},[1435],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1437,"children":1438},{"style":232},[1439],{"type":23,"value":1440},"sma50, width",{"type":14,"tagName":35,"properties":1442,"children":1443},{"style":238},[1444],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1446,"children":1447},{"style":244},[1448],{"type":23,"value":1359},{"type":14,"tagName":35,"properties":1450,"children":1451},{"style":232},[1452],{"type":23,"value":1364},{"type":14,"tagName":35,"properties":1454,"children":1455},{"style":238},[1456],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1458,"children":1459},{"style":232},[1460],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":1462,"children":1463},{"style":314},[1464],{"type":23,"value":1465},"\"red\"",{"type":14,"tagName":35,"properties":1467,"children":1468},{"style":232},[1469],{"type":23,"value":1383},{"type":14,"tagName":35,"properties":1471,"children":1472},{"style":238},[1473],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1475,"children":1476},{"style":232},[1477],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":1479,"children":1480},{"style":314},[1481],{"type":23,"value":1482},"\"SMA 50\"",{"type":14,"tagName":35,"properties":1484,"children":1485},{"style":232},[1486],{"type":23,"value":1401},{"type":14,"tagName":35,"properties":1488,"children":1489},{"style":238},[1490],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1492,"children":1493},{"style":232},[1494],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":1496,"children":1497},{"style":314},[1498],{"type":23,"value":1499},"\"50-period Simple Moving Average\"",{"type":14,"tagName":35,"properties":1501,"children":1502},{"style":232},[1503],{"type":23,"value":1419},{"type":23,"value":89},{"type":14,"tagName":35,"properties":1506,"children":1507},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":1510,"children":1511},{"class":228},[1512],{"type":14,"tagName":35,"properties":1513,"children":1514},{"style":721},[1515],{"type":23,"value":1516},"// Conditional plotting with ternary operators",{"type":23,"value":89},{"type":14,"tagName":35,"properties":1519,"children":1520},{"class":228},[1521,1525,1530,1534,1539,1544,1549,1553],{"type":14,"tagName":35,"properties":1522,"children":1523},{"style":238},[1524],{"type":23,"value":341},{"type":14,"tagName":35,"properties":1526,"children":1527},{"style":232},[1528],{"type":23,"value":1529}," signal_value ",{"type":14,"tagName":35,"properties":1531,"children":1532},{"style":238},[1533],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1535,"children":1536},{"style":232},[1537],{"type":23,"value":1538}," trend_up ",{"type":14,"tagName":35,"properties":1540,"children":1541},{"style":238},[1542],{"type":23,"value":1543},"?",{"type":14,"tagName":35,"properties":1545,"children":1546},{"style":232},[1547],{"type":23,"value":1548}," price_data.high ",{"type":14,"tagName":35,"properties":1550,"children":1551},{"style":238},[1552],{"type":23,"value":294},{"type":14,"tagName":35,"properties":1554,"children":1555},{"style":232},[1556],{"type":23,"value":1557}," na",{"type":23,"value":89},{"type":14,"tagName":35,"properties":1560,"children":1561},{"class":228},[1562,1567,1571,1575,1580,1584,1589,1594,1598,1602,1606,1610,1614,1619,1623,1627,1631,1636,1640,1644,1648,1653],{"type":14,"tagName":35,"properties":1563,"children":1564},{"style":286},[1565],{"type":23,"value":1566},"plotShape",{"type":14,"tagName":35,"properties":1568,"children":1569},{"style":232},[1570],{"type":23,"value":1341},{"type":14,"tagName":35,"properties":1572,"children":1573},{"style":238},[1574],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1576,"children":1577},{"style":232},[1578],{"type":23,"value":1579},"signal_value, shape",{"type":14,"tagName":35,"properties":1581,"children":1582},{"style":238},[1583],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1585,"children":1586},{"style":314},[1587],{"type":23,"value":1588},"\"circle\"",{"type":14,"tagName":35,"properties":1590,"children":1591},{"style":232},[1592],{"type":23,"value":1593},", width",{"type":14,"tagName":35,"properties":1595,"children":1596},{"style":238},[1597],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1599,"children":1600},{"style":244},[1601],{"type":23,"value":1359},{"type":14,"tagName":35,"properties":1603,"children":1604},{"style":232},[1605],{"type":23,"value":1364},{"type":14,"tagName":35,"properties":1607,"children":1608},{"style":238},[1609],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1611,"children":1612},{"style":232},[1613],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":1615,"children":1616},{"style":314},[1617],{"type":23,"value":1618},"\"green\"",{"type":14,"tagName":35,"properties":1620,"children":1621},{"style":232},[1622],{"type":23,"value":1383},{"type":14,"tagName":35,"properties":1624,"children":1625},{"style":238},[1626],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1628,"children":1629},{"style":232},[1630],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":1632,"children":1633},{"style":314},[1634],{"type":23,"value":1635},"\"Signal\"",{"type":14,"tagName":35,"properties":1637,"children":1638},{"style":232},[1639],{"type":23,"value":1401},{"type":14,"tagName":35,"properties":1641,"children":1642},{"style":238},[1643],{"type":23,"value":241},{"type":14,"tagName":35,"properties":1645,"children":1646},{"style":232},[1647],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":1649,"children":1650},{"style":314},[1651],{"type":23,"value":1652},"\"Trading Signal\"",{"type":14,"tagName":35,"properties":1654,"children":1655},{"style":232},[1656],{"type":23,"value":1419},{"type":23,"value":89},{"type":14,"tagName":137,"properties":1659,"children":1661,"position":1670},{"id":1660},"choose-appropriate-plot-types",[1662],{"type":23,"value":1663,"position":1664},"Choose Appropriate Plot Types",{"start":1665,"end":1668},{"line":1666,"column":67,"offset":1667},100,3576,{"line":1666,"column":184,"offset":1669},3605,{"start":1671,"end":1673},{"line":1666,"column":27,"offset":1672},3572,{"line":1666,"column":184,"offset":1669},{"type":23,"value":89},{"type":14,"tagName":120,"properties":1676,"children":1677,"position":1687},{},[1678],{"type":23,"value":1679,"position":1680},"Select the right plot function for your data type.",{"start":1681,"end":1684},{"line":1682,"column":27,"offset":1683},102,3607,{"line":1682,"column":1685,"offset":1686},51,3657,{"start":1688,"end":1689},{"line":1682,"column":27,"offset":1683},{"line":1682,"column":1685,"offset":1686},{"type":23,"value":89},{"type":14,"tagName":1692,"properties":1693,"children":1695},"hint",{"type":1694},"info",[1696,1720],{"type":14,"tagName":120,"properties":1697,"children":1698,"position":1717},{},[1699],{"type":14,"tagName":175,"properties":1700,"children":1701,"position":1711},{},[1702],{"type":23,"value":1703,"position":1704},"Plot Types",{"start":1705,"end":1708},{"line":1706,"column":32,"offset":1707},107,3687,{"line":1706,"column":1709,"offset":1710},13,3697,{"start":1712,"end":1714},{"line":1706,"column":27,"offset":1713},3685,{"line":1706,"column":1715,"offset":1716},15,3699,{"start":1718,"end":1719},{"line":1706,"column":27,"offset":1713},{"line":1706,"column":1715,"offset":1716},{"type":14,"tagName":504,"properties":1721,"children":1722,"position":1840},{},[1723,1724,1751,1752,1780,1781,1810,1811,1839],{"type":23,"value":89},{"type":14,"tagName":509,"properties":1725,"children":1726,"position":1747},{},[1727,1741],{"type":14,"tagName":223,"properties":1728,"children":1729,"position":1738},{},[1730],{"type":23,"value":1731,"position":1732},"plotLine()",{"start":1733,"end":1736},{"line":1734,"column":32,"offset":1735},109,3703,{"line":1734,"column":1715,"offset":1737},3715,{"start":1739,"end":1740},{"line":1734,"column":32,"offset":1735},{"line":1734,"column":1715,"offset":1737},{"type":23,"value":1742,"position":1743}," for continuous lines",{"start":1744,"end":1745},{"line":1734,"column":1715,"offset":1737},{"line":1734,"column":190,"offset":1746},3736,{"start":1748,"end":1750},{"line":1734,"column":27,"offset":1749},3701,{"line":1734,"column":190,"offset":1746},{"type":23,"value":89},{"type":14,"tagName":509,"properties":1753,"children":1754,"position":1776},{},[1755,1769],{"type":14,"tagName":223,"properties":1756,"children":1757,"position":1766},{},[1758],{"type":23,"value":1759,"position":1760},"plotBar()",{"start":1761,"end":1764},{"line":1762,"column":32,"offset":1763},110,3739,{"line":1762,"column":145,"offset":1765},3750,{"start":1767,"end":1768},{"line":1762,"column":32,"offset":1763},{"line":1762,"column":145,"offset":1765},{"type":23,"value":1770,"position":1771}," for histogram data",{"start":1772,"end":1773},{"line":1762,"column":145,"offset":1765},{"line":1762,"column":1774,"offset":1775},33,3769,{"start":1777,"end":1779},{"line":1762,"column":27,"offset":1778},3737,{"line":1762,"column":1774,"offset":1775},{"type":23,"value":89},{"type":14,"tagName":509,"properties":1782,"children":1783,"position":1806},{},[1784,1799],{"type":14,"tagName":223,"properties":1785,"children":1786,"position":1796},{},[1787],{"type":23,"value":1788,"position":1789},"plotCandle()",{"start":1790,"end":1793},{"line":1791,"column":32,"offset":1792},111,3772,{"line":1791,"column":1794,"offset":1795},17,3786,{"start":1797,"end":1798},{"line":1791,"column":32,"offset":1792},{"line":1791,"column":1794,"offset":1795},{"type":23,"value":1800,"position":1801}," for OHLC data",{"start":1802,"end":1803},{"line":1791,"column":1794,"offset":1795},{"line":1791,"column":1804,"offset":1805},31,3800,{"start":1807,"end":1809},{"line":1791,"column":27,"offset":1808},3770,{"line":1791,"column":1804,"offset":1805},{"type":23,"value":89},{"type":14,"tagName":509,"properties":1812,"children":1813,"position":1835},{},[1814,1828],{"type":14,"tagName":223,"properties":1815,"children":1816,"position":1825},{},[1817],{"type":23,"value":1818,"position":1819},"plotShape()",{"start":1820,"end":1823},{"line":1821,"column":32,"offset":1822},112,3803,{"line":1821,"column":162,"offset":1824},3816,{"start":1826,"end":1827},{"line":1821,"column":32,"offset":1822},{"line":1821,"column":162,"offset":1824},{"type":23,"value":1829,"position":1830}," for discrete signals",{"start":1831,"end":1832},{"line":1821,"column":162,"offset":1824},{"line":1821,"column":1833,"offset":1834},37,3837,{"start":1836,"end":1838},{"line":1821,"column":27,"offset":1837},3801,{"line":1821,"column":1833,"offset":1834},{"type":23,"value":89},{"start":1841,"end":1842},{"line":1734,"column":27,"offset":1749},{"line":1821,"column":1833,"offset":1834},{"type":23,"value":89},{"type":14,"tagName":102,"properties":1845,"children":1847,"position":1856},{"id":1846},"debugging",[1848],{"type":23,"value":1849,"position":1850},"Debugging",{"start":1851,"end":1854},{"line":1852,"column":56,"offset":1853},117,3858,{"line":1852,"column":1709,"offset":1855},3867,{"start":1857,"end":1859},{"line":1852,"column":27,"offset":1858},3855,{"line":1852,"column":1709,"offset":1855},{"type":23,"value":89},{"type":14,"tagName":120,"properties":1862,"children":1863,"position":1872},{},[1864],{"type":23,"value":1865,"position":1866},"Best practices for debugging and inspecting your kScript code.",{"start":1867,"end":1869},{"line":79,"column":27,"offset":1868},3869,{"line":79,"column":1870,"offset":1871},63,3931,{"start":1873,"end":1874},{"line":79,"column":27,"offset":1868},{"line":79,"column":1870,"offset":1871},{"type":23,"value":89},{"type":14,"tagName":137,"properties":1877,"children":1879,"position":1889},{"id":1878},"use-printtimeseries-for-timeseries-objects",[1880],{"type":23,"value":1881,"position":1882},"Use printTimeSeries for Timeseries Objects",{"start":1883,"end":1886},{"line":1884,"column":67,"offset":1885},121,3937,{"line":1884,"column":1887,"offset":1888},47,3979,{"start":1890,"end":1892},{"line":1884,"column":27,"offset":1891},3933,{"line":1884,"column":1887,"offset":1888},{"type":23,"value":89},{"type":14,"tagName":120,"properties":1895,"children":1896,"position":1981},{},[1897,1905,1917,1923,1936,1943,1955,1962,1974],{"type":23,"value":1898,"position":1899},"Always use ",{"start":1900,"end":1903},{"line":1901,"column":27,"offset":1902},123,3981,{"line":1901,"column":127,"offset":1904},3992,{"type":14,"tagName":223,"properties":1906,"children":1907,"position":1914},{},[1908],{"type":23,"value":1909,"position":1910},"printTimeSeries()",{"start":1911,"end":1912},{"line":1901,"column":127,"offset":1904},{"line":1901,"column":1804,"offset":1913},4011,{"start":1915,"end":1916},{"line":1901,"column":127,"offset":1904},{"line":1901,"column":1804,"offset":1913},{"type":23,"value":1918,"position":1919}," for timeseries objects instead of ",{"start":1920,"end":1921},{"line":1901,"column":1804,"offset":1913},{"line":1901,"column":528,"offset":1922},4046,{"type":14,"tagName":223,"properties":1924,"children":1925,"position":1933},{},[1926],{"type":23,"value":1927,"position":1928},"print()",{"start":1929,"end":1930},{"line":1901,"column":528,"offset":1922},{"line":1901,"column":1931,"offset":1932},75,4055,{"start":1934,"end":1935},{"line":1901,"column":528,"offset":1922},{"line":1901,"column":1931,"offset":1932},{"type":23,"value":1937,"position":1938},". The ",{"start":1939,"end":1940},{"line":1901,"column":1931,"offset":1932},{"line":1901,"column":1941,"offset":1942},81,4061,{"type":14,"tagName":223,"properties":1944,"children":1945,"position":1952},{},[1946],{"type":23,"value":1927,"position":1947},{"start":1948,"end":1949},{"line":1901,"column":1941,"offset":1942},{"line":1901,"column":1950,"offset":1951},90,4070,{"start":1953,"end":1954},{"line":1901,"column":1941,"offset":1942},{"line":1901,"column":1950,"offset":1951},{"type":23,"value":1956,"position":1957}," function only outputs the first value (e.g., only \"open\" for OHLCV data), while ",{"start":1958,"end":1959},{"line":1901,"column":1950,"offset":1951},{"line":1901,"column":1960,"offset":1961},171,4151,{"type":14,"tagName":223,"properties":1963,"children":1964,"position":1971},{},[1965],{"type":23,"value":1909,"position":1966},{"start":1967,"end":1968},{"line":1901,"column":1960,"offset":1961},{"line":1901,"column":1969,"offset":1970},190,4170,{"start":1972,"end":1973},{"line":1901,"column":1960,"offset":1961},{"line":1901,"column":1969,"offset":1970},{"type":23,"value":1975,"position":1976}," displays the complete timeseries structure.",{"start":1977,"end":1978},{"line":1901,"column":1969,"offset":1970},{"line":1901,"column":1979,"offset":1980},234,4214,{"start":1982,"end":1983},{"line":1901,"column":27,"offset":1902},{"line":1901,"column":1979,"offset":1980},{"type":23,"value":89},{"type":11,"children":1986},[1987],{"type":14,"tagName":215,"properties":1988,"children":1990,"data":-1},{"class":217,"style":218,"tabindex":219,"title":1989},"printTimeSeries for Timeseries Objects",[1991],{"type":14,"tagName":223,"properties":1992,"children":1993},{},[1994,2002,2003,2022,2023,2051,2052,2055,2056,2064,2065,2083,2084,2087,2088,2096,2097],{"type":14,"tagName":35,"properties":1995,"children":1996},{"class":228},[1997],{"type":14,"tagName":35,"properties":1998,"children":1999},{"style":721},[2000],{"type":23,"value":2001},"// ❌ Avoid - print() only shows first value (open)",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2004,"children":2005},{"class":228},[2006,2010,2014,2018],{"type":14,"tagName":35,"properties":2007,"children":2008},{"style":232},[2009],{"type":23,"value":733},{"type":14,"tagName":35,"properties":2011,"children":2012},{"style":238},[2013],{"type":23,"value":241},{"type":14,"tagName":35,"properties":2015,"children":2016},{"style":286},[2017],{"type":23,"value":742},{"type":14,"tagName":35,"properties":2019,"children":2020},{"style":232},[2021],{"type":23,"value":747},{"type":23,"value":89},{"type":14,"tagName":35,"properties":2024,"children":2025},{"class":228},[2026,2031,2036,2041,2046],{"type":14,"tagName":35,"properties":2027,"children":2028},{"style":286},[2029],{"type":23,"value":2030},"print",{"type":14,"tagName":35,"properties":2032,"children":2033},{"style":232},[2034],{"type":23,"value":2035},"(",{"type":14,"tagName":35,"properties":2037,"children":2038},{"style":314},[2039],{"type":23,"value":2040},"\"Price data:\"",{"type":14,"tagName":35,"properties":2042,"children":2043},{"style":232},[2044],{"type":23,"value":2045},", price_data)  ",{"type":14,"tagName":35,"properties":2047,"children":2048},{"style":721},[2049],{"type":23,"value":2050},"// Only prints open values",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2053,"children":2054},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":2057,"children":2058},{"class":228},[2059],{"type":14,"tagName":35,"properties":2060,"children":2061},{"style":721},[2062],{"type":23,"value":2063},"// ✓ Good - printTimeSeries() shows complete OHLCV structure",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2066,"children":2067},{"class":228},[2068,2073,2078],{"type":14,"tagName":35,"properties":2069,"children":2070},{"style":286},[2071],{"type":23,"value":2072},"printTimeSeries",{"type":14,"tagName":35,"properties":2074,"children":2075},{"style":232},[2076],{"type":23,"value":2077},"(price_data)  ",{"type":14,"tagName":35,"properties":2079,"children":2080},{"style":721},[2081],{"type":23,"value":2082},"// Prints [timeseriesInMs, open, high, low, close, volume]",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2085,"children":2086},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":2089,"children":2090},{"class":228},[2091],{"type":14,"tagName":35,"properties":2092,"children":2093},{"style":721},[2094],{"type":23,"value":2095},"// You can also specify which field to print",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2098,"children":2099},{"class":228},[2100,2104,2109,2113,2118,2123],{"type":14,"tagName":35,"properties":2101,"children":2102},{"style":286},[2103],{"type":23,"value":2072},{"type":14,"tagName":35,"properties":2105,"children":2106},{"style":232},[2107],{"type":23,"value":2108},"(price_data, priceIndex",{"type":14,"tagName":35,"properties":2110,"children":2111},{"style":238},[2112],{"type":23,"value":241},{"type":14,"tagName":35,"properties":2114,"children":2115},{"style":244},[2116],{"type":23,"value":2117},"4",{"type":14,"tagName":35,"properties":2119,"children":2120},{"style":232},[2121],{"type":23,"value":2122},")  ",{"type":14,"tagName":35,"properties":2124,"children":2125},{"style":721},[2126],{"type":23,"value":2127},"// Print [timeseriesInMs, close] prices",{"type":23,"value":89},{"type":14,"tagName":102,"properties":2130,"children":2132,"position":2141},{"id":2131},"error-prevention",[2133],{"type":23,"value":2134,"position":2135},"Error Prevention",{"start":2136,"end":2139},{"line":2137,"column":56,"offset":2138},136,4748,{"line":2137,"column":203,"offset":2140},4764,{"start":2142,"end":2144},{"line":2137,"column":27,"offset":2143},4745,{"line":2137,"column":203,"offset":2140},{"type":23,"value":89},{"type":14,"tagName":120,"properties":2147,"children":2148,"position":2157},{},[2149],{"type":23,"value":2150,"position":2151},"Protect your code against common runtime errors.",{"start":2152,"end":2155},{"line":2153,"column":27,"offset":2154},138,4766,{"line":2153,"column":165,"offset":2156},4814,{"start":2158,"end":2159},{"line":2153,"column":27,"offset":2154},{"line":2153,"column":165,"offset":2156},{"type":23,"value":89},{"type":14,"tagName":137,"properties":2162,"children":2164,"position":2173},{"id":2163},"null-checking",[2165],{"type":23,"value":2166,"position":2167},"Null Checking",{"start":2168,"end":2171},{"line":2169,"column":67,"offset":2170},140,4820,{"line":2169,"column":112,"offset":2172},4833,{"start":2174,"end":2176},{"line":2169,"column":27,"offset":2175},4816,{"line":2169,"column":112,"offset":2172},{"type":23,"value":89},{"type":14,"tagName":120,"properties":2179,"children":2180,"position":2188},{},[2181],{"type":23,"value":2182,"position":2183},"Always check for invalid data before performing calculations.",{"start":2184,"end":2186},{"line":672,"column":27,"offset":2185},4835,{"line":672,"column":924,"offset":2187},4896,{"start":2189,"end":2190},{"line":672,"column":27,"offset":2185},{"line":672,"column":924,"offset":2187},{"type":23,"value":89},{"type":11,"children":2193},[2194],{"type":14,"tagName":215,"properties":2195,"children":2196,"data":-1},{"class":217,"style":218,"tabindex":219,"title":2166},[2197],{"type":14,"tagName":223,"properties":2198,"children":2199},{},[2200,2208,2209,2266,2267,2270,2271,2279,2280,2325,2326,2356,2357],{"type":14,"tagName":35,"properties":2201,"children":2202},{"class":228},[2203],{"type":14,"tagName":35,"properties":2204,"children":2205},{"style":721},[2206],{"type":23,"value":2207},"// Check for invalid data before calculations",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2210,"children":2211},{"class":228},[2212,2216,2221,2225,2230,2235,2240,2244,2248,2253,2258,2262],{"type":14,"tagName":35,"properties":2213,"children":2214},{"style":238},[2215],{"type":23,"value":341},{"type":14,"tagName":35,"properties":2217,"children":2218},{"style":232},[2219],{"type":23,"value":2220}," calculation ",{"type":14,"tagName":35,"properties":2222,"children":2223},{"style":238},[2224],{"type":23,"value":241},{"type":14,"tagName":35,"properties":2226,"children":2227},{"style":238},[2228],{"type":23,"value":2229}," !",{"type":14,"tagName":35,"properties":2231,"children":2232},{"style":286},[2233],{"type":23,"value":2234},"isnan",{"type":14,"tagName":35,"properties":2236,"children":2237},{"style":232},[2238],{"type":23,"value":2239},"(price_data.close) ",{"type":14,"tagName":35,"properties":2241,"children":2242},{"style":238},[2243],{"type":23,"value":1543},{"type":14,"tagName":35,"properties":2245,"children":2246},{"style":232},[2247],{"type":23,"value":1226},{"type":14,"tagName":35,"properties":2249,"children":2250},{"style":238},[2251],{"type":23,"value":2252},"*",{"type":14,"tagName":35,"properties":2254,"children":2255},{"style":232},[2256],{"type":23,"value":2257}," multiplier ",{"type":14,"tagName":35,"properties":2259,"children":2260},{"style":238},[2261],{"type":23,"value":294},{"type":14,"tagName":35,"properties":2263,"children":2264},{"style":232},[2265],{"type":23,"value":1557},{"type":23,"value":89},{"type":14,"tagName":35,"properties":2268,"children":2269},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":2272,"children":2273},{"class":228},[2274],{"type":14,"tagName":35,"properties":2275,"children":2276},{"style":721},[2277],{"type":23,"value":2278},"// Alternative using isnum()",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2281,"children":2282},{"class":228},[2283,2288,2293,2298,2302,2307,2311,2316,2320],{"type":14,"tagName":35,"properties":2284,"children":2285},{"style":238},[2286],{"type":23,"value":2287},"if",{"type":14,"tagName":35,"properties":2289,"children":2290},{"style":232},[2291],{"type":23,"value":2292}," (",{"type":14,"tagName":35,"properties":2294,"children":2295},{"style":286},[2296],{"type":23,"value":2297},"isnum",{"type":14,"tagName":35,"properties":2299,"children":2300},{"style":232},[2301],{"type":23,"value":2239},{"type":14,"tagName":35,"properties":2303,"children":2304},{"style":238},[2305],{"type":23,"value":2306},"&&",{"type":14,"tagName":35,"properties":2308,"children":2309},{"style":232},[2310],{"type":23,"value":1226},{"type":14,"tagName":35,"properties":2312,"children":2313},{"style":238},[2314],{"type":23,"value":2315},">",{"type":14,"tagName":35,"properties":2317,"children":2318},{"style":244},[2319],{"type":23,"value":355},{"type":14,"tagName":35,"properties":2321,"children":2322},{"style":232},[2323],{"type":23,"value":2324},") {",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2327,"children":2328},{"class":228},[2329,2334,2339,2343,2347,2351],{"type":14,"tagName":35,"properties":2330,"children":2331},{"style":238},[2332],{"type":23,"value":2333},"    var",{"type":14,"tagName":35,"properties":2335,"children":2336},{"style":232},[2337],{"type":23,"value":2338}," result ",{"type":14,"tagName":35,"properties":2340,"children":2341},{"style":238},[2342],{"type":23,"value":241},{"type":14,"tagName":35,"properties":2344,"children":2345},{"style":232},[2346],{"type":23,"value":1226},{"type":14,"tagName":35,"properties":2348,"children":2349},{"style":238},[2350],{"type":23,"value":2252},{"type":14,"tagName":35,"properties":2352,"children":2353},{"style":244},[2354],{"type":23,"value":2355}," 2",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2358,"children":2359},{"class":228},[2360],{"type":14,"tagName":35,"properties":2361,"children":2362},{"style":232},[2363],{"type":23,"value":2364},"}",{"type":23,"value":89},{"type":14,"tagName":137,"properties":2367,"children":2369,"position":2379},{"id":2368},"division-by-zero",[2370],{"type":23,"value":2371,"position":2372},"Division by Zero",{"start":2373,"end":2376},{"line":2374,"column":67,"offset":2375},153,5204,{"line":2374,"column":2377,"offset":2378},21,5220,{"start":2380,"end":2382},{"line":2374,"column":27,"offset":2381},5200,{"line":2374,"column":2377,"offset":2378},{"type":23,"value":89},{"type":14,"tagName":120,"properties":2385,"children":2386,"position":2395},{},[2387],{"type":23,"value":2388,"position":2389},"Protect against division by zero errors.",{"start":2390,"end":2393},{"line":2391,"column":27,"offset":2392},155,5222,{"line":2391,"column":579,"offset":2394},5262,{"start":2396,"end":2397},{"line":2391,"column":27,"offset":2392},{"line":2391,"column":579,"offset":2394},{"type":23,"value":89},{"type":11,"children":2400},[2401],{"type":14,"tagName":215,"properties":2402,"children":2403,"data":-1},{"class":217,"style":218,"tabindex":219,"title":2371},[2404],{"type":14,"tagName":223,"properties":2405,"children":2406},{},[2407,2415,2416,2473,2474,2477,2478,2486,2487],{"type":14,"tagName":35,"properties":2408,"children":2409},{"class":228},[2410],{"type":14,"tagName":35,"properties":2411,"children":2412},{"style":721},[2413],{"type":23,"value":2414},"// Protect against division by zero",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2417,"children":2418},{"class":228},[2419,2423,2428,2432,2437,2442,2446,2451,2456,2461,2465,2469],{"type":14,"tagName":35,"properties":2420,"children":2421},{"style":238},[2422],{"type":23,"value":341},{"type":14,"tagName":35,"properties":2424,"children":2425},{"style":232},[2426],{"type":23,"value":2427}," ratio ",{"type":14,"tagName":35,"properties":2429,"children":2430},{"style":238},[2431],{"type":23,"value":241},{"type":14,"tagName":35,"properties":2433,"children":2434},{"style":232},[2435],{"type":23,"value":2436}," denominator ",{"type":14,"tagName":35,"properties":2438,"children":2439},{"style":238},[2440],{"type":23,"value":2441},"!=",{"type":14,"tagName":35,"properties":2443,"children":2444},{"style":244},[2445],{"type":23,"value":355},{"type":14,"tagName":35,"properties":2447,"children":2448},{"style":238},[2449],{"type":23,"value":2450}," ?",{"type":14,"tagName":35,"properties":2452,"children":2453},{"style":232},[2454],{"type":23,"value":2455}," numerator ",{"type":14,"tagName":35,"properties":2457,"children":2458},{"style":238},[2459],{"type":23,"value":2460},"/",{"type":14,"tagName":35,"properties":2462,"children":2463},{"style":232},[2464],{"type":23,"value":2436},{"type":14,"tagName":35,"properties":2466,"children":2467},{"style":238},[2468],{"type":23,"value":294},{"type":14,"tagName":35,"properties":2470,"children":2471},{"style":232},[2472],{"type":23,"value":1557},{"type":23,"value":89},{"type":14,"tagName":35,"properties":2475,"children":2476},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":2479,"children":2480},{"class":228},[2481],{"type":14,"tagName":35,"properties":2482,"children":2483},{"style":721},[2484],{"type":23,"value":2485},"// With additional safety checks",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2488,"children":2489},{"class":228},[2490,2494,2499,2503,2508,2513,2517,2521,2525,2529,2533,2537,2541,2545,2549],{"type":14,"tagName":35,"properties":2491,"children":2492},{"style":238},[2493],{"type":23,"value":341},{"type":14,"tagName":35,"properties":2495,"children":2496},{"style":232},[2497],{"type":23,"value":2498}," safe_ratio ",{"type":14,"tagName":35,"properties":2500,"children":2501},{"style":238},[2502],{"type":23,"value":241},{"type":14,"tagName":35,"properties":2504,"children":2505},{"style":286},[2506],{"type":23,"value":2507}," isnum",{"type":14,"tagName":35,"properties":2509,"children":2510},{"style":232},[2511],{"type":23,"value":2512},"(denominator) ",{"type":14,"tagName":35,"properties":2514,"children":2515},{"style":238},[2516],{"type":23,"value":2306},{"type":14,"tagName":35,"properties":2518,"children":2519},{"style":232},[2520],{"type":23,"value":2436},{"type":14,"tagName":35,"properties":2522,"children":2523},{"style":238},[2524],{"type":23,"value":2441},{"type":14,"tagName":35,"properties":2526,"children":2527},{"style":244},[2528],{"type":23,"value":355},{"type":14,"tagName":35,"properties":2530,"children":2531},{"style":238},[2532],{"type":23,"value":2450},{"type":14,"tagName":35,"properties":2534,"children":2535},{"style":232},[2536],{"type":23,"value":2455},{"type":14,"tagName":35,"properties":2538,"children":2539},{"style":238},[2540],{"type":23,"value":2460},{"type":14,"tagName":35,"properties":2542,"children":2543},{"style":232},[2544],{"type":23,"value":2436},{"type":14,"tagName":35,"properties":2546,"children":2547},{"style":238},[2548],{"type":23,"value":294},{"type":14,"tagName":35,"properties":2550,"children":2551},{"style":232},[2552],{"type":23,"value":1557},{"type":23,"value":89},{"type":14,"tagName":137,"properties":2555,"children":2557,"position":2566},{"id":2556},"array-bounds",[2558],{"type":23,"value":2559,"position":2560},"Array Bounds",{"start":2561,"end":2564},{"line":2562,"column":67,"offset":2563},164,5539,{"line":2562,"column":1794,"offset":2565},5551,{"start":2567,"end":2569},{"line":2562,"column":27,"offset":2568},5535,{"line":2562,"column":1794,"offset":2565},{"type":23,"value":89},{"type":14,"tagName":120,"properties":2572,"children":2573,"position":2582},{},[2574],{"type":23,"value":2575,"position":2576},"Be careful when accessing historical data to avoid index errors.",{"start":2577,"end":2580},{"line":2578,"column":27,"offset":2579},166,5553,{"line":2578,"column":558,"offset":2581},5617,{"start":2583,"end":2584},{"line":2578,"column":27,"offset":2579},{"line":2578,"column":558,"offset":2581},{"type":23,"value":89},{"type":11,"children":2587},[2588],{"type":14,"tagName":215,"properties":2589,"children":2590,"data":-1},{"class":217,"style":218,"tabindex":219,"title":2559},[2591],{"type":14,"tagName":223,"properties":2592,"children":2593},{},[2594,2602,2603,2658,2659,2662,2663,2671,2672],{"type":14,"tagName":35,"properties":2595,"children":2596},{"class":228},[2597],{"type":14,"tagName":35,"properties":2598,"children":2599},{"style":721},[2600],{"type":23,"value":2601},"// Check bar index before accessing historical data",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2604,"children":2605},{"class":228},[2606,2610,2615,2619,2624,2628,2632,2636,2640,2644,2649,2653],{"type":14,"tagName":35,"properties":2607,"children":2608},{"style":238},[2609],{"type":23,"value":341},{"type":14,"tagName":35,"properties":2611,"children":2612},{"style":232},[2613],{"type":23,"value":2614}," safe_previous ",{"type":14,"tagName":35,"properties":2616,"children":2617},{"style":238},[2618],{"type":23,"value":241},{"type":14,"tagName":35,"properties":2620,"children":2621},{"style":232},[2622],{"type":23,"value":2623}," barIndex ",{"type":14,"tagName":35,"properties":2625,"children":2626},{"style":238},[2627],{"type":23,"value":2315},{"type":14,"tagName":35,"properties":2629,"children":2630},{"style":244},[2631],{"type":23,"value":355},{"type":14,"tagName":35,"properties":2633,"children":2634},{"style":238},[2635],{"type":23,"value":2450},{"type":14,"tagName":35,"properties":2637,"children":2638},{"style":232},[2639],{"type":23,"value":1152},{"type":14,"tagName":35,"properties":2641,"children":2642},{"style":244},[2643],{"type":23,"value":1157},{"type":14,"tagName":35,"properties":2645,"children":2646},{"style":232},[2647],{"type":23,"value":2648},"] ",{"type":14,"tagName":35,"properties":2650,"children":2651},{"style":238},[2652],{"type":23,"value":294},{"type":14,"tagName":35,"properties":2654,"children":2655},{"style":232},[2656],{"type":23,"value":2657}," price_data.close",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2660,"children":2661},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":2664,"children":2665},{"class":228},[2666],{"type":14,"tagName":35,"properties":2667,"children":2668},{"style":721},[2669],{"type":23,"value":2670},"// For multiple bars back",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2673,"children":2674},{"class":228},[2675,2679,2684,2688,2692,2697,2702,2706,2710,2714,2718,2722],{"type":14,"tagName":35,"properties":2676,"children":2677},{"style":238},[2678],{"type":23,"value":341},{"type":14,"tagName":35,"properties":2680,"children":2681},{"style":232},[2682],{"type":23,"value":2683}," safe_value ",{"type":14,"tagName":35,"properties":2685,"children":2686},{"style":238},[2687],{"type":23,"value":241},{"type":14,"tagName":35,"properties":2689,"children":2690},{"style":232},[2691],{"type":23,"value":2623},{"type":14,"tagName":35,"properties":2693,"children":2694},{"style":238},[2695],{"type":23,"value":2696},">=",{"type":14,"tagName":35,"properties":2698,"children":2699},{"style":244},[2700],{"type":23,"value":2701}," 5",{"type":14,"tagName":35,"properties":2703,"children":2704},{"style":238},[2705],{"type":23,"value":2450},{"type":14,"tagName":35,"properties":2707,"children":2708},{"style":232},[2709],{"type":23,"value":1152},{"type":14,"tagName":35,"properties":2711,"children":2712},{"style":244},[2713],{"type":23,"value":885},{"type":14,"tagName":35,"properties":2715,"children":2716},{"style":232},[2717],{"type":23,"value":2648},{"type":14,"tagName":35,"properties":2719,"children":2720},{"style":238},[2721],{"type":23,"value":294},{"type":14,"tagName":35,"properties":2723,"children":2724},{"style":232},[2725],{"type":23,"value":2657},{"type":23,"value":89},{"type":14,"tagName":102,"properties":2728,"children":2730,"position":2739},{"id":2729},"performance-optimization",[2731],{"type":23,"value":2732,"position":2733},"Performance Optimization",{"start":2734,"end":2737},{"line":2735,"column":56,"offset":2736},175,5897,{"line":2735,"column":1256,"offset":2738},5921,{"start":2740,"end":2742},{"line":2735,"column":27,"offset":2741},5894,{"line":2735,"column":1256,"offset":2738},{"type":23,"value":89},{"type":14,"tagName":120,"properties":2745,"children":2746,"position":2756},{},[2747],{"type":23,"value":2748,"position":2749},"Write efficient code that executes quickly.",{"start":2750,"end":2753},{"line":2751,"column":27,"offset":2752},177,5923,{"line":2751,"column":2754,"offset":2755},44,5966,{"start":2757,"end":2758},{"line":2751,"column":27,"offset":2752},{"line":2751,"column":2754,"offset":2755},{"type":23,"value":89},{"type":14,"tagName":137,"properties":2761,"children":2763,"position":2771},{"id":2762},"avoid-redundant-calculations",[2764],{"type":23,"value":2765,"position":2766},"Avoid Redundant Calculations",{"start":2767,"end":2769},{"line":68,"column":67,"offset":2768},5972,{"line":68,"column":1774,"offset":2770},6000,{"start":2772,"end":2774},{"line":68,"column":27,"offset":2773},5968,{"line":68,"column":1774,"offset":2770},{"type":23,"value":89},{"type":14,"tagName":120,"properties":2777,"children":2778,"position":2787},{},[2779],{"type":23,"value":2780,"position":2781},"Store frequently used calculations in variables instead of recalculating.",{"start":2782,"end":2785},{"line":2783,"column":27,"offset":2784},181,6002,{"line":2783,"column":648,"offset":2786},6075,{"start":2788,"end":2789},{"line":2783,"column":27,"offset":2784},{"line":2783,"column":648,"offset":2786},{"type":23,"value":89},{"type":11,"children":2792},[2793],{"type":14,"tagName":215,"properties":2794,"children":2795,"data":-1},{"class":217,"style":218,"tabindex":219,"title":2765},[2796],{"type":14,"tagName":223,"properties":2797,"children":2798},{},[2799,2807,2808,2825,2826,2871,2872,2893,2894,2897,2898,2906,2907,2968,2969],{"type":14,"tagName":35,"properties":2800,"children":2801},{"class":228},[2802],{"type":14,"tagName":35,"properties":2803,"children":2804},{"style":721},[2805],{"type":23,"value":2806},"// ✓ Good - Calculate once and reuse",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2809,"children":2810},{"class":228},[2811,2816,2820],{"type":14,"tagName":35,"properties":2812,"children":2813},{"style":232},[2814],{"type":23,"value":2815},"static lookback_period ",{"type":14,"tagName":35,"properties":2817,"children":2818},{"style":238},[2819],{"type":23,"value":241},{"type":14,"tagName":35,"properties":2821,"children":2822},{"style":244},[2823],{"type":23,"value":2824}," 20",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2827,"children":2828},{"class":228},[2829,2834,2838,2843,2848,2853,2857,2862,2866],{"type":14,"tagName":35,"properties":2830,"children":2831},{"style":232},[2832],{"type":23,"value":2833},"timeseries typical_price ",{"type":14,"tagName":35,"properties":2835,"children":2836},{"style":238},[2837],{"type":23,"value":241},{"type":14,"tagName":35,"properties":2839,"children":2840},{"style":232},[2841],{"type":23,"value":2842}," (price_data.high ",{"type":14,"tagName":35,"properties":2844,"children":2845},{"style":238},[2846],{"type":23,"value":2847},"+",{"type":14,"tagName":35,"properties":2849,"children":2850},{"style":232},[2851],{"type":23,"value":2852}," price_data.low ",{"type":14,"tagName":35,"properties":2854,"children":2855},{"style":238},[2856],{"type":23,"value":2847},{"type":14,"tagName":35,"properties":2858,"children":2859},{"style":232},[2860],{"type":23,"value":2861}," price_data.close) ",{"type":14,"tagName":35,"properties":2863,"children":2864},{"style":238},[2865],{"type":23,"value":2460},{"type":14,"tagName":35,"properties":2867,"children":2868},{"style":244},[2869],{"type":23,"value":2870}," 3",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2873,"children":2874},{"class":228},[2875,2880,2884,2888],{"type":14,"tagName":35,"properties":2876,"children":2877},{"style":232},[2878],{"type":23,"value":2879},"timeseries sma_typical ",{"type":14,"tagName":35,"properties":2881,"children":2882},{"style":238},[2883],{"type":23,"value":241},{"type":14,"tagName":35,"properties":2885,"children":2886},{"style":286},[2887],{"type":23,"value":782},{"type":14,"tagName":35,"properties":2889,"children":2890},{"style":232},[2891],{"type":23,"value":2892},"(typical_price, lookback_period)",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2895,"children":2896},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":2899,"children":2900},{"class":228},[2901],{"type":14,"tagName":35,"properties":2902,"children":2903},{"style":721},[2904],{"type":23,"value":2905},"// ❌ Avoid - Recalculating the same value multiple times",{"type":23,"value":89},{"type":14,"tagName":35,"properties":2908,"children":2909},{"class":228},[2910,2914,2919,2923,2927,2932,2936,2940,2944,2948,2952,2956,2960,2964],{"type":14,"tagName":35,"properties":2911,"children":2912},{"style":238},[2913],{"type":23,"value":341},{"type":14,"tagName":35,"properties":2915,"children":2916},{"style":232},[2917],{"type":23,"value":2918}," value1 ",{"type":14,"tagName":35,"properties":2920,"children":2921},{"style":238},[2922],{"type":23,"value":241},{"type":14,"tagName":35,"properties":2924,"children":2925},{"style":286},[2926],{"type":23,"value":782},{"type":14,"tagName":35,"properties":2928,"children":2929},{"style":232},[2930],{"type":23,"value":2931},"((price_data.high ",{"type":14,"tagName":35,"properties":2933,"children":2934},{"style":238},[2935],{"type":23,"value":2847},{"type":14,"tagName":35,"properties":2937,"children":2938},{"style":232},[2939],{"type":23,"value":2852},{"type":14,"tagName":35,"properties":2941,"children":2942},{"style":238},[2943],{"type":23,"value":2847},{"type":14,"tagName":35,"properties":2945,"children":2946},{"style":232},[2947],{"type":23,"value":2861},{"type":14,"tagName":35,"properties":2949,"children":2950},{"style":238},[2951],{"type":23,"value":2460},{"type":14,"tagName":35,"properties":2953,"children":2954},{"style":244},[2955],{"type":23,"value":2870},{"type":14,"tagName":35,"properties":2957,"children":2958},{"style":232},[2959],{"type":23,"value":596},{"type":14,"tagName":35,"properties":2961,"children":2962},{"style":244},[2963],{"type":23,"value":1008},{"type":14,"tagName":35,"properties":2965,"children":2966},{"style":232},[2967],{"type":23,"value":824},{"type":23,"value":89},{"type":14,"tagName":35,"properties":2970,"children":2971},{"class":228},[2972,2976,2981,2985,2989,2993,2997,3001,3005,3009,3013,3017,3021,3025],{"type":14,"tagName":35,"properties":2973,"children":2974},{"style":238},[2975],{"type":23,"value":341},{"type":14,"tagName":35,"properties":2977,"children":2978},{"style":232},[2979],{"type":23,"value":2980}," value2 ",{"type":14,"tagName":35,"properties":2982,"children":2983},{"style":238},[2984],{"type":23,"value":241},{"type":14,"tagName":35,"properties":2986,"children":2987},{"style":286},[2988],{"type":23,"value":782},{"type":14,"tagName":35,"properties":2990,"children":2991},{"style":232},[2992],{"type":23,"value":2931},{"type":14,"tagName":35,"properties":2994,"children":2995},{"style":238},[2996],{"type":23,"value":2847},{"type":14,"tagName":35,"properties":2998,"children":2999},{"style":232},[3000],{"type":23,"value":2852},{"type":14,"tagName":35,"properties":3002,"children":3003},{"style":238},[3004],{"type":23,"value":2847},{"type":14,"tagName":35,"properties":3006,"children":3007},{"style":232},[3008],{"type":23,"value":2861},{"type":14,"tagName":35,"properties":3010,"children":3011},{"style":238},[3012],{"type":23,"value":2460},{"type":14,"tagName":35,"properties":3014,"children":3015},{"style":244},[3016],{"type":23,"value":2870},{"type":14,"tagName":35,"properties":3018,"children":3019},{"style":232},[3020],{"type":23,"value":596},{"type":14,"tagName":35,"properties":3022,"children":3023},{"style":244},[3024],{"type":23,"value":1008},{"type":14,"tagName":35,"properties":3026,"children":3027},{"style":232},[3028],{"type":23,"value":824},{"type":23,"value":89},{"type":14,"tagName":137,"properties":3031,"children":3033,"position":3043},{"id":3032},"use-static-variables",[3034],{"type":23,"value":3035,"position":3036},"Use Static Variables",{"start":3037,"end":3040},{"line":3038,"column":67,"offset":3039},193,6576,{"line":3038,"column":3041,"offset":3042},25,6596,{"start":3044,"end":3046},{"line":3038,"column":27,"offset":3045},6572,{"line":3038,"column":3041,"offset":3042},{"type":23,"value":89},{"type":14,"tagName":120,"properties":3049,"children":3050,"position":3078},{},[3051,3059,3071],{"type":23,"value":3052,"position":3053},"Declare constants as ",{"start":3054,"end":3057},{"line":3055,"column":27,"offset":3056},195,6598,{"line":3055,"column":1290,"offset":3058},6619,{"type":14,"tagName":223,"properties":3060,"children":3061,"position":3068},{},[3062],{"type":23,"value":3063,"position":3064},"static",{"start":3065,"end":3066},{"line":3055,"column":1290,"offset":3058},{"line":3055,"column":28,"offset":3067},6627,{"start":3069,"end":3070},{"line":3055,"column":1290,"offset":3058},{"line":3055,"column":28,"offset":3067},{"type":23,"value":3072,"position":3073}," to avoid unnecessary recalculation on every bar.",{"start":3074,"end":3075},{"line":3055,"column":28,"offset":3067},{"line":3055,"column":3076,"offset":3077},79,6676,{"start":3079,"end":3080},{"line":3055,"column":27,"offset":3056},{"line":3055,"column":3076,"offset":3077},{"type":23,"value":89},{"type":11,"children":3083},[3084],{"type":14,"tagName":215,"properties":3085,"children":3086,"data":-1},{"class":217,"style":218,"tabindex":219,"title":3035},[3087],{"type":14,"tagName":223,"properties":3088,"children":3089},{},[3090,3098,3099,3116,3117,3134,3135,3152,3153,3156,3157],{"type":14,"tagName":35,"properties":3091,"children":3092},{"class":228},[3093],{"type":14,"tagName":35,"properties":3094,"children":3095},{"style":721},[3096],{"type":23,"value":3097},"// ✓ Good - Declare constants as static",{"type":23,"value":89},{"type":14,"tagName":35,"properties":3100,"children":3101},{"class":228},[3102,3107,3111],{"type":14,"tagName":35,"properties":3103,"children":3104},{"style":232},[3105],{"type":23,"value":3106},"static fibonacci_ratio ",{"type":14,"tagName":35,"properties":3108,"children":3109},{"style":238},[3110],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3112,"children":3113},{"style":244},[3114],{"type":23,"value":3115}," 0.618",{"type":23,"value":89},{"type":14,"tagName":35,"properties":3118,"children":3119},{"class":228},[3120,3125,3129],{"type":14,"tagName":35,"properties":3121,"children":3122},{"style":232},[3123],{"type":23,"value":3124},"static golden_ratio ",{"type":14,"tagName":35,"properties":3126,"children":3127},{"style":238},[3128],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3130,"children":3131},{"style":244},[3132],{"type":23,"value":3133}," 1.618",{"type":23,"value":89},{"type":14,"tagName":35,"properties":3136,"children":3137},{"class":228},[3138,3143,3147],{"type":14,"tagName":35,"properties":3139,"children":3140},{"style":232},[3141],{"type":23,"value":3142},"static pi ",{"type":14,"tagName":35,"properties":3144,"children":3145},{"style":238},[3146],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3148,"children":3149},{"style":244},[3150],{"type":23,"value":3151}," 3.14159",{"type":23,"value":89},{"type":14,"tagName":35,"properties":3154,"children":3155},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":3158,"children":3159},{"class":228},[3160],{"type":14,"tagName":35,"properties":3161,"children":3162},{"style":721},[3163],{"type":23,"value":3164},"// These values don't change, so no need to recalculate each bar",{"type":23,"value":89},{"type":14,"tagName":102,"properties":3167,"children":3169,"position":3178},{"id":3168},"code-organization",[3170],{"type":23,"value":3171,"position":3172},"Code Organization",{"start":3173,"end":3176},{"line":3174,"column":56,"offset":3175},205,6924,{"line":3174,"column":2377,"offset":3177},6941,{"start":3179,"end":3181},{"line":3174,"column":27,"offset":3180},6921,{"line":3174,"column":2377,"offset":3177},{"type":23,"value":89},{"type":14,"tagName":120,"properties":3184,"children":3185,"position":3193},{},[3186],{"type":23,"value":3187,"position":3188},"Structure your code for maximum readability and maintainability.",{"start":3189,"end":3191},{"line":682,"column":27,"offset":3190},6943,{"line":682,"column":558,"offset":3192},7007,{"start":3194,"end":3195},{"line":682,"column":27,"offset":3190},{"line":682,"column":558,"offset":3192},{"type":23,"value":89},{"type":14,"tagName":137,"properties":3198,"children":3200,"position":3210},{"id":3199},"group-related-code",[3201],{"type":23,"value":3202,"position":3203},"Group Related Code",{"start":3204,"end":3207},{"line":3205,"column":67,"offset":3206},209,7013,{"line":3205,"column":3208,"offset":3209},23,7031,{"start":3211,"end":3213},{"line":3205,"column":27,"offset":3212},7009,{"line":3205,"column":3208,"offset":3209},{"type":23,"value":89},{"type":14,"tagName":120,"properties":3216,"children":3217,"position":3226},{},[3218],{"type":23,"value":3219,"position":3220},"Organize your code into logical sections: inputs, data sources, calculations, signals, and plotting.",{"start":3221,"end":3224},{"line":3222,"column":27,"offset":3223},211,7033,{"line":3222,"column":206,"offset":3225},7133,{"start":3227,"end":3228},{"line":3222,"column":27,"offset":3223},{"line":3222,"column":206,"offset":3225},{"type":23,"value":89},{"type":11,"children":3231},[3232],{"type":14,"tagName":215,"properties":3233,"children":3234,"data":-1},{"class":217,"style":218,"tabindex":219,"title":3202},[3235],{"type":14,"tagName":223,"properties":3236,"children":3237},{},[3238,3246,3247,3291,3292,3295,3296,3304,3305,3361,3362,3416,3417,3420,3421,3429,3430,3449,3450,3453,3454,3462,3463,3483,3484,3517,3518,3521,3522,3530,3531,3557,3558,3583,3584,3587,3588,3596,3597,3679,3680,3762,3763],{"type":14,"tagName":35,"properties":3239,"children":3240},{"class":228},[3241],{"type":14,"tagName":35,"properties":3242,"children":3243},{"style":721},[3244],{"type":23,"value":3245},"// @version=2",{"type":23,"value":89},{"type":14,"tagName":35,"properties":3248,"children":3249},{"class":228},[3250,3255,3259,3264,3268,3273,3278,3282,3287],{"type":14,"tagName":35,"properties":3251,"children":3252},{"style":286},[3253],{"type":23,"value":3254},"define",{"type":14,"tagName":35,"properties":3256,"children":3257},{"style":232},[3258],{"type":23,"value":2035},{"type":14,"tagName":35,"properties":3260,"children":3261},{"style":314},[3262],{"type":23,"value":3263},"\"My Strategy\"",{"type":14,"tagName":35,"properties":3265,"children":3266},{"style":232},[3267],{"type":23,"value":596},{"type":14,"tagName":35,"properties":3269,"children":3270},{"style":314},[3271],{"type":23,"value":3272},"\"overlay\"",{"type":14,"tagName":35,"properties":3274,"children":3275},{"style":232},[3276],{"type":23,"value":3277},", overlay",{"type":14,"tagName":35,"properties":3279,"children":3280},{"style":238},[3281],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3283,"children":3284},{"style":244},[3285],{"type":23,"value":3286},"true",{"type":14,"tagName":35,"properties":3288,"children":3289},{"style":232},[3290],{"type":23,"value":824},{"type":23,"value":89},{"type":14,"tagName":35,"properties":3293,"children":3294},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":3297,"children":3298},{"class":228},[3299],{"type":14,"tagName":35,"properties":3300,"children":3301},{"style":721},[3302],{"type":23,"value":3303},"// Input parameters",{"type":23,"value":89},{"type":14,"tagName":35,"properties":3306,"children":3307},{"class":228},[3308,3312,3317,3321,3326,3330,3335,3339,3344,3349,3353,3357],{"type":14,"tagName":35,"properties":3309,"children":3310},{"style":238},[3311],{"type":23,"value":341},{"type":14,"tagName":35,"properties":3313,"children":3314},{"style":232},[3315],{"type":23,"value":3316}," period ",{"type":14,"tagName":35,"properties":3318,"children":3319},{"style":238},[3320],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3322,"children":3323},{"style":286},[3324],{"type":23,"value":3325}," input",{"type":14,"tagName":35,"properties":3327,"children":3328},{"style":232},[3329],{"type":23,"value":2035},{"type":14,"tagName":35,"properties":3331,"children":3332},{"style":314},[3333],{"type":23,"value":3334},"\"Period\"",{"type":14,"tagName":35,"properties":3336,"children":3337},{"style":232},[3338],{"type":23,"value":596},{"type":14,"tagName":35,"properties":3340,"children":3341},{"style":314},[3342],{"type":23,"value":3343},"\"number\"",{"type":14,"tagName":35,"properties":3345,"children":3346},{"style":232},[3347],{"type":23,"value":3348},", defaultValue",{"type":14,"tagName":35,"properties":3350,"children":3351},{"style":238},[3352],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3354,"children":3355},{"style":244},[3356],{"type":23,"value":819},{"type":14,"tagName":35,"properties":3358,"children":3359},{"style":232},[3360],{"type":23,"value":824},{"type":23,"value":89},{"type":14,"tagName":35,"properties":3363,"children":3364},{"class":228},[3365,3369,3374,3378,3382,3386,3391,3395,3399,3403,3407,3412],{"type":14,"tagName":35,"properties":3366,"children":3367},{"style":238},[3368],{"type":23,"value":341},{"type":14,"tagName":35,"properties":3370,"children":3371},{"style":232},[3372],{"type":23,"value":3373}," threshold ",{"type":14,"tagName":35,"properties":3375,"children":3376},{"style":238},[3377],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3379,"children":3380},{"style":286},[3381],{"type":23,"value":3325},{"type":14,"tagName":35,"properties":3383,"children":3384},{"style":232},[3385],{"type":23,"value":2035},{"type":14,"tagName":35,"properties":3387,"children":3388},{"style":314},[3389],{"type":23,"value":3390},"\"Threshold\"",{"type":14,"tagName":35,"properties":3392,"children":3393},{"style":232},[3394],{"type":23,"value":596},{"type":14,"tagName":35,"properties":3396,"children":3397},{"style":314},[3398],{"type":23,"value":3343},{"type":14,"tagName":35,"properties":3400,"children":3401},{"style":232},[3402],{"type":23,"value":3348},{"type":14,"tagName":35,"properties":3404,"children":3405},{"style":238},[3406],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3408,"children":3409},{"style":244},[3410],{"type":23,"value":3411},"0.5",{"type":14,"tagName":35,"properties":3413,"children":3414},{"style":232},[3415],{"type":23,"value":824},{"type":23,"value":89},{"type":14,"tagName":35,"properties":3418,"children":3419},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":3422,"children":3423},{"class":228},[3424],{"type":14,"tagName":35,"properties":3425,"children":3426},{"style":721},[3427],{"type":23,"value":3428},"// Data sources",{"type":23,"value":89},{"type":14,"tagName":35,"properties":3431,"children":3432},{"class":228},[3433,3437,3441,3445],{"type":14,"tagName":35,"properties":3434,"children":3435},{"style":232},[3436],{"type":23,"value":733},{"type":14,"tagName":35,"properties":3438,"children":3439},{"style":238},[3440],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3442,"children":3443},{"style":286},[3444],{"type":23,"value":742},{"type":14,"tagName":35,"properties":3446,"children":3447},{"style":232},[3448],{"type":23,"value":747},{"type":23,"value":89},{"type":14,"tagName":35,"properties":3451,"children":3452},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":3455,"children":3456},{"class":228},[3457],{"type":14,"tagName":35,"properties":3458,"children":3459},{"style":721},[3460],{"type":23,"value":3461},"// Calculations",{"type":23,"value":89},{"type":14,"tagName":35,"properties":3464,"children":3465},{"class":228},[3466,3471,3475,3479],{"type":14,"tagName":35,"properties":3467,"children":3468},{"style":232},[3469],{"type":23,"value":3470},"timeseries ma_fast ",{"type":14,"tagName":35,"properties":3472,"children":3473},{"style":238},[3474],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3476,"children":3477},{"style":286},[3478],{"type":23,"value":782},{"type":14,"tagName":35,"properties":3480,"children":3481},{"style":232},[3482],{"type":23,"value":787},{"type":23,"value":89},{"type":14,"tagName":35,"properties":3485,"children":3486},{"class":228},[3487,3492,3496,3500,3505,3509,3513],{"type":14,"tagName":35,"properties":3488,"children":3489},{"style":232},[3490],{"type":23,"value":3491},"timeseries ma_slow ",{"type":14,"tagName":35,"properties":3493,"children":3494},{"style":238},[3495],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3497,"children":3498},{"style":286},[3499],{"type":23,"value":782},{"type":14,"tagName":35,"properties":3501,"children":3502},{"style":232},[3503],{"type":23,"value":3504},"(price_data.close, period ",{"type":14,"tagName":35,"properties":3506,"children":3507},{"style":238},[3508],{"type":23,"value":2252},{"type":14,"tagName":35,"properties":3510,"children":3511},{"style":244},[3512],{"type":23,"value":2355},{"type":14,"tagName":35,"properties":3514,"children":3515},{"style":232},[3516],{"type":23,"value":824},{"type":23,"value":89},{"type":14,"tagName":35,"properties":3519,"children":3520},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":3523,"children":3524},{"class":228},[3525],{"type":14,"tagName":35,"properties":3526,"children":3527},{"style":721},[3528],{"type":23,"value":3529},"// Signals",{"type":23,"value":89},{"type":14,"tagName":35,"properties":3532,"children":3533},{"class":228},[3534,3538,3543,3547,3552],{"type":14,"tagName":35,"properties":3535,"children":3536},{"style":238},[3537],{"type":23,"value":341},{"type":14,"tagName":35,"properties":3539,"children":3540},{"style":232},[3541],{"type":23,"value":3542}," buy_signal ",{"type":14,"tagName":35,"properties":3544,"children":3545},{"style":238},[3546],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3548,"children":3549},{"style":286},[3550],{"type":23,"value":3551}," crossover",{"type":14,"tagName":35,"properties":3553,"children":3554},{"style":232},[3555],{"type":23,"value":3556},"(ma_fast, ma_slow)",{"type":23,"value":89},{"type":14,"tagName":35,"properties":3559,"children":3560},{"class":228},[3561,3565,3570,3574,3579],{"type":14,"tagName":35,"properties":3562,"children":3563},{"style":238},[3564],{"type":23,"value":341},{"type":14,"tagName":35,"properties":3566,"children":3567},{"style":232},[3568],{"type":23,"value":3569}," sell_signal ",{"type":14,"tagName":35,"properties":3571,"children":3572},{"style":238},[3573],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3575,"children":3576},{"style":286},[3577],{"type":23,"value":3578}," crossunder",{"type":14,"tagName":35,"properties":3580,"children":3581},{"style":232},[3582],{"type":23,"value":3556},{"type":23,"value":89},{"type":14,"tagName":35,"properties":3585,"children":3586},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":3589,"children":3590},{"class":228},[3591],{"type":14,"tagName":35,"properties":3592,"children":3593},{"style":721},[3594],{"type":23,"value":3595},"// Plotting",{"type":23,"value":89},{"type":14,"tagName":35,"properties":3598,"children":3599},{"class":228},[3600,3604,3608,3612,3617,3621,3625,3629,3633,3637,3641,3645,3649,3653,3658,3662,3666,3670,3675],{"type":14,"tagName":35,"properties":3601,"children":3602},{"style":286},[3603],{"type":23,"value":1336},{"type":14,"tagName":35,"properties":3605,"children":3606},{"style":232},[3607],{"type":23,"value":1341},{"type":14,"tagName":35,"properties":3609,"children":3610},{"style":238},[3611],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3613,"children":3614},{"style":232},[3615],{"type":23,"value":3616},"ma_fast, width",{"type":14,"tagName":35,"properties":3618,"children":3619},{"style":238},[3620],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3622,"children":3623},{"style":244},[3624],{"type":23,"value":1359},{"type":14,"tagName":35,"properties":3626,"children":3627},{"style":232},[3628],{"type":23,"value":1364},{"type":14,"tagName":35,"properties":3630,"children":3631},{"style":238},[3632],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3634,"children":3635},{"style":232},[3636],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":3638,"children":3639},{"style":314},[3640],{"type":23,"value":1378},{"type":14,"tagName":35,"properties":3642,"children":3643},{"style":232},[3644],{"type":23,"value":1383},{"type":14,"tagName":35,"properties":3646,"children":3647},{"style":238},[3648],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3650,"children":3651},{"style":232},[3652],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":3654,"children":3655},{"style":314},[3656],{"type":23,"value":3657},"\"Fast MA\"",{"type":14,"tagName":35,"properties":3659,"children":3660},{"style":232},[3661],{"type":23,"value":1401},{"type":14,"tagName":35,"properties":3663,"children":3664},{"style":238},[3665],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3667,"children":3668},{"style":232},[3669],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":3671,"children":3672},{"style":314},[3673],{"type":23,"value":3674},"\"Fast Moving Average\"",{"type":14,"tagName":35,"properties":3676,"children":3677},{"style":232},[3678],{"type":23,"value":1419},{"type":23,"value":89},{"type":14,"tagName":35,"properties":3681,"children":3682},{"class":228},[3683,3687,3691,3695,3700,3704,3708,3712,3716,3720,3724,3728,3732,3736,3741,3745,3749,3753,3758],{"type":14,"tagName":35,"properties":3684,"children":3685},{"style":286},[3686],{"type":23,"value":1336},{"type":14,"tagName":35,"properties":3688,"children":3689},{"style":232},[3690],{"type":23,"value":1341},{"type":14,"tagName":35,"properties":3692,"children":3693},{"style":238},[3694],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3696,"children":3697},{"style":232},[3698],{"type":23,"value":3699},"ma_slow, width",{"type":14,"tagName":35,"properties":3701,"children":3702},{"style":238},[3703],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3705,"children":3706},{"style":244},[3707],{"type":23,"value":1359},{"type":14,"tagName":35,"properties":3709,"children":3710},{"style":232},[3711],{"type":23,"value":1364},{"type":14,"tagName":35,"properties":3713,"children":3714},{"style":238},[3715],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3717,"children":3718},{"style":232},[3719],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":3721,"children":3722},{"style":314},[3723],{"type":23,"value":1465},{"type":14,"tagName":35,"properties":3725,"children":3726},{"style":232},[3727],{"type":23,"value":1383},{"type":14,"tagName":35,"properties":3729,"children":3730},{"style":238},[3731],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3733,"children":3734},{"style":232},[3735],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":3737,"children":3738},{"style":314},[3739],{"type":23,"value":3740},"\"Slow MA\"",{"type":14,"tagName":35,"properties":3742,"children":3743},{"style":232},[3744],{"type":23,"value":1401},{"type":14,"tagName":35,"properties":3746,"children":3747},{"style":238},[3748],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3750,"children":3751},{"style":232},[3752],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":3754,"children":3755},{"style":314},[3756],{"type":23,"value":3757},"\"Slow Moving Average\"",{"type":14,"tagName":35,"properties":3759,"children":3760},{"style":232},[3761],{"type":23,"value":1419},{"type":23,"value":89},{"type":14,"tagName":35,"properties":3764,"children":3765},{"class":228},[3766,3770,3774,3778,3783,3787,3791,3795,3800,3804,3808,3812,3816,3820,3824,3828,3832,3836,3840,3844,3848,3853,3857,3861,3865,3870],{"type":14,"tagName":35,"properties":3767,"children":3768},{"style":286},[3769],{"type":23,"value":1566},{"type":14,"tagName":35,"properties":3771,"children":3772},{"style":232},[3773],{"type":23,"value":1341},{"type":14,"tagName":35,"properties":3775,"children":3776},{"style":238},[3777],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3779,"children":3780},{"style":232},[3781],{"type":23,"value":3782},"buy_signal ",{"type":14,"tagName":35,"properties":3784,"children":3785},{"style":238},[3786],{"type":23,"value":1543},{"type":14,"tagName":35,"properties":3788,"children":3789},{"style":232},[3790],{"type":23,"value":2852},{"type":14,"tagName":35,"properties":3792,"children":3793},{"style":238},[3794],{"type":23,"value":294},{"type":14,"tagName":35,"properties":3796,"children":3797},{"style":232},[3798],{"type":23,"value":3799}," na, shape",{"type":14,"tagName":35,"properties":3801,"children":3802},{"style":238},[3803],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3805,"children":3806},{"style":314},[3807],{"type":23,"value":1588},{"type":14,"tagName":35,"properties":3809,"children":3810},{"style":232},[3811],{"type":23,"value":1593},{"type":14,"tagName":35,"properties":3813,"children":3814},{"style":238},[3815],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3817,"children":3818},{"style":244},[3819],{"type":23,"value":1359},{"type":14,"tagName":35,"properties":3821,"children":3822},{"style":232},[3823],{"type":23,"value":1364},{"type":14,"tagName":35,"properties":3825,"children":3826},{"style":238},[3827],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3829,"children":3830},{"style":232},[3831],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":3833,"children":3834},{"style":314},[3835],{"type":23,"value":1618},{"type":14,"tagName":35,"properties":3837,"children":3838},{"style":232},[3839],{"type":23,"value":1383},{"type":14,"tagName":35,"properties":3841,"children":3842},{"style":238},[3843],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3845,"children":3846},{"style":232},[3847],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":3849,"children":3850},{"style":314},[3851],{"type":23,"value":3852},"\"Buy Signal\"",{"type":14,"tagName":35,"properties":3854,"children":3855},{"style":232},[3856],{"type":23,"value":1401},{"type":14,"tagName":35,"properties":3858,"children":3859},{"style":238},[3860],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3862,"children":3863},{"style":232},[3864],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":3866,"children":3867},{"style":314},[3868],{"type":23,"value":3869},"\"Buy Signal Marker\"",{"type":14,"tagName":35,"properties":3871,"children":3872},{"style":232},[3873],{"type":23,"value":1419},{"type":23,"value":89},{"type":14,"tagName":137,"properties":3876,"children":3878,"position":3887},{"id":3877},"use-comments-effectively",[3879],{"type":23,"value":3880,"position":3881},"Use Comments Effectively",{"start":3882,"end":3885},{"line":3883,"column":67,"offset":3884},237,8055,{"line":3883,"column":29,"offset":3886},8079,{"start":3888,"end":3890},{"line":3883,"column":27,"offset":3889},8051,{"line":3883,"column":29,"offset":3886},{"type":23,"value":89},{"type":14,"tagName":120,"properties":3893,"children":3894,"position":3904},{},[3895],{"type":23,"value":3896,"position":3897},"Write clear comments that explain the \"why\" behind your code logic.",{"start":3898,"end":3901},{"line":3899,"column":27,"offset":3900},239,8081,{"line":3899,"column":3902,"offset":3903},68,8148,{"start":3905,"end":3906},{"line":3899,"column":27,"offset":3900},{"line":3899,"column":3902,"offset":3903},{"type":23,"value":89},{"type":11,"children":3909},[3910],{"type":14,"tagName":215,"properties":3911,"children":3912,"data":-1},{"class":217,"style":218,"tabindex":219,"title":3880},[3913],{"type":14,"tagName":223,"properties":3914,"children":3915},{},[3916,3924,3925,3957,3958,3987,3988,3991,3992,4000,4001,4009,4010,4048,4049,4078,4079],{"type":14,"tagName":35,"properties":3917,"children":3918},{"class":228},[3919],{"type":14,"tagName":35,"properties":3920,"children":3921},{"style":721},[3922],{"type":23,"value":3923},"// Calculate RSI divergence",{"type":23,"value":89},{"type":14,"tagName":35,"properties":3926,"children":3927},{"class":228},[3928,3932,3937,3941,3945,3949,3953],{"type":14,"tagName":35,"properties":3929,"children":3930},{"style":238},[3931],{"type":23,"value":341},{"type":14,"tagName":35,"properties":3933,"children":3934},{"style":232},[3935],{"type":23,"value":3936}," rsi_current ",{"type":14,"tagName":35,"properties":3938,"children":3939},{"style":238},[3940],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3942,"children":3943},{"style":286},[3944],{"type":23,"value":809},{"type":14,"tagName":35,"properties":3946,"children":3947},{"style":232},[3948],{"type":23,"value":814},{"type":14,"tagName":35,"properties":3950,"children":3951},{"style":244},[3952],{"type":23,"value":819},{"type":14,"tagName":35,"properties":3954,"children":3955},{"style":232},[3956],{"type":23,"value":824},{"type":23,"value":89},{"type":14,"tagName":35,"properties":3959,"children":3960},{"class":228},[3961,3965,3970,3974,3979,3983],{"type":14,"tagName":35,"properties":3962,"children":3963},{"style":238},[3964],{"type":23,"value":341},{"type":14,"tagName":35,"properties":3966,"children":3967},{"style":232},[3968],{"type":23,"value":3969}," rsi_previous ",{"type":14,"tagName":35,"properties":3971,"children":3972},{"style":238},[3973],{"type":23,"value":241},{"type":14,"tagName":35,"properties":3975,"children":3976},{"style":232},[3977],{"type":23,"value":3978}," rsi_current[",{"type":14,"tagName":35,"properties":3980,"children":3981},{"style":244},[3982],{"type":23,"value":1157},{"type":14,"tagName":35,"properties":3984,"children":3985},{"style":232},[3986],{"type":23,"value":1162},{"type":23,"value":89},{"type":14,"tagName":35,"properties":3989,"children":3990},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":3993,"children":3994},{"class":228},[3995],{"type":14,"tagName":35,"properties":3996,"children":3997},{"style":721},[3998],{"type":23,"value":3999},"// Look for bullish divergence:",{"type":23,"value":89},{"type":14,"tagName":35,"properties":4002,"children":4003},{"class":228},[4004],{"type":14,"tagName":35,"properties":4005,"children":4006},{"style":721},[4007],{"type":23,"value":4008},"// Price makes lower low but RSI makes higher low",{"type":23,"value":89},{"type":14,"tagName":35,"properties":4011,"children":4012},{"class":228},[4013,4017,4022,4026,4030,4035,4040,4044],{"type":14,"tagName":35,"properties":4014,"children":4015},{"style":238},[4016],{"type":23,"value":341},{"type":14,"tagName":35,"properties":4018,"children":4019},{"style":232},[4020],{"type":23,"value":4021}," price_lower_low ",{"type":14,"tagName":35,"properties":4023,"children":4024},{"style":238},[4025],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4027,"children":4028},{"style":232},[4029],{"type":23,"value":2852},{"type":14,"tagName":35,"properties":4031,"children":4032},{"style":238},[4033],{"type":23,"value":4034},"\u003C",{"type":14,"tagName":35,"properties":4036,"children":4037},{"style":232},[4038],{"type":23,"value":4039}," price_data.low[",{"type":14,"tagName":35,"properties":4041,"children":4042},{"style":244},[4043],{"type":23,"value":1157},{"type":14,"tagName":35,"properties":4045,"children":4046},{"style":232},[4047],{"type":23,"value":1162},{"type":23,"value":89},{"type":14,"tagName":35,"properties":4050,"children":4051},{"class":228},[4052,4056,4061,4065,4069,4073],{"type":14,"tagName":35,"properties":4053,"children":4054},{"style":238},[4055],{"type":23,"value":341},{"type":14,"tagName":35,"properties":4057,"children":4058},{"style":232},[4059],{"type":23,"value":4060}," rsi_higher_low ",{"type":14,"tagName":35,"properties":4062,"children":4063},{"style":238},[4064],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4066,"children":4067},{"style":232},[4068],{"type":23,"value":3936},{"type":14,"tagName":35,"properties":4070,"children":4071},{"style":238},[4072],{"type":23,"value":2315},{"type":14,"tagName":35,"properties":4074,"children":4075},{"style":232},[4076],{"type":23,"value":4077}," rsi_previous",{"type":23,"value":89},{"type":14,"tagName":35,"properties":4080,"children":4081},{"class":228},[4082,4086,4091,4095,4099,4103],{"type":14,"tagName":35,"properties":4083,"children":4084},{"style":238},[4085],{"type":23,"value":341},{"type":14,"tagName":35,"properties":4087,"children":4088},{"style":232},[4089],{"type":23,"value":4090}," bullish_divergence ",{"type":14,"tagName":35,"properties":4092,"children":4093},{"style":238},[4094],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4096,"children":4097},{"style":232},[4098],{"type":23,"value":4021},{"type":14,"tagName":35,"properties":4100,"children":4101},{"style":238},[4102],{"type":23,"value":2306},{"type":14,"tagName":35,"properties":4104,"children":4105},{"style":232},[4106],{"type":23,"value":4107}," rsi_higher_low",{"type":23,"value":89},{"type":14,"tagName":137,"properties":4110,"children":4112,"position":4121},{"id":4111},"use-descriptive-labels-and-descriptions",[4113],{"type":23,"value":4114,"position":4115},"Use Descriptive Labels and Descriptions",{"start":4116,"end":4119},{"line":4117,"column":67,"offset":4118},252,8569,{"line":4117,"column":2754,"offset":4120},8608,{"start":4122,"end":4124},{"line":4117,"column":27,"offset":4123},8565,{"line":4117,"column":2754,"offset":4120},{"type":23,"value":89},{"type":14,"tagName":120,"properties":4127,"children":4128,"position":4174},{},[4129,4137,4149,4155,4167],{"type":23,"value":4130,"position":4131},"Always include ",{"start":4132,"end":4135},{"line":4133,"column":27,"offset":4134},254,8610,{"line":4133,"column":162,"offset":4136},8625,{"type":14,"tagName":223,"properties":4138,"children":4139,"position":4146},{},[4140],{"type":23,"value":4141,"position":4142},"label",{"start":4143,"end":4144},{"line":4133,"column":162,"offset":4136},{"line":4133,"column":3208,"offset":4145},8632,{"start":4147,"end":4148},{"line":4133,"column":162,"offset":4136},{"line":4133,"column":3208,"offset":4145},{"type":23,"value":4150,"position":4151}," and ",{"start":4152,"end":4153},{"line":4133,"column":3208,"offset":4145},{"line":4133,"column":1256,"offset":4154},8637,{"type":14,"tagName":223,"properties":4156,"children":4157,"position":4164},{},[4158],{"type":23,"value":4159,"position":4160},"desc",{"start":4161,"end":4162},{"line":4133,"column":1256,"offset":4154},{"line":4133,"column":184,"offset":4163},8643,{"start":4165,"end":4166},{"line":4133,"column":1256,"offset":4154},{"line":4133,"column":184,"offset":4163},{"type":23,"value":4168,"position":4169}," parameters in your plotting functions. These parameters improve autocomplete functionality, make scripts more readable, and help with script organization in the editor.",{"start":4170,"end":4171},{"line":4133,"column":184,"offset":4163},{"line":4133,"column":4172,"offset":4173},203,8812,{"start":4175,"end":4176},{"line":4133,"column":27,"offset":4134},{"line":4133,"column":4172,"offset":4173},{"type":23,"value":89},{"type":11,"children":4179},[4180],{"type":14,"tagName":215,"properties":4181,"children":4182,"data":-1},{"class":217,"style":218,"tabindex":219,"title":4114},[4183],{"type":14,"tagName":223,"properties":4184,"children":4185},{},[4186,4194,4195,4214,4215,4247,4248,4281,4282,4314,4315,4318,4319,4327,4328,4407,4408,4487,4488,4571,4572,4575,4576,4584,4585,4632,4633,4680,4681],{"type":14,"tagName":35,"properties":4187,"children":4188},{"class":228},[4189],{"type":14,"tagName":35,"properties":4190,"children":4191},{"style":721},[4192],{"type":23,"value":4193},"// ✓ Always use label and desc parameters for better organization",{"type":23,"value":89},{"type":14,"tagName":35,"properties":4196,"children":4197},{"class":228},[4198,4202,4206,4210],{"type":14,"tagName":35,"properties":4199,"children":4200},{"style":232},[4201],{"type":23,"value":733},{"type":14,"tagName":35,"properties":4203,"children":4204},{"style":238},[4205],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4207,"children":4208},{"style":286},[4209],{"type":23,"value":742},{"type":14,"tagName":35,"properties":4211,"children":4212},{"style":232},[4213],{"type":23,"value":747},{"type":23,"value":89},{"type":14,"tagName":35,"properties":4216,"children":4217},{"class":228},[4218,4222,4227,4231,4235,4239,4243],{"type":14,"tagName":35,"properties":4219,"children":4220},{"style":238},[4221],{"type":23,"value":341},{"type":14,"tagName":35,"properties":4223,"children":4224},{"style":232},[4225],{"type":23,"value":4226}," sma20 ",{"type":14,"tagName":35,"properties":4228,"children":4229},{"style":238},[4230],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4232,"children":4233},{"style":286},[4234],{"type":23,"value":782},{"type":14,"tagName":35,"properties":4236,"children":4237},{"style":232},[4238],{"type":23,"value":814},{"type":14,"tagName":35,"properties":4240,"children":4241},{"style":244},[4242],{"type":23,"value":1008},{"type":14,"tagName":35,"properties":4244,"children":4245},{"style":232},[4246],{"type":23,"value":824},{"type":23,"value":89},{"type":14,"tagName":35,"properties":4249,"children":4250},{"class":228},[4251,4255,4260,4264,4268,4272,4277],{"type":14,"tagName":35,"properties":4252,"children":4253},{"style":238},[4254],{"type":23,"value":341},{"type":14,"tagName":35,"properties":4256,"children":4257},{"style":232},[4258],{"type":23,"value":4259}," sma50 ",{"type":14,"tagName":35,"properties":4261,"children":4262},{"style":238},[4263],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4265,"children":4266},{"style":286},[4267],{"type":23,"value":782},{"type":14,"tagName":35,"properties":4269,"children":4270},{"style":232},[4271],{"type":23,"value":814},{"type":14,"tagName":35,"properties":4273,"children":4274},{"style":244},[4275],{"type":23,"value":4276},"50",{"type":14,"tagName":35,"properties":4278,"children":4279},{"style":232},[4280],{"type":23,"value":824},{"type":23,"value":89},{"type":14,"tagName":35,"properties":4283,"children":4284},{"class":228},[4285,4289,4294,4298,4302,4306,4310],{"type":14,"tagName":35,"properties":4286,"children":4287},{"style":238},[4288],{"type":23,"value":341},{"type":14,"tagName":35,"properties":4290,"children":4291},{"style":232},[4292],{"type":23,"value":4293}," rsi ",{"type":14,"tagName":35,"properties":4295,"children":4296},{"style":238},[4297],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4299,"children":4300},{"style":286},[4301],{"type":23,"value":809},{"type":14,"tagName":35,"properties":4303,"children":4304},{"style":232},[4305],{"type":23,"value":814},{"type":14,"tagName":35,"properties":4307,"children":4308},{"style":244},[4309],{"type":23,"value":819},{"type":14,"tagName":35,"properties":4311,"children":4312},{"style":232},[4313],{"type":23,"value":824},{"type":23,"value":89},{"type":14,"tagName":35,"properties":4316,"children":4317},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":4320,"children":4321},{"class":228},[4322],{"type":14,"tagName":35,"properties":4323,"children":4324},{"style":721},[4325],{"type":23,"value":4326},"// Good: Descriptive labels help with autocomplete and script organization",{"type":23,"value":89},{"type":14,"tagName":35,"properties":4329,"children":4330},{"class":228},[4331,4335,4339,4343,4347,4351,4355,4359,4363,4367,4371,4375,4379,4383,4387,4391,4395,4399,4403],{"type":14,"tagName":35,"properties":4332,"children":4333},{"style":286},[4334],{"type":23,"value":1336},{"type":14,"tagName":35,"properties":4336,"children":4337},{"style":232},[4338],{"type":23,"value":1341},{"type":14,"tagName":35,"properties":4340,"children":4341},{"style":238},[4342],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4344,"children":4345},{"style":232},[4346],{"type":23,"value":1350},{"type":14,"tagName":35,"properties":4348,"children":4349},{"style":238},[4350],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4352,"children":4353},{"style":244},[4354],{"type":23,"value":1359},{"type":14,"tagName":35,"properties":4356,"children":4357},{"style":232},[4358],{"type":23,"value":1364},{"type":14,"tagName":35,"properties":4360,"children":4361},{"style":238},[4362],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4364,"children":4365},{"style":232},[4366],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":4368,"children":4369},{"style":314},[4370],{"type":23,"value":1378},{"type":14,"tagName":35,"properties":4372,"children":4373},{"style":232},[4374],{"type":23,"value":1383},{"type":14,"tagName":35,"properties":4376,"children":4377},{"style":238},[4378],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4380,"children":4381},{"style":232},[4382],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":4384,"children":4385},{"style":314},[4386],{"type":23,"value":1396},{"type":14,"tagName":35,"properties":4388,"children":4389},{"style":232},[4390],{"type":23,"value":1401},{"type":14,"tagName":35,"properties":4392,"children":4393},{"style":238},[4394],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4396,"children":4397},{"style":232},[4398],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":4400,"children":4401},{"style":314},[4402],{"type":23,"value":1414},{"type":14,"tagName":35,"properties":4404,"children":4405},{"style":232},[4406],{"type":23,"value":1419},{"type":23,"value":89},{"type":14,"tagName":35,"properties":4409,"children":4410},{"class":228},[4411,4415,4419,4423,4427,4431,4435,4439,4443,4447,4451,4455,4459,4463,4467,4471,4475,4479,4483],{"type":14,"tagName":35,"properties":4412,"children":4413},{"style":286},[4414],{"type":23,"value":1336},{"type":14,"tagName":35,"properties":4416,"children":4417},{"style":232},[4418],{"type":23,"value":1341},{"type":14,"tagName":35,"properties":4420,"children":4421},{"style":238},[4422],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4424,"children":4425},{"style":232},[4426],{"type":23,"value":1440},{"type":14,"tagName":35,"properties":4428,"children":4429},{"style":238},[4430],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4432,"children":4433},{"style":244},[4434],{"type":23,"value":1359},{"type":14,"tagName":35,"properties":4436,"children":4437},{"style":232},[4438],{"type":23,"value":1364},{"type":14,"tagName":35,"properties":4440,"children":4441},{"style":238},[4442],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4444,"children":4445},{"style":232},[4446],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":4448,"children":4449},{"style":314},[4450],{"type":23,"value":1465},{"type":14,"tagName":35,"properties":4452,"children":4453},{"style":232},[4454],{"type":23,"value":1383},{"type":14,"tagName":35,"properties":4456,"children":4457},{"style":238},[4458],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4460,"children":4461},{"style":232},[4462],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":4464,"children":4465},{"style":314},[4466],{"type":23,"value":1482},{"type":14,"tagName":35,"properties":4468,"children":4469},{"style":232},[4470],{"type":23,"value":1401},{"type":14,"tagName":35,"properties":4472,"children":4473},{"style":238},[4474],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4476,"children":4477},{"style":232},[4478],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":4480,"children":4481},{"style":314},[4482],{"type":23,"value":1499},{"type":14,"tagName":35,"properties":4484,"children":4485},{"style":232},[4486],{"type":23,"value":1419},{"type":23,"value":89},{"type":14,"tagName":35,"properties":4489,"children":4490},{"class":228},[4491,4495,4499,4503,4508,4512,4516,4520,4524,4528,4533,4537,4541,4545,4550,4554,4558,4562,4567],{"type":14,"tagName":35,"properties":4492,"children":4493},{"style":286},[4494],{"type":23,"value":1336},{"type":14,"tagName":35,"properties":4496,"children":4497},{"style":232},[4498],{"type":23,"value":1341},{"type":14,"tagName":35,"properties":4500,"children":4501},{"style":238},[4502],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4504,"children":4505},{"style":232},[4506],{"type":23,"value":4507},"rsi, width",{"type":14,"tagName":35,"properties":4509,"children":4510},{"style":238},[4511],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4513,"children":4514},{"style":244},[4515],{"type":23,"value":1359},{"type":14,"tagName":35,"properties":4517,"children":4518},{"style":232},[4519],{"type":23,"value":1364},{"type":14,"tagName":35,"properties":4521,"children":4522},{"style":238},[4523],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4525,"children":4526},{"style":232},[4527],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":4529,"children":4530},{"style":314},[4531],{"type":23,"value":4532},"\"purple\"",{"type":14,"tagName":35,"properties":4534,"children":4535},{"style":232},[4536],{"type":23,"value":1383},{"type":14,"tagName":35,"properties":4538,"children":4539},{"style":238},[4540],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4542,"children":4543},{"style":232},[4544],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":4546,"children":4547},{"style":314},[4548],{"type":23,"value":4549},"\"RSI\"",{"type":14,"tagName":35,"properties":4551,"children":4552},{"style":232},[4553],{"type":23,"value":1401},{"type":14,"tagName":35,"properties":4555,"children":4556},{"style":238},[4557],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4559,"children":4560},{"style":232},[4561],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":4563,"children":4564},{"style":314},[4565],{"type":23,"value":4566},"\"14-period Relative Strength Index\"",{"type":14,"tagName":35,"properties":4568,"children":4569},{"style":232},[4570],{"type":23,"value":1419},{"type":23,"value":89},{"type":14,"tagName":35,"properties":4573,"children":4574},{"class":228},[],{"type":23,"value":89},{"type":14,"tagName":35,"properties":4577,"children":4578},{"class":228},[4579],{"type":14,"tagName":35,"properties":4580,"children":4581},{"style":721},[4582],{"type":23,"value":4583},"// ❌ Avoid: Missing labels make scripts harder to understand",{"type":23,"value":89},{"type":14,"tagName":35,"properties":4586,"children":4587},{"class":228},[4588,4592,4596,4600,4604,4608,4612,4616,4620,4624,4628],{"type":14,"tagName":35,"properties":4589,"children":4590},{"style":286},[4591],{"type":23,"value":1336},{"type":14,"tagName":35,"properties":4593,"children":4594},{"style":232},[4595],{"type":23,"value":1341},{"type":14,"tagName":35,"properties":4597,"children":4598},{"style":238},[4599],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4601,"children":4602},{"style":232},[4603],{"type":23,"value":1350},{"type":14,"tagName":35,"properties":4605,"children":4606},{"style":238},[4607],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4609,"children":4610},{"style":244},[4611],{"type":23,"value":1359},{"type":14,"tagName":35,"properties":4613,"children":4614},{"style":232},[4615],{"type":23,"value":1364},{"type":14,"tagName":35,"properties":4617,"children":4618},{"style":238},[4619],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4621,"children":4622},{"style":232},[4623],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":4625,"children":4626},{"style":314},[4627],{"type":23,"value":1378},{"type":14,"tagName":35,"properties":4629,"children":4630},{"style":232},[4631],{"type":23,"value":1419},{"type":23,"value":89},{"type":14,"tagName":35,"properties":4634,"children":4635},{"class":228},[4636,4640,4644,4648,4652,4656,4660,4664,4668,4672,4676],{"type":14,"tagName":35,"properties":4637,"children":4638},{"style":286},[4639],{"type":23,"value":1336},{"type":14,"tagName":35,"properties":4641,"children":4642},{"style":232},[4643],{"type":23,"value":1341},{"type":14,"tagName":35,"properties":4645,"children":4646},{"style":238},[4647],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4649,"children":4650},{"style":232},[4651],{"type":23,"value":1440},{"type":14,"tagName":35,"properties":4653,"children":4654},{"style":238},[4655],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4657,"children":4658},{"style":244},[4659],{"type":23,"value":1359},{"type":14,"tagName":35,"properties":4661,"children":4662},{"style":232},[4663],{"type":23,"value":1364},{"type":14,"tagName":35,"properties":4665,"children":4666},{"style":238},[4667],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4669,"children":4670},{"style":232},[4671],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":4673,"children":4674},{"style":314},[4675],{"type":23,"value":1465},{"type":14,"tagName":35,"properties":4677,"children":4678},{"style":232},[4679],{"type":23,"value":1419},{"type":23,"value":89},{"type":14,"tagName":35,"properties":4682,"children":4683},{"class":228},[4684,4688,4692,4696,4700,4704,4708,4712,4716,4720,4724],{"type":14,"tagName":35,"properties":4685,"children":4686},{"style":286},[4687],{"type":23,"value":1336},{"type":14,"tagName":35,"properties":4689,"children":4690},{"style":232},[4691],{"type":23,"value":1341},{"type":14,"tagName":35,"properties":4693,"children":4694},{"style":238},[4695],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4697,"children":4698},{"style":232},[4699],{"type":23,"value":4507},{"type":14,"tagName":35,"properties":4701,"children":4702},{"style":238},[4703],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4705,"children":4706},{"style":244},[4707],{"type":23,"value":1359},{"type":14,"tagName":35,"properties":4709,"children":4710},{"style":232},[4711],{"type":23,"value":1364},{"type":14,"tagName":35,"properties":4713,"children":4714},{"style":238},[4715],{"type":23,"value":241},{"type":14,"tagName":35,"properties":4717,"children":4718},{"style":232},[4719],{"type":23,"value":1373},{"type":14,"tagName":35,"properties":4721,"children":4722},{"style":314},[4723],{"type":23,"value":4532},{"type":14,"tagName":35,"properties":4725,"children":4726},{"style":232},[4727],{"type":23,"value":1419},{"quirksMode":4729},false,{"start":4731,"end":4732},{"line":27,"column":27,"offset":97},{"line":4733,"column":56,"offset":4734},272,9733,1784888061099]