[{"data":1,"prerenderedAt":864},["ShallowReactive",2],{"kscript:strategies/examples-spot":3},{"slug":4,"filePath":5,"frontmatter":6,"rawMarkdown":9,"tree":10},"strategies/examples-spot","strategies/examples-spot.md",{"title":7,"description":8},"Examples: Spot Strategies","Three complete spot strategies you can paste and run, from a two-line trend follower to bracketed exits, each one an executed example from this documentation's probe suite.","---\ntitle: \"Examples: Spot Strategies\"\ndescription: Three complete spot strategies you can paste and run, from a two-line trend follower to bracketed exits, each one an executed example from this documentation's probe suite.\n---\n\nThree complete, runnable spot strategies. Each one is small enough to read in a minute, ships as an executed example in this documentation's probe suite, and makes a good starting skeleton for your own script. Paste any of them into the editor and press Run.\n\n## Moving average cross\n\nThe smallest useful strategy: go long when the fast EMA crosses above the slow one, flatten when it crosses back under. One entry rule, one exit rule, nothing else.\n\n```kscript\n//@version=2\nstrategy(title=\"MA Cross Strategy\", position=\"onchart\", axis=true, initialCapital=10000, qtyType=\"percentOfEquity\", qtyValue=50, commissionPercent=0.05, slippageBps=2)\n\ntimeseries bars = ohlcv(symbol=currentSymbol, exchange=currentExchange)\ntimeseries fast = ema(source=bars.close, period=9)\ntimeseries slow = ema(source=bars.close, period=21)\n\nif (crossover(fast, slow)) {\n  strategy.entry(\"L\", \"long\")\n}\nif (crossunder(fast, slow)) {\n  strategy.closeAll()\n}\n\nplotLine(value=fast, width=1, colors=[\"#4f8cff\"], label=[\"Fast EMA\"], desc=[\"9-period EMA of close\"])\nplotLine(value=slow, width=1, colors=[\"#f59e0b\"], label=[\"Slow EMA\"], desc=[\"21-period EMA of close\"])\n```\n\nWhat to notice: `percentOfEquity` sizing keeps position size proportional as equity compounds, and `commissionPercent` plus `slippageBps` make the backtest pay realistic costs on every fill.\n\n## RSI reversion with a protective stop\n\nBuys oversold dips and adds a protective stop under every entry, so a dip that keeps dipping gets cut instead of riding to the bottom.\n\n```kscript\n//@version=2\nstrategy(title=\"RSI Reversion\", position=\"onchart\", axis=true, initialCapital=10000, qtyType=\"percentOfEquity\", qtyValue=25, commissionPercent=0.05, slippageBps=2)\n\ntimeseries bars = ohlcv(symbol=currentSymbol, exchange=currentExchange)\ntimeseries r = rsi(source=bars.close, period=14)\ntimeseries oversold = 30\ntimeseries recovered = 55\nvar lastClose = bars.close\n\nif (crossover(r, oversold)) {\n  strategy.entry(\"Dip\", \"long\")\n}\nif (strategy.positionSize() > 0) {\n  strategy.exit(\"Protect\", fromEntry=\"Dip\", stop=lastClose * 0.96)\n}\nif (crossover(r, recovered)) {\n  strategy.closeAll()\n}\n\nplotLine(value=bars.close, width=1, colors=[\"#94a3b8\"], label=[\"Close\"], desc=[\"Close price\"])\n```\n\nWhat to notice: `strategy.exit` with `fromEntry` scopes the stop to the named entry, and the stop follows `lastClose` at placement time. The [first strategy tutorial](first-strategy) builds this script up line by line.\n\n## Trend entries with bracket exits\n\nA crossover entry bracketed by both a stop and a take-profit limit. Whichever side the market touches first closes the trade and cancels the other side.\n\n```kscript\n//@version=2\nstrategy(title=\"Trend with Brackets\", position=\"onchart\", axis=true, initialCapital=10000, qtyType=\"fixed\", qtyValue=1, pyramiding=1, fillModel=\"pathHeuristic\")\n\ntimeseries bars = ohlcv(symbol=currentSymbol, exchange=currentExchange)\ntimeseries fast = sma(source=bars.close, period=5)\ntimeseries slow = sma(source=bars.close, period=20)\nvar lastClose = bars.close\n\nif (crossover(fast, slow)) {\n  strategy.entry(\"Trend\", \"long\")\n}\nif (strategy.positionSize() > 0) {\n  strategy.exit(\"Protect\", fromEntry=\"Trend\", stop=lastClose * 0.97, limit=lastClose * 1.05)\n}\n\nplotLine(value=fast, width=1, colors=[\"#4f8cff\"], label=[\"Fast SMA\"], desc=[\"5-period SMA of close\"])\nplotLine(value=slow, width=1, colors=[\"#8b5cf6\"], label=[\"Slow SMA\"], desc=[\"20-period SMA of close\"])\n```\n\nWhat to notice: the stop and limit placed through one `strategy.exit` call form an OCA pair. How contested bars resolve (both sides touched in one bar) is exactly what the [fill simulation](fill-simulation) page explains.\n",{"type":11,"children":12,"data":857,"position":859},"root",[13,31,33,52,53,68,69,224,225,300,301,318,319,334,335,513,514,613,614,631,632,647,648,798,799],{"type":14,"tagName":15,"properties":16,"children":17,"position":28},"element","p",{},[18],{"type":19,"value":20,"position":21},"text","Three complete, runnable spot strategies. Each one is small enough to read in a minute, ships as an executed example in this documentation's probe suite, and makes a good starting skeleton for your own script. Paste any of them into the editor and press Run.",{"start":22,"end":25},{"line":23,"column":23,"offset":24},1,0,{"line":23,"column":26,"offset":27},259,258,{"start":29,"end":30},{"line":23,"column":23,"offset":24},{"line":23,"column":26,"offset":27},{"type":19,"value":32},"\n",{"type":14,"tagName":34,"properties":35,"children":37,"position":48},"h2",{"id":36},"moving-average-cross",[38],{"type":19,"value":39,"position":40},"Moving average cross",{"start":41,"end":45},{"line":42,"column":43,"offset":44},3,4,263,{"line":42,"column":46,"offset":47},24,283,{"start":49,"end":51},{"line":42,"column":23,"offset":50},260,{"line":42,"column":46,"offset":47},{"type":19,"value":32},{"type":14,"tagName":15,"properties":54,"children":55,"position":65},{},[56],{"type":19,"value":57,"position":58},"The smallest useful strategy: go long when the fast EMA crosses above the slow one, flatten when it crosses back under. One entry rule, one exit rule, nothing else.",{"start":59,"end":62},{"line":60,"column":23,"offset":61},5,285,{"line":60,"column":63,"offset":64},165,449,{"start":66,"end":67},{"line":60,"column":23,"offset":61},{"line":60,"column":63,"offset":64},{"type":19,"value":32},{"type":11,"children":70},[71],{"type":14,"tagName":72,"properties":73,"children":77,"data":-1},"pre",{"class":74,"style":75,"tabindex":76},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0",[78],{"type":14,"tagName":79,"properties":80,"children":81},"code",{},[82,92,93,101,102,110,111,119,120,128,129,137,138,145,146,154,155,163,164,172,173,181,182,190,191,198,199,206,207,215,216],{"type":14,"tagName":83,"properties":84,"children":86},"span",{"class":85},"line",[87],{"type":14,"tagName":83,"properties":88,"children":89},{},[90],{"type":19,"value":91},"//@version=2",{"type":19,"value":32},{"type":14,"tagName":83,"properties":94,"children":95},{"class":85},[96],{"type":14,"tagName":83,"properties":97,"children":98},{},[99],{"type":19,"value":100},"strategy(title=\"MA Cross Strategy\", position=\"onchart\", axis=true, initialCapital=10000, qtyType=\"percentOfEquity\", qtyValue=50, commissionPercent=0.05, slippageBps=2)",{"type":19,"value":32},{"type":14,"tagName":83,"properties":103,"children":104},{"class":85},[105],{"type":14,"tagName":83,"properties":106,"children":107},{},[108],{"type":19,"value":109},"",{"type":19,"value":32},{"type":14,"tagName":83,"properties":112,"children":113},{"class":85},[114],{"type":14,"tagName":83,"properties":115,"children":116},{},[117],{"type":19,"value":118},"timeseries bars = ohlcv(symbol=currentSymbol, exchange=currentExchange)",{"type":19,"value":32},{"type":14,"tagName":83,"properties":121,"children":122},{"class":85},[123],{"type":14,"tagName":83,"properties":124,"children":125},{},[126],{"type":19,"value":127},"timeseries fast = ema(source=bars.close, period=9)",{"type":19,"value":32},{"type":14,"tagName":83,"properties":130,"children":131},{"class":85},[132],{"type":14,"tagName":83,"properties":133,"children":134},{},[135],{"type":19,"value":136},"timeseries slow = ema(source=bars.close, period=21)",{"type":19,"value":32},{"type":14,"tagName":83,"properties":139,"children":140},{"class":85},[141],{"type":14,"tagName":83,"properties":142,"children":143},{},[144],{"type":19,"value":109},{"type":19,"value":32},{"type":14,"tagName":83,"properties":147,"children":148},{"class":85},[149],{"type":14,"tagName":83,"properties":150,"children":151},{},[152],{"type":19,"value":153},"if (crossover(fast, slow)) {",{"type":19,"value":32},{"type":14,"tagName":83,"properties":156,"children":157},{"class":85},[158],{"type":14,"tagName":83,"properties":159,"children":160},{},[161],{"type":19,"value":162},"  strategy.entry(\"L\", \"long\")",{"type":19,"value":32},{"type":14,"tagName":83,"properties":165,"children":166},{"class":85},[167],{"type":14,"tagName":83,"properties":168,"children":169},{},[170],{"type":19,"value":171},"}",{"type":19,"value":32},{"type":14,"tagName":83,"properties":174,"children":175},{"class":85},[176],{"type":14,"tagName":83,"properties":177,"children":178},{},[179],{"type":19,"value":180},"if (crossunder(fast, slow)) {",{"type":19,"value":32},{"type":14,"tagName":83,"properties":183,"children":184},{"class":85},[185],{"type":14,"tagName":83,"properties":186,"children":187},{},[188],{"type":19,"value":189},"  strategy.closeAll()",{"type":19,"value":32},{"type":14,"tagName":83,"properties":192,"children":193},{"class":85},[194],{"type":14,"tagName":83,"properties":195,"children":196},{},[197],{"type":19,"value":171},{"type":19,"value":32},{"type":14,"tagName":83,"properties":200,"children":201},{"class":85},[202],{"type":14,"tagName":83,"properties":203,"children":204},{},[205],{"type":19,"value":109},{"type":19,"value":32},{"type":14,"tagName":83,"properties":208,"children":209},{"class":85},[210],{"type":14,"tagName":83,"properties":211,"children":212},{},[213],{"type":19,"value":214},"plotLine(value=fast, width=1, colors=[\"#4f8cff\"], label=[\"Fast EMA\"], desc=[\"9-period EMA of close\"])",{"type":19,"value":32},{"type":14,"tagName":83,"properties":217,"children":218},{"class":85},[219],{"type":14,"tagName":83,"properties":220,"children":221},{},[222],{"type":19,"value":223},"plotLine(value=slow, width=1, colors=[\"#f59e0b\"], label=[\"Slow EMA\"], desc=[\"21-period EMA of close\"])",{"type":19,"value":32},{"type":14,"tagName":15,"properties":226,"children":227,"position":297},{},[228,237,250,257,270,277,290],{"type":19,"value":229,"position":230},"What to notice: ",{"start":231,"end":234},{"line":232,"column":23,"offset":233},26,1146,{"line":232,"column":235,"offset":236},17,1162,{"type":14,"tagName":79,"properties":238,"children":239,"position":247},{},[240],{"type":19,"value":241,"position":242},"percentOfEquity",{"start":243,"end":244},{"line":232,"column":235,"offset":236},{"line":232,"column":245,"offset":246},34,1179,{"start":248,"end":249},{"line":232,"column":235,"offset":236},{"line":232,"column":245,"offset":246},{"type":19,"value":251,"position":252}," sizing keeps position size proportional as equity compounds, and ",{"start":253,"end":254},{"line":232,"column":245,"offset":246},{"line":232,"column":255,"offset":256},100,1245,{"type":14,"tagName":79,"properties":258,"children":259,"position":267},{},[260],{"type":19,"value":261,"position":262},"commissionPercent",{"start":263,"end":264},{"line":232,"column":255,"offset":256},{"line":232,"column":265,"offset":266},119,1264,{"start":268,"end":269},{"line":232,"column":255,"offset":256},{"line":232,"column":265,"offset":266},{"type":19,"value":271,"position":272}," plus ",{"start":273,"end":274},{"line":232,"column":265,"offset":266},{"line":232,"column":275,"offset":276},125,1270,{"type":14,"tagName":79,"properties":278,"children":279,"position":287},{},[280],{"type":19,"value":281,"position":282},"slippageBps",{"start":283,"end":284},{"line":232,"column":275,"offset":276},{"line":232,"column":285,"offset":286},138,1283,{"start":288,"end":289},{"line":232,"column":275,"offset":276},{"line":232,"column":285,"offset":286},{"type":19,"value":291,"position":292}," make the backtest pay realistic costs on every fill.",{"start":293,"end":294},{"line":232,"column":285,"offset":286},{"line":232,"column":295,"offset":296},191,1336,{"start":298,"end":299},{"line":232,"column":23,"offset":233},{"line":232,"column":295,"offset":296},{"type":19,"value":32},{"type":14,"tagName":34,"properties":302,"children":304,"position":314},{"id":303},"rsi-reversion-with-a-protective-stop",[305],{"type":19,"value":306,"position":307},"RSI reversion with a protective stop",{"start":308,"end":311},{"line":309,"column":43,"offset":310},28,1341,{"line":309,"column":312,"offset":313},40,1377,{"start":315,"end":317},{"line":309,"column":23,"offset":316},1338,{"line":309,"column":312,"offset":313},{"type":19,"value":32},{"type":14,"tagName":15,"properties":320,"children":321,"position":331},{},[322],{"type":19,"value":323,"position":324},"Buys oversold dips and adds a protective stop under every entry, so a dip that keeps dipping gets cut instead of riding to the bottom.",{"start":325,"end":328},{"line":326,"column":23,"offset":327},30,1379,{"line":326,"column":329,"offset":330},135,1513,{"start":332,"end":333},{"line":326,"column":23,"offset":327},{"line":326,"column":329,"offset":330},{"type":19,"value":32},{"type":11,"children":336},[337],{"type":14,"tagName":72,"properties":338,"children":339,"data":-1},{"class":74,"style":75,"tabindex":76},[340],{"type":14,"tagName":79,"properties":341,"children":342},{},[343,350,351,359,360,367,368,375,376,384,385,393,394,402,403,411,412,419,420,428,429,437,438,445,446,454,455,463,464,471,472,480,481,488,489,496,497,504,505],{"type":14,"tagName":83,"properties":344,"children":345},{"class":85},[346],{"type":14,"tagName":83,"properties":347,"children":348},{},[349],{"type":19,"value":91},{"type":19,"value":32},{"type":14,"tagName":83,"properties":352,"children":353},{"class":85},[354],{"type":14,"tagName":83,"properties":355,"children":356},{},[357],{"type":19,"value":358},"strategy(title=\"RSI Reversion\", position=\"onchart\", axis=true, initialCapital=10000, qtyType=\"percentOfEquity\", qtyValue=25, commissionPercent=0.05, slippageBps=2)",{"type":19,"value":32},{"type":14,"tagName":83,"properties":361,"children":362},{"class":85},[363],{"type":14,"tagName":83,"properties":364,"children":365},{},[366],{"type":19,"value":109},{"type":19,"value":32},{"type":14,"tagName":83,"properties":369,"children":370},{"class":85},[371],{"type":14,"tagName":83,"properties":372,"children":373},{},[374],{"type":19,"value":118},{"type":19,"value":32},{"type":14,"tagName":83,"properties":377,"children":378},{"class":85},[379],{"type":14,"tagName":83,"properties":380,"children":381},{},[382],{"type":19,"value":383},"timeseries r = rsi(source=bars.close, period=14)",{"type":19,"value":32},{"type":14,"tagName":83,"properties":386,"children":387},{"class":85},[388],{"type":14,"tagName":83,"properties":389,"children":390},{},[391],{"type":19,"value":392},"timeseries oversold = 30",{"type":19,"value":32},{"type":14,"tagName":83,"properties":395,"children":396},{"class":85},[397],{"type":14,"tagName":83,"properties":398,"children":399},{},[400],{"type":19,"value":401},"timeseries recovered = 55",{"type":19,"value":32},{"type":14,"tagName":83,"properties":404,"children":405},{"class":85},[406],{"type":14,"tagName":83,"properties":407,"children":408},{},[409],{"type":19,"value":410},"var lastClose = bars.close",{"type":19,"value":32},{"type":14,"tagName":83,"properties":413,"children":414},{"class":85},[415],{"type":14,"tagName":83,"properties":416,"children":417},{},[418],{"type":19,"value":109},{"type":19,"value":32},{"type":14,"tagName":83,"properties":421,"children":422},{"class":85},[423],{"type":14,"tagName":83,"properties":424,"children":425},{},[426],{"type":19,"value":427},"if (crossover(r, oversold)) {",{"type":19,"value":32},{"type":14,"tagName":83,"properties":430,"children":431},{"class":85},[432],{"type":14,"tagName":83,"properties":433,"children":434},{},[435],{"type":19,"value":436},"  strategy.entry(\"Dip\", \"long\")",{"type":19,"value":32},{"type":14,"tagName":83,"properties":439,"children":440},{"class":85},[441],{"type":14,"tagName":83,"properties":442,"children":443},{},[444],{"type":19,"value":171},{"type":19,"value":32},{"type":14,"tagName":83,"properties":447,"children":448},{"class":85},[449],{"type":14,"tagName":83,"properties":450,"children":451},{},[452],{"type":19,"value":453},"if (strategy.positionSize() > 0) {",{"type":19,"value":32},{"type":14,"tagName":83,"properties":456,"children":457},{"class":85},[458],{"type":14,"tagName":83,"properties":459,"children":460},{},[461],{"type":19,"value":462},"  strategy.exit(\"Protect\", fromEntry=\"Dip\", stop=lastClose * 0.96)",{"type":19,"value":32},{"type":14,"tagName":83,"properties":465,"children":466},{"class":85},[467],{"type":14,"tagName":83,"properties":468,"children":469},{},[470],{"type":19,"value":171},{"type":19,"value":32},{"type":14,"tagName":83,"properties":473,"children":474},{"class":85},[475],{"type":14,"tagName":83,"properties":476,"children":477},{},[478],{"type":19,"value":479},"if (crossover(r, recovered)) {",{"type":19,"value":32},{"type":14,"tagName":83,"properties":482,"children":483},{"class":85},[484],{"type":14,"tagName":83,"properties":485,"children":486},{},[487],{"type":19,"value":189},{"type":19,"value":32},{"type":14,"tagName":83,"properties":490,"children":491},{"class":85},[492],{"type":14,"tagName":83,"properties":493,"children":494},{},[495],{"type":19,"value":171},{"type":19,"value":32},{"type":14,"tagName":83,"properties":498,"children":499},{"class":85},[500],{"type":14,"tagName":83,"properties":501,"children":502},{},[503],{"type":19,"value":109},{"type":19,"value":32},{"type":14,"tagName":83,"properties":506,"children":507},{"class":85},[508],{"type":14,"tagName":83,"properties":509,"children":510},{},[511],{"type":19,"value":512},"plotLine(value=bars.close, width=1, colors=[\"#94a3b8\"], label=[\"Close\"], desc=[\"Close price\"])",{"type":19,"value":32},{"type":14,"tagName":15,"properties":515,"children":516,"position":610},{},[517,524,537,544,557,564,577,584,603],{"type":19,"value":229,"position":518},{"start":519,"end":522},{"line":520,"column":23,"offset":521},55,2228,{"line":520,"column":235,"offset":523},2244,{"type":14,"tagName":79,"properties":525,"children":526,"position":534},{},[527],{"type":19,"value":528,"position":529},"strategy.exit",{"start":530,"end":531},{"line":520,"column":235,"offset":523},{"line":520,"column":532,"offset":533},32,2259,{"start":535,"end":536},{"line":520,"column":235,"offset":523},{"line":520,"column":532,"offset":533},{"type":19,"value":538,"position":539}," with ",{"start":540,"end":541},{"line":520,"column":532,"offset":533},{"line":520,"column":542,"offset":543},38,2265,{"type":14,"tagName":79,"properties":545,"children":546,"position":554},{},[547],{"type":19,"value":548,"position":549},"fromEntry",{"start":550,"end":551},{"line":520,"column":542,"offset":543},{"line":520,"column":552,"offset":553},49,2276,{"start":555,"end":556},{"line":520,"column":542,"offset":543},{"line":520,"column":552,"offset":553},{"type":19,"value":558,"position":559}," scopes the stop to the named entry, and the stop follows ",{"start":560,"end":561},{"line":520,"column":552,"offset":553},{"line":520,"column":562,"offset":563},107,2334,{"type":14,"tagName":79,"properties":565,"children":566,"position":574},{},[567],{"type":19,"value":568,"position":569},"lastClose",{"start":570,"end":571},{"line":520,"column":562,"offset":563},{"line":520,"column":572,"offset":573},118,2345,{"start":575,"end":576},{"line":520,"column":562,"offset":563},{"line":520,"column":572,"offset":573},{"type":19,"value":578,"position":579}," at placement time. The ",{"start":580,"end":581},{"line":520,"column":572,"offset":573},{"line":520,"column":582,"offset":583},142,2369,{"type":14,"tagName":585,"properties":586,"children":588,"position":598},"a",{"href":587},"first-strategy",[589],{"type":19,"value":590,"position":591},"first strategy tutorial",{"start":592,"end":595},{"line":520,"column":593,"offset":594},143,2370,{"line":520,"column":596,"offset":597},166,2393,{"start":599,"end":600},{"line":520,"column":582,"offset":583},{"line":520,"column":601,"offset":602},183,2410,{"type":19,"value":604,"position":605}," builds this script up line by line.",{"start":606,"end":607},{"line":520,"column":601,"offset":602},{"line":520,"column":608,"offset":609},219,2446,{"start":611,"end":612},{"line":520,"column":23,"offset":521},{"line":520,"column":608,"offset":609},{"type":19,"value":32},{"type":14,"tagName":34,"properties":615,"children":617,"position":627},{"id":616},"trend-entries-with-bracket-exits",[618],{"type":19,"value":619,"position":620},"Trend entries with bracket exits",{"start":621,"end":624},{"line":622,"column":43,"offset":623},57,2451,{"line":622,"column":625,"offset":626},36,2483,{"start":628,"end":630},{"line":622,"column":23,"offset":629},2448,{"line":622,"column":625,"offset":626},{"type":19,"value":32},{"type":14,"tagName":15,"properties":633,"children":634,"position":644},{},[635],{"type":19,"value":636,"position":637},"A crossover entry bracketed by both a stop and a take-profit limit. Whichever side the market touches first closes the trade and cancels the other side.",{"start":638,"end":641},{"line":639,"column":23,"offset":640},59,2485,{"line":639,"column":642,"offset":643},153,2637,{"start":645,"end":646},{"line":639,"column":23,"offset":640},{"line":639,"column":642,"offset":643},{"type":19,"value":32},{"type":11,"children":649},[650],{"type":14,"tagName":72,"properties":651,"children":652,"data":-1},{"class":74,"style":75,"tabindex":76},[653],{"type":14,"tagName":79,"properties":654,"children":655},{},[656,663,664,672,673,680,681,688,689,697,698,706,707,714,715,722,723,730,731,739,740,747,748,755,756,764,765,772,773,780,781,789,790],{"type":14,"tagName":83,"properties":657,"children":658},{"class":85},[659],{"type":14,"tagName":83,"properties":660,"children":661},{},[662],{"type":19,"value":91},{"type":19,"value":32},{"type":14,"tagName":83,"properties":665,"children":666},{"class":85},[667],{"type":14,"tagName":83,"properties":668,"children":669},{},[670],{"type":19,"value":671},"strategy(title=\"Trend with Brackets\", position=\"onchart\", axis=true, initialCapital=10000, qtyType=\"fixed\", qtyValue=1, pyramiding=1, fillModel=\"pathHeuristic\")",{"type":19,"value":32},{"type":14,"tagName":83,"properties":674,"children":675},{"class":85},[676],{"type":14,"tagName":83,"properties":677,"children":678},{},[679],{"type":19,"value":109},{"type":19,"value":32},{"type":14,"tagName":83,"properties":682,"children":683},{"class":85},[684],{"type":14,"tagName":83,"properties":685,"children":686},{},[687],{"type":19,"value":118},{"type":19,"value":32},{"type":14,"tagName":83,"properties":690,"children":691},{"class":85},[692],{"type":14,"tagName":83,"properties":693,"children":694},{},[695],{"type":19,"value":696},"timeseries fast = sma(source=bars.close, period=5)",{"type":19,"value":32},{"type":14,"tagName":83,"properties":699,"children":700},{"class":85},[701],{"type":14,"tagName":83,"properties":702,"children":703},{},[704],{"type":19,"value":705},"timeseries slow = sma(source=bars.close, period=20)",{"type":19,"value":32},{"type":14,"tagName":83,"properties":708,"children":709},{"class":85},[710],{"type":14,"tagName":83,"properties":711,"children":712},{},[713],{"type":19,"value":410},{"type":19,"value":32},{"type":14,"tagName":83,"properties":716,"children":717},{"class":85},[718],{"type":14,"tagName":83,"properties":719,"children":720},{},[721],{"type":19,"value":109},{"type":19,"value":32},{"type":14,"tagName":83,"properties":724,"children":725},{"class":85},[726],{"type":14,"tagName":83,"properties":727,"children":728},{},[729],{"type":19,"value":153},{"type":19,"value":32},{"type":14,"tagName":83,"properties":732,"children":733},{"class":85},[734],{"type":14,"tagName":83,"properties":735,"children":736},{},[737],{"type":19,"value":738},"  strategy.entry(\"Trend\", \"long\")",{"type":19,"value":32},{"type":14,"tagName":83,"properties":741,"children":742},{"class":85},[743],{"type":14,"tagName":83,"properties":744,"children":745},{},[746],{"type":19,"value":171},{"type":19,"value":32},{"type":14,"tagName":83,"properties":749,"children":750},{"class":85},[751],{"type":14,"tagName":83,"properties":752,"children":753},{},[754],{"type":19,"value":453},{"type":19,"value":32},{"type":14,"tagName":83,"properties":757,"children":758},{"class":85},[759],{"type":14,"tagName":83,"properties":760,"children":761},{},[762],{"type":19,"value":763},"  strategy.exit(\"Protect\", fromEntry=\"Trend\", stop=lastClose * 0.97, limit=lastClose * 1.05)",{"type":19,"value":32},{"type":14,"tagName":83,"properties":766,"children":767},{"class":85},[768],{"type":14,"tagName":83,"properties":769,"children":770},{},[771],{"type":19,"value":171},{"type":19,"value":32},{"type":14,"tagName":83,"properties":774,"children":775},{"class":85},[776],{"type":14,"tagName":83,"properties":777,"children":778},{},[779],{"type":19,"value":109},{"type":19,"value":32},{"type":14,"tagName":83,"properties":782,"children":783},{"class":85},[784],{"type":14,"tagName":83,"properties":785,"children":786},{},[787],{"type":19,"value":788},"plotLine(value=fast, width=1, colors=[\"#4f8cff\"], label=[\"Fast SMA\"], desc=[\"5-period SMA of close\"])",{"type":19,"value":32},{"type":14,"tagName":83,"properties":791,"children":792},{"class":85},[793],{"type":14,"tagName":83,"properties":794,"children":795},{},[796],{"type":19,"value":797},"plotLine(value=slow, width=1, colors=[\"#8b5cf6\"], label=[\"Slow SMA\"], desc=[\"20-period SMA of close\"])",{"type":19,"value":32},{"type":14,"tagName":15,"properties":800,"children":801,"position":854},{},[802,810,822,829,847],{"type":19,"value":803,"position":804},"What to notice: the stop and limit placed through one ",{"start":805,"end":808},{"line":806,"column":23,"offset":807},81,3434,{"line":806,"column":520,"offset":809},3488,{"type":14,"tagName":79,"properties":811,"children":812,"position":819},{},[813],{"type":19,"value":528,"position":814},{"start":815,"end":816},{"line":806,"column":520,"offset":809},{"line":806,"column":817,"offset":818},70,3503,{"start":820,"end":821},{"line":806,"column":520,"offset":809},{"line":806,"column":817,"offset":818},{"type":19,"value":823,"position":824}," call form an OCA pair. How contested bars resolve (both sides touched in one bar) is exactly what the ",{"start":825,"end":826},{"line":806,"column":817,"offset":818},{"line":806,"column":827,"offset":828},173,3606,{"type":14,"tagName":585,"properties":830,"children":832,"position":842},{"href":831},"fill-simulation",[833],{"type":19,"value":834,"position":835},"fill simulation",{"start":836,"end":839},{"line":806,"column":837,"offset":838},174,3607,{"line":806,"column":840,"offset":841},189,3622,{"start":843,"end":844},{"line":806,"column":827,"offset":828},{"line":806,"column":845,"offset":846},207,3640,{"type":19,"value":848,"position":849}," page explains.",{"start":850,"end":851},{"line":806,"column":845,"offset":846},{"line":806,"column":852,"offset":853},222,3655,{"start":855,"end":856},{"line":806,"column":23,"offset":807},{"line":806,"column":852,"offset":853},{"quirksMode":858},false,{"start":860,"end":861},{"line":23,"column":23,"offset":24},{"line":862,"column":23,"offset":863},82,3656,1784888034124]