[{"data":1,"prerenderedAt":2984},["ShallowReactive",2],{"kscript:strategies/slippage-and-costs":3},{"slug":4,"filePath":5,"frontmatter":6,"rawMarkdown":13,"tree":14},"strategies/slippage-and-costs","strategies/slippage-and-costs.md",{"title":7,"description":8,"verified":9},"Slippage and Costs","Commission (spot), maker/taker fees (perps), flat slippage, and slippageModel=\"bookEstimate\", which prices fills from recorded order-book depth where the platform has it.",{"engine":10,"probes":11},"3.0.67",[12],"scripts/probes/strategies/book-estimate.ks","---\ntitle: Slippage and Costs\ndescription: Commission (spot), maker/taker fees (perps), flat slippage, and slippageModel=\"bookEstimate\", which prices fills from recorded order-book depth where the platform has it.\nverified:\n  engine: 3.0.67\n  probes:\n    - scripts/probes/strategies/book-estimate.ks\n---\n\n## Commission (spot)\n\nOn `instrument=\"spot\"` (the default), `commissionPercent` is charged on every fill as a percent of the fill's notional value, on entries and exits alike. Fees reduce equity immediately and are reported per trade and in the totals as `stats.feesPaid`.\n\n## Maker and taker fees (perps)\n\nOn `instrument=\"perps\"`, fills are charged `makerFeePercent` or `takerFeePercent` instead of commission, by how the fill reached the market:\n\n- **Taker** (`takerFeePercent`): market-crossing fills. In a probed run whose every fill was a market order, `takerFeesPaid: 0.7210337119804004` and `makerFeesPaid: 0`.\n- **Maker** (`makerFeePercent`): limit-priced fills. A resting limit entry filled later is charged the maker rate.\n- `stats.feesPaid` is exactly `makerFeesPaid + takerFeesPaid` on perps.\n\n```javascript title=\"perps-maker-fee.ks\"\n//@version=3\n\n// Perps maker-fee routing: a limit-bound entry fill is charged makerFeePercent\n// (stats.makerFeesPaid > 0); the market close crosses the market and is charged\n// takerFeePercent (stats.takerFeesPaid > 0). feesPaid = maker + taker.\nstrategy(title=\"Perps Maker Fee\", initialCapital=10000,\n         instrument=\"perps\", leverage=2,\n         makerFeePercent=0.1, takerFeePercent=0.05,\n         funding=\"off\",\n         qtyType=\"fixed\", qtyValue=1, pyramiding=1);\n\ntimeseries data = ohlcv(symbol=currentSymbol, exchange=currentExchange);\n\ntimeseries fastMa = sma(source=data.close, period=4);\ntimeseries slowMa = sma(source=data.close, period=9);\n\nvar px = data.close;\n\nif (crossover(fastMa, slowMa)) {\n  // resting limit just under the market: a later bar trades through it -> maker fill\n  strategy.entry(\"Long\", \"long\", limit=px * 0.999);\n}\n\nif (crossunder(fastMa, slowMa)) {\n  strategy.close(\"Long\");\n}\n\nplotLine(value=strategy.equity(), width=1, colors=[\"#2563eb\"], label=[\"Equity\"], desc=[\"Strategy equity\"]);\n```\n\nObserved: the limit entries were charged the maker rate (`makerFeesPaid: 0.7247578990925553`), the market closes the taker rate (`takerFeesPaid: 0.3378412437642613`), and `feesPaid: 1.0625991428568167`, their exact sum. Note `limit=` takes a number, not a timeseries; passing `data.close` directly fails with `Type mismatch for 'strategy.entry.limit': expected number, got timeseries`, hence the `var px = data.close;` read.\n\n### One fee schedule per instrument\n\nDeclaring the other instrument's fee params never double-charges; the engine ignores them and says so in the run diagnostics:\n\n- Perps + nonzero `commissionPercent`: `STRATEGY_PERPS_COMMISSION_IGNORED: strategy(): 'commissionPercent' is ignored for instrument=\"perps\"; fees come from 'makerFeePercent'/'takerFeePercent'`. Observed not charged: `feesPaid: 0` with maker/taker at their `0` defaults.\n- Spot + `makerFeePercent`/`takerFeePercent`: `STRATEGY_SPOT_MAKER_TAKER_IGNORED: strategy(): 'makerFeePercent' and 'takerFeePercent' apply only to instrument=\"perps\"; spot uses 'commissionPercent'`. Observed: the run charged commission only (`feesPaid: 1.442067423960801` at `commissionPercent=0.1`; `makerFeesPaid` and `takerFeesPaid` both `0`). Declare only one of the pair and the message names just that one (`'makerFeePercent' applies only to instrument=\"perps\"; spot uses 'commissionPercent'`).\n\nFunding on perps is a holding cashflow, not a fill cost, and has its own stats and series: see [Perps: funding](perps.md#funding). For the perps fee routing rules in the leverage model's own terms, see also [Perps and Leverage](perps-and-leverage.md#maker-and-taker-fees).\n\n## Flat slippage (the default)\n\n`slippageBps` applies adversely to every fill that crosses the market: market entries, stop entries, protective stops, and trailing stops. Buys fill at `price * (1 + bps/10000)`, sells mirror. Limit fills, including take-profit legs, are exempt: a limit price is a bound and can fill better but never worse.\n\nFlat slippage is honest about being a constant: it neither grows with your order size nor tightens on liquid pairs. When you want size-aware and pair-aware slippage, opt into the book estimate.\n\n## Order-book slippage: slippageModel=\"bookEstimate\"\n\nWith `bookEstimate`, a market-crossing fill walks the recorded order book: it consumes displayed liquidity level by level, so bigger orders pay progressively worse prices, exactly as a real market order would:\n\n```text\n   buy 5 units against the recorded asks\n\n   price   displayed size      consumed\n   100.3   ####  (4 units)     1 unit   \u003C- worst fill\n   100.2   ##    (2 units)     2 units\n   100.1   ##    (2 units)     2 units  \u003C- best fill\n           ------------------------------------------\n           average fill price sits between 100.1 and 100.3,\n           weighted by what each level supplied\n```\n\nLimit fills stay exempt: a limit price is a bound by definition, so it never slips.\n\n```javascript title=\"book-estimate.ks\"\n//@version=2\nstrategy(title=\"Book Estimate Demo\", initialCapital=10000, qtyType=\"fixed\", qtyValue=1, slippageBps=5, slippageModel=\"bookEstimate\")\n\ntimeseries bars = ohlcv(symbol=currentSymbol, exchange=currentExchange)\ntimeseries fast = sma(source=bars.close, period=5)\ntimeseries slow = sma(source=bars.close, period=20)\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 SMA\"], desc=[\"5-period SMA of close\"])\nplotLine(value=slow, width=1, colors=[\"#f59e0b\"], label=[\"Slow SMA\"], desc=[\"20-period SMA of close\"])\n```\n\nWith `slippageModel=\"bookEstimate\"`, backtests load the pair's recorded order-book snapshots (one per chart bar) and price every market-crossing fill by walking that depth:\n\n- **The walk.** A buy consumes the ask side from the best level down, a sell consumes bids, for the order's quantity. The resulting volume-weighted price versus the best level gives an impact fraction, which is applied to the bar-derived fill price. The book contributes its depth shape, never its absolute price levels, so a modestly stale snapshot degrades gracefully instead of teleporting your fill.\n- **Size awareness.** Reversals walk the full quantity they actually cross (the closing leg plus the opening leg). Fills that land on the same bar share that bar's displayed liquidity: a later fill starts below what earlier fills consumed, and exhausting the visible book sends the fill to the declared fallback rather than pretending depth was infinite.\n- **Adverse-moment stress.** Protective stop and trailing fills consume twice their quantity from the book. They execute into adverse moments, and a calm snapshot understates that cost.\n- **Limit exemption.** Limit fills, including take-profit legs, remain exempt, same as the flat model.\n\n### When the book cannot answer\n\nThe walk refuses to invent numbers. A fill falls back to the declared `slippageBps` and is counted when:\n\n- the pair has no recorded book history at all (the run details say so),\n- no snapshot covers that bar (gaps, or the most recent minutes of a live chart),\n- the order's (stressed) quantity exceeds the visible depth,\n- the snapshot's best level sits more than 5% from the fill price (a stale or mismatched book is worse than no book).\n\nThis is an estimate by construction: aggregated snapshots cannot express queue dynamics or replenishment. That is exactly why the counts ship next to the number.\n\n### Reading the slippage disclosure\n\nThe Strategy Tester's run-details popover discloses how slippage was priced:\n\n- **\"Slippage: order-book depth estimate, avg N bps across M fills\"**: every market-crossing fill was priced from recorded depth.\n- **\"Slippage: order-book depth estimate on N of M fills, declared rate for the rest\"**: partial book coverage over the replay window.\n- **\"Slippage: order-book depth not recorded for this pair, declared rate applied\"**: the model fell back entirely; the result is equivalent to `slippageModel=\"fixed\"`.\n\nThe model is declared in the script, not toggled in the UI, so a shared strategy reproduces the same way for everyone who runs it. Book data loads for plus-tier backtests; pairs and epochs without recorded books degrade to the declared rate with the disclosure above.\n\n## Practical guidance\n\n- Set `slippageBps` even when using `bookEstimate`: it is your fallback rate wherever the book cannot answer, so make it realistic for the pair.\n- Size matters now. A strategy that trades 0.1% of equity and one that trades 50x leverage will see very different book impacts on the same signals, which is the point.\n- If the disclosure reports mostly fallback fills on a pair you care about, prefer the flat model with a defensible `slippageBps` instead of an estimate that rarely engaged.\n",{"type":15,"children":16,"data":2977,"position":2979},"root",[17,38,40,115,116,133,134,206,207,402,403,1083,1084,1234,1235,1253,1254,1269,1270,1560,1561,1623,1624,1640,1641,1688,1689,1703,1704,1719,1720,1754,1755,1843,1844,1859,1860,2379,2380,2412,2413,2545,2546,2562,2563,2595,2596,2667,2668,2683,2684,2700,2701,2714,2715,2836,2837,2852,2853,2868,2869],{"type":18,"tagName":19,"properties":20,"children":22,"position":34},"element","h2",{"id":21},"commission-spot",[23],{"type":24,"value":25,"position":26},"text","Commission (spot)",{"start":27,"end":31},{"line":28,"column":29,"offset":30},1,4,3,{"line":28,"column":32,"offset":33},21,20,{"start":35,"end":37},{"line":28,"column":28,"offset":36},0,{"line":28,"column":32,"offset":33},{"type":24,"value":39},"\n",{"type":18,"tagName":41,"properties":42,"children":43,"position":112},"p",{},[44,51,65,72,85,92,105],{"type":24,"value":45,"position":46},"On ",{"start":47,"end":49},{"line":30,"column":28,"offset":48},22,{"line":30,"column":29,"offset":50},25,{"type":18,"tagName":52,"properties":53,"children":54,"position":62},"code",{},[55],{"type":24,"value":56,"position":57},"instrument=\"spot\"",{"start":58,"end":59},{"line":30,"column":29,"offset":50},{"line":30,"column":60,"offset":61},23,44,{"start":63,"end":64},{"line":30,"column":29,"offset":50},{"line":30,"column":60,"offset":61},{"type":24,"value":66,"position":67}," (the default), ",{"start":68,"end":69},{"line":30,"column":60,"offset":61},{"line":30,"column":70,"offset":71},39,60,{"type":18,"tagName":52,"properties":73,"children":74,"position":82},{},[75],{"type":24,"value":76,"position":77},"commissionPercent",{"start":78,"end":79},{"line":30,"column":70,"offset":71},{"line":30,"column":80,"offset":81},58,79,{"start":83,"end":84},{"line":30,"column":70,"offset":71},{"line":30,"column":80,"offset":81},{"type":24,"value":86,"position":87}," is charged on every fill as a percent of the fill's notional value, on entries and exits alike. Fees reduce equity immediately and are reported per trade and in the totals as ",{"start":88,"end":89},{"line":30,"column":80,"offset":81},{"line":30,"column":90,"offset":91},234,255,{"type":18,"tagName":52,"properties":93,"children":94,"position":102},{},[95],{"type":24,"value":96,"position":97},"stats.feesPaid",{"start":98,"end":99},{"line":30,"column":90,"offset":91},{"line":30,"column":100,"offset":101},250,271,{"start":103,"end":104},{"line":30,"column":90,"offset":91},{"line":30,"column":100,"offset":101},{"type":24,"value":106,"position":107},".",{"start":108,"end":109},{"line":30,"column":100,"offset":101},{"line":30,"column":110,"offset":111},251,272,{"start":113,"end":114},{"line":30,"column":28,"offset":48},{"line":30,"column":110,"offset":111},{"type":24,"value":39},{"type":18,"tagName":19,"properties":117,"children":119,"position":129},{"id":118},"maker-and-taker-fees-perps",[120],{"type":24,"value":121,"position":122},"Maker and taker fees (perps)",{"start":123,"end":126},{"line":124,"column":29,"offset":125},5,277,{"line":124,"column":127,"offset":128},32,305,{"start":130,"end":132},{"line":124,"column":28,"offset":131},274,{"line":124,"column":127,"offset":128},{"type":24,"value":39},{"type":18,"tagName":41,"properties":135,"children":136,"position":203},{},[137,144,157,163,176,183,196],{"type":24,"value":45,"position":138},{"start":139,"end":142},{"line":140,"column":28,"offset":141},7,307,{"line":140,"column":29,"offset":143},310,{"type":18,"tagName":52,"properties":145,"children":146,"position":154},{},[147],{"type":24,"value":148,"position":149},"instrument=\"perps\"",{"start":150,"end":151},{"line":140,"column":29,"offset":143},{"line":140,"column":152,"offset":153},24,330,{"start":155,"end":156},{"line":140,"column":29,"offset":143},{"line":140,"column":152,"offset":153},{"type":24,"value":158,"position":159},", fills are charged ",{"start":160,"end":161},{"line":140,"column":152,"offset":153},{"line":140,"column":61,"offset":162},350,{"type":18,"tagName":52,"properties":164,"children":165,"position":173},{},[166],{"type":24,"value":167,"position":168},"makerFeePercent",{"start":169,"end":170},{"line":140,"column":61,"offset":162},{"line":140,"column":171,"offset":172},61,367,{"start":174,"end":175},{"line":140,"column":61,"offset":162},{"line":140,"column":171,"offset":172},{"type":24,"value":177,"position":178}," or ",{"start":179,"end":180},{"line":140,"column":171,"offset":172},{"line":140,"column":181,"offset":182},65,371,{"type":18,"tagName":52,"properties":184,"children":185,"position":193},{},[186],{"type":24,"value":187,"position":188},"takerFeePercent",{"start":189,"end":190},{"line":140,"column":181,"offset":182},{"line":140,"column":191,"offset":192},82,388,{"start":194,"end":195},{"line":140,"column":181,"offset":182},{"line":140,"column":191,"offset":192},{"type":24,"value":197,"position":198}," instead of commission, by how the fill reached the market:",{"start":199,"end":200},{"line":140,"column":191,"offset":192},{"line":140,"column":201,"offset":202},141,447,{"start":204,"end":205},{"line":140,"column":28,"offset":141},{"line":140,"column":201,"offset":202},{"type":24,"value":39},{"type":18,"tagName":208,"properties":209,"children":210,"position":399},"ul",{},[211,212,304,305,350,351,398],{"type":24,"value":39},{"type":18,"tagName":213,"properties":214,"children":215,"position":300},"li",{},[216,235,242,254,261,274,281,294],{"type":18,"tagName":217,"properties":218,"children":219,"position":229},"strong",{},[220],{"type":24,"value":221,"position":222},"Taker",{"start":223,"end":226},{"line":224,"column":124,"offset":225},9,453,{"line":224,"column":227,"offset":228},10,458,{"start":230,"end":232},{"line":224,"column":30,"offset":231},451,{"line":224,"column":233,"offset":234},12,460,{"type":24,"value":236,"position":237}," (",{"start":238,"end":239},{"line":224,"column":233,"offset":234},{"line":224,"column":240,"offset":241},14,462,{"type":18,"tagName":52,"properties":243,"children":244,"position":251},{},[245],{"type":24,"value":187,"position":246},{"start":247,"end":248},{"line":224,"column":240,"offset":241},{"line":224,"column":249,"offset":250},31,479,{"start":252,"end":253},{"line":224,"column":240,"offset":241},{"line":224,"column":249,"offset":250},{"type":24,"value":255,"position":256},"): market-crossing fills. In a probed run whose every fill was a market order, ",{"start":257,"end":258},{"line":224,"column":249,"offset":250},{"line":224,"column":259,"offset":260},110,558,{"type":18,"tagName":52,"properties":262,"children":263,"position":271},{},[264],{"type":24,"value":265,"position":266},"takerFeesPaid: 0.7210337119804004",{"start":267,"end":268},{"line":224,"column":259,"offset":260},{"line":224,"column":269,"offset":270},145,593,{"start":272,"end":273},{"line":224,"column":259,"offset":260},{"line":224,"column":269,"offset":270},{"type":24,"value":275,"position":276}," and ",{"start":277,"end":278},{"line":224,"column":269,"offset":270},{"line":224,"column":279,"offset":280},150,598,{"type":18,"tagName":52,"properties":282,"children":283,"position":291},{},[284],{"type":24,"value":285,"position":286},"makerFeesPaid: 0",{"start":287,"end":288},{"line":224,"column":279,"offset":280},{"line":224,"column":289,"offset":290},168,616,{"start":292,"end":293},{"line":224,"column":279,"offset":280},{"line":224,"column":289,"offset":290},{"type":24,"value":106,"position":295},{"start":296,"end":297},{"line":224,"column":289,"offset":290},{"line":224,"column":298,"offset":299},169,617,{"start":301,"end":303},{"line":224,"column":28,"offset":302},449,{"line":224,"column":298,"offset":299},{"type":24,"value":39},{"type":18,"tagName":213,"properties":306,"children":307,"position":346},{},[308,323,328,339],{"type":18,"tagName":217,"properties":309,"children":310,"position":318},{},[311],{"type":24,"value":312,"position":313},"Maker",{"start":314,"end":316},{"line":227,"column":124,"offset":315},622,{"line":227,"column":227,"offset":317},627,{"start":319,"end":321},{"line":227,"column":30,"offset":320},620,{"line":227,"column":233,"offset":322},629,{"type":24,"value":236,"position":324},{"start":325,"end":326},{"line":227,"column":233,"offset":322},{"line":227,"column":240,"offset":327},631,{"type":18,"tagName":52,"properties":329,"children":330,"position":336},{},[331],{"type":24,"value":167,"position":332},{"start":333,"end":334},{"line":227,"column":240,"offset":327},{"line":227,"column":249,"offset":335},648,{"start":337,"end":338},{"line":227,"column":240,"offset":327},{"line":227,"column":249,"offset":335},{"type":24,"value":340,"position":341},"): limit-priced fills. A resting limit entry filled later is charged the maker rate.",{"start":342,"end":343},{"line":227,"column":249,"offset":335},{"line":227,"column":344,"offset":345},115,732,{"start":347,"end":349},{"line":227,"column":28,"offset":348},618,{"line":227,"column":344,"offset":345},{"type":24,"value":39},{"type":18,"tagName":213,"properties":352,"children":353,"position":394},{},[354,368,374,387],{"type":18,"tagName":52,"properties":355,"children":356,"position":365},{},[357],{"type":24,"value":96,"position":358},{"start":359,"end":362},{"line":360,"column":30,"offset":361},11,735,{"line":360,"column":363,"offset":364},19,751,{"start":366,"end":367},{"line":360,"column":30,"offset":361},{"line":360,"column":363,"offset":364},{"type":24,"value":369,"position":370}," is exactly ",{"start":371,"end":372},{"line":360,"column":363,"offset":364},{"line":360,"column":249,"offset":373},763,{"type":18,"tagName":52,"properties":375,"children":376,"position":384},{},[377],{"type":24,"value":378,"position":379},"makerFeesPaid + takerFeesPaid",{"start":380,"end":381},{"line":360,"column":249,"offset":373},{"line":360,"column":382,"offset":383},62,794,{"start":385,"end":386},{"line":360,"column":249,"offset":373},{"line":360,"column":382,"offset":383},{"type":24,"value":388,"position":389}," on perps.",{"start":390,"end":391},{"line":360,"column":382,"offset":383},{"line":360,"column":392,"offset":393},72,804,{"start":395,"end":397},{"line":360,"column":28,"offset":396},733,{"line":360,"column":392,"offset":393},{"type":24,"value":39},{"start":400,"end":401},{"line":224,"column":28,"offset":302},{"line":360,"column":392,"offset":393},{"type":24,"value":39},{"type":15,"children":404},[405],{"type":18,"tagName":406,"properties":407,"children":412,"data":-1},"pre",{"class":408,"style":409,"tabindex":410,"title":411},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0","perps-maker-fee.ks",[413],{"type":18,"tagName":52,"properties":414,"children":415},{},[416,427,428,431,432,440,441,449,450,458,459,506,507,542,543,578,579,600,601,650,651,654,655,695,696,699,700,744,745,786,787,790,791,813,814,817,818,840,841,849,850,911,912,920,921,924,925,945,946,970,971,978,979,982,983],{"type":18,"tagName":417,"properties":418,"children":420},"span",{"class":419},"line",[421],{"type":18,"tagName":417,"properties":422,"children":424},{"style":423},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[425],{"type":24,"value":426},"//@version=3",{"type":24,"value":39},{"type":18,"tagName":417,"properties":429,"children":430},{"class":419},[],{"type":24,"value":39},{"type":18,"tagName":417,"properties":433,"children":434},{"class":419},[435],{"type":18,"tagName":417,"properties":436,"children":437},{"style":423},[438],{"type":24,"value":439},"// Perps maker-fee routing: a limit-bound entry fill is charged makerFeePercent",{"type":24,"value":39},{"type":18,"tagName":417,"properties":442,"children":443},{"class":419},[444],{"type":18,"tagName":417,"properties":445,"children":446},{"style":423},[447],{"type":24,"value":448},"// (stats.makerFeesPaid > 0); the market close crosses the market and is charged",{"type":24,"value":39},{"type":18,"tagName":417,"properties":451,"children":452},{"class":419},[453],{"type":18,"tagName":417,"properties":454,"children":455},{"style":423},[456],{"type":24,"value":457},"// takerFeePercent (stats.takerFeesPaid > 0). feesPaid = maker + taker.",{"type":24,"value":39},{"type":18,"tagName":417,"properties":460,"children":461},{"class":419},[462,468,474,480,486,491,495,501],{"type":18,"tagName":417,"properties":463,"children":465},{"style":464},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[466],{"type":24,"value":467},"strategy",{"type":18,"tagName":417,"properties":469,"children":471},{"style":470},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[472],{"type":24,"value":473},"(title",{"type":18,"tagName":417,"properties":475,"children":477},{"style":476},"--shiki-dark:#F97583;--shiki-light:#D73A49",[478],{"type":24,"value":479},"=",{"type":18,"tagName":417,"properties":481,"children":483},{"style":482},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[484],{"type":24,"value":485},"\"Perps Maker Fee\"",{"type":18,"tagName":417,"properties":487,"children":488},{"style":470},[489],{"type":24,"value":490},", initialCapital",{"type":18,"tagName":417,"properties":492,"children":493},{"style":476},[494],{"type":24,"value":479},{"type":18,"tagName":417,"properties":496,"children":498},{"style":497},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[499],{"type":24,"value":500},"10000",{"type":18,"tagName":417,"properties":502,"children":503},{"style":470},[504],{"type":24,"value":505},",",{"type":24,"value":39},{"type":18,"tagName":417,"properties":508,"children":509},{"class":419},[510,515,519,524,529,533,538],{"type":18,"tagName":417,"properties":511,"children":512},{"style":470},[513],{"type":24,"value":514},"         instrument",{"type":18,"tagName":417,"properties":516,"children":517},{"style":476},[518],{"type":24,"value":479},{"type":18,"tagName":417,"properties":520,"children":521},{"style":482},[522],{"type":24,"value":523},"\"perps\"",{"type":18,"tagName":417,"properties":525,"children":526},{"style":470},[527],{"type":24,"value":528},", leverage",{"type":18,"tagName":417,"properties":530,"children":531},{"style":476},[532],{"type":24,"value":479},{"type":18,"tagName":417,"properties":534,"children":535},{"style":497},[536],{"type":24,"value":537},"2",{"type":18,"tagName":417,"properties":539,"children":540},{"style":470},[541],{"type":24,"value":505},{"type":24,"value":39},{"type":18,"tagName":417,"properties":544,"children":545},{"class":419},[546,551,555,560,565,569,574],{"type":18,"tagName":417,"properties":547,"children":548},{"style":470},[549],{"type":24,"value":550},"         makerFeePercent",{"type":18,"tagName":417,"properties":552,"children":553},{"style":476},[554],{"type":24,"value":479},{"type":18,"tagName":417,"properties":556,"children":557},{"style":497},[558],{"type":24,"value":559},"0.1",{"type":18,"tagName":417,"properties":561,"children":562},{"style":470},[563],{"type":24,"value":564},", takerFeePercent",{"type":18,"tagName":417,"properties":566,"children":567},{"style":476},[568],{"type":24,"value":479},{"type":18,"tagName":417,"properties":570,"children":571},{"style":497},[572],{"type":24,"value":573},"0.05",{"type":18,"tagName":417,"properties":575,"children":576},{"style":470},[577],{"type":24,"value":505},{"type":24,"value":39},{"type":18,"tagName":417,"properties":580,"children":581},{"class":419},[582,587,591,596],{"type":18,"tagName":417,"properties":583,"children":584},{"style":470},[585],{"type":24,"value":586},"         funding",{"type":18,"tagName":417,"properties":588,"children":589},{"style":476},[590],{"type":24,"value":479},{"type":18,"tagName":417,"properties":592,"children":593},{"style":482},[594],{"type":24,"value":595},"\"off\"",{"type":18,"tagName":417,"properties":597,"children":598},{"style":470},[599],{"type":24,"value":505},{"type":24,"value":39},{"type":18,"tagName":417,"properties":602,"children":603},{"class":419},[604,609,613,618,623,627,632,637,641,645],{"type":18,"tagName":417,"properties":605,"children":606},{"style":470},[607],{"type":24,"value":608},"         qtyType",{"type":18,"tagName":417,"properties":610,"children":611},{"style":476},[612],{"type":24,"value":479},{"type":18,"tagName":417,"properties":614,"children":615},{"style":482},[616],{"type":24,"value":617},"\"fixed\"",{"type":18,"tagName":417,"properties":619,"children":620},{"style":470},[621],{"type":24,"value":622},", qtyValue",{"type":18,"tagName":417,"properties":624,"children":625},{"style":476},[626],{"type":24,"value":479},{"type":18,"tagName":417,"properties":628,"children":629},{"style":497},[630],{"type":24,"value":631},"1",{"type":18,"tagName":417,"properties":633,"children":634},{"style":470},[635],{"type":24,"value":636},", pyramiding",{"type":18,"tagName":417,"properties":638,"children":639},{"style":476},[640],{"type":24,"value":479},{"type":18,"tagName":417,"properties":642,"children":643},{"style":497},[644],{"type":24,"value":631},{"type":18,"tagName":417,"properties":646,"children":647},{"style":470},[648],{"type":24,"value":649},");",{"type":24,"value":39},{"type":18,"tagName":417,"properties":652,"children":653},{"class":419},[],{"type":24,"value":39},{"type":18,"tagName":417,"properties":656,"children":657},{"class":419},[658,663,667,672,677,681,686,690],{"type":18,"tagName":417,"properties":659,"children":660},{"style":470},[661],{"type":24,"value":662},"timeseries data ",{"type":18,"tagName":417,"properties":664,"children":665},{"style":476},[666],{"type":24,"value":479},{"type":18,"tagName":417,"properties":668,"children":669},{"style":464},[670],{"type":24,"value":671}," ohlcv",{"type":18,"tagName":417,"properties":673,"children":674},{"style":470},[675],{"type":24,"value":676},"(symbol",{"type":18,"tagName":417,"properties":678,"children":679},{"style":476},[680],{"type":24,"value":479},{"type":18,"tagName":417,"properties":682,"children":683},{"style":470},[684],{"type":24,"value":685},"currentSymbol, exchange",{"type":18,"tagName":417,"properties":687,"children":688},{"style":476},[689],{"type":24,"value":479},{"type":18,"tagName":417,"properties":691,"children":692},{"style":470},[693],{"type":24,"value":694},"currentExchange);",{"type":24,"value":39},{"type":18,"tagName":417,"properties":697,"children":698},{"class":419},[],{"type":24,"value":39},{"type":18,"tagName":417,"properties":701,"children":702},{"class":419},[703,708,712,717,722,726,731,735,740],{"type":18,"tagName":417,"properties":704,"children":705},{"style":470},[706],{"type":24,"value":707},"timeseries fastMa ",{"type":18,"tagName":417,"properties":709,"children":710},{"style":476},[711],{"type":24,"value":479},{"type":18,"tagName":417,"properties":713,"children":714},{"style":464},[715],{"type":24,"value":716}," sma",{"type":18,"tagName":417,"properties":718,"children":719},{"style":470},[720],{"type":24,"value":721},"(source",{"type":18,"tagName":417,"properties":723,"children":724},{"style":476},[725],{"type":24,"value":479},{"type":18,"tagName":417,"properties":727,"children":728},{"style":470},[729],{"type":24,"value":730},"data.close, period",{"type":18,"tagName":417,"properties":732,"children":733},{"style":476},[734],{"type":24,"value":479},{"type":18,"tagName":417,"properties":736,"children":737},{"style":497},[738],{"type":24,"value":739},"4",{"type":18,"tagName":417,"properties":741,"children":742},{"style":470},[743],{"type":24,"value":649},{"type":24,"value":39},{"type":18,"tagName":417,"properties":746,"children":747},{"class":419},[748,753,757,761,765,769,773,777,782],{"type":18,"tagName":417,"properties":749,"children":750},{"style":470},[751],{"type":24,"value":752},"timeseries slowMa ",{"type":18,"tagName":417,"properties":754,"children":755},{"style":476},[756],{"type":24,"value":479},{"type":18,"tagName":417,"properties":758,"children":759},{"style":464},[760],{"type":24,"value":716},{"type":18,"tagName":417,"properties":762,"children":763},{"style":470},[764],{"type":24,"value":721},{"type":18,"tagName":417,"properties":766,"children":767},{"style":476},[768],{"type":24,"value":479},{"type":18,"tagName":417,"properties":770,"children":771},{"style":470},[772],{"type":24,"value":730},{"type":18,"tagName":417,"properties":774,"children":775},{"style":476},[776],{"type":24,"value":479},{"type":18,"tagName":417,"properties":778,"children":779},{"style":497},[780],{"type":24,"value":781},"9",{"type":18,"tagName":417,"properties":783,"children":784},{"style":470},[785],{"type":24,"value":649},{"type":24,"value":39},{"type":18,"tagName":417,"properties":788,"children":789},{"class":419},[],{"type":24,"value":39},{"type":18,"tagName":417,"properties":792,"children":793},{"class":419},[794,799,804,808],{"type":18,"tagName":417,"properties":795,"children":796},{"style":476},[797],{"type":24,"value":798},"var",{"type":18,"tagName":417,"properties":800,"children":801},{"style":470},[802],{"type":24,"value":803}," px ",{"type":18,"tagName":417,"properties":805,"children":806},{"style":476},[807],{"type":24,"value":479},{"type":18,"tagName":417,"properties":809,"children":810},{"style":470},[811],{"type":24,"value":812}," data.close;",{"type":24,"value":39},{"type":18,"tagName":417,"properties":815,"children":816},{"class":419},[],{"type":24,"value":39},{"type":18,"tagName":417,"properties":819,"children":820},{"class":419},[821,826,830,835],{"type":18,"tagName":417,"properties":822,"children":823},{"style":476},[824],{"type":24,"value":825},"if",{"type":18,"tagName":417,"properties":827,"children":828},{"style":470},[829],{"type":24,"value":236},{"type":18,"tagName":417,"properties":831,"children":832},{"style":464},[833],{"type":24,"value":834},"crossover",{"type":18,"tagName":417,"properties":836,"children":837},{"style":470},[838],{"type":24,"value":839},"(fastMa, slowMa)) {",{"type":24,"value":39},{"type":18,"tagName":417,"properties":842,"children":843},{"class":419},[844],{"type":18,"tagName":417,"properties":845,"children":846},{"style":423},[847],{"type":24,"value":848},"  // resting limit just under the market: a later bar trades through it -> maker fill",{"type":24,"value":39},{"type":18,"tagName":417,"properties":851,"children":852},{"class":419},[853,858,863,868,873,878,883,888,892,897,902,907],{"type":18,"tagName":417,"properties":854,"children":855},{"style":470},[856],{"type":24,"value":857},"  strategy.",{"type":18,"tagName":417,"properties":859,"children":860},{"style":464},[861],{"type":24,"value":862},"entry",{"type":18,"tagName":417,"properties":864,"children":865},{"style":470},[866],{"type":24,"value":867},"(",{"type":18,"tagName":417,"properties":869,"children":870},{"style":482},[871],{"type":24,"value":872},"\"Long\"",{"type":18,"tagName":417,"properties":874,"children":875},{"style":470},[876],{"type":24,"value":877},", ",{"type":18,"tagName":417,"properties":879,"children":880},{"style":482},[881],{"type":24,"value":882},"\"long\"",{"type":18,"tagName":417,"properties":884,"children":885},{"style":470},[886],{"type":24,"value":887},", limit",{"type":18,"tagName":417,"properties":889,"children":890},{"style":476},[891],{"type":24,"value":479},{"type":18,"tagName":417,"properties":893,"children":894},{"style":470},[895],{"type":24,"value":896},"px ",{"type":18,"tagName":417,"properties":898,"children":899},{"style":476},[900],{"type":24,"value":901},"*",{"type":18,"tagName":417,"properties":903,"children":904},{"style":497},[905],{"type":24,"value":906}," 0.999",{"type":18,"tagName":417,"properties":908,"children":909},{"style":470},[910],{"type":24,"value":649},{"type":24,"value":39},{"type":18,"tagName":417,"properties":913,"children":914},{"class":419},[915],{"type":18,"tagName":417,"properties":916,"children":917},{"style":470},[918],{"type":24,"value":919},"}",{"type":24,"value":39},{"type":18,"tagName":417,"properties":922,"children":923},{"class":419},[],{"type":24,"value":39},{"type":18,"tagName":417,"properties":926,"children":927},{"class":419},[928,932,936,941],{"type":18,"tagName":417,"properties":929,"children":930},{"style":476},[931],{"type":24,"value":825},{"type":18,"tagName":417,"properties":933,"children":934},{"style":470},[935],{"type":24,"value":236},{"type":18,"tagName":417,"properties":937,"children":938},{"style":464},[939],{"type":24,"value":940},"crossunder",{"type":18,"tagName":417,"properties":942,"children":943},{"style":470},[944],{"type":24,"value":839},{"type":24,"value":39},{"type":18,"tagName":417,"properties":947,"children":948},{"class":419},[949,953,958,962,966],{"type":18,"tagName":417,"properties":950,"children":951},{"style":470},[952],{"type":24,"value":857},{"type":18,"tagName":417,"properties":954,"children":955},{"style":464},[956],{"type":24,"value":957},"close",{"type":18,"tagName":417,"properties":959,"children":960},{"style":470},[961],{"type":24,"value":867},{"type":18,"tagName":417,"properties":963,"children":964},{"style":482},[965],{"type":24,"value":872},{"type":18,"tagName":417,"properties":967,"children":968},{"style":470},[969],{"type":24,"value":649},{"type":24,"value":39},{"type":18,"tagName":417,"properties":972,"children":973},{"class":419},[974],{"type":18,"tagName":417,"properties":975,"children":976},{"style":470},[977],{"type":24,"value":919},{"type":24,"value":39},{"type":18,"tagName":417,"properties":980,"children":981},{"class":419},[],{"type":24,"value":39},{"type":18,"tagName":417,"properties":984,"children":985},{"class":419},[986,991,996,1000,1005,1010,1015,1019,1023,1028,1032,1037,1042,1047,1051,1055,1060,1065,1069,1073,1078],{"type":18,"tagName":417,"properties":987,"children":988},{"style":464},[989],{"type":24,"value":990},"plotLine",{"type":18,"tagName":417,"properties":992,"children":993},{"style":470},[994],{"type":24,"value":995},"(value",{"type":18,"tagName":417,"properties":997,"children":998},{"style":476},[999],{"type":24,"value":479},{"type":18,"tagName":417,"properties":1001,"children":1002},{"style":470},[1003],{"type":24,"value":1004},"strategy.",{"type":18,"tagName":417,"properties":1006,"children":1007},{"style":464},[1008],{"type":24,"value":1009},"equity",{"type":18,"tagName":417,"properties":1011,"children":1012},{"style":470},[1013],{"type":24,"value":1014},"(), width",{"type":18,"tagName":417,"properties":1016,"children":1017},{"style":476},[1018],{"type":24,"value":479},{"type":18,"tagName":417,"properties":1020,"children":1021},{"style":497},[1022],{"type":24,"value":631},{"type":18,"tagName":417,"properties":1024,"children":1025},{"style":470},[1026],{"type":24,"value":1027},", colors",{"type":18,"tagName":417,"properties":1029,"children":1030},{"style":476},[1031],{"type":24,"value":479},{"type":18,"tagName":417,"properties":1033,"children":1034},{"style":470},[1035],{"type":24,"value":1036},"[",{"type":18,"tagName":417,"properties":1038,"children":1039},{"style":482},[1040],{"type":24,"value":1041},"\"#2563eb\"",{"type":18,"tagName":417,"properties":1043,"children":1044},{"style":470},[1045],{"type":24,"value":1046},"], label",{"type":18,"tagName":417,"properties":1048,"children":1049},{"style":476},[1050],{"type":24,"value":479},{"type":18,"tagName":417,"properties":1052,"children":1053},{"style":470},[1054],{"type":24,"value":1036},{"type":18,"tagName":417,"properties":1056,"children":1057},{"style":482},[1058],{"type":24,"value":1059},"\"Equity\"",{"type":18,"tagName":417,"properties":1061,"children":1062},{"style":470},[1063],{"type":24,"value":1064},"], desc",{"type":18,"tagName":417,"properties":1066,"children":1067},{"style":476},[1068],{"type":24,"value":479},{"type":18,"tagName":417,"properties":1070,"children":1071},{"style":470},[1072],{"type":24,"value":1036},{"type":18,"tagName":417,"properties":1074,"children":1075},{"style":482},[1076],{"type":24,"value":1077},"\"Strategy equity\"",{"type":18,"tagName":417,"properties":1079,"children":1080},{"style":470},[1081],{"type":24,"value":1082},"]);",{"type":24,"value":39},{"type":18,"tagName":41,"properties":1085,"children":1086,"position":1231},{},[1087,1094,1107,1114,1127,1134,1147,1154,1166,1172,1185,1191,1204,1211,1224],{"type":24,"value":1088,"position":1089},"Observed: the limit entries were charged the maker rate (",{"start":1090,"end":1092},{"line":61,"column":28,"offset":1091},1876,{"line":61,"column":80,"offset":1093},1933,{"type":18,"tagName":52,"properties":1095,"children":1096,"position":1104},{},[1097],{"type":24,"value":1098,"position":1099},"makerFeesPaid: 0.7247578990925553",{"start":1100,"end":1101},{"line":61,"column":80,"offset":1093},{"line":61,"column":1102,"offset":1103},93,1968,{"start":1105,"end":1106},{"line":61,"column":80,"offset":1093},{"line":61,"column":1102,"offset":1103},{"type":24,"value":1108,"position":1109},"), the market closes the taker rate (",{"start":1110,"end":1111},{"line":61,"column":1102,"offset":1103},{"line":61,"column":1112,"offset":1113},130,2005,{"type":18,"tagName":52,"properties":1115,"children":1116,"position":1124},{},[1117],{"type":24,"value":1118,"position":1119},"takerFeesPaid: 0.3378412437642613",{"start":1120,"end":1121},{"line":61,"column":1112,"offset":1113},{"line":61,"column":1122,"offset":1123},165,2040,{"start":1125,"end":1126},{"line":61,"column":1112,"offset":1113},{"line":61,"column":1122,"offset":1123},{"type":24,"value":1128,"position":1129},"), and ",{"start":1130,"end":1131},{"line":61,"column":1122,"offset":1123},{"line":61,"column":1132,"offset":1133},172,2047,{"type":18,"tagName":52,"properties":1135,"children":1136,"position":1144},{},[1137],{"type":24,"value":1138,"position":1139},"feesPaid: 1.0625991428568167",{"start":1140,"end":1141},{"line":61,"column":1132,"offset":1133},{"line":61,"column":1142,"offset":1143},202,2077,{"start":1145,"end":1146},{"line":61,"column":1132,"offset":1133},{"line":61,"column":1142,"offset":1143},{"type":24,"value":1148,"position":1149},", their exact sum. Note ",{"start":1150,"end":1151},{"line":61,"column":1142,"offset":1143},{"line":61,"column":1152,"offset":1153},226,2101,{"type":18,"tagName":52,"properties":1155,"children":1156,"position":1163},{},[1157],{"type":24,"value":1158,"position":1159},"limit=",{"start":1160,"end":1161},{"line":61,"column":1152,"offset":1153},{"line":61,"column":90,"offset":1162},2109,{"start":1164,"end":1165},{"line":61,"column":1152,"offset":1153},{"line":61,"column":90,"offset":1162},{"type":24,"value":1167,"position":1168}," takes a number, not a timeseries; passing ",{"start":1169,"end":1170},{"line":61,"column":90,"offset":1162},{"line":61,"column":125,"offset":1171},2152,{"type":18,"tagName":52,"properties":1173,"children":1174,"position":1182},{},[1175],{"type":24,"value":1176,"position":1177},"data.close",{"start":1178,"end":1179},{"line":61,"column":125,"offset":1171},{"line":61,"column":1180,"offset":1181},289,2164,{"start":1183,"end":1184},{"line":61,"column":125,"offset":1171},{"line":61,"column":1180,"offset":1181},{"type":24,"value":1186,"position":1187}," directly fails with ",{"start":1188,"end":1189},{"line":61,"column":1180,"offset":1181},{"line":61,"column":143,"offset":1190},2185,{"type":18,"tagName":52,"properties":1192,"children":1193,"position":1201},{},[1194],{"type":24,"value":1195,"position":1196},"Type mismatch for 'strategy.entry.limit': expected number, got timeseries",{"start":1197,"end":1198},{"line":61,"column":143,"offset":1190},{"line":61,"column":1199,"offset":1200},385,2260,{"start":1202,"end":1203},{"line":61,"column":143,"offset":1190},{"line":61,"column":1199,"offset":1200},{"type":24,"value":1205,"position":1206},", hence the ",{"start":1207,"end":1208},{"line":61,"column":1199,"offset":1200},{"line":61,"column":1209,"offset":1210},397,2272,{"type":18,"tagName":52,"properties":1212,"children":1213,"position":1221},{},[1214],{"type":24,"value":1215,"position":1216},"var px = data.close;",{"start":1217,"end":1218},{"line":61,"column":1209,"offset":1210},{"line":61,"column":1219,"offset":1220},419,2294,{"start":1222,"end":1223},{"line":61,"column":1209,"offset":1210},{"line":61,"column":1219,"offset":1220},{"type":24,"value":1225,"position":1226}," read.",{"start":1227,"end":1228},{"line":61,"column":1219,"offset":1220},{"line":61,"column":1229,"offset":1230},425,2300,{"start":1232,"end":1233},{"line":61,"column":28,"offset":1091},{"line":61,"column":1229,"offset":1230},{"type":24,"value":39},{"type":18,"tagName":1236,"properties":1237,"children":1239,"position":1249},"h3",{"id":1238},"one-fee-schedule-per-instrument",[1240],{"type":24,"value":1241,"position":1242},"One fee schedule per instrument",{"start":1243,"end":1246},{"line":1244,"column":124,"offset":1245},46,2306,{"line":1244,"column":1247,"offset":1248},36,2337,{"start":1250,"end":1252},{"line":1244,"column":28,"offset":1251},2302,{"line":1244,"column":1247,"offset":1248},{"type":24,"value":39},{"type":18,"tagName":41,"properties":1255,"children":1256,"position":1266},{},[1257],{"type":24,"value":1258,"position":1259},"Declaring the other instrument's fee params never double-charges; the engine ignores them and says so in the run diagnostics:",{"start":1260,"end":1263},{"line":1261,"column":28,"offset":1262},48,2339,{"line":1261,"column":1264,"offset":1265},126,2464,{"start":1267,"end":1268},{"line":1261,"column":28,"offset":1262},{"line":1261,"column":1264,"offset":1265},{"type":24,"value":39},{"type":18,"tagName":208,"properties":1271,"children":1272,"position":1557},{},[1273,1274,1366,1367,1556],{"type":24,"value":39},{"type":18,"tagName":213,"properties":1275,"children":1276,"position":1362},{},[1277,1285,1297,1304,1317,1324,1337,1344,1356],{"type":24,"value":1278,"position":1279},"Perps + nonzero ",{"start":1280,"end":1283},{"line":1281,"column":30,"offset":1282},50,2468,{"line":1281,"column":363,"offset":1284},2484,{"type":18,"tagName":52,"properties":1286,"children":1287,"position":1294},{},[1288],{"type":24,"value":76,"position":1289},{"start":1290,"end":1291},{"line":1281,"column":363,"offset":1284},{"line":1281,"column":1292,"offset":1293},38,2503,{"start":1295,"end":1296},{"line":1281,"column":363,"offset":1284},{"line":1281,"column":1292,"offset":1293},{"type":24,"value":1298,"position":1299},": ",{"start":1300,"end":1301},{"line":1281,"column":1292,"offset":1293},{"line":1281,"column":1302,"offset":1303},40,2505,{"type":18,"tagName":52,"properties":1305,"children":1306,"position":1314},{},[1307],{"type":24,"value":1308,"position":1309},"STRATEGY_PERPS_COMMISSION_IGNORED: strategy(): 'commissionPercent' is ignored for instrument=\"perps\"; fees come from 'makerFeePercent'/'takerFeePercent'",{"start":1310,"end":1311},{"line":1281,"column":1302,"offset":1303},{"line":1281,"column":1312,"offset":1313},194,2659,{"start":1315,"end":1316},{"line":1281,"column":1302,"offset":1303},{"line":1281,"column":1312,"offset":1313},{"type":24,"value":1318,"position":1319},". Observed not charged: ",{"start":1320,"end":1321},{"line":1281,"column":1312,"offset":1313},{"line":1281,"column":1322,"offset":1323},218,2683,{"type":18,"tagName":52,"properties":1325,"children":1326,"position":1334},{},[1327],{"type":24,"value":1328,"position":1329},"feesPaid: 0",{"start":1330,"end":1331},{"line":1281,"column":1322,"offset":1323},{"line":1281,"column":1332,"offset":1333},231,2696,{"start":1335,"end":1336},{"line":1281,"column":1322,"offset":1323},{"line":1281,"column":1332,"offset":1333},{"type":24,"value":1338,"position":1339}," with maker/taker at their ",{"start":1340,"end":1341},{"line":1281,"column":1332,"offset":1333},{"line":1281,"column":1342,"offset":1343},258,2723,{"type":18,"tagName":52,"properties":1345,"children":1346,"position":1353},{},[1347],{"type":24,"value":410,"position":1348},{"start":1349,"end":1350},{"line":1281,"column":1342,"offset":1343},{"line":1281,"column":1351,"offset":1352},261,2726,{"start":1354,"end":1355},{"line":1281,"column":1342,"offset":1343},{"line":1281,"column":1351,"offset":1352},{"type":24,"value":1357,"position":1358}," defaults.",{"start":1359,"end":1360},{"line":1281,"column":1351,"offset":1352},{"line":1281,"column":101,"offset":1361},2736,{"start":1363,"end":1365},{"line":1281,"column":28,"offset":1364},2466,{"line":1281,"column":101,"offset":1361},{"type":24,"value":39},{"type":18,"tagName":213,"properties":1368,"children":1369,"position":1552},{},[1370,1378,1390,1397,1409,1415,1428,1435,1448,1454,1467,1474,1487,1493,1506,1513,1525,1532,1545],{"type":24,"value":1371,"position":1372},"Spot + ",{"start":1373,"end":1376},{"line":1374,"column":30,"offset":1375},51,2739,{"line":1374,"column":227,"offset":1377},2746,{"type":18,"tagName":52,"properties":1379,"children":1380,"position":1387},{},[1381],{"type":24,"value":167,"position":1382},{"start":1383,"end":1384},{"line":1374,"column":227,"offset":1377},{"line":1374,"column":1385,"offset":1386},27,2763,{"start":1388,"end":1389},{"line":1374,"column":227,"offset":1377},{"line":1374,"column":1385,"offset":1386},{"type":24,"value":1391,"position":1392},"/",{"start":1393,"end":1394},{"line":1374,"column":1385,"offset":1386},{"line":1374,"column":1395,"offset":1396},28,2764,{"type":18,"tagName":52,"properties":1398,"children":1399,"position":1406},{},[1400],{"type":24,"value":187,"position":1401},{"start":1402,"end":1403},{"line":1374,"column":1395,"offset":1396},{"line":1374,"column":1404,"offset":1405},45,2781,{"start":1407,"end":1408},{"line":1374,"column":1395,"offset":1396},{"line":1374,"column":1404,"offset":1405},{"type":24,"value":1298,"position":1410},{"start":1411,"end":1412},{"line":1374,"column":1404,"offset":1405},{"line":1374,"column":1413,"offset":1414},47,2783,{"type":18,"tagName":52,"properties":1416,"children":1417,"position":1425},{},[1418],{"type":24,"value":1419,"position":1420},"STRATEGY_SPOT_MAKER_TAKER_IGNORED: strategy(): 'makerFeePercent' and 'takerFeePercent' apply only to instrument=\"perps\"; spot uses 'commissionPercent'",{"start":1421,"end":1422},{"line":1374,"column":1413,"offset":1414},{"line":1374,"column":1423,"offset":1424},199,2935,{"start":1426,"end":1427},{"line":1374,"column":1413,"offset":1414},{"line":1374,"column":1423,"offset":1424},{"type":24,"value":1429,"position":1430},". Observed: the run charged commission only (",{"start":1431,"end":1432},{"line":1374,"column":1423,"offset":1424},{"line":1374,"column":1433,"offset":1434},244,2980,{"type":18,"tagName":52,"properties":1436,"children":1437,"position":1445},{},[1438],{"type":24,"value":1439,"position":1440},"feesPaid: 1.442067423960801",{"start":1441,"end":1442},{"line":1374,"column":1433,"offset":1434},{"line":1374,"column":1443,"offset":1444},273,3009,{"start":1446,"end":1447},{"line":1374,"column":1433,"offset":1434},{"line":1374,"column":1443,"offset":1444},{"type":24,"value":1449,"position":1450}," at ",{"start":1451,"end":1452},{"line":1374,"column":1443,"offset":1444},{"line":1374,"column":125,"offset":1453},3013,{"type":18,"tagName":52,"properties":1455,"children":1456,"position":1464},{},[1457],{"type":24,"value":1458,"position":1459},"commissionPercent=0.1",{"start":1460,"end":1461},{"line":1374,"column":125,"offset":1453},{"line":1374,"column":1462,"offset":1463},300,3036,{"start":1465,"end":1466},{"line":1374,"column":125,"offset":1453},{"line":1374,"column":1462,"offset":1463},{"type":24,"value":1468,"position":1469},"; ",{"start":1470,"end":1471},{"line":1374,"column":1462,"offset":1463},{"line":1374,"column":1472,"offset":1473},302,3038,{"type":18,"tagName":52,"properties":1475,"children":1476,"position":1484},{},[1477],{"type":24,"value":1478,"position":1479},"makerFeesPaid",{"start":1480,"end":1481},{"line":1374,"column":1472,"offset":1473},{"line":1374,"column":1482,"offset":1483},317,3053,{"start":1485,"end":1486},{"line":1374,"column":1472,"offset":1473},{"line":1374,"column":1482,"offset":1483},{"type":24,"value":275,"position":1488},{"start":1489,"end":1490},{"line":1374,"column":1482,"offset":1483},{"line":1374,"column":1491,"offset":1492},322,3058,{"type":18,"tagName":52,"properties":1494,"children":1495,"position":1503},{},[1496],{"type":24,"value":1497,"position":1498},"takerFeesPaid",{"start":1499,"end":1500},{"line":1374,"column":1491,"offset":1492},{"line":1374,"column":1501,"offset":1502},337,3073,{"start":1504,"end":1505},{"line":1374,"column":1491,"offset":1492},{"line":1374,"column":1501,"offset":1502},{"type":24,"value":1507,"position":1508}," both ",{"start":1509,"end":1510},{"line":1374,"column":1501,"offset":1502},{"line":1374,"column":1511,"offset":1512},343,3079,{"type":18,"tagName":52,"properties":1514,"children":1515,"position":1522},{},[1516],{"type":24,"value":410,"position":1517},{"start":1518,"end":1519},{"line":1374,"column":1511,"offset":1512},{"line":1374,"column":1520,"offset":1521},346,3082,{"start":1523,"end":1524},{"line":1374,"column":1511,"offset":1512},{"line":1374,"column":1520,"offset":1521},{"type":24,"value":1526,"position":1527},"). Declare only one of the pair and the message names just that one (",{"start":1528,"end":1529},{"line":1374,"column":1520,"offset":1521},{"line":1374,"column":1530,"offset":1531},415,3151,{"type":18,"tagName":52,"properties":1533,"children":1534,"position":1542},{},[1535],{"type":24,"value":1536,"position":1537},"'makerFeePercent' applies only to instrument=\"perps\"; spot uses 'commissionPercent'",{"start":1538,"end":1539},{"line":1374,"column":1530,"offset":1531},{"line":1374,"column":1540,"offset":1541},500,3236,{"start":1543,"end":1544},{"line":1374,"column":1530,"offset":1531},{"line":1374,"column":1540,"offset":1541},{"type":24,"value":1546,"position":1547},").",{"start":1548,"end":1549},{"line":1374,"column":1540,"offset":1541},{"line":1374,"column":1550,"offset":1551},502,3238,{"start":1553,"end":1555},{"line":1374,"column":28,"offset":1554},2737,{"line":1374,"column":1550,"offset":1551},{"type":24,"value":39},{"start":1558,"end":1559},{"line":1281,"column":28,"offset":1364},{"line":1374,"column":1550,"offset":1551},{"type":24,"value":39},{"type":18,"tagName":41,"properties":1562,"children":1563,"position":1620},{},[1564,1573,1591,1598,1615],{"type":24,"value":1565,"position":1566},"Funding on perps is a holding cashflow, not a fill cost, and has its own stats and series: see ",{"start":1567,"end":1570},{"line":1568,"column":28,"offset":1569},53,3240,{"line":1568,"column":1571,"offset":1572},96,3335,{"type":18,"tagName":1574,"properties":1575,"children":1577,"position":1587},"a",{"href":1576},"perps.md#funding",[1578],{"type":24,"value":1579,"position":1580},"Perps: funding",{"start":1581,"end":1584},{"line":1568,"column":1582,"offset":1583},97,3336,{"line":1568,"column":1585,"offset":1586},111,3350,{"start":1588,"end":1589},{"line":1568,"column":1571,"offset":1572},{"line":1568,"column":1112,"offset":1590},3369,{"type":24,"value":1592,"position":1593},". For the perps fee routing rules in the leverage model's own terms, see also ",{"start":1594,"end":1595},{"line":1568,"column":1112,"offset":1590},{"line":1568,"column":1596,"offset":1597},208,3447,{"type":18,"tagName":1574,"properties":1599,"children":1601,"position":1611},{"href":1600},"perps-and-leverage.md#maker-and-taker-fees",[1602],{"type":24,"value":1603,"position":1604},"Perps and Leverage",{"start":1605,"end":1608},{"line":1568,"column":1606,"offset":1607},209,3448,{"line":1568,"column":1609,"offset":1610},227,3466,{"start":1612,"end":1613},{"line":1568,"column":1596,"offset":1597},{"line":1568,"column":111,"offset":1614},3511,{"type":24,"value":106,"position":1616},{"start":1617,"end":1618},{"line":1568,"column":111,"offset":1614},{"line":1568,"column":1443,"offset":1619},3512,{"start":1621,"end":1622},{"line":1568,"column":28,"offset":1569},{"line":1568,"column":1443,"offset":1619},{"type":24,"value":39},{"type":18,"tagName":19,"properties":1625,"children":1627,"position":1636},{"id":1626},"flat-slippage-the-default",[1628],{"type":24,"value":1629,"position":1630},"Flat slippage (the default)",{"start":1631,"end":1634},{"line":1632,"column":29,"offset":1633},55,3517,{"line":1632,"column":249,"offset":1635},3544,{"start":1637,"end":1639},{"line":1632,"column":28,"offset":1638},3514,{"line":1632,"column":249,"offset":1635},{"type":24,"value":39},{"type":18,"tagName":41,"properties":1642,"children":1643,"position":1685},{},[1644,1658,1665,1678],{"type":18,"tagName":52,"properties":1645,"children":1646,"position":1655},{},[1647],{"type":24,"value":1648,"position":1649},"slippageBps",{"start":1650,"end":1653},{"line":1651,"column":28,"offset":1652},57,3546,{"line":1651,"column":240,"offset":1654},3559,{"start":1656,"end":1657},{"line":1651,"column":28,"offset":1652},{"line":1651,"column":240,"offset":1654},{"type":24,"value":1659,"position":1660}," applies adversely to every fill that crosses the market: market entries, stop entries, protective stops, and trailing stops. Buys fill at ",{"start":1661,"end":1662},{"line":1651,"column":240,"offset":1654},{"line":1651,"column":1663,"offset":1664},153,3698,{"type":18,"tagName":52,"properties":1666,"children":1667,"position":1675},{},[1668],{"type":24,"value":1669,"position":1670},"price * (1 + bps/10000)",{"start":1671,"end":1672},{"line":1651,"column":1663,"offset":1664},{"line":1651,"column":1673,"offset":1674},178,3723,{"start":1676,"end":1677},{"line":1651,"column":1663,"offset":1664},{"line":1651,"column":1673,"offset":1674},{"type":24,"value":1679,"position":1680},", sells mirror. Limit fills, including take-profit legs, are exempt: a limit price is a bound and can fill better but never worse.",{"start":1681,"end":1682},{"line":1651,"column":1673,"offset":1674},{"line":1651,"column":1683,"offset":1684},308,3853,{"start":1686,"end":1687},{"line":1651,"column":28,"offset":1652},{"line":1651,"column":1683,"offset":1684},{"type":24,"value":39},{"type":18,"tagName":41,"properties":1690,"children":1691,"position":1700},{},[1692],{"type":24,"value":1693,"position":1694},"Flat slippage is honest about being a constant: it neither grows with your order size nor tightens on liquid pairs. When you want size-aware and pair-aware slippage, opt into the book estimate.",{"start":1695,"end":1698},{"line":1696,"column":28,"offset":1697},59,3855,{"line":1696,"column":1312,"offset":1699},4048,{"start":1701,"end":1702},{"line":1696,"column":28,"offset":1697},{"line":1696,"column":1312,"offset":1699},{"type":24,"value":39},{"type":18,"tagName":19,"properties":1705,"children":1707,"position":1715},{"id":1706},"order-book-slippage-slippagemodelbookestimate",[1708],{"type":24,"value":1709,"position":1710},"Order-book slippage: slippageModel=\"bookEstimate\"",{"start":1711,"end":1713},{"line":171,"column":29,"offset":1712},4053,{"line":171,"column":1568,"offset":1714},4102,{"start":1716,"end":1718},{"line":171,"column":28,"offset":1717},4050,{"line":171,"column":1568,"offset":1714},{"type":24,"value":39},{"type":18,"tagName":41,"properties":1721,"children":1722,"position":1751},{},[1723,1732,1744],{"type":24,"value":1724,"position":1725},"With ",{"start":1726,"end":1729},{"line":1727,"column":28,"offset":1728},63,4104,{"line":1727,"column":1730,"offset":1731},6,4109,{"type":18,"tagName":52,"properties":1733,"children":1734,"position":1741},{},[1735],{"type":24,"value":1736,"position":1737},"bookEstimate",{"start":1738,"end":1739},{"line":1727,"column":1730,"offset":1731},{"line":1727,"column":33,"offset":1740},4123,{"start":1742,"end":1743},{"line":1727,"column":1730,"offset":1731},{"line":1727,"column":33,"offset":1740},{"type":24,"value":1745,"position":1746},", a market-crossing fill walks the recorded order book: it consumes displayed liquidity level by level, so bigger orders pay progressively worse prices, exactly as a real market order would:",{"start":1747,"end":1748},{"line":1727,"column":33,"offset":1740},{"line":1727,"column":1749,"offset":1750},210,4313,{"start":1752,"end":1753},{"line":1727,"column":28,"offset":1728},{"line":1727,"column":1749,"offset":1750},{"type":24,"value":39},{"type":15,"children":1756},[1757],{"type":18,"tagName":406,"properties":1758,"children":1759,"data":-1},{"class":408,"style":409,"tabindex":410},[1760],{"type":18,"tagName":52,"properties":1761,"children":1762},{},[1763,1771,1772,1780,1781,1789,1790,1798,1799,1807,1808,1816,1817,1825,1826,1834,1835],{"type":18,"tagName":417,"properties":1764,"children":1765},{"class":419},[1766],{"type":18,"tagName":417,"properties":1767,"children":1768},{},[1769],{"type":24,"value":1770},"   buy 5 units against the recorded asks",{"type":24,"value":39},{"type":18,"tagName":417,"properties":1773,"children":1774},{"class":419},[1775],{"type":18,"tagName":417,"properties":1776,"children":1777},{},[1778],{"type":24,"value":1779},"",{"type":24,"value":39},{"type":18,"tagName":417,"properties":1782,"children":1783},{"class":419},[1784],{"type":18,"tagName":417,"properties":1785,"children":1786},{},[1787],{"type":24,"value":1788},"   price   displayed size      consumed",{"type":24,"value":39},{"type":18,"tagName":417,"properties":1791,"children":1792},{"class":419},[1793],{"type":18,"tagName":417,"properties":1794,"children":1795},{},[1796],{"type":24,"value":1797},"   100.3   ####  (4 units)     1 unit   \u003C- worst fill",{"type":24,"value":39},{"type":18,"tagName":417,"properties":1800,"children":1801},{"class":419},[1802],{"type":18,"tagName":417,"properties":1803,"children":1804},{},[1805],{"type":24,"value":1806},"   100.2   ##    (2 units)     2 units",{"type":24,"value":39},{"type":18,"tagName":417,"properties":1809,"children":1810},{"class":419},[1811],{"type":18,"tagName":417,"properties":1812,"children":1813},{},[1814],{"type":24,"value":1815},"   100.1   ##    (2 units)     2 units  \u003C- best fill",{"type":24,"value":39},{"type":18,"tagName":417,"properties":1818,"children":1819},{"class":419},[1820],{"type":18,"tagName":417,"properties":1821,"children":1822},{},[1823],{"type":24,"value":1824},"           ------------------------------------------",{"type":24,"value":39},{"type":18,"tagName":417,"properties":1827,"children":1828},{"class":419},[1829],{"type":18,"tagName":417,"properties":1830,"children":1831},{},[1832],{"type":24,"value":1833},"           average fill price sits between 100.1 and 100.3,",{"type":24,"value":39},{"type":18,"tagName":417,"properties":1836,"children":1837},{"class":419},[1838],{"type":18,"tagName":417,"properties":1839,"children":1840},{},[1841],{"type":24,"value":1842},"           weighted by what each level supplied",{"type":24,"value":39},{"type":18,"tagName":41,"properties":1845,"children":1846,"position":1856},{},[1847],{"type":24,"value":1848,"position":1849},"Limit fills stay exempt: a limit price is a bound by definition, so it never slips.",{"start":1850,"end":1853},{"line":1851,"column":28,"offset":1852},77,4718,{"line":1851,"column":1854,"offset":1855},84,4801,{"start":1857,"end":1858},{"line":1851,"column":28,"offset":1852},{"line":1851,"column":1854,"offset":1855},{"type":24,"value":39},{"type":15,"children":1861},[1862],{"type":18,"tagName":406,"properties":1863,"children":1865,"data":-1},{"class":408,"style":409,"tabindex":410,"title":1864},"book-estimate.ks",[1866],{"type":18,"tagName":52,"properties":1867,"children":1868},{},[1869,1877,1878,1968,1969,1972,1973,2010,2011,2052,2053,2094,2095,2098,2099,2119,2120,2152,2153,2160,2161,2180,2181,2198,2199,2206,2207,2210,2211,2295,2296],{"type":18,"tagName":417,"properties":1870,"children":1871},{"class":419},[1872],{"type":18,"tagName":417,"properties":1873,"children":1874},{"style":423},[1875],{"type":24,"value":1876},"//@version=2",{"type":24,"value":39},{"type":18,"tagName":417,"properties":1879,"children":1880},{"class":419},[1881,1885,1889,1893,1898,1902,1906,1910,1915,1919,1923,1927,1931,1935,1940,1944,1949,1954,1958,1963],{"type":18,"tagName":417,"properties":1882,"children":1883},{"style":464},[1884],{"type":24,"value":467},{"type":18,"tagName":417,"properties":1886,"children":1887},{"style":470},[1888],{"type":24,"value":473},{"type":18,"tagName":417,"properties":1890,"children":1891},{"style":476},[1892],{"type":24,"value":479},{"type":18,"tagName":417,"properties":1894,"children":1895},{"style":482},[1896],{"type":24,"value":1897},"\"Book Estimate Demo\"",{"type":18,"tagName":417,"properties":1899,"children":1900},{"style":470},[1901],{"type":24,"value":490},{"type":18,"tagName":417,"properties":1903,"children":1904},{"style":476},[1905],{"type":24,"value":479},{"type":18,"tagName":417,"properties":1907,"children":1908},{"style":497},[1909],{"type":24,"value":500},{"type":18,"tagName":417,"properties":1911,"children":1912},{"style":470},[1913],{"type":24,"value":1914},", qtyType",{"type":18,"tagName":417,"properties":1916,"children":1917},{"style":476},[1918],{"type":24,"value":479},{"type":18,"tagName":417,"properties":1920,"children":1921},{"style":482},[1922],{"type":24,"value":617},{"type":18,"tagName":417,"properties":1924,"children":1925},{"style":470},[1926],{"type":24,"value":622},{"type":18,"tagName":417,"properties":1928,"children":1929},{"style":476},[1930],{"type":24,"value":479},{"type":18,"tagName":417,"properties":1932,"children":1933},{"style":497},[1934],{"type":24,"value":631},{"type":18,"tagName":417,"properties":1936,"children":1937},{"style":470},[1938],{"type":24,"value":1939},", slippageBps",{"type":18,"tagName":417,"properties":1941,"children":1942},{"style":476},[1943],{"type":24,"value":479},{"type":18,"tagName":417,"properties":1945,"children":1946},{"style":497},[1947],{"type":24,"value":1948},"5",{"type":18,"tagName":417,"properties":1950,"children":1951},{"style":470},[1952],{"type":24,"value":1953},", slippageModel",{"type":18,"tagName":417,"properties":1955,"children":1956},{"style":476},[1957],{"type":24,"value":479},{"type":18,"tagName":417,"properties":1959,"children":1960},{"style":482},[1961],{"type":24,"value":1962},"\"bookEstimate\"",{"type":18,"tagName":417,"properties":1964,"children":1965},{"style":470},[1966],{"type":24,"value":1967},")",{"type":24,"value":39},{"type":18,"tagName":417,"properties":1970,"children":1971},{"class":419},[],{"type":24,"value":39},{"type":18,"tagName":417,"properties":1974,"children":1975},{"class":419},[1976,1981,1985,1989,1993,1997,2001,2005],{"type":18,"tagName":417,"properties":1977,"children":1978},{"style":470},[1979],{"type":24,"value":1980},"timeseries bars ",{"type":18,"tagName":417,"properties":1982,"children":1983},{"style":476},[1984],{"type":24,"value":479},{"type":18,"tagName":417,"properties":1986,"children":1987},{"style":464},[1988],{"type":24,"value":671},{"type":18,"tagName":417,"properties":1990,"children":1991},{"style":470},[1992],{"type":24,"value":676},{"type":18,"tagName":417,"properties":1994,"children":1995},{"style":476},[1996],{"type":24,"value":479},{"type":18,"tagName":417,"properties":1998,"children":1999},{"style":470},[2000],{"type":24,"value":685},{"type":18,"tagName":417,"properties":2002,"children":2003},{"style":476},[2004],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2006,"children":2007},{"style":470},[2008],{"type":24,"value":2009},"currentExchange)",{"type":24,"value":39},{"type":18,"tagName":417,"properties":2012,"children":2013},{"class":419},[2014,2019,2023,2027,2031,2035,2040,2044,2048],{"type":18,"tagName":417,"properties":2015,"children":2016},{"style":470},[2017],{"type":24,"value":2018},"timeseries fast ",{"type":18,"tagName":417,"properties":2020,"children":2021},{"style":476},[2022],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2024,"children":2025},{"style":464},[2026],{"type":24,"value":716},{"type":18,"tagName":417,"properties":2028,"children":2029},{"style":470},[2030],{"type":24,"value":721},{"type":18,"tagName":417,"properties":2032,"children":2033},{"style":476},[2034],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2036,"children":2037},{"style":470},[2038],{"type":24,"value":2039},"bars.close, period",{"type":18,"tagName":417,"properties":2041,"children":2042},{"style":476},[2043],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2045,"children":2046},{"style":497},[2047],{"type":24,"value":1948},{"type":18,"tagName":417,"properties":2049,"children":2050},{"style":470},[2051],{"type":24,"value":1967},{"type":24,"value":39},{"type":18,"tagName":417,"properties":2054,"children":2055},{"class":419},[2056,2061,2065,2069,2073,2077,2081,2085,2090],{"type":18,"tagName":417,"properties":2057,"children":2058},{"style":470},[2059],{"type":24,"value":2060},"timeseries slow ",{"type":18,"tagName":417,"properties":2062,"children":2063},{"style":476},[2064],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2066,"children":2067},{"style":464},[2068],{"type":24,"value":716},{"type":18,"tagName":417,"properties":2070,"children":2071},{"style":470},[2072],{"type":24,"value":721},{"type":18,"tagName":417,"properties":2074,"children":2075},{"style":476},[2076],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2078,"children":2079},{"style":470},[2080],{"type":24,"value":2039},{"type":18,"tagName":417,"properties":2082,"children":2083},{"style":476},[2084],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2086,"children":2087},{"style":497},[2088],{"type":24,"value":2089},"20",{"type":18,"tagName":417,"properties":2091,"children":2092},{"style":470},[2093],{"type":24,"value":1967},{"type":24,"value":39},{"type":18,"tagName":417,"properties":2096,"children":2097},{"class":419},[],{"type":24,"value":39},{"type":18,"tagName":417,"properties":2100,"children":2101},{"class":419},[2102,2106,2110,2114],{"type":18,"tagName":417,"properties":2103,"children":2104},{"style":476},[2105],{"type":24,"value":825},{"type":18,"tagName":417,"properties":2107,"children":2108},{"style":470},[2109],{"type":24,"value":236},{"type":18,"tagName":417,"properties":2111,"children":2112},{"style":464},[2113],{"type":24,"value":834},{"type":18,"tagName":417,"properties":2115,"children":2116},{"style":470},[2117],{"type":24,"value":2118},"(fast, slow)) {",{"type":24,"value":39},{"type":18,"tagName":417,"properties":2121,"children":2122},{"class":419},[2123,2127,2131,2135,2140,2144,2148],{"type":18,"tagName":417,"properties":2124,"children":2125},{"style":470},[2126],{"type":24,"value":857},{"type":18,"tagName":417,"properties":2128,"children":2129},{"style":464},[2130],{"type":24,"value":862},{"type":18,"tagName":417,"properties":2132,"children":2133},{"style":470},[2134],{"type":24,"value":867},{"type":18,"tagName":417,"properties":2136,"children":2137},{"style":482},[2138],{"type":24,"value":2139},"\"L\"",{"type":18,"tagName":417,"properties":2141,"children":2142},{"style":470},[2143],{"type":24,"value":877},{"type":18,"tagName":417,"properties":2145,"children":2146},{"style":482},[2147],{"type":24,"value":882},{"type":18,"tagName":417,"properties":2149,"children":2150},{"style":470},[2151],{"type":24,"value":1967},{"type":24,"value":39},{"type":18,"tagName":417,"properties":2154,"children":2155},{"class":419},[2156],{"type":18,"tagName":417,"properties":2157,"children":2158},{"style":470},[2159],{"type":24,"value":919},{"type":24,"value":39},{"type":18,"tagName":417,"properties":2162,"children":2163},{"class":419},[2164,2168,2172,2176],{"type":18,"tagName":417,"properties":2165,"children":2166},{"style":476},[2167],{"type":24,"value":825},{"type":18,"tagName":417,"properties":2169,"children":2170},{"style":470},[2171],{"type":24,"value":236},{"type":18,"tagName":417,"properties":2173,"children":2174},{"style":464},[2175],{"type":24,"value":940},{"type":18,"tagName":417,"properties":2177,"children":2178},{"style":470},[2179],{"type":24,"value":2118},{"type":24,"value":39},{"type":18,"tagName":417,"properties":2182,"children":2183},{"class":419},[2184,2188,2193],{"type":18,"tagName":417,"properties":2185,"children":2186},{"style":470},[2187],{"type":24,"value":857},{"type":18,"tagName":417,"properties":2189,"children":2190},{"style":464},[2191],{"type":24,"value":2192},"closeAll",{"type":18,"tagName":417,"properties":2194,"children":2195},{"style":470},[2196],{"type":24,"value":2197},"()",{"type":24,"value":39},{"type":18,"tagName":417,"properties":2200,"children":2201},{"class":419},[2202],{"type":18,"tagName":417,"properties":2203,"children":2204},{"style":470},[2205],{"type":24,"value":919},{"type":24,"value":39},{"type":18,"tagName":417,"properties":2208,"children":2209},{"class":419},[],{"type":24,"value":39},{"type":18,"tagName":417,"properties":2212,"children":2213},{"class":419},[2214,2218,2222,2226,2231,2235,2239,2243,2247,2251,2256,2260,2264,2268,2273,2277,2281,2285,2290],{"type":18,"tagName":417,"properties":2215,"children":2216},{"style":464},[2217],{"type":24,"value":990},{"type":18,"tagName":417,"properties":2219,"children":2220},{"style":470},[2221],{"type":24,"value":995},{"type":18,"tagName":417,"properties":2223,"children":2224},{"style":476},[2225],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2227,"children":2228},{"style":470},[2229],{"type":24,"value":2230},"fast, width",{"type":18,"tagName":417,"properties":2232,"children":2233},{"style":476},[2234],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2236,"children":2237},{"style":497},[2238],{"type":24,"value":631},{"type":18,"tagName":417,"properties":2240,"children":2241},{"style":470},[2242],{"type":24,"value":1027},{"type":18,"tagName":417,"properties":2244,"children":2245},{"style":476},[2246],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2248,"children":2249},{"style":470},[2250],{"type":24,"value":1036},{"type":18,"tagName":417,"properties":2252,"children":2253},{"style":482},[2254],{"type":24,"value":2255},"\"#4f8cff\"",{"type":18,"tagName":417,"properties":2257,"children":2258},{"style":470},[2259],{"type":24,"value":1046},{"type":18,"tagName":417,"properties":2261,"children":2262},{"style":476},[2263],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2265,"children":2266},{"style":470},[2267],{"type":24,"value":1036},{"type":18,"tagName":417,"properties":2269,"children":2270},{"style":482},[2271],{"type":24,"value":2272},"\"Fast SMA\"",{"type":18,"tagName":417,"properties":2274,"children":2275},{"style":470},[2276],{"type":24,"value":1064},{"type":18,"tagName":417,"properties":2278,"children":2279},{"style":476},[2280],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2282,"children":2283},{"style":470},[2284],{"type":24,"value":1036},{"type":18,"tagName":417,"properties":2286,"children":2287},{"style":482},[2288],{"type":24,"value":2289},"\"5-period SMA of close\"",{"type":18,"tagName":417,"properties":2291,"children":2292},{"style":470},[2293],{"type":24,"value":2294},"])",{"type":24,"value":39},{"type":18,"tagName":417,"properties":2297,"children":2298},{"class":419},[2299,2303,2307,2311,2316,2320,2324,2328,2332,2336,2341,2345,2349,2353,2358,2362,2366,2370,2375],{"type":18,"tagName":417,"properties":2300,"children":2301},{"style":464},[2302],{"type":24,"value":990},{"type":18,"tagName":417,"properties":2304,"children":2305},{"style":470},[2306],{"type":24,"value":995},{"type":18,"tagName":417,"properties":2308,"children":2309},{"style":476},[2310],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2312,"children":2313},{"style":470},[2314],{"type":24,"value":2315},"slow, width",{"type":18,"tagName":417,"properties":2317,"children":2318},{"style":476},[2319],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2321,"children":2322},{"style":497},[2323],{"type":24,"value":631},{"type":18,"tagName":417,"properties":2325,"children":2326},{"style":470},[2327],{"type":24,"value":1027},{"type":18,"tagName":417,"properties":2329,"children":2330},{"style":476},[2331],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2333,"children":2334},{"style":470},[2335],{"type":24,"value":1036},{"type":18,"tagName":417,"properties":2337,"children":2338},{"style":482},[2339],{"type":24,"value":2340},"\"#f59e0b\"",{"type":18,"tagName":417,"properties":2342,"children":2343},{"style":470},[2344],{"type":24,"value":1046},{"type":18,"tagName":417,"properties":2346,"children":2347},{"style":476},[2348],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2350,"children":2351},{"style":470},[2352],{"type":24,"value":1036},{"type":18,"tagName":417,"properties":2354,"children":2355},{"style":482},[2356],{"type":24,"value":2357},"\"Slow SMA\"",{"type":18,"tagName":417,"properties":2359,"children":2360},{"style":470},[2361],{"type":24,"value":1064},{"type":18,"tagName":417,"properties":2363,"children":2364},{"style":476},[2365],{"type":24,"value":479},{"type":18,"tagName":417,"properties":2367,"children":2368},{"style":470},[2369],{"type":24,"value":1036},{"type":18,"tagName":417,"properties":2371,"children":2372},{"style":482},[2373],{"type":24,"value":2374},"\"20-period SMA of close\"",{"type":18,"tagName":417,"properties":2376,"children":2377},{"style":470},[2378],{"type":24,"value":2294},{"type":24,"value":39},{"type":18,"tagName":41,"properties":2381,"children":2382,"position":2409},{},[2383,2390,2402],{"type":24,"value":1724,"position":2384},{"start":2385,"end":2388},{"line":2386,"column":28,"offset":2387},98,5491,{"line":2386,"column":1730,"offset":2389},5496,{"type":18,"tagName":52,"properties":2391,"children":2392,"position":2399},{},[2393],{"type":24,"value":2394,"position":2395},"slippageModel=\"bookEstimate\"",{"start":2396,"end":2397},{"line":2386,"column":1730,"offset":2389},{"line":2386,"column":1247,"offset":2398},5526,{"start":2400,"end":2401},{"line":2386,"column":1730,"offset":2389},{"line":2386,"column":1247,"offset":2398},{"type":24,"value":2403,"position":2404},", backtests load the pair's recorded order-book snapshots (one per chart bar) and price every market-crossing fill by walking that depth:",{"start":2405,"end":2406},{"line":2386,"column":1247,"offset":2398},{"line":2386,"column":2407,"offset":2408},173,5663,{"start":2410,"end":2411},{"line":2386,"column":28,"offset":2387},{"line":2386,"column":2407,"offset":2408},{"type":24,"value":39},{"type":18,"tagName":208,"properties":2414,"children":2415,"position":2542},{},[2416,2417,2448,2449,2479,2480,2511,2512,2541],{"type":24,"value":39},{"type":18,"tagName":213,"properties":2418,"children":2419,"position":2444},{},[2420,2437],{"type":18,"tagName":217,"properties":2421,"children":2422,"position":2431},{},[2423],{"type":24,"value":2424,"position":2425},"The walk.",{"start":2426,"end":2429},{"line":2427,"column":124,"offset":2428},100,5669,{"line":2427,"column":240,"offset":2430},5678,{"start":2432,"end":2434},{"line":2427,"column":30,"offset":2433},5667,{"line":2427,"column":2435,"offset":2436},16,5680,{"type":24,"value":2438,"position":2439}," A buy consumes the ask side from the best level down, a sell consumes bids, for the order's quantity. The resulting volume-weighted price versus the best level gives an impact fraction, which is applied to the bar-derived fill price. The book contributes its depth shape, never its absolute price levels, so a modestly stale snapshot degrades gracefully instead of teleporting your fill.",{"start":2440,"end":2441},{"line":2427,"column":2435,"offset":2436},{"line":2427,"column":2442,"offset":2443},404,6068,{"start":2445,"end":2447},{"line":2427,"column":28,"offset":2446},5665,{"line":2427,"column":2442,"offset":2443},{"type":24,"value":39},{"type":18,"tagName":213,"properties":2450,"children":2451,"position":2475},{},[2452,2468],{"type":18,"tagName":217,"properties":2453,"children":2454,"position":2463},{},[2455],{"type":24,"value":2456,"position":2457},"Size awareness.",{"start":2458,"end":2461},{"line":2459,"column":124,"offset":2460},101,6073,{"line":2459,"column":33,"offset":2462},6088,{"start":2464,"end":2466},{"line":2459,"column":30,"offset":2465},6071,{"line":2459,"column":48,"offset":2467},6090,{"type":24,"value":2469,"position":2470}," Reversals walk the full quantity they actually cross (the closing leg plus the opening leg). Fills that land on the same bar share that bar's displayed liquidity: a later fill starts below what earlier fills consumed, and exhausting the visible book sends the fill to the declared fallback rather than pretending depth was infinite.",{"start":2471,"end":2472},{"line":2459,"column":48,"offset":2467},{"line":2459,"column":2473,"offset":2474},355,6423,{"start":2476,"end":2478},{"line":2459,"column":28,"offset":2477},6069,{"line":2459,"column":2473,"offset":2474},{"type":24,"value":39},{"type":18,"tagName":213,"properties":2481,"children":2482,"position":2507},{},[2483,2500],{"type":18,"tagName":217,"properties":2484,"children":2485,"position":2494},{},[2486],{"type":24,"value":2487,"position":2488},"Adverse-moment stress.",{"start":2489,"end":2492},{"line":2490,"column":124,"offset":2491},102,6428,{"line":2490,"column":1385,"offset":2493},6450,{"start":2495,"end":2497},{"line":2490,"column":30,"offset":2496},6426,{"line":2490,"column":2498,"offset":2499},29,6452,{"type":24,"value":2501,"position":2502}," Protective stop and trailing fills consume twice their quantity from the book. They execute into adverse moments, and a calm snapshot understates that cost.",{"start":2503,"end":2504},{"line":2490,"column":2498,"offset":2499},{"line":2490,"column":2505,"offset":2506},186,6609,{"start":2508,"end":2510},{"line":2490,"column":28,"offset":2509},6424,{"line":2490,"column":2505,"offset":2506},{"type":24,"value":39},{"type":18,"tagName":213,"properties":2513,"children":2514,"position":2537},{},[2515,2531],{"type":18,"tagName":217,"properties":2516,"children":2517,"position":2526},{},[2518],{"type":24,"value":2519,"position":2520},"Limit exemption.",{"start":2521,"end":2524},{"line":2522,"column":124,"offset":2523},103,6614,{"line":2522,"column":32,"offset":2525},6630,{"start":2527,"end":2529},{"line":2522,"column":30,"offset":2528},6612,{"line":2522,"column":60,"offset":2530},6632,{"type":24,"value":2532,"position":2533}," Limit fills, including take-profit legs, remain exempt, same as the flat model.",{"start":2534,"end":2535},{"line":2522,"column":60,"offset":2530},{"line":2522,"column":2522,"offset":2536},6712,{"start":2538,"end":2540},{"line":2522,"column":28,"offset":2539},6610,{"line":2522,"column":2522,"offset":2536},{"type":24,"value":39},{"start":2543,"end":2544},{"line":2427,"column":28,"offset":2446},{"line":2522,"column":2522,"offset":2536},{"type":24,"value":39},{"type":18,"tagName":1236,"properties":2547,"children":2549,"position":2558},{"id":2548},"when-the-book-cannot-answer",[2550],{"type":24,"value":2551,"position":2552},"When the book cannot answer",{"start":2553,"end":2556},{"line":2554,"column":124,"offset":2555},105,6718,{"line":2554,"column":127,"offset":2557},6745,{"start":2559,"end":2561},{"line":2554,"column":28,"offset":2560},6714,{"line":2554,"column":127,"offset":2557},{"type":24,"value":39},{"type":18,"tagName":41,"properties":2564,"children":2565,"position":2592},{},[2566,2575,2586],{"type":24,"value":2567,"position":2568},"The walk refuses to invent numbers. A fill falls back to the declared ",{"start":2569,"end":2572},{"line":2570,"column":28,"offset":2571},107,6747,{"line":2570,"column":2573,"offset":2574},71,6817,{"type":18,"tagName":52,"properties":2576,"children":2577,"position":2583},{},[2578],{"type":24,"value":1648,"position":2579},{"start":2580,"end":2581},{"line":2570,"column":2573,"offset":2574},{"line":2570,"column":1854,"offset":2582},6830,{"start":2584,"end":2585},{"line":2570,"column":2573,"offset":2574},{"line":2570,"column":1854,"offset":2582},{"type":24,"value":2587,"position":2588}," and is counted when:",{"start":2589,"end":2590},{"line":2570,"column":1854,"offset":2582},{"line":2570,"column":2554,"offset":2591},6851,{"start":2593,"end":2594},{"line":2570,"column":28,"offset":2571},{"line":2570,"column":2554,"offset":2591},{"type":24,"value":39},{"type":18,"tagName":208,"properties":2597,"children":2598,"position":2664},{},[2599,2600,2616,2617,2631,2632,2646,2647,2663],{"type":24,"value":39},{"type":18,"tagName":213,"properties":2601,"children":2602,"position":2612},{},[2603],{"type":24,"value":2604,"position":2605},"the pair has no recorded book history at all (the run details say so),",{"start":2606,"end":2609},{"line":2607,"column":30,"offset":2608},109,6855,{"line":2607,"column":2610,"offset":2611},73,6925,{"start":2613,"end":2615},{"line":2607,"column":28,"offset":2614},6853,{"line":2607,"column":2610,"offset":2611},{"type":24,"value":39},{"type":18,"tagName":213,"properties":2618,"children":2619,"position":2627},{},[2620],{"type":24,"value":2621,"position":2622},"no snapshot covers that bar (gaps, or the most recent minutes of a live chart),",{"start":2623,"end":2625},{"line":259,"column":30,"offset":2624},6928,{"line":259,"column":191,"offset":2626},7007,{"start":2628,"end":2630},{"line":259,"column":28,"offset":2629},6926,{"line":259,"column":191,"offset":2626},{"type":24,"value":39},{"type":18,"tagName":213,"properties":2633,"children":2634,"position":2642},{},[2635],{"type":24,"value":2636,"position":2637},"the order's (stressed) quantity exceeds the visible depth,",{"start":2638,"end":2640},{"line":1585,"column":30,"offset":2639},7010,{"line":1585,"column":171,"offset":2641},7068,{"start":2643,"end":2645},{"line":1585,"column":28,"offset":2644},7008,{"line":1585,"column":171,"offset":2641},{"type":24,"value":39},{"type":18,"tagName":213,"properties":2648,"children":2649,"position":2659},{},[2650],{"type":24,"value":2651,"position":2652},"the snapshot's best level sits more than 5% from the fill price (a stale or mismatched book is worse than no book).",{"start":2653,"end":2656},{"line":2654,"column":30,"offset":2655},112,7071,{"line":2654,"column":2657,"offset":2658},118,7186,{"start":2660,"end":2662},{"line":2654,"column":28,"offset":2661},7069,{"line":2654,"column":2657,"offset":2658},{"type":24,"value":39},{"start":2665,"end":2666},{"line":2607,"column":28,"offset":2614},{"line":2654,"column":2657,"offset":2658},{"type":24,"value":39},{"type":18,"tagName":41,"properties":2669,"children":2670,"position":2680},{},[2671],{"type":24,"value":2672,"position":2673},"This is an estimate by construction: aggregated snapshots cannot express queue dynamics or replenishment. That is exactly why the counts ship next to the number.",{"start":2674,"end":2677},{"line":2675,"column":28,"offset":2676},114,7188,{"line":2675,"column":2678,"offset":2679},162,7349,{"start":2681,"end":2682},{"line":2675,"column":28,"offset":2676},{"line":2675,"column":2678,"offset":2679},{"type":24,"value":39},{"type":18,"tagName":1236,"properties":2685,"children":2687,"position":2696},{"id":2686},"reading-the-slippage-disclosure",[2688],{"type":24,"value":2689,"position":2690},"Reading the slippage disclosure",{"start":2691,"end":2694},{"line":2692,"column":124,"offset":2693},116,7355,{"line":2692,"column":1247,"offset":2695},7386,{"start":2697,"end":2699},{"line":2692,"column":28,"offset":2698},7351,{"line":2692,"column":1247,"offset":2695},{"type":24,"value":39},{"type":18,"tagName":41,"properties":2702,"children":2703,"position":2711},{},[2704],{"type":24,"value":2705,"position":2706},"The Strategy Tester's run-details popover discloses how slippage was priced:",{"start":2707,"end":2709},{"line":2657,"column":28,"offset":2708},7388,{"line":2657,"column":1851,"offset":2710},7464,{"start":2712,"end":2713},{"line":2657,"column":28,"offset":2708},{"line":2657,"column":1851,"offset":2710},{"type":24,"value":39},{"type":18,"tagName":208,"properties":2716,"children":2717,"position":2833},{},[2718,2719,2750,2751,2783,2784,2832],{"type":24,"value":39},{"type":18,"tagName":213,"properties":2720,"children":2721,"position":2746},{},[2722,2740],{"type":18,"tagName":217,"properties":2723,"children":2724,"position":2734},{},[2725],{"type":24,"value":2726,"position":2727},"\"Slippage: order-book depth estimate, avg N bps across M fills\"",{"start":2728,"end":2731},{"line":2729,"column":124,"offset":2730},120,7470,{"line":2729,"column":2732,"offset":2733},68,7533,{"start":2735,"end":2737},{"line":2729,"column":30,"offset":2736},7468,{"line":2729,"column":2738,"offset":2739},70,7535,{"type":24,"value":2741,"position":2742},": every market-crossing fill was priced from recorded depth.",{"start":2743,"end":2744},{"line":2729,"column":2738,"offset":2739},{"line":2729,"column":1112,"offset":2745},7595,{"start":2747,"end":2749},{"line":2729,"column":28,"offset":2748},7466,{"line":2729,"column":1112,"offset":2745},{"type":24,"value":39},{"type":18,"tagName":213,"properties":2752,"children":2753,"position":2779},{},[2754,2772],{"type":18,"tagName":217,"properties":2755,"children":2756,"position":2766},{},[2757],{"type":24,"value":2758,"position":2759},"\"Slippage: order-book depth estimate on N of M fills, declared rate for the rest\"",{"start":2760,"end":2763},{"line":2761,"column":124,"offset":2762},121,7600,{"line":2761,"column":2764,"offset":2765},86,7681,{"start":2767,"end":2769},{"line":2761,"column":30,"offset":2768},7598,{"line":2761,"column":2770,"offset":2771},88,7683,{"type":24,"value":2773,"position":2774},": partial book coverage over the replay window.",{"start":2775,"end":2776},{"line":2761,"column":2770,"offset":2771},{"line":2761,"column":2777,"offset":2778},135,7730,{"start":2780,"end":2782},{"line":2761,"column":28,"offset":2781},7596,{"line":2761,"column":2777,"offset":2778},{"type":24,"value":39},{"type":18,"tagName":213,"properties":2785,"children":2786,"position":2828},{},[2787,2805,2811,2823],{"type":18,"tagName":217,"properties":2788,"children":2789,"position":2799},{},[2790],{"type":24,"value":2791,"position":2792},"\"Slippage: order-book depth not recorded for this pair, declared rate applied\"",{"start":2793,"end":2796},{"line":2794,"column":124,"offset":2795},122,7735,{"line":2794,"column":2797,"offset":2798},83,7813,{"start":2800,"end":2802},{"line":2794,"column":30,"offset":2801},7733,{"line":2794,"column":2803,"offset":2804},85,7815,{"type":24,"value":2806,"position":2807},": the model fell back entirely; the result is equivalent to ",{"start":2808,"end":2809},{"line":2794,"column":2803,"offset":2804},{"line":2794,"column":269,"offset":2810},7875,{"type":18,"tagName":52,"properties":2812,"children":2813,"position":2820},{},[2814],{"type":24,"value":2815,"position":2816},"slippageModel=\"fixed\"",{"start":2817,"end":2818},{"line":2794,"column":269,"offset":2810},{"line":2794,"column":289,"offset":2819},7898,{"start":2821,"end":2822},{"line":2794,"column":269,"offset":2810},{"line":2794,"column":289,"offset":2819},{"type":24,"value":106,"position":2824},{"start":2825,"end":2826},{"line":2794,"column":289,"offset":2819},{"line":2794,"column":298,"offset":2827},7899,{"start":2829,"end":2831},{"line":2794,"column":28,"offset":2830},7731,{"line":2794,"column":298,"offset":2827},{"type":24,"value":39},{"start":2834,"end":2835},{"line":2729,"column":28,"offset":2748},{"line":2794,"column":298,"offset":2827},{"type":24,"value":39},{"type":18,"tagName":41,"properties":2838,"children":2839,"position":2849},{},[2840],{"type":24,"value":2841,"position":2842},"The model is declared in the script, not toggled in the UI, so a shared strategy reproduces the same way for everyone who runs it. Book data loads for plus-tier backtests; pairs and epochs without recorded books degrade to the declared rate with the disclosure above.",{"start":2843,"end":2846},{"line":2844,"column":28,"offset":2845},124,7901,{"line":2844,"column":2847,"offset":2848},268,8168,{"start":2850,"end":2851},{"line":2844,"column":28,"offset":2845},{"line":2844,"column":2847,"offset":2848},{"type":24,"value":39},{"type":18,"tagName":19,"properties":2854,"children":2856,"position":2864},{"id":2855},"practical-guidance",[2857],{"type":24,"value":2858,"position":2859},"Practical guidance",{"start":2860,"end":2862},{"line":1264,"column":29,"offset":2861},8173,{"line":1264,"column":48,"offset":2863},8191,{"start":2865,"end":2867},{"line":1264,"column":28,"offset":2866},8170,{"line":1264,"column":48,"offset":2863},{"type":24,"value":39},{"type":18,"tagName":208,"properties":2870,"children":2871,"position":2974},{},[2872,2873,2923,2924,2939,2940,2973],{"type":24,"value":39},{"type":18,"tagName":213,"properties":2874,"children":2875,"position":2919},{},[2876,2884,2895,2902,2913],{"type":24,"value":2877,"position":2878},"Set ",{"start":2879,"end":2882},{"line":2880,"column":30,"offset":2881},128,8195,{"line":2880,"column":140,"offset":2883},8199,{"type":18,"tagName":52,"properties":2885,"children":2886,"position":2892},{},[2887],{"type":24,"value":1648,"position":2888},{"start":2889,"end":2890},{"line":2880,"column":140,"offset":2883},{"line":2880,"column":33,"offset":2891},8212,{"start":2893,"end":2894},{"line":2880,"column":140,"offset":2883},{"line":2880,"column":33,"offset":2891},{"type":24,"value":2896,"position":2897}," even when using ",{"start":2898,"end":2899},{"line":2880,"column":33,"offset":2891},{"line":2880,"column":2900,"offset":2901},37,8229,{"type":18,"tagName":52,"properties":2903,"children":2904,"position":2910},{},[2905],{"type":24,"value":1736,"position":2906},{"start":2907,"end":2908},{"line":2880,"column":2900,"offset":2901},{"line":2880,"column":1374,"offset":2909},8243,{"start":2911,"end":2912},{"line":2880,"column":2900,"offset":2901},{"line":2880,"column":1374,"offset":2909},{"type":24,"value":2914,"position":2915},": it is your fallback rate wherever the book cannot answer, so make it realistic for the pair.",{"start":2916,"end":2917},{"line":2880,"column":1374,"offset":2909},{"line":2880,"column":269,"offset":2918},8337,{"start":2920,"end":2922},{"line":2880,"column":28,"offset":2921},8193,{"line":2880,"column":269,"offset":2918},{"type":24,"value":39},{"type":18,"tagName":213,"properties":2925,"children":2926,"position":2935},{},[2927],{"type":24,"value":2928,"position":2929},"Size matters now. A strategy that trades 0.1% of equity and one that trades 50x leverage will see very different book impacts on the same signals, which is the point.",{"start":2930,"end":2933},{"line":2931,"column":30,"offset":2932},129,8340,{"line":2931,"column":298,"offset":2934},8506,{"start":2936,"end":2938},{"line":2931,"column":28,"offset":2937},8338,{"line":2931,"column":298,"offset":2934},{"type":24,"value":39},{"type":18,"tagName":213,"properties":2941,"children":2942,"position":2969},{},[2943,2951,2962],{"type":24,"value":2944,"position":2945},"If the disclosure reports mostly fallback fills on a pair you care about, prefer the flat model with a defensible ",{"start":2946,"end":2948},{"line":1112,"column":30,"offset":2947},8509,{"line":1112,"column":2949,"offset":2950},117,8623,{"type":18,"tagName":52,"properties":2952,"children":2953,"position":2959},{},[2954],{"type":24,"value":1648,"position":2955},{"start":2956,"end":2957},{"line":1112,"column":2949,"offset":2950},{"line":1112,"column":1112,"offset":2958},8636,{"start":2960,"end":2961},{"line":1112,"column":2949,"offset":2950},{"line":1112,"column":1112,"offset":2958},{"type":24,"value":2963,"position":2964}," instead of an estimate that rarely engaged.",{"start":2965,"end":2966},{"line":1112,"column":1112,"offset":2958},{"line":1112,"column":2967,"offset":2968},174,8680,{"start":2970,"end":2972},{"line":1112,"column":28,"offset":2971},8507,{"line":1112,"column":2967,"offset":2968},{"type":24,"value":39},{"start":2975,"end":2976},{"line":2880,"column":28,"offset":2921},{"line":1112,"column":2967,"offset":2968},{"quirksMode":2978},false,{"start":2980,"end":2981},{"line":28,"column":28,"offset":36},{"line":2982,"column":28,"offset":2983},131,8681,1784888033098]