[{"data":1,"prerenderedAt":932},["ShallowReactive",2],{"kscript:strategies/reading-the-tester":3},{"slug":4,"filePath":5,"frontmatter":6,"rawMarkdown":9,"tree":10},"strategies/reading-the-tester","strategies/reading-the-tester.md",{"title":7,"description":8},"Reading the Strategy Tester","A tour of the Strategy Tester panel: the Overview, Performance, and Trades tabs, the chart markers, the run-details disclosures, and compare mode.","---\ntitle: Reading the Strategy Tester\ndescription: >-\n  A tour of the Strategy Tester panel: the Overview, Performance, and Trades\n  tabs, the chart markers, the run-details disclosures, and compare mode.\n---\n\nRun any strategy script and the Strategy Tester panel opens under the chart. This page is the map: what each tab shows, what the chart draws, and where the honesty disclosures live. If you have not run a backtest yet, start with [Build Your First Strategy](first-strategy.md).\n\n```text\n [ MA Cross  +2.4% ] [ RSI Revert  -0.8% ]      (compare)  (i)  (v)\n ------------------------------------------------------------------\n  Overview | Performance | Trades (24)\n ------------------------------------------------------------------\n   net profit   win rate   profit factor   max DD   sharpe   trades\n      equity curve ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n      drawdown lane ______________________________________\n```\n\n## The strategy tabs\n\nEvery strategy on the chart gets its own tab in the panel header, with its identity color and its net PnL as a chip. Click a tab to switch the panel to that strategy; the eye toggles the strategy's plots and markers on the chart without removing it. The tabs are independent: adding, hiding, or removing one strategy never disturbs another's results.\n\n## Overview\n\nThe at-a-glance read: an equity curve with a drawdown lane under it, and the headline tiles alongside: net profit, win rate, profit factor, max drawdown, Sharpe, and total trades. A buy-and-hold benchmark can be overlaid on the equity curve; if your rules do not beat doing nothing after costs, the market did the work, not the rules.\n\n## Performance\n\nThe full stat table, grouped into returns, risk, and trade quality: gross profit and loss, payoff ratio, Sharpe and Sortino, max runup, exposure, average trade, fees paid, and the ambiguous-fill count. Every number here has an exact formula and edge-case behavior documented in the [Stats Reference](stats-reference.md).\n\n## Trades\n\nThe numbered list of closed trades: side, quantity, entry and exit bars, PnL in cash and percent, cumulative PnL, and how the trade exited (`signal`, `stop`, `limit`, `trail`, `closeAll`, `liquidation`, `endOfData`). The count badge on the tab is this list's row count. Open positions and pending orders sit in their own sections below, so a strategy still holding into the last bar is visible but never confused with a completed trade.\n\nTwo things worth knowing:\n\n- **Click a row** and the chart scrolls to that trade. **Hover a row** and the trade lights up on the chart with a band from entry to exit.\n- A **\"± fill\" badge** on a trade means the fill was settled by the declared fill model rather than data: the bar could not prove whether the stop or the target traded first, and no finer data covered it. [Fill Simulation](fill-simulation.md) explains exactly when this happens.\n\n## What the chart draws\n\nEntries and exits render as chevrons on the bars that filled them: filled chevrons for entries, hollow for exits, colored by direction, with the strategy's identity color on the outline so multi-strategy charts stay readable. Past 150 closed trades the markers collapse into count pills so the chart stays legible, and the panel footer says so explicitly.\n\n## Run details: the honesty popover\n\nThe info icon in the panel header opens the run's own disclosure: chart interval, bars computed, the declared fill model, compute time, and two lines worth reading before you trust any result:\n\n- **Fill precision**: `exact`, `verified on 1m + 5m data`, `N of M contested fills verified`, or `bar resolution`. This is the simulation grading itself; the tiers are defined in [Fill Simulation](fill-simulation.md).\n- **Slippage** (for `slippageModel=\"bookEstimate\"` runs): the average book impact applied and how many fills fell back to the declared rate. See [Slippage and Costs](slippage-and-costs.md).\n\n## Compare mode\n\nWith two or more visible strategies, the compare button switches the panel to a side-by-side view: net profit, win rate, profit factor, max drawdown, Sharpe, and trade counts per strategy, plus a **Combined** column that treats them as one equal-notional portfolio. The equity chart overlays each strategy's normalized return with the combined curve, and a pairwise correlation line quantifies how much diversification the combination actually buys: two strategies that win at different times can show a combined drawdown lower than either leg's.\n\nChart markers are suppressed while comparing so the overlay stays readable; leave compare mode (or hide all but one strategy) and they return.\n",{"type":11,"children":12,"data":925,"position":927},"root",[13,55,57,133,134,153,154,169,170,187,188,203,204,219,220,259,260,277,278,428,429,444,445,577,578,595,596,611,612,628,629,644,645,853,854,870,871,909,910],{"type":14,"tagName":15,"properties":16,"children":17,"position":52},"element","p",{},[18,28,46],{"type":19,"value":20,"position":21},"text","Run any strategy script and the Strategy Tester panel opens under the chart. This page is the map: what each tab shows, what the chart draws, and where the honesty disclosures live. If you have not run a backtest yet, start with ",{"start":22,"end":25},{"line":23,"column":23,"offset":24},1,0,{"line":23,"column":26,"offset":27},230,229,{"type":14,"tagName":29,"properties":30,"children":32,"position":41},"a",{"href":31},"first-strategy.md",[33],{"type":19,"value":34,"position":35},"Build Your First Strategy",{"start":36,"end":38},{"line":23,"column":37,"offset":26},231,{"line":23,"column":39,"offset":40},256,255,{"start":42,"end":43},{"line":23,"column":26,"offset":27},{"line":23,"column":44,"offset":45},276,275,{"type":19,"value":47,"position":48},".",{"start":49,"end":50},{"line":23,"column":44,"offset":45},{"line":23,"column":51,"offset":44},277,{"start":53,"end":54},{"line":23,"column":23,"offset":24},{"line":23,"column":51,"offset":44},{"type":19,"value":56},"\n",{"type":11,"children":58},[59],{"type":14,"tagName":60,"properties":61,"children":65,"data":-1},"pre",{"class":62,"style":63,"tabindex":64},"shiki shiki-themes github-dark github-light","--shiki-dark:#e1e4e8;--shiki-light:#24292e;--shiki-dark-bg:#24292e;--shiki-light-bg:#fff","0",[66],{"type":14,"tagName":67,"properties":68,"children":69},"code",{},[70,80,81,89,90,98,99,106,107,115,116,124,125],{"type":14,"tagName":71,"properties":72,"children":74},"span",{"class":73},"line",[75],{"type":14,"tagName":71,"properties":76,"children":77},{},[78],{"type":19,"value":79}," [ MA Cross  +2.4% ] [ RSI Revert  -0.8% ]      (compare)  (i)  (v)",{"type":19,"value":56},{"type":14,"tagName":71,"properties":82,"children":83},{"class":73},[84],{"type":14,"tagName":71,"properties":85,"children":86},{},[87],{"type":19,"value":88}," ------------------------------------------------------------------",{"type":19,"value":56},{"type":14,"tagName":71,"properties":91,"children":92},{"class":73},[93],{"type":14,"tagName":71,"properties":94,"children":95},{},[96],{"type":19,"value":97},"  Overview | Performance | Trades (24)",{"type":19,"value":56},{"type":14,"tagName":71,"properties":100,"children":101},{"class":73},[102],{"type":14,"tagName":71,"properties":103,"children":104},{},[105],{"type":19,"value":88},{"type":19,"value":56},{"type":14,"tagName":71,"properties":108,"children":109},{"class":73},[110],{"type":14,"tagName":71,"properties":111,"children":112},{},[113],{"type":19,"value":114},"   net profit   win rate   profit factor   max DD   sharpe   trades",{"type":19,"value":56},{"type":14,"tagName":71,"properties":117,"children":118},{"class":73},[119],{"type":14,"tagName":71,"properties":120,"children":121},{},[122],{"type":19,"value":123},"      equity curve ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",{"type":19,"value":56},{"type":14,"tagName":71,"properties":126,"children":127},{"class":73},[128],{"type":14,"tagName":71,"properties":129,"children":130},{},[131],{"type":19,"value":132},"      drawdown lane ______________________________________",{"type":19,"value":56},{"type":14,"tagName":135,"properties":136,"children":138,"position":149},"h2",{"id":137},"the-strategy-tabs",[139],{"type":19,"value":140,"position":141},"The strategy tabs",{"start":142,"end":146},{"line":143,"column":144,"offset":145},13,4,723,{"line":143,"column":147,"offset":148},21,740,{"start":150,"end":152},{"line":143,"column":23,"offset":151},720,{"line":143,"column":147,"offset":148},{"type":19,"value":56},{"type":14,"tagName":15,"properties":155,"children":156,"position":166},{},[157],{"type":19,"value":158,"position":159},"Every strategy on the chart gets its own tab in the panel header, with its identity color and its net PnL as a chip. Click a tab to switch the panel to that strategy; the eye toggles the strategy's plots and markers on the chart without removing it. The tabs are independent: adding, hiding, or removing one strategy never disturbs another's results.",{"start":160,"end":163},{"line":161,"column":23,"offset":162},15,742,{"line":161,"column":164,"offset":165},351,1092,{"start":167,"end":168},{"line":161,"column":23,"offset":162},{"line":161,"column":164,"offset":165},{"type":19,"value":56},{"type":14,"tagName":135,"properties":171,"children":173,"position":183},{"id":172},"overview",[174],{"type":19,"value":175,"position":176},"Overview",{"start":177,"end":180},{"line":178,"column":144,"offset":179},17,1097,{"line":178,"column":181,"offset":182},12,1105,{"start":184,"end":186},{"line":178,"column":23,"offset":185},1094,{"line":178,"column":181,"offset":182},{"type":19,"value":56},{"type":14,"tagName":15,"properties":189,"children":190,"position":200},{},[191],{"type":19,"value":192,"position":193},"The at-a-glance read: an equity curve with a drawdown lane under it, and the headline tiles alongside: net profit, win rate, profit factor, max drawdown, Sharpe, and total trades. A buy-and-hold benchmark can be overlaid on the equity curve; if your rules do not beat doing nothing after costs, the market did the work, not the rules.",{"start":194,"end":197},{"line":195,"column":23,"offset":196},19,1107,{"line":195,"column":198,"offset":199},335,1441,{"start":201,"end":202},{"line":195,"column":23,"offset":196},{"line":195,"column":198,"offset":199},{"type":19,"value":56},{"type":14,"tagName":135,"properties":205,"children":207,"position":215},{"id":206},"performance",[208],{"type":19,"value":209,"position":210},"Performance",{"start":211,"end":213},{"line":147,"column":144,"offset":212},1446,{"line":147,"column":161,"offset":214},1457,{"start":216,"end":218},{"line":147,"column":23,"offset":217},1443,{"line":147,"column":161,"offset":214},{"type":19,"value":56},{"type":14,"tagName":15,"properties":221,"children":222,"position":256},{},[223,232,250],{"type":19,"value":224,"position":225},"The full stat table, grouped into returns, risk, and trade quality: gross profit and loss, payoff ratio, Sharpe and Sortino, max runup, exposure, average trade, fees paid, and the ambiguous-fill count. Every number here has an exact formula and edge-case behavior documented in the ",{"start":226,"end":229},{"line":227,"column":23,"offset":228},23,1459,{"line":227,"column":230,"offset":231},283,1741,{"type":14,"tagName":29,"properties":233,"children":235,"position":245},{"href":234},"stats-reference.md",[236],{"type":19,"value":237,"position":238},"Stats Reference",{"start":239,"end":242},{"line":227,"column":240,"offset":241},284,1742,{"line":227,"column":243,"offset":244},299,1757,{"start":246,"end":247},{"line":227,"column":230,"offset":231},{"line":227,"column":248,"offset":249},320,1778,{"type":19,"value":47,"position":251},{"start":252,"end":253},{"line":227,"column":248,"offset":249},{"line":227,"column":254,"offset":255},321,1779,{"start":257,"end":258},{"line":227,"column":23,"offset":228},{"line":227,"column":254,"offset":255},{"type":19,"value":56},{"type":14,"tagName":135,"properties":261,"children":263,"position":273},{"id":262},"trades",[264],{"type":19,"value":265,"position":266},"Trades",{"start":267,"end":270},{"line":268,"column":144,"offset":269},25,1784,{"line":268,"column":271,"offset":272},10,1790,{"start":274,"end":276},{"line":268,"column":23,"offset":275},1781,{"line":268,"column":271,"offset":272},{"type":19,"value":56},{"type":14,"tagName":15,"properties":279,"children":280,"position":425},{},[281,290,303,310,323,329,342,348,361,367,380,386,399,405,418],{"type":19,"value":282,"position":283},"The numbered list of closed trades: side, quantity, entry and exit bars, PnL in cash and percent, cumulative PnL, and how the trade exited (",{"start":284,"end":287},{"line":285,"column":23,"offset":286},27,1792,{"line":285,"column":288,"offset":289},141,1932,{"type":14,"tagName":67,"properties":291,"children":292,"position":300},{},[293],{"type":19,"value":294,"position":295},"signal",{"start":296,"end":297},{"line":285,"column":288,"offset":289},{"line":285,"column":298,"offset":299},149,1940,{"start":301,"end":302},{"line":285,"column":288,"offset":289},{"line":285,"column":298,"offset":299},{"type":19,"value":304,"position":305},", ",{"start":306,"end":307},{"line":285,"column":298,"offset":299},{"line":285,"column":308,"offset":309},151,1942,{"type":14,"tagName":67,"properties":311,"children":312,"position":320},{},[313],{"type":19,"value":314,"position":315},"stop",{"start":316,"end":317},{"line":285,"column":308,"offset":309},{"line":285,"column":318,"offset":319},157,1948,{"start":321,"end":322},{"line":285,"column":308,"offset":309},{"line":285,"column":318,"offset":319},{"type":19,"value":304,"position":324},{"start":325,"end":326},{"line":285,"column":318,"offset":319},{"line":285,"column":327,"offset":328},159,1950,{"type":14,"tagName":67,"properties":330,"children":331,"position":339},{},[332],{"type":19,"value":333,"position":334},"limit",{"start":335,"end":336},{"line":285,"column":327,"offset":328},{"line":285,"column":337,"offset":338},166,1957,{"start":340,"end":341},{"line":285,"column":327,"offset":328},{"line":285,"column":337,"offset":338},{"type":19,"value":304,"position":343},{"start":344,"end":345},{"line":285,"column":337,"offset":338},{"line":285,"column":346,"offset":347},168,1959,{"type":14,"tagName":67,"properties":349,"children":350,"position":358},{},[351],{"type":19,"value":352,"position":353},"trail",{"start":354,"end":355},{"line":285,"column":346,"offset":347},{"line":285,"column":356,"offset":357},175,1966,{"start":359,"end":360},{"line":285,"column":346,"offset":347},{"line":285,"column":356,"offset":357},{"type":19,"value":304,"position":362},{"start":363,"end":364},{"line":285,"column":356,"offset":357},{"line":285,"column":365,"offset":366},177,1968,{"type":14,"tagName":67,"properties":368,"children":369,"position":377},{},[370],{"type":19,"value":371,"position":372},"closeAll",{"start":373,"end":374},{"line":285,"column":365,"offset":366},{"line":285,"column":375,"offset":376},187,1978,{"start":378,"end":379},{"line":285,"column":365,"offset":366},{"line":285,"column":375,"offset":376},{"type":19,"value":304,"position":381},{"start":382,"end":383},{"line":285,"column":375,"offset":376},{"line":285,"column":384,"offset":385},189,1980,{"type":14,"tagName":67,"properties":387,"children":388,"position":396},{},[389],{"type":19,"value":390,"position":391},"liquidation",{"start":392,"end":393},{"line":285,"column":384,"offset":385},{"line":285,"column":394,"offset":395},202,1993,{"start":397,"end":398},{"line":285,"column":384,"offset":385},{"line":285,"column":394,"offset":395},{"type":19,"value":304,"position":400},{"start":401,"end":402},{"line":285,"column":394,"offset":395},{"line":285,"column":403,"offset":404},204,1995,{"type":14,"tagName":67,"properties":406,"children":407,"position":415},{},[408],{"type":19,"value":409,"position":410},"endOfData",{"start":411,"end":412},{"line":285,"column":403,"offset":404},{"line":285,"column":413,"offset":414},215,2006,{"start":416,"end":417},{"line":285,"column":403,"offset":404},{"line":285,"column":413,"offset":414},{"type":19,"value":419,"position":420},"). The count badge on the tab is this list's row count. Open positions and pending orders sit in their own sections below, so a strategy still holding into the last bar is visible but never confused with a completed trade.",{"start":421,"end":422},{"line":285,"column":413,"offset":414},{"line":285,"column":423,"offset":424},437,2228,{"start":426,"end":427},{"line":285,"column":23,"offset":286},{"line":285,"column":423,"offset":424},{"type":19,"value":56},{"type":14,"tagName":15,"properties":430,"children":431,"position":441},{},[432],{"type":19,"value":433,"position":434},"Two things worth knowing:",{"start":435,"end":438},{"line":436,"column":23,"offset":437},29,2230,{"line":436,"column":439,"offset":440},26,2255,{"start":442,"end":443},{"line":436,"column":23,"offset":437},{"line":436,"column":439,"offset":440},{"type":19,"value":56},{"type":14,"tagName":446,"properties":447,"children":448,"position":574},"ul",{},[449,450,510,511,573],{"type":19,"value":56},{"type":14,"tagName":451,"properties":452,"children":453,"position":506},"li",{},[454,475,482,499],{"type":14,"tagName":455,"properties":456,"children":457,"position":468},"strong",{},[458],{"type":19,"value":459,"position":460},"Click a row",{"start":461,"end":465},{"line":462,"column":463,"offset":464},31,5,2261,{"line":462,"column":466,"offset":467},16,2272,{"start":469,"end":472},{"line":462,"column":470,"offset":471},3,2259,{"line":462,"column":473,"offset":474},18,2274,{"type":19,"value":476,"position":477}," and the chart scrolls to that trade. ",{"start":478,"end":479},{"line":462,"column":473,"offset":474},{"line":462,"column":480,"offset":481},56,2312,{"type":14,"tagName":455,"properties":483,"children":484,"position":494},{},[485],{"type":19,"value":486,"position":487},"Hover a row",{"start":488,"end":491},{"line":462,"column":489,"offset":490},58,2314,{"line":462,"column":492,"offset":493},69,2325,{"start":495,"end":496},{"line":462,"column":480,"offset":481},{"line":462,"column":497,"offset":498},71,2327,{"type":19,"value":500,"position":501}," and the trade lights up on the chart with a band from entry to exit.",{"start":502,"end":503},{"line":462,"column":497,"offset":498},{"line":462,"column":504,"offset":505},140,2396,{"start":507,"end":509},{"line":462,"column":23,"offset":508},2257,{"line":462,"column":504,"offset":505},{"type":19,"value":56},{"type":14,"tagName":451,"properties":512,"children":513,"position":569},{},[514,522,537,544,562],{"type":19,"value":515,"position":516},"A ",{"start":517,"end":520},{"line":518,"column":470,"offset":519},32,2399,{"line":518,"column":463,"offset":521},2401,{"type":14,"tagName":455,"properties":523,"children":524,"position":533},{},[525],{"type":19,"value":526,"position":527},"\"± fill\" badge",{"start":528,"end":531},{"line":518,"column":529,"offset":530},7,2403,{"line":518,"column":147,"offset":532},2417,{"start":534,"end":535},{"line":518,"column":463,"offset":521},{"line":518,"column":227,"offset":536},2419,{"type":19,"value":538,"position":539}," on a trade means the fill was settled by the declared fill model rather than data: the bar could not prove whether the stop or the target traded first, and no finer data covered it. ",{"start":540,"end":541},{"line":518,"column":227,"offset":536},{"line":518,"column":542,"offset":543},206,2602,{"type":14,"tagName":29,"properties":545,"children":547,"position":557},{"href":546},"fill-simulation.md",[548],{"type":19,"value":549,"position":550},"Fill Simulation",{"start":551,"end":554},{"line":518,"column":552,"offset":553},207,2603,{"line":518,"column":555,"offset":556},222,2618,{"start":558,"end":559},{"line":518,"column":542,"offset":543},{"line":518,"column":560,"offset":561},243,2639,{"type":19,"value":563,"position":564}," explains exactly when this happens.",{"start":565,"end":566},{"line":518,"column":560,"offset":561},{"line":518,"column":567,"offset":568},279,2675,{"start":570,"end":572},{"line":518,"column":23,"offset":571},2397,{"line":518,"column":567,"offset":568},{"type":19,"value":56},{"start":575,"end":576},{"line":462,"column":23,"offset":508},{"line":518,"column":567,"offset":568},{"type":19,"value":56},{"type":14,"tagName":135,"properties":579,"children":581,"position":591},{"id":580},"what-the-chart-draws",[582],{"type":19,"value":583,"position":584},"What the chart draws",{"start":585,"end":588},{"line":586,"column":144,"offset":587},34,2680,{"line":586,"column":589,"offset":590},24,2700,{"start":592,"end":594},{"line":586,"column":23,"offset":593},2677,{"line":586,"column":589,"offset":590},{"type":19,"value":56},{"type":14,"tagName":15,"properties":597,"children":598,"position":608},{},[599],{"type":19,"value":600,"position":601},"Entries and exits render as chevrons on the bars that filled them: filled chevrons for entries, hollow for exits, colored by direction, with the strategy's identity color on the outline so multi-strategy charts stay readable. Past 150 closed trades the markers collapse into count pills so the chart stays legible, and the panel footer says so explicitly.",{"start":602,"end":605},{"line":603,"column":23,"offset":604},36,2702,{"line":603,"column":606,"offset":607},356,3057,{"start":609,"end":610},{"line":603,"column":23,"offset":604},{"line":603,"column":606,"offset":607},{"type":19,"value":56},{"type":14,"tagName":135,"properties":613,"children":615,"position":624},{"id":614},"run-details-the-honesty-popover",[616],{"type":19,"value":617,"position":618},"Run details: the honesty popover",{"start":619,"end":622},{"line":620,"column":144,"offset":621},38,3062,{"line":620,"column":603,"offset":623},3094,{"start":625,"end":627},{"line":620,"column":23,"offset":626},3059,{"line":620,"column":603,"offset":623},{"type":19,"value":56},{"type":14,"tagName":15,"properties":630,"children":631,"position":641},{},[632],{"type":19,"value":633,"position":634},"The info icon in the panel header opens the run's own disclosure: chart interval, bars computed, the declared fill model, compute time, and two lines worth reading before you trust any result:",{"start":635,"end":638},{"line":636,"column":23,"offset":637},40,3096,{"line":636,"column":639,"offset":640},193,3288,{"start":642,"end":643},{"line":636,"column":23,"offset":637},{"line":636,"column":639,"offset":640},{"type":19,"value":56},{"type":14,"tagName":446,"properties":646,"children":647,"position":850},{},[648,649,776,777,849],{"type":19,"value":56},{"type":14,"tagName":451,"properties":650,"children":651,"position":772},{},[652,668,674,687,692,704,710,723,730,743,750,766],{"type":14,"tagName":455,"properties":653,"children":654,"position":663},{},[655],{"type":19,"value":656,"position":657},"Fill precision",{"start":658,"end":661},{"line":659,"column":463,"offset":660},42,3294,{"line":659,"column":195,"offset":662},3308,{"start":664,"end":666},{"line":659,"column":470,"offset":665},3292,{"line":659,"column":147,"offset":667},3310,{"type":19,"value":669,"position":670},": ",{"start":671,"end":672},{"line":659,"column":147,"offset":667},{"line":659,"column":227,"offset":673},3312,{"type":14,"tagName":67,"properties":675,"children":676,"position":684},{},[677],{"type":19,"value":678,"position":679},"exact",{"start":680,"end":681},{"line":659,"column":227,"offset":673},{"line":659,"column":682,"offset":683},30,3319,{"start":685,"end":686},{"line":659,"column":227,"offset":673},{"line":659,"column":682,"offset":683},{"type":19,"value":304,"position":688},{"start":689,"end":690},{"line":659,"column":682,"offset":683},{"line":659,"column":518,"offset":691},3321,{"type":14,"tagName":67,"properties":693,"children":694,"position":701},{},[695],{"type":19,"value":696,"position":697},"verified on 1m + 5m data",{"start":698,"end":699},{"line":659,"column":518,"offset":691},{"line":659,"column":489,"offset":700},3347,{"start":702,"end":703},{"line":659,"column":518,"offset":691},{"line":659,"column":489,"offset":700},{"type":19,"value":304,"position":705},{"start":706,"end":707},{"line":659,"column":489,"offset":700},{"line":659,"column":708,"offset":709},60,3349,{"type":14,"tagName":67,"properties":711,"children":712,"position":720},{},[713],{"type":19,"value":714,"position":715},"N of M contested fills verified",{"start":716,"end":717},{"line":659,"column":708,"offset":709},{"line":659,"column":718,"offset":719},93,3382,{"start":721,"end":722},{"line":659,"column":708,"offset":709},{"line":659,"column":718,"offset":719},{"type":19,"value":724,"position":725},", or ",{"start":726,"end":727},{"line":659,"column":718,"offset":719},{"line":659,"column":728,"offset":729},98,3387,{"type":14,"tagName":67,"properties":731,"children":732,"position":740},{},[733],{"type":19,"value":734,"position":735},"bar resolution",{"start":736,"end":737},{"line":659,"column":728,"offset":729},{"line":659,"column":738,"offset":739},114,3403,{"start":741,"end":742},{"line":659,"column":728,"offset":729},{"line":659,"column":738,"offset":739},{"type":19,"value":744,"position":745},". This is the simulation grading itself; the tiers are defined in ",{"start":746,"end":747},{"line":659,"column":738,"offset":739},{"line":659,"column":748,"offset":749},180,3469,{"type":14,"tagName":29,"properties":751,"children":752,"position":761},{"href":546},[753],{"type":19,"value":549,"position":754},{"start":755,"end":758},{"line":659,"column":756,"offset":757},181,3470,{"line":659,"column":759,"offset":760},196,3485,{"start":762,"end":763},{"line":659,"column":748,"offset":749},{"line":659,"column":764,"offset":765},217,3506,{"type":19,"value":47,"position":767},{"start":768,"end":769},{"line":659,"column":764,"offset":765},{"line":659,"column":770,"offset":771},218,3507,{"start":773,"end":775},{"line":659,"column":23,"offset":774},3290,{"line":659,"column":770,"offset":771},{"type":19,"value":56},{"type":14,"tagName":451,"properties":778,"children":779,"position":845},{},[780,796,802,815,822,839],{"type":14,"tagName":455,"properties":781,"children":782,"position":791},{},[783],{"type":19,"value":784,"position":785},"Slippage",{"start":786,"end":789},{"line":787,"column":463,"offset":788},43,3512,{"line":787,"column":143,"offset":790},3520,{"start":792,"end":794},{"line":787,"column":470,"offset":793},3510,{"line":787,"column":161,"offset":795},3522,{"type":19,"value":797,"position":798}," (for ",{"start":799,"end":800},{"line":787,"column":161,"offset":795},{"line":787,"column":147,"offset":801},3528,{"type":14,"tagName":67,"properties":803,"children":804,"position":812},{},[805],{"type":19,"value":806,"position":807},"slippageModel=\"bookEstimate\"",{"start":808,"end":809},{"line":787,"column":147,"offset":801},{"line":787,"column":810,"offset":811},51,3558,{"start":813,"end":814},{"line":787,"column":147,"offset":801},{"line":787,"column":810,"offset":811},{"type":19,"value":816,"position":817}," runs): the average book impact applied and how many fills fell back to the declared rate. See ",{"start":818,"end":819},{"line":787,"column":810,"offset":811},{"line":787,"column":820,"offset":821},146,3653,{"type":14,"tagName":29,"properties":823,"children":825,"position":835},{"href":824},"slippage-and-costs.md",[826],{"type":19,"value":827,"position":828},"Slippage and Costs",{"start":829,"end":832},{"line":787,"column":830,"offset":831},147,3654,{"line":787,"column":833,"offset":834},165,3672,{"start":836,"end":837},{"line":787,"column":820,"offset":821},{"line":787,"column":384,"offset":838},3696,{"type":19,"value":47,"position":840},{"start":841,"end":842},{"line":787,"column":384,"offset":838},{"line":787,"column":843,"offset":844},190,3697,{"start":846,"end":848},{"line":787,"column":23,"offset":847},3508,{"line":787,"column":843,"offset":844},{"type":19,"value":56},{"start":851,"end":852},{"line":659,"column":23,"offset":774},{"line":787,"column":843,"offset":844},{"type":19,"value":56},{"type":14,"tagName":135,"properties":855,"children":857,"position":866},{"id":856},"compare-mode",[858],{"type":19,"value":859,"position":860},"Compare mode",{"start":861,"end":864},{"line":862,"column":144,"offset":863},45,3702,{"line":862,"column":466,"offset":865},3714,{"start":867,"end":869},{"line":862,"column":23,"offset":868},3699,{"line":862,"column":466,"offset":865},{"type":19,"value":56},{"type":14,"tagName":15,"properties":872,"children":873,"position":906},{},[874,883,899],{"type":19,"value":875,"position":876},"With two or more visible strategies, the compare button switches the panel to a side-by-side view: net profit, win rate, profit factor, max drawdown, Sharpe, and trade counts per strategy, plus a ",{"start":877,"end":880},{"line":878,"column":23,"offset":879},47,3716,{"line":878,"column":881,"offset":882},197,3912,{"type":14,"tagName":455,"properties":884,"children":885,"position":894},{},[886],{"type":19,"value":887,"position":888},"Combined",{"start":889,"end":892},{"line":878,"column":890,"offset":891},199,3914,{"line":878,"column":552,"offset":893},3922,{"start":895,"end":896},{"line":878,"column":881,"offset":882},{"line":878,"column":897,"offset":898},209,3924,{"type":19,"value":900,"position":901}," column that treats them as one equal-notional portfolio. The equity chart overlays each strategy's normalized return with the combined curve, and a pairwise correlation line quantifies how much diversification the combination actually buys: two strategies that win at different times can show a combined drawdown lower than either leg's.",{"start":902,"end":903},{"line":878,"column":897,"offset":898},{"line":878,"column":904,"offset":905},547,4262,{"start":907,"end":908},{"line":878,"column":23,"offset":879},{"line":878,"column":904,"offset":905},{"type":19,"value":56},{"type":14,"tagName":15,"properties":911,"children":912,"position":922},{},[913],{"type":19,"value":914,"position":915},"Chart markers are suppressed while comparing so the overlay stays readable; leave compare mode (or hide all but one strategy) and they return.",{"start":916,"end":919},{"line":917,"column":23,"offset":918},49,4264,{"line":917,"column":920,"offset":921},143,4406,{"start":923,"end":924},{"line":917,"column":23,"offset":918},{"line":917,"column":920,"offset":921},{"quirksMode":926},false,{"start":928,"end":929},{"line":23,"column":23,"offset":24},{"line":930,"column":23,"offset":931},50,4407,1784888027591]