(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{JeLr:function(e,t,a){"use strict";a.r(t),a.d(t,"_frontmatter",(function(){return b})),a.d(t,"default",(function(){return h}));var r=a("Fcif"),n=a("dV/x"),i=(a("mXGw"),a("/FXl")),o=a("TjRS"),l=a("wCAC");a("l1C2");const s=["components"],b={};void 0!==b&&b&&b===Object(b)&&Object.isExtensible(b)&&!Object.prototype.hasOwnProperty.call(b,"__filemeta")&&Object.defineProperty(b,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/components/en/Heatmap.mdx"}});const c={_frontmatter:b},d=o.a;function h(e){let{components:t}=e,a=Object(n.a)(e,s);return Object(i.b)(d,Object(r.a)({},c,a,{components:t,mdxType:"MDXLayout"}),Object(i.b)("h1",{id:"liquidity-heatmap"},"Liquidity heatmap"),Object(i.b)(l.i,{mdxType:"Tags"},Object(i.b)(l.a,{tone:"green",mdxType:"Badge"},"Main chart"),Object(i.b)(l.a,{tone:"neutral",mdxType:"Badge"},"Spot and futures")),Object(i.b)(l.e,{mdxType:"Lead"},"The heatmap draws the history of limit orders on the chart. Our algorithms pick out and classify the most significant orders, so the largest walls stand out even on busy markets."),Object(i.b)(l.f,{src:"../../public/heatmap.png",alt:"Liquidity heatmap on the chart",mdxType:"Screenshot"}),Object(i.b)("h2",{id:"how-to-read-it"},"How to read it"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},"Every horizontal stripe is a price level with resting limit orders. The brighter the colour, the larger the order."),Object(i.b)("li",{parentName:"ul"},"Bids (buy limit orders) and asks (sell limit orders) use different palettes, so you see at a glance which side the liquidity sits on."),Object(i.b)("li",{parentName:"ul"},"A stripe that persists while price approaches it is a wall. Watch how price behaves when it reaches the level."),Object(i.b)("li",{parentName:"ul"},"A stripe that disappears right before price touches it was pulled. Spoofed liquidity often looks like this.")),Object(i.b)(l.b,{type:"tip",title:"Combine with footprints",mdxType:"Callout"},Object(i.b)("p",null,"Together with the ",Object(i.b)("a",{parentName:"p",href:"/docs/en/chart/orderflow"},"footprints indicator")," you can check whether a level highlighted by the heatmap actually acts as a barrier: look for ",Object(i.b)("strong",{parentName:"p"},"absorption")," (large traded volume, no price progress) or ",Object(i.b)("strong",{parentName:"p"},"exhaustion")," (volume dries up at the level).")),Object(i.b)("h2",{id:"settings"},"Settings"),Object(i.b)("table",null,Object(i.b)("thead",{parentName:"table"},Object(i.b)("tr",{parentName:"thead"},Object(i.b)("th",{parentName:"tr",align:null},"Setting"),Object(i.b)("th",{parentName:"tr",align:null},"Default"),Object(i.b)("th",{parentName:"tr",align:null},"Description"))),Object(i.b)("tbody",{parentName:"table"},Object(i.b)("tr",{parentName:"tbody"},Object(i.b)("td",{parentName:"tr",align:null},"Extend heatmap (bars)"),Object(i.b)("td",{parentName:"tr",align:null},Object(i.b)("inlineCode",{parentName:"td"},"1")),Object(i.b)("td",{parentName:"tr",align:null},"How many bars into the future the current order book is projected (1 to 100).")),Object(i.b)("tr",{parentName:"tbody"},Object(i.b)("td",{parentName:"tr",align:null},"Aggregate"),Object(i.b)("td",{parentName:"tr",align:null},"none"),Object(i.b)("td",{parentName:"tr",align:null},"Add the order books of other exchanges to the heatmap.")),Object(i.b)("tr",{parentName:"tbody"},Object(i.b)("td",{parentName:"tr",align:null},"Aggregate SPOT only with other SPOTs"),Object(i.b)("td",{parentName:"tr",align:null},"on"),Object(i.b)("td",{parentName:"tr",align:null},"When aggregating, mix spot books only with spot books.")),Object(i.b)("tr",{parentName:"tbody"},Object(i.b)("td",{parentName:"tr",align:null},"Aggregate FUTURES only with other FUTURES"),Object(i.b)("td",{parentName:"tr",align:null},"on"),Object(i.b)("td",{parentName:"tr",align:null},"When aggregating, mix futures books only with futures books.")),Object(i.b)("tr",{parentName:"tbody"},Object(i.b)("td",{parentName:"tr",align:null},"Relative mode (relative sizes by exchange)"),Object(i.b)("td",{parentName:"tr",align:null},"off"),Object(i.b)("td",{parentName:"tr",align:null},"Colours every order by its size relative to the other orders on its own exchange instead of the raw quantity, so aggregated exchanges become comparable.")),Object(i.b)("tr",{parentName:"tbody"},Object(i.b)("td",{parentName:"tr",align:null},"Palette"),Object(i.b)("td",{parentName:"tr",align:null},Object(i.b)("inlineCode",{parentName:"td"},"lite")),Object(i.b)("td",{parentName:"tr",align:null},"Built-in colour palettes for asks and bids.")),Object(i.b)("tr",{parentName:"tbody"},Object(i.b)("td",{parentName:"tr",align:null},"Use custom palette"),Object(i.b)("td",{parentName:"tr",align:null},"off"),Object(i.b)("td",{parentName:"tr",align:null},"Define up to five custom colours for asks and for bids.")))),Object(i.b)("p",null,"The full list of order flow indicators and their settings is in the ",Object(i.b)("a",{parentName:"p",href:"/docs/en/chart/indicators#orderbook-heatmap"},"indicator reference"),"."),Object(i.b)("h2",{id:"relative-mode"},"Relative mode"),Object(i.b)("p",null,"By default the colour of a stripe follows the order quantity. With ",Object(i.b)("strong",{parentName:"p"},"Relative mode")," every order is first ranked on its own exchange: the resting orders of the market are split into groups from the smallest to the largest, and the stripe takes the number of the group its order falls into. A big wall on a small exchange gets the same colour as a big wall on a large one."),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},"With aggregation the group numbers of all exchanges are summed per price level: a level that is large on every aggregated exchange is the brightest, and one exchange with a huge book no longer hides the others."),Object(i.b)("li",{parentName:"ul"},"The filter sliders and the tooltip work in the same units, a plain number instead of a quantity in coins."),Object(i.b)("li",{parentName:"ul"},"The groups are the ones the ",Object(i.b)("a",{parentName:"li",href:"/docs/en/screener/liquidity"},"liquidity screener")," uses, so the heatmap and the screener rate the same order the same way."),Object(i.b)("li",{parentName:"ul"},"On 1s and 5s charts the heatmap keeps showing quantities.")),Object(i.b)("h2",{id:"predicted-liquidations"},"Predicted liquidations"),Object(i.b)("p",null,"The same layer can show estimated liquidation levels instead of the order book. Add the ",Object(i.b)("a",{parentName:"p",href:"/docs/en/chart/indicators#liquidations-heatmap-predicted"},"liquidations heatmap")," on a futures chart: it replaces the orderbook heatmap, and the filters, palettes and tooltip described above apply unchanged. Asks become short liquidations above the price and bids become long liquidations below it. A level is removed once price has traded through it, so the columns on the right show only what is still outstanding. The levels come from a model (open interest changes, taker volume and the leverage tiers you select), not from exchange data; realised liquidations stay in the liquidations panel and the liquidation clusters."),Object(i.b)(l.f,{src:"../../public/liquidation_heatmap.png",mdxType:"Screenshot"}))}void 0!==h&&h&&h===Object(h)&&Object.isExtensible(h)&&!Object.prototype.hasOwnProperty.call(h,"__filemeta")&&Object.defineProperty(h,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/components/en/Heatmap.mdx"}}),h.isMDXComponent=!0}}]); //# sourceMappingURL=component---src-components-en-heatmap-mdx-31a711f6245f2015e09f.js.map