[{"data":1,"prerenderedAt":1721},["ShallowReactive",2],{"user-guide:core/k-script":3},{"slug":4,"filePath":5,"frontmatter":6,"rawMarkdown":9,"tree":10},"core/k-script","core/k-script.md",{"title":7,"description":8},"kScript","Build and share high-performance indicators with direct access to raw market data.","---\ntitle: kScript\ndescription: >-\n  Build and share high-performance indicators with direct access to raw market\n  data.\n---\n\n\nEvery trader eventually wants a line the built-in catalog does not have: your moving average pair, your entry rule, your version of RSI with the bands where you actually trade them. kScript is OpenMarket's scripting language for exactly that. It offers a familiar syntax for those coming from PineScript but provides far more power, including direct access to raw order-book arrays, multi-symbol data, and live computations across thousands of assets. You write a short script, press Run, and it renders on your chart like any built-in indicator. Your own scripts and public open-source scripts run right in your browser; private and source-protected scripts run in OpenMarket's cloud. Either way the chart does not care: same plots, same settings dialog, same legend. For a complete list of functions, variables, and syntax rules, visit the [Official kScript Documentation](https://openmarket.xyz/kscript).\n\n![The kScript editor](/k-script/kscript--editor.png)\n\n## Open the editor\n\nYou need to be signed in, and the editor is a desktop surface (there is no mobile editor).\n\n- Click the **kScript** button in the top bar. The editor opens as a resizable panel docked beside your chart, so you can see your code and its output at the same time.\n- Prefer keyboard? Open super search with `Ctrl/Cmd+J` and type \"Script Editor\".\n- From the **Indicators** dialog, the **Build** button jumps straight into the editor. Opening or forking a community script from that dialog lands in the editor too.\n\n**Run** adds the script to your chart. Running an unsaved draft previews it instantly; press **Save** so the chart keeps your version on refresh, and **Publish** when you want a version others can use.\n\n## Find your way around\n\nThe editor is laid out like a small IDE, with the chart always in view:\n\n- **Explorer** (the files icon on the left rail): all your drafts and saved scripts. Create a new script, rename, duplicate, change a script's icon, or delete from here. Scripts open as tabs across the top, so you can work on several at once.\n- **Toolbar**: the sharing mode of the script (Private, Public hidden, or Public open), an Indicator/Strategy switch, the **Templates** button, and where the script runs (in the cloud or locally in your browser). To the right sit **Save**, **Publish**, and **Run**.\n- **Code area**: syntax highlighting, find and replace, and live checking as you type. Problem counts appear in the status row under the code; click them to open the console.\n- **Console** (bottom): one stream with your script's problems and run output. Click an error line and the editor jumps to the offending line of code. The last line of the console is a live prompt: type `/` for commands or enter an expression. A data inspector lets you verify raw source data against your plot outputs when logic needs checking.\n- **Docs** (the book icon on the left rail): opens the full kScript language reference in a new tab. This page does not teach the language; that reference does.\n\n## Start from a template\n\nA fresh script opens on the template picker, and the **Templates** button in the toolbar brings it back at any time (on an edited script, picking a template opens a new tab instead of overwriting your work).\n\n![Starting from a template](/k-script/kscript--templates.png)\n\nStarter templates ship with the editor, and every one is a complete working script:\n\n- **Strategies:** **MA Cross** (buys golden crosses, flips short on death crosses), **RSI Reversion** (buys oversold dips, exits on the bounce back to the middle), and **Breakout Brackets** (enters channel breakouts with stop, target, and trailing exits).\n- **Indicators:** **RSI** (momentum oscillator with oversold and overbought bands), **MA Cross** (fast and slow moving averages on the chart), and **EMA Trend Ribbon** (three EMAs that stack during trends).\n\nPrefer an empty page? **Blank script** starts you from nothing. To give you a feel for the language, here is the MA Cross indicator template, verbatim and in full:\n\n```\n//@version=3\ndefine(title=\"MA Cross\", position=\"onchart\", axis=true)\n\ntimeseries priceData = ohlcv(symbol=currentSymbol, exchange=currentExchange)\ntimeseries fastMa = sma(source=priceData.close, period=20)\ntimeseries slowMa = sma(source=priceData.close, period=50)\n\nplotLine(value=fastMa, width=1, colors=[\"#22c55e\"], label=[\"Fast MA\"], desc=[\"Fast moving average\"])\nplotLine(value=slowMa, width=1, colors=[\"#ef4444\"], label=[\"Slow MA\"], desc=[\"Slow moving average\"])\n```\n\n## Strategies and the Strategy Tester\n\nA strategy is a script that places simulated trades instead of just drawing lines, and for strategies the Run button becomes **Backtest**. Run one and the chart marks every entry and exit, while a dock under the chart summarizes the result (net profit, win rate, drawdown, trade count) and expands into the full Strategy Tester: an **Overview** tab with the equity curve, a drawdown lane, and a buy-and-hold comparison, plus **Performance** and **Trades** tabs for the detailed numbers and the trade-by-trade list. Each strategy on the chart keeps its own markers and its own eye toggle (hiding a strategy hides its plots and markers together), and with two or more strategies running you can open compare mode to see their normalized equity curves side by side.\n\n## Prepare a script for the community\n\nWhen you publish, kScript gives you the tools to make a script professional and discoverable:\n\n- **Thumbnails:** Upload a custom image (PNG or JPG up to 2MB) to provide a high-quality visual preview of the indicator.\n- **Categories:** Assign your script to up to three categories—such as **Trend Indicators**, **Orderflow Analysis**, or **Market Microstructure**—to help users understand its purpose.\n- **Rich Description:** Use the built-in text editor to explain the logic and use cases.\n- **Sharing mode:** Pick **Private** (only you can use it, source stays protected), **Public hidden** (anyone can add it, source stays hidden), or **Public open** (anyone can view or fork it).\n- **kScore:** A fair evaluation of each published indicator, calculated internally via a proprietary formula to measure popularity and usage.\n\n## Community scripts\n\nYou do not have to write anything to benefit from kScript. Open **Indicators** in the top bar and switch the filter to **Community only**: every script other traders have published is there, searchable and sortable, with author profiles and a verified-scripter badge. One click adds a script to your chart.\n\nOpen-source community scripts go further: open one in the editor to read exactly how it works, and **Fork** it to get your own editable copy, tweak a period, restyle a plot, or build something new on top. Source-protected scripts can be added and used but not forked. OpenMarket also maintains a collection of popular TradingView scripts converted to kScript; they run natively, like any other script.\n\nSave high-value community indicators to your **Favorites** for instant access on any chart, and use the **My Scripts** view to reach your personal drafts, published tools, and forked code in one place. For a curated tour of community indicators and ready-made bundles, see the [kScript Hub](/learn/core/hub/k-script-hub).\n\n## Limits\n\nPrivate scripts are a Plus feature: the free plan includes none, Plus lets you keep up to 20 scripts private.\n\n{% hint style=\"info\" %}\n**Where to go next**\n\nStart from a template, change one number, and press Run. When you are ready for the full language, the book icon in the editor opens the kScript reference.\n{% endhint %}\n",{"type":11,"children":12,"data":1715,"position":1717},"root",[13,55,57,76,77,96,97,112,113,265,266,344,345,360,361,376,377,649,650,666,667,705,706,724,725,740,741,939,940,976,977,995,996,1012,1013,1123,1124,1139,1140,1153,1154,1445,1446,1462,1463,1520,1521,1558,1559,1643,1644,1659,1660,1674,1675],{"type":14,"tagName":15,"properties":16,"children":17,"position":52},"element","p",{},[18,28,46],{"type":19,"value":20,"position":21},"text","Every trader eventually wants a line the built-in catalog does not have: your moving average pair, your entry rule, your version of RSI with the bands where you actually trade them. kScript is OpenMarket's scripting language for exactly that. It offers a familiar syntax for those coming from PineScript but provides far more power, including direct access to raw order-book arrays, multi-symbol data, and live computations across thousands of assets. You write a short script, press Run, and it renders on your chart like any built-in indicator. Your own scripts and public open-source scripts run right in your browser; private and source-protected scripts run in OpenMarket's cloud. Either way the chart does not care: same plots, same settings dialog, same legend. For a complete list of functions, variables, and syntax rules, visit the ",{"start":22,"end":25},{"line":23,"column":23,"offset":24},1,0,{"line":23,"column":26,"offset":27},843,842,{"type":14,"tagName":29,"properties":30,"children":32,"position":41},"a",{"href":31},"https://openmarket.xyz/kscript",[33],{"type":19,"value":34,"position":35},"Official kScript Documentation",{"start":36,"end":38},{"line":23,"column":37,"offset":26},844,{"line":23,"column":39,"offset":40},874,873,{"start":42,"end":43},{"line":23,"column":26,"offset":27},{"line":23,"column":44,"offset":45},907,906,{"type":19,"value":47,"position":48},".",{"start":49,"end":50},{"line":23,"column":44,"offset":45},{"line":23,"column":51,"offset":44},908,{"start":53,"end":54},{"line":23,"column":23,"offset":24},{"line":23,"column":51,"offset":44},{"type":19,"value":56},"\n",{"type":14,"tagName":15,"properties":58,"children":59,"position":73},{},[60],{"type":14,"tagName":61,"properties":62,"children":65,"position":66},"img",{"src":63,"alt":64},"/k-script/kscript--editor.png","The kScript editor",[],{"start":67,"end":70},{"line":68,"column":23,"offset":69},3,909,{"line":68,"column":71,"offset":72},53,961,{"start":74,"end":75},{"line":68,"column":23,"offset":69},{"line":68,"column":71,"offset":72},{"type":19,"value":56},{"type":14,"tagName":78,"properties":79,"children":81,"position":92},"h2",{"id":80},"open-the-editor",[82],{"type":19,"value":83,"position":84},"Open the editor",{"start":85,"end":89},{"line":86,"column":87,"offset":88},5,4,966,{"line":86,"column":90,"offset":91},19,981,{"start":93,"end":95},{"line":86,"column":23,"offset":94},963,{"line":86,"column":90,"offset":91},{"type":19,"value":56},{"type":14,"tagName":15,"properties":98,"children":99,"position":109},{},[100],{"type":19,"value":101,"position":102},"You need to be signed in, and the editor is a desktop surface (there is no mobile editor).",{"start":103,"end":106},{"line":104,"column":23,"offset":105},7,983,{"line":104,"column":107,"offset":108},91,1073,{"start":110,"end":111},{"line":104,"column":23,"offset":105},{"line":104,"column":107,"offset":108},{"type":19,"value":56},{"type":14,"tagName":114,"properties":115,"children":116,"position":262},"ul",{},[117,118,159,160,197,198,261],{"type":19,"value":56},{"type":14,"tagName":119,"properties":120,"children":121,"position":155},"li",{},[122,131,148],{"type":19,"value":123,"position":124},"Click the ",{"start":125,"end":128},{"line":126,"column":68,"offset":127},9,1077,{"line":126,"column":129,"offset":130},13,1087,{"type":14,"tagName":132,"properties":133,"children":134,"position":143},"strong",{},[135],{"type":19,"value":7,"position":136},{"start":137,"end":140},{"line":126,"column":138,"offset":139},15,1089,{"line":126,"column":141,"offset":142},22,1096,{"start":144,"end":145},{"line":126,"column":129,"offset":130},{"line":126,"column":146,"offset":147},24,1098,{"type":19,"value":149,"position":150}," button in the top bar. The editor opens as a resizable panel docked beside your chart, so you can see your code and its output at the same time.",{"start":151,"end":152},{"line":126,"column":146,"offset":147},{"line":126,"column":153,"offset":154},169,1243,{"start":156,"end":158},{"line":126,"column":23,"offset":157},1075,{"line":126,"column":153,"offset":154},{"type":19,"value":56},{"type":14,"tagName":119,"properties":161,"children":162,"position":193},{},[163,172,186],{"type":19,"value":164,"position":165},"Prefer keyboard? Open super search with ",{"start":166,"end":169},{"line":167,"column":68,"offset":168},10,1246,{"line":167,"column":170,"offset":171},43,1286,{"type":14,"tagName":173,"properties":174,"children":175,"position":183},"code",{},[176],{"type":19,"value":177,"position":178},"Ctrl/Cmd+J",{"start":179,"end":180},{"line":167,"column":170,"offset":171},{"line":167,"column":181,"offset":182},55,1298,{"start":184,"end":185},{"line":167,"column":170,"offset":171},{"line":167,"column":181,"offset":182},{"type":19,"value":187,"position":188}," and type \"Script Editor\".",{"start":189,"end":190},{"line":167,"column":181,"offset":182},{"line":167,"column":191,"offset":192},81,1324,{"start":194,"end":196},{"line":167,"column":23,"offset":195},1244,{"line":167,"column":191,"offset":192},{"type":19,"value":56},{"type":14,"tagName":119,"properties":199,"children":200,"position":257},{},[201,210,226,233,250],{"type":19,"value":202,"position":203},"From the ",{"start":204,"end":207},{"line":205,"column":68,"offset":206},11,1327,{"line":205,"column":208,"offset":209},12,1336,{"type":14,"tagName":132,"properties":211,"children":212,"position":221},{},[213],{"type":19,"value":214,"position":215},"Indicators",{"start":216,"end":219},{"line":205,"column":217,"offset":218},14,1338,{"line":205,"column":146,"offset":220},1348,{"start":222,"end":223},{"line":205,"column":208,"offset":209},{"line":205,"column":224,"offset":225},26,1350,{"type":19,"value":227,"position":228}," dialog, the ",{"start":229,"end":230},{"line":205,"column":224,"offset":225},{"line":205,"column":231,"offset":232},39,1363,{"type":14,"tagName":132,"properties":234,"children":235,"position":245},{},[236],{"type":19,"value":237,"position":238},"Build",{"start":239,"end":242},{"line":205,"column":240,"offset":241},41,1365,{"line":205,"column":243,"offset":244},46,1370,{"start":246,"end":247},{"line":205,"column":231,"offset":232},{"line":205,"column":248,"offset":249},48,1372,{"type":19,"value":251,"position":252}," button jumps straight into the editor. Opening or forking a community script from that dialog lands in the editor too.",{"start":253,"end":254},{"line":205,"column":248,"offset":249},{"line":205,"column":255,"offset":256},167,1491,{"start":258,"end":260},{"line":205,"column":23,"offset":259},1325,{"line":205,"column":255,"offset":256},{"type":19,"value":56},{"start":263,"end":264},{"line":126,"column":23,"offset":157},{"line":205,"column":255,"offset":256},{"type":19,"value":56},{"type":14,"tagName":15,"properties":267,"children":268,"position":341},{},[269,286,293,310,317,334],{"type":14,"tagName":132,"properties":270,"children":271,"position":280},{},[272],{"type":19,"value":273,"position":274},"Run",{"start":275,"end":277},{"line":129,"column":68,"offset":276},1495,{"line":129,"column":278,"offset":279},6,1498,{"start":281,"end":283},{"line":129,"column":23,"offset":282},1493,{"line":129,"column":284,"offset":285},8,1500,{"type":19,"value":287,"position":288}," adds the script to your chart. Running an unsaved draft previews it instantly; press ",{"start":289,"end":290},{"line":129,"column":284,"offset":285},{"line":129,"column":291,"offset":292},94,1586,{"type":14,"tagName":132,"properties":294,"children":295,"position":305},{},[296],{"type":19,"value":297,"position":298},"Save",{"start":299,"end":302},{"line":129,"column":300,"offset":301},96,1588,{"line":129,"column":303,"offset":304},100,1592,{"start":306,"end":307},{"line":129,"column":291,"offset":292},{"line":129,"column":308,"offset":309},102,1594,{"type":19,"value":311,"position":312}," so the chart keeps your version on refresh, and ",{"start":313,"end":314},{"line":129,"column":308,"offset":309},{"line":129,"column":315,"offset":316},151,1643,{"type":14,"tagName":132,"properties":318,"children":319,"position":329},{},[320],{"type":19,"value":321,"position":322},"Publish",{"start":323,"end":326},{"line":129,"column":324,"offset":325},153,1645,{"line":129,"column":327,"offset":328},160,1652,{"start":330,"end":331},{"line":129,"column":315,"offset":316},{"line":129,"column":332,"offset":333},162,1654,{"type":19,"value":335,"position":336}," when you want a version others can use.",{"start":337,"end":338},{"line":129,"column":332,"offset":333},{"line":129,"column":339,"offset":340},202,1694,{"start":342,"end":343},{"line":129,"column":23,"offset":282},{"line":129,"column":339,"offset":340},{"type":19,"value":56},{"type":14,"tagName":78,"properties":346,"children":348,"position":356},{"id":347},"find-your-way-around",[349],{"type":19,"value":350,"position":351},"Find your way around",{"start":352,"end":354},{"line":138,"column":87,"offset":353},1699,{"line":138,"column":146,"offset":355},1719,{"start":357,"end":359},{"line":138,"column":23,"offset":358},1696,{"line":138,"column":146,"offset":355},{"type":19,"value":56},{"type":14,"tagName":15,"properties":362,"children":363,"position":373},{},[364],{"type":19,"value":365,"position":366},"The editor is laid out like a small IDE, with the chart always in view:",{"start":367,"end":370},{"line":368,"column":23,"offset":369},17,1721,{"line":368,"column":371,"offset":372},72,1792,{"start":374,"end":375},{"line":368,"column":23,"offset":369},{"line":368,"column":371,"offset":372},{"type":19,"value":56},{"type":14,"tagName":114,"properties":378,"children":379,"position":646},{},[380,381,410,411,532,533,564,565,614,615,645],{"type":19,"value":56},{"type":14,"tagName":119,"properties":382,"children":383,"position":406},{},[384,399],{"type":14,"tagName":132,"properties":385,"children":386,"position":394},{},[387],{"type":19,"value":388,"position":389},"Explorer",{"start":390,"end":392},{"line":90,"column":86,"offset":391},1798,{"line":90,"column":129,"offset":393},1806,{"start":395,"end":397},{"line":90,"column":68,"offset":396},1796,{"line":90,"column":138,"offset":398},1808,{"type":19,"value":400,"position":401}," (the files icon on the left rail): all your drafts and saved scripts. Create a new script, rename, duplicate, change a script's icon, or delete from here. Scripts open as tabs across the top, so you can work on several at once.",{"start":402,"end":403},{"line":90,"column":138,"offset":398},{"line":90,"column":404,"offset":405},243,2036,{"start":407,"end":409},{"line":90,"column":23,"offset":408},1794,{"line":90,"column":404,"offset":405},{"type":19,"value":56},{"type":14,"tagName":119,"properties":412,"children":413,"position":528},{},[414,430,437,454,461,477,484,499,506,522],{"type":14,"tagName":132,"properties":415,"children":416,"position":425},{},[417],{"type":19,"value":418,"position":419},"Toolbar",{"start":420,"end":423},{"line":421,"column":86,"offset":422},20,2041,{"line":421,"column":208,"offset":424},2048,{"start":426,"end":428},{"line":421,"column":68,"offset":427},2039,{"line":421,"column":217,"offset":429},2050,{"type":19,"value":431,"position":432},": the sharing mode of the script (Private, Public hidden, or Public open), an Indicator/Strategy switch, the ",{"start":433,"end":434},{"line":421,"column":217,"offset":429},{"line":421,"column":435,"offset":436},123,2159,{"type":14,"tagName":132,"properties":438,"children":439,"position":449},{},[440],{"type":19,"value":441,"position":442},"Templates",{"start":443,"end":446},{"line":421,"column":444,"offset":445},125,2161,{"line":421,"column":447,"offset":448},134,2170,{"start":450,"end":451},{"line":421,"column":435,"offset":436},{"line":421,"column":452,"offset":453},136,2172,{"type":19,"value":455,"position":456}," button, and where the script runs (in the cloud or locally in your browser). To the right sit ",{"start":457,"end":458},{"line":421,"column":452,"offset":453},{"line":421,"column":459,"offset":460},231,2267,{"type":14,"tagName":132,"properties":462,"children":463,"position":472},{},[464],{"type":19,"value":297,"position":465},{"start":466,"end":469},{"line":421,"column":467,"offset":468},233,2269,{"line":421,"column":470,"offset":471},237,2273,{"start":473,"end":474},{"line":421,"column":459,"offset":460},{"line":421,"column":475,"offset":476},239,2275,{"type":19,"value":478,"position":479},", ",{"start":480,"end":481},{"line":421,"column":475,"offset":476},{"line":421,"column":482,"offset":483},241,2277,{"type":14,"tagName":132,"properties":485,"children":486,"position":494},{},[487],{"type":19,"value":321,"position":488},{"start":489,"end":491},{"line":421,"column":404,"offset":490},2279,{"line":421,"column":492,"offset":493},250,2286,{"start":495,"end":496},{"line":421,"column":482,"offset":483},{"line":421,"column":497,"offset":498},252,2288,{"type":19,"value":500,"position":501},", and ",{"start":502,"end":503},{"line":421,"column":497,"offset":498},{"line":421,"column":504,"offset":505},258,2294,{"type":14,"tagName":132,"properties":507,"children":508,"position":517},{},[509],{"type":19,"value":273,"position":510},{"start":511,"end":514},{"line":421,"column":512,"offset":513},260,2296,{"line":421,"column":515,"offset":516},263,2299,{"start":518,"end":519},{"line":421,"column":504,"offset":505},{"line":421,"column":520,"offset":521},265,2301,{"type":19,"value":47,"position":523},{"start":524,"end":525},{"line":421,"column":520,"offset":521},{"line":421,"column":526,"offset":527},266,2302,{"start":529,"end":531},{"line":421,"column":23,"offset":530},2037,{"line":421,"column":526,"offset":527},{"type":19,"value":56},{"type":14,"tagName":119,"properties":534,"children":535,"position":560},{},[536,553],{"type":14,"tagName":132,"properties":537,"children":538,"position":547},{},[539],{"type":19,"value":540,"position":541},"Code area",{"start":542,"end":545},{"line":543,"column":86,"offset":544},21,2307,{"line":543,"column":217,"offset":546},2316,{"start":548,"end":550},{"line":543,"column":68,"offset":549},2305,{"line":543,"column":551,"offset":552},16,2318,{"type":19,"value":554,"position":555},": syntax highlighting, find and replace, and live checking as you type. Problem counts appear in the status row under the code; click them to open the console.",{"start":556,"end":557},{"line":543,"column":551,"offset":552},{"line":543,"column":558,"offset":559},175,2477,{"start":561,"end":563},{"line":543,"column":23,"offset":562},2303,{"line":543,"column":558,"offset":559},{"type":19,"value":56},{"type":14,"tagName":119,"properties":566,"children":567,"position":610},{},[568,583,590,603],{"type":14,"tagName":132,"properties":569,"children":570,"position":578},{},[571],{"type":19,"value":572,"position":573},"Console",{"start":574,"end":576},{"line":141,"column":86,"offset":575},2482,{"line":141,"column":208,"offset":577},2489,{"start":579,"end":581},{"line":141,"column":68,"offset":580},2480,{"line":141,"column":217,"offset":582},2491,{"type":19,"value":584,"position":585}," (bottom): one stream with your script's problems and run output. Click an error line and the editor jumps to the offending line of code. The last line of the console is a live prompt: type ",{"start":586,"end":587},{"line":141,"column":217,"offset":582},{"line":141,"column":588,"offset":589},204,2681,{"type":14,"tagName":173,"properties":591,"children":592,"position":600},{},[593],{"type":19,"value":594,"position":595},"/",{"start":596,"end":597},{"line":141,"column":588,"offset":589},{"line":141,"column":598,"offset":599},207,2684,{"start":601,"end":602},{"line":141,"column":588,"offset":589},{"line":141,"column":598,"offset":599},{"type":19,"value":604,"position":605}," for commands or enter an expression. A data inspector lets you verify raw source data against your plot outputs when logic needs checking.",{"start":606,"end":607},{"line":141,"column":598,"offset":599},{"line":141,"column":608,"offset":609},346,2823,{"start":611,"end":613},{"line":141,"column":23,"offset":612},2478,{"line":141,"column":608,"offset":609},{"type":19,"value":56},{"type":14,"tagName":119,"properties":616,"children":617,"position":641},{},[618,634],{"type":14,"tagName":132,"properties":619,"children":620,"position":629},{},[621],{"type":19,"value":622,"position":623},"Docs",{"start":624,"end":627},{"line":625,"column":86,"offset":626},23,2828,{"line":625,"column":126,"offset":628},2832,{"start":630,"end":632},{"line":625,"column":68,"offset":631},2826,{"line":625,"column":205,"offset":633},2834,{"type":19,"value":635,"position":636}," (the book icon on the left rail): opens the full kScript language reference in a new tab. This page does not teach the language; that reference does.",{"start":637,"end":638},{"line":625,"column":205,"offset":633},{"line":625,"column":639,"offset":640},161,2984,{"start":642,"end":644},{"line":625,"column":23,"offset":643},2824,{"line":625,"column":639,"offset":640},{"type":19,"value":56},{"start":647,"end":648},{"line":90,"column":23,"offset":408},{"line":625,"column":639,"offset":640},{"type":19,"value":56},{"type":14,"tagName":78,"properties":651,"children":653,"position":662},{"id":652},"start-from-a-template",[654],{"type":19,"value":655,"position":656},"Start from a template",{"start":657,"end":660},{"line":658,"column":87,"offset":659},25,2989,{"line":658,"column":658,"offset":661},3010,{"start":663,"end":665},{"line":658,"column":23,"offset":664},2986,{"line":658,"column":658,"offset":661},{"type":19,"value":56},{"type":14,"tagName":15,"properties":668,"children":669,"position":702},{},[670,679,695],{"type":19,"value":671,"position":672},"A fresh script opens on the template picker, and the ",{"start":673,"end":676},{"line":674,"column":23,"offset":675},27,3012,{"line":674,"column":677,"offset":678},54,3065,{"type":14,"tagName":132,"properties":680,"children":681,"position":690},{},[682],{"type":19,"value":441,"position":683},{"start":684,"end":687},{"line":674,"column":685,"offset":686},56,3067,{"line":674,"column":688,"offset":689},65,3076,{"start":691,"end":692},{"line":674,"column":677,"offset":678},{"line":674,"column":693,"offset":694},67,3078,{"type":19,"value":696,"position":697}," button in the toolbar brings it back at any time (on an edited script, picking a template opens a new tab instead of overwriting your work).",{"start":698,"end":699},{"line":674,"column":693,"offset":694},{"line":674,"column":700,"offset":701},208,3219,{"start":703,"end":704},{"line":674,"column":23,"offset":675},{"line":674,"column":700,"offset":701},{"type":19,"value":56},{"type":14,"tagName":15,"properties":707,"children":708,"position":721},{},[709],{"type":14,"tagName":61,"properties":710,"children":713,"position":714},{"src":711,"alt":712},"/k-script/kscript--templates.png","Starting from a template",[],{"start":715,"end":718},{"line":716,"column":23,"offset":717},29,3221,{"line":716,"column":719,"offset":720},62,3282,{"start":722,"end":723},{"line":716,"column":23,"offset":717},{"line":716,"column":719,"offset":720},{"type":19,"value":56},{"type":14,"tagName":15,"properties":726,"children":727,"position":737},{},[728],{"type":19,"value":729,"position":730},"Starter templates ship with the editor, and every one is a complete working script:",{"start":731,"end":734},{"line":732,"column":23,"offset":733},31,3284,{"line":732,"column":735,"offset":736},84,3367,{"start":738,"end":739},{"line":732,"column":23,"offset":733},{"line":732,"column":735,"offset":736},{"type":19,"value":56},{"type":14,"tagName":114,"properties":742,"children":743,"position":936},{},[744,745,841,842,935],{"type":19,"value":56},{"type":14,"tagName":119,"properties":746,"children":747,"position":837},{},[748,765,771,785,792,807,813,830],{"type":14,"tagName":132,"properties":749,"children":750,"position":759},{},[751],{"type":19,"value":752,"position":753},"Strategies:",{"start":754,"end":757},{"line":755,"column":86,"offset":756},33,3373,{"line":755,"column":551,"offset":758},3384,{"start":760,"end":762},{"line":755,"column":68,"offset":761},3371,{"line":755,"column":763,"offset":764},18,3386,{"type":19,"value":766,"position":767}," ",{"start":768,"end":769},{"line":755,"column":763,"offset":764},{"line":755,"column":90,"offset":770},3387,{"type":14,"tagName":132,"properties":772,"children":773,"position":781},{},[774],{"type":19,"value":775,"position":776},"MA Cross",{"start":777,"end":779},{"line":755,"column":543,"offset":778},3389,{"line":755,"column":716,"offset":780},3397,{"start":782,"end":783},{"line":755,"column":90,"offset":770},{"line":755,"column":732,"offset":784},3399,{"type":19,"value":786,"position":787}," (buys golden crosses, flips short on death crosses), ",{"start":788,"end":789},{"line":755,"column":732,"offset":784},{"line":755,"column":790,"offset":791},85,3453,{"type":14,"tagName":132,"properties":793,"children":794,"position":803},{},[795],{"type":19,"value":796,"position":797},"RSI Reversion",{"start":798,"end":801},{"line":755,"column":799,"offset":800},87,3455,{"line":755,"column":303,"offset":802},3468,{"start":804,"end":805},{"line":755,"column":790,"offset":791},{"line":755,"column":308,"offset":806},3470,{"type":19,"value":808,"position":809}," (buys oversold dips, exits on the bounce back to the middle), and ",{"start":810,"end":811},{"line":755,"column":308,"offset":806},{"line":755,"column":153,"offset":812},3537,{"type":14,"tagName":132,"properties":814,"children":815,"position":825},{},[816],{"type":19,"value":817,"position":818},"Breakout Brackets",{"start":819,"end":822},{"line":755,"column":820,"offset":821},171,3539,{"line":755,"column":823,"offset":824},188,3556,{"start":826,"end":827},{"line":755,"column":153,"offset":812},{"line":755,"column":828,"offset":829},190,3558,{"type":19,"value":831,"position":832}," (enters channel breakouts with stop, target, and trailing exits).",{"start":833,"end":834},{"line":755,"column":828,"offset":829},{"line":755,"column":835,"offset":836},256,3624,{"start":838,"end":840},{"line":755,"column":23,"offset":839},3369,{"line":755,"column":835,"offset":836},{"type":19,"value":56},{"type":14,"tagName":119,"properties":843,"children":844,"position":931},{},[845,861,866,880,886,901,908,925],{"type":14,"tagName":132,"properties":846,"children":847,"position":856},{},[848],{"type":19,"value":849,"position":850},"Indicators:",{"start":851,"end":854},{"line":852,"column":86,"offset":853},34,3629,{"line":852,"column":551,"offset":855},3640,{"start":857,"end":859},{"line":852,"column":68,"offset":858},3627,{"line":852,"column":763,"offset":860},3642,{"type":19,"value":766,"position":862},{"start":863,"end":864},{"line":852,"column":763,"offset":860},{"line":852,"column":90,"offset":865},3643,{"type":14,"tagName":132,"properties":867,"children":868,"position":876},{},[869],{"type":19,"value":870,"position":871},"RSI",{"start":872,"end":874},{"line":852,"column":543,"offset":873},3645,{"line":852,"column":146,"offset":875},3648,{"start":877,"end":878},{"line":852,"column":90,"offset":865},{"line":852,"column":224,"offset":879},3650,{"type":19,"value":881,"position":882}," (momentum oscillator with oversold and overbought bands), ",{"start":883,"end":884},{"line":852,"column":224,"offset":879},{"line":852,"column":790,"offset":885},3709,{"type":14,"tagName":132,"properties":887,"children":888,"position":896},{},[889],{"type":19,"value":775,"position":890},{"start":891,"end":893},{"line":852,"column":799,"offset":892},3711,{"line":852,"column":894,"offset":895},95,3719,{"start":897,"end":898},{"line":852,"column":790,"offset":885},{"line":852,"column":899,"offset":900},97,3721,{"type":19,"value":902,"position":903}," (fast and slow moving averages on the chart), and ",{"start":904,"end":905},{"line":852,"column":899,"offset":900},{"line":852,"column":906,"offset":907},148,3772,{"type":14,"tagName":132,"properties":909,"children":910,"position":920},{},[911],{"type":19,"value":912,"position":913},"EMA Trend Ribbon",{"start":914,"end":917},{"line":852,"column":915,"offset":916},150,3774,{"line":852,"column":918,"offset":919},166,3790,{"start":921,"end":922},{"line":852,"column":906,"offset":907},{"line":852,"column":923,"offset":924},168,3792,{"type":19,"value":926,"position":927}," (three EMAs that stack during trends).",{"start":928,"end":929},{"line":852,"column":923,"offset":924},{"line":852,"column":598,"offset":930},3831,{"start":932,"end":934},{"line":852,"column":23,"offset":933},3625,{"line":852,"column":598,"offset":930},{"type":19,"value":56},{"start":937,"end":938},{"line":755,"column":23,"offset":839},{"line":852,"column":598,"offset":930},{"type":19,"value":56},{"type":14,"tagName":15,"properties":941,"children":942,"position":973},{},[943,951,966],{"type":19,"value":944,"position":945},"Prefer an empty page? ",{"start":946,"end":949},{"line":947,"column":23,"offset":948},36,3833,{"line":947,"column":625,"offset":950},3855,{"type":14,"tagName":132,"properties":952,"children":953,"position":962},{},[954],{"type":19,"value":955,"position":956},"Blank script",{"start":957,"end":959},{"line":947,"column":658,"offset":958},3857,{"line":947,"column":960,"offset":961},37,3869,{"start":963,"end":964},{"line":947,"column":625,"offset":950},{"line":947,"column":231,"offset":965},3871,{"type":19,"value":967,"position":968}," starts you from nothing. To give you a feel for the language, here is the MA Cross indicator template, verbatim and in full:",{"start":969,"end":970},{"line":947,"column":231,"offset":965},{"line":947,"column":971,"offset":972},164,3996,{"start":974,"end":975},{"line":947,"column":23,"offset":948},{"line":947,"column":971,"offset":972},{"type":19,"value":56},{"type":14,"tagName":978,"properties":979,"children":980,"position":992},"pre",{},[981],{"type":14,"tagName":173,"properties":982,"children":983,"position":986},{},[984],{"type":19,"value":985},"//@version=3\ndefine(title=\"MA Cross\", position=\"onchart\", axis=true)\n\ntimeseries priceData = ohlcv(symbol=currentSymbol, exchange=currentExchange)\ntimeseries fastMa = sma(source=priceData.close, period=20)\ntimeseries slowMa = sma(source=priceData.close, period=50)\n\nplotLine(value=fastMa, width=1, colors=[\"#22c55e\"], label=[\"Fast MA\"], desc=[\"Fast moving average\"])\nplotLine(value=slowMa, width=1, colors=[\"#ef4444\"], label=[\"Slow MA\"], desc=[\"Slow moving average\"])\n",{"start":987,"end":990},{"line":988,"column":23,"offset":989},38,3998,{"line":248,"column":87,"offset":991},4473,{"start":993,"end":994},{"line":988,"column":23,"offset":989},{"line":248,"column":87,"offset":991},{"type":19,"value":56},{"type":14,"tagName":78,"properties":997,"children":999,"position":1008},{"id":998},"strategies-and-the-strategy-tester",[1000],{"type":19,"value":1001,"position":1002},"Strategies and the Strategy Tester",{"start":1003,"end":1006},{"line":1004,"column":87,"offset":1005},50,4478,{"line":1004,"column":988,"offset":1007},4512,{"start":1009,"end":1011},{"line":1004,"column":23,"offset":1010},4475,{"line":1004,"column":988,"offset":1007},{"type":19,"value":56},{"type":14,"tagName":15,"properties":1014,"children":1015,"position":1120},{},[1016,1025,1041,1048,1065,1072,1089,1096,1113],{"type":19,"value":1017,"position":1018},"A strategy is a script that places simulated trades instead of just drawing lines, and for strategies the Run button becomes ",{"start":1019,"end":1022},{"line":1020,"column":23,"offset":1021},52,4514,{"line":1020,"column":1023,"offset":1024},126,4639,{"type":14,"tagName":132,"properties":1026,"children":1027,"position":1036},{},[1028],{"type":19,"value":1029,"position":1030},"Backtest",{"start":1031,"end":1034},{"line":1020,"column":1032,"offset":1033},128,4641,{"line":1020,"column":452,"offset":1035},4649,{"start":1037,"end":1038},{"line":1020,"column":1023,"offset":1024},{"line":1020,"column":1039,"offset":1040},138,4651,{"type":19,"value":1042,"position":1043},". Run one and the chart marks every entry and exit, while a dock under the chart summarizes the result (net profit, win rate, drawdown, trade count) and expands into the full Strategy Tester: an ",{"start":1044,"end":1045},{"line":1020,"column":1039,"offset":1040},{"line":1020,"column":1046,"offset":1047},333,4846,{"type":14,"tagName":132,"properties":1049,"children":1050,"position":1060},{},[1051],{"type":19,"value":1052,"position":1053},"Overview",{"start":1054,"end":1057},{"line":1020,"column":1055,"offset":1056},335,4848,{"line":1020,"column":1058,"offset":1059},343,4856,{"start":1061,"end":1062},{"line":1020,"column":1046,"offset":1047},{"line":1020,"column":1063,"offset":1064},345,4858,{"type":19,"value":1066,"position":1067}," tab with the equity curve, a drawdown lane, and a buy-and-hold comparison, plus ",{"start":1068,"end":1069},{"line":1020,"column":1063,"offset":1064},{"line":1020,"column":1070,"offset":1071},426,4939,{"type":14,"tagName":132,"properties":1073,"children":1074,"position":1084},{},[1075],{"type":19,"value":1076,"position":1077},"Performance",{"start":1078,"end":1081},{"line":1020,"column":1079,"offset":1080},428,4941,{"line":1020,"column":1082,"offset":1083},439,4952,{"start":1085,"end":1086},{"line":1020,"column":1070,"offset":1071},{"line":1020,"column":1087,"offset":1088},441,4954,{"type":19,"value":1090,"position":1091}," and ",{"start":1092,"end":1093},{"line":1020,"column":1087,"offset":1088},{"line":1020,"column":1094,"offset":1095},446,4959,{"type":14,"tagName":132,"properties":1097,"children":1098,"position":1108},{},[1099],{"type":19,"value":1100,"position":1101},"Trades",{"start":1102,"end":1105},{"line":1020,"column":1103,"offset":1104},448,4961,{"line":1020,"column":1106,"offset":1107},454,4967,{"start":1109,"end":1110},{"line":1020,"column":1094,"offset":1095},{"line":1020,"column":1111,"offset":1112},456,4969,{"type":19,"value":1114,"position":1115}," tabs for the detailed numbers and the trade-by-trade list. Each strategy on the chart keeps its own markers and its own eye toggle (hiding a strategy hides its plots and markers together), and with two or more strategies running you can open compare mode to see their normalized equity curves side by side.",{"start":1116,"end":1117},{"line":1020,"column":1111,"offset":1112},{"line":1020,"column":1118,"offset":1119},763,5276,{"start":1121,"end":1122},{"line":1020,"column":23,"offset":1021},{"line":1020,"column":1118,"offset":1119},{"type":19,"value":56},{"type":14,"tagName":78,"properties":1125,"children":1127,"position":1135},{"id":1126},"prepare-a-script-for-the-community",[1128],{"type":19,"value":1129,"position":1130},"Prepare a script for the community",{"start":1131,"end":1133},{"line":677,"column":87,"offset":1132},5281,{"line":677,"column":988,"offset":1134},5315,{"start":1136,"end":1138},{"line":677,"column":23,"offset":1137},5278,{"line":677,"column":988,"offset":1134},{"type":19,"value":56},{"type":14,"tagName":15,"properties":1141,"children":1142,"position":1150},{},[1143],{"type":19,"value":1144,"position":1145},"When you publish, kScript gives you the tools to make a script professional and discoverable:",{"start":1146,"end":1148},{"line":685,"column":23,"offset":1147},5317,{"line":685,"column":291,"offset":1149},5410,{"start":1151,"end":1152},{"line":685,"column":23,"offset":1147},{"line":685,"column":291,"offset":1149},{"type":19,"value":56},{"type":14,"tagName":114,"properties":1155,"children":1156,"position":1442},{},[1157,1158,1188,1189,1286,1287,1317,1318,1411,1412,1441],{"type":19,"value":56},{"type":14,"tagName":119,"properties":1159,"children":1160,"position":1184},{},[1161,1177],{"type":14,"tagName":132,"properties":1162,"children":1163,"position":1172},{},[1164],{"type":19,"value":1165,"position":1166},"Thumbnails:",{"start":1167,"end":1170},{"line":1168,"column":86,"offset":1169},58,5416,{"line":1168,"column":551,"offset":1171},5427,{"start":1173,"end":1175},{"line":1168,"column":68,"offset":1174},5414,{"line":1168,"column":763,"offset":1176},5429,{"type":19,"value":1178,"position":1179}," Upload a custom image (PNG or JPG up to 2MB) to provide a high-quality visual preview of the indicator.",{"start":1180,"end":1181},{"line":1168,"column":763,"offset":1176},{"line":1168,"column":1182,"offset":1183},122,5533,{"start":1185,"end":1187},{"line":1168,"column":23,"offset":1186},5412,{"line":1168,"column":1182,"offset":1183},{"type":19,"value":56},{"type":14,"tagName":119,"properties":1190,"children":1191,"position":1282},{},[1192,1208,1214,1231,1236,1252,1259,1275],{"type":14,"tagName":132,"properties":1193,"children":1194,"position":1203},{},[1195],{"type":19,"value":1196,"position":1197},"Categories:",{"start":1198,"end":1201},{"line":1199,"column":86,"offset":1200},59,5538,{"line":1199,"column":551,"offset":1202},5549,{"start":1204,"end":1206},{"line":1199,"column":68,"offset":1205},5536,{"line":1199,"column":763,"offset":1207},5551,{"type":19,"value":1209,"position":1210}," Assign your script to up to three categories—such as ",{"start":1211,"end":1212},{"line":1199,"column":763,"offset":1207},{"line":1199,"column":371,"offset":1213},5605,{"type":14,"tagName":132,"properties":1215,"children":1216,"position":1226},{},[1217],{"type":19,"value":1218,"position":1219},"Trend Indicators",{"start":1220,"end":1223},{"line":1199,"column":1221,"offset":1222},74,5607,{"line":1199,"column":1224,"offset":1225},90,5623,{"start":1227,"end":1228},{"line":1199,"column":371,"offset":1213},{"line":1199,"column":1229,"offset":1230},92,5625,{"type":19,"value":478,"position":1232},{"start":1233,"end":1234},{"line":1199,"column":1229,"offset":1230},{"line":1199,"column":291,"offset":1235},5627,{"type":14,"tagName":132,"properties":1237,"children":1238,"position":1247},{},[1239],{"type":19,"value":1240,"position":1241},"Orderflow Analysis",{"start":1242,"end":1244},{"line":1199,"column":300,"offset":1243},5629,{"line":1199,"column":1245,"offset":1246},114,5647,{"start":1248,"end":1249},{"line":1199,"column":291,"offset":1235},{"line":1199,"column":1250,"offset":1251},116,5649,{"type":19,"value":1253,"position":1254},", or ",{"start":1255,"end":1256},{"line":1199,"column":1250,"offset":1251},{"line":1199,"column":1257,"offset":1258},121,5654,{"type":14,"tagName":132,"properties":1260,"children":1261,"position":1270},{},[1262],{"type":19,"value":1263,"position":1264},"Market Microstructure",{"start":1265,"end":1267},{"line":1199,"column":435,"offset":1266},5656,{"line":1199,"column":1268,"offset":1269},144,5677,{"start":1271,"end":1272},{"line":1199,"column":1257,"offset":1258},{"line":1199,"column":1273,"offset":1274},146,5679,{"type":19,"value":1276,"position":1277},"—to help users understand its purpose.",{"start":1278,"end":1279},{"line":1199,"column":1273,"offset":1274},{"line":1199,"column":1280,"offset":1281},184,5717,{"start":1283,"end":1285},{"line":1199,"column":23,"offset":1284},5534,{"line":1199,"column":1280,"offset":1281},{"type":19,"value":56},{"type":14,"tagName":119,"properties":1288,"children":1289,"position":1313},{},[1290,1306],{"type":14,"tagName":132,"properties":1291,"children":1292,"position":1301},{},[1293],{"type":19,"value":1294,"position":1295},"Rich Description:",{"start":1296,"end":1299},{"line":1297,"column":86,"offset":1298},60,5722,{"line":1297,"column":141,"offset":1300},5739,{"start":1302,"end":1304},{"line":1297,"column":68,"offset":1303},5720,{"line":1297,"column":146,"offset":1305},5741,{"type":19,"value":1307,"position":1308}," Use the built-in text editor to explain the logic and use cases.",{"start":1309,"end":1310},{"line":1297,"column":146,"offset":1305},{"line":1297,"column":1311,"offset":1312},89,5806,{"start":1314,"end":1316},{"line":1297,"column":23,"offset":1315},5718,{"line":1297,"column":1311,"offset":1312},{"type":19,"value":56},{"type":14,"tagName":119,"properties":1319,"children":1320,"position":1407},{},[1321,1337,1343,1359,1365,1379,1385,1400],{"type":14,"tagName":132,"properties":1322,"children":1323,"position":1332},{},[1324],{"type":19,"value":1325,"position":1326},"Sharing mode:",{"start":1327,"end":1330},{"line":1328,"column":86,"offset":1329},61,5811,{"line":1328,"column":763,"offset":1331},5824,{"start":1333,"end":1335},{"line":1328,"column":68,"offset":1334},5809,{"line":1328,"column":421,"offset":1336},5826,{"type":19,"value":1338,"position":1339}," Pick ",{"start":1340,"end":1341},{"line":1328,"column":421,"offset":1336},{"line":1328,"column":224,"offset":1342},5832,{"type":14,"tagName":132,"properties":1344,"children":1345,"position":1355},{},[1346],{"type":19,"value":1347,"position":1348},"Private",{"start":1349,"end":1352},{"line":1328,"column":1350,"offset":1351},28,5834,{"line":1328,"column":1353,"offset":1354},35,5841,{"start":1356,"end":1357},{"line":1328,"column":224,"offset":1342},{"line":1328,"column":960,"offset":1358},5843,{"type":19,"value":1360,"position":1361}," (only you can use it, source stays protected), ",{"start":1362,"end":1363},{"line":1328,"column":960,"offset":1358},{"line":1328,"column":790,"offset":1364},5891,{"type":14,"tagName":132,"properties":1366,"children":1367,"position":1375},{},[1368],{"type":19,"value":1369,"position":1370},"Public hidden",{"start":1371,"end":1373},{"line":1328,"column":799,"offset":1372},5893,{"line":1328,"column":303,"offset":1374},5906,{"start":1376,"end":1377},{"line":1328,"column":790,"offset":1364},{"line":1328,"column":308,"offset":1378},5908,{"type":19,"value":1380,"position":1381}," (anyone can add it, source stays hidden), or ",{"start":1382,"end":1383},{"line":1328,"column":308,"offset":1378},{"line":1328,"column":906,"offset":1384},5954,{"type":14,"tagName":132,"properties":1386,"children":1387,"position":1395},{},[1388],{"type":19,"value":1389,"position":1390},"Public open",{"start":1391,"end":1393},{"line":1328,"column":915,"offset":1392},5956,{"line":1328,"column":639,"offset":1394},5967,{"start":1396,"end":1397},{"line":1328,"column":906,"offset":1384},{"line":1328,"column":1398,"offset":1399},163,5969,{"type":19,"value":1401,"position":1402}," (anyone can view or fork it).",{"start":1403,"end":1404},{"line":1328,"column":1398,"offset":1399},{"line":1328,"column":1405,"offset":1406},193,5999,{"start":1408,"end":1410},{"line":1328,"column":23,"offset":1409},5807,{"line":1328,"column":1405,"offset":1406},{"type":19,"value":56},{"type":14,"tagName":119,"properties":1413,"children":1414,"position":1437},{},[1415,1430],{"type":14,"tagName":132,"properties":1416,"children":1417,"position":1425},{},[1418],{"type":19,"value":1419,"position":1420},"kScore:",{"start":1421,"end":1423},{"line":719,"column":86,"offset":1422},6004,{"line":719,"column":208,"offset":1424},6011,{"start":1426,"end":1428},{"line":719,"column":68,"offset":1427},6002,{"line":719,"column":217,"offset":1429},6013,{"type":19,"value":1431,"position":1432}," A fair evaluation of each published indicator, calculated internally via a proprietary formula to measure popularity and usage.",{"start":1433,"end":1434},{"line":719,"column":217,"offset":1429},{"line":719,"column":1435,"offset":1436},142,6141,{"start":1438,"end":1440},{"line":719,"column":23,"offset":1439},6000,{"line":719,"column":1435,"offset":1436},{"type":19,"value":56},{"start":1443,"end":1444},{"line":1168,"column":23,"offset":1186},{"line":719,"column":1435,"offset":1436},{"type":19,"value":56},{"type":14,"tagName":78,"properties":1447,"children":1449,"position":1458},{"id":1448},"community-scripts",[1450],{"type":19,"value":1451,"position":1452},"Community scripts",{"start":1453,"end":1456},{"line":1454,"column":87,"offset":1455},64,6146,{"line":1454,"column":543,"offset":1457},6163,{"start":1459,"end":1461},{"line":1454,"column":23,"offset":1460},6143,{"line":1454,"column":543,"offset":1457},{"type":19,"value":56},{"type":14,"tagName":15,"properties":1464,"children":1465,"position":1517},{},[1466,1474,1489,1496,1510],{"type":19,"value":1467,"position":1468},"You do not have to write anything to benefit from kScript. Open ",{"start":1469,"end":1472},{"line":1470,"column":23,"offset":1471},66,6165,{"line":1470,"column":688,"offset":1473},6229,{"type":14,"tagName":132,"properties":1475,"children":1476,"position":1484},{},[1477],{"type":19,"value":214,"position":1478},{"start":1479,"end":1481},{"line":1470,"column":693,"offset":1480},6231,{"line":1470,"column":1482,"offset":1483},77,6241,{"start":1485,"end":1486},{"line":1470,"column":688,"offset":1473},{"line":1470,"column":1487,"offset":1488},79,6243,{"type":19,"value":1490,"position":1491}," in the top bar and switch the filter to ",{"start":1492,"end":1493},{"line":1470,"column":1487,"offset":1488},{"line":1470,"column":1494,"offset":1495},120,6284,{"type":14,"tagName":132,"properties":1497,"children":1498,"position":1506},{},[1499],{"type":19,"value":1500,"position":1501},"Community only",{"start":1502,"end":1504},{"line":1470,"column":1182,"offset":1503},6286,{"line":1470,"column":452,"offset":1505},6300,{"start":1507,"end":1508},{"line":1470,"column":1494,"offset":1495},{"line":1470,"column":1039,"offset":1509},6302,{"type":19,"value":1511,"position":1512},": every script other traders have published is there, searchable and sortable, with author profiles and a verified-scripter badge. One click adds a script to your chart.",{"start":1513,"end":1514},{"line":1470,"column":1039,"offset":1509},{"line":1470,"column":1515,"offset":1516},307,6471,{"start":1518,"end":1519},{"line":1470,"column":23,"offset":1471},{"line":1470,"column":1515,"offset":1516},{"type":19,"value":56},{"type":14,"tagName":15,"properties":1522,"children":1523,"position":1555},{},[1524,1532,1548],{"type":19,"value":1525,"position":1526},"Open-source community scripts go further: open one in the editor to read exactly how it works, and ",{"start":1527,"end":1530},{"line":1528,"column":23,"offset":1529},68,6473,{"line":1528,"column":303,"offset":1531},6572,{"type":14,"tagName":132,"properties":1533,"children":1534,"position":1543},{},[1535],{"type":19,"value":1536,"position":1537},"Fork",{"start":1538,"end":1540},{"line":1528,"column":308,"offset":1539},6574,{"line":1528,"column":1541,"offset":1542},106,6578,{"start":1544,"end":1545},{"line":1528,"column":303,"offset":1531},{"line":1528,"column":1546,"offset":1547},108,6580,{"type":19,"value":1549,"position":1550}," it to get your own editable copy, tweak a period, restyle a plot, or build something new on top. Source-protected scripts can be added and used but not forked. OpenMarket also maintains a collection of popular TradingView scripts converted to kScript; they run natively, like any other script.",{"start":1551,"end":1552},{"line":1528,"column":1546,"offset":1547},{"line":1528,"column":1553,"offset":1554},402,6874,{"start":1556,"end":1557},{"line":1528,"column":23,"offset":1529},{"line":1528,"column":1553,"offset":1554},{"type":19,"value":56},{"type":14,"tagName":15,"properties":1560,"children":1561,"position":1640},{},[1562,1570,1585,1592,1609,1616,1634],{"type":19,"value":1563,"position":1564},"Save high-value community indicators to your ",{"start":1565,"end":1568},{"line":1566,"column":23,"offset":1567},70,6876,{"line":1566,"column":243,"offset":1569},6921,{"type":14,"tagName":132,"properties":1571,"children":1572,"position":1581},{},[1573],{"type":19,"value":1574,"position":1575},"Favorites",{"start":1576,"end":1578},{"line":1566,"column":248,"offset":1577},6923,{"line":1566,"column":1579,"offset":1580},57,6932,{"start":1582,"end":1583},{"line":1566,"column":243,"offset":1569},{"line":1566,"column":1199,"offset":1584},6934,{"type":19,"value":1586,"position":1587}," for instant access on any chart, and use the ",{"start":1588,"end":1589},{"line":1566,"column":1199,"offset":1584},{"line":1566,"column":1590,"offset":1591},105,6980,{"type":14,"tagName":132,"properties":1593,"children":1594,"position":1604},{},[1595],{"type":19,"value":1596,"position":1597},"My Scripts",{"start":1598,"end":1601},{"line":1566,"column":1599,"offset":1600},107,6982,{"line":1566,"column":1602,"offset":1603},117,6992,{"start":1605,"end":1606},{"line":1566,"column":1590,"offset":1591},{"line":1566,"column":1607,"offset":1608},119,6994,{"type":19,"value":1610,"position":1611}," view to reach your personal drafts, published tools, and forked code in one place. For a curated tour of community indicators and ready-made bundles, see the ",{"start":1612,"end":1613},{"line":1566,"column":1607,"offset":1608},{"line":1566,"column":1614,"offset":1615},278,7153,{"type":14,"tagName":29,"properties":1617,"children":1619,"position":1629},{"href":1618},"/learn/core/hub/k-script-hub",[1620],{"type":19,"value":1621,"position":1622},"kScript Hub",{"start":1623,"end":1626},{"line":1566,"column":1624,"offset":1625},279,7154,{"line":1566,"column":1627,"offset":1628},290,7165,{"start":1630,"end":1631},{"line":1566,"column":1614,"offset":1615},{"line":1566,"column":1632,"offset":1633},321,7196,{"type":19,"value":47,"position":1635},{"start":1636,"end":1637},{"line":1566,"column":1632,"offset":1633},{"line":1566,"column":1638,"offset":1639},322,7197,{"start":1641,"end":1642},{"line":1566,"column":23,"offset":1567},{"line":1566,"column":1638,"offset":1639},{"type":19,"value":56},{"type":14,"tagName":78,"properties":1645,"children":1647,"position":1655},{"id":1646},"limits",[1648],{"type":19,"value":1649,"position":1650},"Limits",{"start":1651,"end":1653},{"line":371,"column":87,"offset":1652},7202,{"line":371,"column":167,"offset":1654},7208,{"start":1656,"end":1658},{"line":371,"column":23,"offset":1657},7199,{"line":371,"column":167,"offset":1654},{"type":19,"value":56},{"type":14,"tagName":15,"properties":1661,"children":1662,"position":1671},{},[1663],{"type":19,"value":1664,"position":1665},"Private scripts are a Plus feature: the free plan includes none, Plus lets you keep up to 20 scripts private.",{"start":1666,"end":1668},{"line":1221,"column":23,"offset":1667},7210,{"line":1221,"column":1669,"offset":1670},110,7319,{"start":1672,"end":1673},{"line":1221,"column":23,"offset":1667},{"line":1221,"column":1669,"offset":1670},{"type":19,"value":56},{"type":14,"tagName":1676,"properties":1677,"children":1679},"hint",{"type":1678},"info",[1680,1701],{"type":14,"tagName":15,"properties":1681,"children":1682,"position":1698},{},[1683],{"type":14,"tagName":132,"properties":1684,"children":1685,"position":1693},{},[1686],{"type":19,"value":1687,"position":1688},"Where to go next",{"start":1689,"end":1691},{"line":1487,"column":68,"offset":1690},7349,{"line":1487,"column":90,"offset":1692},7365,{"start":1694,"end":1696},{"line":1487,"column":23,"offset":1695},7347,{"line":1487,"column":543,"offset":1697},7367,{"start":1699,"end":1700},{"line":1487,"column":23,"offset":1695},{"line":1487,"column":543,"offset":1697},{"type":14,"tagName":15,"properties":1702,"children":1703,"position":1712},{},[1704],{"type":19,"value":1705,"position":1706},"Start from a template, change one number, and press Run. When you are ready for the full language, the book icon in the editor opens the kScript reference.",{"start":1707,"end":1709},{"line":191,"column":23,"offset":1708},7369,{"line":191,"column":1710,"offset":1711},156,7524,{"start":1713,"end":1714},{"line":191,"column":23,"offset":1708},{"line":191,"column":1710,"offset":1711},{"quirksMode":1716},false,{"start":1718,"end":1719},{"line":23,"column":23,"offset":24},{"line":790,"column":23,"offset":1720},7541,1784888015236]