[{"data":1,"prerenderedAt":2839},["ShallowReactive",2],{"indicators:strategies/perps":3},{"slug":4,"filePath":5,"frontmatter":6,"rawMarkdown":11,"tree":12},"strategies/perps","strategies/perps.md",{"title":7,"description":8,"order":9,"section":10},"Perps: Margin, Liquidation, and Funding","instrument: \"perps\" switches the broker from spot accounting to isolated-margin perpetual futures: leverage, maker and taker fees, funding settlement and…",84,"strategies","---\ntitle: \"Perps: Margin, Liquidation, and Funding\"\ndescription: \"instrument: \\\"perps\\\" switches the broker from spot accounting to isolated-margin perpetual futures: leverage, maker and taker fees, funding settlement and…\"\norder: 84\nsection: \"strategies\"\n---\n\n\u003C!-- source: docs/indicators/strategies/perps.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Perps: Margin, Liquidation, and Funding\n\n`instrument: \"perps\"` switches the broker from spot accounting to isolated-margin perpetual futures: leverage, maker and taker fees, funding settlement and liquidation, each with its own counters so a result is never quietly shaped by machinery you cannot see. The model is the kScript (legacy) engine's; this page names what each mechanic does and what this release does not attach.\n\n## What perps mode is\n\nFour mechanics turn on:\n\n- **Margin.** Every entry commits isolated margin of `notional / leverage`; entries that cannot be margined are rejected and counted.\n- **Maker and taker fees.** Fills are charged `makerFeePercent` or `takerFeePercent` instead of `commissionPercent`; see [slippage and costs](slippage-and-costs.md).\n- **Funding.** Recorded funding events settle against the open position (`funding: \"data\"`, the default) when a funding provider is attached, or funding is off entirely (`funding: \"off\"`).\n- **Liquidation.** A position that exhausts its margin is force-closed at the broker's implicit liquidation stop, and `onLiquidation` decides whether the run keeps trading or halts.\n\nA spot run carries none of this: the perps stats report zero (`makerFeesPaid`, `takerFeesPaid`, `fundingPaid`, `fundingEventsApplied`, `fundingUnavailableCount`, `liquidationCount` all `0`, `liquidationHalted: false`) and the perps-only series are omitted. The defaults, echoed by a bare declaration: `instrument: \"spot\"`, `leverage: 1`, `maintenanceMarginPercent: 0.5`, `makerFeePercent: 0`, `takerFeePercent: 0`, `funding: \"data\"`, `onLiquidation: \"continue\"`.\n\n## Margin\n\nEach perps entry commits isolated margin equal to the fill's notional divided by `leverage`; `committedMarginSeries` on the output carries the committed total at each bar's close, `0` when flat. Any number above `0` is legal leverage, fractions included; `maintenanceMarginPercent: 0` is legal (the lower bound is inclusive).\n\n**Leverage scales margin, not PnL.** The same signals with the same fixed quantity produce the same `netProfit` as spot, whatever the leverage, until fees or a liquidation differ. Leverage decides how much equity a position ties up and where liquidation sits, not what a trade earns.\n\nAn entry whose required margin exceeds the available margin is rejected and counted in `stats.rejectedOrders`. The required amount is fee-inclusive: `notional / leverage` plus the entry's fee.\n\n## Liquidation\n\nThe broker maintains an implicit liquidation stop on every open perps position, from the entry fill onward. For a long the level is `entry * (1 - 1 / leverage) / (1 - maintenanceMarginPercent / 100)`; [perps and leverage](perps-and-leverage.md) has both formulas and the five scenarios that pin them. Liquidated trades carry `exitReason: \"liquidation\"` and the liquidation order is system-owned: it is not in your pending queue and cannot be canceled.\n\n| `onLiquidation` | Behavior |\n| --- | --- |\n| `\"continue\"` (default) | Trading continues; every liquidation counts in `liquidationCount`. |\n| `\"halt\"` | The first liquidation stops the strategy: `liquidationHalted: true`, and every subsequent entry is rejected and counted. |\n\n```typescript\n// Liquidation with on_liquidation \"continue\": 25x leverage puts the broker's liquidation stop inside an ordinary swing, and trading goes on after each one.\nimport { input, line, lower, ohlcv, output } from \"./sdk/declare\";\nimport { in_close } from \"./gen/inputs\";\nimport { emitRow, out_equity } from \"./gen/outputs\";\nimport { strategy } from \"./gen/strategy\";\nimport { Cross, Sma } from \"./sdk/ta\";\n\nstrategy({ initialCapital: 10000, instrument: \"perps\", leverage: 25, maintenanceMarginPercent: 0.5, funding: \"off\", onLiquidation: \"continue\", qtyType: \"fixed\", qtyValue: 1, pyramiding: 1 });\ninput(\"close\", ohlcv.close);\noutput(\"equity\", line, lower, { description: \"Strategy equity\" });\n\nconst fastMa = new Sma(4);\nconst slowMa = new Sma(9);\nconst cross = new Cross();\nlet crossed: i32 = 0;\n\nexport function init(): void {}\n\nexport function state(): i32 {\n  const close = in_close();\n  const fast = fastMa.update(close);\n  const slow = slowMa.update(close);\n  if (isNaN(fast) || isNaN(slow)) return 0;\n  crossed = cross.update(fast, slow);\n  return 1;\n}\n\nexport function finalize(): void {\n  if (crossed == 1) strategy.long(\"Long\").send();\n  out_equity(strategy.equity());\n  emitRow();\n}\n\nexport function reset(): void {\n  fastMa.reset();\n  slowMa.reset();\n  cross.reset();\n  crossed = 0;\n}\n```\n\nAt 25x the liquidation level sits about 3.5% under the entry, inside an ordinary swing on most pairs: expect trades closed by `liquidation`, `liquidationCount` counting them, and trading continuing after each one. `stats.bankruptcyDeficit` reports any shortfall a liquidation fill left beyond the position's committed margin; equity floors at zero.\n\n## Funding\n\n`funding: \"data\"` settles recorded funding events against the open position, and `funding: \"off\"` disables funding entirely; only those two literals are accepted. Settlements apply only while a position is open, debit cash and committed margin together (so the liquidation price tightens as margin erodes), and a settlement that depletes margin liquidates the position at that bar's open with zero price PnL. `fundingPaid` is signed from the strategy's side (positive when the strategy paid), `fundingEventsApplied` counts the settlements applied, and `fundingPaidSeries` is the cumulative series.\n\nThis release attaches no funding provider on any host. `funding: \"data\"` therefore settles nothing and counts every bar an open position could not be settled in `fundingUnavailableCount`; the backtest card discloses that count on every run it applies to. No rate is ever invented. `funding: \"off\"` is the exact no-op it always was, and a strategy that should not depend on funding declares it.\n\n## Perps output series\n\nPerps runs add two bar-aligned series to the output, present on every perps run and omitted on spot: `committedMarginSeries` (margin committed to the open position at each bar close) and `fundingPaidSeries` (cumulative funding paid, ending at `stats.fundingPaid`).\n\n## Validation\n\nThe settings are validated at build time with the engine's rules: `instrument` is `\"spot\"` or `\"perps\"`; `leverage` more than 0; `maintenanceMarginPercent` at least 0 and under 100; the fee rates at least 0; `funding` is `\"data\"` or `\"off\"`; `onLiquidation` is `\"continue\"` or `\"halt\"`. A setting linked to a param is checked at `init()` with the same rules, and an out-of-range value falls back to the default and is reported.\n",{"type":13,"children":14,"data":2833,"position":2835},"root",[15,25,28,29,60,61,79,80,95,96,399,400,699,700,717,718,830,831,880,881,932,933,948,949,1026,1028,1225,1226,2230,2231,2303,2304,2320,2321,2421,2422,2491,2492,2508,2509,2580,2581,2597,2598],{"type":16,"value":17,"position":18},"comment"," source: docs/indicators/strategies/perps.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},123,122,{"type":26,"value":27},"text","\n",{"type":26,"value":27},{"type":30,"tagName":31,"properties":32,"children":33,"position":57},"element","p",{},[34,50],{"type":30,"tagName":35,"properties":36,"children":37,"position":47},"code",{},[38],{"type":26,"value":39,"position":40},"instrument: \"perps\"",{"start":41,"end":44},{"line":42,"column":20,"offset":43},5,167,{"line":42,"column":45,"offset":46},22,188,{"start":48,"end":49},{"line":42,"column":20,"offset":43},{"line":42,"column":45,"offset":46},{"type":26,"value":51,"position":52}," switches the broker from spot accounting to isolated-margin perpetual futures: leverage, maker and taker fees, funding settlement and liquidation, each with its own counters so a result is never quietly shaped by machinery you cannot see. The model is the kScript (legacy) engine's; this page names what each mechanic does and what this release does not attach.",{"start":53,"end":54},{"line":42,"column":45,"offset":46},{"line":42,"column":55,"offset":56},384,550,{"start":58,"end":59},{"line":42,"column":20,"offset":43},{"line":42,"column":55,"offset":56},{"type":26,"value":27},{"type":30,"tagName":62,"properties":63,"children":65,"position":75},"h2",{"id":64},"what-perps-mode-is",[66],{"type":26,"value":67,"position":68},"What perps mode is",{"start":69,"end":73},{"line":70,"column":71,"offset":72},7,4,555,{"line":70,"column":45,"offset":74},573,{"start":76,"end":78},{"line":70,"column":20,"offset":77},552,{"line":70,"column":45,"offset":74},{"type":26,"value":27},{"type":30,"tagName":31,"properties":81,"children":82,"position":92},{},[83],{"type":26,"value":84,"position":85},"Four mechanics turn on:",{"start":86,"end":89},{"line":87,"column":20,"offset":88},9,575,{"line":87,"column":90,"offset":91},24,598,{"start":93,"end":94},{"line":87,"column":20,"offset":88},{"line":87,"column":90,"offset":91},{"type":26,"value":27},{"type":30,"tagName":97,"properties":98,"children":99,"position":396},"ul",{},[100,101,156,157,272,273,344,345,395],{"type":26,"value":27},{"type":30,"tagName":102,"properties":103,"children":104,"position":152},"li",{},[105,125,132,145],{"type":30,"tagName":106,"properties":107,"children":108,"position":118},"strong",{},[109],{"type":26,"value":110,"position":111},"Margin.",{"start":112,"end":115},{"line":113,"column":42,"offset":114},11,604,{"line":113,"column":116,"offset":117},12,611,{"start":119,"end":122},{"line":113,"column":120,"offset":121},3,602,{"line":113,"column":123,"offset":124},14,613,{"type":26,"value":126,"position":127}," Every entry commits isolated margin of ",{"start":128,"end":129},{"line":113,"column":123,"offset":124},{"line":113,"column":130,"offset":131},54,653,{"type":30,"tagName":35,"properties":133,"children":134,"position":142},{},[135],{"type":26,"value":136,"position":137},"notional / leverage",{"start":138,"end":139},{"line":113,"column":130,"offset":131},{"line":113,"column":140,"offset":141},75,674,{"start":143,"end":144},{"line":113,"column":130,"offset":131},{"line":113,"column":140,"offset":141},{"type":26,"value":146,"position":147},"; entries that cannot be margined are rejected and counted.",{"start":148,"end":149},{"line":113,"column":140,"offset":141},{"line":113,"column":150,"offset":151},134,733,{"start":153,"end":155},{"line":113,"column":20,"offset":154},600,{"line":113,"column":150,"offset":151},{"type":26,"value":27},{"type":30,"tagName":102,"properties":158,"children":159,"position":268},{},[160,177,184,197,204,217,224,237,243,261],{"type":30,"tagName":106,"properties":161,"children":162,"position":171},{},[163],{"type":26,"value":164,"position":165},"Maker and taker fees.",{"start":166,"end":168},{"line":116,"column":42,"offset":167},738,{"line":116,"column":169,"offset":170},26,759,{"start":172,"end":174},{"line":116,"column":120,"offset":173},736,{"line":116,"column":175,"offset":176},28,761,{"type":26,"value":178,"position":179}," Fills are charged ",{"start":180,"end":181},{"line":116,"column":175,"offset":176},{"line":116,"column":182,"offset":183},47,780,{"type":30,"tagName":35,"properties":185,"children":186,"position":194},{},[187],{"type":26,"value":188,"position":189},"makerFeePercent",{"start":190,"end":191},{"line":116,"column":182,"offset":183},{"line":116,"column":192,"offset":193},64,797,{"start":195,"end":196},{"line":116,"column":182,"offset":183},{"line":116,"column":192,"offset":193},{"type":26,"value":198,"position":199}," or ",{"start":200,"end":201},{"line":116,"column":192,"offset":193},{"line":116,"column":202,"offset":203},68,801,{"type":30,"tagName":35,"properties":205,"children":206,"position":214},{},[207],{"type":26,"value":208,"position":209},"takerFeePercent",{"start":210,"end":211},{"line":116,"column":202,"offset":203},{"line":116,"column":212,"offset":213},85,818,{"start":215,"end":216},{"line":116,"column":202,"offset":203},{"line":116,"column":212,"offset":213},{"type":26,"value":218,"position":219}," instead of ",{"start":220,"end":221},{"line":116,"column":212,"offset":213},{"line":116,"column":222,"offset":223},97,830,{"type":30,"tagName":35,"properties":225,"children":226,"position":234},{},[227],{"type":26,"value":228,"position":229},"commissionPercent",{"start":230,"end":231},{"line":116,"column":222,"offset":223},{"line":116,"column":232,"offset":233},116,849,{"start":235,"end":236},{"line":116,"column":222,"offset":223},{"line":116,"column":232,"offset":233},{"type":26,"value":238,"position":239},"; see ",{"start":240,"end":241},{"line":116,"column":232,"offset":233},{"line":116,"column":24,"offset":242},855,{"type":30,"tagName":244,"properties":245,"children":247,"position":256},"a",{"href":246},"slippage-and-costs.md",[248],{"type":26,"value":249,"position":250},"slippage and costs",{"start":251,"end":253},{"line":116,"column":23,"offset":252},856,{"line":116,"column":254,"offset":255},141,874,{"start":257,"end":258},{"line":116,"column":24,"offset":242},{"line":116,"column":259,"offset":260},165,898,{"type":26,"value":262,"position":263},".",{"start":264,"end":265},{"line":116,"column":259,"offset":260},{"line":116,"column":266,"offset":267},166,899,{"start":269,"end":271},{"line":116,"column":20,"offset":270},734,{"line":116,"column":266,"offset":267},{"type":26,"value":27},{"type":30,"tagName":102,"properties":274,"children":275,"position":340},{},[276,293,300,313,320,333],{"type":30,"tagName":106,"properties":277,"children":278,"position":287},{},[279],{"type":26,"value":280,"position":281},"Funding.",{"start":282,"end":285},{"line":283,"column":42,"offset":284},13,904,{"line":283,"column":283,"offset":286},912,{"start":288,"end":290},{"line":283,"column":120,"offset":289},902,{"line":283,"column":291,"offset":292},15,914,{"type":26,"value":294,"position":295}," Recorded funding events settle against the open position (",{"start":296,"end":297},{"line":283,"column":291,"offset":292},{"line":283,"column":298,"offset":299},74,973,{"type":30,"tagName":35,"properties":301,"children":302,"position":310},{},[303],{"type":26,"value":304,"position":305},"funding: \"data\"",{"start":306,"end":307},{"line":283,"column":298,"offset":299},{"line":283,"column":308,"offset":309},91,990,{"start":311,"end":312},{"line":283,"column":298,"offset":299},{"line":283,"column":308,"offset":309},{"type":26,"value":314,"position":315},", the default) when a funding provider is attached, or funding is off entirely (",{"start":316,"end":317},{"line":283,"column":308,"offset":309},{"line":283,"column":318,"offset":319},171,1070,{"type":30,"tagName":35,"properties":321,"children":322,"position":330},{},[323],{"type":26,"value":324,"position":325},"funding: \"off\"",{"start":326,"end":327},{"line":283,"column":318,"offset":319},{"line":283,"column":328,"offset":329},187,1086,{"start":331,"end":332},{"line":283,"column":318,"offset":319},{"line":283,"column":328,"offset":329},{"type":26,"value":334,"position":335},").",{"start":336,"end":337},{"line":283,"column":328,"offset":329},{"line":283,"column":338,"offset":339},189,1088,{"start":341,"end":343},{"line":283,"column":20,"offset":342},900,{"line":283,"column":338,"offset":339},{"type":26,"value":27},{"type":30,"tagName":102,"properties":346,"children":347,"position":391},{},[348,365,372,384],{"type":30,"tagName":106,"properties":349,"children":350,"position":359},{},[351],{"type":26,"value":352,"position":353},"Liquidation.",{"start":354,"end":356},{"line":123,"column":42,"offset":355},1093,{"line":123,"column":357,"offset":358},17,1105,{"start":360,"end":362},{"line":123,"column":120,"offset":361},1091,{"line":123,"column":363,"offset":364},19,1107,{"type":26,"value":366,"position":367}," A position that exhausts its margin is force-closed at the broker's implicit liquidation stop, and ",{"start":368,"end":369},{"line":123,"column":363,"offset":364},{"line":123,"column":370,"offset":371},119,1207,{"type":30,"tagName":35,"properties":373,"children":374,"position":381},{},[375],{"type":26,"value":376,"position":377},"onLiquidation",{"start":378,"end":379},{"line":123,"column":370,"offset":371},{"line":123,"column":150,"offset":380},1222,{"start":382,"end":383},{"line":123,"column":370,"offset":371},{"line":123,"column":150,"offset":380},{"type":26,"value":385,"position":386}," decides whether the run keeps trading or halts.",{"start":387,"end":388},{"line":123,"column":150,"offset":380},{"line":123,"column":389,"offset":390},182,1270,{"start":392,"end":394},{"line":123,"column":20,"offset":393},1089,{"line":123,"column":389,"offset":390},{"type":26,"value":27},{"start":397,"end":398},{"line":113,"column":20,"offset":154},{"line":123,"column":389,"offset":390},{"type":26,"value":27},{"type":30,"tagName":31,"properties":401,"children":402,"position":696},{},[403,412,425,432,445,450,463,469,481,487,500,506,519,526,538,544,557,564,577,583,596,602,615,621,634,640,653,659,671,677,690],{"type":26,"value":404,"position":405},"A spot run carries none of this: the perps stats report zero (",{"start":406,"end":409},{"line":407,"column":20,"offset":408},16,1272,{"line":407,"column":410,"offset":411},63,1334,{"type":30,"tagName":35,"properties":413,"children":414,"position":422},{},[415],{"type":26,"value":416,"position":417},"makerFeesPaid",{"start":418,"end":419},{"line":407,"column":410,"offset":411},{"line":407,"column":420,"offset":421},78,1349,{"start":423,"end":424},{"line":407,"column":410,"offset":411},{"line":407,"column":420,"offset":421},{"type":26,"value":426,"position":427},", ",{"start":428,"end":429},{"line":407,"column":420,"offset":421},{"line":407,"column":430,"offset":431},80,1351,{"type":30,"tagName":35,"properties":433,"children":434,"position":442},{},[435],{"type":26,"value":436,"position":437},"takerFeesPaid",{"start":438,"end":439},{"line":407,"column":430,"offset":431},{"line":407,"column":440,"offset":441},95,1366,{"start":443,"end":444},{"line":407,"column":430,"offset":431},{"line":407,"column":440,"offset":441},{"type":26,"value":426,"position":446},{"start":447,"end":448},{"line":407,"column":440,"offset":441},{"line":407,"column":222,"offset":449},1368,{"type":30,"tagName":35,"properties":451,"children":452,"position":460},{},[453],{"type":26,"value":454,"position":455},"fundingPaid",{"start":456,"end":457},{"line":407,"column":222,"offset":449},{"line":407,"column":458,"offset":459},110,1381,{"start":461,"end":462},{"line":407,"column":222,"offset":449},{"line":407,"column":458,"offset":459},{"type":26,"value":426,"position":464},{"start":465,"end":466},{"line":407,"column":458,"offset":459},{"line":407,"column":467,"offset":468},112,1383,{"type":30,"tagName":35,"properties":470,"children":471,"position":478},{},[472],{"type":26,"value":473,"position":474},"fundingEventsApplied",{"start":475,"end":476},{"line":407,"column":467,"offset":468},{"line":407,"column":150,"offset":477},1405,{"start":479,"end":480},{"line":407,"column":467,"offset":468},{"line":407,"column":150,"offset":477},{"type":26,"value":426,"position":482},{"start":483,"end":484},{"line":407,"column":150,"offset":477},{"line":407,"column":485,"offset":486},136,1407,{"type":30,"tagName":35,"properties":488,"children":489,"position":497},{},[490],{"type":26,"value":491,"position":492},"fundingUnavailableCount",{"start":493,"end":494},{"line":407,"column":485,"offset":486},{"line":407,"column":495,"offset":496},161,1432,{"start":498,"end":499},{"line":407,"column":485,"offset":486},{"line":407,"column":495,"offset":496},{"type":26,"value":426,"position":501},{"start":502,"end":503},{"line":407,"column":495,"offset":496},{"line":407,"column":504,"offset":505},163,1434,{"type":30,"tagName":35,"properties":507,"children":508,"position":516},{},[509],{"type":26,"value":510,"position":511},"liquidationCount",{"start":512,"end":513},{"line":407,"column":504,"offset":505},{"line":407,"column":514,"offset":515},181,1452,{"start":517,"end":518},{"line":407,"column":504,"offset":505},{"line":407,"column":514,"offset":515},{"type":26,"value":520,"position":521}," all ",{"start":522,"end":523},{"line":407,"column":514,"offset":515},{"line":407,"column":524,"offset":525},186,1457,{"type":30,"tagName":35,"properties":527,"children":528,"position":535},{},[529],{"type":26,"value":530,"position":531},"0",{"start":532,"end":533},{"line":407,"column":524,"offset":525},{"line":407,"column":338,"offset":534},1460,{"start":536,"end":537},{"line":407,"column":524,"offset":525},{"line":407,"column":338,"offset":534},{"type":26,"value":426,"position":539},{"start":540,"end":541},{"line":407,"column":338,"offset":534},{"line":407,"column":542,"offset":543},191,1462,{"type":30,"tagName":35,"properties":545,"children":546,"position":554},{},[547],{"type":26,"value":548,"position":549},"liquidationHalted: false",{"start":550,"end":551},{"line":407,"column":542,"offset":543},{"line":407,"column":552,"offset":553},217,1488,{"start":555,"end":556},{"line":407,"column":542,"offset":543},{"line":407,"column":552,"offset":553},{"type":26,"value":558,"position":559},") and the perps-only series are omitted. The defaults, echoed by a bare declaration: ",{"start":560,"end":561},{"line":407,"column":552,"offset":553},{"line":407,"column":562,"offset":563},302,1573,{"type":30,"tagName":35,"properties":565,"children":566,"position":574},{},[567],{"type":26,"value":568,"position":569},"instrument: \"spot\"",{"start":570,"end":571},{"line":407,"column":562,"offset":563},{"line":407,"column":572,"offset":573},322,1593,{"start":575,"end":576},{"line":407,"column":562,"offset":563},{"line":407,"column":572,"offset":573},{"type":26,"value":426,"position":578},{"start":579,"end":580},{"line":407,"column":572,"offset":573},{"line":407,"column":581,"offset":582},324,1595,{"type":30,"tagName":35,"properties":584,"children":585,"position":593},{},[586],{"type":26,"value":587,"position":588},"leverage: 1",{"start":589,"end":590},{"line":407,"column":581,"offset":582},{"line":407,"column":591,"offset":592},337,1608,{"start":594,"end":595},{"line":407,"column":581,"offset":582},{"line":407,"column":591,"offset":592},{"type":26,"value":426,"position":597},{"start":598,"end":599},{"line":407,"column":591,"offset":592},{"line":407,"column":600,"offset":601},339,1610,{"type":30,"tagName":35,"properties":603,"children":604,"position":612},{},[605],{"type":26,"value":606,"position":607},"maintenanceMarginPercent: 0.5",{"start":608,"end":609},{"line":407,"column":600,"offset":601},{"line":407,"column":610,"offset":611},370,1641,{"start":613,"end":614},{"line":407,"column":600,"offset":601},{"line":407,"column":610,"offset":611},{"type":26,"value":426,"position":616},{"start":617,"end":618},{"line":407,"column":610,"offset":611},{"line":407,"column":619,"offset":620},372,1643,{"type":30,"tagName":35,"properties":622,"children":623,"position":631},{},[624],{"type":26,"value":625,"position":626},"makerFeePercent: 0",{"start":627,"end":628},{"line":407,"column":619,"offset":620},{"line":407,"column":629,"offset":630},392,1663,{"start":632,"end":633},{"line":407,"column":619,"offset":620},{"line":407,"column":629,"offset":630},{"type":26,"value":426,"position":635},{"start":636,"end":637},{"line":407,"column":629,"offset":630},{"line":407,"column":638,"offset":639},394,1665,{"type":30,"tagName":35,"properties":641,"children":642,"position":650},{},[643],{"type":26,"value":644,"position":645},"takerFeePercent: 0",{"start":646,"end":647},{"line":407,"column":638,"offset":639},{"line":407,"column":648,"offset":649},414,1685,{"start":651,"end":652},{"line":407,"column":638,"offset":639},{"line":407,"column":648,"offset":649},{"type":26,"value":426,"position":654},{"start":655,"end":656},{"line":407,"column":648,"offset":649},{"line":407,"column":657,"offset":658},416,1687,{"type":30,"tagName":35,"properties":660,"children":661,"position":668},{},[662],{"type":26,"value":304,"position":663},{"start":664,"end":665},{"line":407,"column":657,"offset":658},{"line":407,"column":666,"offset":667},433,1704,{"start":669,"end":670},{"line":407,"column":657,"offset":658},{"line":407,"column":666,"offset":667},{"type":26,"value":426,"position":672},{"start":673,"end":674},{"line":407,"column":666,"offset":667},{"line":407,"column":675,"offset":676},435,1706,{"type":30,"tagName":35,"properties":678,"children":679,"position":687},{},[680],{"type":26,"value":681,"position":682},"onLiquidation: \"continue\"",{"start":683,"end":684},{"line":407,"column":675,"offset":676},{"line":407,"column":685,"offset":686},462,1733,{"start":688,"end":689},{"line":407,"column":675,"offset":676},{"line":407,"column":685,"offset":686},{"type":26,"value":262,"position":691},{"start":692,"end":693},{"line":407,"column":685,"offset":686},{"line":407,"column":694,"offset":695},463,1734,{"start":697,"end":698},{"line":407,"column":20,"offset":408},{"line":407,"column":694,"offset":695},{"type":26,"value":27},{"type":30,"tagName":62,"properties":701,"children":703,"position":713},{"id":702},"margin",[704],{"type":26,"value":705,"position":706},"Margin",{"start":707,"end":710},{"line":708,"column":71,"offset":709},18,1739,{"line":708,"column":711,"offset":712},10,1745,{"start":714,"end":716},{"line":708,"column":20,"offset":715},1736,{"line":708,"column":711,"offset":712},{"type":26,"value":27},{"type":30,"tagName":31,"properties":719,"children":720,"position":827},{},[721,730,743,750,763,769,781,788,800,807,820],{"type":26,"value":722,"position":723},"Each perps entry commits isolated margin equal to the fill's notional divided by ",{"start":724,"end":727},{"line":725,"column":20,"offset":726},20,1747,{"line":725,"column":728,"offset":729},82,1828,{"type":30,"tagName":35,"properties":731,"children":732,"position":740},{},[733],{"type":26,"value":734,"position":735},"leverage",{"start":736,"end":737},{"line":725,"column":728,"offset":729},{"line":725,"column":738,"offset":739},92,1838,{"start":741,"end":742},{"line":725,"column":728,"offset":729},{"line":725,"column":738,"offset":739},{"type":26,"value":744,"position":745},"; ",{"start":746,"end":747},{"line":725,"column":738,"offset":739},{"line":725,"column":748,"offset":749},94,1840,{"type":30,"tagName":35,"properties":751,"children":752,"position":760},{},[753],{"type":26,"value":754,"position":755},"committedMarginSeries",{"start":756,"end":757},{"line":725,"column":748,"offset":749},{"line":725,"column":758,"offset":759},117,1863,{"start":761,"end":762},{"line":725,"column":748,"offset":749},{"line":725,"column":758,"offset":759},{"type":26,"value":764,"position":765}," on the output carries the committed total at each bar's close, ",{"start":766,"end":767},{"line":725,"column":758,"offset":759},{"line":725,"column":514,"offset":768},1927,{"type":30,"tagName":35,"properties":770,"children":771,"position":778},{},[772],{"type":26,"value":530,"position":773},{"start":774,"end":775},{"line":725,"column":514,"offset":768},{"line":725,"column":776,"offset":777},184,1930,{"start":779,"end":780},{"line":725,"column":514,"offset":768},{"line":725,"column":776,"offset":777},{"type":26,"value":782,"position":783}," when flat. Any number above ",{"start":784,"end":785},{"line":725,"column":776,"offset":777},{"line":725,"column":786,"offset":787},213,1959,{"type":30,"tagName":35,"properties":789,"children":790,"position":797},{},[791],{"type":26,"value":530,"position":792},{"start":793,"end":794},{"line":725,"column":786,"offset":787},{"line":725,"column":795,"offset":796},216,1962,{"start":798,"end":799},{"line":725,"column":786,"offset":787},{"line":725,"column":795,"offset":796},{"type":26,"value":801,"position":802}," is legal leverage, fractions included; ",{"start":803,"end":804},{"line":725,"column":795,"offset":796},{"line":725,"column":805,"offset":806},256,2002,{"type":30,"tagName":35,"properties":808,"children":809,"position":817},{},[810],{"type":26,"value":811,"position":812},"maintenanceMarginPercent: 0",{"start":813,"end":814},{"line":725,"column":805,"offset":806},{"line":725,"column":815,"offset":816},285,2031,{"start":818,"end":819},{"line":725,"column":805,"offset":806},{"line":725,"column":815,"offset":816},{"type":26,"value":821,"position":822}," is legal (the lower bound is inclusive).",{"start":823,"end":824},{"line":725,"column":815,"offset":816},{"line":725,"column":825,"offset":826},326,2072,{"start":828,"end":829},{"line":725,"column":20,"offset":726},{"line":725,"column":825,"offset":826},{"type":26,"value":27},{"type":30,"tagName":31,"properties":832,"children":833,"position":877},{},[834,851,858,870],{"type":30,"tagName":106,"properties":835,"children":836,"position":845},{},[837],{"type":26,"value":838,"position":839},"Leverage scales margin, not PnL.",{"start":840,"end":842},{"line":45,"column":120,"offset":841},2076,{"line":45,"column":843,"offset":844},35,2108,{"start":846,"end":848},{"line":45,"column":20,"offset":847},2074,{"line":45,"column":849,"offset":850},37,2110,{"type":26,"value":852,"position":853}," The same signals with the same fixed quantity produce the same ",{"start":854,"end":855},{"line":45,"column":849,"offset":850},{"line":45,"column":856,"offset":857},101,2174,{"type":30,"tagName":35,"properties":859,"children":860,"position":867},{},[861],{"type":26,"value":862,"position":863},"netProfit",{"start":864,"end":865},{"line":45,"column":856,"offset":857},{"line":45,"column":467,"offset":866},2185,{"start":868,"end":869},{"line":45,"column":856,"offset":857},{"line":45,"column":467,"offset":866},{"type":26,"value":871,"position":872}," as spot, whatever the leverage, until fees or a liquidation differ. Leverage decides how much equity a position ties up and where liquidation sits, not what a trade earns.",{"start":873,"end":874},{"line":45,"column":467,"offset":866},{"line":45,"column":875,"offset":876},284,2357,{"start":878,"end":879},{"line":45,"column":20,"offset":847},{"line":45,"column":875,"offset":876},{"type":26,"value":27},{"type":30,"tagName":31,"properties":882,"children":883,"position":929},{},[884,892,904,911,922],{"type":26,"value":885,"position":886},"An entry whose required margin exceeds the available margin is rejected and counted in ",{"start":887,"end":889},{"line":90,"column":20,"offset":888},2359,{"line":90,"column":890,"offset":891},88,2446,{"type":30,"tagName":35,"properties":893,"children":894,"position":901},{},[895],{"type":26,"value":896,"position":897},"stats.rejectedOrders",{"start":898,"end":899},{"line":90,"column":890,"offset":891},{"line":90,"column":458,"offset":900},2468,{"start":902,"end":903},{"line":90,"column":890,"offset":891},{"line":90,"column":458,"offset":900},{"type":26,"value":905,"position":906},". The required amount is fee-inclusive: ",{"start":907,"end":908},{"line":90,"column":458,"offset":900},{"line":90,"column":909,"offset":910},150,2508,{"type":30,"tagName":35,"properties":912,"children":913,"position":919},{},[914],{"type":26,"value":136,"position":915},{"start":916,"end":917},{"line":90,"column":909,"offset":910},{"line":90,"column":318,"offset":918},2529,{"start":920,"end":921},{"line":90,"column":909,"offset":910},{"line":90,"column":318,"offset":918},{"type":26,"value":923,"position":924}," plus the entry's fee.",{"start":925,"end":926},{"line":90,"column":318,"offset":918},{"line":90,"column":927,"offset":928},193,2551,{"start":930,"end":931},{"line":90,"column":20,"offset":888},{"line":90,"column":927,"offset":928},{"type":26,"value":27},{"type":30,"tagName":62,"properties":934,"children":936,"position":944},{"id":935},"liquidation",[937],{"type":26,"value":938,"position":939},"Liquidation",{"start":940,"end":942},{"line":169,"column":71,"offset":941},2556,{"line":169,"column":291,"offset":943},2567,{"start":945,"end":947},{"line":169,"column":20,"offset":946},2553,{"line":169,"column":291,"offset":943},{"type":26,"value":27},{"type":30,"tagName":31,"properties":950,"children":951,"position":1023},{},[952,960,973,979,997,1003,1016],{"type":26,"value":953,"position":954},"The broker maintains an implicit liquidation stop on every open perps position, from the entry fill onward. For a long the level is ",{"start":955,"end":957},{"line":175,"column":20,"offset":956},2569,{"line":175,"column":958,"offset":959},133,2701,{"type":30,"tagName":35,"properties":961,"children":962,"position":970},{},[963],{"type":26,"value":964,"position":965},"entry * (1 - 1 / leverage) / (1 - maintenanceMarginPercent / 100)",{"start":966,"end":967},{"line":175,"column":958,"offset":959},{"line":175,"column":968,"offset":969},200,2768,{"start":971,"end":972},{"line":175,"column":958,"offset":959},{"line":175,"column":968,"offset":969},{"type":26,"value":744,"position":974},{"start":975,"end":976},{"line":175,"column":968,"offset":969},{"line":175,"column":977,"offset":978},202,2770,{"type":30,"tagName":244,"properties":980,"children":982,"position":992},{"href":981},"perps-and-leverage.md",[983],{"type":26,"value":984,"position":985},"perps and leverage",{"start":986,"end":989},{"line":175,"column":987,"offset":988},203,2771,{"line":175,"column":990,"offset":991},221,2789,{"start":993,"end":994},{"line":175,"column":977,"offset":978},{"line":175,"column":995,"offset":996},245,2813,{"type":26,"value":998,"position":999}," has both formulas and the five scenarios that pin them. Liquidated trades carry ",{"start":1000,"end":1001},{"line":175,"column":995,"offset":996},{"line":175,"column":825,"offset":1002},2894,{"type":30,"tagName":35,"properties":1004,"children":1005,"position":1013},{},[1006],{"type":26,"value":1007,"position":1008},"exitReason: \"liquidation\"",{"start":1009,"end":1010},{"line":175,"column":825,"offset":1002},{"line":175,"column":1011,"offset":1012},353,2921,{"start":1014,"end":1015},{"line":175,"column":825,"offset":1002},{"line":175,"column":1011,"offset":1012},{"type":26,"value":1017,"position":1018}," and the liquidation order is system-owned: it is not in your pending queue and cannot be canceled.",{"start":1019,"end":1020},{"line":175,"column":1011,"offset":1012},{"line":175,"column":1021,"offset":1022},452,3020,{"start":1024,"end":1025},{"line":175,"column":20,"offset":956},{"line":175,"column":1021,"offset":1022},{"type":26,"value":1027},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":30,"tagName":1029,"properties":1030,"children":1031,"position":1222},"table",{},[1032,1085],{"type":30,"tagName":1033,"properties":1034,"children":1035,"position":1082},"thead",{},[1036],{"type":30,"tagName":1037,"properties":1038,"children":1039,"position":1079},"tr",{},[1040,1062],{"type":30,"tagName":1041,"properties":1042,"children":1043,"position":1057},"th",{},[1044],{"type":30,"tagName":35,"properties":1045,"children":1046,"position":1054},{},[1047],{"type":26,"value":376,"position":1048},{"start":1049,"end":1052},{"line":1050,"column":120,"offset":1051},30,3024,{"line":1050,"column":708,"offset":1053},3039,{"start":1055,"end":1056},{"line":1050,"column":120,"offset":1051},{"line":1050,"column":708,"offset":1053},{"start":1058,"end":1060},{"line":1050,"column":20,"offset":1059},3022,{"line":1050,"column":363,"offset":1061},3040,{"type":30,"tagName":1041,"properties":1063,"children":1064,"position":1074},{},[1065],{"type":26,"value":1066,"position":1067},"Behavior",{"start":1068,"end":1071},{"line":1050,"column":1069,"offset":1070},21,3042,{"line":1050,"column":1072,"offset":1073},29,3050,{"start":1075,"end":1076},{"line":1050,"column":363,"offset":1061},{"line":1050,"column":1077,"offset":1078},31,3052,{"start":1080,"end":1081},{"line":1050,"column":20,"offset":1059},{"line":1050,"column":1077,"offset":1078},{"start":1083,"end":1084},{"line":1050,"column":20,"offset":1059},{"line":1050,"column":1077,"offset":1078},{"type":30,"tagName":1086,"properties":1087,"children":1088,"position":1219},"tbody",{},[1089,1157],{"type":30,"tagName":1037,"properties":1090,"children":1091,"position":1154},{},[1092,1122],{"type":30,"tagName":1093,"properties":1094,"children":1095,"position":1117},"td",{},[1096,1110],{"type":30,"tagName":35,"properties":1097,"children":1098,"position":1107},{},[1099],{"type":26,"value":1100,"position":1101},"\"continue\"",{"start":1102,"end":1105},{"line":1103,"column":120,"offset":1104},32,3069,{"line":1103,"column":291,"offset":1106},3081,{"start":1108,"end":1109},{"line":1103,"column":120,"offset":1104},{"line":1103,"column":291,"offset":1106},{"type":26,"value":1111,"position":1112}," (default)",{"start":1113,"end":1114},{"line":1103,"column":291,"offset":1106},{"line":1103,"column":1115,"offset":1116},25,3091,{"start":1118,"end":1120},{"line":1103,"column":20,"offset":1119},3067,{"line":1103,"column":169,"offset":1121},3092,{"type":30,"tagName":1093,"properties":1123,"children":1124,"position":1149},{},[1125,1132,1144],{"type":26,"value":1126,"position":1127},"Trading continues; every liquidation counts in ",{"start":1128,"end":1130},{"line":1103,"column":175,"offset":1129},3094,{"line":1103,"column":140,"offset":1131},3141,{"type":30,"tagName":35,"properties":1133,"children":1134,"position":1141},{},[1135],{"type":26,"value":510,"position":1136},{"start":1137,"end":1138},{"line":1103,"column":140,"offset":1131},{"line":1103,"column":1139,"offset":1140},93,3159,{"start":1142,"end":1143},{"line":1103,"column":140,"offset":1131},{"line":1103,"column":1139,"offset":1140},{"type":26,"value":262,"position":1145},{"start":1146,"end":1147},{"line":1103,"column":1139,"offset":1140},{"line":1103,"column":748,"offset":1148},3160,{"start":1150,"end":1151},{"line":1103,"column":169,"offset":1121},{"line":1103,"column":1152,"offset":1153},96,3162,{"start":1155,"end":1156},{"line":1103,"column":20,"offset":1119},{"line":1103,"column":1152,"offset":1153},{"type":30,"tagName":1037,"properties":1158,"children":1159,"position":1216},{},[1160,1182],{"type":30,"tagName":1093,"properties":1161,"children":1162,"position":1177},{},[1163],{"type":30,"tagName":35,"properties":1164,"children":1165,"position":1174},{},[1166],{"type":26,"value":1167,"position":1168},"\"halt\"",{"start":1169,"end":1172},{"line":1170,"column":120,"offset":1171},33,3165,{"line":1170,"column":113,"offset":1173},3173,{"start":1175,"end":1176},{"line":1170,"column":120,"offset":1171},{"line":1170,"column":113,"offset":1173},{"start":1178,"end":1180},{"line":1170,"column":20,"offset":1179},3163,{"line":1170,"column":116,"offset":1181},3174,{"type":30,"tagName":1093,"properties":1183,"children":1184,"position":1212},{},[1185,1193,1206],{"type":26,"value":1186,"position":1187},"The first liquidation stops the strategy: ",{"start":1188,"end":1190},{"line":1170,"column":123,"offset":1189},3176,{"line":1170,"column":1191,"offset":1192},56,3218,{"type":30,"tagName":35,"properties":1194,"children":1195,"position":1203},{},[1196],{"type":26,"value":1197,"position":1198},"liquidationHalted: true",{"start":1199,"end":1200},{"line":1170,"column":1191,"offset":1192},{"line":1170,"column":1201,"offset":1202},81,3243,{"start":1204,"end":1205},{"line":1170,"column":1191,"offset":1192},{"line":1170,"column":1201,"offset":1202},{"type":26,"value":1207,"position":1208},", and every subsequent entry is rejected and counted.",{"start":1209,"end":1210},{"line":1170,"column":1201,"offset":1202},{"line":1170,"column":150,"offset":1211},3296,{"start":1213,"end":1214},{"line":1170,"column":116,"offset":1181},{"line":1170,"column":485,"offset":1215},3298,{"start":1217,"end":1218},{"line":1170,"column":20,"offset":1179},{"line":1170,"column":485,"offset":1215},{"start":1220,"end":1221},{"line":1103,"column":20,"offset":1119},{"line":1170,"column":485,"offset":1215},{"start":1223,"end":1224},{"line":1050,"column":20,"offset":1059},{"line":1170,"column":485,"offset":1215},{"type":26,"value":27},{"type":13,"children":1227},[1228],{"type":30,"tagName":1229,"properties":1230,"children":1233,"data":-1},"pre",{"class":1231,"style":1232,"tabindex":530},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff",[1234],{"type":30,"tagName":35,"properties":1235,"children":1236},{},[1237,1248,1249,1280,1281,1306,1307,1332,1333,1358,1359,1384,1385,1388,1389,1492,1493,1516,1517,1548,1549,1552,1553,1595,1596,1633,1634,1664,1665,1701,1702,1705,1706,1743,1744,1747,1748,1781,1782,1808,1809,1840,1841,1870,1871,1922,1923,1950,1951,1968,1969,1977,1978,1981,1982,2014,2015,2068,2069,2092,2093,2105,2106,2113,2114,2117,2118,2150,2151,2168,2169,2185,2186,2202,2203,2222,2223],{"type":30,"tagName":1238,"properties":1239,"children":1241},"span",{"class":1240},"line",[1242],{"type":30,"tagName":1238,"properties":1243,"children":1245},{"style":1244},"--shiki-dark:#6A737D;--shiki-light:#6A737D",[1246],{"type":26,"value":1247},"// Liquidation with on_liquidation \"continue\": 25x leverage puts the broker's liquidation stop inside an ordinary swing, and trading goes on after each one.",{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1250,"children":1251},{"class":1240},[1252,1258,1264,1269,1275],{"type":30,"tagName":1238,"properties":1253,"children":1255},{"style":1254},"--shiki-dark:#F97583;--shiki-light:#D73A49",[1256],{"type":26,"value":1257},"import",{"type":30,"tagName":1238,"properties":1259,"children":1261},{"style":1260},"--shiki-dark:#E1E4E8;--shiki-light:#24292E",[1262],{"type":26,"value":1263}," { input, line, lower, ohlcv, output } ",{"type":30,"tagName":1238,"properties":1265,"children":1266},{"style":1254},[1267],{"type":26,"value":1268},"from",{"type":30,"tagName":1238,"properties":1270,"children":1272},{"style":1271},"--shiki-dark:#9ECBFF;--shiki-light:#032F62",[1273],{"type":26,"value":1274}," \"./sdk/declare\"",{"type":30,"tagName":1238,"properties":1276,"children":1277},{"style":1260},[1278],{"type":26,"value":1279},";",{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1282,"children":1283},{"class":1240},[1284,1288,1293,1297,1302],{"type":30,"tagName":1238,"properties":1285,"children":1286},{"style":1254},[1287],{"type":26,"value":1257},{"type":30,"tagName":1238,"properties":1289,"children":1290},{"style":1260},[1291],{"type":26,"value":1292}," { in_close } ",{"type":30,"tagName":1238,"properties":1294,"children":1295},{"style":1254},[1296],{"type":26,"value":1268},{"type":30,"tagName":1238,"properties":1298,"children":1299},{"style":1271},[1300],{"type":26,"value":1301}," \"./gen/inputs\"",{"type":30,"tagName":1238,"properties":1303,"children":1304},{"style":1260},[1305],{"type":26,"value":1279},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1308,"children":1309},{"class":1240},[1310,1314,1319,1323,1328],{"type":30,"tagName":1238,"properties":1311,"children":1312},{"style":1254},[1313],{"type":26,"value":1257},{"type":30,"tagName":1238,"properties":1315,"children":1316},{"style":1260},[1317],{"type":26,"value":1318}," { emitRow, out_equity } ",{"type":30,"tagName":1238,"properties":1320,"children":1321},{"style":1254},[1322],{"type":26,"value":1268},{"type":30,"tagName":1238,"properties":1324,"children":1325},{"style":1271},[1326],{"type":26,"value":1327}," \"./gen/outputs\"",{"type":30,"tagName":1238,"properties":1329,"children":1330},{"style":1260},[1331],{"type":26,"value":1279},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1334,"children":1335},{"class":1240},[1336,1340,1345,1349,1354],{"type":30,"tagName":1238,"properties":1337,"children":1338},{"style":1254},[1339],{"type":26,"value":1257},{"type":30,"tagName":1238,"properties":1341,"children":1342},{"style":1260},[1343],{"type":26,"value":1344}," { strategy } ",{"type":30,"tagName":1238,"properties":1346,"children":1347},{"style":1254},[1348],{"type":26,"value":1268},{"type":30,"tagName":1238,"properties":1350,"children":1351},{"style":1271},[1352],{"type":26,"value":1353}," \"./gen/strategy\"",{"type":30,"tagName":1238,"properties":1355,"children":1356},{"style":1260},[1357],{"type":26,"value":1279},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1360,"children":1361},{"class":1240},[1362,1366,1371,1375,1380],{"type":30,"tagName":1238,"properties":1363,"children":1364},{"style":1254},[1365],{"type":26,"value":1257},{"type":30,"tagName":1238,"properties":1367,"children":1368},{"style":1260},[1369],{"type":26,"value":1370}," { Cross, Sma } ",{"type":30,"tagName":1238,"properties":1372,"children":1373},{"style":1254},[1374],{"type":26,"value":1268},{"type":30,"tagName":1238,"properties":1376,"children":1377},{"style":1271},[1378],{"type":26,"value":1379}," \"./sdk/ta\"",{"type":30,"tagName":1238,"properties":1381,"children":1382},{"style":1260},[1383],{"type":26,"value":1279},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1386,"children":1387},{"class":1240},[],{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1390,"children":1391},{"class":1240},[1392,1398,1403,1409,1414,1419,1424,1429,1434,1439,1444,1449,1454,1458,1463,1468,1473,1478,1483,1487],{"type":30,"tagName":1238,"properties":1393,"children":1395},{"style":1394},"--shiki-dark:#B392F0;--shiki-light:#6F42C1",[1396],{"type":26,"value":1397},"strategy",{"type":30,"tagName":1238,"properties":1399,"children":1400},{"style":1260},[1401],{"type":26,"value":1402},"({ initialCapital: ",{"type":30,"tagName":1238,"properties":1404,"children":1406},{"style":1405},"--shiki-dark:#79B8FF;--shiki-light:#005CC5",[1407],{"type":26,"value":1408},"10000",{"type":30,"tagName":1238,"properties":1410,"children":1411},{"style":1260},[1412],{"type":26,"value":1413},", instrument: ",{"type":30,"tagName":1238,"properties":1415,"children":1416},{"style":1271},[1417],{"type":26,"value":1418},"\"perps\"",{"type":30,"tagName":1238,"properties":1420,"children":1421},{"style":1260},[1422],{"type":26,"value":1423},", leverage: ",{"type":30,"tagName":1238,"properties":1425,"children":1426},{"style":1405},[1427],{"type":26,"value":1428},"25",{"type":30,"tagName":1238,"properties":1430,"children":1431},{"style":1260},[1432],{"type":26,"value":1433},", maintenanceMarginPercent: ",{"type":30,"tagName":1238,"properties":1435,"children":1436},{"style":1405},[1437],{"type":26,"value":1438},"0.5",{"type":30,"tagName":1238,"properties":1440,"children":1441},{"style":1260},[1442],{"type":26,"value":1443},", funding: ",{"type":30,"tagName":1238,"properties":1445,"children":1446},{"style":1271},[1447],{"type":26,"value":1448},"\"off\"",{"type":30,"tagName":1238,"properties":1450,"children":1451},{"style":1260},[1452],{"type":26,"value":1453},", onLiquidation: ",{"type":30,"tagName":1238,"properties":1455,"children":1456},{"style":1271},[1457],{"type":26,"value":1100},{"type":30,"tagName":1238,"properties":1459,"children":1460},{"style":1260},[1461],{"type":26,"value":1462},", qtyType: ",{"type":30,"tagName":1238,"properties":1464,"children":1465},{"style":1271},[1466],{"type":26,"value":1467},"\"fixed\"",{"type":30,"tagName":1238,"properties":1469,"children":1470},{"style":1260},[1471],{"type":26,"value":1472},", qtyValue: ",{"type":30,"tagName":1238,"properties":1474,"children":1475},{"style":1405},[1476],{"type":26,"value":1477},"1",{"type":30,"tagName":1238,"properties":1479,"children":1480},{"style":1260},[1481],{"type":26,"value":1482},", pyramiding: ",{"type":30,"tagName":1238,"properties":1484,"children":1485},{"style":1405},[1486],{"type":26,"value":1477},{"type":30,"tagName":1238,"properties":1488,"children":1489},{"style":1260},[1490],{"type":26,"value":1491}," });",{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1494,"children":1495},{"class":1240},[1496,1501,1506,1511],{"type":30,"tagName":1238,"properties":1497,"children":1498},{"style":1394},[1499],{"type":26,"value":1500},"input",{"type":30,"tagName":1238,"properties":1502,"children":1503},{"style":1260},[1504],{"type":26,"value":1505},"(",{"type":30,"tagName":1238,"properties":1507,"children":1508},{"style":1271},[1509],{"type":26,"value":1510},"\"close\"",{"type":30,"tagName":1238,"properties":1512,"children":1513},{"style":1260},[1514],{"type":26,"value":1515},", ohlcv.close);",{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1518,"children":1519},{"class":1240},[1520,1525,1529,1534,1539,1544],{"type":30,"tagName":1238,"properties":1521,"children":1522},{"style":1394},[1523],{"type":26,"value":1524},"output",{"type":30,"tagName":1238,"properties":1526,"children":1527},{"style":1260},[1528],{"type":26,"value":1505},{"type":30,"tagName":1238,"properties":1530,"children":1531},{"style":1271},[1532],{"type":26,"value":1533},"\"equity\"",{"type":30,"tagName":1238,"properties":1535,"children":1536},{"style":1260},[1537],{"type":26,"value":1538},", line, lower, { description: ",{"type":30,"tagName":1238,"properties":1540,"children":1541},{"style":1271},[1542],{"type":26,"value":1543},"\"Strategy equity\"",{"type":30,"tagName":1238,"properties":1545,"children":1546},{"style":1260},[1547],{"type":26,"value":1491},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1550,"children":1551},{"class":1240},[],{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1554,"children":1555},{"class":1240},[1556,1561,1566,1571,1576,1581,1585,1590],{"type":30,"tagName":1238,"properties":1557,"children":1558},{"style":1254},[1559],{"type":26,"value":1560},"const",{"type":30,"tagName":1238,"properties":1562,"children":1563},{"style":1405},[1564],{"type":26,"value":1565}," fastMa",{"type":30,"tagName":1238,"properties":1567,"children":1568},{"style":1254},[1569],{"type":26,"value":1570}," =",{"type":30,"tagName":1238,"properties":1572,"children":1573},{"style":1254},[1574],{"type":26,"value":1575}," new",{"type":30,"tagName":1238,"properties":1577,"children":1578},{"style":1394},[1579],{"type":26,"value":1580}," Sma",{"type":30,"tagName":1238,"properties":1582,"children":1583},{"style":1260},[1584],{"type":26,"value":1505},{"type":30,"tagName":1238,"properties":1586,"children":1587},{"style":1405},[1588],{"type":26,"value":1589},"4",{"type":30,"tagName":1238,"properties":1591,"children":1592},{"style":1260},[1593],{"type":26,"value":1594},");",{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1597,"children":1598},{"class":1240},[1599,1603,1608,1612,1616,1620,1624,1629],{"type":30,"tagName":1238,"properties":1600,"children":1601},{"style":1254},[1602],{"type":26,"value":1560},{"type":30,"tagName":1238,"properties":1604,"children":1605},{"style":1405},[1606],{"type":26,"value":1607}," slowMa",{"type":30,"tagName":1238,"properties":1609,"children":1610},{"style":1254},[1611],{"type":26,"value":1570},{"type":30,"tagName":1238,"properties":1613,"children":1614},{"style":1254},[1615],{"type":26,"value":1575},{"type":30,"tagName":1238,"properties":1617,"children":1618},{"style":1394},[1619],{"type":26,"value":1580},{"type":30,"tagName":1238,"properties":1621,"children":1622},{"style":1260},[1623],{"type":26,"value":1505},{"type":30,"tagName":1238,"properties":1625,"children":1626},{"style":1405},[1627],{"type":26,"value":1628},"9",{"type":30,"tagName":1238,"properties":1630,"children":1631},{"style":1260},[1632],{"type":26,"value":1594},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1635,"children":1636},{"class":1240},[1637,1641,1646,1650,1654,1659],{"type":30,"tagName":1238,"properties":1638,"children":1639},{"style":1254},[1640],{"type":26,"value":1560},{"type":30,"tagName":1238,"properties":1642,"children":1643},{"style":1405},[1644],{"type":26,"value":1645}," cross",{"type":30,"tagName":1238,"properties":1647,"children":1648},{"style":1254},[1649],{"type":26,"value":1570},{"type":30,"tagName":1238,"properties":1651,"children":1652},{"style":1254},[1653],{"type":26,"value":1575},{"type":30,"tagName":1238,"properties":1655,"children":1656},{"style":1394},[1657],{"type":26,"value":1658}," Cross",{"type":30,"tagName":1238,"properties":1660,"children":1661},{"style":1260},[1662],{"type":26,"value":1663},"();",{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1666,"children":1667},{"class":1240},[1668,1673,1678,1683,1688,1692,1697],{"type":30,"tagName":1238,"properties":1669,"children":1670},{"style":1254},[1671],{"type":26,"value":1672},"let",{"type":30,"tagName":1238,"properties":1674,"children":1675},{"style":1260},[1676],{"type":26,"value":1677}," crossed",{"type":30,"tagName":1238,"properties":1679,"children":1680},{"style":1254},[1681],{"type":26,"value":1682},":",{"type":30,"tagName":1238,"properties":1684,"children":1685},{"style":1394},[1686],{"type":26,"value":1687}," i32",{"type":30,"tagName":1238,"properties":1689,"children":1690},{"style":1254},[1691],{"type":26,"value":1570},{"type":30,"tagName":1238,"properties":1693,"children":1694},{"style":1405},[1695],{"type":26,"value":1696}," 0",{"type":30,"tagName":1238,"properties":1698,"children":1699},{"style":1260},[1700],{"type":26,"value":1279},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1703,"children":1704},{"class":1240},[],{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1707,"children":1708},{"class":1240},[1709,1714,1719,1724,1729,1733,1738],{"type":30,"tagName":1238,"properties":1710,"children":1711},{"style":1254},[1712],{"type":26,"value":1713},"export",{"type":30,"tagName":1238,"properties":1715,"children":1716},{"style":1254},[1717],{"type":26,"value":1718}," function",{"type":30,"tagName":1238,"properties":1720,"children":1721},{"style":1394},[1722],{"type":26,"value":1723}," init",{"type":30,"tagName":1238,"properties":1725,"children":1726},{"style":1260},[1727],{"type":26,"value":1728},"()",{"type":30,"tagName":1238,"properties":1730,"children":1731},{"style":1254},[1732],{"type":26,"value":1682},{"type":30,"tagName":1238,"properties":1734,"children":1735},{"style":1405},[1736],{"type":26,"value":1737}," void",{"type":30,"tagName":1238,"properties":1739,"children":1740},{"style":1260},[1741],{"type":26,"value":1742}," {}",{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1745,"children":1746},{"class":1240},[],{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1749,"children":1750},{"class":1240},[1751,1755,1759,1764,1768,1772,1776],{"type":30,"tagName":1238,"properties":1752,"children":1753},{"style":1254},[1754],{"type":26,"value":1713},{"type":30,"tagName":1238,"properties":1756,"children":1757},{"style":1254},[1758],{"type":26,"value":1718},{"type":30,"tagName":1238,"properties":1760,"children":1761},{"style":1394},[1762],{"type":26,"value":1763}," state",{"type":30,"tagName":1238,"properties":1765,"children":1766},{"style":1260},[1767],{"type":26,"value":1728},{"type":30,"tagName":1238,"properties":1769,"children":1770},{"style":1254},[1771],{"type":26,"value":1682},{"type":30,"tagName":1238,"properties":1773,"children":1774},{"style":1394},[1775],{"type":26,"value":1687},{"type":30,"tagName":1238,"properties":1777,"children":1778},{"style":1260},[1779],{"type":26,"value":1780}," {",{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1783,"children":1784},{"class":1240},[1785,1790,1795,1799,1804],{"type":30,"tagName":1238,"properties":1786,"children":1787},{"style":1254},[1788],{"type":26,"value":1789},"  const",{"type":30,"tagName":1238,"properties":1791,"children":1792},{"style":1405},[1793],{"type":26,"value":1794}," close",{"type":30,"tagName":1238,"properties":1796,"children":1797},{"style":1254},[1798],{"type":26,"value":1570},{"type":30,"tagName":1238,"properties":1800,"children":1801},{"style":1394},[1802],{"type":26,"value":1803}," in_close",{"type":30,"tagName":1238,"properties":1805,"children":1806},{"style":1260},[1807],{"type":26,"value":1663},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1810,"children":1811},{"class":1240},[1812,1816,1821,1825,1830,1835],{"type":30,"tagName":1238,"properties":1813,"children":1814},{"style":1254},[1815],{"type":26,"value":1789},{"type":30,"tagName":1238,"properties":1817,"children":1818},{"style":1405},[1819],{"type":26,"value":1820}," fast",{"type":30,"tagName":1238,"properties":1822,"children":1823},{"style":1254},[1824],{"type":26,"value":1570},{"type":30,"tagName":1238,"properties":1826,"children":1827},{"style":1260},[1828],{"type":26,"value":1829}," fastMa.",{"type":30,"tagName":1238,"properties":1831,"children":1832},{"style":1394},[1833],{"type":26,"value":1834},"update",{"type":30,"tagName":1238,"properties":1836,"children":1837},{"style":1260},[1838],{"type":26,"value":1839},"(close);",{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1842,"children":1843},{"class":1240},[1844,1848,1853,1857,1862,1866],{"type":30,"tagName":1238,"properties":1845,"children":1846},{"style":1254},[1847],{"type":26,"value":1789},{"type":30,"tagName":1238,"properties":1849,"children":1850},{"style":1405},[1851],{"type":26,"value":1852}," slow",{"type":30,"tagName":1238,"properties":1854,"children":1855},{"style":1254},[1856],{"type":26,"value":1570},{"type":30,"tagName":1238,"properties":1858,"children":1859},{"style":1260},[1860],{"type":26,"value":1861}," slowMa.",{"type":30,"tagName":1238,"properties":1863,"children":1864},{"style":1394},[1865],{"type":26,"value":1834},{"type":30,"tagName":1238,"properties":1867,"children":1868},{"style":1260},[1869],{"type":26,"value":1839},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1872,"children":1873},{"class":1240},[1874,1879,1884,1889,1894,1899,1904,1909,1914,1918],{"type":30,"tagName":1238,"properties":1875,"children":1876},{"style":1254},[1877],{"type":26,"value":1878},"  if",{"type":30,"tagName":1238,"properties":1880,"children":1881},{"style":1260},[1882],{"type":26,"value":1883}," (",{"type":30,"tagName":1238,"properties":1885,"children":1886},{"style":1394},[1887],{"type":26,"value":1888},"isNaN",{"type":30,"tagName":1238,"properties":1890,"children":1891},{"style":1260},[1892],{"type":26,"value":1893},"(fast) ",{"type":30,"tagName":1238,"properties":1895,"children":1896},{"style":1254},[1897],{"type":26,"value":1898},"||",{"type":30,"tagName":1238,"properties":1900,"children":1901},{"style":1394},[1902],{"type":26,"value":1903}," isNaN",{"type":30,"tagName":1238,"properties":1905,"children":1906},{"style":1260},[1907],{"type":26,"value":1908},"(slow)) ",{"type":30,"tagName":1238,"properties":1910,"children":1911},{"style":1254},[1912],{"type":26,"value":1913},"return",{"type":30,"tagName":1238,"properties":1915,"children":1916},{"style":1405},[1917],{"type":26,"value":1696},{"type":30,"tagName":1238,"properties":1919,"children":1920},{"style":1260},[1921],{"type":26,"value":1279},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1924,"children":1925},{"class":1240},[1926,1931,1936,1941,1945],{"type":30,"tagName":1238,"properties":1927,"children":1928},{"style":1260},[1929],{"type":26,"value":1930},"  crossed ",{"type":30,"tagName":1238,"properties":1932,"children":1933},{"style":1254},[1934],{"type":26,"value":1935},"=",{"type":30,"tagName":1238,"properties":1937,"children":1938},{"style":1260},[1939],{"type":26,"value":1940}," cross.",{"type":30,"tagName":1238,"properties":1942,"children":1943},{"style":1394},[1944],{"type":26,"value":1834},{"type":30,"tagName":1238,"properties":1946,"children":1947},{"style":1260},[1948],{"type":26,"value":1949},"(fast, slow);",{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1952,"children":1953},{"class":1240},[1954,1959,1964],{"type":30,"tagName":1238,"properties":1955,"children":1956},{"style":1254},[1957],{"type":26,"value":1958},"  return",{"type":30,"tagName":1238,"properties":1960,"children":1961},{"style":1405},[1962],{"type":26,"value":1963}," 1",{"type":30,"tagName":1238,"properties":1965,"children":1966},{"style":1260},[1967],{"type":26,"value":1279},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1970,"children":1971},{"class":1240},[1972],{"type":30,"tagName":1238,"properties":1973,"children":1974},{"style":1260},[1975],{"type":26,"value":1976},"}",{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1979,"children":1980},{"class":1240},[],{"type":26,"value":27},{"type":30,"tagName":1238,"properties":1983,"children":1984},{"class":1240},[1985,1989,1993,1998,2002,2006,2010],{"type":30,"tagName":1238,"properties":1986,"children":1987},{"style":1254},[1988],{"type":26,"value":1713},{"type":30,"tagName":1238,"properties":1990,"children":1991},{"style":1254},[1992],{"type":26,"value":1718},{"type":30,"tagName":1238,"properties":1994,"children":1995},{"style":1394},[1996],{"type":26,"value":1997}," finalize",{"type":30,"tagName":1238,"properties":1999,"children":2000},{"style":1260},[2001],{"type":26,"value":1728},{"type":30,"tagName":1238,"properties":2003,"children":2004},{"style":1254},[2005],{"type":26,"value":1682},{"type":30,"tagName":1238,"properties":2007,"children":2008},{"style":1405},[2009],{"type":26,"value":1737},{"type":30,"tagName":1238,"properties":2011,"children":2012},{"style":1260},[2013],{"type":26,"value":1780},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":2016,"children":2017},{"class":1240},[2018,2022,2027,2032,2036,2041,2046,2050,2055,2059,2064],{"type":30,"tagName":1238,"properties":2019,"children":2020},{"style":1254},[2021],{"type":26,"value":1878},{"type":30,"tagName":1238,"properties":2023,"children":2024},{"style":1260},[2025],{"type":26,"value":2026}," (crossed ",{"type":30,"tagName":1238,"properties":2028,"children":2029},{"style":1254},[2030],{"type":26,"value":2031},"==",{"type":30,"tagName":1238,"properties":2033,"children":2034},{"style":1405},[2035],{"type":26,"value":1963},{"type":30,"tagName":1238,"properties":2037,"children":2038},{"style":1260},[2039],{"type":26,"value":2040},") strategy.",{"type":30,"tagName":1238,"properties":2042,"children":2043},{"style":1394},[2044],{"type":26,"value":2045},"long",{"type":30,"tagName":1238,"properties":2047,"children":2048},{"style":1260},[2049],{"type":26,"value":1505},{"type":30,"tagName":1238,"properties":2051,"children":2052},{"style":1271},[2053],{"type":26,"value":2054},"\"Long\"",{"type":30,"tagName":1238,"properties":2056,"children":2057},{"style":1260},[2058],{"type":26,"value":334},{"type":30,"tagName":1238,"properties":2060,"children":2061},{"style":1394},[2062],{"type":26,"value":2063},"send",{"type":30,"tagName":1238,"properties":2065,"children":2066},{"style":1260},[2067],{"type":26,"value":1663},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":2070,"children":2071},{"class":1240},[2072,2077,2082,2087],{"type":30,"tagName":1238,"properties":2073,"children":2074},{"style":1394},[2075],{"type":26,"value":2076},"  out_equity",{"type":30,"tagName":1238,"properties":2078,"children":2079},{"style":1260},[2080],{"type":26,"value":2081},"(strategy.",{"type":30,"tagName":1238,"properties":2083,"children":2084},{"style":1394},[2085],{"type":26,"value":2086},"equity",{"type":30,"tagName":1238,"properties":2088,"children":2089},{"style":1260},[2090],{"type":26,"value":2091},"());",{"type":26,"value":27},{"type":30,"tagName":1238,"properties":2094,"children":2095},{"class":1240},[2096,2101],{"type":30,"tagName":1238,"properties":2097,"children":2098},{"style":1394},[2099],{"type":26,"value":2100},"  emitRow",{"type":30,"tagName":1238,"properties":2102,"children":2103},{"style":1260},[2104],{"type":26,"value":1663},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":2107,"children":2108},{"class":1240},[2109],{"type":30,"tagName":1238,"properties":2110,"children":2111},{"style":1260},[2112],{"type":26,"value":1976},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":2115,"children":2116},{"class":1240},[],{"type":26,"value":27},{"type":30,"tagName":1238,"properties":2119,"children":2120},{"class":1240},[2121,2125,2129,2134,2138,2142,2146],{"type":30,"tagName":1238,"properties":2122,"children":2123},{"style":1254},[2124],{"type":26,"value":1713},{"type":30,"tagName":1238,"properties":2126,"children":2127},{"style":1254},[2128],{"type":26,"value":1718},{"type":30,"tagName":1238,"properties":2130,"children":2131},{"style":1394},[2132],{"type":26,"value":2133}," reset",{"type":30,"tagName":1238,"properties":2135,"children":2136},{"style":1260},[2137],{"type":26,"value":1728},{"type":30,"tagName":1238,"properties":2139,"children":2140},{"style":1254},[2141],{"type":26,"value":1682},{"type":30,"tagName":1238,"properties":2143,"children":2144},{"style":1405},[2145],{"type":26,"value":1737},{"type":30,"tagName":1238,"properties":2147,"children":2148},{"style":1260},[2149],{"type":26,"value":1780},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":2152,"children":2153},{"class":1240},[2154,2159,2164],{"type":30,"tagName":1238,"properties":2155,"children":2156},{"style":1260},[2157],{"type":26,"value":2158},"  fastMa.",{"type":30,"tagName":1238,"properties":2160,"children":2161},{"style":1394},[2162],{"type":26,"value":2163},"reset",{"type":30,"tagName":1238,"properties":2165,"children":2166},{"style":1260},[2167],{"type":26,"value":1663},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":2170,"children":2171},{"class":1240},[2172,2177,2181],{"type":30,"tagName":1238,"properties":2173,"children":2174},{"style":1260},[2175],{"type":26,"value":2176},"  slowMa.",{"type":30,"tagName":1238,"properties":2178,"children":2179},{"style":1394},[2180],{"type":26,"value":2163},{"type":30,"tagName":1238,"properties":2182,"children":2183},{"style":1260},[2184],{"type":26,"value":1663},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":2187,"children":2188},{"class":1240},[2189,2194,2198],{"type":30,"tagName":1238,"properties":2190,"children":2191},{"style":1260},[2192],{"type":26,"value":2193},"  cross.",{"type":30,"tagName":1238,"properties":2195,"children":2196},{"style":1394},[2197],{"type":26,"value":2163},{"type":30,"tagName":1238,"properties":2199,"children":2200},{"style":1260},[2201],{"type":26,"value":1663},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":2204,"children":2205},{"class":1240},[2206,2210,2214,2218],{"type":30,"tagName":1238,"properties":2207,"children":2208},{"style":1260},[2209],{"type":26,"value":1930},{"type":30,"tagName":1238,"properties":2211,"children":2212},{"style":1254},[2213],{"type":26,"value":1935},{"type":30,"tagName":1238,"properties":2215,"children":2216},{"style":1405},[2217],{"type":26,"value":1696},{"type":30,"tagName":1238,"properties":2219,"children":2220},{"style":1260},[2221],{"type":26,"value":1279},{"type":26,"value":27},{"type":30,"tagName":1238,"properties":2224,"children":2225},{"class":1240},[2226],{"type":30,"tagName":1238,"properties":2227,"children":2228},{"style":1260},[2229],{"type":26,"value":1976},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2232,"children":2233,"position":2300},{},[2234,2243,2255,2261,2273,2280,2293],{"type":26,"value":2235,"position":2236},"At 25x the liquidation level sits about 3.5% under the entry, inside an ordinary swing on most pairs: expect trades closed by ",{"start":2237,"end":2240},{"line":2238,"column":20,"offset":2239},77,4612,{"line":2238,"column":2241,"offset":2242},127,4738,{"type":30,"tagName":35,"properties":2244,"children":2245,"position":2252},{},[2246],{"type":26,"value":935,"position":2247},{"start":2248,"end":2249},{"line":2238,"column":2241,"offset":2242},{"line":2238,"column":2250,"offset":2251},140,4751,{"start":2253,"end":2254},{"line":2238,"column":2241,"offset":2242},{"line":2238,"column":2250,"offset":2251},{"type":26,"value":426,"position":2256},{"start":2257,"end":2258},{"line":2238,"column":2250,"offset":2251},{"line":2238,"column":2259,"offset":2260},142,4753,{"type":30,"tagName":35,"properties":2262,"children":2263,"position":2270},{},[2264],{"type":26,"value":510,"position":2265},{"start":2266,"end":2267},{"line":2238,"column":2259,"offset":2260},{"line":2238,"column":2268,"offset":2269},160,4771,{"start":2271,"end":2272},{"line":2238,"column":2259,"offset":2260},{"line":2238,"column":2268,"offset":2269},{"type":26,"value":2274,"position":2275}," counting them, and trading continuing after each one. ",{"start":2276,"end":2277},{"line":2238,"column":2268,"offset":2269},{"line":2238,"column":2278,"offset":2279},215,4826,{"type":30,"tagName":35,"properties":2281,"children":2282,"position":2290},{},[2283],{"type":26,"value":2284,"position":2285},"stats.bankruptcyDeficit",{"start":2286,"end":2287},{"line":2238,"column":2278,"offset":2279},{"line":2238,"column":2288,"offset":2289},240,4851,{"start":2291,"end":2292},{"line":2238,"column":2278,"offset":2279},{"line":2238,"column":2288,"offset":2289},{"type":26,"value":2294,"position":2295}," reports any shortfall a liquidation fill left beyond the position's committed margin; equity floors at zero.",{"start":2296,"end":2297},{"line":2238,"column":2288,"offset":2289},{"line":2238,"column":2298,"offset":2299},349,4960,{"start":2301,"end":2302},{"line":2238,"column":20,"offset":2239},{"line":2238,"column":2298,"offset":2299},{"type":26,"value":27},{"type":30,"tagName":62,"properties":2305,"children":2307,"position":2316},{"id":2306},"funding",[2308],{"type":26,"value":2309,"position":2310},"Funding",{"start":2311,"end":2314},{"line":2312,"column":71,"offset":2313},79,4965,{"line":2312,"column":113,"offset":2315},4972,{"start":2317,"end":2319},{"line":2312,"column":20,"offset":2318},4962,{"line":2312,"column":113,"offset":2315},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2322,"children":2323,"position":2418},{},[2324,2336,2342,2354,2361,2373,2380,2392,2399,2412],{"type":30,"tagName":35,"properties":2325,"children":2326,"position":2333},{},[2327],{"type":26,"value":304,"position":2328},{"start":2329,"end":2331},{"line":1201,"column":20,"offset":2330},4974,{"line":1201,"column":708,"offset":2332},4991,{"start":2334,"end":2335},{"line":1201,"column":20,"offset":2330},{"line":1201,"column":708,"offset":2332},{"type":26,"value":2337,"position":2338}," settles recorded funding events against the open position, and ",{"start":2339,"end":2340},{"line":1201,"column":708,"offset":2332},{"line":1201,"column":728,"offset":2341},5055,{"type":30,"tagName":35,"properties":2343,"children":2344,"position":2351},{},[2345],{"type":26,"value":324,"position":2346},{"start":2347,"end":2348},{"line":1201,"column":728,"offset":2341},{"line":1201,"column":2349,"offset":2350},98,5071,{"start":2352,"end":2353},{"line":1201,"column":728,"offset":2341},{"line":1201,"column":2349,"offset":2350},{"type":26,"value":2355,"position":2356}," disables funding entirely; only those two literals are accepted. Settlements apply only while a position is open, debit cash and committed margin together (so the liquidation price tightens as margin erodes), and a settlement that depletes margin liquidates the position at that bar's open with zero price PnL. ",{"start":2357,"end":2358},{"line":1201,"column":2349,"offset":2350},{"line":1201,"column":2359,"offset":2360},410,5383,{"type":30,"tagName":35,"properties":2362,"children":2363,"position":2370},{},[2364],{"type":26,"value":454,"position":2365},{"start":2366,"end":2367},{"line":1201,"column":2359,"offset":2360},{"line":1201,"column":2368,"offset":2369},423,5396,{"start":2371,"end":2372},{"line":1201,"column":2359,"offset":2360},{"line":1201,"column":2368,"offset":2369},{"type":26,"value":2374,"position":2375}," is signed from the strategy's side (positive when the strategy paid), ",{"start":2376,"end":2377},{"line":1201,"column":2368,"offset":2369},{"line":1201,"column":2378,"offset":2379},494,5467,{"type":30,"tagName":35,"properties":2381,"children":2382,"position":2389},{},[2383],{"type":26,"value":473,"position":2384},{"start":2385,"end":2386},{"line":1201,"column":2378,"offset":2379},{"line":1201,"column":2387,"offset":2388},516,5489,{"start":2390,"end":2391},{"line":1201,"column":2378,"offset":2379},{"line":1201,"column":2387,"offset":2388},{"type":26,"value":2393,"position":2394}," counts the settlements applied, and ",{"start":2395,"end":2396},{"line":1201,"column":2387,"offset":2388},{"line":1201,"column":2397,"offset":2398},553,5526,{"type":30,"tagName":35,"properties":2400,"children":2401,"position":2409},{},[2402],{"type":26,"value":2403,"position":2404},"fundingPaidSeries",{"start":2405,"end":2406},{"line":1201,"column":2397,"offset":2398},{"line":1201,"column":2407,"offset":2408},572,5545,{"start":2410,"end":2411},{"line":1201,"column":2397,"offset":2398},{"line":1201,"column":2407,"offset":2408},{"type":26,"value":2413,"position":2414}," is the cumulative series.",{"start":2415,"end":2416},{"line":1201,"column":2407,"offset":2408},{"line":1201,"column":91,"offset":2417},5571,{"start":2419,"end":2420},{"line":1201,"column":20,"offset":2330},{"line":1201,"column":91,"offset":2417},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2423,"children":2424,"position":2488},{},[2425,2433,2445,2452,2463,2470,2482],{"type":26,"value":2426,"position":2427},"This release attaches no funding provider on any host. ",{"start":2428,"end":2431},{"line":2429,"column":20,"offset":2430},83,5573,{"line":2429,"column":1191,"offset":2432},5628,{"type":30,"tagName":35,"properties":2434,"children":2435,"position":2442},{},[2436],{"type":26,"value":304,"position":2437},{"start":2438,"end":2439},{"line":2429,"column":1191,"offset":2432},{"line":2429,"column":2440,"offset":2441},73,5645,{"start":2443,"end":2444},{"line":2429,"column":1191,"offset":2432},{"line":2429,"column":2440,"offset":2441},{"type":26,"value":2446,"position":2447}," therefore settles nothing and counts every bar an open position could not be settled in ",{"start":2448,"end":2449},{"line":2429,"column":2440,"offset":2441},{"line":2429,"column":2450,"offset":2451},162,5734,{"type":30,"tagName":35,"properties":2453,"children":2454,"position":2460},{},[2455],{"type":26,"value":491,"position":2456},{"start":2457,"end":2458},{"line":2429,"column":2450,"offset":2451},{"line":2429,"column":328,"offset":2459},5759,{"start":2461,"end":2462},{"line":2429,"column":2450,"offset":2451},{"line":2429,"column":328,"offset":2459},{"type":26,"value":2464,"position":2465},"; the backtest card discloses that count on every run it applies to. No rate is ever invented. ",{"start":2466,"end":2467},{"line":2429,"column":328,"offset":2459},{"line":2429,"column":2468,"offset":2469},282,5854,{"type":30,"tagName":35,"properties":2471,"children":2472,"position":2479},{},[2473],{"type":26,"value":324,"position":2474},{"start":2475,"end":2476},{"line":2429,"column":2468,"offset":2469},{"line":2429,"column":2477,"offset":2478},298,5870,{"start":2480,"end":2481},{"line":2429,"column":2468,"offset":2469},{"line":2429,"column":2477,"offset":2478},{"type":26,"value":2483,"position":2484}," is the exact no-op it always was, and a strategy that should not depend on funding declares it.",{"start":2485,"end":2486},{"line":2429,"column":2477,"offset":2478},{"line":2429,"column":638,"offset":2487},5966,{"start":2489,"end":2490},{"line":2429,"column":20,"offset":2430},{"line":2429,"column":638,"offset":2487},{"type":26,"value":27},{"type":30,"tagName":62,"properties":2493,"children":2495,"position":2504},{"id":2494},"perps-output-series",[2496],{"type":26,"value":2497,"position":2498},"Perps output series",{"start":2499,"end":2501},{"line":212,"column":71,"offset":2500},5971,{"line":212,"column":2502,"offset":2503},23,5990,{"start":2505,"end":2507},{"line":212,"column":20,"offset":2506},5968,{"line":212,"column":2502,"offset":2503},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2510,"children":2511,"position":2577},{},[2512,2521,2533,2539,2551,2558,2571],{"type":26,"value":2513,"position":2514},"Perps runs add two bar-aligned series to the output, present on every perps run and omitted on spot: ",{"start":2515,"end":2518},{"line":2516,"column":20,"offset":2517},87,5992,{"line":2516,"column":2519,"offset":2520},102,6093,{"type":30,"tagName":35,"properties":2522,"children":2523,"position":2530},{},[2524],{"type":26,"value":754,"position":2525},{"start":2526,"end":2527},{"line":2516,"column":2519,"offset":2520},{"line":2516,"column":2528,"offset":2529},125,6116,{"start":2531,"end":2532},{"line":2516,"column":2519,"offset":2520},{"line":2516,"column":2528,"offset":2529},{"type":26,"value":2534,"position":2535}," (margin committed to the open position at each bar close) and ",{"start":2536,"end":2537},{"line":2516,"column":2528,"offset":2529},{"line":2516,"column":46,"offset":2538},6179,{"type":30,"tagName":35,"properties":2540,"children":2541,"position":2548},{},[2542],{"type":26,"value":2403,"position":2543},{"start":2544,"end":2545},{"line":2516,"column":46,"offset":2538},{"line":2516,"column":2546,"offset":2547},207,6198,{"start":2549,"end":2550},{"line":2516,"column":46,"offset":2538},{"line":2516,"column":2546,"offset":2547},{"type":26,"value":2552,"position":2553}," (cumulative funding paid, ending at ",{"start":2554,"end":2555},{"line":2516,"column":2546,"offset":2547},{"line":2516,"column":2556,"offset":2557},244,6235,{"type":30,"tagName":35,"properties":2559,"children":2560,"position":2568},{},[2561],{"type":26,"value":2562,"position":2563},"stats.fundingPaid",{"start":2564,"end":2565},{"line":2516,"column":2556,"offset":2557},{"line":2516,"column":2566,"offset":2567},263,6254,{"start":2569,"end":2570},{"line":2516,"column":2556,"offset":2557},{"line":2516,"column":2566,"offset":2567},{"type":26,"value":334,"position":2572},{"start":2573,"end":2574},{"line":2516,"column":2566,"offset":2567},{"line":2516,"column":2575,"offset":2576},265,6256,{"start":2578,"end":2579},{"line":2516,"column":20,"offset":2517},{"line":2516,"column":2575,"offset":2576},{"type":26,"value":27},{"type":30,"tagName":62,"properties":2582,"children":2584,"position":2593},{"id":2583},"validation",[2585],{"type":26,"value":2586,"position":2587},"Validation",{"start":2588,"end":2591},{"line":2589,"column":71,"offset":2590},89,6261,{"line":2589,"column":123,"offset":2592},6271,{"start":2594,"end":2596},{"line":2589,"column":20,"offset":2595},6258,{"line":2589,"column":123,"offset":2592},{"type":26,"value":27},{"type":30,"tagName":31,"properties":2599,"children":2600,"position":2830},{},[2601,2609,2621,2627,2639,2644,2656,2662,2673,2680,2693,2700,2712,2718,2731,2737,2749,2755,2767,2773,2785,2791,2803,2810,2823],{"type":26,"value":2602,"position":2603},"The settings are validated at build time with the engine's rules: ",{"start":2604,"end":2606},{"line":308,"column":20,"offset":2605},6273,{"line":308,"column":2607,"offset":2608},67,6339,{"type":30,"tagName":35,"properties":2610,"children":2611,"position":2618},{},[2612],{"type":26,"value":2613,"position":2614},"instrument",{"start":2615,"end":2616},{"line":308,"column":2607,"offset":2608},{"line":308,"column":2312,"offset":2617},6351,{"start":2619,"end":2620},{"line":308,"column":2607,"offset":2608},{"line":308,"column":2312,"offset":2617},{"type":26,"value":2622,"position":2623}," is ",{"start":2624,"end":2625},{"line":308,"column":2312,"offset":2617},{"line":308,"column":2429,"offset":2626},6355,{"type":30,"tagName":35,"properties":2628,"children":2629,"position":2636},{},[2630],{"type":26,"value":2631,"position":2632},"\"spot\"",{"start":2633,"end":2634},{"line":308,"column":2429,"offset":2626},{"line":308,"column":308,"offset":2635},6363,{"start":2637,"end":2638},{"line":308,"column":2429,"offset":2626},{"line":308,"column":308,"offset":2635},{"type":26,"value":198,"position":2640},{"start":2641,"end":2642},{"line":308,"column":308,"offset":2635},{"line":308,"column":440,"offset":2643},6367,{"type":30,"tagName":35,"properties":2645,"children":2646,"position":2653},{},[2647],{"type":26,"value":1418,"position":2648},{"start":2649,"end":2650},{"line":308,"column":440,"offset":2643},{"line":308,"column":2651,"offset":2652},104,6376,{"start":2654,"end":2655},{"line":308,"column":440,"offset":2643},{"line":308,"column":2651,"offset":2652},{"type":26,"value":744,"position":2657},{"start":2658,"end":2659},{"line":308,"column":2651,"offset":2652},{"line":308,"column":2660,"offset":2661},106,6378,{"type":30,"tagName":35,"properties":2663,"children":2664,"position":2670},{},[2665],{"type":26,"value":734,"position":2666},{"start":2667,"end":2668},{"line":308,"column":2660,"offset":2661},{"line":308,"column":232,"offset":2669},6388,{"start":2671,"end":2672},{"line":308,"column":2660,"offset":2661},{"line":308,"column":232,"offset":2669},{"type":26,"value":2674,"position":2675}," more than 0; ",{"start":2676,"end":2677},{"line":308,"column":232,"offset":2669},{"line":308,"column":2678,"offset":2679},130,6402,{"type":30,"tagName":35,"properties":2681,"children":2682,"position":2690},{},[2683],{"type":26,"value":2684,"position":2685},"maintenanceMarginPercent",{"start":2686,"end":2687},{"line":308,"column":2678,"offset":2679},{"line":308,"column":2688,"offset":2689},156,6428,{"start":2691,"end":2692},{"line":308,"column":2678,"offset":2679},{"line":308,"column":2688,"offset":2689},{"type":26,"value":2694,"position":2695}," at least 0 and under 100; the fee rates at least 0; ",{"start":2696,"end":2697},{"line":308,"column":2688,"offset":2689},{"line":308,"column":2698,"offset":2699},209,6481,{"type":30,"tagName":35,"properties":2701,"children":2702,"position":2709},{},[2703],{"type":26,"value":2306,"position":2704},{"start":2705,"end":2706},{"line":308,"column":2698,"offset":2699},{"line":308,"column":2707,"offset":2708},218,6490,{"start":2710,"end":2711},{"line":308,"column":2698,"offset":2699},{"line":308,"column":2707,"offset":2708},{"type":26,"value":2622,"position":2713},{"start":2714,"end":2715},{"line":308,"column":2707,"offset":2708},{"line":308,"column":2716,"offset":2717},222,6494,{"type":30,"tagName":35,"properties":2719,"children":2720,"position":2728},{},[2721],{"type":26,"value":2722,"position":2723},"\"data\"",{"start":2724,"end":2725},{"line":308,"column":2716,"offset":2717},{"line":308,"column":2726,"offset":2727},230,6502,{"start":2729,"end":2730},{"line":308,"column":2716,"offset":2717},{"line":308,"column":2726,"offset":2727},{"type":26,"value":198,"position":2732},{"start":2733,"end":2734},{"line":308,"column":2726,"offset":2727},{"line":308,"column":2735,"offset":2736},234,6506,{"type":30,"tagName":35,"properties":2738,"children":2739,"position":2746},{},[2740],{"type":26,"value":1448,"position":2741},{"start":2742,"end":2743},{"line":308,"column":2735,"offset":2736},{"line":308,"column":2744,"offset":2745},241,6513,{"start":2747,"end":2748},{"line":308,"column":2735,"offset":2736},{"line":308,"column":2744,"offset":2745},{"type":26,"value":744,"position":2750},{"start":2751,"end":2752},{"line":308,"column":2744,"offset":2745},{"line":308,"column":2753,"offset":2754},243,6515,{"type":30,"tagName":35,"properties":2756,"children":2757,"position":2764},{},[2758],{"type":26,"value":376,"position":2759},{"start":2760,"end":2761},{"line":308,"column":2753,"offset":2754},{"line":308,"column":2762,"offset":2763},258,6530,{"start":2765,"end":2766},{"line":308,"column":2753,"offset":2754},{"line":308,"column":2762,"offset":2763},{"type":26,"value":2622,"position":2768},{"start":2769,"end":2770},{"line":308,"column":2762,"offset":2763},{"line":308,"column":2771,"offset":2772},262,6534,{"type":30,"tagName":35,"properties":2774,"children":2775,"position":2782},{},[2776],{"type":26,"value":1100,"position":2777},{"start":2778,"end":2779},{"line":308,"column":2771,"offset":2772},{"line":308,"column":2780,"offset":2781},274,6546,{"start":2783,"end":2784},{"line":308,"column":2771,"offset":2772},{"line":308,"column":2780,"offset":2781},{"type":26,"value":198,"position":2786},{"start":2787,"end":2788},{"line":308,"column":2780,"offset":2781},{"line":308,"column":2789,"offset":2790},278,6550,{"type":30,"tagName":35,"properties":2792,"children":2793,"position":2800},{},[2794],{"type":26,"value":1167,"position":2795},{"start":2796,"end":2797},{"line":308,"column":2789,"offset":2790},{"line":308,"column":2798,"offset":2799},286,6558,{"start":2801,"end":2802},{"line":308,"column":2789,"offset":2790},{"line":308,"column":2798,"offset":2799},{"type":26,"value":2804,"position":2805},". A setting linked to a param is checked at ",{"start":2806,"end":2807},{"line":308,"column":2798,"offset":2799},{"line":308,"column":2808,"offset":2809},330,6602,{"type":30,"tagName":35,"properties":2811,"children":2812,"position":2820},{},[2813],{"type":26,"value":2814,"position":2815},"init()",{"start":2816,"end":2817},{"line":308,"column":2808,"offset":2809},{"line":308,"column":2818,"offset":2819},338,6610,{"start":2821,"end":2822},{"line":308,"column":2808,"offset":2809},{"line":308,"column":2818,"offset":2819},{"type":26,"value":2824,"position":2825}," with the same rules, and an out-of-range value falls back to the default and is reported.",{"start":2826,"end":2827},{"line":308,"column":2818,"offset":2819},{"line":308,"column":2828,"offset":2829},428,6700,{"start":2831,"end":2832},{"line":308,"column":20,"offset":2605},{"line":308,"column":2828,"offset":2829},{"quirksMode":2834},false,{"start":2836,"end":2837},{"line":20,"column":20,"offset":21},{"line":738,"column":20,"offset":2838},6701,1790157176083]