[{"data":1,"prerenderedAt":4291},["ShallowReactive",2],{"indicators:strategies/writing-strategies":3},{"slug":4,"filePath":5,"frontmatter":6,"rawMarkdown":11,"tree":12},"strategies/writing-strategies","strategies/writing-strategies.md",{"title":7,"description":8,"order":9,"section":10},"Writing Strategies","The strategy({ ... }) declaration, the order API from ./gen/strategy, the position model and sizing. The semantics are the kScript (legacy) engine's own: the…",80,"strategies","---\ntitle: \"Writing Strategies\"\ndescription: \"The strategy({ ... }) declaration, the order API from ./gen/strategy, the position model and sizing. The semantics are the kScript (legacy) engine's own: the…\"\norder: 80\nsection: \"strategies\"\n---\n\n\u003C!-- source: docs/indicators/strategies/writing-strategies.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Writing Strategies\n\nThe `strategy({ ... })` declaration, the order API from `./gen/strategy`, the position model and sizing. The semantics are the kScript (legacy) engine's own: the host runs the engine's broker, so every rule below is the rule the Strategy Tester applies.\n\n## The declaration\n\n`strategy(options)` is one top-level statement of `src/indicator.ts`, beside `param`, `input` and `output`. It takes the engine's setting names; every field is optional and `strategy()` enables the broker with every default. A numeric field may be the handle `param(...)` returns, so users adjust it from the package's settings with the declaration as the default.\n\n| Setting | Sheet field | Default | Meaning |\n| --- | --- | --- | --- |\n| `initialCapital` | `initial_capital` | 10000 | Starting equity, more than 0. |\n| `currency` | `currency` | `\"USD\"` | Display label for money-denominated stats. |\n| `commissionPercent` | `commission_percent` | 0 | Spot commission on every fill, percent of notional. Ignored on perps, with a warning if nonzero. |\n| `slippageBps` | `slippage_bps` | 0 | Adverse basis points on market, stop and trailing fills. Limit fills are exempt: a limit price is a bound. |\n| `slippageModel` | `slippage_model` | `\"fixed\"` | `\"bookEstimate\"` is refused by name in this release (no order book is attached). |\n| `qtyType`, `qtyValue` | `qty_type`, `qty_value` | `\"percentOfEquity\"`, 100 | Default sizing. `\"fixed\"`: `qtyValue` units per entry. `\"percentOfEquity\"`: `qtyValue / 100 * equityAtFill / fillPrice`. `\"cash\"`: `qtyValue / fillPrice`. On perps the last two size margin, and notional is margin times leverage. |\n| `pyramiding` | `pyramiding` | 1 | Maximum stacked same-direction entries; excess entries are rejected and counted. |\n| `fillModel` | `fill_model` | `\"pessimistic\"` | Intrabar ordering assumption when a bar could fill two levels; see [fill simulation](fill-simulation.md). |\n| `instrument` | `instrument` | `\"spot\"` | `\"perps\"` enables isolated leveraged margin, liquidation, maker and taker fees and funding. |\n| `leverage` | `leverage` | 1 | Perps leverage, more than 0. |\n| `maintenanceMarginPercent` | `maintenance_margin_percent` | 0.5 | Perps maintenance margin, at least 0 and under 100. |\n| `makerFeePercent`, `takerFeePercent` | `maker_fee_percent`, `taker_fee_percent` | 0, 0 | Perps fee rates, percent of notional; maker on limit-bound fills, taker on market-crossing fills. Ignored on spot, with a warning if nonzero. |\n| `funding` | `funding` | `\"data\"` | `\"off\"` is an exact no-op; `\"data\"` settles recorded funding when a provider is attached, and counts the bars it cannot settle otherwise (this release attaches none). |\n| `onLiquidation` | `on_liquidation` | `\"continue\"` | `\"halt\"` rejects every entry after the first liquidation. |\n\nThe build derives the section into the sheet with the field names in the second column, and the package's title on the wire is its display name. A strategy package's price input reads `ohlcv` on the market it is run on, with no symbol or exchange pin: the broker fills against that market's own candles. The names `strategy.position` and `strategy.equity` are reserved for the host's own outputs. There is no `calc_on_every_tick`: live behavior is fixed, [fill simulation](fill-simulation.md) explains it.\n\n## The order API\n\nEvery call maps to one engine broker call, with the engine's own validation:\n\n```text\nstrategy.long(id).qty(n).limit(px).stop(px).oca(name).send()      // strategy.entry(id, \"long\", ...)\nstrategy.short(id).qty(n).limit(px).stop(px).oca(name).send()     // strategy.entry(id, \"short\", ...)\nstrategy.exit(id).from(entryId).qty(n).qtyPercent(p)\n                 .profit(pts).limit(px).loss(pts).stop(px)\n                 .trail(points, offset).oca(name).send()          // strategy.exit(id, fromEntry, ...)\nstrategy.close(id)     strategy.closeAll()                        // market, next open\nstrategy.cancel(id)    strategy.cancelAll()                       // pending unfilled orders\n```\n\n- A plain `strategy.long(id).send()` is a market order for the next bar's open. `limit` or `stop` makes it a resting order that fills when touched; both on one entry is rejected and counted. Re-issuing an id replaces the pending unfilled order with that id.\n- `strategy.exit(id)` attaches bracket legs to an entry: `profit` and `loss` in price points, `limit` and `stop` as absolute prices, at least one leg. Without `from` it protects every open entry. Stop, limit and trail legs under one exit id are one-cancels-all.\n- `trail(points, offset)` activates a trailing stop once the trade's favorable excursion reaches `points`, then ratchets with new extremes at `offset` behind them.\n- `oca(name)` joins any orders, entries and exits alike, into a one-cancels-all group: when one fills, the rest cancel.\n- The builders are preallocated singletons: `strategy.long`, `strategy.short` and `strategy.exit` each reset one builder, the setters fill its legs, and `send()` is the only call that reaches the host, so finish one order before starting the next. An unset leg is absent, the engine's `na`. There is no `comment`: the engine keeps it on no record.\n- Getters, valid in `state()` and `finalize()`: `strategy.positionSize()` (signed), `strategy.positionAvgPrice()`, `strategy.equity()`, `strategy.openProfit()`, `strategy.netProfit()`, `strategy.closedTradeCount()`, `strategy.winTradeCount()`, `strategy.lossTradeCount()`, `strategy.maxDrawdown()`.\n\nA crossover entry bracketed by both a stop and a take-profit limit; whichever the market touches first closes the trade and cancels the other side:\n\n```typescript\n// Trend entries with bracket exits: a stop and a take-profit limit on one exit id, whichever the market touches first closes the trade and cancels the other.\nimport { input, line, ohlcv, output, overlay } from \"./sdk/declare\";\nimport { in_close } from \"./gen/inputs\";\nimport { emitRow, out_fast, out_slow } from \"./gen/outputs\";\nimport { strategy } from \"./gen/strategy\";\nimport { Cross, Sma } from \"./sdk/ta\";\n\nstrategy({ initialCapital: 10000, qtyType: \"fixed\", qtyValue: 1, pyramiding: 1, fillModel: \"pathHeuristic\" });\ninput(\"close\", ohlcv.close);\noutput(\"fast\", line, overlay, { description: \"5-period SMA of close\" });\noutput(\"slow\", line, overlay, { description: \"20-period SMA of close\" });\n\nconst fastSma = new Sma(5);\nconst slowSma = new Sma(20);\nconst cross = new Cross();\nlet fast: f64 = NaN;\nlet slow: f64 = NaN;\nlet close: f64 = NaN;\nlet crossed: i32 = 0;\n\nexport function init(): void {}\n\nexport function state(): i32 {\n  close = in_close();\n  fast = fastSma.update(close);\n  slow = slowSma.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(\"Trend\").send();\n  if (strategy.positionSize() > 0) strategy.exit(\"Protect\").from(\"Trend\").stop(close * 0.97).limit(close * 1.05).send();\n  out_fast(fast);\n  out_slow(slow);\n  emitRow();\n}\n\nexport function reset(): void {\n  fastSma.reset();\n  slowSma.reset();\n  cross.reset();\n  fast = NaN;\n  slow = NaN;\n  close = NaN;\n  crossed = 0;\n}\n```\n\n## Position model\n\nThe broker nets to one position. An entry in the opposite direction is a reversal: it closes the existing position fully at the same fill, then opens the new one at the requested quantity. `pyramiding` caps same-direction stacking; rejected entries are counted in the output rather than thrown.\n\nSizing details worth knowing:\n\n- An explicit `qty(...)` on an order always wins over the declaration's `qtyType`.\n- Sized-at-fill quantities (`percentOfEquity`, `cash`) resolve from the slippage-adjusted fill price, and fractional quantities are legal (the broker does not round lots).\n- On perps, `percentOfEquity` and `cash` size the isolated margin commitment, not the notional. Explicit quantities and `qtyType: \"fixed\"` stay direct quantities and are margin-checked. Perps entries also pass an isolated-margin admission check before the opening leg applies; unrealized PnL is not collateral. [Perps and leverage](perps-and-leverage.md) has the model.\n- A computed size is rejected and counted when equity at fill is not positive or the quantity is not finite and positive.\n\nOrder calls are recorded as rejected, not thrown, when the current bar has non-finite prices or is not confirmed (the newest bar the host holds). On the last bar, unfilled orders remain visible under pending orders in the output.\n\n## Limits\n\nAt most 64 distinct order ids per run (`closeAll` counts as one; ids are slots, re-issuing one replaces its pending order), 64 bytes of UTF-8 per id, 4096 strategy calls per bar, and 10000 closed trades per run. Each breach refuses the run by name, and every engine rejection stays a counted rejection; the [limits](../reference/limits.md) page lists them.\n",{"type":13,"children":14,"data":4285,"position":4287},"root",[15,25,28,29,86,87,106,107,255,257,1779,1780,1897,1898,1913,1914,1927,1928,2003,2004,2639,2640,2653,2654,3913,3914,3930,3931,3964,3965,3979,3980,4198,4199,4214,4215,4230,4231],{"type":16,"value":17,"position":18},"comment"," source: docs/indicators/strategies/writing-strategies.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":83},"element","p",{},[34,42,56,63,76],{"type":26,"value":35,"position":36},"The ",{"start":37,"end":40},{"line":38,"column":20,"offset":39},5,159,{"line":38,"column":38,"offset":41},163,{"type":30,"tagName":43,"properties":44,"children":45,"position":53},"code",{},[46],{"type":26,"value":47,"position":48},"strategy({ ... })",{"start":49,"end":50},{"line":38,"column":38,"offset":41},{"line":38,"column":51,"offset":52},24,182,{"start":54,"end":55},{"line":38,"column":38,"offset":41},{"line":38,"column":51,"offset":52},{"type":26,"value":57,"position":58}," declaration, the order API from ",{"start":59,"end":60},{"line":38,"column":51,"offset":52},{"line":38,"column":61,"offset":62},57,215,{"type":30,"tagName":43,"properties":64,"children":65,"position":73},{},[66],{"type":26,"value":67,"position":68},"./gen/strategy",{"start":69,"end":70},{"line":38,"column":61,"offset":62},{"line":38,"column":71,"offset":72},73,231,{"start":74,"end":75},{"line":38,"column":61,"offset":62},{"line":38,"column":71,"offset":72},{"type":26,"value":77,"position":78},", the position model and sizing. The semantics are the kScript (legacy) engine's own: the host runs the engine's broker, so every rule below is the rule the Strategy Tester applies.",{"start":79,"end":80},{"line":38,"column":71,"offset":72},{"line":38,"column":81,"offset":82},254,412,{"start":84,"end":85},{"line":38,"column":20,"offset":39},{"line":38,"column":81,"offset":82},{"type":26,"value":27},{"type":30,"tagName":88,"properties":89,"children":91,"position":102},"h2",{"id":90},"the-declaration",[92],{"type":26,"value":93,"position":94},"The declaration",{"start":95,"end":99},{"line":96,"column":97,"offset":98},7,4,417,{"line":96,"column":100,"offset":101},19,432,{"start":103,"end":105},{"line":96,"column":20,"offset":104},414,{"line":96,"column":100,"offset":101},{"type":26,"value":27},{"type":30,"tagName":31,"properties":108,"children":109,"position":252},{},[110,125,132,145,152,165,172,185,192,205,212,225,232,245],{"type":30,"tagName":43,"properties":111,"children":112,"position":122},{},[113],{"type":26,"value":114,"position":115},"strategy(options)",{"start":116,"end":119},{"line":117,"column":20,"offset":118},9,434,{"line":117,"column":120,"offset":121},20,453,{"start":123,"end":124},{"line":117,"column":20,"offset":118},{"line":117,"column":120,"offset":121},{"type":26,"value":126,"position":127}," is one top-level statement of ",{"start":128,"end":129},{"line":117,"column":120,"offset":121},{"line":117,"column":130,"offset":131},51,484,{"type":30,"tagName":43,"properties":133,"children":134,"position":142},{},[135],{"type":26,"value":136,"position":137},"src/indicator.ts",{"start":138,"end":139},{"line":117,"column":130,"offset":131},{"line":117,"column":140,"offset":141},69,502,{"start":143,"end":144},{"line":117,"column":130,"offset":131},{"line":117,"column":140,"offset":141},{"type":26,"value":146,"position":147},", beside ",{"start":148,"end":149},{"line":117,"column":140,"offset":141},{"line":117,"column":150,"offset":151},78,511,{"type":30,"tagName":43,"properties":153,"children":154,"position":162},{},[155],{"type":26,"value":156,"position":157},"param",{"start":158,"end":159},{"line":117,"column":150,"offset":151},{"line":117,"column":160,"offset":161},85,518,{"start":163,"end":164},{"line":117,"column":150,"offset":151},{"line":117,"column":160,"offset":161},{"type":26,"value":166,"position":167},", ",{"start":168,"end":169},{"line":117,"column":160,"offset":161},{"line":117,"column":170,"offset":171},87,520,{"type":30,"tagName":43,"properties":173,"children":174,"position":182},{},[175],{"type":26,"value":176,"position":177},"input",{"start":178,"end":179},{"line":117,"column":170,"offset":171},{"line":117,"column":180,"offset":181},94,527,{"start":183,"end":184},{"line":117,"column":170,"offset":171},{"line":117,"column":180,"offset":181},{"type":26,"value":186,"position":187}," and ",{"start":188,"end":189},{"line":117,"column":180,"offset":181},{"line":117,"column":190,"offset":191},99,532,{"type":30,"tagName":43,"properties":193,"children":194,"position":202},{},[195],{"type":26,"value":196,"position":197},"output",{"start":198,"end":199},{"line":117,"column":190,"offset":191},{"line":117,"column":200,"offset":201},107,540,{"start":203,"end":204},{"line":117,"column":190,"offset":191},{"line":117,"column":200,"offset":201},{"type":26,"value":206,"position":207},". It takes the engine's setting names; every field is optional and ",{"start":208,"end":209},{"line":117,"column":200,"offset":201},{"line":117,"column":210,"offset":211},174,607,{"type":30,"tagName":43,"properties":213,"children":214,"position":222},{},[215],{"type":26,"value":216,"position":217},"strategy()",{"start":218,"end":219},{"line":117,"column":210,"offset":211},{"line":117,"column":220,"offset":221},186,619,{"start":223,"end":224},{"line":117,"column":210,"offset":211},{"line":117,"column":220,"offset":221},{"type":26,"value":226,"position":227}," enables the broker with every default. A numeric field may be the handle ",{"start":228,"end":229},{"line":117,"column":220,"offset":221},{"line":117,"column":230,"offset":231},260,693,{"type":30,"tagName":43,"properties":233,"children":234,"position":242},{},[235],{"type":26,"value":236,"position":237},"param(...)",{"start":238,"end":239},{"line":117,"column":230,"offset":231},{"line":117,"column":240,"offset":241},272,705,{"start":243,"end":244},{"line":117,"column":230,"offset":231},{"line":117,"column":240,"offset":241},{"type":26,"value":246,"position":247}," returns, so users adjust it from the package's settings with the declaration as the default.",{"start":248,"end":249},{"line":117,"column":240,"offset":241},{"line":117,"column":250,"offset":251},365,798,{"start":253,"end":254},{"line":117,"column":20,"offset":118},{"line":117,"column":250,"offset":251},{"type":26,"value":256},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":30,"tagName":258,"properties":259,"children":260,"position":1776},"table",{},[261,344],{"type":30,"tagName":262,"properties":263,"children":264,"position":341},"thead",{},[265],{"type":30,"tagName":266,"properties":267,"children":268,"position":338},"tr",{},[269,288,304,321],{"type":30,"tagName":270,"properties":271,"children":272,"position":283},"th",{},[273],{"type":26,"value":274,"position":275},"Setting",{"start":276,"end":280},{"line":277,"column":278,"offset":279},11,3,802,{"line":277,"column":281,"offset":282},10,809,{"start":284,"end":286},{"line":277,"column":20,"offset":285},800,{"line":277,"column":277,"offset":287},810,{"type":30,"tagName":270,"properties":289,"children":290,"position":299},{},[291],{"type":26,"value":292,"position":293},"Sheet field",{"start":294,"end":297},{"line":277,"column":295,"offset":296},13,812,{"line":277,"column":51,"offset":298},823,{"start":300,"end":301},{"line":277,"column":277,"offset":287},{"line":277,"column":302,"offset":303},25,824,{"type":30,"tagName":270,"properties":305,"children":306,"position":316},{},[307],{"type":26,"value":308,"position":309},"Default",{"start":310,"end":313},{"line":277,"column":311,"offset":312},27,826,{"line":277,"column":314,"offset":315},34,833,{"start":317,"end":318},{"line":277,"column":302,"offset":303},{"line":277,"column":319,"offset":320},35,834,{"type":30,"tagName":270,"properties":322,"children":323,"position":333},{},[324],{"type":26,"value":325,"position":326},"Meaning",{"start":327,"end":330},{"line":277,"column":328,"offset":329},37,836,{"line":277,"column":331,"offset":332},44,843,{"start":334,"end":335},{"line":277,"column":319,"offset":320},{"line":277,"column":336,"offset":337},46,845,{"start":339,"end":340},{"line":277,"column":20,"offset":285},{"line":277,"column":336,"offset":337},{"start":342,"end":343},{"line":277,"column":20,"offset":285},{"line":277,"column":336,"offset":337},{"type":30,"tagName":345,"properties":346,"children":347,"position":1773},"tbody",{},[348,433,519,601,679,777,1017,1094,1202,1296,1371,1451,1565,1677],{"type":30,"tagName":266,"properties":349,"children":350,"position":430},{},[351,373,396,413],{"type":30,"tagName":352,"properties":353,"children":354,"position":368},"td",{},[355],{"type":30,"tagName":43,"properties":356,"children":357,"position":365},{},[358],{"type":26,"value":359,"position":360},"initialCapital",{"start":361,"end":363},{"line":295,"column":278,"offset":362},874,{"line":295,"column":100,"offset":364},890,{"start":366,"end":367},{"line":295,"column":278,"offset":362},{"line":295,"column":100,"offset":364},{"start":369,"end":371},{"line":295,"column":20,"offset":370},872,{"line":295,"column":120,"offset":372},891,{"type":30,"tagName":352,"properties":374,"children":375,"position":391},{},[376],{"type":30,"tagName":43,"properties":377,"children":378,"position":388},{},[379],{"type":26,"value":380,"position":381},"initial_capital",{"start":382,"end":385},{"line":295,"column":383,"offset":384},22,893,{"line":295,"column":386,"offset":387},39,910,{"start":389,"end":390},{"line":295,"column":383,"offset":384},{"line":295,"column":386,"offset":387},{"start":392,"end":393},{"line":295,"column":120,"offset":372},{"line":295,"column":394,"offset":395},40,911,{"type":30,"tagName":352,"properties":397,"children":398,"position":408},{},[399],{"type":26,"value":400,"position":401},"10000",{"start":402,"end":405},{"line":295,"column":403,"offset":404},42,913,{"line":295,"column":406,"offset":407},47,918,{"start":409,"end":410},{"line":295,"column":394,"offset":395},{"line":295,"column":411,"offset":412},48,919,{"type":30,"tagName":352,"properties":414,"children":415,"position":425},{},[416],{"type":26,"value":417,"position":418},"Starting equity, more than 0.",{"start":419,"end":422},{"line":295,"column":420,"offset":421},50,921,{"line":295,"column":423,"offset":424},79,950,{"start":426,"end":427},{"line":295,"column":411,"offset":412},{"line":295,"column":428,"offset":429},81,952,{"start":431,"end":432},{"line":295,"column":20,"offset":370},{"line":295,"column":428,"offset":429},{"type":30,"tagName":266,"properties":434,"children":435,"position":516},{},[436,458,479,501],{"type":30,"tagName":352,"properties":437,"children":438,"position":453},{},[439],{"type":30,"tagName":43,"properties":440,"children":441,"position":450},{},[442],{"type":26,"value":443,"position":444},"currency",{"start":445,"end":448},{"line":446,"column":278,"offset":447},14,955,{"line":446,"column":295,"offset":449},965,{"start":451,"end":452},{"line":446,"column":278,"offset":447},{"line":446,"column":295,"offset":449},{"start":454,"end":456},{"line":446,"column":20,"offset":455},953,{"line":446,"column":446,"offset":457},966,{"type":30,"tagName":352,"properties":459,"children":460,"position":475},{},[461],{"type":30,"tagName":43,"properties":462,"children":463,"position":472},{},[464],{"type":26,"value":443,"position":465},{"start":466,"end":469},{"line":446,"column":467,"offset":468},16,968,{"line":446,"column":470,"offset":471},26,978,{"start":473,"end":474},{"line":446,"column":467,"offset":468},{"line":446,"column":470,"offset":471},{"start":476,"end":477},{"line":446,"column":446,"offset":457},{"line":446,"column":311,"offset":478},979,{"type":30,"tagName":352,"properties":480,"children":481,"position":497},{},[482],{"type":30,"tagName":43,"properties":483,"children":484,"position":494},{},[485],{"type":26,"value":486,"position":487},"\"USD\"",{"start":488,"end":491},{"line":446,"column":489,"offset":490},29,981,{"line":446,"column":492,"offset":493},36,988,{"start":495,"end":496},{"line":446,"column":489,"offset":490},{"line":446,"column":492,"offset":493},{"start":498,"end":499},{"line":446,"column":311,"offset":478},{"line":446,"column":328,"offset":500},989,{"type":30,"tagName":352,"properties":502,"children":503,"position":511},{},[504],{"type":26,"value":505,"position":506},"Display label for money-denominated stats.",{"start":507,"end":509},{"line":446,"column":386,"offset":508},991,{"line":446,"column":428,"offset":510},1033,{"start":512,"end":513},{"line":446,"column":328,"offset":500},{"line":446,"column":514,"offset":515},83,1035,{"start":517,"end":518},{"line":446,"column":20,"offset":455},{"line":446,"column":514,"offset":515},{"type":30,"tagName":266,"properties":520,"children":521,"position":598},{},[522,545,566,581],{"type":30,"tagName":352,"properties":523,"children":524,"position":539},{},[525],{"type":30,"tagName":43,"properties":526,"children":527,"position":536},{},[528],{"type":26,"value":529,"position":530},"commissionPercent",{"start":531,"end":534},{"line":532,"column":278,"offset":533},15,1038,{"line":532,"column":383,"offset":535},1057,{"start":537,"end":538},{"line":532,"column":278,"offset":533},{"line":532,"column":383,"offset":535},{"start":540,"end":542},{"line":532,"column":20,"offset":541},1036,{"line":532,"column":543,"offset":544},23,1058,{"type":30,"tagName":352,"properties":546,"children":547,"position":562},{},[548],{"type":30,"tagName":43,"properties":549,"children":550,"position":559},{},[551],{"type":26,"value":552,"position":553},"commission_percent",{"start":554,"end":556},{"line":532,"column":302,"offset":555},1060,{"line":532,"column":557,"offset":558},45,1080,{"start":560,"end":561},{"line":532,"column":302,"offset":555},{"line":532,"column":557,"offset":558},{"start":563,"end":564},{"line":532,"column":543,"offset":544},{"line":532,"column":336,"offset":565},1081,{"type":30,"tagName":352,"properties":567,"children":568,"position":577},{},[569],{"type":26,"value":570,"position":571},"0",{"start":572,"end":574},{"line":532,"column":411,"offset":573},1083,{"line":532,"column":575,"offset":576},49,1084,{"start":578,"end":579},{"line":532,"column":336,"offset":565},{"line":532,"column":420,"offset":580},1085,{"type":30,"tagName":352,"properties":582,"children":583,"position":593},{},[584],{"type":26,"value":585,"position":586},"Spot commission on every fill, percent of notional. Ignored on perps, with a warning if nonzero.",{"start":587,"end":590},{"line":532,"column":588,"offset":589},52,1087,{"line":532,"column":591,"offset":592},148,1183,{"start":594,"end":595},{"line":532,"column":420,"offset":580},{"line":532,"column":596,"offset":597},150,1185,{"start":599,"end":600},{"line":532,"column":20,"offset":541},{"line":532,"column":596,"offset":597},{"type":30,"tagName":266,"properties":602,"children":603,"position":676},{},[604,626,647,661],{"type":30,"tagName":352,"properties":605,"children":606,"position":620},{},[607],{"type":30,"tagName":43,"properties":608,"children":609,"position":617},{},[610],{"type":26,"value":611,"position":612},"slippageBps",{"start":613,"end":615},{"line":467,"column":278,"offset":614},1188,{"line":467,"column":467,"offset":616},1201,{"start":618,"end":619},{"line":467,"column":278,"offset":614},{"line":467,"column":467,"offset":616},{"start":621,"end":623},{"line":467,"column":20,"offset":622},1186,{"line":467,"column":624,"offset":625},17,1202,{"type":30,"tagName":352,"properties":627,"children":628,"position":643},{},[629],{"type":30,"tagName":43,"properties":630,"children":631,"position":640},{},[632],{"type":26,"value":633,"position":634},"slippage_bps",{"start":635,"end":637},{"line":467,"column":100,"offset":636},1204,{"line":467,"column":638,"offset":639},33,1218,{"start":641,"end":642},{"line":467,"column":100,"offset":636},{"line":467,"column":638,"offset":639},{"start":644,"end":645},{"line":467,"column":624,"offset":625},{"line":467,"column":314,"offset":646},1219,{"type":30,"tagName":352,"properties":648,"children":649,"position":656},{},[650],{"type":26,"value":570,"position":651},{"start":652,"end":654},{"line":467,"column":492,"offset":653},1221,{"line":467,"column":328,"offset":655},1222,{"start":657,"end":658},{"line":467,"column":314,"offset":646},{"line":467,"column":659,"offset":660},38,1223,{"type":30,"tagName":352,"properties":662,"children":663,"position":672},{},[664],{"type":26,"value":665,"position":666},"Adverse basis points on market, stop and trailing fills. Limit fills are exempt: a limit price is a bound.",{"start":667,"end":669},{"line":467,"column":394,"offset":668},1225,{"line":467,"column":670,"offset":671},146,1331,{"start":673,"end":674},{"line":467,"column":659,"offset":660},{"line":467,"column":591,"offset":675},1333,{"start":677,"end":678},{"line":467,"column":20,"offset":622},{"line":467,"column":591,"offset":675},{"type":30,"tagName":266,"properties":680,"children":681,"position":774},{},[682,704,725,745],{"type":30,"tagName":352,"properties":683,"children":684,"position":699},{},[685],{"type":30,"tagName":43,"properties":686,"children":687,"position":696},{},[688],{"type":26,"value":689,"position":690},"slippageModel",{"start":691,"end":693},{"line":624,"column":278,"offset":692},1336,{"line":624,"column":694,"offset":695},18,1351,{"start":697,"end":698},{"line":624,"column":278,"offset":692},{"line":624,"column":694,"offset":695},{"start":700,"end":702},{"line":624,"column":20,"offset":701},1334,{"line":624,"column":100,"offset":703},1352,{"type":30,"tagName":352,"properties":705,"children":706,"position":721},{},[707],{"type":30,"tagName":43,"properties":708,"children":709,"position":718},{},[710],{"type":26,"value":711,"position":712},"slippage_model",{"start":713,"end":716},{"line":624,"column":714,"offset":715},21,1354,{"line":624,"column":328,"offset":717},1370,{"start":719,"end":720},{"line":624,"column":714,"offset":715},{"line":624,"column":328,"offset":717},{"start":722,"end":723},{"line":624,"column":100,"offset":703},{"line":624,"column":659,"offset":724},1371,{"type":30,"tagName":352,"properties":726,"children":727,"position":741},{},[728],{"type":30,"tagName":43,"properties":729,"children":730,"position":738},{},[731],{"type":26,"value":732,"position":733},"\"fixed\"",{"start":734,"end":736},{"line":624,"column":394,"offset":735},1373,{"line":624,"column":575,"offset":737},1382,{"start":739,"end":740},{"line":624,"column":394,"offset":735},{"line":624,"column":575,"offset":737},{"start":742,"end":743},{"line":624,"column":659,"offset":724},{"line":624,"column":420,"offset":744},1383,{"type":30,"tagName":352,"properties":746,"children":747,"position":769},{},[748,762],{"type":30,"tagName":43,"properties":749,"children":750,"position":759},{},[751],{"type":26,"value":752,"position":753},"\"bookEstimate\"",{"start":754,"end":756},{"line":624,"column":588,"offset":755},1385,{"line":624,"column":757,"offset":758},68,1401,{"start":760,"end":761},{"line":624,"column":588,"offset":755},{"line":624,"column":757,"offset":758},{"type":26,"value":763,"position":764}," is refused by name in this release (no order book is attached).",{"start":765,"end":766},{"line":624,"column":757,"offset":758},{"line":624,"column":767,"offset":768},132,1465,{"start":770,"end":771},{"line":624,"column":420,"offset":744},{"line":624,"column":772,"offset":773},134,1467,{"start":775,"end":776},{"line":624,"column":20,"offset":701},{"line":624,"column":772,"offset":773},{"type":30,"tagName":266,"properties":778,"children":779,"position":1014},{},[780,819,856,885],{"type":30,"tagName":352,"properties":781,"children":782,"position":814},{},[783,797,802],{"type":30,"tagName":43,"properties":784,"children":785,"position":794},{},[786],{"type":26,"value":787,"position":788},"qtyType",{"start":789,"end":791},{"line":694,"column":278,"offset":790},1470,{"line":694,"column":792,"offset":793},12,1479,{"start":795,"end":796},{"line":694,"column":278,"offset":790},{"line":694,"column":792,"offset":793},{"type":26,"value":166,"position":798},{"start":799,"end":800},{"line":694,"column":792,"offset":793},{"line":694,"column":446,"offset":801},1481,{"type":30,"tagName":43,"properties":803,"children":804,"position":811},{},[805],{"type":26,"value":806,"position":807},"qtyValue",{"start":808,"end":809},{"line":694,"column":446,"offset":801},{"line":694,"column":51,"offset":810},1491,{"start":812,"end":813},{"line":694,"column":446,"offset":801},{"line":694,"column":51,"offset":810},{"start":815,"end":817},{"line":694,"column":20,"offset":816},1468,{"line":694,"column":302,"offset":818},1492,{"type":30,"tagName":352,"properties":820,"children":821,"position":852},{},[822,835,840],{"type":30,"tagName":43,"properties":823,"children":824,"position":832},{},[825],{"type":26,"value":826,"position":827},"qty_type",{"start":828,"end":830},{"line":694,"column":311,"offset":829},1494,{"line":694,"column":328,"offset":831},1504,{"start":833,"end":834},{"line":694,"column":311,"offset":829},{"line":694,"column":328,"offset":831},{"type":26,"value":166,"position":836},{"start":837,"end":838},{"line":694,"column":328,"offset":831},{"line":694,"column":386,"offset":839},1506,{"type":30,"tagName":43,"properties":841,"children":842,"position":849},{},[843],{"type":26,"value":844,"position":845},"qty_value",{"start":846,"end":847},{"line":694,"column":386,"offset":839},{"line":694,"column":420,"offset":848},1517,{"start":850,"end":851},{"line":694,"column":386,"offset":839},{"line":694,"column":420,"offset":848},{"start":853,"end":854},{"line":694,"column":302,"offset":818},{"line":694,"column":130,"offset":855},1518,{"type":30,"tagName":352,"properties":857,"children":858,"position":881},{},[859,874],{"type":30,"tagName":43,"properties":860,"children":861,"position":871},{},[862],{"type":26,"value":863,"position":864},"\"percentOfEquity\"",{"start":865,"end":868},{"line":694,"column":866,"offset":867},53,1520,{"line":694,"column":869,"offset":870},72,1539,{"start":872,"end":873},{"line":694,"column":866,"offset":867},{"line":694,"column":869,"offset":870},{"type":26,"value":875,"position":876},", 100",{"start":877,"end":878},{"line":694,"column":869,"offset":870},{"line":694,"column":879,"offset":880},77,1544,{"start":882,"end":883},{"line":694,"column":130,"offset":855},{"line":694,"column":150,"offset":884},1545,{"type":30,"tagName":352,"properties":886,"children":887,"position":1009},{},[888,896,908,914,926,932,944,950,963,970,983,989,1002],{"type":26,"value":889,"position":890},"Default sizing. ",{"start":891,"end":893},{"line":694,"column":9,"offset":892},1547,{"line":694,"column":894,"offset":895},96,1563,{"type":30,"tagName":43,"properties":897,"children":898,"position":905},{},[899],{"type":26,"value":732,"position":900},{"start":901,"end":902},{"line":694,"column":894,"offset":895},{"line":694,"column":903,"offset":904},105,1572,{"start":906,"end":907},{"line":694,"column":894,"offset":895},{"line":694,"column":903,"offset":904},{"type":26,"value":909,"position":910},": ",{"start":911,"end":912},{"line":694,"column":903,"offset":904},{"line":694,"column":200,"offset":913},1574,{"type":30,"tagName":43,"properties":915,"children":916,"position":923},{},[917],{"type":26,"value":806,"position":918},{"start":919,"end":920},{"line":694,"column":200,"offset":913},{"line":694,"column":921,"offset":922},117,1584,{"start":924,"end":925},{"line":694,"column":200,"offset":913},{"line":694,"column":921,"offset":922},{"type":26,"value":927,"position":928}," units per entry. ",{"start":929,"end":930},{"line":694,"column":921,"offset":922},{"line":694,"column":24,"offset":931},1602,{"type":30,"tagName":43,"properties":933,"children":934,"position":941},{},[935],{"type":26,"value":863,"position":936},{"start":937,"end":938},{"line":694,"column":24,"offset":931},{"line":694,"column":939,"offset":940},154,1621,{"start":942,"end":943},{"line":694,"column":24,"offset":931},{"line":694,"column":939,"offset":940},{"type":26,"value":909,"position":945},{"start":946,"end":947},{"line":694,"column":939,"offset":940},{"line":694,"column":948,"offset":949},156,1623,{"type":30,"tagName":43,"properties":951,"children":952,"position":960},{},[953],{"type":26,"value":954,"position":955},"qtyValue / 100 * equityAtFill / fillPrice",{"start":956,"end":957},{"line":694,"column":948,"offset":949},{"line":694,"column":958,"offset":959},199,1666,{"start":961,"end":962},{"line":694,"column":948,"offset":949},{"line":694,"column":958,"offset":959},{"type":26,"value":964,"position":965},". ",{"start":966,"end":967},{"line":694,"column":958,"offset":959},{"line":694,"column":968,"offset":969},201,1668,{"type":30,"tagName":43,"properties":971,"children":972,"position":980},{},[973],{"type":26,"value":974,"position":975},"\"cash\"",{"start":976,"end":977},{"line":694,"column":968,"offset":969},{"line":694,"column":978,"offset":979},209,1676,{"start":981,"end":982},{"line":694,"column":968,"offset":969},{"line":694,"column":978,"offset":979},{"type":26,"value":909,"position":984},{"start":985,"end":986},{"line":694,"column":978,"offset":979},{"line":694,"column":987,"offset":988},211,1678,{"type":30,"tagName":43,"properties":990,"children":991,"position":999},{},[992],{"type":26,"value":993,"position":994},"qtyValue / fillPrice",{"start":995,"end":996},{"line":694,"column":987,"offset":988},{"line":694,"column":997,"offset":998},233,1700,{"start":1000,"end":1001},{"line":694,"column":987,"offset":988},{"line":694,"column":997,"offset":998},{"type":26,"value":1003,"position":1004},". On perps the last two size margin, and notional is margin times leverage.",{"start":1005,"end":1006},{"line":694,"column":997,"offset":998},{"line":694,"column":1007,"offset":1008},308,1775,{"start":1010,"end":1011},{"line":694,"column":150,"offset":884},{"line":694,"column":1012,"offset":1013},310,1777,{"start":1015,"end":1016},{"line":694,"column":20,"offset":816},{"line":694,"column":1012,"offset":1013},{"type":30,"tagName":266,"properties":1018,"children":1019,"position":1091},{},[1020,1041,1062,1076],{"type":30,"tagName":352,"properties":1021,"children":1022,"position":1036},{},[1023],{"type":30,"tagName":43,"properties":1024,"children":1025,"position":1033},{},[1026],{"type":26,"value":1027,"position":1028},"pyramiding",{"start":1029,"end":1031},{"line":100,"column":278,"offset":1030},1780,{"line":100,"column":532,"offset":1032},1792,{"start":1034,"end":1035},{"line":100,"column":278,"offset":1030},{"line":100,"column":532,"offset":1032},{"start":1037,"end":1039},{"line":100,"column":20,"offset":1038},1778,{"line":100,"column":467,"offset":1040},1793,{"type":30,"tagName":352,"properties":1042,"children":1043,"position":1057},{},[1044],{"type":30,"tagName":43,"properties":1045,"children":1046,"position":1054},{},[1047],{"type":26,"value":1027,"position":1048},{"start":1049,"end":1051},{"line":100,"column":694,"offset":1050},1795,{"line":100,"column":1052,"offset":1053},30,1807,{"start":1055,"end":1056},{"line":100,"column":694,"offset":1050},{"line":100,"column":1052,"offset":1053},{"start":1058,"end":1059},{"line":100,"column":467,"offset":1040},{"line":100,"column":1060,"offset":1061},31,1808,{"type":30,"tagName":352,"properties":1063,"children":1064,"position":1072},{},[1065],{"type":26,"value":1066,"position":1067},"1",{"start":1068,"end":1070},{"line":100,"column":638,"offset":1069},1810,{"line":100,"column":314,"offset":1071},1811,{"start":1073,"end":1074},{"line":100,"column":1060,"offset":1061},{"line":100,"column":319,"offset":1075},1812,{"type":30,"tagName":352,"properties":1077,"children":1078,"position":1086},{},[1079],{"type":26,"value":1080,"position":1081},"Maximum stacked same-direction entries; excess entries are rejected and counted.",{"start":1082,"end":1084},{"line":100,"column":328,"offset":1083},1814,{"line":100,"column":921,"offset":1085},1894,{"start":1087,"end":1088},{"line":100,"column":319,"offset":1075},{"line":100,"column":1089,"offset":1090},119,1896,{"start":1092,"end":1093},{"line":100,"column":20,"offset":1038},{"line":100,"column":1089,"offset":1090},{"type":30,"tagName":266,"properties":1095,"children":1096,"position":1199},{},[1097,1118,1138,1159],{"type":30,"tagName":352,"properties":1098,"children":1099,"position":1113},{},[1100],{"type":30,"tagName":43,"properties":1101,"children":1102,"position":1110},{},[1103],{"type":26,"value":1104,"position":1105},"fillModel",{"start":1106,"end":1108},{"line":120,"column":278,"offset":1107},1899,{"line":120,"column":446,"offset":1109},1910,{"start":1111,"end":1112},{"line":120,"column":278,"offset":1107},{"line":120,"column":446,"offset":1109},{"start":1114,"end":1116},{"line":120,"column":20,"offset":1115},1897,{"line":120,"column":532,"offset":1117},1911,{"type":30,"tagName":352,"properties":1119,"children":1120,"position":1134},{},[1121],{"type":30,"tagName":43,"properties":1122,"children":1123,"position":1131},{},[1124],{"type":26,"value":1125,"position":1126},"fill_model",{"start":1127,"end":1129},{"line":120,"column":624,"offset":1128},1913,{"line":120,"column":489,"offset":1130},1925,{"start":1132,"end":1133},{"line":120,"column":624,"offset":1128},{"line":120,"column":489,"offset":1130},{"start":1135,"end":1136},{"line":120,"column":532,"offset":1117},{"line":120,"column":1052,"offset":1137},1926,{"type":30,"tagName":352,"properties":1139,"children":1140,"position":1155},{},[1141],{"type":30,"tagName":43,"properties":1142,"children":1143,"position":1152},{},[1144],{"type":26,"value":1145,"position":1146},"\"pessimistic\"",{"start":1147,"end":1150},{"line":120,"column":1148,"offset":1149},32,1928,{"line":120,"column":406,"offset":1151},1943,{"start":1153,"end":1154},{"line":120,"column":1148,"offset":1149},{"line":120,"column":406,"offset":1151},{"start":1156,"end":1157},{"line":120,"column":1052,"offset":1137},{"line":120,"column":411,"offset":1158},1944,{"type":30,"tagName":352,"properties":1160,"children":1161,"position":1194},{},[1162,1169,1187],{"type":26,"value":1163,"position":1164},"Intrabar ordering assumption when a bar could fill two levels; see ",{"start":1165,"end":1167},{"line":120,"column":420,"offset":1166},1946,{"line":120,"column":921,"offset":1168},2013,{"type":30,"tagName":1170,"properties":1171,"children":1173,"position":1183},"a",{"href":1172},"fill-simulation.md",[1174],{"type":26,"value":1175,"position":1176},"fill simulation",{"start":1177,"end":1180},{"line":120,"column":1178,"offset":1179},118,2014,{"line":120,"column":1181,"offset":1182},133,2029,{"start":1184,"end":1185},{"line":120,"column":921,"offset":1168},{"line":120,"column":939,"offset":1186},2050,{"type":26,"value":1188,"position":1189},".",{"start":1190,"end":1191},{"line":120,"column":939,"offset":1186},{"line":120,"column":1192,"offset":1193},155,2051,{"start":1195,"end":1196},{"line":120,"column":411,"offset":1158},{"line":120,"column":1197,"offset":1198},157,2053,{"start":1200,"end":1201},{"line":120,"column":20,"offset":1115},{"line":120,"column":1197,"offset":1198},{"type":30,"tagName":266,"properties":1203,"children":1204,"position":1293},{},[1205,1226,1245,1266],{"type":30,"tagName":352,"properties":1206,"children":1207,"position":1221},{},[1208],{"type":30,"tagName":43,"properties":1209,"children":1210,"position":1218},{},[1211],{"type":26,"value":1212,"position":1213},"instrument",{"start":1214,"end":1216},{"line":714,"column":278,"offset":1215},2056,{"line":714,"column":532,"offset":1217},2068,{"start":1219,"end":1220},{"line":714,"column":278,"offset":1215},{"line":714,"column":532,"offset":1217},{"start":1222,"end":1224},{"line":714,"column":20,"offset":1223},2054,{"line":714,"column":467,"offset":1225},2069,{"type":30,"tagName":352,"properties":1227,"children":1228,"position":1241},{},[1229],{"type":30,"tagName":43,"properties":1230,"children":1231,"position":1238},{},[1232],{"type":26,"value":1212,"position":1233},{"start":1234,"end":1236},{"line":714,"column":694,"offset":1235},2071,{"line":714,"column":1052,"offset":1237},2083,{"start":1239,"end":1240},{"line":714,"column":694,"offset":1235},{"line":714,"column":1052,"offset":1237},{"start":1242,"end":1243},{"line":714,"column":467,"offset":1225},{"line":714,"column":1060,"offset":1244},2084,{"type":30,"tagName":352,"properties":1246,"children":1247,"position":1262},{},[1248],{"type":30,"tagName":43,"properties":1249,"children":1250,"position":1259},{},[1251],{"type":26,"value":1252,"position":1253},"\"spot\"",{"start":1254,"end":1256},{"line":714,"column":638,"offset":1255},2086,{"line":714,"column":1257,"offset":1258},41,2094,{"start":1260,"end":1261},{"line":714,"column":638,"offset":1255},{"line":714,"column":1257,"offset":1258},{"start":1263,"end":1264},{"line":714,"column":1060,"offset":1244},{"line":714,"column":403,"offset":1265},2095,{"type":30,"tagName":352,"properties":1267,"children":1268,"position":1288},{},[1269,1282],{"type":30,"tagName":43,"properties":1270,"children":1271,"position":1279},{},[1272],{"type":26,"value":1273,"position":1274},"\"perps\"",{"start":1275,"end":1277},{"line":714,"column":331,"offset":1276},2097,{"line":714,"column":866,"offset":1278},2106,{"start":1280,"end":1281},{"line":714,"column":331,"offset":1276},{"line":714,"column":866,"offset":1278},{"type":26,"value":1283,"position":1284}," enables isolated leveraged margin, liquidation, maker and taker fees and funding.",{"start":1285,"end":1286},{"line":714,"column":866,"offset":1278},{"line":714,"column":24,"offset":1287},2188,{"start":1289,"end":1290},{"line":714,"column":403,"offset":1265},{"line":714,"column":1291,"offset":1292},137,2190,{"start":1294,"end":1295},{"line":714,"column":20,"offset":1223},{"line":714,"column":1291,"offset":1292},{"type":30,"tagName":266,"properties":1297,"children":1298,"position":1368},{},[1299,1320,1339,1352],{"type":30,"tagName":352,"properties":1300,"children":1301,"position":1315},{},[1302],{"type":30,"tagName":43,"properties":1303,"children":1304,"position":1312},{},[1305],{"type":26,"value":1306,"position":1307},"leverage",{"start":1308,"end":1310},{"line":383,"column":278,"offset":1309},2193,{"line":383,"column":295,"offset":1311},2203,{"start":1313,"end":1314},{"line":383,"column":278,"offset":1309},{"line":383,"column":295,"offset":1311},{"start":1316,"end":1318},{"line":383,"column":20,"offset":1317},2191,{"line":383,"column":446,"offset":1319},2204,{"type":30,"tagName":352,"properties":1321,"children":1322,"position":1335},{},[1323],{"type":30,"tagName":43,"properties":1324,"children":1325,"position":1332},{},[1326],{"type":26,"value":1306,"position":1327},{"start":1328,"end":1330},{"line":383,"column":467,"offset":1329},2206,{"line":383,"column":470,"offset":1331},2216,{"start":1333,"end":1334},{"line":383,"column":467,"offset":1329},{"line":383,"column":470,"offset":1331},{"start":1336,"end":1337},{"line":383,"column":446,"offset":1319},{"line":383,"column":311,"offset":1338},2217,{"type":30,"tagName":352,"properties":1340,"children":1341,"position":1348},{},[1342],{"type":26,"value":1066,"position":1343},{"start":1344,"end":1346},{"line":383,"column":489,"offset":1345},2219,{"line":383,"column":1052,"offset":1347},2220,{"start":1349,"end":1350},{"line":383,"column":311,"offset":1338},{"line":383,"column":1060,"offset":1351},2221,{"type":30,"tagName":352,"properties":1353,"children":1354,"position":1363},{},[1355],{"type":26,"value":1356,"position":1357},"Perps leverage, more than 0.",{"start":1358,"end":1360},{"line":383,"column":638,"offset":1359},2223,{"line":383,"column":1361,"offset":1362},61,2251,{"start":1364,"end":1365},{"line":383,"column":1060,"offset":1351},{"line":383,"column":1366,"offset":1367},63,2253,{"start":1369,"end":1370},{"line":383,"column":20,"offset":1317},{"line":383,"column":1366,"offset":1367},{"type":30,"tagName":266,"properties":1372,"children":1373,"position":1448},{},[1374,1395,1416,1432],{"type":30,"tagName":352,"properties":1375,"children":1376,"position":1390},{},[1377],{"type":30,"tagName":43,"properties":1378,"children":1379,"position":1387},{},[1380],{"type":26,"value":1381,"position":1382},"maintenanceMarginPercent",{"start":1383,"end":1385},{"line":543,"column":278,"offset":1384},2256,{"line":543,"column":489,"offset":1386},2282,{"start":1388,"end":1389},{"line":543,"column":278,"offset":1384},{"line":543,"column":489,"offset":1386},{"start":1391,"end":1393},{"line":543,"column":20,"offset":1392},2254,{"line":543,"column":1052,"offset":1394},2283,{"type":30,"tagName":352,"properties":1396,"children":1397,"position":1412},{},[1398],{"type":30,"tagName":43,"properties":1399,"children":1400,"position":1409},{},[1401],{"type":26,"value":1402,"position":1403},"maintenance_margin_percent",{"start":1404,"end":1406},{"line":543,"column":1148,"offset":1405},2285,{"line":543,"column":1407,"offset":1408},60,2313,{"start":1410,"end":1411},{"line":543,"column":1148,"offset":1405},{"line":543,"column":1407,"offset":1408},{"start":1413,"end":1414},{"line":543,"column":1052,"offset":1394},{"line":543,"column":1361,"offset":1415},2314,{"type":30,"tagName":352,"properties":1417,"children":1418,"position":1427},{},[1419],{"type":26,"value":1420,"position":1421},"0.5",{"start":1422,"end":1424},{"line":543,"column":1366,"offset":1423},2316,{"line":543,"column":1425,"offset":1426},66,2319,{"start":1428,"end":1429},{"line":543,"column":1361,"offset":1415},{"line":543,"column":1430,"offset":1431},67,2320,{"type":30,"tagName":352,"properties":1433,"children":1434,"position":1443},{},[1435],{"type":26,"value":1436,"position":1437},"Perps maintenance margin, at least 0 and under 100.",{"start":1438,"end":1440},{"line":543,"column":140,"offset":1439},2322,{"line":543,"column":1441,"offset":1442},120,2373,{"start":1444,"end":1445},{"line":543,"column":1430,"offset":1431},{"line":543,"column":1446,"offset":1447},122,2375,{"start":1449,"end":1450},{"line":543,"column":20,"offset":1392},{"line":543,"column":1446,"offset":1447},{"type":30,"tagName":266,"properties":1452,"children":1453,"position":1562},{},[1454,1492,1530,1546],{"type":30,"tagName":352,"properties":1455,"children":1456,"position":1487},{},[1457,1470,1475],{"type":30,"tagName":43,"properties":1458,"children":1459,"position":1467},{},[1460],{"type":26,"value":1461,"position":1462},"makerFeePercent",{"start":1463,"end":1465},{"line":51,"column":278,"offset":1464},2378,{"line":51,"column":120,"offset":1466},2395,{"start":1468,"end":1469},{"line":51,"column":278,"offset":1464},{"line":51,"column":120,"offset":1466},{"type":26,"value":166,"position":1471},{"start":1472,"end":1473},{"line":51,"column":120,"offset":1466},{"line":51,"column":383,"offset":1474},2397,{"type":30,"tagName":43,"properties":1476,"children":1477,"position":1484},{},[1478],{"type":26,"value":1479,"position":1480},"takerFeePercent",{"start":1481,"end":1482},{"line":51,"column":383,"offset":1474},{"line":51,"column":386,"offset":1483},2414,{"start":1485,"end":1486},{"line":51,"column":383,"offset":1474},{"line":51,"column":386,"offset":1483},{"start":1488,"end":1490},{"line":51,"column":20,"offset":1489},2376,{"line":51,"column":394,"offset":1491},2415,{"type":30,"tagName":352,"properties":1493,"children":1494,"position":1526},{},[1495,1508,1513],{"type":30,"tagName":43,"properties":1496,"children":1497,"position":1505},{},[1498],{"type":26,"value":1499,"position":1500},"maker_fee_percent",{"start":1501,"end":1503},{"line":51,"column":403,"offset":1502},2417,{"line":51,"column":1361,"offset":1504},2436,{"start":1506,"end":1507},{"line":51,"column":403,"offset":1502},{"line":51,"column":1361,"offset":1504},{"type":26,"value":166,"position":1509},{"start":1510,"end":1511},{"line":51,"column":1361,"offset":1504},{"line":51,"column":1366,"offset":1512},2438,{"type":30,"tagName":43,"properties":1514,"children":1515,"position":1523},{},[1516],{"type":26,"value":1517,"position":1518},"taker_fee_percent",{"start":1519,"end":1520},{"line":51,"column":1366,"offset":1512},{"line":51,"column":1521,"offset":1522},82,2457,{"start":1524,"end":1525},{"line":51,"column":1366,"offset":1512},{"line":51,"column":1521,"offset":1522},{"start":1527,"end":1528},{"line":51,"column":394,"offset":1491},{"line":51,"column":514,"offset":1529},2458,{"type":30,"tagName":352,"properties":1531,"children":1532,"position":1541},{},[1533],{"type":26,"value":1534,"position":1535},"0, 0",{"start":1536,"end":1538},{"line":51,"column":160,"offset":1537},2460,{"line":51,"column":1539,"offset":1540},89,2464,{"start":1542,"end":1543},{"line":51,"column":514,"offset":1529},{"line":51,"column":1544,"offset":1545},90,2465,{"type":30,"tagName":352,"properties":1547,"children":1548,"position":1557},{},[1549],{"type":26,"value":1550,"position":1551},"Perps fee rates, percent of notional; maker on limit-bound fills, taker on market-crossing fills. Ignored on spot, with a warning if nonzero.",{"start":1552,"end":1555},{"line":51,"column":1553,"offset":1554},92,2467,{"line":51,"column":997,"offset":1556},2608,{"start":1558,"end":1559},{"line":51,"column":1544,"offset":1545},{"line":51,"column":1560,"offset":1561},235,2610,{"start":1563,"end":1564},{"line":51,"column":20,"offset":1489},{"line":51,"column":1560,"offset":1561},{"type":30,"tagName":266,"properties":1566,"children":1567,"position":1674},{},[1568,1589,1608,1628],{"type":30,"tagName":352,"properties":1569,"children":1570,"position":1584},{},[1571],{"type":30,"tagName":43,"properties":1572,"children":1573,"position":1581},{},[1574],{"type":26,"value":1575,"position":1576},"funding",{"start":1577,"end":1579},{"line":302,"column":278,"offset":1578},2613,{"line":302,"column":792,"offset":1580},2622,{"start":1582,"end":1583},{"line":302,"column":278,"offset":1578},{"line":302,"column":792,"offset":1580},{"start":1585,"end":1587},{"line":302,"column":20,"offset":1586},2611,{"line":302,"column":295,"offset":1588},2623,{"type":30,"tagName":352,"properties":1590,"children":1591,"position":1604},{},[1592],{"type":30,"tagName":43,"properties":1593,"children":1594,"position":1601},{},[1595],{"type":26,"value":1575,"position":1596},{"start":1597,"end":1599},{"line":302,"column":532,"offset":1598},2625,{"line":302,"column":51,"offset":1600},2634,{"start":1602,"end":1603},{"line":302,"column":532,"offset":1598},{"line":302,"column":51,"offset":1600},{"start":1605,"end":1606},{"line":302,"column":295,"offset":1588},{"line":302,"column":302,"offset":1607},2635,{"type":30,"tagName":352,"properties":1609,"children":1610,"position":1624},{},[1611],{"type":30,"tagName":43,"properties":1612,"children":1613,"position":1621},{},[1614],{"type":26,"value":1615,"position":1616},"\"data\"",{"start":1617,"end":1619},{"line":302,"column":311,"offset":1618},2637,{"line":302,"column":319,"offset":1620},2645,{"start":1622,"end":1623},{"line":302,"column":311,"offset":1618},{"line":302,"column":319,"offset":1620},{"start":1625,"end":1626},{"line":302,"column":302,"offset":1607},{"line":302,"column":492,"offset":1627},2646,{"type":30,"tagName":352,"properties":1629,"children":1630,"position":1669},{},[1631,1644,1651,1662],{"type":30,"tagName":43,"properties":1632,"children":1633,"position":1641},{},[1634],{"type":26,"value":1635,"position":1636},"\"off\"",{"start":1637,"end":1639},{"line":302,"column":659,"offset":1638},2648,{"line":302,"column":557,"offset":1640},2655,{"start":1642,"end":1643},{"line":302,"column":659,"offset":1638},{"line":302,"column":557,"offset":1640},{"type":26,"value":1645,"position":1646}," is an exact no-op; ",{"start":1647,"end":1648},{"line":302,"column":557,"offset":1640},{"line":302,"column":1649,"offset":1650},65,2675,{"type":30,"tagName":43,"properties":1652,"children":1653,"position":1659},{},[1654],{"type":26,"value":1615,"position":1655},{"start":1656,"end":1657},{"line":302,"column":1649,"offset":1650},{"line":302,"column":71,"offset":1658},2683,{"start":1660,"end":1661},{"line":302,"column":1649,"offset":1650},{"line":302,"column":71,"offset":1658},{"type":26,"value":1663,"position":1664}," settles recorded funding when a provider is attached, and counts the bars it cannot settle otherwise (this release attaches none).",{"start":1665,"end":1666},{"line":302,"column":71,"offset":1658},{"line":302,"column":1667,"offset":1668},204,2814,{"start":1670,"end":1671},{"line":302,"column":492,"offset":1627},{"line":302,"column":1672,"offset":1673},206,2816,{"start":1675,"end":1676},{"line":302,"column":20,"offset":1586},{"line":302,"column":1672,"offset":1673},{"type":30,"tagName":266,"properties":1678,"children":1679,"position":1770},{},[1680,1701,1721,1741],{"type":30,"tagName":352,"properties":1681,"children":1682,"position":1696},{},[1683],{"type":30,"tagName":43,"properties":1684,"children":1685,"position":1693},{},[1686],{"type":26,"value":1687,"position":1688},"onLiquidation",{"start":1689,"end":1691},{"line":470,"column":278,"offset":1690},2819,{"line":470,"column":694,"offset":1692},2834,{"start":1694,"end":1695},{"line":470,"column":278,"offset":1690},{"line":470,"column":694,"offset":1692},{"start":1697,"end":1699},{"line":470,"column":20,"offset":1698},2817,{"line":470,"column":100,"offset":1700},2835,{"type":30,"tagName":352,"properties":1702,"children":1703,"position":1717},{},[1704],{"type":30,"tagName":43,"properties":1705,"children":1706,"position":1714},{},[1707],{"type":26,"value":1708,"position":1709},"on_liquidation",{"start":1710,"end":1712},{"line":470,"column":714,"offset":1711},2837,{"line":470,"column":328,"offset":1713},2853,{"start":1715,"end":1716},{"line":470,"column":714,"offset":1711},{"line":470,"column":328,"offset":1713},{"start":1718,"end":1719},{"line":470,"column":100,"offset":1700},{"line":470,"column":659,"offset":1720},2854,{"type":30,"tagName":352,"properties":1722,"children":1723,"position":1737},{},[1724],{"type":30,"tagName":43,"properties":1725,"children":1726,"position":1734},{},[1727],{"type":26,"value":1728,"position":1729},"\"continue\"",{"start":1730,"end":1732},{"line":470,"column":394,"offset":1731},2856,{"line":470,"column":588,"offset":1733},2868,{"start":1735,"end":1736},{"line":470,"column":394,"offset":1731},{"line":470,"column":588,"offset":1733},{"start":1738,"end":1739},{"line":470,"column":659,"offset":1720},{"line":470,"column":866,"offset":1740},2869,{"type":30,"tagName":352,"properties":1742,"children":1743,"position":1765},{},[1744,1758],{"type":30,"tagName":43,"properties":1745,"children":1746,"position":1755},{},[1747],{"type":26,"value":1748,"position":1749},"\"halt\"",{"start":1750,"end":1753},{"line":470,"column":1751,"offset":1752},55,2871,{"line":470,"column":1366,"offset":1754},2879,{"start":1756,"end":1757},{"line":470,"column":1751,"offset":1752},{"line":470,"column":1366,"offset":1754},{"type":26,"value":1759,"position":1760}," rejects every entry after the first liquidation.",{"start":1761,"end":1762},{"line":470,"column":1366,"offset":1754},{"line":470,"column":1763,"offset":1764},112,2928,{"start":1766,"end":1767},{"line":470,"column":866,"offset":1740},{"line":470,"column":1768,"offset":1769},114,2930,{"start":1771,"end":1772},{"line":470,"column":20,"offset":1698},{"line":470,"column":1768,"offset":1769},{"start":1774,"end":1775},{"line":295,"column":20,"offset":370},{"line":470,"column":1768,"offset":1769},{"start":1777,"end":1778},{"line":277,"column":20,"offset":285},{"line":470,"column":1768,"offset":1769},{"type":26,"value":27},{"type":30,"tagName":31,"properties":1781,"children":1782,"position":1894},{},[1783,1792,1805,1812,1825,1831,1844,1851,1864,1871,1887],{"type":26,"value":1784,"position":1785},"The build derives the section into the sheet with the field names in the second column, and the package's title on the wire is its display name. A strategy package's price input reads ",{"start":1786,"end":1789},{"line":1787,"column":20,"offset":1788},28,2932,{"line":1787,"column":1790,"offset":1791},185,3116,{"type":30,"tagName":43,"properties":1793,"children":1794,"position":1802},{},[1795],{"type":26,"value":1796,"position":1797},"ohlcv",{"start":1798,"end":1799},{"line":1787,"column":1790,"offset":1791},{"line":1787,"column":1800,"offset":1801},192,3123,{"start":1803,"end":1804},{"line":1787,"column":1790,"offset":1791},{"line":1787,"column":1800,"offset":1801},{"type":26,"value":1806,"position":1807}," on the market it is run on, with no symbol or exchange pin: the broker fills against that market's own candles. The names ",{"start":1808,"end":1809},{"line":1787,"column":1800,"offset":1801},{"line":1787,"column":1810,"offset":1811},315,3246,{"type":30,"tagName":43,"properties":1813,"children":1814,"position":1822},{},[1815],{"type":26,"value":1816,"position":1817},"strategy.position",{"start":1818,"end":1819},{"line":1787,"column":1810,"offset":1811},{"line":1787,"column":1820,"offset":1821},334,3265,{"start":1823,"end":1824},{"line":1787,"column":1810,"offset":1811},{"line":1787,"column":1820,"offset":1821},{"type":26,"value":186,"position":1826},{"start":1827,"end":1828},{"line":1787,"column":1820,"offset":1821},{"line":1787,"column":1829,"offset":1830},339,3270,{"type":30,"tagName":43,"properties":1832,"children":1833,"position":1841},{},[1834],{"type":26,"value":1835,"position":1836},"strategy.equity",{"start":1837,"end":1838},{"line":1787,"column":1829,"offset":1830},{"line":1787,"column":1839,"offset":1840},356,3287,{"start":1842,"end":1843},{"line":1787,"column":1829,"offset":1830},{"line":1787,"column":1839,"offset":1840},{"type":26,"value":1845,"position":1846}," are reserved for the host's own outputs. There is no ",{"start":1847,"end":1848},{"line":1787,"column":1839,"offset":1840},{"line":1787,"column":1849,"offset":1850},410,3341,{"type":30,"tagName":43,"properties":1852,"children":1853,"position":1861},{},[1854],{"type":26,"value":1855,"position":1856},"calc_on_every_tick",{"start":1857,"end":1858},{"line":1787,"column":1849,"offset":1850},{"line":1787,"column":1859,"offset":1860},430,3361,{"start":1862,"end":1863},{"line":1787,"column":1849,"offset":1850},{"line":1787,"column":1859,"offset":1860},{"type":26,"value":1865,"position":1866},": live behavior is fixed, ",{"start":1867,"end":1868},{"line":1787,"column":1859,"offset":1860},{"line":1787,"column":1869,"offset":1870},456,3387,{"type":30,"tagName":1170,"properties":1872,"children":1873,"position":1882},{"href":1172},[1874],{"type":26,"value":1175,"position":1875},{"start":1876,"end":1879},{"line":1787,"column":1877,"offset":1878},457,3388,{"line":1787,"column":1880,"offset":1881},472,3403,{"start":1883,"end":1884},{"line":1787,"column":1869,"offset":1870},{"line":1787,"column":1885,"offset":1886},493,3424,{"type":26,"value":1888,"position":1889}," explains it.",{"start":1890,"end":1891},{"line":1787,"column":1885,"offset":1886},{"line":1787,"column":1892,"offset":1893},506,3437,{"start":1895,"end":1896},{"line":1787,"column":20,"offset":1788},{"line":1787,"column":1892,"offset":1893},{"type":26,"value":27},{"type":30,"tagName":88,"properties":1899,"children":1901,"position":1909},{"id":1900},"the-order-api",[1902],{"type":26,"value":1903,"position":1904},"The order API",{"start":1905,"end":1907},{"line":1052,"column":97,"offset":1906},3442,{"line":1052,"column":624,"offset":1908},3455,{"start":1910,"end":1912},{"line":1052,"column":20,"offset":1911},3439,{"line":1052,"column":624,"offset":1908},{"type":26,"value":27},{"type":30,"tagName":31,"properties":1915,"children":1916,"position":1924},{},[1917],{"type":26,"value":1918,"position":1919},"Every call maps to one engine broker call, with the engine's own validation:",{"start":1920,"end":1922},{"line":1148,"column":20,"offset":1921},3457,{"line":1148,"column":879,"offset":1923},3533,{"start":1925,"end":1926},{"line":1148,"column":20,"offset":1921},{"line":1148,"column":879,"offset":1923},{"type":26,"value":27},{"type":13,"children":1929},[1930],{"type":30,"tagName":1931,"properties":1932,"children":1935,"data":-1},"pre",{"class":1933,"style":1934,"tabindex":570},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff",[1936],{"type":30,"tagName":43,"properties":1937,"children":1938},{},[1939,1949,1950,1958,1959,1967,1968,1976,1977,1985,1986,1994,1995],{"type":30,"tagName":1940,"properties":1941,"children":1943},"span",{"class":1942},"line",[1944],{"type":30,"tagName":1940,"properties":1945,"children":1946},{},[1947],{"type":26,"value":1948},"strategy.long(id).qty(n).limit(px).stop(px).oca(name).send()      // strategy.entry(id, \"long\", ...)",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":1951,"children":1952},{"class":1942},[1953],{"type":30,"tagName":1940,"properties":1954,"children":1955},{},[1956],{"type":26,"value":1957},"strategy.short(id).qty(n).limit(px).stop(px).oca(name).send()     // strategy.entry(id, \"short\", ...)",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":1960,"children":1961},{"class":1942},[1962],{"type":30,"tagName":1940,"properties":1963,"children":1964},{},[1965],{"type":26,"value":1966},"strategy.exit(id).from(entryId).qty(n).qtyPercent(p)",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":1969,"children":1970},{"class":1942},[1971],{"type":30,"tagName":1940,"properties":1972,"children":1973},{},[1974],{"type":26,"value":1975},"                 .profit(pts).limit(px).loss(pts).stop(px)",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":1978,"children":1979},{"class":1942},[1980],{"type":30,"tagName":1940,"properties":1981,"children":1982},{},[1983],{"type":26,"value":1984},"                 .trail(points, offset).oca(name).send()          // strategy.exit(id, fromEntry, ...)",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":1987,"children":1988},{"class":1942},[1989],{"type":30,"tagName":1940,"properties":1990,"children":1991},{},[1992],{"type":26,"value":1993},"strategy.close(id)     strategy.closeAll()                        // market, next open",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":1996,"children":1997},{"class":1942},[1998],{"type":30,"tagName":1940,"properties":1999,"children":2000},{},[2001],{"type":26,"value":2002},"strategy.cancel(id)    strategy.cancelAll()                       // pending unfilled orders",{"type":26,"value":27},{"type":30,"tagName":2005,"properties":2006,"children":2007,"position":2636},"ul",{},[2008,2009,2081,2082,2202,2203,2269,2270,2296,2297,2423,2424,2635],{"type":26,"value":27},{"type":30,"tagName":2010,"properties":2011,"children":2012,"position":2077},"li",{},[2013,2020,2032,2038,2051,2057,2070],{"type":26,"value":2014,"position":2015},"A plain ",{"start":2016,"end":2018},{"line":331,"column":278,"offset":2017},4148,{"line":331,"column":277,"offset":2019},4156,{"type":30,"tagName":43,"properties":2021,"children":2022,"position":2029},{},[2023],{"type":26,"value":2024,"position":2025},"strategy.long(id).send()",{"start":2026,"end":2027},{"line":331,"column":277,"offset":2019},{"line":331,"column":328,"offset":2028},4182,{"start":2030,"end":2031},{"line":331,"column":277,"offset":2019},{"line":331,"column":328,"offset":2028},{"type":26,"value":2033,"position":2034}," is a market order for the next bar's open. ",{"start":2035,"end":2036},{"line":331,"column":328,"offset":2028},{"line":331,"column":428,"offset":2037},4226,{"type":30,"tagName":43,"properties":2039,"children":2040,"position":2048},{},[2041],{"type":26,"value":2042,"position":2043},"limit",{"start":2044,"end":2045},{"line":331,"column":428,"offset":2037},{"line":331,"column":2046,"offset":2047},88,4233,{"start":2049,"end":2050},{"line":331,"column":428,"offset":2037},{"line":331,"column":2046,"offset":2047},{"type":26,"value":2052,"position":2053}," or ",{"start":2054,"end":2055},{"line":331,"column":2046,"offset":2047},{"line":331,"column":1553,"offset":2056},4237,{"type":30,"tagName":43,"properties":2058,"children":2059,"position":2067},{},[2060],{"type":26,"value":2061,"position":2062},"stop",{"start":2063,"end":2064},{"line":331,"column":1553,"offset":2056},{"line":331,"column":2065,"offset":2066},98,4243,{"start":2068,"end":2069},{"line":331,"column":1553,"offset":2056},{"line":331,"column":2065,"offset":2066},{"type":26,"value":2071,"position":2072}," makes it a resting order that fills when touched; both on one entry is rejected and counted. Re-issuing an id replaces the pending unfilled order with that id.",{"start":2073,"end":2074},{"line":331,"column":2065,"offset":2066},{"line":331,"column":2075,"offset":2076},258,4403,{"start":2078,"end":2080},{"line":331,"column":20,"offset":2079},4146,{"line":331,"column":2075,"offset":2076},{"type":26,"value":27},{"type":30,"tagName":2010,"properties":2083,"children":2084,"position":2198},{},[2085,2098,2105,2117,2123,2135,2142,2154,2159,2171,2178,2191],{"type":30,"tagName":43,"properties":2086,"children":2087,"position":2095},{},[2088],{"type":26,"value":2089,"position":2090},"strategy.exit(id)",{"start":2091,"end":2093},{"line":557,"column":278,"offset":2092},4406,{"line":557,"column":383,"offset":2094},4425,{"start":2096,"end":2097},{"line":557,"column":278,"offset":2092},{"line":557,"column":383,"offset":2094},{"type":26,"value":2099,"position":2100}," attaches bracket legs to an entry: ",{"start":2101,"end":2102},{"line":557,"column":383,"offset":2094},{"line":557,"column":2103,"offset":2104},58,4461,{"type":30,"tagName":43,"properties":2106,"children":2107,"position":2114},{},[2108],{"type":26,"value":2109,"position":2110},"profit",{"start":2111,"end":2112},{"line":557,"column":2103,"offset":2104},{"line":557,"column":1425,"offset":2113},4469,{"start":2115,"end":2116},{"line":557,"column":2103,"offset":2104},{"line":557,"column":1425,"offset":2113},{"type":26,"value":186,"position":2118},{"start":2119,"end":2120},{"line":557,"column":1425,"offset":2113},{"line":557,"column":2121,"offset":2122},71,4474,{"type":30,"tagName":43,"properties":2124,"children":2125,"position":2132},{},[2126],{"type":26,"value":2127,"position":2128},"loss",{"start":2129,"end":2130},{"line":557,"column":2121,"offset":2122},{"line":557,"column":879,"offset":2131},4480,{"start":2133,"end":2134},{"line":557,"column":2121,"offset":2122},{"line":557,"column":879,"offset":2131},{"type":26,"value":2136,"position":2137}," in price points, ",{"start":2138,"end":2139},{"line":557,"column":879,"offset":2131},{"line":557,"column":2140,"offset":2141},95,4498,{"type":30,"tagName":43,"properties":2143,"children":2144,"position":2151},{},[2145],{"type":26,"value":2042,"position":2146},{"start":2147,"end":2148},{"line":557,"column":2140,"offset":2141},{"line":557,"column":2149,"offset":2150},102,4505,{"start":2152,"end":2153},{"line":557,"column":2140,"offset":2141},{"line":557,"column":2149,"offset":2150},{"type":26,"value":186,"position":2155},{"start":2156,"end":2157},{"line":557,"column":2149,"offset":2150},{"line":557,"column":200,"offset":2158},4510,{"type":30,"tagName":43,"properties":2160,"children":2161,"position":2168},{},[2162],{"type":26,"value":2061,"position":2163},{"start":2164,"end":2165},{"line":557,"column":200,"offset":2158},{"line":557,"column":2166,"offset":2167},113,4516,{"start":2169,"end":2170},{"line":557,"column":200,"offset":2158},{"line":557,"column":2166,"offset":2167},{"type":26,"value":2172,"position":2173}," as absolute prices, at least one leg. Without ",{"start":2174,"end":2175},{"line":557,"column":2166,"offset":2167},{"line":557,"column":2176,"offset":2177},160,4563,{"type":30,"tagName":43,"properties":2179,"children":2180,"position":2188},{},[2181],{"type":26,"value":2182,"position":2183},"from",{"start":2184,"end":2185},{"line":557,"column":2176,"offset":2177},{"line":557,"column":2186,"offset":2187},166,4569,{"start":2189,"end":2190},{"line":557,"column":2176,"offset":2177},{"line":557,"column":2186,"offset":2187},{"type":26,"value":2192,"position":2193}," it protects every open entry. Stop, limit and trail legs under one exit id are one-cancels-all.",{"start":2194,"end":2195},{"line":557,"column":2186,"offset":2187},{"line":557,"column":2196,"offset":2197},262,4665,{"start":2199,"end":2201},{"line":557,"column":20,"offset":2200},4404,{"line":557,"column":2196,"offset":2197},{"type":26,"value":27},{"type":30,"tagName":2010,"properties":2204,"children":2205,"position":2265},{},[2206,2219,2225,2238,2245,2258],{"type":30,"tagName":43,"properties":2207,"children":2208,"position":2216},{},[2209],{"type":26,"value":2210,"position":2211},"trail(points, offset)",{"start":2212,"end":2214},{"line":336,"column":278,"offset":2213},4668,{"line":336,"column":470,"offset":2215},4691,{"start":2217,"end":2218},{"line":336,"column":278,"offset":2213},{"line":336,"column":470,"offset":2215},{"type":26,"value":2220,"position":2221}," activates a trailing stop once the trade's favorable excursion reaches ",{"start":2222,"end":2223},{"line":336,"column":470,"offset":2215},{"line":336,"column":2065,"offset":2224},4763,{"type":30,"tagName":43,"properties":2226,"children":2227,"position":2235},{},[2228],{"type":26,"value":2229,"position":2230},"points",{"start":2231,"end":2232},{"line":336,"column":2065,"offset":2224},{"line":336,"column":2233,"offset":2234},106,4771,{"start":2236,"end":2237},{"line":336,"column":2065,"offset":2224},{"line":336,"column":2233,"offset":2234},{"type":26,"value":2239,"position":2240},", then ratchets with new extremes at ",{"start":2241,"end":2242},{"line":336,"column":2233,"offset":2234},{"line":336,"column":2243,"offset":2244},143,4808,{"type":30,"tagName":43,"properties":2246,"children":2247,"position":2255},{},[2248],{"type":26,"value":2249,"position":2250},"offset",{"start":2251,"end":2252},{"line":336,"column":2243,"offset":2244},{"line":336,"column":2253,"offset":2254},151,4816,{"start":2256,"end":2257},{"line":336,"column":2243,"offset":2244},{"line":336,"column":2253,"offset":2254},{"type":26,"value":2259,"position":2260}," behind them.",{"start":2261,"end":2262},{"line":336,"column":2253,"offset":2254},{"line":336,"column":2263,"offset":2264},164,4829,{"start":2266,"end":2268},{"line":336,"column":20,"offset":2267},4666,{"line":336,"column":2263,"offset":2264},{"type":26,"value":27},{"type":30,"tagName":2010,"properties":2271,"children":2272,"position":2292},{},[2273,2286],{"type":30,"tagName":43,"properties":2274,"children":2275,"position":2283},{},[2276],{"type":26,"value":2277,"position":2278},"oca(name)",{"start":2279,"end":2281},{"line":406,"column":278,"offset":2280},4832,{"line":406,"column":446,"offset":2282},4843,{"start":2284,"end":2285},{"line":406,"column":278,"offset":2280},{"line":406,"column":446,"offset":2282},{"type":26,"value":2287,"position":2288}," joins any orders, entries and exits alike, into a one-cancels-all group: when one fills, the rest cancel.",{"start":2289,"end":2290},{"line":406,"column":446,"offset":2282},{"line":406,"column":1441,"offset":2291},4949,{"start":2293,"end":2295},{"line":406,"column":20,"offset":2294},4830,{"line":406,"column":1441,"offset":2291},{"type":26,"value":27},{"type":30,"tagName":2010,"properties":2298,"children":2299,"position":2419},{},[2300,2307,2319,2325,2337,2342,2354,2360,2373,2380,2393,2400,2412],{"type":26,"value":2301,"position":2302},"The builders are preallocated singletons: ",{"start":2303,"end":2305},{"line":411,"column":278,"offset":2304},4952,{"line":411,"column":557,"offset":2306},4994,{"type":30,"tagName":43,"properties":2308,"children":2309,"position":2316},{},[2310],{"type":26,"value":2311,"position":2312},"strategy.long",{"start":2313,"end":2314},{"line":411,"column":557,"offset":2306},{"line":411,"column":1407,"offset":2315},5009,{"start":2317,"end":2318},{"line":411,"column":557,"offset":2306},{"line":411,"column":1407,"offset":2315},{"type":26,"value":166,"position":2320},{"start":2321,"end":2322},{"line":411,"column":1407,"offset":2315},{"line":411,"column":2323,"offset":2324},62,5011,{"type":30,"tagName":43,"properties":2326,"children":2327,"position":2334},{},[2328],{"type":26,"value":2329,"position":2330},"strategy.short",{"start":2331,"end":2332},{"line":411,"column":2323,"offset":2324},{"line":411,"column":150,"offset":2333},5027,{"start":2335,"end":2336},{"line":411,"column":2323,"offset":2324},{"line":411,"column":150,"offset":2333},{"type":26,"value":186,"position":2338},{"start":2339,"end":2340},{"line":411,"column":150,"offset":2333},{"line":411,"column":514,"offset":2341},5032,{"type":30,"tagName":43,"properties":2343,"children":2344,"position":2351},{},[2345],{"type":26,"value":2346,"position":2347},"strategy.exit",{"start":2348,"end":2349},{"line":411,"column":514,"offset":2341},{"line":411,"column":2065,"offset":2350},5047,{"start":2352,"end":2353},{"line":411,"column":514,"offset":2341},{"line":411,"column":2065,"offset":2350},{"type":26,"value":2355,"position":2356}," each reset one builder, the setters fill its legs, and ",{"start":2357,"end":2358},{"line":411,"column":2065,"offset":2350},{"line":411,"column":939,"offset":2359},5103,{"type":30,"tagName":43,"properties":2361,"children":2362,"position":2370},{},[2363],{"type":26,"value":2364,"position":2365},"send()",{"start":2366,"end":2367},{"line":411,"column":939,"offset":2359},{"line":411,"column":2368,"offset":2369},162,5111,{"start":2371,"end":2372},{"line":411,"column":939,"offset":2359},{"line":411,"column":2368,"offset":2369},{"type":26,"value":2374,"position":2375}," is the only call that reaches the host, so finish one order before starting the next. An unset leg is absent, the engine's ",{"start":2376,"end":2377},{"line":411,"column":2368,"offset":2369},{"line":411,"column":2378,"offset":2379},286,5235,{"type":30,"tagName":43,"properties":2381,"children":2382,"position":2390},{},[2383],{"type":26,"value":2384,"position":2385},"na",{"start":2386,"end":2387},{"line":411,"column":2378,"offset":2379},{"line":411,"column":2388,"offset":2389},290,5239,{"start":2391,"end":2392},{"line":411,"column":2378,"offset":2379},{"line":411,"column":2388,"offset":2389},{"type":26,"value":2394,"position":2395},". There is no ",{"start":2396,"end":2397},{"line":411,"column":2388,"offset":2389},{"line":411,"column":2398,"offset":2399},304,5253,{"type":30,"tagName":43,"properties":2401,"children":2402,"position":2409},{},[2403],{"type":26,"value":16,"position":2404},{"start":2405,"end":2406},{"line":411,"column":2398,"offset":2399},{"line":411,"column":2407,"offset":2408},313,5262,{"start":2410,"end":2411},{"line":411,"column":2398,"offset":2399},{"line":411,"column":2407,"offset":2408},{"type":26,"value":2413,"position":2414},": the engine keeps it on no record.",{"start":2415,"end":2416},{"line":411,"column":2407,"offset":2408},{"line":411,"column":2417,"offset":2418},348,5297,{"start":2420,"end":2422},{"line":411,"column":20,"offset":2421},4950,{"line":411,"column":2417,"offset":2418},{"type":26,"value":27},{"type":30,"tagName":2010,"properties":2425,"children":2426,"position":2631},{},[2427,2434,2446,2451,2463,2468,2481,2487,2499,2505,2517,2522,2534,2539,2552,2557,2569,2575,2588,2594,2606,2612,2625],{"type":26,"value":2428,"position":2429},"Getters, valid in ",{"start":2430,"end":2432},{"line":575,"column":278,"offset":2431},5300,{"line":575,"column":714,"offset":2433},5318,{"type":30,"tagName":43,"properties":2435,"children":2436,"position":2443},{},[2437],{"type":26,"value":2438,"position":2439},"state()",{"start":2440,"end":2441},{"line":575,"column":714,"offset":2433},{"line":575,"column":1052,"offset":2442},5327,{"start":2444,"end":2445},{"line":575,"column":714,"offset":2433},{"line":575,"column":1052,"offset":2442},{"type":26,"value":186,"position":2447},{"start":2448,"end":2449},{"line":575,"column":1052,"offset":2442},{"line":575,"column":319,"offset":2450},5332,{"type":30,"tagName":43,"properties":2452,"children":2453,"position":2460},{},[2454],{"type":26,"value":2455,"position":2456},"finalize()",{"start":2457,"end":2458},{"line":575,"column":319,"offset":2450},{"line":575,"column":406,"offset":2459},5344,{"start":2461,"end":2462},{"line":575,"column":319,"offset":2450},{"line":575,"column":406,"offset":2459},{"type":26,"value":909,"position":2464},{"start":2465,"end":2466},{"line":575,"column":406,"offset":2459},{"line":575,"column":575,"offset":2467},5346,{"type":30,"tagName":43,"properties":2469,"children":2470,"position":2478},{},[2471],{"type":26,"value":2472,"position":2473},"strategy.positionSize()",{"start":2474,"end":2475},{"line":575,"column":575,"offset":2467},{"line":575,"column":2476,"offset":2477},74,5371,{"start":2479,"end":2480},{"line":575,"column":575,"offset":2467},{"line":575,"column":2476,"offset":2477},{"type":26,"value":2482,"position":2483}," (signed), ",{"start":2484,"end":2485},{"line":575,"column":2476,"offset":2477},{"line":575,"column":160,"offset":2486},5382,{"type":30,"tagName":43,"properties":2488,"children":2489,"position":2496},{},[2490],{"type":26,"value":2491,"position":2492},"strategy.positionAvgPrice()",{"start":2493,"end":2494},{"line":575,"column":160,"offset":2486},{"line":575,"column":1768,"offset":2495},5411,{"start":2497,"end":2498},{"line":575,"column":160,"offset":2486},{"line":575,"column":1768,"offset":2495},{"type":26,"value":166,"position":2500},{"start":2501,"end":2502},{"line":575,"column":1768,"offset":2495},{"line":575,"column":2503,"offset":2504},116,5413,{"type":30,"tagName":43,"properties":2506,"children":2507,"position":2514},{},[2508],{"type":26,"value":2509,"position":2510},"strategy.equity()",{"start":2511,"end":2512},{"line":575,"column":2503,"offset":2504},{"line":575,"column":24,"offset":2513},5432,{"start":2515,"end":2516},{"line":575,"column":2503,"offset":2504},{"line":575,"column":24,"offset":2513},{"type":26,"value":166,"position":2518},{"start":2519,"end":2520},{"line":575,"column":24,"offset":2513},{"line":575,"column":1291,"offset":2521},5434,{"type":30,"tagName":43,"properties":2523,"children":2524,"position":2531},{},[2525],{"type":26,"value":2526,"position":2527},"strategy.openProfit()",{"start":2528,"end":2529},{"line":575,"column":1291,"offset":2521},{"line":575,"column":2176,"offset":2530},5457,{"start":2532,"end":2533},{"line":575,"column":1291,"offset":2521},{"line":575,"column":2176,"offset":2530},{"type":26,"value":166,"position":2535},{"start":2536,"end":2537},{"line":575,"column":2176,"offset":2530},{"line":575,"column":2368,"offset":2538},5459,{"type":30,"tagName":43,"properties":2540,"children":2541,"position":2549},{},[2542],{"type":26,"value":2543,"position":2544},"strategy.netProfit()",{"start":2545,"end":2546},{"line":575,"column":2368,"offset":2538},{"line":575,"column":2547,"offset":2548},184,5481,{"start":2550,"end":2551},{"line":575,"column":2368,"offset":2538},{"line":575,"column":2547,"offset":2548},{"type":26,"value":166,"position":2553},{"start":2554,"end":2555},{"line":575,"column":2547,"offset":2548},{"line":575,"column":220,"offset":2556},5483,{"type":30,"tagName":43,"properties":2558,"children":2559,"position":2566},{},[2560],{"type":26,"value":2561,"position":2562},"strategy.closedTradeCount()",{"start":2563,"end":2564},{"line":575,"column":220,"offset":2556},{"line":575,"column":62,"offset":2565},5512,{"start":2567,"end":2568},{"line":575,"column":220,"offset":2556},{"line":575,"column":62,"offset":2565},{"type":26,"value":166,"position":2570},{"start":2571,"end":2572},{"line":575,"column":62,"offset":2565},{"line":575,"column":2573,"offset":2574},217,5514,{"type":30,"tagName":43,"properties":2576,"children":2577,"position":2585},{},[2578],{"type":26,"value":2579,"position":2580},"strategy.winTradeCount()",{"start":2581,"end":2582},{"line":575,"column":2573,"offset":2574},{"line":575,"column":2583,"offset":2584},243,5540,{"start":2586,"end":2587},{"line":575,"column":2573,"offset":2574},{"line":575,"column":2583,"offset":2584},{"type":26,"value":166,"position":2589},{"start":2590,"end":2591},{"line":575,"column":2583,"offset":2584},{"line":575,"column":2592,"offset":2593},245,5542,{"type":30,"tagName":43,"properties":2595,"children":2596,"position":2603},{},[2597],{"type":26,"value":2598,"position":2599},"strategy.lossTradeCount()",{"start":2600,"end":2601},{"line":575,"column":2592,"offset":2593},{"line":575,"column":240,"offset":2602},5569,{"start":2604,"end":2605},{"line":575,"column":2592,"offset":2593},{"line":575,"column":240,"offset":2602},{"type":26,"value":166,"position":2607},{"start":2608,"end":2609},{"line":575,"column":240,"offset":2602},{"line":575,"column":2610,"offset":2611},274,5571,{"type":30,"tagName":43,"properties":2613,"children":2614,"position":2622},{},[2615],{"type":26,"value":2616,"position":2617},"strategy.maxDrawdown()",{"start":2618,"end":2619},{"line":575,"column":2610,"offset":2611},{"line":575,"column":2620,"offset":2621},298,5595,{"start":2623,"end":2624},{"line":575,"column":2610,"offset":2611},{"line":575,"column":2620,"offset":2621},{"type":26,"value":1188,"position":2626},{"start":2627,"end":2628},{"line":575,"column":2620,"offset":2621},{"line":575,"column":2629,"offset":2630},299,5596,{"start":2632,"end":2634},{"line":575,"column":20,"offset":2633},5298,{"line":575,"column":2629,"offset":2630},{"type":26,"value":27},{"start":2637,"end":2638},{"line":331,"column":20,"offset":2079},{"line":575,"column":2629,"offset":2630},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2641,"children":2642,"position":2650},{},[2643],{"type":26,"value":2644,"position":2645},"A crossover entry bracketed by both a stop and a take-profit limit; whichever the market touches first closes the trade and cancels the other side:",{"start":2646,"end":2648},{"line":130,"column":20,"offset":2647},5598,{"line":130,"column":591,"offset":2649},5745,{"start":2651,"end":2652},{"line":130,"column":20,"offset":2647},{"line":130,"column":591,"offset":2649},{"type":26,"value":27},{"type":13,"children":2655},[2656],{"type":30,"tagName":1931,"properties":2657,"children":2658,"data":-1},{"class":1933,"style":1934,"tabindex":570},[2659],{"type":30,"tagName":43,"properties":2660,"children":2661},{},[2662,2671,2672,2702,2703,2728,2729,2754,2755,2780,2781,2806,2807,2810,2811,2872,2873,2895,2896,2926,2927,2956,2957,2960,2961,3003,3004,3041,3042,3072,3073,3109,3110,3142,3143,3175,3176,3210,3211,3214,3215,3252,3253,3256,3257,3290,3291,3313,3314,3341,3342,3367,3368,3419,3420,3446,3447,3464,3465,3473,3474,3477,3478,3510,3511,3565,3566,3687,3688,3701,3702,3715,3716,3728,3729,3736,3737,3740,3741,3773,3774,3791,3792,3808,3809,3825,3826,3845,3846,3865,3866,3885,3886,3905,3906],{"type":30,"tagName":1940,"properties":2663,"children":2664},{"class":1942},[2665],{"type":30,"tagName":1940,"properties":2666,"children":2668},{"style":2667},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[2669],{"type":26,"value":2670},"// Trend entries with bracket exits: a stop and a take-profit limit on one exit id, whichever the market touches first closes the trade and cancels the other.",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":2673,"children":2674},{"class":1942},[2675,2681,2687,2691,2697],{"type":30,"tagName":1940,"properties":2676,"children":2678},{"style":2677},"--shiki-dark:#F97583;--shiki-light:#D73A49",[2679],{"type":26,"value":2680},"import",{"type":30,"tagName":1940,"properties":2682,"children":2684},{"style":2683},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[2685],{"type":26,"value":2686}," { input, line, ohlcv, output, overlay } ",{"type":30,"tagName":1940,"properties":2688,"children":2689},{"style":2677},[2690],{"type":26,"value":2182},{"type":30,"tagName":1940,"properties":2692,"children":2694},{"style":2693},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[2695],{"type":26,"value":2696}," \"./sdk/declare\"",{"type":30,"tagName":1940,"properties":2698,"children":2699},{"style":2683},[2700],{"type":26,"value":2701},";",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":2704,"children":2705},{"class":1942},[2706,2710,2715,2719,2724],{"type":30,"tagName":1940,"properties":2707,"children":2708},{"style":2677},[2709],{"type":26,"value":2680},{"type":30,"tagName":1940,"properties":2711,"children":2712},{"style":2683},[2713],{"type":26,"value":2714}," { in_close } ",{"type":30,"tagName":1940,"properties":2716,"children":2717},{"style":2677},[2718],{"type":26,"value":2182},{"type":30,"tagName":1940,"properties":2720,"children":2721},{"style":2693},[2722],{"type":26,"value":2723}," \"./gen/inputs\"",{"type":30,"tagName":1940,"properties":2725,"children":2726},{"style":2683},[2727],{"type":26,"value":2701},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":2730,"children":2731},{"class":1942},[2732,2736,2741,2745,2750],{"type":30,"tagName":1940,"properties":2733,"children":2734},{"style":2677},[2735],{"type":26,"value":2680},{"type":30,"tagName":1940,"properties":2737,"children":2738},{"style":2683},[2739],{"type":26,"value":2740}," { emitRow, out_fast, out_slow } ",{"type":30,"tagName":1940,"properties":2742,"children":2743},{"style":2677},[2744],{"type":26,"value":2182},{"type":30,"tagName":1940,"properties":2746,"children":2747},{"style":2693},[2748],{"type":26,"value":2749}," \"./gen/outputs\"",{"type":30,"tagName":1940,"properties":2751,"children":2752},{"style":2683},[2753],{"type":26,"value":2701},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":2756,"children":2757},{"class":1942},[2758,2762,2767,2771,2776],{"type":30,"tagName":1940,"properties":2759,"children":2760},{"style":2677},[2761],{"type":26,"value":2680},{"type":30,"tagName":1940,"properties":2763,"children":2764},{"style":2683},[2765],{"type":26,"value":2766}," { strategy } ",{"type":30,"tagName":1940,"properties":2768,"children":2769},{"style":2677},[2770],{"type":26,"value":2182},{"type":30,"tagName":1940,"properties":2772,"children":2773},{"style":2693},[2774],{"type":26,"value":2775}," \"./gen/strategy\"",{"type":30,"tagName":1940,"properties":2777,"children":2778},{"style":2683},[2779],{"type":26,"value":2701},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":2782,"children":2783},{"class":1942},[2784,2788,2793,2797,2802],{"type":30,"tagName":1940,"properties":2785,"children":2786},{"style":2677},[2787],{"type":26,"value":2680},{"type":30,"tagName":1940,"properties":2789,"children":2790},{"style":2683},[2791],{"type":26,"value":2792}," { Cross, Sma } ",{"type":30,"tagName":1940,"properties":2794,"children":2795},{"style":2677},[2796],{"type":26,"value":2182},{"type":30,"tagName":1940,"properties":2798,"children":2799},{"style":2693},[2800],{"type":26,"value":2801}," \"./sdk/ta\"",{"type":30,"tagName":1940,"properties":2803,"children":2804},{"style":2683},[2805],{"type":26,"value":2701},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":2808,"children":2809},{"class":1942},[],{"type":26,"value":27},{"type":30,"tagName":1940,"properties":2812,"children":2813},{"class":1942},[2814,2820,2825,2830,2835,2839,2844,2848,2853,2857,2862,2867],{"type":30,"tagName":1940,"properties":2815,"children":2817},{"style":2816},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[2818],{"type":26,"value":2819},"strategy",{"type":30,"tagName":1940,"properties":2821,"children":2822},{"style":2683},[2823],{"type":26,"value":2824},"({ initialCapital: ",{"type":30,"tagName":1940,"properties":2826,"children":2828},{"style":2827},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[2829],{"type":26,"value":400},{"type":30,"tagName":1940,"properties":2831,"children":2832},{"style":2683},[2833],{"type":26,"value":2834},", qtyType: ",{"type":30,"tagName":1940,"properties":2836,"children":2837},{"style":2693},[2838],{"type":26,"value":732},{"type":30,"tagName":1940,"properties":2840,"children":2841},{"style":2683},[2842],{"type":26,"value":2843},", qtyValue: ",{"type":30,"tagName":1940,"properties":2845,"children":2846},{"style":2827},[2847],{"type":26,"value":1066},{"type":30,"tagName":1940,"properties":2849,"children":2850},{"style":2683},[2851],{"type":26,"value":2852},", pyramiding: ",{"type":30,"tagName":1940,"properties":2854,"children":2855},{"style":2827},[2856],{"type":26,"value":1066},{"type":30,"tagName":1940,"properties":2858,"children":2859},{"style":2683},[2860],{"type":26,"value":2861},", fillModel: ",{"type":30,"tagName":1940,"properties":2863,"children":2864},{"style":2693},[2865],{"type":26,"value":2866},"\"pathHeuristic\"",{"type":30,"tagName":1940,"properties":2868,"children":2869},{"style":2683},[2870],{"type":26,"value":2871}," });",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":2874,"children":2875},{"class":1942},[2876,2880,2885,2890],{"type":30,"tagName":1940,"properties":2877,"children":2878},{"style":2816},[2879],{"type":26,"value":176},{"type":30,"tagName":1940,"properties":2881,"children":2882},{"style":2683},[2883],{"type":26,"value":2884},"(",{"type":30,"tagName":1940,"properties":2886,"children":2887},{"style":2693},[2888],{"type":26,"value":2889},"\"close\"",{"type":30,"tagName":1940,"properties":2891,"children":2892},{"style":2683},[2893],{"type":26,"value":2894},", ohlcv.close);",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":2897,"children":2898},{"class":1942},[2899,2903,2907,2912,2917,2922],{"type":30,"tagName":1940,"properties":2900,"children":2901},{"style":2816},[2902],{"type":26,"value":196},{"type":30,"tagName":1940,"properties":2904,"children":2905},{"style":2683},[2906],{"type":26,"value":2884},{"type":30,"tagName":1940,"properties":2908,"children":2909},{"style":2693},[2910],{"type":26,"value":2911},"\"fast\"",{"type":30,"tagName":1940,"properties":2913,"children":2914},{"style":2683},[2915],{"type":26,"value":2916},", line, overlay, { description: ",{"type":30,"tagName":1940,"properties":2918,"children":2919},{"style":2693},[2920],{"type":26,"value":2921},"\"5-period SMA of close\"",{"type":30,"tagName":1940,"properties":2923,"children":2924},{"style":2683},[2925],{"type":26,"value":2871},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":2928,"children":2929},{"class":1942},[2930,2934,2938,2943,2947,2952],{"type":30,"tagName":1940,"properties":2931,"children":2932},{"style":2816},[2933],{"type":26,"value":196},{"type":30,"tagName":1940,"properties":2935,"children":2936},{"style":2683},[2937],{"type":26,"value":2884},{"type":30,"tagName":1940,"properties":2939,"children":2940},{"style":2693},[2941],{"type":26,"value":2942},"\"slow\"",{"type":30,"tagName":1940,"properties":2944,"children":2945},{"style":2683},[2946],{"type":26,"value":2916},{"type":30,"tagName":1940,"properties":2948,"children":2949},{"style":2693},[2950],{"type":26,"value":2951},"\"20-period SMA of close\"",{"type":30,"tagName":1940,"properties":2953,"children":2954},{"style":2683},[2955],{"type":26,"value":2871},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":2958,"children":2959},{"class":1942},[],{"type":26,"value":27},{"type":30,"tagName":1940,"properties":2962,"children":2963},{"class":1942},[2964,2969,2974,2979,2984,2989,2993,2998],{"type":30,"tagName":1940,"properties":2965,"children":2966},{"style":2677},[2967],{"type":26,"value":2968},"const",{"type":30,"tagName":1940,"properties":2970,"children":2971},{"style":2827},[2972],{"type":26,"value":2973}," fastSma",{"type":30,"tagName":1940,"properties":2975,"children":2976},{"style":2677},[2977],{"type":26,"value":2978}," =",{"type":30,"tagName":1940,"properties":2980,"children":2981},{"style":2677},[2982],{"type":26,"value":2983}," new",{"type":30,"tagName":1940,"properties":2985,"children":2986},{"style":2816},[2987],{"type":26,"value":2988}," Sma",{"type":30,"tagName":1940,"properties":2990,"children":2991},{"style":2683},[2992],{"type":26,"value":2884},{"type":30,"tagName":1940,"properties":2994,"children":2995},{"style":2827},[2996],{"type":26,"value":2997},"5",{"type":30,"tagName":1940,"properties":2999,"children":3000},{"style":2683},[3001],{"type":26,"value":3002},");",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3005,"children":3006},{"class":1942},[3007,3011,3016,3020,3024,3028,3032,3037],{"type":30,"tagName":1940,"properties":3008,"children":3009},{"style":2677},[3010],{"type":26,"value":2968},{"type":30,"tagName":1940,"properties":3012,"children":3013},{"style":2827},[3014],{"type":26,"value":3015}," slowSma",{"type":30,"tagName":1940,"properties":3017,"children":3018},{"style":2677},[3019],{"type":26,"value":2978},{"type":30,"tagName":1940,"properties":3021,"children":3022},{"style":2677},[3023],{"type":26,"value":2983},{"type":30,"tagName":1940,"properties":3025,"children":3026},{"style":2816},[3027],{"type":26,"value":2988},{"type":30,"tagName":1940,"properties":3029,"children":3030},{"style":2683},[3031],{"type":26,"value":2884},{"type":30,"tagName":1940,"properties":3033,"children":3034},{"style":2827},[3035],{"type":26,"value":3036},"20",{"type":30,"tagName":1940,"properties":3038,"children":3039},{"style":2683},[3040],{"type":26,"value":3002},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3043,"children":3044},{"class":1942},[3045,3049,3054,3058,3062,3067],{"type":30,"tagName":1940,"properties":3046,"children":3047},{"style":2677},[3048],{"type":26,"value":2968},{"type":30,"tagName":1940,"properties":3050,"children":3051},{"style":2827},[3052],{"type":26,"value":3053}," cross",{"type":30,"tagName":1940,"properties":3055,"children":3056},{"style":2677},[3057],{"type":26,"value":2978},{"type":30,"tagName":1940,"properties":3059,"children":3060},{"style":2677},[3061],{"type":26,"value":2983},{"type":30,"tagName":1940,"properties":3063,"children":3064},{"style":2816},[3065],{"type":26,"value":3066}," Cross",{"type":30,"tagName":1940,"properties":3068,"children":3069},{"style":2683},[3070],{"type":26,"value":3071},"();",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3074,"children":3075},{"class":1942},[3076,3081,3086,3091,3096,3100,3105],{"type":30,"tagName":1940,"properties":3077,"children":3078},{"style":2677},[3079],{"type":26,"value":3080},"let",{"type":30,"tagName":1940,"properties":3082,"children":3083},{"style":2683},[3084],{"type":26,"value":3085}," fast",{"type":30,"tagName":1940,"properties":3087,"children":3088},{"style":2677},[3089],{"type":26,"value":3090},":",{"type":30,"tagName":1940,"properties":3092,"children":3093},{"style":2816},[3094],{"type":26,"value":3095}," f64",{"type":30,"tagName":1940,"properties":3097,"children":3098},{"style":2677},[3099],{"type":26,"value":2978},{"type":30,"tagName":1940,"properties":3101,"children":3102},{"style":2827},[3103],{"type":26,"value":3104}," NaN",{"type":30,"tagName":1940,"properties":3106,"children":3107},{"style":2683},[3108],{"type":26,"value":2701},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3111,"children":3112},{"class":1942},[3113,3117,3122,3126,3130,3134,3138],{"type":30,"tagName":1940,"properties":3114,"children":3115},{"style":2677},[3116],{"type":26,"value":3080},{"type":30,"tagName":1940,"properties":3118,"children":3119},{"style":2683},[3120],{"type":26,"value":3121}," slow",{"type":30,"tagName":1940,"properties":3123,"children":3124},{"style":2677},[3125],{"type":26,"value":3090},{"type":30,"tagName":1940,"properties":3127,"children":3128},{"style":2816},[3129],{"type":26,"value":3095},{"type":30,"tagName":1940,"properties":3131,"children":3132},{"style":2677},[3133],{"type":26,"value":2978},{"type":30,"tagName":1940,"properties":3135,"children":3136},{"style":2827},[3137],{"type":26,"value":3104},{"type":30,"tagName":1940,"properties":3139,"children":3140},{"style":2683},[3141],{"type":26,"value":2701},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3144,"children":3145},{"class":1942},[3146,3150,3155,3159,3163,3167,3171],{"type":30,"tagName":1940,"properties":3147,"children":3148},{"style":2677},[3149],{"type":26,"value":3080},{"type":30,"tagName":1940,"properties":3151,"children":3152},{"style":2683},[3153],{"type":26,"value":3154}," close",{"type":30,"tagName":1940,"properties":3156,"children":3157},{"style":2677},[3158],{"type":26,"value":3090},{"type":30,"tagName":1940,"properties":3160,"children":3161},{"style":2816},[3162],{"type":26,"value":3095},{"type":30,"tagName":1940,"properties":3164,"children":3165},{"style":2677},[3166],{"type":26,"value":2978},{"type":30,"tagName":1940,"properties":3168,"children":3169},{"style":2827},[3170],{"type":26,"value":3104},{"type":30,"tagName":1940,"properties":3172,"children":3173},{"style":2683},[3174],{"type":26,"value":2701},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3177,"children":3178},{"class":1942},[3179,3183,3188,3192,3197,3201,3206],{"type":30,"tagName":1940,"properties":3180,"children":3181},{"style":2677},[3182],{"type":26,"value":3080},{"type":30,"tagName":1940,"properties":3184,"children":3185},{"style":2683},[3186],{"type":26,"value":3187}," crossed",{"type":30,"tagName":1940,"properties":3189,"children":3190},{"style":2677},[3191],{"type":26,"value":3090},{"type":30,"tagName":1940,"properties":3193,"children":3194},{"style":2816},[3195],{"type":26,"value":3196}," i32",{"type":30,"tagName":1940,"properties":3198,"children":3199},{"style":2677},[3200],{"type":26,"value":2978},{"type":30,"tagName":1940,"properties":3202,"children":3203},{"style":2827},[3204],{"type":26,"value":3205}," 0",{"type":30,"tagName":1940,"properties":3207,"children":3208},{"style":2683},[3209],{"type":26,"value":2701},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3212,"children":3213},{"class":1942},[],{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3216,"children":3217},{"class":1942},[3218,3223,3228,3233,3238,3242,3247],{"type":30,"tagName":1940,"properties":3219,"children":3220},{"style":2677},[3221],{"type":26,"value":3222},"export",{"type":30,"tagName":1940,"properties":3224,"children":3225},{"style":2677},[3226],{"type":26,"value":3227}," function",{"type":30,"tagName":1940,"properties":3229,"children":3230},{"style":2816},[3231],{"type":26,"value":3232}," init",{"type":30,"tagName":1940,"properties":3234,"children":3235},{"style":2683},[3236],{"type":26,"value":3237},"()",{"type":30,"tagName":1940,"properties":3239,"children":3240},{"style":2677},[3241],{"type":26,"value":3090},{"type":30,"tagName":1940,"properties":3243,"children":3244},{"style":2827},[3245],{"type":26,"value":3246}," void",{"type":30,"tagName":1940,"properties":3248,"children":3249},{"style":2683},[3250],{"type":26,"value":3251}," {}",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3254,"children":3255},{"class":1942},[],{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3258,"children":3259},{"class":1942},[3260,3264,3268,3273,3277,3281,3285],{"type":30,"tagName":1940,"properties":3261,"children":3262},{"style":2677},[3263],{"type":26,"value":3222},{"type":30,"tagName":1940,"properties":3265,"children":3266},{"style":2677},[3267],{"type":26,"value":3227},{"type":30,"tagName":1940,"properties":3269,"children":3270},{"style":2816},[3271],{"type":26,"value":3272}," state",{"type":30,"tagName":1940,"properties":3274,"children":3275},{"style":2683},[3276],{"type":26,"value":3237},{"type":30,"tagName":1940,"properties":3278,"children":3279},{"style":2677},[3280],{"type":26,"value":3090},{"type":30,"tagName":1940,"properties":3282,"children":3283},{"style":2816},[3284],{"type":26,"value":3196},{"type":30,"tagName":1940,"properties":3286,"children":3287},{"style":2683},[3288],{"type":26,"value":3289}," {",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3292,"children":3293},{"class":1942},[3294,3299,3304,3309],{"type":30,"tagName":1940,"properties":3295,"children":3296},{"style":2683},[3297],{"type":26,"value":3298},"  close ",{"type":30,"tagName":1940,"properties":3300,"children":3301},{"style":2677},[3302],{"type":26,"value":3303},"=",{"type":30,"tagName":1940,"properties":3305,"children":3306},{"style":2816},[3307],{"type":26,"value":3308}," in_close",{"type":30,"tagName":1940,"properties":3310,"children":3311},{"style":2683},[3312],{"type":26,"value":3071},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3315,"children":3316},{"class":1942},[3317,3322,3326,3331,3336],{"type":30,"tagName":1940,"properties":3318,"children":3319},{"style":2683},[3320],{"type":26,"value":3321},"  fast ",{"type":30,"tagName":1940,"properties":3323,"children":3324},{"style":2677},[3325],{"type":26,"value":3303},{"type":30,"tagName":1940,"properties":3327,"children":3328},{"style":2683},[3329],{"type":26,"value":3330}," fastSma.",{"type":30,"tagName":1940,"properties":3332,"children":3333},{"style":2816},[3334],{"type":26,"value":3335},"update",{"type":30,"tagName":1940,"properties":3337,"children":3338},{"style":2683},[3339],{"type":26,"value":3340},"(close);",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3343,"children":3344},{"class":1942},[3345,3350,3354,3359,3363],{"type":30,"tagName":1940,"properties":3346,"children":3347},{"style":2683},[3348],{"type":26,"value":3349},"  slow ",{"type":30,"tagName":1940,"properties":3351,"children":3352},{"style":2677},[3353],{"type":26,"value":3303},{"type":30,"tagName":1940,"properties":3355,"children":3356},{"style":2683},[3357],{"type":26,"value":3358}," slowSma.",{"type":30,"tagName":1940,"properties":3360,"children":3361},{"style":2816},[3362],{"type":26,"value":3335},{"type":30,"tagName":1940,"properties":3364,"children":3365},{"style":2683},[3366],{"type":26,"value":3340},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3369,"children":3370},{"class":1942},[3371,3376,3381,3386,3391,3396,3401,3406,3411,3415],{"type":30,"tagName":1940,"properties":3372,"children":3373},{"style":2677},[3374],{"type":26,"value":3375},"  if",{"type":30,"tagName":1940,"properties":3377,"children":3378},{"style":2683},[3379],{"type":26,"value":3380}," (",{"type":30,"tagName":1940,"properties":3382,"children":3383},{"style":2816},[3384],{"type":26,"value":3385},"isNaN",{"type":30,"tagName":1940,"properties":3387,"children":3388},{"style":2683},[3389],{"type":26,"value":3390},"(fast) ",{"type":30,"tagName":1940,"properties":3392,"children":3393},{"style":2677},[3394],{"type":26,"value":3395},"||",{"type":30,"tagName":1940,"properties":3397,"children":3398},{"style":2816},[3399],{"type":26,"value":3400}," isNaN",{"type":30,"tagName":1940,"properties":3402,"children":3403},{"style":2683},[3404],{"type":26,"value":3405},"(slow)) ",{"type":30,"tagName":1940,"properties":3407,"children":3408},{"style":2677},[3409],{"type":26,"value":3410},"return",{"type":30,"tagName":1940,"properties":3412,"children":3413},{"style":2827},[3414],{"type":26,"value":3205},{"type":30,"tagName":1940,"properties":3416,"children":3417},{"style":2683},[3418],{"type":26,"value":2701},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3421,"children":3422},{"class":1942},[3423,3428,3432,3437,3441],{"type":30,"tagName":1940,"properties":3424,"children":3425},{"style":2683},[3426],{"type":26,"value":3427},"  crossed ",{"type":30,"tagName":1940,"properties":3429,"children":3430},{"style":2677},[3431],{"type":26,"value":3303},{"type":30,"tagName":1940,"properties":3433,"children":3434},{"style":2683},[3435],{"type":26,"value":3436}," cross.",{"type":30,"tagName":1940,"properties":3438,"children":3439},{"style":2816},[3440],{"type":26,"value":3335},{"type":30,"tagName":1940,"properties":3442,"children":3443},{"style":2683},[3444],{"type":26,"value":3445},"(fast, slow);",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3448,"children":3449},{"class":1942},[3450,3455,3460],{"type":30,"tagName":1940,"properties":3451,"children":3452},{"style":2677},[3453],{"type":26,"value":3454},"  return",{"type":30,"tagName":1940,"properties":3456,"children":3457},{"style":2827},[3458],{"type":26,"value":3459}," 1",{"type":30,"tagName":1940,"properties":3461,"children":3462},{"style":2683},[3463],{"type":26,"value":2701},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3466,"children":3467},{"class":1942},[3468],{"type":30,"tagName":1940,"properties":3469,"children":3470},{"style":2683},[3471],{"type":26,"value":3472},"}",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3475,"children":3476},{"class":1942},[],{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3479,"children":3480},{"class":1942},[3481,3485,3489,3494,3498,3502,3506],{"type":30,"tagName":1940,"properties":3482,"children":3483},{"style":2677},[3484],{"type":26,"value":3222},{"type":30,"tagName":1940,"properties":3486,"children":3487},{"style":2677},[3488],{"type":26,"value":3227},{"type":30,"tagName":1940,"properties":3490,"children":3491},{"style":2816},[3492],{"type":26,"value":3493}," finalize",{"type":30,"tagName":1940,"properties":3495,"children":3496},{"style":2683},[3497],{"type":26,"value":3237},{"type":30,"tagName":1940,"properties":3499,"children":3500},{"style":2677},[3501],{"type":26,"value":3090},{"type":30,"tagName":1940,"properties":3503,"children":3504},{"style":2827},[3505],{"type":26,"value":3246},{"type":30,"tagName":1940,"properties":3507,"children":3508},{"style":2683},[3509],{"type":26,"value":3289},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3512,"children":3513},{"class":1942},[3514,3518,3523,3528,3532,3537,3542,3546,3551,3556,3561],{"type":30,"tagName":1940,"properties":3515,"children":3516},{"style":2677},[3517],{"type":26,"value":3375},{"type":30,"tagName":1940,"properties":3519,"children":3520},{"style":2683},[3521],{"type":26,"value":3522}," (crossed ",{"type":30,"tagName":1940,"properties":3524,"children":3525},{"style":2677},[3526],{"type":26,"value":3527},"==",{"type":30,"tagName":1940,"properties":3529,"children":3530},{"style":2827},[3531],{"type":26,"value":3459},{"type":30,"tagName":1940,"properties":3533,"children":3534},{"style":2683},[3535],{"type":26,"value":3536},") strategy.",{"type":30,"tagName":1940,"properties":3538,"children":3539},{"style":2816},[3540],{"type":26,"value":3541},"long",{"type":30,"tagName":1940,"properties":3543,"children":3544},{"style":2683},[3545],{"type":26,"value":2884},{"type":30,"tagName":1940,"properties":3547,"children":3548},{"style":2693},[3549],{"type":26,"value":3550},"\"Trend\"",{"type":30,"tagName":1940,"properties":3552,"children":3553},{"style":2683},[3554],{"type":26,"value":3555},").",{"type":30,"tagName":1940,"properties":3557,"children":3558},{"style":2816},[3559],{"type":26,"value":3560},"send",{"type":30,"tagName":1940,"properties":3562,"children":3563},{"style":2683},[3564],{"type":26,"value":3071},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3567,"children":3568},{"class":1942},[3569,3573,3578,3583,3588,3593,3597,3601,3606,3610,3615,3619,3623,3627,3631,3635,3639,3644,3649,3654,3658,3662,3666,3670,3675,3679,3683],{"type":30,"tagName":1940,"properties":3570,"children":3571},{"style":2677},[3572],{"type":26,"value":3375},{"type":30,"tagName":1940,"properties":3574,"children":3575},{"style":2683},[3576],{"type":26,"value":3577}," (strategy.",{"type":30,"tagName":1940,"properties":3579,"children":3580},{"style":2816},[3581],{"type":26,"value":3582},"positionSize",{"type":30,"tagName":1940,"properties":3584,"children":3585},{"style":2683},[3586],{"type":26,"value":3587},"() ",{"type":30,"tagName":1940,"properties":3589,"children":3590},{"style":2677},[3591],{"type":26,"value":3592},">",{"type":30,"tagName":1940,"properties":3594,"children":3595},{"style":2827},[3596],{"type":26,"value":3205},{"type":30,"tagName":1940,"properties":3598,"children":3599},{"style":2683},[3600],{"type":26,"value":3536},{"type":30,"tagName":1940,"properties":3602,"children":3603},{"style":2816},[3604],{"type":26,"value":3605},"exit",{"type":30,"tagName":1940,"properties":3607,"children":3608},{"style":2683},[3609],{"type":26,"value":2884},{"type":30,"tagName":1940,"properties":3611,"children":3612},{"style":2693},[3613],{"type":26,"value":3614},"\"Protect\"",{"type":30,"tagName":1940,"properties":3616,"children":3617},{"style":2683},[3618],{"type":26,"value":3555},{"type":30,"tagName":1940,"properties":3620,"children":3621},{"style":2816},[3622],{"type":26,"value":2182},{"type":30,"tagName":1940,"properties":3624,"children":3625},{"style":2683},[3626],{"type":26,"value":2884},{"type":30,"tagName":1940,"properties":3628,"children":3629},{"style":2693},[3630],{"type":26,"value":3550},{"type":30,"tagName":1940,"properties":3632,"children":3633},{"style":2683},[3634],{"type":26,"value":3555},{"type":30,"tagName":1940,"properties":3636,"children":3637},{"style":2816},[3638],{"type":26,"value":2061},{"type":30,"tagName":1940,"properties":3640,"children":3641},{"style":2683},[3642],{"type":26,"value":3643},"(close ",{"type":30,"tagName":1940,"properties":3645,"children":3646},{"style":2677},[3647],{"type":26,"value":3648},"*",{"type":30,"tagName":1940,"properties":3650,"children":3651},{"style":2827},[3652],{"type":26,"value":3653}," 0.97",{"type":30,"tagName":1940,"properties":3655,"children":3656},{"style":2683},[3657],{"type":26,"value":3555},{"type":30,"tagName":1940,"properties":3659,"children":3660},{"style":2816},[3661],{"type":26,"value":2042},{"type":30,"tagName":1940,"properties":3663,"children":3664},{"style":2683},[3665],{"type":26,"value":3643},{"type":30,"tagName":1940,"properties":3667,"children":3668},{"style":2677},[3669],{"type":26,"value":3648},{"type":30,"tagName":1940,"properties":3671,"children":3672},{"style":2827},[3673],{"type":26,"value":3674}," 1.05",{"type":30,"tagName":1940,"properties":3676,"children":3677},{"style":2683},[3678],{"type":26,"value":3555},{"type":30,"tagName":1940,"properties":3680,"children":3681},{"style":2816},[3682],{"type":26,"value":3560},{"type":30,"tagName":1940,"properties":3684,"children":3685},{"style":2683},[3686],{"type":26,"value":3071},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3689,"children":3690},{"class":1942},[3691,3696],{"type":30,"tagName":1940,"properties":3692,"children":3693},{"style":2816},[3694],{"type":26,"value":3695},"  out_fast",{"type":30,"tagName":1940,"properties":3697,"children":3698},{"style":2683},[3699],{"type":26,"value":3700},"(fast);",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3703,"children":3704},{"class":1942},[3705,3710],{"type":30,"tagName":1940,"properties":3706,"children":3707},{"style":2816},[3708],{"type":26,"value":3709},"  out_slow",{"type":30,"tagName":1940,"properties":3711,"children":3712},{"style":2683},[3713],{"type":26,"value":3714},"(slow);",{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3717,"children":3718},{"class":1942},[3719,3724],{"type":30,"tagName":1940,"properties":3720,"children":3721},{"style":2816},[3722],{"type":26,"value":3723},"  emitRow",{"type":30,"tagName":1940,"properties":3725,"children":3726},{"style":2683},[3727],{"type":26,"value":3071},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3730,"children":3731},{"class":1942},[3732],{"type":30,"tagName":1940,"properties":3733,"children":3734},{"style":2683},[3735],{"type":26,"value":3472},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3738,"children":3739},{"class":1942},[],{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3742,"children":3743},{"class":1942},[3744,3748,3752,3757,3761,3765,3769],{"type":30,"tagName":1940,"properties":3745,"children":3746},{"style":2677},[3747],{"type":26,"value":3222},{"type":30,"tagName":1940,"properties":3749,"children":3750},{"style":2677},[3751],{"type":26,"value":3227},{"type":30,"tagName":1940,"properties":3753,"children":3754},{"style":2816},[3755],{"type":26,"value":3756}," reset",{"type":30,"tagName":1940,"properties":3758,"children":3759},{"style":2683},[3760],{"type":26,"value":3237},{"type":30,"tagName":1940,"properties":3762,"children":3763},{"style":2677},[3764],{"type":26,"value":3090},{"type":30,"tagName":1940,"properties":3766,"children":3767},{"style":2827},[3768],{"type":26,"value":3246},{"type":30,"tagName":1940,"properties":3770,"children":3771},{"style":2683},[3772],{"type":26,"value":3289},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3775,"children":3776},{"class":1942},[3777,3782,3787],{"type":30,"tagName":1940,"properties":3778,"children":3779},{"style":2683},[3780],{"type":26,"value":3781},"  fastSma.",{"type":30,"tagName":1940,"properties":3783,"children":3784},{"style":2816},[3785],{"type":26,"value":3786},"reset",{"type":30,"tagName":1940,"properties":3788,"children":3789},{"style":2683},[3790],{"type":26,"value":3071},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3793,"children":3794},{"class":1942},[3795,3800,3804],{"type":30,"tagName":1940,"properties":3796,"children":3797},{"style":2683},[3798],{"type":26,"value":3799},"  slowSma.",{"type":30,"tagName":1940,"properties":3801,"children":3802},{"style":2816},[3803],{"type":26,"value":3786},{"type":30,"tagName":1940,"properties":3805,"children":3806},{"style":2683},[3807],{"type":26,"value":3071},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3810,"children":3811},{"class":1942},[3812,3817,3821],{"type":30,"tagName":1940,"properties":3813,"children":3814},{"style":2683},[3815],{"type":26,"value":3816},"  cross.",{"type":30,"tagName":1940,"properties":3818,"children":3819},{"style":2816},[3820],{"type":26,"value":3786},{"type":30,"tagName":1940,"properties":3822,"children":3823},{"style":2683},[3824],{"type":26,"value":3071},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3827,"children":3828},{"class":1942},[3829,3833,3837,3841],{"type":30,"tagName":1940,"properties":3830,"children":3831},{"style":2683},[3832],{"type":26,"value":3321},{"type":30,"tagName":1940,"properties":3834,"children":3835},{"style":2677},[3836],{"type":26,"value":3303},{"type":30,"tagName":1940,"properties":3838,"children":3839},{"style":2827},[3840],{"type":26,"value":3104},{"type":30,"tagName":1940,"properties":3842,"children":3843},{"style":2683},[3844],{"type":26,"value":2701},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3847,"children":3848},{"class":1942},[3849,3853,3857,3861],{"type":30,"tagName":1940,"properties":3850,"children":3851},{"style":2683},[3852],{"type":26,"value":3349},{"type":30,"tagName":1940,"properties":3854,"children":3855},{"style":2677},[3856],{"type":26,"value":3303},{"type":30,"tagName":1940,"properties":3858,"children":3859},{"style":2827},[3860],{"type":26,"value":3104},{"type":30,"tagName":1940,"properties":3862,"children":3863},{"style":2683},[3864],{"type":26,"value":2701},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3867,"children":3868},{"class":1942},[3869,3873,3877,3881],{"type":30,"tagName":1940,"properties":3870,"children":3871},{"style":2683},[3872],{"type":26,"value":3298},{"type":30,"tagName":1940,"properties":3874,"children":3875},{"style":2677},[3876],{"type":26,"value":3303},{"type":30,"tagName":1940,"properties":3878,"children":3879},{"style":2827},[3880],{"type":26,"value":3104},{"type":30,"tagName":1940,"properties":3882,"children":3883},{"style":2683},[3884],{"type":26,"value":2701},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3887,"children":3888},{"class":1942},[3889,3893,3897,3901],{"type":30,"tagName":1940,"properties":3890,"children":3891},{"style":2683},[3892],{"type":26,"value":3427},{"type":30,"tagName":1940,"properties":3894,"children":3895},{"style":2677},[3896],{"type":26,"value":3303},{"type":30,"tagName":1940,"properties":3898,"children":3899},{"style":2827},[3900],{"type":26,"value":3205},{"type":30,"tagName":1940,"properties":3902,"children":3903},{"style":2683},[3904],{"type":26,"value":2701},{"type":26,"value":27},{"type":30,"tagName":1940,"properties":3907,"children":3908},{"class":1942},[3909],{"type":30,"tagName":1940,"properties":3910,"children":3911},{"style":2683},[3912],{"type":26,"value":3472},{"type":26,"value":27},{"type":30,"tagName":88,"properties":3915,"children":3917,"position":3926},{"id":3916},"position-model",[3918],{"type":26,"value":3919,"position":3920},"Position model",{"start":3921,"end":3924},{"line":3922,"column":97,"offset":3923},104,7294,{"line":3922,"column":694,"offset":3925},7308,{"start":3927,"end":3929},{"line":3922,"column":20,"offset":3928},7291,{"line":3922,"column":694,"offset":3925},{"type":26,"value":27},{"type":30,"tagName":31,"properties":3932,"children":3933,"position":3961},{},[3934,3942,3954],{"type":26,"value":3935,"position":3936},"The broker nets to one position. An entry in the opposite direction is a reversal: it closes the existing position fully at the same fill, then opens the new one at the requested quantity. ",{"start":3937,"end":3939},{"line":2233,"column":20,"offset":3938},7310,{"line":2233,"column":3940,"offset":3941},190,7499,{"type":30,"tagName":43,"properties":3943,"children":3944,"position":3951},{},[3945],{"type":26,"value":1027,"position":3946},{"start":3947,"end":3948},{"line":2233,"column":3940,"offset":3941},{"line":2233,"column":3949,"offset":3950},202,7511,{"start":3952,"end":3953},{"line":2233,"column":3940,"offset":3941},{"line":2233,"column":3949,"offset":3950},{"type":26,"value":3955,"position":3956}," caps same-direction stacking; rejected entries are counted in the output rather than thrown.",{"start":3957,"end":3958},{"line":2233,"column":3949,"offset":3950},{"line":2233,"column":3959,"offset":3960},295,7604,{"start":3962,"end":3963},{"line":2233,"column":20,"offset":3938},{"line":2233,"column":3959,"offset":3960},{"type":26,"value":27},{"type":30,"tagName":31,"properties":3966,"children":3967,"position":3976},{},[3968],{"type":26,"value":3969,"position":3970},"Sizing details worth knowing:",{"start":3971,"end":3974},{"line":3972,"column":20,"offset":3973},108,7606,{"line":3972,"column":1052,"offset":3975},7635,{"start":3977,"end":3978},{"line":3972,"column":20,"offset":3973},{"line":3972,"column":1052,"offset":3975},{"type":26,"value":27},{"type":30,"tagName":2005,"properties":3981,"children":3982,"position":4195},{},[3983,3984,4033,4034,4086,4087,4179,4180,4194],{"type":26,"value":27},{"type":30,"tagName":2010,"properties":3985,"children":3986,"position":4029},{},[3987,3995,4007,4013,4024],{"type":26,"value":3988,"position":3989},"An explicit ",{"start":3990,"end":3993},{"line":3991,"column":278,"offset":3992},110,7639,{"line":3991,"column":532,"offset":3994},7651,{"type":30,"tagName":43,"properties":3996,"children":3997,"position":4004},{},[3998],{"type":26,"value":3999,"position":4000},"qty(...)",{"start":4001,"end":4002},{"line":3991,"column":532,"offset":3994},{"line":3991,"column":302,"offset":4003},7661,{"start":4005,"end":4006},{"line":3991,"column":532,"offset":3994},{"line":3991,"column":302,"offset":4003},{"type":26,"value":4008,"position":4009}," on an order always wins over the declaration's ",{"start":4010,"end":4011},{"line":3991,"column":302,"offset":4003},{"line":3991,"column":71,"offset":4012},7709,{"type":30,"tagName":43,"properties":4014,"children":4015,"position":4021},{},[4016],{"type":26,"value":787,"position":4017},{"start":4018,"end":4019},{"line":3991,"column":71,"offset":4012},{"line":3991,"column":1521,"offset":4020},7718,{"start":4022,"end":4023},{"line":3991,"column":71,"offset":4012},{"line":3991,"column":1521,"offset":4020},{"type":26,"value":1188,"position":4025},{"start":4026,"end":4027},{"line":3991,"column":1521,"offset":4020},{"line":3991,"column":514,"offset":4028},7719,{"start":4030,"end":4032},{"line":3991,"column":20,"offset":4031},7637,{"line":3991,"column":514,"offset":4028},{"type":26,"value":27},{"type":30,"tagName":2010,"properties":4035,"children":4036,"position":4082},{},[4037,4045,4057,4062,4075],{"type":26,"value":4038,"position":4039},"Sized-at-fill quantities (",{"start":4040,"end":4043},{"line":4041,"column":278,"offset":4042},111,7722,{"line":4041,"column":489,"offset":4044},7748,{"type":30,"tagName":43,"properties":4046,"children":4047,"position":4054},{},[4048],{"type":26,"value":4049,"position":4050},"percentOfEquity",{"start":4051,"end":4052},{"line":4041,"column":489,"offset":4044},{"line":4041,"column":336,"offset":4053},7765,{"start":4055,"end":4056},{"line":4041,"column":489,"offset":4044},{"line":4041,"column":336,"offset":4053},{"type":26,"value":166,"position":4058},{"start":4059,"end":4060},{"line":4041,"column":336,"offset":4053},{"line":4041,"column":411,"offset":4061},7767,{"type":30,"tagName":43,"properties":4063,"children":4064,"position":4072},{},[4065],{"type":26,"value":4066,"position":4067},"cash",{"start":4068,"end":4069},{"line":4041,"column":411,"offset":4061},{"line":4041,"column":4070,"offset":4071},54,7773,{"start":4073,"end":4074},{"line":4041,"column":411,"offset":4061},{"line":4041,"column":4070,"offset":4071},{"type":26,"value":4076,"position":4077},") resolve from the slippage-adjusted fill price, and fractional quantities are legal (the broker does not round lots).",{"start":4078,"end":4079},{"line":4041,"column":4070,"offset":4071},{"line":4041,"column":4080,"offset":4081},172,7891,{"start":4083,"end":4085},{"line":4041,"column":20,"offset":4084},7720,{"line":4041,"column":4080,"offset":4081},{"type":26,"value":27},{"type":30,"tagName":2010,"properties":4088,"children":4089,"position":4175},{},[4090,4097,4108,4113,4124,4131,4144,4151,4168],{"type":26,"value":4091,"position":4092},"On perps, ",{"start":4093,"end":4095},{"line":1763,"column":278,"offset":4094},7894,{"line":1763,"column":295,"offset":4096},7904,{"type":30,"tagName":43,"properties":4098,"children":4099,"position":4105},{},[4100],{"type":26,"value":4049,"position":4101},{"start":4102,"end":4103},{"line":1763,"column":295,"offset":4096},{"line":1763,"column":1052,"offset":4104},7921,{"start":4106,"end":4107},{"line":1763,"column":295,"offset":4096},{"line":1763,"column":1052,"offset":4104},{"type":26,"value":186,"position":4109},{"start":4110,"end":4111},{"line":1763,"column":1052,"offset":4104},{"line":1763,"column":319,"offset":4112},7926,{"type":30,"tagName":43,"properties":4114,"children":4115,"position":4121},{},[4116],{"type":26,"value":4066,"position":4117},{"start":4118,"end":4119},{"line":1763,"column":319,"offset":4112},{"line":1763,"column":1257,"offset":4120},7932,{"start":4122,"end":4123},{"line":1763,"column":319,"offset":4112},{"line":1763,"column":1257,"offset":4120},{"type":26,"value":4125,"position":4126}," size the isolated margin commitment, not the notional. Explicit quantities and ",{"start":4127,"end":4128},{"line":1763,"column":1257,"offset":4120},{"line":1763,"column":4129,"offset":4130},121,8012,{"type":30,"tagName":43,"properties":4132,"children":4133,"position":4141},{},[4134],{"type":26,"value":4135,"position":4136},"qtyType: \"fixed\"",{"start":4137,"end":4138},{"line":1763,"column":4129,"offset":4130},{"line":1763,"column":4139,"offset":4140},139,8030,{"start":4142,"end":4143},{"line":1763,"column":4129,"offset":4130},{"line":1763,"column":4139,"offset":4140},{"type":26,"value":4145,"position":4146}," stay direct quantities and are margin-checked. Perps entries also pass an isolated-margin admission check before the opening leg applies; unrealized PnL is not collateral. ",{"start":4147,"end":4148},{"line":1763,"column":4139,"offset":4140},{"line":1763,"column":4149,"offset":4150},312,8203,{"type":30,"tagName":1170,"properties":4152,"children":4154,"position":4163},{"href":4153},"perps-and-leverage.md",[4155],{"type":26,"value":4156,"position":4157},"Perps and leverage",{"start":4158,"end":4160},{"line":1763,"column":2407,"offset":4159},8204,{"line":1763,"column":4161,"offset":4162},331,8222,{"start":4164,"end":4165},{"line":1763,"column":4149,"offset":4150},{"line":1763,"column":4166,"offset":4167},355,8246,{"type":26,"value":4169,"position":4170}," has the model.",{"start":4171,"end":4172},{"line":1763,"column":4166,"offset":4167},{"line":1763,"column":4173,"offset":4174},370,8261,{"start":4176,"end":4178},{"line":1763,"column":20,"offset":4177},7892,{"line":1763,"column":4173,"offset":4174},{"type":26,"value":27},{"type":30,"tagName":2010,"properties":4181,"children":4182,"position":4190},{},[4183],{"type":26,"value":4184,"position":4185},"A computed size is rejected and counted when equity at fill is not positive or the quantity is not finite and positive.",{"start":4186,"end":4188},{"line":2166,"column":278,"offset":4187},8264,{"line":2166,"column":1446,"offset":4189},8383,{"start":4191,"end":4193},{"line":2166,"column":20,"offset":4192},8262,{"line":2166,"column":1446,"offset":4189},{"type":26,"value":27},{"start":4196,"end":4197},{"line":3991,"column":20,"offset":4031},{"line":2166,"column":1446,"offset":4189},{"type":26,"value":27},{"type":30,"tagName":31,"properties":4200,"children":4201,"position":4211},{},[4202],{"type":26,"value":4203,"position":4204},"Order calls are recorded as rejected, not thrown, when the current bar has non-finite prices or is not confirmed (the newest bar the host holds). On the last bar, unfilled orders remain visible under pending orders in the output.",{"start":4205,"end":4208},{"line":4206,"column":20,"offset":4207},115,8385,{"line":4206,"column":4209,"offset":4210},230,8614,{"start":4212,"end":4213},{"line":4206,"column":20,"offset":4207},{"line":4206,"column":4209,"offset":4210},{"type":26,"value":27},{"type":30,"tagName":88,"properties":4216,"children":4218,"position":4226},{"id":4217},"limits",[4219],{"type":26,"value":4220,"position":4221},"Limits",{"start":4222,"end":4224},{"line":921,"column":97,"offset":4223},8619,{"line":921,"column":281,"offset":4225},8625,{"start":4227,"end":4229},{"line":921,"column":20,"offset":4228},8616,{"line":921,"column":281,"offset":4225},{"type":26,"value":27},{"type":30,"tagName":31,"properties":4232,"children":4233,"position":4282},{},[4234,4241,4253,4259,4275],{"type":26,"value":4235,"position":4236},"At most 64 distinct order ids per run (",{"start":4237,"end":4239},{"line":1089,"column":20,"offset":4238},8627,{"line":1089,"column":394,"offset":4240},8666,{"type":30,"tagName":43,"properties":4242,"children":4243,"position":4250},{},[4244],{"type":26,"value":4245,"position":4246},"closeAll",{"start":4247,"end":4248},{"line":1089,"column":394,"offset":4240},{"line":1089,"column":420,"offset":4249},8676,{"start":4251,"end":4252},{"line":1089,"column":394,"offset":4240},{"line":1089,"column":420,"offset":4249},{"type":26,"value":4254,"position":4255}," counts as one; ids are slots, re-issuing one replaces its pending order), 64 bytes of UTF-8 per id, 4096 strategy calls per bar, and 10000 closed trades per run. Each breach refuses the run by name, and every engine rejection stays a counted rejection; the ",{"start":4256,"end":4257},{"line":1089,"column":420,"offset":4249},{"line":1089,"column":1007,"offset":4258},8934,{"type":30,"tagName":1170,"properties":4260,"children":4262,"position":4270},{"href":4261},"../reference/limits.md",[4263],{"type":26,"value":4217,"position":4264},{"start":4265,"end":4268},{"line":1089,"column":4266,"offset":4267},309,8935,{"line":1089,"column":1810,"offset":4269},8941,{"start":4271,"end":4272},{"line":1089,"column":1007,"offset":4258},{"line":1089,"column":4273,"offset":4274},340,8966,{"type":26,"value":4276,"position":4277}," page lists them.",{"start":4278,"end":4279},{"line":1089,"column":4273,"offset":4274},{"line":1089,"column":4280,"offset":4281},357,8983,{"start":4283,"end":4284},{"line":1089,"column":20,"offset":4238},{"line":1089,"column":4280,"offset":4281},{"quirksMode":4286},false,{"start":4288,"end":4289},{"line":20,"column":20,"offset":21},{"line":1441,"column":20,"offset":4290},8984,1790157174590]