[{"data":1,"prerenderedAt":2445},["ShallowReactive",2],{"wrun-open-editor-url":3,"indicators:strategies/reading-the-tester":4},"https://openmarket.xyz/chart/#wrun-open=v1",{"slug":5,"filePath":6,"frontmatter":7,"rawMarkdown":12,"tree":13},"strategies/reading-the-tester","strategies/reading-the-tester.md",{"title":8,"description":9,"order":10,"section":11},"Reading the Strategy Tester","The Strategy Tester is where a strategy's result lives on the chart: it docks under the chart whenever the chart holds a strategy, carries the trades, the…",126,"strategies","---\ntitle: \"Reading the Strategy Tester\"\ndescription: \"The Strategy Tester is where a strategy's result lives on the chart: it docks under the chart whenever the chart holds a strategy, carries the trades, the…\"\norder: 126\nsection: \"strategies\"\n---\n\n\u003C!-- source: docs/indicators/strategies/reading-the-tester.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Reading the Strategy Tester\n\nThe Strategy Tester is where a strategy's result lives on the chart: it docks under the chart whenever the chart holds a strategy, carries the trades, the equity curve and the stats, and marks each fill on the price series. This page is the map of the panel, and of where its honesty disclosures live.\n\n```text\nStrategy Tester\n  Tabs          one per strategy: its name, its net result in percent, an eye, a menu\n  Header        Compare, the bars the run covered, Run details, Strategy settings\n  Overview      the headline stats beside the equity curve, a drawdown lane, Buy & hold\n                (a perps strategy adds Margin and Funding)\n  Performance   Returns, Risk, Trades, then Long vs short and the P&L distribution\n  Trades        Closed trades, Open trades, Pending orders\n```\n\n![The Strategy Tester expanded under the chart on its Overview tab: the strategy tab with its net result, the header, the headline stats beside the equity curve, and the fill markers with their rails on the price pane](/wrun/images/tester-overview.png)\n\n- The strategy's tab at the top left carries its name and its net result;\n  the header holds **Compare**, the bars chip (\"1,029 bars · to Oct 4\"),\n  **Run details** and the gear.\n- **Overview**: the stats column (Net profit, Win rate, Profit factor, Max\n  drawdown, Sharpe, Trades) beside the equity curve, the **DD** lane under\n  it and **Buy & hold** at the top right.\n- On the chart, each fill is an arrow on its bar; this strategy also draws\n  the stop and target rails of every trade, and its RSI in the pane below.\n\n## Where it opens\n\nPress **Backtest** in the editor, or add a published strategy from the chart's **Indicators** dialog, and the Tester docks under the chart. Collapsed, it is a strip: the strategy's name, a sparkline of its equity, and its **Net**, **Win**, **DD** and **Trades**. Click the strip to expand the panel, or open a strategy from the chip on its legend entry (\"Open ... in Strategy Tester\").\n\nEach strategy on the chart gets a tab with its name, its net result in percent, and an eye that hides its plots and trade markers together. The tab's menu has **Remove from chart**, **Open settings**, **Hide markers**, and **Trade markers**: the marker shape (**Chevron**, **Bubble** or **Badge**), its size, and the long and short colors.\n\n## Overview\n\nA column of headline stats, **Net profit** (with its percent), **Win rate** (with wins and losses), **Profit factor**, **Max drawdown** (in percent and money), **Sharpe** and **Trades** (with the exposure), beside the equity curve, which has a drawdown lane (**DD**) under it and a **Buy & hold** toggle that draws holding the market over the same bars. Hover the curve and the chart highlights the same bar.\n\nA perps strategy adds two small charts, **Margin** (the margin committed to the open position at each bar) and **Funding** (the cumulative funding), each with **Show on chart** to project it onto the chart, and a line when a liquidation happened: when and at what price (or how many times, from the first), then whether the strategy continued or halted.\n\n## Performance\n\nThree groups, then two cards built from the closed trades:\n\n- **Returns**: Net profit, Gross profit / loss, Buy & hold return, Sharpe / Sortino.\n- **Risk**: Max drawdown, Max runup, Exposure.\n- **Trades**: Total / win rate, Avg trade / payoff, Fees paid (on perps also Maker fees paid, Taker fees paid, and Funding paid or Funding received), and Model-settled fills.\n- **Long vs short**: each side's net result, trade count and win rate.\n- **P&L distribution**: the spread of trade results, the largest win and loss, and the best and worst streaks.\n\nEvery number has an exact formula in the [stats reference](stats-reference.md).\n\n![The Performance tab: the Returns, Risk and Trades groups, then Long vs short and the P&L distribution](/wrun/images/tester-performance.png)\n\n- Three groups left to right: **Returns**, **Risk**, **Trades**; a strategy\n  on perps adds its fee and funding rows to Trades.\n- **Long vs short** splits the net result and the win rate by side; a side\n  without trades reads \"No trades\".\n- **P&L distribution** draws the closed trades from the largest loss to\n  the largest win, with the streaks under it.\n\n## Trades\n\n**Closed trades** come first, numbered, with side, quantity, entry and exit, PnL in cash and percent, cumulative PnL, and the exit reason under **Exit via** (`signal`, `stop`, `limit`, `trail`, `closeAll`, or **Liquidated**). A **± fill** badge marks a trade the fill model settled where one bar held both the stop and the target. **Open trades** (quantity, entry, entry price, unrealized PnL and fees) and **Pending orders** (id, side, type, quantity, price and legs) follow in their own sections. Hover a row to highlight its trade on the chart; click it to scroll the chart to the entry.\n\n![The Trades tab: eight closed trades with side, quantity, entry and exit bars, PnL, cumulative PnL and the exit reason under Exit via](/wrun/images/tester-trades.png)\n\n- **Exit via** reads the reason per row: `closeAll`, `stop` and `limit`\n  here; the fill badge on row 4 marks the trade the fill model settled.\n- The column headers sort; **Cum** runs the PnL down the table.\n- **Open trades** and **Pending orders** follow only when the run ends with\n  a position or a working order; this run ended flat.\n\n## On the chart\n\nEvery fill is a marker on the bar that filled it, colored by direction in the chart's own candle colors unless you pick others under **Trade markers**; a liquidation exit carries its own mark. Past 150 closed trades a strategy's markers cluster into count pills, and **Run details** says \"markers clustered · N trades\".\n\n## Run details\n\nThe info icon in the header opens the run's own disclosure:\n\n- **Interval**: the chart's interval.\n- **Depth**: \"Follows chart (recomputes as you pan)\". The run covers the candles the chart has loaded and recomputes as you pan; a chip in the header reads the bars it covered and the date of the last one.\n- **Bars**, **Fill model** (the declared `fillModel`) and **Compute time**.\n- The precision line: \"Fill precision: exact\" when no bar had to be settled by the fill model, \"Fill precision: bar resolution\" once one was. The chart attaches no finer-interval data to a strategy run, so a contested fill is always the fill model's call ([fill simulation](fill-simulation.md)).\n- On a perps strategy that held a position under `funding: \"data\"`: \"Funding data did not cover N bars\". The chart attaches no funding data, so nothing was charged ([perps](perps.md)).\n\n## Compare mode\n\nWith two or more visible strategies on the chart, **Compare** puts them side by side: a normalized equity chart, a table of Net profit, Win rate, Profit factor, Max DD, Sharpe and Trades per strategy plus a **Combined** column (the equal-notional sum of their PnL), and their **Pairwise correlation**. Trade markers step aside while it is on.\n\n## Strategy settings\n\nThe gear in the header (**Strategy settings**) opens the strategy's settings dialog. The broker's settings (capital, sizing, costs, fill model, perps) live in the file's `strategy({ ... })`, not in the Tester. Of those, only a setting the author linked to a param shows in the dialog, as a number field beside the file's other params, and changing it reruns the strategy over the same candles ([Writing strategies](writing-strategies.md)).\n\n## Live\n\nOn a live chart the newest bar is still forming. Live updates re-evaluate it on a copy of the committed broker, coalesced to at most about once a second rather than on every tick: nothing fills on the forming bar, and an order placed on it is counted as rejected. When the bar closes it is folded into the committed broker once, so what the panel shows at any moment equals a full run over the closed bars plus the forming bar's mark.\n\nA strategy published as **Protected** runs on OpenMarket's servers with the same broker at the same fidelity, and the Tester reads its result the same way ([Publishing](../functions/publishing.md)).\n",{"type":14,"children":15,"data":2438,"position":2440},"root",[16,26,29,30,47,48,127,128,147,148,322,323,340,341,496,497,674,675,689,690,884,885,968,969,984,985,999,1000,1161,1162,1199,1200,1218,1219,1357,1358,1372,1373,1610,1611,1628,1629,1801,1802,1817,1818,1874,1875,1889,1890,1903,1904,2156,2157,2172,2173,2253,2254,2269,2270,2347,2348,2364,2365,2380,2381],{"type":17,"value":18,"position":19},"comment"," source: docs/indicators/strategies/reading-the-tester.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit ",{"start":20,"end":23},{"line":21,"column":21,"offset":22},1,0,{"line":21,"column":24,"offset":25},136,135,{"type":27,"value":28},"text","\n",{"type":27,"value":28},{"type":31,"tagName":32,"properties":33,"children":34,"position":44},"element","p",{},[35],{"type":27,"value":36,"position":37},"The Strategy Tester is where a strategy's result lives on the chart: it docks under the chart whenever the chart holds a strategy, carries the trades, the equity curve and the stats, and marks each fill on the price series. This page is the map of the panel, and of where its honesty disclosures live.",{"start":38,"end":41},{"line":39,"column":21,"offset":40},5,168,{"line":39,"column":42,"offset":43},302,469,{"start":45,"end":46},{"line":39,"column":21,"offset":40},{"line":39,"column":42,"offset":43},{"type":27,"value":28},{"type":14,"children":49},[50],{"type":31,"tagName":51,"properties":52,"children":56,"data":-1},"pre",{"class":53,"style":54,"tabindex":55},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0",[57],{"type":31,"tagName":58,"properties":59,"children":62},"code",{"class":60},[61],"language-text",[63,73,74,82,83,91,92,100,101,109,110,118,119],{"type":31,"tagName":64,"properties":65,"children":67},"span",{"class":66},"line",[68],{"type":31,"tagName":64,"properties":69,"children":70},{},[71],{"type":27,"value":72},"Strategy Tester",{"type":27,"value":28},{"type":31,"tagName":64,"properties":75,"children":76},{"class":66},[77],{"type":31,"tagName":64,"properties":78,"children":79},{},[80],{"type":27,"value":81},"  Tabs          one per strategy: its name, its net result in percent, an eye, a menu",{"type":27,"value":28},{"type":31,"tagName":64,"properties":84,"children":85},{"class":66},[86],{"type":31,"tagName":64,"properties":87,"children":88},{},[89],{"type":27,"value":90},"  Header        Compare, the bars the run covered, Run details, Strategy settings",{"type":27,"value":28},{"type":31,"tagName":64,"properties":93,"children":94},{"class":66},[95],{"type":31,"tagName":64,"properties":96,"children":97},{},[98],{"type":27,"value":99},"  Overview      the headline stats beside the equity curve, a drawdown lane, Buy & hold",{"type":27,"value":28},{"type":31,"tagName":64,"properties":102,"children":103},{"class":66},[104],{"type":31,"tagName":64,"properties":105,"children":106},{},[107],{"type":27,"value":108},"                (a perps strategy adds Margin and Funding)",{"type":27,"value":28},{"type":31,"tagName":64,"properties":111,"children":112},{"class":66},[113],{"type":31,"tagName":64,"properties":114,"children":115},{},[116],{"type":27,"value":117},"  Performance   Returns, Risk, Trades, then Long vs short and the P&L distribution",{"type":27,"value":28},{"type":31,"tagName":64,"properties":120,"children":121},{"class":66},[122],{"type":31,"tagName":64,"properties":123,"children":124},{},[125],{"type":27,"value":126},"  Trades        Closed trades, Open trades, Pending orders",{"type":27,"value":28},{"type":31,"tagName":32,"properties":129,"children":130,"position":144},{},[131],{"type":31,"tagName":132,"properties":133,"children":136,"position":137},"img",{"src":134,"alt":135},"/wrun/images/tester-overview.png","The Strategy Tester expanded under the chart on its Overview tab: the strategy tab with its net result, the header, the headline stats beside the equity curve, and the fill markers with their rails on the price pane",[],{"start":138,"end":141},{"line":139,"column":21,"offset":140},17,957,{"line":139,"column":142,"offset":143},253,1209,{"start":145,"end":146},{"line":139,"column":21,"offset":140},{"line":139,"column":142,"offset":143},{"type":27,"value":28},{"type":31,"tagName":149,"properties":150,"children":151,"position":319},"ul",{},[152,153,220,221,300,301,318],{"type":27,"value":28},{"type":31,"tagName":154,"properties":155,"children":156,"position":216},"li",{},[157,167,185,192,209],{"type":27,"value":158,"position":159},"The strategy's tab at the top left carries its name and its net result;\nthe header holds ",{"start":160,"end":164},{"line":161,"column":162,"offset":163},19,3,1213,{"line":165,"column":165,"offset":166},20,1304,{"type":31,"tagName":168,"properties":169,"children":170,"position":180},"strong",{},[171],{"type":27,"value":172,"position":173},"Compare",{"start":174,"end":177},{"line":165,"column":175,"offset":176},22,1306,{"line":165,"column":178,"offset":179},29,1313,{"start":181,"end":182},{"line":165,"column":165,"offset":166},{"line":165,"column":183,"offset":184},31,1315,{"type":27,"value":186,"position":187},", the bars chip (\"1,029 bars · to Oct 4\"),\n",{"start":188,"end":189},{"line":165,"column":183,"offset":184},{"line":190,"column":21,"offset":191},21,1358,{"type":31,"tagName":168,"properties":193,"children":194,"position":203},{},[195],{"type":27,"value":196,"position":197},"Run details",{"start":198,"end":200},{"line":190,"column":39,"offset":199},1362,{"line":190,"column":201,"offset":202},16,1373,{"start":204,"end":206},{"line":190,"column":162,"offset":205},1360,{"line":190,"column":207,"offset":208},18,1375,{"type":27,"value":210,"position":211}," and the gear.",{"start":212,"end":213},{"line":190,"column":207,"offset":208},{"line":190,"column":214,"offset":215},32,1389,{"start":217,"end":219},{"line":161,"column":21,"offset":218},1211,{"line":190,"column":214,"offset":215},{"type":27,"value":28},{"type":31,"tagName":154,"properties":222,"children":223,"position":296},{},[224,241,249,266,274,289],{"type":31,"tagName":168,"properties":225,"children":226,"position":235},{},[227],{"type":27,"value":228,"position":229},"Overview",{"start":230,"end":232},{"line":175,"column":39,"offset":231},1394,{"line":175,"column":233,"offset":234},13,1402,{"start":236,"end":238},{"line":175,"column":162,"offset":237},1392,{"line":175,"column":239,"offset":240},15,1404,{"type":27,"value":242,"position":243},": the stats column (Net profit, Win rate, Profit factor, Max\ndrawdown, Sharpe, Trades) beside the equity curve, the ",{"start":244,"end":245},{"line":175,"column":239,"offset":240},{"line":246,"column":247,"offset":248},23,58,1522,{"type":31,"tagName":168,"properties":250,"children":251,"position":261},{},[252],{"type":27,"value":253,"position":254},"DD",{"start":255,"end":258},{"line":246,"column":256,"offset":257},60,1524,{"line":246,"column":259,"offset":260},62,1526,{"start":262,"end":263},{"line":246,"column":247,"offset":248},{"line":246,"column":264,"offset":265},64,1528,{"type":27,"value":267,"position":268}," lane under\nit and ",{"start":269,"end":270},{"line":246,"column":264,"offset":265},{"line":271,"column":272,"offset":273},24,10,1549,{"type":31,"tagName":168,"properties":275,"children":276,"position":285},{},[277],{"type":27,"value":278,"position":279},"Buy & hold",{"start":280,"end":283},{"line":271,"column":281,"offset":282},12,1551,{"line":271,"column":175,"offset":284},1561,{"start":286,"end":287},{"line":271,"column":272,"offset":273},{"line":271,"column":271,"offset":288},1563,{"type":27,"value":290,"position":291}," at the top right.",{"start":292,"end":293},{"line":271,"column":271,"offset":288},{"line":271,"column":294,"offset":295},42,1581,{"start":297,"end":299},{"line":175,"column":21,"offset":298},1390,{"line":271,"column":294,"offset":295},{"type":27,"value":28},{"type":31,"tagName":154,"properties":302,"children":303,"position":314},{},[304],{"type":27,"value":305,"position":306},"On the chart, each fill is an arrow on its bar; this strategy also draws\nthe stop and target rails of every trade, and its RSI in the pane below.",{"start":307,"end":310},{"line":308,"column":162,"offset":309},25,1584,{"line":311,"column":312,"offset":313},26,75,1731,{"start":315,"end":317},{"line":308,"column":21,"offset":316},1582,{"line":311,"column":312,"offset":313},{"type":27,"value":28},{"start":320,"end":321},{"line":161,"column":21,"offset":218},{"line":311,"column":312,"offset":313},{"type":27,"value":28},{"type":31,"tagName":324,"properties":325,"children":326,"position":336},"h2",{},[327],{"type":27,"value":328,"position":329},"Where it opens",{"start":330,"end":334},{"line":331,"column":332,"offset":333},28,4,1736,{"line":331,"column":207,"offset":335},1750,{"start":337,"end":339},{"line":331,"column":21,"offset":338},1733,{"line":331,"column":207,"offset":335},{"type":27,"value":28},{"type":31,"tagName":32,"properties":342,"children":343,"position":493},{},[344,353,368,375,392,399,416,423,440,446,462,469,486],{"type":27,"value":345,"position":346},"Press ",{"start":347,"end":350},{"line":348,"column":21,"offset":349},30,1752,{"line":348,"column":351,"offset":352},7,1758,{"type":31,"tagName":168,"properties":354,"children":355,"position":364},{},[356],{"type":27,"value":357,"position":358},"Backtest",{"start":359,"end":362},{"line":348,"column":360,"offset":361},9,1760,{"line":348,"column":139,"offset":363},1768,{"start":365,"end":366},{"line":348,"column":351,"offset":352},{"line":348,"column":161,"offset":367},1770,{"type":27,"value":369,"position":370}," in the editor, or add a published strategy from the chart's ",{"start":371,"end":372},{"line":348,"column":161,"offset":367},{"line":348,"column":373,"offset":374},80,1831,{"type":31,"tagName":168,"properties":376,"children":377,"position":387},{},[378],{"type":27,"value":379,"position":380},"Indicators",{"start":381,"end":384},{"line":348,"column":382,"offset":383},82,1833,{"line":348,"column":385,"offset":386},92,1843,{"start":388,"end":389},{"line":348,"column":373,"offset":374},{"line":348,"column":390,"offset":391},94,1845,{"type":27,"value":393,"position":394}," dialog, and the Tester docks under the chart. Collapsed, it is a strip: the strategy's name, a sparkline of its equity, and its ",{"start":395,"end":396},{"line":348,"column":390,"offset":391},{"line":348,"column":397,"offset":398},223,1974,{"type":31,"tagName":168,"properties":400,"children":401,"position":411},{},[402],{"type":27,"value":403,"position":404},"Net",{"start":405,"end":408},{"line":348,"column":406,"offset":407},225,1976,{"line":348,"column":409,"offset":410},228,1979,{"start":412,"end":413},{"line":348,"column":397,"offset":398},{"line":348,"column":414,"offset":415},230,1981,{"type":27,"value":417,"position":418},", ",{"start":419,"end":420},{"line":348,"column":414,"offset":415},{"line":348,"column":421,"offset":422},232,1983,{"type":31,"tagName":168,"properties":424,"children":425,"position":435},{},[426],{"type":27,"value":427,"position":428},"Win",{"start":429,"end":432},{"line":348,"column":430,"offset":431},234,1985,{"line":348,"column":433,"offset":434},237,1988,{"start":436,"end":437},{"line":348,"column":421,"offset":422},{"line":348,"column":438,"offset":439},239,1990,{"type":27,"value":417,"position":441},{"start":442,"end":443},{"line":348,"column":438,"offset":439},{"line":348,"column":444,"offset":445},241,1992,{"type":31,"tagName":168,"properties":447,"children":448,"position":457},{},[449],{"type":27,"value":253,"position":450},{"start":451,"end":454},{"line":348,"column":452,"offset":453},243,1994,{"line":348,"column":455,"offset":456},245,1996,{"start":458,"end":459},{"line":348,"column":444,"offset":445},{"line":348,"column":460,"offset":461},247,1998,{"type":27,"value":463,"position":464}," and ",{"start":465,"end":466},{"line":348,"column":460,"offset":461},{"line":348,"column":467,"offset":468},252,2003,{"type":31,"tagName":168,"properties":470,"children":471,"position":481},{},[472],{"type":27,"value":473,"position":474},"Trades",{"start":475,"end":478},{"line":348,"column":476,"offset":477},254,2005,{"line":348,"column":479,"offset":480},260,2011,{"start":482,"end":483},{"line":348,"column":467,"offset":468},{"line":348,"column":484,"offset":485},262,2013,{"type":27,"value":487,"position":488},". Click the strip to expand the panel, or open a strategy from the chip on its legend entry (\"Open ... in Strategy Tester\").",{"start":489,"end":490},{"line":348,"column":484,"offset":485},{"line":348,"column":491,"offset":492},386,2137,{"start":494,"end":495},{"line":348,"column":21,"offset":349},{"line":348,"column":491,"offset":492},{"type":27,"value":28},{"type":31,"tagName":32,"properties":498,"children":499,"position":671},{},[500,508,525,531,548,554,571,578,593,600,617,623,640,647,664],{"type":27,"value":501,"position":502},"Each strategy on the chart gets a tab with its name, its net result in percent, and an eye that hides its plots and trade markers together. The tab's menu has ",{"start":503,"end":505},{"line":214,"column":21,"offset":504},2139,{"line":214,"column":506,"offset":507},160,2298,{"type":31,"tagName":168,"properties":509,"children":510,"position":520},{},[511],{"type":27,"value":512,"position":513},"Remove from chart",{"start":514,"end":517},{"line":214,"column":515,"offset":516},162,2300,{"line":214,"column":518,"offset":519},179,2317,{"start":521,"end":522},{"line":214,"column":506,"offset":507},{"line":214,"column":523,"offset":524},181,2319,{"type":27,"value":417,"position":526},{"start":527,"end":528},{"line":214,"column":523,"offset":524},{"line":214,"column":529,"offset":530},183,2321,{"type":31,"tagName":168,"properties":532,"children":533,"position":543},{},[534],{"type":27,"value":535,"position":536},"Open settings",{"start":537,"end":540},{"line":214,"column":538,"offset":539},185,2323,{"line":214,"column":541,"offset":542},198,2336,{"start":544,"end":545},{"line":214,"column":529,"offset":530},{"line":214,"column":546,"offset":547},200,2338,{"type":27,"value":417,"position":549},{"start":550,"end":551},{"line":214,"column":546,"offset":547},{"line":214,"column":552,"offset":553},202,2340,{"type":31,"tagName":168,"properties":555,"children":556,"position":566},{},[557],{"type":27,"value":558,"position":559},"Hide markers",{"start":560,"end":563},{"line":214,"column":561,"offset":562},204,2342,{"line":214,"column":564,"offset":565},216,2354,{"start":567,"end":568},{"line":214,"column":552,"offset":553},{"line":214,"column":569,"offset":570},218,2356,{"type":27,"value":572,"position":573},", and ",{"start":574,"end":575},{"line":214,"column":569,"offset":570},{"line":214,"column":576,"offset":577},224,2362,{"type":31,"tagName":168,"properties":579,"children":580,"position":589},{},[581],{"type":27,"value":582,"position":583},"Trade markers",{"start":584,"end":587},{"line":214,"column":585,"offset":586},226,2364,{"line":214,"column":438,"offset":588},2377,{"start":590,"end":591},{"line":214,"column":576,"offset":577},{"line":214,"column":444,"offset":592},2379,{"type":27,"value":594,"position":595},": the marker shape (",{"start":596,"end":597},{"line":214,"column":444,"offset":592},{"line":214,"column":598,"offset":599},261,2399,{"type":31,"tagName":168,"properties":601,"children":602,"position":612},{},[603],{"type":27,"value":604,"position":605},"Chevron",{"start":606,"end":609},{"line":214,"column":607,"offset":608},263,2401,{"line":214,"column":610,"offset":611},270,2408,{"start":613,"end":614},{"line":214,"column":598,"offset":599},{"line":214,"column":615,"offset":616},272,2410,{"type":27,"value":417,"position":618},{"start":619,"end":620},{"line":214,"column":615,"offset":616},{"line":214,"column":621,"offset":622},274,2412,{"type":31,"tagName":168,"properties":624,"children":625,"position":635},{},[626],{"type":27,"value":627,"position":628},"Bubble",{"start":629,"end":632},{"line":214,"column":630,"offset":631},276,2414,{"line":214,"column":633,"offset":634},282,2420,{"start":636,"end":637},{"line":214,"column":621,"offset":622},{"line":214,"column":638,"offset":639},284,2422,{"type":27,"value":641,"position":642}," or ",{"start":643,"end":644},{"line":214,"column":638,"offset":639},{"line":214,"column":645,"offset":646},288,2426,{"type":31,"tagName":168,"properties":648,"children":649,"position":659},{},[650],{"type":27,"value":651,"position":652},"Badge",{"start":653,"end":656},{"line":214,"column":654,"offset":655},290,2428,{"line":214,"column":657,"offset":658},295,2433,{"start":660,"end":661},{"line":214,"column":645,"offset":646},{"line":214,"column":662,"offset":663},297,2435,{"type":27,"value":665,"position":666},"), its size, and the long and short colors.",{"start":667,"end":668},{"line":214,"column":662,"offset":663},{"line":214,"column":669,"offset":670},340,2478,{"start":672,"end":673},{"line":214,"column":21,"offset":504},{"line":214,"column":669,"offset":670},{"type":27,"value":28},{"type":31,"tagName":324,"properties":676,"children":677,"position":685},{},[678],{"type":27,"value":228,"position":679},{"start":680,"end":683},{"line":681,"column":332,"offset":682},34,2483,{"line":681,"column":281,"offset":684},2491,{"start":686,"end":688},{"line":681,"column":21,"offset":687},2480,{"line":681,"column":281,"offset":684},{"type":27,"value":28},{"type":31,"tagName":32,"properties":691,"children":692,"position":881},{},[693,701,717,723,740,747,764,770,786,793,810,816,832,838,853,860,874],{"type":27,"value":694,"position":695},"A column of headline stats, ",{"start":696,"end":699},{"line":697,"column":21,"offset":698},36,2493,{"line":697,"column":178,"offset":700},2521,{"type":31,"tagName":168,"properties":702,"children":703,"position":712},{},[704],{"type":27,"value":705,"position":706},"Net profit",{"start":707,"end":709},{"line":697,"column":183,"offset":708},2523,{"line":697,"column":710,"offset":711},41,2533,{"start":713,"end":714},{"line":697,"column":178,"offset":700},{"line":697,"column":715,"offset":716},43,2535,{"type":27,"value":718,"position":719}," (with its percent), ",{"start":720,"end":721},{"line":697,"column":715,"offset":716},{"line":697,"column":264,"offset":722},2556,{"type":31,"tagName":168,"properties":724,"children":725,"position":735},{},[726],{"type":27,"value":727,"position":728},"Win rate",{"start":729,"end":732},{"line":697,"column":730,"offset":731},66,2558,{"line":697,"column":733,"offset":734},74,2566,{"start":736,"end":737},{"line":697,"column":264,"offset":722},{"line":697,"column":738,"offset":739},76,2568,{"type":27,"value":741,"position":742}," (with wins and losses), ",{"start":743,"end":744},{"line":697,"column":738,"offset":739},{"line":697,"column":745,"offset":746},101,2593,{"type":31,"tagName":168,"properties":748,"children":749,"position":759},{},[750],{"type":27,"value":751,"position":752},"Profit factor",{"start":753,"end":756},{"line":697,"column":754,"offset":755},103,2595,{"line":697,"column":757,"offset":758},116,2608,{"start":760,"end":761},{"line":697,"column":745,"offset":746},{"line":697,"column":762,"offset":763},118,2610,{"type":27,"value":417,"position":765},{"start":766,"end":767},{"line":697,"column":762,"offset":763},{"line":697,"column":768,"offset":769},120,2612,{"type":31,"tagName":168,"properties":771,"children":772,"position":782},{},[773],{"type":27,"value":774,"position":775},"Max drawdown",{"start":776,"end":779},{"line":697,"column":777,"offset":778},122,2614,{"line":697,"column":780,"offset":781},134,2626,{"start":783,"end":784},{"line":697,"column":768,"offset":769},{"line":697,"column":24,"offset":785},2628,{"type":27,"value":787,"position":788}," (in percent and money), ",{"start":789,"end":790},{"line":697,"column":24,"offset":785},{"line":697,"column":791,"offset":792},161,2653,{"type":31,"tagName":168,"properties":794,"children":795,"position":805},{},[796],{"type":27,"value":797,"position":798},"Sharpe",{"start":799,"end":802},{"line":697,"column":800,"offset":801},163,2655,{"line":697,"column":803,"offset":804},169,2661,{"start":806,"end":807},{"line":697,"column":791,"offset":792},{"line":697,"column":808,"offset":809},171,2663,{"type":27,"value":463,"position":811},{"start":812,"end":813},{"line":697,"column":808,"offset":809},{"line":697,"column":814,"offset":815},176,2668,{"type":31,"tagName":168,"properties":817,"children":818,"position":827},{},[819],{"type":27,"value":473,"position":820},{"start":821,"end":824},{"line":697,"column":822,"offset":823},178,2670,{"line":697,"column":825,"offset":826},184,2676,{"start":828,"end":829},{"line":697,"column":814,"offset":815},{"line":697,"column":830,"offset":831},186,2678,{"type":27,"value":833,"position":834}," (with the exposure), beside the equity curve, which has a drawdown lane (",{"start":835,"end":836},{"line":697,"column":830,"offset":831},{"line":697,"column":479,"offset":837},2752,{"type":31,"tagName":168,"properties":839,"children":840,"position":848},{},[841],{"type":27,"value":253,"position":842},{"start":843,"end":845},{"line":697,"column":484,"offset":844},2754,{"line":697,"column":846,"offset":847},264,2756,{"start":849,"end":850},{"line":697,"column":479,"offset":837},{"line":697,"column":851,"offset":852},266,2758,{"type":27,"value":854,"position":855},") under it and a ",{"start":856,"end":857},{"line":697,"column":851,"offset":852},{"line":697,"column":858,"offset":859},283,2775,{"type":31,"tagName":168,"properties":861,"children":862,"position":870},{},[863],{"type":27,"value":278,"position":864},{"start":865,"end":868},{"line":697,"column":866,"offset":867},285,2777,{"line":697,"column":657,"offset":869},2787,{"start":871,"end":872},{"line":697,"column":858,"offset":859},{"line":697,"column":662,"offset":873},2789,{"type":27,"value":875,"position":876}," toggle that draws holding the market over the same bars. Hover the curve and the chart highlights the same bar.",{"start":877,"end":878},{"line":697,"column":662,"offset":873},{"line":697,"column":879,"offset":880},409,2901,{"start":882,"end":883},{"line":697,"column":21,"offset":698},{"line":697,"column":879,"offset":880},{"type":27,"value":28},{"type":31,"tagName":32,"properties":886,"children":887,"position":965},{},[888,896,912,919,936,942,958],{"type":27,"value":889,"position":890},"A perps strategy adds two small charts, ",{"start":891,"end":894},{"line":892,"column":21,"offset":893},38,2903,{"line":892,"column":710,"offset":895},2943,{"type":31,"tagName":168,"properties":897,"children":898,"position":907},{},[899],{"type":27,"value":900,"position":901},"Margin",{"start":902,"end":904},{"line":892,"column":715,"offset":903},2945,{"line":892,"column":905,"offset":906},49,2951,{"start":908,"end":909},{"line":892,"column":710,"offset":895},{"line":892,"column":910,"offset":911},51,2953,{"type":27,"value":913,"position":914}," (the margin committed to the open position at each bar) and ",{"start":915,"end":916},{"line":892,"column":910,"offset":911},{"line":892,"column":917,"offset":918},112,3014,{"type":31,"tagName":168,"properties":920,"children":921,"position":931},{},[922],{"type":27,"value":923,"position":924},"Funding",{"start":925,"end":928},{"line":892,"column":926,"offset":927},114,3016,{"line":892,"column":929,"offset":930},121,3023,{"start":932,"end":933},{"line":892,"column":917,"offset":918},{"line":892,"column":934,"offset":935},123,3025,{"type":27,"value":937,"position":938}," (the cumulative funding), each with ",{"start":939,"end":940},{"line":892,"column":934,"offset":935},{"line":892,"column":506,"offset":941},3062,{"type":31,"tagName":168,"properties":943,"children":944,"position":953},{},[945],{"type":27,"value":946,"position":947},"Show on chart",{"start":948,"end":950},{"line":892,"column":515,"offset":949},3064,{"line":892,"column":951,"offset":952},175,3077,{"start":954,"end":955},{"line":892,"column":506,"offset":941},{"line":892,"column":956,"offset":957},177,3079,{"type":27,"value":959,"position":960}," to project it onto the chart, and a line when a liquidation happened: when and at what price (or how many times, from the first), then whether the strategy continued or halted.",{"start":961,"end":962},{"line":892,"column":956,"offset":957},{"line":892,"column":963,"offset":964},354,3256,{"start":966,"end":967},{"line":892,"column":21,"offset":893},{"line":892,"column":963,"offset":964},{"type":27,"value":28},{"type":31,"tagName":324,"properties":970,"children":971,"position":980},{},[972],{"type":27,"value":973,"position":974},"Performance",{"start":975,"end":978},{"line":976,"column":332,"offset":977},40,3261,{"line":976,"column":239,"offset":979},3272,{"start":981,"end":983},{"line":976,"column":21,"offset":982},3258,{"line":976,"column":239,"offset":979},{"type":27,"value":28},{"type":31,"tagName":32,"properties":986,"children":987,"position":996},{},[988],{"type":27,"value":989,"position":990},"Three groups, then two cards built from the closed trades:",{"start":991,"end":993},{"line":294,"column":21,"offset":992},3274,{"line":294,"column":994,"offset":995},59,3332,{"start":997,"end":998},{"line":294,"column":21,"offset":992},{"line":294,"column":994,"offset":995},{"type":27,"value":28},{"type":31,"tagName":149,"properties":1001,"children":1002,"position":1158},{},[1003,1004,1035,1036,1067,1068,1096,1097,1126,1127,1157],{"type":27,"value":28},{"type":31,"tagName":154,"properties":1005,"children":1006,"position":1031},{},[1007,1024],{"type":31,"tagName":168,"properties":1008,"children":1009,"position":1018},{},[1010],{"type":27,"value":1011,"position":1012},"Returns",{"start":1013,"end":1016},{"line":1014,"column":39,"offset":1015},44,3338,{"line":1014,"column":281,"offset":1017},3345,{"start":1019,"end":1021},{"line":1014,"column":162,"offset":1020},3336,{"line":1014,"column":1022,"offset":1023},14,3347,{"type":27,"value":1025,"position":1026},": Net profit, Gross profit / loss, Buy & hold return, Sharpe / Sortino.",{"start":1027,"end":1028},{"line":1014,"column":1022,"offset":1023},{"line":1014,"column":1029,"offset":1030},85,3418,{"start":1032,"end":1034},{"line":1014,"column":21,"offset":1033},3334,{"line":1014,"column":1029,"offset":1030},{"type":27,"value":28},{"type":31,"tagName":154,"properties":1037,"children":1038,"position":1063},{},[1039,1056],{"type":31,"tagName":168,"properties":1040,"children":1041,"position":1050},{},[1042],{"type":27,"value":1043,"position":1044},"Risk",{"start":1045,"end":1048},{"line":1046,"column":39,"offset":1047},45,3423,{"line":1046,"column":360,"offset":1049},3427,{"start":1051,"end":1053},{"line":1046,"column":162,"offset":1052},3421,{"line":1046,"column":1054,"offset":1055},11,3429,{"type":27,"value":1057,"position":1058},": Max drawdown, Max runup, Exposure.",{"start":1059,"end":1060},{"line":1046,"column":1054,"offset":1055},{"line":1046,"column":1061,"offset":1062},47,3465,{"start":1064,"end":1066},{"line":1046,"column":21,"offset":1065},3419,{"line":1046,"column":1061,"offset":1062},{"type":27,"value":28},{"type":31,"tagName":154,"properties":1069,"children":1070,"position":1092},{},[1071,1086],{"type":31,"tagName":168,"properties":1072,"children":1073,"position":1081},{},[1074],{"type":27,"value":473,"position":1075},{"start":1076,"end":1079},{"line":1077,"column":39,"offset":1078},46,3470,{"line":1077,"column":1054,"offset":1080},3476,{"start":1082,"end":1084},{"line":1077,"column":162,"offset":1083},3468,{"line":1077,"column":233,"offset":1085},3478,{"type":27,"value":1087,"position":1088},": Total / win rate, Avg trade / payoff, Fees paid (on perps also Maker fees paid, Taker fees paid, and Funding paid or Funding received), and Model-settled fills.",{"start":1089,"end":1090},{"line":1077,"column":233,"offset":1085},{"line":1077,"column":951,"offset":1091},3640,{"start":1093,"end":1095},{"line":1077,"column":21,"offset":1094},3466,{"line":1077,"column":951,"offset":1091},{"type":27,"value":28},{"type":31,"tagName":154,"properties":1098,"children":1099,"position":1122},{},[1100,1115],{"type":31,"tagName":168,"properties":1101,"children":1102,"position":1110},{},[1103],{"type":27,"value":1104,"position":1105},"Long vs short",{"start":1106,"end":1108},{"line":1061,"column":39,"offset":1107},3645,{"line":1061,"column":207,"offset":1109},3658,{"start":1111,"end":1113},{"line":1061,"column":162,"offset":1112},3643,{"line":1061,"column":165,"offset":1114},3660,{"type":27,"value":1116,"position":1117},": each side's net result, trade count and win rate.",{"start":1118,"end":1119},{"line":1061,"column":165,"offset":1114},{"line":1061,"column":1120,"offset":1121},71,3711,{"start":1123,"end":1125},{"line":1061,"column":21,"offset":1124},3641,{"line":1061,"column":1120,"offset":1121},{"type":27,"value":28},{"type":31,"tagName":154,"properties":1128,"children":1129,"position":1153},{},[1130,1146],{"type":31,"tagName":168,"properties":1131,"children":1132,"position":1141},{},[1133],{"type":27,"value":1134,"position":1135},"P&L distribution",{"start":1136,"end":1139},{"line":1137,"column":39,"offset":1138},48,3716,{"line":1137,"column":190,"offset":1140},3732,{"start":1142,"end":1144},{"line":1137,"column":162,"offset":1143},3714,{"line":1137,"column":246,"offset":1145},3734,{"type":27,"value":1147,"position":1148},": the spread of trade results, the largest win and loss, and the best and worst streaks.",{"start":1149,"end":1150},{"line":1137,"column":246,"offset":1145},{"line":1137,"column":1151,"offset":1152},111,3822,{"start":1154,"end":1156},{"line":1137,"column":21,"offset":1155},3712,{"line":1137,"column":1151,"offset":1152},{"type":27,"value":28},{"start":1159,"end":1160},{"line":1014,"column":21,"offset":1033},{"line":1137,"column":1151,"offset":1152},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1163,"children":1164,"position":1196},{},[1165,1173,1190],{"type":27,"value":1166,"position":1167},"Every number has an exact formula in the ",{"start":1168,"end":1171},{"line":1169,"column":21,"offset":1170},50,3824,{"line":1169,"column":294,"offset":1172},3865,{"type":31,"tagName":1174,"properties":1175,"children":1177,"position":1185},"a",{"href":1176},"stats-reference.md",[1178],{"type":27,"value":1179,"position":1180},"stats reference",{"start":1181,"end":1183},{"line":1169,"column":715,"offset":1182},3866,{"line":1169,"column":247,"offset":1184},3881,{"start":1186,"end":1187},{"line":1169,"column":294,"offset":1172},{"line":1169,"column":1188,"offset":1189},79,3902,{"type":27,"value":1191,"position":1192},".",{"start":1193,"end":1194},{"line":1169,"column":1188,"offset":1189},{"line":1169,"column":373,"offset":1195},3903,{"start":1197,"end":1198},{"line":1169,"column":21,"offset":1170},{"line":1169,"column":373,"offset":1195},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1201,"children":1202,"position":1215},{},[1203],{"type":31,"tagName":132,"properties":1204,"children":1207,"position":1208},{"src":1205,"alt":1206},"/wrun/images/tester-performance.png","The Performance tab: the Returns, Risk and Trades groups, then Long vs short and the P&L distribution",[],{"start":1209,"end":1212},{"line":1210,"column":21,"offset":1211},52,3905,{"line":1210,"column":1213,"offset":1214},142,4046,{"start":1216,"end":1217},{"line":1210,"column":21,"offset":1211},{"line":1210,"column":1213,"offset":1214},{"type":27,"value":28},{"type":31,"tagName":149,"properties":1220,"children":1221,"position":1354},{},[1222,1223,1296,1297,1325,1326,1353],{"type":27,"value":28},{"type":31,"tagName":154,"properties":1224,"children":1225,"position":1292},{},[1226,1234,1248,1253,1266,1271,1285],{"type":27,"value":1227,"position":1228},"Three groups left to right: ",{"start":1229,"end":1232},{"line":1230,"column":162,"offset":1231},54,4050,{"line":1230,"column":183,"offset":1233},4078,{"type":31,"tagName":168,"properties":1235,"children":1236,"position":1244},{},[1237],{"type":27,"value":1011,"position":1238},{"start":1239,"end":1242},{"line":1230,"column":1240,"offset":1241},33,4080,{"line":1230,"column":976,"offset":1243},4087,{"start":1245,"end":1246},{"line":1230,"column":183,"offset":1233},{"line":1230,"column":294,"offset":1247},4089,{"type":27,"value":417,"position":1249},{"start":1250,"end":1251},{"line":1230,"column":294,"offset":1247},{"line":1230,"column":1014,"offset":1252},4091,{"type":31,"tagName":168,"properties":1254,"children":1255,"position":1262},{},[1256],{"type":27,"value":1043,"position":1257},{"start":1258,"end":1260},{"line":1230,"column":1077,"offset":1259},4093,{"line":1230,"column":1169,"offset":1261},4097,{"start":1263,"end":1264},{"line":1230,"column":1014,"offset":1252},{"line":1230,"column":1210,"offset":1265},4099,{"type":27,"value":417,"position":1267},{"start":1268,"end":1269},{"line":1230,"column":1210,"offset":1265},{"line":1230,"column":1230,"offset":1270},4101,{"type":31,"tagName":168,"properties":1272,"children":1273,"position":1281},{},[1274],{"type":27,"value":473,"position":1275},{"start":1276,"end":1279},{"line":1230,"column":1277,"offset":1278},56,4103,{"line":1230,"column":259,"offset":1280},4109,{"start":1282,"end":1283},{"line":1230,"column":1230,"offset":1270},{"line":1230,"column":264,"offset":1284},4111,{"type":27,"value":1286,"position":1287},"; a strategy\non perps adds its fee and funding rows to Trades.",{"start":1288,"end":1289},{"line":1230,"column":264,"offset":1284},{"line":1290,"column":1210,"offset":1291},55,4175,{"start":1293,"end":1295},{"line":1230,"column":21,"offset":1294},4048,{"line":1290,"column":1210,"offset":1291},{"type":27,"value":28},{"type":31,"tagName":154,"properties":1298,"children":1299,"position":1321},{},[1300,1314],{"type":31,"tagName":168,"properties":1301,"children":1302,"position":1309},{},[1303],{"type":27,"value":1104,"position":1304},{"start":1305,"end":1307},{"line":1277,"column":39,"offset":1306},4180,{"line":1277,"column":207,"offset":1308},4193,{"start":1310,"end":1312},{"line":1277,"column":162,"offset":1311},4178,{"line":1277,"column":165,"offset":1313},4195,{"type":27,"value":1315,"position":1316}," splits the net result and the win rate by side; a side\nwithout trades reads \"No trades\".",{"start":1317,"end":1318},{"line":1277,"column":165,"offset":1313},{"line":1319,"column":697,"offset":1320},57,4286,{"start":1322,"end":1324},{"line":1277,"column":21,"offset":1323},4176,{"line":1319,"column":697,"offset":1320},{"type":27,"value":28},{"type":31,"tagName":154,"properties":1327,"children":1328,"position":1349},{},[1329,1343],{"type":31,"tagName":168,"properties":1330,"children":1331,"position":1338},{},[1332],{"type":27,"value":1134,"position":1333},{"start":1334,"end":1336},{"line":247,"column":39,"offset":1335},4291,{"line":247,"column":190,"offset":1337},4307,{"start":1339,"end":1341},{"line":247,"column":162,"offset":1340},4289,{"line":247,"column":246,"offset":1342},4309,{"type":27,"value":1344,"position":1345}," draws the closed trades from the largest loss to\nthe largest win, with the streaks under it.",{"start":1346,"end":1347},{"line":247,"column":246,"offset":1342},{"line":994,"column":1077,"offset":1348},4404,{"start":1350,"end":1352},{"line":247,"column":21,"offset":1351},4287,{"line":994,"column":1077,"offset":1348},{"type":27,"value":28},{"start":1355,"end":1356},{"line":1230,"column":21,"offset":1294},{"line":994,"column":1077,"offset":1348},{"type":27,"value":28},{"type":31,"tagName":324,"properties":1359,"children":1360,"position":1368},{},[1361],{"type":27,"value":473,"position":1362},{"start":1363,"end":1366},{"line":1364,"column":332,"offset":1365},61,4409,{"line":1364,"column":272,"offset":1367},4415,{"start":1369,"end":1371},{"line":1364,"column":21,"offset":1370},4406,{"line":1364,"column":272,"offset":1367},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1374,"children":1375,"position":1607},{},[1376,1392,1399,1416,1423,1436,1441,1453,1458,1470,1475,1488,1494,1507,1514,1530,1537,1552,1559,1576,1583,1600],{"type":31,"tagName":168,"properties":1377,"children":1378,"position":1387},{},[1379],{"type":27,"value":1380,"position":1381},"Closed trades",{"start":1382,"end":1385},{"line":1383,"column":162,"offset":1384},63,4419,{"line":1383,"column":201,"offset":1386},4432,{"start":1388,"end":1390},{"line":1383,"column":21,"offset":1389},4417,{"line":1383,"column":207,"offset":1391},4434,{"type":27,"value":1393,"position":1394}," come first, numbered, with side, quantity, entry and exit, PnL in cash and percent, cumulative PnL, and the exit reason under ",{"start":1395,"end":1396},{"line":1383,"column":207,"offset":1391},{"line":1383,"column":1397,"offset":1398},145,4561,{"type":31,"tagName":168,"properties":1400,"children":1401,"position":1411},{},[1402],{"type":27,"value":1403,"position":1404},"Exit via",{"start":1405,"end":1408},{"line":1383,"column":1406,"offset":1407},147,4563,{"line":1383,"column":1409,"offset":1410},155,4571,{"start":1412,"end":1413},{"line":1383,"column":1397,"offset":1398},{"line":1383,"column":1414,"offset":1415},157,4573,{"type":27,"value":1417,"position":1418}," (",{"start":1419,"end":1420},{"line":1383,"column":1414,"offset":1415},{"line":1383,"column":1421,"offset":1422},159,4575,{"type":31,"tagName":58,"properties":1424,"children":1425,"position":1433},{},[1426],{"type":27,"value":1427,"position":1428},"signal",{"start":1429,"end":1430},{"line":1383,"column":1421,"offset":1422},{"line":1383,"column":1431,"offset":1432},167,4583,{"start":1434,"end":1435},{"line":1383,"column":1421,"offset":1422},{"line":1383,"column":1431,"offset":1432},{"type":27,"value":417,"position":1437},{"start":1438,"end":1439},{"line":1383,"column":1431,"offset":1432},{"line":1383,"column":803,"offset":1440},4585,{"type":31,"tagName":58,"properties":1442,"children":1443,"position":1450},{},[1444],{"type":27,"value":1445,"position":1446},"stop",{"start":1447,"end":1448},{"line":1383,"column":803,"offset":1440},{"line":1383,"column":951,"offset":1449},4591,{"start":1451,"end":1452},{"line":1383,"column":803,"offset":1440},{"line":1383,"column":951,"offset":1449},{"type":27,"value":417,"position":1454},{"start":1455,"end":1456},{"line":1383,"column":951,"offset":1449},{"line":1383,"column":956,"offset":1457},4593,{"type":31,"tagName":58,"properties":1459,"children":1460,"position":1467},{},[1461],{"type":27,"value":1462,"position":1463},"limit",{"start":1464,"end":1465},{"line":1383,"column":956,"offset":1457},{"line":1383,"column":825,"offset":1466},4600,{"start":1468,"end":1469},{"line":1383,"column":956,"offset":1457},{"line":1383,"column":825,"offset":1466},{"type":27,"value":417,"position":1471},{"start":1472,"end":1473},{"line":1383,"column":825,"offset":1466},{"line":1383,"column":830,"offset":1474},4602,{"type":31,"tagName":58,"properties":1476,"children":1477,"position":1485},{},[1478],{"type":27,"value":1479,"position":1480},"trail",{"start":1481,"end":1482},{"line":1383,"column":830,"offset":1474},{"line":1383,"column":1483,"offset":1484},193,4609,{"start":1486,"end":1487},{"line":1383,"column":830,"offset":1474},{"line":1383,"column":1483,"offset":1484},{"type":27,"value":417,"position":1489},{"start":1490,"end":1491},{"line":1383,"column":1483,"offset":1484},{"line":1383,"column":1492,"offset":1493},195,4611,{"type":31,"tagName":58,"properties":1495,"children":1496,"position":1504},{},[1497],{"type":27,"value":1498,"position":1499},"closeAll",{"start":1500,"end":1501},{"line":1383,"column":1492,"offset":1493},{"line":1383,"column":1502,"offset":1503},205,4621,{"start":1505,"end":1506},{"line":1383,"column":1492,"offset":1493},{"line":1383,"column":1502,"offset":1503},{"type":27,"value":1508,"position":1509},", or ",{"start":1510,"end":1511},{"line":1383,"column":1502,"offset":1503},{"line":1383,"column":1512,"offset":1513},210,4626,{"type":31,"tagName":168,"properties":1515,"children":1516,"position":1526},{},[1517],{"type":27,"value":1518,"position":1519},"Liquidated",{"start":1520,"end":1523},{"line":1383,"column":1521,"offset":1522},212,4628,{"line":1383,"column":1524,"offset":1525},222,4638,{"start":1527,"end":1528},{"line":1383,"column":1512,"offset":1513},{"line":1383,"column":576,"offset":1529},4640,{"type":27,"value":1531,"position":1532},"). A ",{"start":1533,"end":1534},{"line":1383,"column":576,"offset":1529},{"line":1383,"column":1535,"offset":1536},229,4645,{"type":31,"tagName":168,"properties":1538,"children":1539,"position":1548},{},[1540],{"type":27,"value":1541,"position":1542},"± fill",{"start":1543,"end":1546},{"line":1383,"column":1544,"offset":1545},231,4647,{"line":1383,"column":433,"offset":1547},4653,{"start":1549,"end":1550},{"line":1383,"column":1535,"offset":1536},{"line":1383,"column":438,"offset":1551},4655,{"type":27,"value":1553,"position":1554}," badge marks a trade the fill model settled where one bar held both the stop and the target. ",{"start":1555,"end":1556},{"line":1383,"column":438,"offset":1551},{"line":1383,"column":1557,"offset":1558},332,4748,{"type":31,"tagName":168,"properties":1560,"children":1561,"position":1571},{},[1562],{"type":27,"value":1563,"position":1564},"Open trades",{"start":1565,"end":1568},{"line":1383,"column":1566,"offset":1567},334,4750,{"line":1383,"column":1569,"offset":1570},345,4761,{"start":1572,"end":1573},{"line":1383,"column":1557,"offset":1558},{"line":1383,"column":1574,"offset":1575},347,4763,{"type":27,"value":1577,"position":1578}," (quantity, entry, entry price, unrealized PnL and fees) and ",{"start":1579,"end":1580},{"line":1383,"column":1574,"offset":1575},{"line":1383,"column":1581,"offset":1582},408,4824,{"type":31,"tagName":168,"properties":1584,"children":1585,"position":1595},{},[1586],{"type":27,"value":1587,"position":1588},"Pending orders",{"start":1589,"end":1592},{"line":1383,"column":1590,"offset":1591},410,4826,{"line":1383,"column":1593,"offset":1594},424,4840,{"start":1596,"end":1597},{"line":1383,"column":1581,"offset":1582},{"line":1383,"column":1598,"offset":1599},426,4842,{"type":27,"value":1601,"position":1602}," (id, side, type, quantity, price and legs) follow in their own sections. Hover a row to highlight its trade on the chart; click it to scroll the chart to the entry.",{"start":1603,"end":1604},{"line":1383,"column":1598,"offset":1599},{"line":1383,"column":1605,"offset":1606},591,5007,{"start":1608,"end":1609},{"line":1383,"column":21,"offset":1389},{"line":1383,"column":1605,"offset":1606},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1612,"children":1613,"position":1625},{},[1614],{"type":31,"tagName":132,"properties":1615,"children":1618,"position":1619},{"src":1616,"alt":1617},"/wrun/images/tester-trades.png","The Trades tab: eight closed trades with side, quantity, entry and exit bars, PnL, cumulative PnL and the exit reason under Exit via",[],{"start":1620,"end":1623},{"line":1621,"column":21,"offset":1622},65,5009,{"line":1621,"column":40,"offset":1624},5176,{"start":1626,"end":1627},{"line":1621,"column":21,"offset":1622},{"line":1621,"column":40,"offset":1624},{"type":27,"value":28},{"type":31,"tagName":149,"properties":1630,"children":1631,"position":1798},{},[1632,1633,1712,1713,1749,1750,1797],{"type":27,"value":28},{"type":31,"tagName":154,"properties":1634,"children":1635,"position":1708},{},[1636,1651,1657,1668,1673,1684,1689,1701],{"type":31,"tagName":168,"properties":1637,"children":1638,"position":1646},{},[1639],{"type":27,"value":1403,"position":1640},{"start":1641,"end":1644},{"line":1642,"column":39,"offset":1643},67,5182,{"line":1642,"column":233,"offset":1645},5190,{"start":1647,"end":1649},{"line":1642,"column":162,"offset":1648},5180,{"line":1642,"column":239,"offset":1650},5192,{"type":27,"value":1652,"position":1653}," reads the reason per row: ",{"start":1654,"end":1655},{"line":1642,"column":239,"offset":1650},{"line":1642,"column":294,"offset":1656},5219,{"type":31,"tagName":58,"properties":1658,"children":1659,"position":1665},{},[1660],{"type":27,"value":1498,"position":1661},{"start":1662,"end":1663},{"line":1642,"column":294,"offset":1656},{"line":1642,"column":1210,"offset":1664},5229,{"start":1666,"end":1667},{"line":1642,"column":294,"offset":1656},{"line":1642,"column":1210,"offset":1664},{"type":27,"value":417,"position":1669},{"start":1670,"end":1671},{"line":1642,"column":1210,"offset":1664},{"line":1642,"column":1230,"offset":1672},5231,{"type":31,"tagName":58,"properties":1674,"children":1675,"position":1681},{},[1676],{"type":27,"value":1445,"position":1677},{"start":1678,"end":1679},{"line":1642,"column":1230,"offset":1672},{"line":1642,"column":256,"offset":1680},5237,{"start":1682,"end":1683},{"line":1642,"column":1230,"offset":1672},{"line":1642,"column":256,"offset":1680},{"type":27,"value":463,"position":1685},{"start":1686,"end":1687},{"line":1642,"column":256,"offset":1680},{"line":1642,"column":1621,"offset":1688},5242,{"type":31,"tagName":58,"properties":1690,"children":1691,"position":1698},{},[1692],{"type":27,"value":1462,"position":1693},{"start":1694,"end":1695},{"line":1642,"column":1621,"offset":1688},{"line":1642,"column":1696,"offset":1697},72,5249,{"start":1699,"end":1700},{"line":1642,"column":1621,"offset":1688},{"line":1642,"column":1696,"offset":1697},{"type":27,"value":1702,"position":1703},"\nhere; the fill badge on row 4 marks the trade the fill model settled.",{"start":1704,"end":1705},{"line":1642,"column":1696,"offset":1697},{"line":1706,"column":1696,"offset":1707},68,5321,{"start":1709,"end":1711},{"line":1642,"column":21,"offset":1710},5178,{"line":1706,"column":1696,"offset":1707},{"type":27,"value":28},{"type":31,"tagName":154,"properties":1714,"children":1715,"position":1745},{},[1716,1724,1739],{"type":27,"value":1717,"position":1718},"The column headers sort; ",{"start":1719,"end":1722},{"line":1720,"column":162,"offset":1721},69,5324,{"line":1720,"column":331,"offset":1723},5349,{"type":31,"tagName":168,"properties":1725,"children":1726,"position":1734},{},[1727],{"type":27,"value":1728,"position":1729},"Cum",{"start":1730,"end":1732},{"line":1720,"column":348,"offset":1731},5351,{"line":1720,"column":1240,"offset":1733},5354,{"start":1735,"end":1736},{"line":1720,"column":331,"offset":1723},{"line":1720,"column":1737,"offset":1738},35,5356,{"type":27,"value":1740,"position":1741}," runs the PnL down the table.",{"start":1742,"end":1743},{"line":1720,"column":1737,"offset":1738},{"line":1720,"column":264,"offset":1744},5385,{"start":1746,"end":1748},{"line":1720,"column":21,"offset":1747},5322,{"line":1720,"column":264,"offset":1744},{"type":27,"value":28},{"type":31,"tagName":154,"properties":1751,"children":1752,"position":1793},{},[1753,1768,1773,1787],{"type":31,"tagName":168,"properties":1754,"children":1755,"position":1763},{},[1756],{"type":27,"value":1563,"position":1757},{"start":1758,"end":1761},{"line":1759,"column":39,"offset":1760},70,5390,{"line":1759,"column":201,"offset":1762},5401,{"start":1764,"end":1766},{"line":1759,"column":162,"offset":1765},5388,{"line":1759,"column":207,"offset":1767},5403,{"type":27,"value":463,"position":1769},{"start":1770,"end":1771},{"line":1759,"column":207,"offset":1767},{"line":1759,"column":246,"offset":1772},5408,{"type":31,"tagName":168,"properties":1774,"children":1775,"position":1783},{},[1776],{"type":27,"value":1587,"position":1777},{"start":1778,"end":1780},{"line":1759,"column":308,"offset":1779},5410,{"line":1759,"column":1781,"offset":1782},39,5424,{"start":1784,"end":1785},{"line":1759,"column":246,"offset":1772},{"line":1759,"column":710,"offset":1786},5426,{"type":27,"value":1788,"position":1789}," follow only when the run ends with\na position or a working order; this run ended flat.",{"start":1790,"end":1791},{"line":1759,"column":710,"offset":1786},{"line":1120,"column":1230,"offset":1792},5515,{"start":1794,"end":1796},{"line":1759,"column":21,"offset":1795},5386,{"line":1120,"column":1230,"offset":1792},{"type":27,"value":28},{"start":1799,"end":1800},{"line":1642,"column":21,"offset":1710},{"line":1120,"column":1230,"offset":1792},{"type":27,"value":28},{"type":31,"tagName":324,"properties":1803,"children":1804,"position":1813},{},[1805],{"type":27,"value":1806,"position":1807},"On the chart",{"start":1808,"end":1811},{"line":1809,"column":332,"offset":1810},73,5520,{"line":1809,"column":201,"offset":1812},5532,{"start":1814,"end":1816},{"line":1809,"column":21,"offset":1815},5517,{"line":1809,"column":201,"offset":1812},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1819,"children":1820,"position":1871},{},[1821,1828,1843,1850,1864],{"type":27,"value":1822,"position":1823},"Every fill is a marker on the bar that filled it, colored by direction in the chart's own candle colors unless you pick others under ",{"start":1824,"end":1826},{"line":312,"column":21,"offset":1825},5534,{"line":312,"column":780,"offset":1827},5667,{"type":31,"tagName":168,"properties":1829,"children":1830,"position":1838},{},[1831],{"type":27,"value":582,"position":1832},{"start":1833,"end":1835},{"line":312,"column":24,"offset":1834},5669,{"line":312,"column":1836,"offset":1837},149,5682,{"start":1839,"end":1840},{"line":312,"column":780,"offset":1827},{"line":312,"column":1841,"offset":1842},151,5684,{"type":27,"value":1844,"position":1845},"; a liquidation exit carries its own mark. Past 150 closed trades a strategy's markers cluster into count pills, and ",{"start":1846,"end":1847},{"line":312,"column":1841,"offset":1842},{"line":312,"column":1848,"offset":1849},268,5801,{"type":31,"tagName":168,"properties":1851,"children":1852,"position":1860},{},[1853],{"type":27,"value":196,"position":1854},{"start":1855,"end":1857},{"line":312,"column":610,"offset":1856},5803,{"line":312,"column":1858,"offset":1859},281,5814,{"start":1861,"end":1862},{"line":312,"column":1848,"offset":1849},{"line":312,"column":858,"offset":1863},5816,{"type":27,"value":1865,"position":1866}," says \"markers clustered · N trades\".",{"start":1867,"end":1868},{"line":312,"column":858,"offset":1863},{"line":312,"column":1869,"offset":1870},320,5853,{"start":1872,"end":1873},{"line":312,"column":21,"offset":1825},{"line":312,"column":1869,"offset":1870},{"type":27,"value":28},{"type":31,"tagName":324,"properties":1876,"children":1877,"position":1885},{},[1878],{"type":27,"value":196,"position":1879},{"start":1880,"end":1883},{"line":1881,"column":332,"offset":1882},77,5858,{"line":1881,"column":239,"offset":1884},5869,{"start":1886,"end":1888},{"line":1881,"column":21,"offset":1887},5855,{"line":1881,"column":239,"offset":1884},{"type":27,"value":28},{"type":31,"tagName":32,"properties":1891,"children":1892,"position":1900},{},[1893],{"type":27,"value":1894,"position":1895},"The info icon in the header opens the run's own disclosure:",{"start":1896,"end":1898},{"line":1188,"column":21,"offset":1897},5871,{"line":1188,"column":256,"offset":1899},5930,{"start":1901,"end":1902},{"line":1188,"column":21,"offset":1897},{"line":1188,"column":256,"offset":1899},{"type":27,"value":28},{"type":31,"tagName":149,"properties":1905,"children":1906,"position":2153},{},[1907,1908,1937,1938,1967,1968,2055,2056,2097,2098,2152],{"type":27,"value":28},{"type":31,"tagName":154,"properties":1909,"children":1910,"position":1933},{},[1911,1927],{"type":31,"tagName":168,"properties":1912,"children":1913,"position":1922},{},[1914],{"type":27,"value":1915,"position":1916},"Interval",{"start":1917,"end":1920},{"line":1918,"column":39,"offset":1919},81,5936,{"line":1918,"column":233,"offset":1921},5944,{"start":1923,"end":1925},{"line":1918,"column":162,"offset":1924},5934,{"line":1918,"column":239,"offset":1926},5946,{"type":27,"value":1928,"position":1929},": the chart's interval.",{"start":1930,"end":1931},{"line":1918,"column":239,"offset":1926},{"line":1918,"column":892,"offset":1932},5969,{"start":1934,"end":1936},{"line":1918,"column":21,"offset":1935},5932,{"line":1918,"column":892,"offset":1932},{"type":27,"value":28},{"type":31,"tagName":154,"properties":1939,"children":1940,"position":1963},{},[1941,1956],{"type":31,"tagName":168,"properties":1942,"children":1943,"position":1951},{},[1944],{"type":27,"value":1945,"position":1946},"Depth",{"start":1947,"end":1949},{"line":382,"column":39,"offset":1948},5974,{"line":382,"column":272,"offset":1950},5979,{"start":1952,"end":1954},{"line":382,"column":162,"offset":1953},5972,{"line":382,"column":281,"offset":1955},5981,{"type":27,"value":1957,"position":1958},": \"Follows chart (recomputes as you pan)\". The run covers the candles the chart has loaded and recomputes as you pan; a chip in the header reads the bars it covered and the date of the last one.",{"start":1959,"end":1960},{"line":382,"column":281,"offset":1955},{"line":382,"column":1961,"offset":1962},206,6175,{"start":1964,"end":1966},{"line":382,"column":21,"offset":1965},5970,{"line":382,"column":1961,"offset":1962},{"type":27,"value":28},{"type":31,"tagName":154,"properties":1969,"children":1970,"position":2051},{},[1971,1987,1992,2007,2013,2026,2032,2046],{"type":31,"tagName":168,"properties":1972,"children":1973,"position":1982},{},[1974],{"type":27,"value":1975,"position":1976},"Bars",{"start":1977,"end":1980},{"line":1978,"column":39,"offset":1979},83,6180,{"line":1978,"column":360,"offset":1981},6184,{"start":1983,"end":1985},{"line":1978,"column":162,"offset":1984},6178,{"line":1978,"column":1054,"offset":1986},6186,{"type":27,"value":417,"position":1988},{"start":1989,"end":1990},{"line":1978,"column":1054,"offset":1986},{"line":1978,"column":233,"offset":1991},6188,{"type":31,"tagName":168,"properties":1993,"children":1994,"position":2002},{},[1995],{"type":27,"value":1996,"position":1997},"Fill model",{"start":1998,"end":2000},{"line":1978,"column":239,"offset":1999},6190,{"line":1978,"column":308,"offset":2001},6200,{"start":2003,"end":2004},{"line":1978,"column":233,"offset":1991},{"line":1978,"column":2005,"offset":2006},27,6202,{"type":27,"value":2008,"position":2009}," (the declared ",{"start":2010,"end":2011},{"line":1978,"column":2005,"offset":2006},{"line":1978,"column":294,"offset":2012},6217,{"type":31,"tagName":58,"properties":2014,"children":2015,"position":2023},{},[2016],{"type":27,"value":2017,"position":2018},"fillModel",{"start":2019,"end":2020},{"line":1978,"column":294,"offset":2012},{"line":1978,"column":2021,"offset":2022},53,6228,{"start":2024,"end":2025},{"line":1978,"column":294,"offset":2012},{"line":1978,"column":2021,"offset":2022},{"type":27,"value":2027,"position":2028},") and ",{"start":2029,"end":2030},{"line":1978,"column":2021,"offset":2022},{"line":1978,"column":994,"offset":2031},6234,{"type":31,"tagName":168,"properties":2033,"children":2034,"position":2042},{},[2035],{"type":27,"value":2036,"position":2037},"Compute time",{"start":2038,"end":2040},{"line":1978,"column":1364,"offset":2039},6236,{"line":1978,"column":1809,"offset":2041},6248,{"start":2043,"end":2044},{"line":1978,"column":994,"offset":2031},{"line":1978,"column":312,"offset":2045},6250,{"type":27,"value":1191,"position":2047},{"start":2048,"end":2049},{"line":1978,"column":312,"offset":2045},{"line":1978,"column":738,"offset":2050},6251,{"start":2052,"end":2054},{"line":1978,"column":21,"offset":2053},6176,{"line":1978,"column":738,"offset":2050},{"type":27,"value":28},{"type":31,"tagName":154,"properties":2057,"children":2058,"position":2093},{},[2059,2068,2086],{"type":27,"value":2060,"position":2061},"The precision line: \"Fill precision: exact\" when no bar had to be settled by the fill model, \"Fill precision: bar resolution\" once one was. The chart attaches no finer-interval data to a strategy run, so a contested fill is always the fill model's call (",{"start":2062,"end":2065},{"line":2063,"column":162,"offset":2064},84,6254,{"line":2063,"column":2066,"offset":2067},257,6508,{"type":31,"tagName":1174,"properties":2069,"children":2071,"position":2081},{"href":2070},"fill-simulation.md",[2072],{"type":27,"value":2073,"position":2074},"fill simulation",{"start":2075,"end":2078},{"line":2063,"column":2076,"offset":2077},258,6509,{"line":2063,"column":2079,"offset":2080},273,6524,{"start":2082,"end":2083},{"line":2063,"column":2066,"offset":2067},{"line":2063,"column":2084,"offset":2085},294,6545,{"type":27,"value":2087,"position":2088},").",{"start":2089,"end":2090},{"line":2063,"column":2084,"offset":2085},{"line":2063,"column":2091,"offset":2092},296,6547,{"start":2094,"end":2096},{"line":2063,"column":21,"offset":2095},6252,{"line":2063,"column":2091,"offset":2092},{"type":27,"value":28},{"type":31,"tagName":154,"properties":2099,"children":2100,"position":2148},{},[2101,2108,2120,2127,2143],{"type":27,"value":2102,"position":2103},"On a perps strategy that held a position under ",{"start":2104,"end":2106},{"line":1029,"column":162,"offset":2105},6550,{"line":1029,"column":1169,"offset":2107},6597,{"type":31,"tagName":58,"properties":2109,"children":2110,"position":2117},{},[2111],{"type":27,"value":2112,"position":2113},"funding: \"data\"",{"start":2114,"end":2115},{"line":1029,"column":1169,"offset":2107},{"line":1029,"column":1642,"offset":2116},6614,{"start":2118,"end":2119},{"line":1029,"column":1169,"offset":2107},{"line":1029,"column":1642,"offset":2116},{"type":27,"value":2121,"position":2122},": \"Funding data did not cover N bars\". The chart attaches no funding data, so nothing was charged (",{"start":2123,"end":2124},{"line":1029,"column":1642,"offset":2116},{"line":1029,"column":2125,"offset":2126},166,6713,{"type":31,"tagName":1174,"properties":2128,"children":2130,"position":2139},{"href":2129},"perps.md",[2131],{"type":27,"value":2132,"position":2133},"perps",{"start":2134,"end":2136},{"line":1029,"column":1431,"offset":2135},6714,{"line":1029,"column":2137,"offset":2138},172,6719,{"start":2140,"end":2141},{"line":1029,"column":2125,"offset":2126},{"line":1029,"column":529,"offset":2142},6730,{"type":27,"value":2087,"position":2144},{"start":2145,"end":2146},{"line":1029,"column":529,"offset":2142},{"line":1029,"column":538,"offset":2147},6732,{"start":2149,"end":2151},{"line":1029,"column":21,"offset":2150},6548,{"line":1029,"column":538,"offset":2147},{"type":27,"value":28},{"start":2154,"end":2155},{"line":1918,"column":21,"offset":1935},{"line":1029,"column":538,"offset":2147},{"type":27,"value":28},{"type":31,"tagName":324,"properties":2158,"children":2159,"position":2168},{},[2160],{"type":27,"value":2161,"position":2162},"Compare mode",{"start":2163,"end":2166},{"line":2164,"column":332,"offset":2165},87,6737,{"line":2164,"column":201,"offset":2167},6749,{"start":2169,"end":2171},{"line":2164,"column":21,"offset":2170},6734,{"line":2164,"column":201,"offset":2167},{"type":27,"value":28},{"type":31,"tagName":32,"properties":2174,"children":2175,"position":2250},{},[2176,2184,2197,2204,2219,2226,2243],{"type":27,"value":2177,"position":2178},"With two or more visible strategies on the chart, ",{"start":2179,"end":2182},{"line":2180,"column":21,"offset":2181},89,6751,{"line":2180,"column":910,"offset":2183},6801,{"type":31,"tagName":168,"properties":2185,"children":2186,"position":2193},{},[2187],{"type":27,"value":172,"position":2188},{"start":2189,"end":2191},{"line":2180,"column":2021,"offset":2190},6803,{"line":2180,"column":256,"offset":2192},6810,{"start":2194,"end":2195},{"line":2180,"column":910,"offset":2183},{"line":2180,"column":259,"offset":2196},6812,{"type":27,"value":2198,"position":2199}," puts them side by side: a normalized equity chart, a table of Net profit, Win rate, Profit factor, Max DD, Sharpe and Trades per strategy plus a ",{"start":2200,"end":2201},{"line":2180,"column":259,"offset":2196},{"line":2180,"column":2202,"offset":2203},208,6958,{"type":31,"tagName":168,"properties":2205,"children":2206,"position":2214},{},[2207],{"type":27,"value":2208,"position":2209},"Combined",{"start":2210,"end":2212},{"line":2180,"column":1512,"offset":2211},6960,{"line":2180,"column":569,"offset":2213},6968,{"start":2215,"end":2216},{"line":2180,"column":2202,"offset":2203},{"line":2180,"column":2217,"offset":2218},220,6970,{"type":27,"value":2220,"position":2221}," column (the equal-notional sum of their PnL), and their ",{"start":2222,"end":2223},{"line":2180,"column":2217,"offset":2218},{"line":2180,"column":2224,"offset":2225},277,7027,{"type":31,"tagName":168,"properties":2227,"children":2228,"position":2238},{},[2229],{"type":27,"value":2230,"position":2231},"Pairwise correlation",{"start":2232,"end":2235},{"line":2180,"column":2233,"offset":2234},279,7029,{"line":2180,"column":2236,"offset":2237},299,7049,{"start":2239,"end":2240},{"line":2180,"column":2224,"offset":2225},{"line":2180,"column":2241,"offset":2242},301,7051,{"type":27,"value":2244,"position":2245},". Trade markers step aside while it is on.",{"start":2246,"end":2247},{"line":2180,"column":2241,"offset":2242},{"line":2180,"column":2248,"offset":2249},343,7093,{"start":2251,"end":2252},{"line":2180,"column":21,"offset":2181},{"line":2180,"column":2248,"offset":2249},{"type":27,"value":28},{"type":31,"tagName":324,"properties":2255,"children":2256,"position":2265},{},[2257],{"type":27,"value":2258,"position":2259},"Strategy settings",{"start":2260,"end":2263},{"line":2261,"column":332,"offset":2262},91,7098,{"line":2261,"column":190,"offset":2264},7115,{"start":2266,"end":2268},{"line":2261,"column":21,"offset":2267},7095,{"line":2261,"column":190,"offset":2264},{"type":27,"value":28},{"type":31,"tagName":32,"properties":2271,"children":2272,"position":2344},{},[2273,2281,2294,2300,2313,2320,2338],{"type":27,"value":2274,"position":2275},"The gear in the header (",{"start":2276,"end":2279},{"line":2277,"column":21,"offset":2278},93,7117,{"line":2277,"column":308,"offset":2280},7141,{"type":31,"tagName":168,"properties":2282,"children":2283,"position":2290},{},[2284],{"type":27,"value":2258,"position":2285},{"start":2286,"end":2288},{"line":2277,"column":2005,"offset":2287},7143,{"line":2277,"column":1014,"offset":2289},7160,{"start":2291,"end":2292},{"line":2277,"column":308,"offset":2280},{"line":2277,"column":1077,"offset":2293},7162,{"type":27,"value":2295,"position":2296},") opens the strategy's settings dialog. The broker's settings (capital, sizing, costs, fill model, perps) live in the file's ",{"start":2297,"end":2298},{"line":2277,"column":1077,"offset":2293},{"line":2277,"column":808,"offset":2299},7287,{"type":31,"tagName":58,"properties":2301,"children":2302,"position":2310},{},[2303],{"type":27,"value":2304,"position":2305},"strategy({ ... })",{"start":2306,"end":2307},{"line":2277,"column":808,"offset":2299},{"line":2277,"column":2308,"offset":2309},190,7306,{"start":2311,"end":2312},{"line":2277,"column":808,"offset":2299},{"line":2277,"column":2308,"offset":2309},{"type":27,"value":2314,"position":2315},", not in the Tester. Of those, only a setting the author linked to a param shows in the dialog, as a number field beside the file's other params, and changing it reruns the strategy over the same candles (",{"start":2316,"end":2317},{"line":2277,"column":2308,"offset":2309},{"line":2277,"column":2318,"offset":2319},395,7511,{"type":31,"tagName":1174,"properties":2321,"children":2323,"position":2333},{"href":2322},"writing-strategies.md",[2324],{"type":27,"value":2325,"position":2326},"Writing strategies",{"start":2327,"end":2330},{"line":2277,"column":2328,"offset":2329},396,7512,{"line":2277,"column":2331,"offset":2332},414,7530,{"start":2334,"end":2335},{"line":2277,"column":2318,"offset":2319},{"line":2277,"column":2336,"offset":2337},438,7554,{"type":27,"value":2087,"position":2339},{"start":2340,"end":2341},{"line":2277,"column":2336,"offset":2337},{"line":2277,"column":2342,"offset":2343},440,7556,{"start":2345,"end":2346},{"line":2277,"column":21,"offset":2278},{"line":2277,"column":2342,"offset":2343},{"type":27,"value":28},{"type":31,"tagName":324,"properties":2349,"children":2350,"position":2360},{},[2351],{"type":27,"value":2352,"position":2353},"Live",{"start":2354,"end":2357},{"line":2355,"column":332,"offset":2356},95,7561,{"line":2355,"column":2358,"offset":2359},8,7565,{"start":2361,"end":2363},{"line":2355,"column":21,"offset":2362},7558,{"line":2355,"column":2358,"offset":2359},{"type":27,"value":28},{"type":31,"tagName":32,"properties":2366,"children":2367,"position":2377},{},[2368],{"type":27,"value":2369,"position":2370},"On a live chart the newest bar is still forming. Live updates re-evaluate it on a copy of the committed broker, coalesced to at most about once a second rather than on every tick: nothing fills on the forming bar, and an order placed on it is counted as rejected. When the bar closes it is folded into the committed broker once, so what the panel shows at any moment equals a full run over the closed bars plus the forming bar's mark.",{"start":2371,"end":2374},{"line":2372,"column":21,"offset":2373},97,7567,{"line":2372,"column":2375,"offset":2376},435,8001,{"start":2378,"end":2379},{"line":2372,"column":21,"offset":2373},{"line":2372,"column":2375,"offset":2376},{"type":27,"value":28},{"type":31,"tagName":32,"properties":2382,"children":2383,"position":2435},{},[2384,2392,2406,2412,2429],{"type":27,"value":2385,"position":2386},"A strategy published as ",{"start":2387,"end":2390},{"line":2388,"column":21,"offset":2389},99,8003,{"line":2388,"column":308,"offset":2391},8027,{"type":31,"tagName":168,"properties":2393,"children":2394,"position":2402},{},[2395],{"type":27,"value":2396,"position":2397},"Protected",{"start":2398,"end":2400},{"line":2388,"column":2005,"offset":2399},8029,{"line":2388,"column":697,"offset":2401},8038,{"start":2403,"end":2404},{"line":2388,"column":308,"offset":2391},{"line":2388,"column":892,"offset":2405},8040,{"type":27,"value":2407,"position":2408}," runs on OpenMarket's servers with the same broker at the same fidelity, and the Tester reads its result the same way (",{"start":2409,"end":2410},{"line":2388,"column":892,"offset":2405},{"line":2388,"column":1414,"offset":2411},8159,{"type":31,"tagName":1174,"properties":2413,"children":2415,"position":2424},{"href":2414},"../functions/publishing.md",[2416],{"type":27,"value":2417,"position":2418},"Publishing",{"start":2419,"end":2422},{"line":2388,"column":2420,"offset":2421},158,8160,{"line":2388,"column":40,"offset":2423},8170,{"start":2425,"end":2426},{"line":2388,"column":1414,"offset":2411},{"line":2388,"column":2427,"offset":2428},197,8199,{"type":27,"value":2087,"position":2430},{"start":2431,"end":2432},{"line":2388,"column":2427,"offset":2428},{"line":2388,"column":2433,"offset":2434},199,8201,{"start":2436,"end":2437},{"line":2388,"column":21,"offset":2389},{"line":2388,"column":2433,"offset":2434},{"quirksMode":2439},false,{"start":2441,"end":2442},{"line":21,"column":21,"offset":22},{"line":2443,"column":21,"offset":2444},100,8202,1791265206696]