[{"data":1,"prerenderedAt":2369},["ShallowReactive",2],{"indicators:strategies/slippage-and-costs":3},{"slug":4,"filePath":5,"frontmatter":6,"rawMarkdown":11,"tree":12},"strategies/slippage-and-costs","strategies/slippage-and-costs.md",{"title":7,"description":8,"order":9,"section":10},"Slippage and Costs","Commission on spot, maker and taker fees on perps, and flat slippage, each declared in the file so a shared package carries its own assumptions. The accounting…",83,"strategies","---\ntitle: \"Slippage and Costs\"\ndescription: \"Commission on spot, maker and taker fees on perps, and flat slippage, each declared in the file so a shared package carries its own assumptions. The accounting…\"\norder: 83\nsection: \"strategies\"\n---\n\n\u003C!-- source: docs/indicators/strategies/slippage-and-costs.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Slippage and Costs\n\nCommission on spot, maker and taker fees on perps, and flat slippage, each declared in the file so a shared package carries its own assumptions. The accounting is the kScript (legacy) engine's; the book-estimate slippage model is the one piece of it this release refuses rather than approximates.\n\n## Commission (spot)\n\nOn `instrument: \"spot\"` (the default), `commissionPercent` is charged on every fill as a percent of the fill's notional, on entries and exits alike. Fees reduce equity immediately and are reported per trade (`fees` on each trade record) 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. Market entries, stop entries, protective stops, trailing stops, signal exits, `closeAll`, liquidation, and the flattening leg of a reversal a market or stop entry triggered.\n- **Maker** (`makerFeePercent`): limit-bound fills. Limit entries, take-profit limit legs, and the flattening leg of a reversal a limit entry triggered.\n- `stats.feesPaid` is exactly `makerFeesPaid + takerFeesPaid` on perps.\n\n```typescript\n// Perps maker-fee routing: a resting limit entry pays the maker rate, the market close pays the taker rate.\nimport { input, line, lower, ohlcv, output } from \"./sdk/declare\";\nimport { in_close } from \"./gen/inputs\";\nimport { emitRow, out_equity } from \"./gen/outputs\";\nimport { strategy } from \"./gen/strategy\";\nimport { Cross, Sma } from \"./sdk/ta\";\n\nstrategy({ initialCapital: 10000, instrument: \"perps\", leverage: 2, makerFeePercent: 0.1, takerFeePercent: 0.05, funding: \"off\", qtyType: \"fixed\", qtyValue: 1, pyramiding: 1 });\ninput(\"close\", ohlcv.close);\noutput(\"equity\", line, lower, { description: \"Strategy equity\" });\n\nconst fastMa = new Sma(4);\nconst slowMa = new Sma(9);\nconst cross = new Cross();\nlet close: f64 = NaN;\nlet crossed: i32 = 0;\n\nexport function init(): void {}\n\nexport function state(): i32 {\n  close = in_close();\n  const fast = fastMa.update(close);\n  const slow = slowMa.update(close);\n  if (isNaN(fast) || isNaN(slow)) return 0;\n  crossed = cross.update(fast, slow);\n  return 1;\n}\n\nexport function finalize(): void {\n  if (crossed == 1) strategy.long(\"Long\").limit(close * 0.999).send();\n  if (crossed == -1) strategy.close(\"Long\");\n  out_equity(strategy.equity());\n  emitRow();\n}\n\nexport function reset(): void {\n  fastMa.reset();\n  slowMa.reset();\n  cross.reset();\n  close = NaN;\n  crossed = 0;\n}\n```\n\nThe resting limit just under the market is a maker fill when a later bar trades through it (`makerFeesPaid` grows); the market close crosses the market and pays the taker rate (`takerFeesPaid` grows); `feesPaid` is their exact sum.\n\n### One fee schedule per instrument\n\nDeclaring the other instrument's fee settings never double-charges; the build warns and the broker ignores them:\n\n- Perps plus a nonzero `commissionPercent`: `STRATEGY_PERPS_COMMISSION_IGNORED`, fees come from the maker and taker rates.\n- Spot plus `makerFeePercent` or `takerFeePercent`: `STRATEGY_SPOT_MAKER_TAKER_IGNORED`, the run charges commission only. Declare one of the pair and the warning names just that one; `onLiquidation` on spot warns the same way.\n\nFunding on perps is a holding cashflow, not a fill cost, and has its own stats and series; see [perps](perps.md).\n\n## Flat slippage\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. Slippage is priced into the fill itself: the trade records carry the slipped price, and there is no separate slippage line to subtract, which is why the backtest card's slippage column reads `0` on this lane while its header echoes the declared rate.\n\nFlat slippage is honest about being a constant: it neither grows with your order size nor tightens on liquid pairs.\n\n## The book estimate\n\nkScript's `slippageModel=\"bookEstimate\"` walks recorded order-book depth to price market-crossing fills by size. This release attaches no order book to any host, so a package declaring `slippageModel: \"bookEstimate\"` is refused by name at validation (`wrun_strategy_slippage_model_unsupported`) rather than silently priced at the flat rate. Declare `\"fixed\"` with a `slippageBps` that is realistic for the pair; the book-aware model is a named next step.\n\n## The backtest lane\n\n`om backtest @scope/name` takes no cost flags: `--fee-bps`, `--slippage-bps`, `--latency-bars` and a book size are refused by name (`wrun_strategy_costs_in_sheet`), because a package with its own broker settings would otherwise carry two sets of assumptions. Change the declaration, or link a setting to a param and pass params.\n\n## Practical guidance\n\n- Set `slippageBps` to what a taker actually pays on the pair, and `commissionPercent` or the maker and taker rates to your tier. Most retail rules die here.\n- Size matters: a strategy that trades a fraction of equity and one that trades at 10x see very different fee bills on the same signals, because fees are a percent of notional.\n- Read `feesPaid` against `netProfit` before reading the win rate: a strategy that crossed the spread 34 times in a quarter has paid for it.\n",{"type":13,"children":14,"data":2362,"position":2364},"root",[15,25,28,29,46,47,66,67,162,163,180,181,253,254,430,431,1558,1559,1634,1635,1652,1653,1668,1669,1822,1823,1862,1863,1879,1880,1946,1947,1962,1963,1979,1980,2090,2091,2107,2108,2212,2213,2230,2231],{"type":16,"value":17,"position":18},"comment"," source: docs/indicators/strategies/slippage-and-costs.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit ",{"start":19,"end":22},{"line":20,"column":20,"offset":21},1,0,{"line":20,"column":23,"offset":24},136,135,{"type":26,"value":27},"text","\n",{"type":26,"value":27},{"type":30,"tagName":31,"properties":32,"children":33,"position":43},"element","p",{},[34],{"type":26,"value":35,"position":36},"Commission on spot, maker and taker fees on perps, and flat slippage, each declared in the file so a shared package carries its own assumptions. The accounting is the kScript (legacy) engine's; the book-estimate slippage model is the one piece of it this release refuses rather than approximates.",{"start":37,"end":40},{"line":38,"column":20,"offset":39},5,159,{"line":38,"column":41,"offset":42},297,455,{"start":44,"end":45},{"line":38,"column":20,"offset":39},{"line":38,"column":41,"offset":42},{"type":26,"value":27},{"type":30,"tagName":48,"properties":49,"children":51,"position":62},"h2",{"id":50},"commission-spot",[52],{"type":26,"value":53,"position":54},"Commission (spot)",{"start":55,"end":59},{"line":56,"column":57,"offset":58},7,4,460,{"line":56,"column":60,"offset":61},21,477,{"start":63,"end":65},{"line":56,"column":20,"offset":64},457,{"line":56,"column":60,"offset":61},{"type":26,"value":27},{"type":30,"tagName":31,"properties":68,"children":69,"position":159},{},[70,78,92,99,112,119,132,139,152],{"type":26,"value":71,"position":72},"On ",{"start":73,"end":76},{"line":74,"column":20,"offset":75},9,479,{"line":74,"column":57,"offset":77},482,{"type":30,"tagName":79,"properties":80,"children":81,"position":89},"code",{},[82],{"type":26,"value":83,"position":84},"instrument: \"spot\"",{"start":85,"end":86},{"line":74,"column":57,"offset":77},{"line":74,"column":87,"offset":88},24,502,{"start":90,"end":91},{"line":74,"column":57,"offset":77},{"line":74,"column":87,"offset":88},{"type":26,"value":93,"position":94}," (the default), ",{"start":95,"end":96},{"line":74,"column":87,"offset":88},{"line":74,"column":97,"offset":98},40,518,{"type":30,"tagName":79,"properties":100,"children":101,"position":109},{},[102],{"type":26,"value":103,"position":104},"commissionPercent",{"start":105,"end":106},{"line":74,"column":97,"offset":98},{"line":74,"column":107,"offset":108},59,537,{"start":110,"end":111},{"line":74,"column":97,"offset":98},{"line":74,"column":107,"offset":108},{"type":26,"value":113,"position":114}," is charged on every fill as a percent of the fill's notional, on entries and exits alike. Fees reduce equity immediately and are reported per trade (",{"start":115,"end":116},{"line":74,"column":107,"offset":108},{"line":74,"column":117,"offset":118},209,687,{"type":30,"tagName":79,"properties":120,"children":121,"position":129},{},[122],{"type":26,"value":123,"position":124},"fees",{"start":125,"end":126},{"line":74,"column":117,"offset":118},{"line":74,"column":127,"offset":128},215,693,{"start":130,"end":131},{"line":74,"column":117,"offset":118},{"line":74,"column":127,"offset":128},{"type":26,"value":133,"position":134}," on each trade record) and in the totals as ",{"start":135,"end":136},{"line":74,"column":127,"offset":128},{"line":74,"column":137,"offset":138},259,737,{"type":30,"tagName":79,"properties":140,"children":141,"position":149},{},[142],{"type":26,"value":143,"position":144},"stats.feesPaid",{"start":145,"end":146},{"line":74,"column":137,"offset":138},{"line":74,"column":147,"offset":148},275,753,{"start":150,"end":151},{"line":74,"column":137,"offset":138},{"line":74,"column":147,"offset":148},{"type":26,"value":153,"position":154},".",{"start":155,"end":156},{"line":74,"column":147,"offset":148},{"line":74,"column":157,"offset":158},276,754,{"start":160,"end":161},{"line":74,"column":20,"offset":75},{"line":74,"column":157,"offset":158},{"type":26,"value":27},{"type":30,"tagName":48,"properties":164,"children":166,"position":176},{"id":165},"maker-and-taker-fees-perps",[167],{"type":26,"value":168,"position":169},"Maker and taker fees (perps)",{"start":170,"end":173},{"line":171,"column":57,"offset":172},11,759,{"line":171,"column":174,"offset":175},32,787,{"start":177,"end":179},{"line":171,"column":20,"offset":178},756,{"line":171,"column":174,"offset":175},{"type":26,"value":27},{"type":30,"tagName":31,"properties":182,"children":183,"position":250},{},[184,191,204,211,224,231,243],{"type":26,"value":71,"position":185},{"start":186,"end":189},{"line":187,"column":20,"offset":188},13,789,{"line":187,"column":57,"offset":190},792,{"type":30,"tagName":79,"properties":192,"children":193,"position":201},{},[194],{"type":26,"value":195,"position":196},"instrument: \"perps\"",{"start":197,"end":198},{"line":187,"column":57,"offset":190},{"line":187,"column":199,"offset":200},25,813,{"start":202,"end":203},{"line":187,"column":57,"offset":190},{"line":187,"column":199,"offset":200},{"type":26,"value":205,"position":206},", fills are charged ",{"start":207,"end":208},{"line":187,"column":199,"offset":200},{"line":187,"column":209,"offset":210},45,833,{"type":30,"tagName":79,"properties":212,"children":213,"position":221},{},[214],{"type":26,"value":215,"position":216},"makerFeePercent",{"start":217,"end":218},{"line":187,"column":209,"offset":210},{"line":187,"column":219,"offset":220},62,850,{"start":222,"end":223},{"line":187,"column":209,"offset":210},{"line":187,"column":219,"offset":220},{"type":26,"value":225,"position":226}," or ",{"start":227,"end":228},{"line":187,"column":219,"offset":220},{"line":187,"column":229,"offset":230},66,854,{"type":30,"tagName":79,"properties":232,"children":233,"position":240},{},[234],{"type":26,"value":235,"position":236},"takerFeePercent",{"start":237,"end":238},{"line":187,"column":229,"offset":230},{"line":187,"column":9,"offset":239},871,{"start":241,"end":242},{"line":187,"column":229,"offset":230},{"line":187,"column":9,"offset":239},{"type":26,"value":244,"position":245}," instead of commission, by how the fill reached the market:",{"start":246,"end":247},{"line":187,"column":9,"offset":239},{"line":187,"column":248,"offset":249},142,930,{"start":251,"end":252},{"line":187,"column":20,"offset":188},{"line":187,"column":248,"offset":249},{"type":26,"value":27},{"type":30,"tagName":255,"properties":256,"children":257,"position":427},"ul",{},[258,259,332,333,379,380,426],{"type":26,"value":27},{"type":30,"tagName":260,"properties":261,"children":262,"position":328},"li",{},[263,283,290,302,308,321],{"type":30,"tagName":264,"properties":265,"children":266,"position":276},"strong",{},[267],{"type":26,"value":268,"position":269},"Taker",{"start":270,"end":273},{"line":271,"column":38,"offset":272},15,936,{"line":271,"column":274,"offset":275},10,941,{"start":277,"end":280},{"line":271,"column":278,"offset":279},3,934,{"line":271,"column":281,"offset":282},12,943,{"type":26,"value":284,"position":285}," (",{"start":286,"end":287},{"line":271,"column":281,"offset":282},{"line":271,"column":288,"offset":289},14,945,{"type":30,"tagName":79,"properties":291,"children":292,"position":299},{},[293],{"type":26,"value":235,"position":294},{"start":295,"end":296},{"line":271,"column":288,"offset":289},{"line":271,"column":297,"offset":298},31,962,{"start":300,"end":301},{"line":271,"column":288,"offset":289},{"line":271,"column":297,"offset":298},{"type":26,"value":303,"position":304},"): market-crossing fills. Market entries, stop entries, protective stops, trailing stops, signal exits, ",{"start":305,"end":306},{"line":271,"column":297,"offset":298},{"line":271,"column":24,"offset":307},1066,{"type":30,"tagName":79,"properties":309,"children":310,"position":318},{},[311],{"type":26,"value":312,"position":313},"closeAll",{"start":314,"end":315},{"line":271,"column":24,"offset":307},{"line":271,"column":316,"offset":317},145,1076,{"start":319,"end":320},{"line":271,"column":24,"offset":307},{"line":271,"column":316,"offset":317},{"type":26,"value":322,"position":323},", liquidation, and the flattening leg of a reversal a market or stop entry triggered.",{"start":324,"end":325},{"line":271,"column":316,"offset":317},{"line":271,"column":326,"offset":327},230,1161,{"start":329,"end":331},{"line":271,"column":20,"offset":330},932,{"line":271,"column":326,"offset":327},{"type":26,"value":27},{"type":30,"tagName":260,"properties":334,"children":335,"position":375},{},[336,352,357,368],{"type":30,"tagName":264,"properties":337,"children":338,"position":347},{},[339],{"type":26,"value":340,"position":341},"Maker",{"start":342,"end":345},{"line":343,"column":38,"offset":344},16,1166,{"line":343,"column":274,"offset":346},1171,{"start":348,"end":350},{"line":343,"column":278,"offset":349},1164,{"line":343,"column":281,"offset":351},1173,{"type":26,"value":284,"position":353},{"start":354,"end":355},{"line":343,"column":281,"offset":351},{"line":343,"column":288,"offset":356},1175,{"type":30,"tagName":79,"properties":358,"children":359,"position":365},{},[360],{"type":26,"value":215,"position":361},{"start":362,"end":363},{"line":343,"column":288,"offset":356},{"line":343,"column":297,"offset":364},1192,{"start":366,"end":367},{"line":343,"column":288,"offset":356},{"line":343,"column":297,"offset":364},{"type":26,"value":369,"position":370},"): limit-bound fills. Limit entries, take-profit limit legs, and the flattening leg of a reversal a limit entry triggered.",{"start":371,"end":372},{"line":343,"column":297,"offset":364},{"line":343,"column":373,"offset":374},153,1314,{"start":376,"end":378},{"line":343,"column":20,"offset":377},1162,{"line":343,"column":373,"offset":374},{"type":26,"value":27},{"type":30,"tagName":260,"properties":381,"children":382,"position":422},{},[383,397,403,415],{"type":30,"tagName":79,"properties":384,"children":385,"position":394},{},[386],{"type":26,"value":143,"position":387},{"start":388,"end":391},{"line":389,"column":278,"offset":390},17,1317,{"line":389,"column":392,"offset":393},19,1333,{"start":395,"end":396},{"line":389,"column":278,"offset":390},{"line":389,"column":392,"offset":393},{"type":26,"value":398,"position":399}," is exactly ",{"start":400,"end":401},{"line":389,"column":392,"offset":393},{"line":389,"column":297,"offset":402},1345,{"type":30,"tagName":79,"properties":404,"children":405,"position":412},{},[406],{"type":26,"value":407,"position":408},"makerFeesPaid + takerFeesPaid",{"start":409,"end":410},{"line":389,"column":297,"offset":402},{"line":389,"column":219,"offset":411},1376,{"start":413,"end":414},{"line":389,"column":297,"offset":402},{"line":389,"column":219,"offset":411},{"type":26,"value":416,"position":417}," on perps.",{"start":418,"end":419},{"line":389,"column":219,"offset":411},{"line":389,"column":420,"offset":421},72,1386,{"start":423,"end":425},{"line":389,"column":20,"offset":424},1315,{"line":389,"column":420,"offset":421},{"type":26,"value":27},{"start":428,"end":429},{"line":271,"column":20,"offset":330},{"line":389,"column":420,"offset":421},{"type":26,"value":27},{"type":13,"children":432},[433],{"type":30,"tagName":434,"properties":435,"children":439,"data":-1},"pre",{"class":436,"style":437,"tabindex":438},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0",[440],{"type":30,"tagName":79,"properties":441,"children":442},{},[443,454,455,486,487,512,513,538,539,564,565,590,591,594,595,699,700,723,724,755,756,759,760,802,803,840,841,871,872,908,909,943,944,947,948,985,986,989,990,1023,1024,1046,1047,1079,1080,1109,1110,1160,1161,1187,1188,1205,1206,1214,1215,1218,1219,1251,1252,1330,1331,1376,1377,1400,1401,1413,1414,1421,1422,1425,1426,1458,1459,1476,1477,1493,1494,1510,1511,1530,1531,1550,1551],{"type":30,"tagName":444,"properties":445,"children":447},"span",{"class":446},"line",[448],{"type":30,"tagName":444,"properties":449,"children":451},{"style":450},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[452],{"type":26,"value":453},"// Perps maker-fee routing: a resting limit entry pays the maker rate, the market close pays the taker rate.",{"type":26,"value":27},{"type":30,"tagName":444,"properties":456,"children":457},{"class":446},[458,464,470,475,481],{"type":30,"tagName":444,"properties":459,"children":461},{"style":460},"--shiki-dark:#F97583;--shiki-light:#D73A49",[462],{"type":26,"value":463},"import",{"type":30,"tagName":444,"properties":465,"children":467},{"style":466},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[468],{"type":26,"value":469}," { input, line, lower, ohlcv, output } ",{"type":30,"tagName":444,"properties":471,"children":472},{"style":460},[473],{"type":26,"value":474},"from",{"type":30,"tagName":444,"properties":476,"children":478},{"style":477},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[479],{"type":26,"value":480}," \"./sdk/declare\"",{"type":30,"tagName":444,"properties":482,"children":483},{"style":466},[484],{"type":26,"value":485},";",{"type":26,"value":27},{"type":30,"tagName":444,"properties":488,"children":489},{"class":446},[490,494,499,503,508],{"type":30,"tagName":444,"properties":491,"children":492},{"style":460},[493],{"type":26,"value":463},{"type":30,"tagName":444,"properties":495,"children":496},{"style":466},[497],{"type":26,"value":498}," { in_close } ",{"type":30,"tagName":444,"properties":500,"children":501},{"style":460},[502],{"type":26,"value":474},{"type":30,"tagName":444,"properties":504,"children":505},{"style":477},[506],{"type":26,"value":507}," \"./gen/inputs\"",{"type":30,"tagName":444,"properties":509,"children":510},{"style":466},[511],{"type":26,"value":485},{"type":26,"value":27},{"type":30,"tagName":444,"properties":514,"children":515},{"class":446},[516,520,525,529,534],{"type":30,"tagName":444,"properties":517,"children":518},{"style":460},[519],{"type":26,"value":463},{"type":30,"tagName":444,"properties":521,"children":522},{"style":466},[523],{"type":26,"value":524}," { emitRow, out_equity } ",{"type":30,"tagName":444,"properties":526,"children":527},{"style":460},[528],{"type":26,"value":474},{"type":30,"tagName":444,"properties":530,"children":531},{"style":477},[532],{"type":26,"value":533}," \"./gen/outputs\"",{"type":30,"tagName":444,"properties":535,"children":536},{"style":466},[537],{"type":26,"value":485},{"type":26,"value":27},{"type":30,"tagName":444,"properties":540,"children":541},{"class":446},[542,546,551,555,560],{"type":30,"tagName":444,"properties":543,"children":544},{"style":460},[545],{"type":26,"value":463},{"type":30,"tagName":444,"properties":547,"children":548},{"style":466},[549],{"type":26,"value":550}," { strategy } ",{"type":30,"tagName":444,"properties":552,"children":553},{"style":460},[554],{"type":26,"value":474},{"type":30,"tagName":444,"properties":556,"children":557},{"style":477},[558],{"type":26,"value":559}," \"./gen/strategy\"",{"type":30,"tagName":444,"properties":561,"children":562},{"style":466},[563],{"type":26,"value":485},{"type":26,"value":27},{"type":30,"tagName":444,"properties":566,"children":567},{"class":446},[568,572,577,581,586],{"type":30,"tagName":444,"properties":569,"children":570},{"style":460},[571],{"type":26,"value":463},{"type":30,"tagName":444,"properties":573,"children":574},{"style":466},[575],{"type":26,"value":576}," { Cross, Sma } ",{"type":30,"tagName":444,"properties":578,"children":579},{"style":460},[580],{"type":26,"value":474},{"type":30,"tagName":444,"properties":582,"children":583},{"style":477},[584],{"type":26,"value":585}," \"./sdk/ta\"",{"type":30,"tagName":444,"properties":587,"children":588},{"style":466},[589],{"type":26,"value":485},{"type":26,"value":27},{"type":30,"tagName":444,"properties":592,"children":593},{"class":446},[],{"type":26,"value":27},{"type":30,"tagName":444,"properties":596,"children":597},{"class":446},[598,604,609,615,620,625,630,635,640,645,650,655,660,665,670,675,680,685,690,694],{"type":30,"tagName":444,"properties":599,"children":601},{"style":600},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[602],{"type":26,"value":603},"strategy",{"type":30,"tagName":444,"properties":605,"children":606},{"style":466},[607],{"type":26,"value":608},"({ initialCapital: ",{"type":30,"tagName":444,"properties":610,"children":612},{"style":611},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[613],{"type":26,"value":614},"10000",{"type":30,"tagName":444,"properties":616,"children":617},{"style":466},[618],{"type":26,"value":619},", instrument: ",{"type":30,"tagName":444,"properties":621,"children":622},{"style":477},[623],{"type":26,"value":624},"\"perps\"",{"type":30,"tagName":444,"properties":626,"children":627},{"style":466},[628],{"type":26,"value":629},", leverage: ",{"type":30,"tagName":444,"properties":631,"children":632},{"style":611},[633],{"type":26,"value":634},"2",{"type":30,"tagName":444,"properties":636,"children":637},{"style":466},[638],{"type":26,"value":639},", makerFeePercent: ",{"type":30,"tagName":444,"properties":641,"children":642},{"style":611},[643],{"type":26,"value":644},"0.1",{"type":30,"tagName":444,"properties":646,"children":647},{"style":466},[648],{"type":26,"value":649},", takerFeePercent: ",{"type":30,"tagName":444,"properties":651,"children":652},{"style":611},[653],{"type":26,"value":654},"0.05",{"type":30,"tagName":444,"properties":656,"children":657},{"style":466},[658],{"type":26,"value":659},", funding: ",{"type":30,"tagName":444,"properties":661,"children":662},{"style":477},[663],{"type":26,"value":664},"\"off\"",{"type":30,"tagName":444,"properties":666,"children":667},{"style":466},[668],{"type":26,"value":669},", qtyType: ",{"type":30,"tagName":444,"properties":671,"children":672},{"style":477},[673],{"type":26,"value":674},"\"fixed\"",{"type":30,"tagName":444,"properties":676,"children":677},{"style":466},[678],{"type":26,"value":679},", qtyValue: ",{"type":30,"tagName":444,"properties":681,"children":682},{"style":611},[683],{"type":26,"value":684},"1",{"type":30,"tagName":444,"properties":686,"children":687},{"style":466},[688],{"type":26,"value":689},", pyramiding: ",{"type":30,"tagName":444,"properties":691,"children":692},{"style":611},[693],{"type":26,"value":684},{"type":30,"tagName":444,"properties":695,"children":696},{"style":466},[697],{"type":26,"value":698}," });",{"type":26,"value":27},{"type":30,"tagName":444,"properties":701,"children":702},{"class":446},[703,708,713,718],{"type":30,"tagName":444,"properties":704,"children":705},{"style":600},[706],{"type":26,"value":707},"input",{"type":30,"tagName":444,"properties":709,"children":710},{"style":466},[711],{"type":26,"value":712},"(",{"type":30,"tagName":444,"properties":714,"children":715},{"style":477},[716],{"type":26,"value":717},"\"close\"",{"type":30,"tagName":444,"properties":719,"children":720},{"style":466},[721],{"type":26,"value":722},", ohlcv.close);",{"type":26,"value":27},{"type":30,"tagName":444,"properties":725,"children":726},{"class":446},[727,732,736,741,746,751],{"type":30,"tagName":444,"properties":728,"children":729},{"style":600},[730],{"type":26,"value":731},"output",{"type":30,"tagName":444,"properties":733,"children":734},{"style":466},[735],{"type":26,"value":712},{"type":30,"tagName":444,"properties":737,"children":738},{"style":477},[739],{"type":26,"value":740},"\"equity\"",{"type":30,"tagName":444,"properties":742,"children":743},{"style":466},[744],{"type":26,"value":745},", line, lower, { description: ",{"type":30,"tagName":444,"properties":747,"children":748},{"style":477},[749],{"type":26,"value":750},"\"Strategy equity\"",{"type":30,"tagName":444,"properties":752,"children":753},{"style":466},[754],{"type":26,"value":698},{"type":26,"value":27},{"type":30,"tagName":444,"properties":757,"children":758},{"class":446},[],{"type":26,"value":27},{"type":30,"tagName":444,"properties":761,"children":762},{"class":446},[763,768,773,778,783,788,792,797],{"type":30,"tagName":444,"properties":764,"children":765},{"style":460},[766],{"type":26,"value":767},"const",{"type":30,"tagName":444,"properties":769,"children":770},{"style":611},[771],{"type":26,"value":772}," fastMa",{"type":30,"tagName":444,"properties":774,"children":775},{"style":460},[776],{"type":26,"value":777}," =",{"type":30,"tagName":444,"properties":779,"children":780},{"style":460},[781],{"type":26,"value":782}," new",{"type":30,"tagName":444,"properties":784,"children":785},{"style":600},[786],{"type":26,"value":787}," Sma",{"type":30,"tagName":444,"properties":789,"children":790},{"style":466},[791],{"type":26,"value":712},{"type":30,"tagName":444,"properties":793,"children":794},{"style":611},[795],{"type":26,"value":796},"4",{"type":30,"tagName":444,"properties":798,"children":799},{"style":466},[800],{"type":26,"value":801},");",{"type":26,"value":27},{"type":30,"tagName":444,"properties":804,"children":805},{"class":446},[806,810,815,819,823,827,831,836],{"type":30,"tagName":444,"properties":807,"children":808},{"style":460},[809],{"type":26,"value":767},{"type":30,"tagName":444,"properties":811,"children":812},{"style":611},[813],{"type":26,"value":814}," slowMa",{"type":30,"tagName":444,"properties":816,"children":817},{"style":460},[818],{"type":26,"value":777},{"type":30,"tagName":444,"properties":820,"children":821},{"style":460},[822],{"type":26,"value":782},{"type":30,"tagName":444,"properties":824,"children":825},{"style":600},[826],{"type":26,"value":787},{"type":30,"tagName":444,"properties":828,"children":829},{"style":466},[830],{"type":26,"value":712},{"type":30,"tagName":444,"properties":832,"children":833},{"style":611},[834],{"type":26,"value":835},"9",{"type":30,"tagName":444,"properties":837,"children":838},{"style":466},[839],{"type":26,"value":801},{"type":26,"value":27},{"type":30,"tagName":444,"properties":842,"children":843},{"class":446},[844,848,853,857,861,866],{"type":30,"tagName":444,"properties":845,"children":846},{"style":460},[847],{"type":26,"value":767},{"type":30,"tagName":444,"properties":849,"children":850},{"style":611},[851],{"type":26,"value":852}," cross",{"type":30,"tagName":444,"properties":854,"children":855},{"style":460},[856],{"type":26,"value":777},{"type":30,"tagName":444,"properties":858,"children":859},{"style":460},[860],{"type":26,"value":782},{"type":30,"tagName":444,"properties":862,"children":863},{"style":600},[864],{"type":26,"value":865}," Cross",{"type":30,"tagName":444,"properties":867,"children":868},{"style":466},[869],{"type":26,"value":870},"();",{"type":26,"value":27},{"type":30,"tagName":444,"properties":873,"children":874},{"class":446},[875,880,885,890,895,899,904],{"type":30,"tagName":444,"properties":876,"children":877},{"style":460},[878],{"type":26,"value":879},"let",{"type":30,"tagName":444,"properties":881,"children":882},{"style":466},[883],{"type":26,"value":884}," close",{"type":30,"tagName":444,"properties":886,"children":887},{"style":460},[888],{"type":26,"value":889},":",{"type":30,"tagName":444,"properties":891,"children":892},{"style":600},[893],{"type":26,"value":894}," f64",{"type":30,"tagName":444,"properties":896,"children":897},{"style":460},[898],{"type":26,"value":777},{"type":30,"tagName":444,"properties":900,"children":901},{"style":611},[902],{"type":26,"value":903}," NaN",{"type":30,"tagName":444,"properties":905,"children":906},{"style":466},[907],{"type":26,"value":485},{"type":26,"value":27},{"type":30,"tagName":444,"properties":910,"children":911},{"class":446},[912,916,921,925,930,934,939],{"type":30,"tagName":444,"properties":913,"children":914},{"style":460},[915],{"type":26,"value":879},{"type":30,"tagName":444,"properties":917,"children":918},{"style":466},[919],{"type":26,"value":920}," crossed",{"type":30,"tagName":444,"properties":922,"children":923},{"style":460},[924],{"type":26,"value":889},{"type":30,"tagName":444,"properties":926,"children":927},{"style":600},[928],{"type":26,"value":929}," i32",{"type":30,"tagName":444,"properties":931,"children":932},{"style":460},[933],{"type":26,"value":777},{"type":30,"tagName":444,"properties":935,"children":936},{"style":611},[937],{"type":26,"value":938}," 0",{"type":30,"tagName":444,"properties":940,"children":941},{"style":466},[942],{"type":26,"value":485},{"type":26,"value":27},{"type":30,"tagName":444,"properties":945,"children":946},{"class":446},[],{"type":26,"value":27},{"type":30,"tagName":444,"properties":949,"children":950},{"class":446},[951,956,961,966,971,975,980],{"type":30,"tagName":444,"properties":952,"children":953},{"style":460},[954],{"type":26,"value":955},"export",{"type":30,"tagName":444,"properties":957,"children":958},{"style":460},[959],{"type":26,"value":960}," function",{"type":30,"tagName":444,"properties":962,"children":963},{"style":600},[964],{"type":26,"value":965}," init",{"type":30,"tagName":444,"properties":967,"children":968},{"style":466},[969],{"type":26,"value":970},"()",{"type":30,"tagName":444,"properties":972,"children":973},{"style":460},[974],{"type":26,"value":889},{"type":30,"tagName":444,"properties":976,"children":977},{"style":611},[978],{"type":26,"value":979}," void",{"type":30,"tagName":444,"properties":981,"children":982},{"style":466},[983],{"type":26,"value":984}," {}",{"type":26,"value":27},{"type":30,"tagName":444,"properties":987,"children":988},{"class":446},[],{"type":26,"value":27},{"type":30,"tagName":444,"properties":991,"children":992},{"class":446},[993,997,1001,1006,1010,1014,1018],{"type":30,"tagName":444,"properties":994,"children":995},{"style":460},[996],{"type":26,"value":955},{"type":30,"tagName":444,"properties":998,"children":999},{"style":460},[1000],{"type":26,"value":960},{"type":30,"tagName":444,"properties":1002,"children":1003},{"style":600},[1004],{"type":26,"value":1005}," state",{"type":30,"tagName":444,"properties":1007,"children":1008},{"style":466},[1009],{"type":26,"value":970},{"type":30,"tagName":444,"properties":1011,"children":1012},{"style":460},[1013],{"type":26,"value":889},{"type":30,"tagName":444,"properties":1015,"children":1016},{"style":600},[1017],{"type":26,"value":929},{"type":30,"tagName":444,"properties":1019,"children":1020},{"style":466},[1021],{"type":26,"value":1022}," {",{"type":26,"value":27},{"type":30,"tagName":444,"properties":1025,"children":1026},{"class":446},[1027,1032,1037,1042],{"type":30,"tagName":444,"properties":1028,"children":1029},{"style":466},[1030],{"type":26,"value":1031},"  close ",{"type":30,"tagName":444,"properties":1033,"children":1034},{"style":460},[1035],{"type":26,"value":1036},"=",{"type":30,"tagName":444,"properties":1038,"children":1039},{"style":600},[1040],{"type":26,"value":1041}," in_close",{"type":30,"tagName":444,"properties":1043,"children":1044},{"style":466},[1045],{"type":26,"value":870},{"type":26,"value":27},{"type":30,"tagName":444,"properties":1048,"children":1049},{"class":446},[1050,1055,1060,1064,1069,1074],{"type":30,"tagName":444,"properties":1051,"children":1052},{"style":460},[1053],{"type":26,"value":1054},"  const",{"type":30,"tagName":444,"properties":1056,"children":1057},{"style":611},[1058],{"type":26,"value":1059}," fast",{"type":30,"tagName":444,"properties":1061,"children":1062},{"style":460},[1063],{"type":26,"value":777},{"type":30,"tagName":444,"properties":1065,"children":1066},{"style":466},[1067],{"type":26,"value":1068}," fastMa.",{"type":30,"tagName":444,"properties":1070,"children":1071},{"style":600},[1072],{"type":26,"value":1073},"update",{"type":30,"tagName":444,"properties":1075,"children":1076},{"style":466},[1077],{"type":26,"value":1078},"(close);",{"type":26,"value":27},{"type":30,"tagName":444,"properties":1081,"children":1082},{"class":446},[1083,1087,1092,1096,1101,1105],{"type":30,"tagName":444,"properties":1084,"children":1085},{"style":460},[1086],{"type":26,"value":1054},{"type":30,"tagName":444,"properties":1088,"children":1089},{"style":611},[1090],{"type":26,"value":1091}," slow",{"type":30,"tagName":444,"properties":1093,"children":1094},{"style":460},[1095],{"type":26,"value":777},{"type":30,"tagName":444,"properties":1097,"children":1098},{"style":466},[1099],{"type":26,"value":1100}," slowMa.",{"type":30,"tagName":444,"properties":1102,"children":1103},{"style":600},[1104],{"type":26,"value":1073},{"type":30,"tagName":444,"properties":1106,"children":1107},{"style":466},[1108],{"type":26,"value":1078},{"type":26,"value":27},{"type":30,"tagName":444,"properties":1111,"children":1112},{"class":446},[1113,1118,1122,1127,1132,1137,1142,1147,1152,1156],{"type":30,"tagName":444,"properties":1114,"children":1115},{"style":460},[1116],{"type":26,"value":1117},"  if",{"type":30,"tagName":444,"properties":1119,"children":1120},{"style":466},[1121],{"type":26,"value":284},{"type":30,"tagName":444,"properties":1123,"children":1124},{"style":600},[1125],{"type":26,"value":1126},"isNaN",{"type":30,"tagName":444,"properties":1128,"children":1129},{"style":466},[1130],{"type":26,"value":1131},"(fast) ",{"type":30,"tagName":444,"properties":1133,"children":1134},{"style":460},[1135],{"type":26,"value":1136},"||",{"type":30,"tagName":444,"properties":1138,"children":1139},{"style":600},[1140],{"type":26,"value":1141}," isNaN",{"type":30,"tagName":444,"properties":1143,"children":1144},{"style":466},[1145],{"type":26,"value":1146},"(slow)) ",{"type":30,"tagName":444,"properties":1148,"children":1149},{"style":460},[1150],{"type":26,"value":1151},"return",{"type":30,"tagName":444,"properties":1153,"children":1154},{"style":611},[1155],{"type":26,"value":938},{"type":30,"tagName":444,"properties":1157,"children":1158},{"style":466},[1159],{"type":26,"value":485},{"type":26,"value":27},{"type":30,"tagName":444,"properties":1162,"children":1163},{"class":446},[1164,1169,1173,1178,1182],{"type":30,"tagName":444,"properties":1165,"children":1166},{"style":466},[1167],{"type":26,"value":1168},"  crossed ",{"type":30,"tagName":444,"properties":1170,"children":1171},{"style":460},[1172],{"type":26,"value":1036},{"type":30,"tagName":444,"properties":1174,"children":1175},{"style":466},[1176],{"type":26,"value":1177}," cross.",{"type":30,"tagName":444,"properties":1179,"children":1180},{"style":600},[1181],{"type":26,"value":1073},{"type":30,"tagName":444,"properties":1183,"children":1184},{"style":466},[1185],{"type":26,"value":1186},"(fast, slow);",{"type":26,"value":27},{"type":30,"tagName":444,"properties":1189,"children":1190},{"class":446},[1191,1196,1201],{"type":30,"tagName":444,"properties":1192,"children":1193},{"style":460},[1194],{"type":26,"value":1195},"  return",{"type":30,"tagName":444,"properties":1197,"children":1198},{"style":611},[1199],{"type":26,"value":1200}," 1",{"type":30,"tagName":444,"properties":1202,"children":1203},{"style":466},[1204],{"type":26,"value":485},{"type":26,"value":27},{"type":30,"tagName":444,"properties":1207,"children":1208},{"class":446},[1209],{"type":30,"tagName":444,"properties":1210,"children":1211},{"style":466},[1212],{"type":26,"value":1213},"}",{"type":26,"value":27},{"type":30,"tagName":444,"properties":1216,"children":1217},{"class":446},[],{"type":26,"value":27},{"type":30,"tagName":444,"properties":1220,"children":1221},{"class":446},[1222,1226,1230,1235,1239,1243,1247],{"type":30,"tagName":444,"properties":1223,"children":1224},{"style":460},[1225],{"type":26,"value":955},{"type":30,"tagName":444,"properties":1227,"children":1228},{"style":460},[1229],{"type":26,"value":960},{"type":30,"tagName":444,"properties":1231,"children":1232},{"style":600},[1233],{"type":26,"value":1234}," finalize",{"type":30,"tagName":444,"properties":1236,"children":1237},{"style":466},[1238],{"type":26,"value":970},{"type":30,"tagName":444,"properties":1240,"children":1241},{"style":460},[1242],{"type":26,"value":889},{"type":30,"tagName":444,"properties":1244,"children":1245},{"style":611},[1246],{"type":26,"value":979},{"type":30,"tagName":444,"properties":1248,"children":1249},{"style":466},[1250],{"type":26,"value":1022},{"type":26,"value":27},{"type":30,"tagName":444,"properties":1253,"children":1254},{"class":446},[1255,1259,1264,1269,1273,1278,1283,1287,1292,1297,1302,1307,1312,1317,1321,1326],{"type":30,"tagName":444,"properties":1256,"children":1257},{"style":460},[1258],{"type":26,"value":1117},{"type":30,"tagName":444,"properties":1260,"children":1261},{"style":466},[1262],{"type":26,"value":1263}," (crossed ",{"type":30,"tagName":444,"properties":1265,"children":1266},{"style":460},[1267],{"type":26,"value":1268},"==",{"type":30,"tagName":444,"properties":1270,"children":1271},{"style":611},[1272],{"type":26,"value":1200},{"type":30,"tagName":444,"properties":1274,"children":1275},{"style":466},[1276],{"type":26,"value":1277},") strategy.",{"type":30,"tagName":444,"properties":1279,"children":1280},{"style":600},[1281],{"type":26,"value":1282},"long",{"type":30,"tagName":444,"properties":1284,"children":1285},{"style":466},[1286],{"type":26,"value":712},{"type":30,"tagName":444,"properties":1288,"children":1289},{"style":477},[1290],{"type":26,"value":1291},"\"Long\"",{"type":30,"tagName":444,"properties":1293,"children":1294},{"style":466},[1295],{"type":26,"value":1296},").",{"type":30,"tagName":444,"properties":1298,"children":1299},{"style":600},[1300],{"type":26,"value":1301},"limit",{"type":30,"tagName":444,"properties":1303,"children":1304},{"style":466},[1305],{"type":26,"value":1306},"(close ",{"type":30,"tagName":444,"properties":1308,"children":1309},{"style":460},[1310],{"type":26,"value":1311},"*",{"type":30,"tagName":444,"properties":1313,"children":1314},{"style":611},[1315],{"type":26,"value":1316}," 0.999",{"type":30,"tagName":444,"properties":1318,"children":1319},{"style":466},[1320],{"type":26,"value":1296},{"type":30,"tagName":444,"properties":1322,"children":1323},{"style":600},[1324],{"type":26,"value":1325},"send",{"type":30,"tagName":444,"properties":1327,"children":1328},{"style":466},[1329],{"type":26,"value":870},{"type":26,"value":27},{"type":30,"tagName":444,"properties":1332,"children":1333},{"class":446},[1334,1338,1342,1346,1351,1355,1359,1364,1368,1372],{"type":30,"tagName":444,"properties":1335,"children":1336},{"style":460},[1337],{"type":26,"value":1117},{"type":30,"tagName":444,"properties":1339,"children":1340},{"style":466},[1341],{"type":26,"value":1263},{"type":30,"tagName":444,"properties":1343,"children":1344},{"style":460},[1345],{"type":26,"value":1268},{"type":30,"tagName":444,"properties":1347,"children":1348},{"style":460},[1349],{"type":26,"value":1350}," -",{"type":30,"tagName":444,"properties":1352,"children":1353},{"style":611},[1354],{"type":26,"value":684},{"type":30,"tagName":444,"properties":1356,"children":1357},{"style":466},[1358],{"type":26,"value":1277},{"type":30,"tagName":444,"properties":1360,"children":1361},{"style":600},[1362],{"type":26,"value":1363},"close",{"type":30,"tagName":444,"properties":1365,"children":1366},{"style":466},[1367],{"type":26,"value":712},{"type":30,"tagName":444,"properties":1369,"children":1370},{"style":477},[1371],{"type":26,"value":1291},{"type":30,"tagName":444,"properties":1373,"children":1374},{"style":466},[1375],{"type":26,"value":801},{"type":26,"value":27},{"type":30,"tagName":444,"properties":1378,"children":1379},{"class":446},[1380,1385,1390,1395],{"type":30,"tagName":444,"properties":1381,"children":1382},{"style":600},[1383],{"type":26,"value":1384},"  out_equity",{"type":30,"tagName":444,"properties":1386,"children":1387},{"style":466},[1388],{"type":26,"value":1389},"(strategy.",{"type":30,"tagName":444,"properties":1391,"children":1392},{"style":600},[1393],{"type":26,"value":1394},"equity",{"type":30,"tagName":444,"properties":1396,"children":1397},{"style":466},[1398],{"type":26,"value":1399},"());",{"type":26,"value":27},{"type":30,"tagName":444,"properties":1402,"children":1403},{"class":446},[1404,1409],{"type":30,"tagName":444,"properties":1405,"children":1406},{"style":600},[1407],{"type":26,"value":1408},"  emitRow",{"type":30,"tagName":444,"properties":1410,"children":1411},{"style":466},[1412],{"type":26,"value":870},{"type":26,"value":27},{"type":30,"tagName":444,"properties":1415,"children":1416},{"class":446},[1417],{"type":30,"tagName":444,"properties":1418,"children":1419},{"style":466},[1420],{"type":26,"value":1213},{"type":26,"value":27},{"type":30,"tagName":444,"properties":1423,"children":1424},{"class":446},[],{"type":26,"value":27},{"type":30,"tagName":444,"properties":1427,"children":1428},{"class":446},[1429,1433,1437,1442,1446,1450,1454],{"type":30,"tagName":444,"properties":1430,"children":1431},{"style":460},[1432],{"type":26,"value":955},{"type":30,"tagName":444,"properties":1434,"children":1435},{"style":460},[1436],{"type":26,"value":960},{"type":30,"tagName":444,"properties":1438,"children":1439},{"style":600},[1440],{"type":26,"value":1441}," reset",{"type":30,"tagName":444,"properties":1443,"children":1444},{"style":466},[1445],{"type":26,"value":970},{"type":30,"tagName":444,"properties":1447,"children":1448},{"style":460},[1449],{"type":26,"value":889},{"type":30,"tagName":444,"properties":1451,"children":1452},{"style":611},[1453],{"type":26,"value":979},{"type":30,"tagName":444,"properties":1455,"children":1456},{"style":466},[1457],{"type":26,"value":1022},{"type":26,"value":27},{"type":30,"tagName":444,"properties":1460,"children":1461},{"class":446},[1462,1467,1472],{"type":30,"tagName":444,"properties":1463,"children":1464},{"style":466},[1465],{"type":26,"value":1466},"  fastMa.",{"type":30,"tagName":444,"properties":1468,"children":1469},{"style":600},[1470],{"type":26,"value":1471},"reset",{"type":30,"tagName":444,"properties":1473,"children":1474},{"style":466},[1475],{"type":26,"value":870},{"type":26,"value":27},{"type":30,"tagName":444,"properties":1478,"children":1479},{"class":446},[1480,1485,1489],{"type":30,"tagName":444,"properties":1481,"children":1482},{"style":466},[1483],{"type":26,"value":1484},"  slowMa.",{"type":30,"tagName":444,"properties":1486,"children":1487},{"style":600},[1488],{"type":26,"value":1471},{"type":30,"tagName":444,"properties":1490,"children":1491},{"style":466},[1492],{"type":26,"value":870},{"type":26,"value":27},{"type":30,"tagName":444,"properties":1495,"children":1496},{"class":446},[1497,1502,1506],{"type":30,"tagName":444,"properties":1498,"children":1499},{"style":466},[1500],{"type":26,"value":1501},"  cross.",{"type":30,"tagName":444,"properties":1503,"children":1504},{"style":600},[1505],{"type":26,"value":1471},{"type":30,"tagName":444,"properties":1507,"children":1508},{"style":466},[1509],{"type":26,"value":870},{"type":26,"value":27},{"type":30,"tagName":444,"properties":1512,"children":1513},{"class":446},[1514,1518,1522,1526],{"type":30,"tagName":444,"properties":1515,"children":1516},{"style":466},[1517],{"type":26,"value":1031},{"type":30,"tagName":444,"properties":1519,"children":1520},{"style":460},[1521],{"type":26,"value":1036},{"type":30,"tagName":444,"properties":1523,"children":1524},{"style":611},[1525],{"type":26,"value":903},{"type":30,"tagName":444,"properties":1527,"children":1528},{"style":466},[1529],{"type":26,"value":485},{"type":26,"value":27},{"type":30,"tagName":444,"properties":1532,"children":1533},{"class":446},[1534,1538,1542,1546],{"type":30,"tagName":444,"properties":1535,"children":1536},{"style":466},[1537],{"type":26,"value":1168},{"type":30,"tagName":444,"properties":1539,"children":1540},{"style":460},[1541],{"type":26,"value":1036},{"type":30,"tagName":444,"properties":1543,"children":1544},{"style":611},[1545],{"type":26,"value":938},{"type":30,"tagName":444,"properties":1547,"children":1548},{"style":466},[1549],{"type":26,"value":485},{"type":26,"value":27},{"type":30,"tagName":444,"properties":1552,"children":1553},{"class":446},[1554],{"type":30,"tagName":444,"properties":1555,"children":1556},{"style":466},[1557],{"type":26,"value":1213},{"type":26,"value":27},{"type":30,"tagName":31,"properties":1560,"children":1561,"position":1631},{},[1562,1571,1584,1591,1604,1611,1624],{"type":26,"value":1563,"position":1564},"The resting limit just under the market is a maker fill when a later bar trades through it (",{"start":1565,"end":1568},{"line":1566,"column":20,"offset":1567},64,2735,{"line":1566,"column":1569,"offset":1570},93,2827,{"type":30,"tagName":79,"properties":1572,"children":1573,"position":1581},{},[1574],{"type":26,"value":1575,"position":1576},"makerFeesPaid",{"start":1577,"end":1578},{"line":1566,"column":1569,"offset":1570},{"line":1566,"column":1579,"offset":1580},108,2842,{"start":1582,"end":1583},{"line":1566,"column":1569,"offset":1570},{"line":1566,"column":1579,"offset":1580},{"type":26,"value":1585,"position":1586}," grows); the market close crosses the market and pays the taker rate (",{"start":1587,"end":1588},{"line":1566,"column":1579,"offset":1580},{"line":1566,"column":1589,"offset":1590},178,2912,{"type":30,"tagName":79,"properties":1592,"children":1593,"position":1601},{},[1594],{"type":26,"value":1595,"position":1596},"takerFeesPaid",{"start":1597,"end":1598},{"line":1566,"column":1589,"offset":1590},{"line":1566,"column":1599,"offset":1600},193,2927,{"start":1602,"end":1603},{"line":1566,"column":1589,"offset":1590},{"line":1566,"column":1599,"offset":1600},{"type":26,"value":1605,"position":1606}," grows); ",{"start":1607,"end":1608},{"line":1566,"column":1599,"offset":1600},{"line":1566,"column":1609,"offset":1610},202,2936,{"type":30,"tagName":79,"properties":1612,"children":1613,"position":1621},{},[1614],{"type":26,"value":1615,"position":1616},"feesPaid",{"start":1617,"end":1618},{"line":1566,"column":1609,"offset":1610},{"line":1566,"column":1619,"offset":1620},212,2946,{"start":1622,"end":1623},{"line":1566,"column":1609,"offset":1610},{"line":1566,"column":1619,"offset":1620},{"type":26,"value":1625,"position":1626}," is their exact sum.",{"start":1627,"end":1628},{"line":1566,"column":1619,"offset":1620},{"line":1566,"column":1629,"offset":1630},232,2966,{"start":1632,"end":1633},{"line":1566,"column":20,"offset":1567},{"line":1566,"column":1629,"offset":1630},{"type":26,"value":27},{"type":30,"tagName":1636,"properties":1637,"children":1639,"position":1648},"h3",{"id":1638},"one-fee-schedule-per-instrument",[1640],{"type":26,"value":1641,"position":1642},"One fee schedule per instrument",{"start":1643,"end":1645},{"line":229,"column":38,"offset":1644},2972,{"line":229,"column":1646,"offset":1647},36,3003,{"start":1649,"end":1651},{"line":229,"column":20,"offset":1650},2968,{"line":229,"column":1646,"offset":1647},{"type":26,"value":27},{"type":30,"tagName":31,"properties":1654,"children":1655,"position":1665},{},[1656],{"type":26,"value":1657,"position":1658},"Declaring the other instrument's fee settings never double-charges; the build warns and the broker ignores them:",{"start":1659,"end":1662},{"line":1660,"column":20,"offset":1661},68,3005,{"line":1660,"column":1663,"offset":1664},113,3117,{"start":1666,"end":1667},{"line":1660,"column":20,"offset":1661},{"line":1660,"column":1663,"offset":1664},{"type":26,"value":27},{"type":30,"tagName":255,"properties":1670,"children":1671,"position":1819},{},[1672,1673,1726,1727,1818],{"type":26,"value":27},{"type":30,"tagName":260,"properties":1674,"children":1675,"position":1722},{},[1676,1684,1696,1702,1715],{"type":26,"value":1677,"position":1678},"Perps plus a nonzero ",{"start":1679,"end":1682},{"line":1680,"column":278,"offset":1681},70,3121,{"line":1680,"column":87,"offset":1683},3142,{"type":30,"tagName":79,"properties":1685,"children":1686,"position":1693},{},[1687],{"type":26,"value":103,"position":1688},{"start":1689,"end":1690},{"line":1680,"column":87,"offset":1683},{"line":1680,"column":1691,"offset":1692},43,3161,{"start":1694,"end":1695},{"line":1680,"column":87,"offset":1683},{"line":1680,"column":1691,"offset":1692},{"type":26,"value":1697,"position":1698},": ",{"start":1699,"end":1700},{"line":1680,"column":1691,"offset":1692},{"line":1680,"column":209,"offset":1701},3163,{"type":30,"tagName":79,"properties":1703,"children":1704,"position":1712},{},[1705],{"type":26,"value":1706,"position":1707},"STRATEGY_PERPS_COMMISSION_IGNORED",{"start":1708,"end":1709},{"line":1680,"column":209,"offset":1701},{"line":1680,"column":1710,"offset":1711},80,3198,{"start":1713,"end":1714},{"line":1680,"column":209,"offset":1701},{"line":1680,"column":1710,"offset":1711},{"type":26,"value":1716,"position":1717},", fees come from the maker and taker rates.",{"start":1718,"end":1719},{"line":1680,"column":1710,"offset":1711},{"line":1680,"column":1720,"offset":1721},123,3241,{"start":1723,"end":1725},{"line":1680,"column":20,"offset":1724},3119,{"line":1680,"column":1720,"offset":1721},{"type":26,"value":27},{"type":30,"tagName":260,"properties":1728,"children":1729,"position":1814},{},[1730,1738,1750,1756,1768,1774,1787,1794,1807],{"type":26,"value":1731,"position":1732},"Spot plus ",{"start":1733,"end":1736},{"line":1734,"column":278,"offset":1735},71,3244,{"line":1734,"column":187,"offset":1737},3254,{"type":30,"tagName":79,"properties":1739,"children":1740,"position":1747},{},[1741],{"type":26,"value":215,"position":1742},{"start":1743,"end":1744},{"line":1734,"column":187,"offset":1737},{"line":1734,"column":1745,"offset":1746},30,3271,{"start":1748,"end":1749},{"line":1734,"column":187,"offset":1737},{"line":1734,"column":1745,"offset":1746},{"type":26,"value":225,"position":1751},{"start":1752,"end":1753},{"line":1734,"column":1745,"offset":1746},{"line":1734,"column":1754,"offset":1755},34,3275,{"type":30,"tagName":79,"properties":1757,"children":1758,"position":1765},{},[1759],{"type":26,"value":235,"position":1760},{"start":1761,"end":1762},{"line":1734,"column":1754,"offset":1755},{"line":1734,"column":1763,"offset":1764},51,3292,{"start":1766,"end":1767},{"line":1734,"column":1754,"offset":1755},{"line":1734,"column":1763,"offset":1764},{"type":26,"value":1697,"position":1769},{"start":1770,"end":1771},{"line":1734,"column":1763,"offset":1764},{"line":1734,"column":1772,"offset":1773},53,3294,{"type":30,"tagName":79,"properties":1775,"children":1776,"position":1784},{},[1777],{"type":26,"value":1778,"position":1779},"STRATEGY_SPOT_MAKER_TAKER_IGNORED",{"start":1780,"end":1781},{"line":1734,"column":1772,"offset":1773},{"line":1734,"column":1782,"offset":1783},88,3329,{"start":1785,"end":1786},{"line":1734,"column":1772,"offset":1773},{"line":1734,"column":1782,"offset":1783},{"type":26,"value":1788,"position":1789},", the run charges commission only. Declare one of the pair and the warning names just that one; ",{"start":1790,"end":1791},{"line":1734,"column":1782,"offset":1783},{"line":1734,"column":1792,"offset":1793},184,3425,{"type":30,"tagName":79,"properties":1795,"children":1796,"position":1804},{},[1797],{"type":26,"value":1798,"position":1799},"onLiquidation",{"start":1800,"end":1801},{"line":1734,"column":1792,"offset":1793},{"line":1734,"column":1802,"offset":1803},199,3440,{"start":1805,"end":1806},{"line":1734,"column":1792,"offset":1793},{"line":1734,"column":1802,"offset":1803},{"type":26,"value":1808,"position":1809}," on spot warns the same way.",{"start":1810,"end":1811},{"line":1734,"column":1802,"offset":1803},{"line":1734,"column":1812,"offset":1813},227,3468,{"start":1815,"end":1817},{"line":1734,"column":20,"offset":1816},3242,{"line":1734,"column":1812,"offset":1813},{"type":26,"value":27},{"start":1820,"end":1821},{"line":1680,"column":20,"offset":1724},{"line":1734,"column":1812,"offset":1813},{"type":26,"value":27},{"type":30,"tagName":31,"properties":1824,"children":1825,"position":1859},{},[1826,1835,1853],{"type":26,"value":1827,"position":1828},"Funding on perps is a holding cashflow, not a fill cost, and has its own stats and series; see ",{"start":1829,"end":1832},{"line":1830,"column":20,"offset":1831},73,3470,{"line":1830,"column":1833,"offset":1834},96,3565,{"type":30,"tagName":1836,"properties":1837,"children":1839,"position":1849},"a",{"href":1838},"perps.md",[1840],{"type":26,"value":1841,"position":1842},"perps",{"start":1843,"end":1846},{"line":1830,"column":1844,"offset":1845},97,3566,{"line":1830,"column":1847,"offset":1848},102,3571,{"start":1850,"end":1851},{"line":1830,"column":1833,"offset":1834},{"line":1830,"column":1663,"offset":1852},3582,{"type":26,"value":153,"position":1854},{"start":1855,"end":1856},{"line":1830,"column":1663,"offset":1852},{"line":1830,"column":1857,"offset":1858},114,3583,{"start":1860,"end":1861},{"line":1830,"column":20,"offset":1831},{"line":1830,"column":1857,"offset":1858},{"type":26,"value":27},{"type":30,"tagName":48,"properties":1864,"children":1866,"position":1875},{"id":1865},"flat-slippage",[1867],{"type":26,"value":1868,"position":1869},"Flat slippage",{"start":1870,"end":1873},{"line":1871,"column":57,"offset":1872},75,3588,{"line":1871,"column":389,"offset":1874},3601,{"start":1876,"end":1878},{"line":1871,"column":20,"offset":1877},3585,{"line":1871,"column":389,"offset":1874},{"type":26,"value":27},{"type":30,"tagName":31,"properties":1881,"children":1882,"position":1943},{},[1883,1897,1904,1917,1924,1936],{"type":30,"tagName":79,"properties":1884,"children":1885,"position":1894},{},[1886],{"type":26,"value":1887,"position":1888},"slippageBps",{"start":1889,"end":1892},{"line":1890,"column":20,"offset":1891},77,3603,{"line":1890,"column":288,"offset":1893},3616,{"start":1895,"end":1896},{"line":1890,"column":20,"offset":1891},{"line":1890,"column":288,"offset":1893},{"type":26,"value":1898,"position":1899}," applies adversely to every fill that crosses the market: market entries, stop entries, protective stops and trailing stops. Buys fill at ",{"start":1900,"end":1901},{"line":1890,"column":288,"offset":1893},{"line":1890,"column":1902,"offset":1903},152,3754,{"type":30,"tagName":79,"properties":1905,"children":1906,"position":1914},{},[1907],{"type":26,"value":1908,"position":1909},"price * (1 + bps / 10000)",{"start":1910,"end":1911},{"line":1890,"column":1902,"offset":1903},{"line":1890,"column":1912,"offset":1913},179,3781,{"start":1915,"end":1916},{"line":1890,"column":1902,"offset":1903},{"line":1890,"column":1912,"offset":1913},{"type":26,"value":1918,"position":1919},", sells mirror. Limit fills, including take-profit legs, are exempt. Slippage is priced into the fill itself: the trade records carry the slipped price, and there is no separate slippage line to subtract, which is why the backtest card's slippage column reads ",{"start":1920,"end":1921},{"line":1890,"column":1912,"offset":1913},{"line":1890,"column":1922,"offset":1923},439,4041,{"type":30,"tagName":79,"properties":1925,"children":1926,"position":1933},{},[1927],{"type":26,"value":438,"position":1928},{"start":1929,"end":1930},{"line":1890,"column":1922,"offset":1923},{"line":1890,"column":1931,"offset":1932},442,4044,{"start":1934,"end":1935},{"line":1890,"column":1922,"offset":1923},{"line":1890,"column":1931,"offset":1932},{"type":26,"value":1937,"position":1938}," on this lane while its header echoes the declared rate.",{"start":1939,"end":1940},{"line":1890,"column":1931,"offset":1932},{"line":1890,"column":1941,"offset":1942},498,4100,{"start":1944,"end":1945},{"line":1890,"column":20,"offset":1891},{"line":1890,"column":1941,"offset":1942},{"type":26,"value":27},{"type":30,"tagName":31,"properties":1948,"children":1949,"position":1959},{},[1950],{"type":26,"value":1951,"position":1952},"Flat slippage is honest about being a constant: it neither grows with your order size nor tightens on liquid pairs.",{"start":1953,"end":1956},{"line":1954,"column":20,"offset":1955},79,4102,{"line":1954,"column":1957,"offset":1958},116,4217,{"start":1960,"end":1961},{"line":1954,"column":20,"offset":1955},{"line":1954,"column":1957,"offset":1958},{"type":26,"value":27},{"type":30,"tagName":48,"properties":1964,"children":1966,"position":1975},{"id":1965},"the-book-estimate",[1967],{"type":26,"value":1968,"position":1969},"The book estimate",{"start":1970,"end":1973},{"line":1971,"column":57,"offset":1972},81,4222,{"line":1971,"column":60,"offset":1974},4239,{"start":1976,"end":1978},{"line":1971,"column":20,"offset":1977},4219,{"line":1971,"column":60,"offset":1974},{"type":26,"value":27},{"type":30,"tagName":31,"properties":1981,"children":1982,"position":2087},{},[1983,1990,2003,2010,2023,2030,2043,2050,2062,2069,2081],{"type":26,"value":1984,"position":1985},"kScript's ",{"start":1986,"end":1988},{"line":9,"column":20,"offset":1987},4241,{"line":9,"column":171,"offset":1989},4251,{"type":30,"tagName":79,"properties":1991,"children":1992,"position":2000},{},[1993],{"type":26,"value":1994,"position":1995},"slippageModel=\"bookEstimate\"",{"start":1996,"end":1997},{"line":9,"column":171,"offset":1989},{"line":9,"column":1998,"offset":1999},41,4281,{"start":2001,"end":2002},{"line":9,"column":171,"offset":1989},{"line":9,"column":1998,"offset":1999},{"type":26,"value":2004,"position":2005}," walks recorded order-book depth to price market-crossing fills by size. This release attaches no order book to any host, so a package declaring ",{"start":2006,"end":2007},{"line":9,"column":1998,"offset":1999},{"line":9,"column":2008,"offset":2009},186,4426,{"type":30,"tagName":79,"properties":2011,"children":2012,"position":2020},{},[2013],{"type":26,"value":2014,"position":2015},"slippageModel: \"bookEstimate\"",{"start":2016,"end":2017},{"line":9,"column":2008,"offset":2009},{"line":9,"column":2018,"offset":2019},217,4457,{"start":2021,"end":2022},{"line":9,"column":2008,"offset":2009},{"line":9,"column":2018,"offset":2019},{"type":26,"value":2024,"position":2025}," is refused by name at validation (",{"start":2026,"end":2027},{"line":9,"column":2018,"offset":2019},{"line":9,"column":2028,"offset":2029},252,4492,{"type":30,"tagName":79,"properties":2031,"children":2032,"position":2040},{},[2033],{"type":26,"value":2034,"position":2035},"wrun_strategy_slippage_model_unsupported",{"start":2036,"end":2037},{"line":9,"column":2028,"offset":2029},{"line":9,"column":2038,"offset":2039},294,4534,{"start":2041,"end":2042},{"line":9,"column":2028,"offset":2029},{"line":9,"column":2038,"offset":2039},{"type":26,"value":2044,"position":2045},") rather than silently priced at the flat rate. Declare ",{"start":2046,"end":2047},{"line":9,"column":2038,"offset":2039},{"line":9,"column":2048,"offset":2049},350,4590,{"type":30,"tagName":79,"properties":2051,"children":2052,"position":2059},{},[2053],{"type":26,"value":674,"position":2054},{"start":2055,"end":2056},{"line":9,"column":2048,"offset":2049},{"line":9,"column":2057,"offset":2058},359,4599,{"start":2060,"end":2061},{"line":9,"column":2048,"offset":2049},{"line":9,"column":2057,"offset":2058},{"type":26,"value":2063,"position":2064}," with a ",{"start":2065,"end":2066},{"line":9,"column":2057,"offset":2058},{"line":9,"column":2067,"offset":2068},367,4607,{"type":30,"tagName":79,"properties":2070,"children":2071,"position":2078},{},[2072],{"type":26,"value":1887,"position":2073},{"start":2074,"end":2075},{"line":9,"column":2067,"offset":2068},{"line":9,"column":2076,"offset":2077},380,4620,{"start":2079,"end":2080},{"line":9,"column":2067,"offset":2068},{"line":9,"column":2076,"offset":2077},{"type":26,"value":2082,"position":2083}," that is realistic for the pair; the book-aware model is a named next step.",{"start":2084,"end":2085},{"line":9,"column":2076,"offset":2077},{"line":9,"column":42,"offset":2086},4695,{"start":2088,"end":2089},{"line":9,"column":20,"offset":1987},{"line":9,"column":42,"offset":2086},{"type":26,"value":27},{"type":30,"tagName":48,"properties":2092,"children":2094,"position":2103},{"id":2093},"the-backtest-lane",[2095],{"type":26,"value":2096,"position":2097},"The backtest lane",{"start":2098,"end":2101},{"line":2099,"column":57,"offset":2100},85,4700,{"line":2099,"column":60,"offset":2102},4717,{"start":2104,"end":2106},{"line":2099,"column":20,"offset":2105},4697,{"line":2099,"column":60,"offset":2102},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2109,"children":2110,"position":2209},{},[2111,2126,2133,2145,2152,2164,2169,2182,2189,2202],{"type":30,"tagName":79,"properties":2112,"children":2113,"position":2123},{},[2114],{"type":26,"value":2115,"position":2116},"om backtest @scope/name",{"start":2117,"end":2120},{"line":2118,"column":20,"offset":2119},87,4719,{"line":2118,"column":2121,"offset":2122},26,4744,{"start":2124,"end":2125},{"line":2118,"column":20,"offset":2119},{"line":2118,"column":2121,"offset":2122},{"type":26,"value":2127,"position":2128}," takes no cost flags: ",{"start":2129,"end":2130},{"line":2118,"column":2121,"offset":2122},{"line":2118,"column":2131,"offset":2132},48,4766,{"type":30,"tagName":79,"properties":2134,"children":2135,"position":2142},{},[2136],{"type":26,"value":2137,"position":2138},"--fee-bps",{"start":2139,"end":2140},{"line":2118,"column":2131,"offset":2132},{"line":2118,"column":107,"offset":2141},4777,{"start":2143,"end":2144},{"line":2118,"column":2131,"offset":2132},{"line":2118,"column":107,"offset":2141},{"type":26,"value":2146,"position":2147},", ",{"start":2148,"end":2149},{"line":2118,"column":107,"offset":2141},{"line":2118,"column":2150,"offset":2151},61,4779,{"type":30,"tagName":79,"properties":2153,"children":2154,"position":2161},{},[2155],{"type":26,"value":2156,"position":2157},"--slippage-bps",{"start":2158,"end":2159},{"line":2118,"column":2150,"offset":2151},{"line":2118,"column":1890,"offset":2160},4795,{"start":2162,"end":2163},{"line":2118,"column":2150,"offset":2151},{"line":2118,"column":1890,"offset":2160},{"type":26,"value":2146,"position":2165},{"start":2166,"end":2167},{"line":2118,"column":1890,"offset":2160},{"line":2118,"column":1954,"offset":2168},4797,{"type":30,"tagName":79,"properties":2170,"children":2171,"position":2179},{},[2172],{"type":26,"value":2173,"position":2174},"--latency-bars",{"start":2175,"end":2176},{"line":2118,"column":1954,"offset":2168},{"line":2118,"column":2177,"offset":2178},95,4813,{"start":2180,"end":2181},{"line":2118,"column":1954,"offset":2168},{"line":2118,"column":2177,"offset":2178},{"type":26,"value":2183,"position":2184}," and a book size are refused by name (",{"start":2185,"end":2186},{"line":2118,"column":2177,"offset":2178},{"line":2118,"column":2187,"offset":2188},133,4851,{"type":30,"tagName":79,"properties":2190,"children":2191,"position":2199},{},[2192],{"type":26,"value":2193,"position":2194},"wrun_strategy_costs_in_sheet",{"start":2195,"end":2196},{"line":2118,"column":2187,"offset":2188},{"line":2118,"column":2197,"offset":2198},163,4881,{"start":2200,"end":2201},{"line":2118,"column":2187,"offset":2188},{"line":2118,"column":2197,"offset":2198},{"type":26,"value":2203,"position":2204},"), because a package with its own broker settings would otherwise carry two sets of assumptions. Change the declaration, or link a setting to a param and pass params.",{"start":2205,"end":2206},{"line":2118,"column":2197,"offset":2198},{"line":2118,"column":2207,"offset":2208},329,5047,{"start":2210,"end":2211},{"line":2118,"column":20,"offset":2119},{"line":2118,"column":2207,"offset":2208},{"type":26,"value":27},{"type":30,"tagName":48,"properties":2214,"children":2216,"position":2226},{"id":2215},"practical-guidance",[2217],{"type":26,"value":2218,"position":2219},"Practical guidance",{"start":2220,"end":2223},{"line":2221,"column":57,"offset":2222},89,5052,{"line":2221,"column":2224,"offset":2225},22,5070,{"start":2227,"end":2229},{"line":2221,"column":20,"offset":2228},5049,{"line":2221,"column":2224,"offset":2225},{"type":26,"value":27},{"type":30,"tagName":255,"properties":2232,"children":2233,"position":2359},{},[2234,2235,2286,2287,2303,2304,2358],{"type":26,"value":27},{"type":30,"tagName":260,"properties":2236,"children":2237,"position":2282},{},[2238,2246,2258,2264,2275],{"type":26,"value":2239,"position":2240},"Set ",{"start":2241,"end":2244},{"line":2242,"column":278,"offset":2243},91,5074,{"line":2242,"column":56,"offset":2245},5078,{"type":30,"tagName":79,"properties":2247,"children":2248,"position":2255},{},[2249],{"type":26,"value":1887,"position":2250},{"start":2251,"end":2252},{"line":2242,"column":56,"offset":2245},{"line":2242,"column":2253,"offset":2254},20,5091,{"start":2256,"end":2257},{"line":2242,"column":56,"offset":2245},{"line":2242,"column":2253,"offset":2254},{"type":26,"value":2259,"position":2260}," to what a taker actually pays on the pair, and ",{"start":2261,"end":2262},{"line":2242,"column":2253,"offset":2254},{"line":2242,"column":1660,"offset":2263},5139,{"type":30,"tagName":79,"properties":2265,"children":2266,"position":2272},{},[2267],{"type":26,"value":103,"position":2268},{"start":2269,"end":2270},{"line":2242,"column":1660,"offset":2263},{"line":2242,"column":2118,"offset":2271},5158,{"start":2273,"end":2274},{"line":2242,"column":1660,"offset":2263},{"line":2242,"column":2118,"offset":2271},{"type":26,"value":2276,"position":2277}," or the maker and taker rates to your tier. Most retail rules die here.",{"start":2278,"end":2279},{"line":2242,"column":2118,"offset":2271},{"line":2242,"column":2280,"offset":2281},158,5229,{"start":2283,"end":2285},{"line":2242,"column":20,"offset":2284},5072,{"line":2242,"column":2280,"offset":2281},{"type":26,"value":27},{"type":30,"tagName":260,"properties":2288,"children":2289,"position":2299},{},[2290],{"type":26,"value":2291,"position":2292},"Size matters: a strategy that trades a fraction of equity and one that trades at 10x see very different fee bills on the same signals, because fees are a percent of notional.",{"start":2293,"end":2296},{"line":2294,"column":278,"offset":2295},92,5232,{"line":2294,"column":2297,"offset":2298},177,5406,{"start":2300,"end":2302},{"line":2294,"column":20,"offset":2301},5230,{"line":2294,"column":2297,"offset":2298},{"type":26,"value":27},{"type":30,"tagName":260,"properties":2305,"children":2306,"position":2354},{},[2307,2315,2327,2334,2347],{"type":26,"value":2308,"position":2309},"Read ",{"start":2310,"end":2312},{"line":1569,"column":278,"offset":2311},5409,{"line":1569,"column":2313,"offset":2314},8,5414,{"type":30,"tagName":79,"properties":2316,"children":2317,"position":2324},{},[2318],{"type":26,"value":1615,"position":2319},{"start":2320,"end":2321},{"line":1569,"column":2313,"offset":2314},{"line":1569,"column":2322,"offset":2323},18,5424,{"start":2325,"end":2326},{"line":1569,"column":2313,"offset":2314},{"line":1569,"column":2322,"offset":2323},{"type":26,"value":2328,"position":2329}," against ",{"start":2330,"end":2331},{"line":1569,"column":2322,"offset":2323},{"line":1569,"column":2332,"offset":2333},27,5433,{"type":30,"tagName":79,"properties":2335,"children":2336,"position":2344},{},[2337],{"type":26,"value":2338,"position":2339},"netProfit",{"start":2340,"end":2341},{"line":1569,"column":2332,"offset":2333},{"line":1569,"column":2342,"offset":2343},38,5444,{"start":2345,"end":2346},{"line":1569,"column":2332,"offset":2333},{"line":1569,"column":2342,"offset":2343},{"type":26,"value":2348,"position":2349}," before reading the win rate: a strategy that crossed the spread 34 times in a quarter has paid for it.",{"start":2350,"end":2351},{"line":1569,"column":2342,"offset":2343},{"line":1569,"column":2352,"offset":2353},141,5547,{"start":2355,"end":2357},{"line":1569,"column":20,"offset":2356},5407,{"line":1569,"column":2352,"offset":2353},{"type":26,"value":27},{"start":2360,"end":2361},{"line":2242,"column":20,"offset":2284},{"line":1569,"column":2352,"offset":2353},{"quirksMode":2363},false,{"start":2365,"end":2366},{"line":20,"column":20,"offset":21},{"line":2367,"column":20,"offset":2368},94,5548,1790157175737]