[{"data":1,"prerenderedAt":261},["ShallowReactive",2],{"indicators:cookbook/tape-reader":3},{"slug":4,"filePath":5,"frontmatter":6,"rawMarkdown":11,"tree":12},"cookbook/tape-reader","cookbook/tape-reader.md",{"title":7,"description":8,"order":9,"section":10},"Whale vs Retail CVD","In Indicators this is not available yet as the kScript (legacy) recipe: the trade_volume_by_size class that hands every bar's tape pre-bucketed into USD order-…",61,"cookbook","---\ntitle: \"Whale vs Retail CVD\"\ndescription: \"In Indicators this is not available yet as the kScript (legacy) recipe: the trade_volume_by_size class that hands every bar's tape pre-bucketed into USD order-…\"\norder: 61\nsection: \"cookbook\"\n---\n\n\u003C!-- source: docs/indicators/cookbook/tape-reader.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit -->\n\n# Whale vs Retail CVD\n\nIn Indicators this is not available yet as the kScript (legacy) recipe: the `trade_volume_by_size` class that hands every bar's tape pre-bucketed into USD order-size bands is declared for cross-host parity but refused by name (`wrun_cells_unavailable`), because this data plane has no point lane for it.\n\nThe nearest form is the live [tape source](../core-concepts/data-sources.md#live-tape): a celled input of prints at or above a native-size `min_size`, read as `[offsetMs, price, size, side]` blocks, so a whale flow line can start from the moment the daemon subscribes (no history, no USD buckets). For historical aggregate flow, side-split `trades.volume` inputs accumulate the way the [Aggregated CVD](aggregated-cvd.md) recipe does.\n\nWhat stays on kScript (legacy): the USD size buckets, the retail line, the per-bar trade counts and any bar before the subscription began; run the original with **Use kScript engine**.\n",{"type":13,"children":14,"data":254,"position":256},"root",[15,25,28,29,87,88,213,214],{"type":16,"value":17,"position":18},"comment"," source: docs/indicators/cookbook/tape-reader.md; generated by packages/cli/scripts/gen-indicator-docs.ts, do not edit ",{"start":19,"end":22},{"line":20,"column":20,"offset":21},1,0,{"line":20,"column":23,"offset":24},127,126,{"type":26,"value":27},"text","\n",{"type":26,"value":27},{"type":30,"tagName":31,"properties":32,"children":33,"position":84},"element","p",{},[34,43,57,64,77],{"type":26,"value":35,"position":36},"In Indicators this is not available yet as the kScript (legacy) recipe: the ",{"start":37,"end":40},{"line":38,"column":20,"offset":39},5,151,{"line":38,"column":41,"offset":42},77,227,{"type":30,"tagName":44,"properties":45,"children":46,"position":54},"code",{},[47],{"type":26,"value":48,"position":49},"trade_volume_by_size",{"start":50,"end":51},{"line":38,"column":41,"offset":42},{"line":38,"column":52,"offset":53},99,249,{"start":55,"end":56},{"line":38,"column":41,"offset":42},{"line":38,"column":52,"offset":53},{"type":26,"value":58,"position":59}," class that hands every bar's tape pre-bucketed into USD order-size bands is declared for cross-host parity but refused by name (",{"start":60,"end":61},{"line":38,"column":52,"offset":53},{"line":38,"column":62,"offset":63},228,378,{"type":30,"tagName":44,"properties":65,"children":66,"position":74},{},[67],{"type":26,"value":68,"position":69},"wrun_cells_unavailable",{"start":70,"end":71},{"line":38,"column":62,"offset":63},{"line":38,"column":72,"offset":73},252,402,{"start":75,"end":76},{"line":38,"column":62,"offset":63},{"line":38,"column":72,"offset":73},{"type":26,"value":78,"position":79},"), because this data plane has no point lane for it.",{"start":80,"end":81},{"line":38,"column":72,"offset":73},{"line":38,"column":82,"offset":83},304,454,{"start":85,"end":86},{"line":38,"column":20,"offset":39},{"line":38,"column":82,"offset":83},{"type":26,"value":27},{"type":30,"tagName":31,"properties":89,"children":90,"position":210},{},[91,100,119,126,139,146,159,166,179,186,203],{"type":26,"value":92,"position":93},"The nearest form is the live ",{"start":94,"end":97},{"line":95,"column":20,"offset":96},7,456,{"line":95,"column":98,"offset":99},30,485,{"type":30,"tagName":101,"properties":102,"children":104,"position":114},"a",{"href":103},"../core-concepts/data-sources.md#live-tape",[105],{"type":26,"value":106,"position":107},"tape source",{"start":108,"end":111},{"line":95,"column":109,"offset":110},31,486,{"line":95,"column":112,"offset":113},42,497,{"start":115,"end":116},{"line":95,"column":98,"offset":99},{"line":95,"column":117,"offset":118},87,542,{"type":26,"value":120,"position":121},": a celled input of prints at or above a native-size ",{"start":122,"end":123},{"line":95,"column":117,"offset":118},{"line":95,"column":124,"offset":125},140,595,{"type":30,"tagName":44,"properties":127,"children":128,"position":136},{},[129],{"type":26,"value":130,"position":131},"min_size",{"start":132,"end":133},{"line":95,"column":124,"offset":125},{"line":95,"column":134,"offset":135},150,605,{"start":137,"end":138},{"line":95,"column":124,"offset":125},{"line":95,"column":134,"offset":135},{"type":26,"value":140,"position":141},", read as ",{"start":142,"end":143},{"line":95,"column":134,"offset":135},{"line":95,"column":144,"offset":145},160,615,{"type":30,"tagName":44,"properties":147,"children":148,"position":156},{},[149],{"type":26,"value":150,"position":151},"[offsetMs, price, size, side]",{"start":152,"end":153},{"line":95,"column":144,"offset":145},{"line":95,"column":154,"offset":155},191,646,{"start":157,"end":158},{"line":95,"column":144,"offset":145},{"line":95,"column":154,"offset":155},{"type":26,"value":160,"position":161}," blocks, so a whale flow line can start from the moment the daemon subscribes (no history, no USD buckets). For historical aggregate flow, side-split ",{"start":162,"end":163},{"line":95,"column":154,"offset":155},{"line":95,"column":164,"offset":165},341,796,{"type":30,"tagName":44,"properties":167,"children":168,"position":176},{},[169],{"type":26,"value":170,"position":171},"trades.volume",{"start":172,"end":173},{"line":95,"column":164,"offset":165},{"line":95,"column":174,"offset":175},356,811,{"start":177,"end":178},{"line":95,"column":164,"offset":165},{"line":95,"column":174,"offset":175},{"type":26,"value":180,"position":181}," inputs accumulate the way the ",{"start":182,"end":183},{"line":95,"column":174,"offset":175},{"line":95,"column":184,"offset":185},387,842,{"type":30,"tagName":101,"properties":187,"children":189,"position":198},{"href":188},"aggregated-cvd.md",[190],{"type":26,"value":191,"position":192},"Aggregated CVD",{"start":193,"end":196},{"line":95,"column":194,"offset":195},388,843,{"line":95,"column":73,"offset":197},857,{"start":199,"end":200},{"line":95,"column":184,"offset":185},{"line":95,"column":201,"offset":202},422,877,{"type":26,"value":204,"position":205}," recipe does.",{"start":206,"end":207},{"line":95,"column":201,"offset":202},{"line":95,"column":208,"offset":209},435,890,{"start":211,"end":212},{"line":95,"column":20,"offset":96},{"line":95,"column":208,"offset":209},{"type":26,"value":27},{"type":30,"tagName":31,"properties":215,"children":216,"position":251},{},[217,226,244],{"type":26,"value":218,"position":219},"What stays on kScript (legacy): the USD size buckets, the retail line, the per-bar trade counts and any bar before the subscription began; run the original with ",{"start":220,"end":223},{"line":221,"column":20,"offset":222},9,892,{"line":221,"column":224,"offset":225},162,1053,{"type":30,"tagName":227,"properties":228,"children":229,"position":239},"strong",{},[230],{"type":26,"value":231,"position":232},"Use kScript engine",{"start":233,"end":236},{"line":221,"column":234,"offset":235},164,1055,{"line":221,"column":237,"offset":238},182,1073,{"start":240,"end":241},{"line":221,"column":224,"offset":225},{"line":221,"column":242,"offset":243},184,1075,{"type":26,"value":245,"position":246},".",{"start":247,"end":248},{"line":221,"column":242,"offset":243},{"line":221,"column":249,"offset":250},185,1076,{"start":252,"end":253},{"line":221,"column":20,"offset":222},{"line":221,"column":249,"offset":250},{"quirksMode":255},false,{"start":257,"end":258},{"line":20,"column":20,"offset":21},{"line":259,"column":20,"offset":260},10,1077,1790157164781]