Liquidity LlamaLiquidity LlamaMarkets · Macro · Crypto
Scripts · releasing invite-only
← Back to homeIndicators
Pine Script · TradingView · 24 scripts

Indicators

Macro-cycle models and order-flow tools I built and iterate on the live chart. The three macro indicators below form the backbone of the monthly regime score. Every script listed here is written and running. They are being released on TradingView as invite-only, and access opens from this page as each one goes live.

The script library — 24 scripts

Every indicator and strategy behind the dashboards on this site. All 24 are written and are being released on TradingView as protected, invite-only scripts — access is granted per username and the source stays closed. Links go live as each one is uploaded.

Macro and regime 5

IndicatorReleasing invite-only

LL Regime Compass

The fourteen macro checkpoints as one score on the chart.

TradingView · invite-onlyOpen the dashboard →
IndicatorReleasing invite-only

Building Permits Regime Change Forecaster

Housing permits as an early turn signal.

TradingView · invite-only
IndicatorReleasing invite-only

Macro Stock Market Health Composite

Breadth, credit and vol rolled into one health reading.

TradingView · invite-only
IndicatorReleasing invite-only

PMI + Sentiment Cycle Buy Indicator

Where the cycle sits, and when it historically paid to buy.

TradingView · invite-only
IndicatorReleasing invite-only

LL Market Temperature

The cycle thermometer as a single sub-chart reading.

TradingView · invite-onlyOpen the dashboard →

Levels and structure 5

IndicatorReleasing invite-only

TR Pivots

Eight exchanges, five timeframes, Traditional and Woodie, each venue on its own session.

TradingView · invite-only
IndicatorReleasing invite-only

Equal Body Levels + NPOC

Matched body tops and bottoms within six ticks, daily, weekly and monthly.

TradingView · invite-only
IndicatorReleasing invite-only

LL Pivot Hit-Rate Validator

How often your printed levels actually get touched.

TradingView · invite-onlyOpen the dashboard →
IndicatorReleasing invite-only

Livermore Pivotal Point

The pivotal-point break, with the sit-tight trail.

TradingView · invite-onlyOpen the dashboard →
StrategyReleasing invite-only

Livermore Pivotal Point Strategy

The same rules as a backtestable strategy.

TradingView · invite-onlyOpen the dashboard →

Patterns 1

IndicatorReleasing invite-only

Nison Candles Unified

All fourteen patterns, marked and filtered as on the scanner.

TradingView · invite-onlyOpen the dashboard →

Microstructure and game theory 7

IndicatorReleasing invite-only

VPIN Order-Flow Toxicity

How one-sided the flow is — the adverse selection being priced.

TradingView · invite-onlyOpen the dashboard →
IndicatorReleasing invite-only

Kyle's Lambda Liquidity

The slope of the market maker's pricing rule. Its inverse is depth.

TradingView · invite-onlyOpen the dashboard →
IndicatorReleasing invite-only

Equilibrium Regime (Variance Ratio)

Reverting, trending or noise — signed by the variance ratio.

TradingView · invite-onlyOpen the dashboard →
IndicatorReleasing invite-only

Minority Game Crowding

When the crowd is all-in and the trade has stopped paying.

TradingView · invite-onlyOpen the dashboard →
IndicatorReleasing invite-only

Disposition / CGO Overhang

Where the holder base sits against its cost basis.

TradingView · invite-onlyOpen the dashboard →
IndicatorReleasing invite-only

Game Theory Score

The five above, composited.

TradingView · invite-onlyOpen the dashboard →
StrategyReleasing invite-only

GTS Strategy

The composite as a backtestable strategy.

TradingView · invite-onlyOpen the dashboard →

Quant layer 3

IndicatorReleasing invite-only

LL Cointegration Spread

Pair spreads with a half-life and an exit that isn't a stop.

TradingView · invite-onlyOpen the dashboard →
IndicatorReleasing invite-only

LL Kelly Risk Console

Half-Kelly sizing against the live edge estimate.

TradingView · invite-onlyOpen the dashboard →
IndicatorReleasing invite-only

LL Cost Cliff

Where the edge stops covering the cost of trading it.

TradingView · invite-onlyOpen the dashboard →

Systems 3

IndicatorReleasing invite-only

LIS Tier One Indicator

Monthly trend gate, on-balance-volume confirmation, 20-day Keltner entry.

TradingView · invite-onlyOpen the dashboard →
StrategyReleasing invite-only

LIS Tier One Strategy

The same rules, backtestable.

TradingView · invite-onlyOpen the dashboard →
IndicatorReleasing invite-only

LL Wizards Rules

Position sizer, failed-breakout detector, equity-curve governor.

TradingView · invite-onlyOpen the dashboard →
Building Permits Regime Change Forecaster on the S&P 500

Building Permits Regime Change Forecaster

macro cycleFRED: PERMITSingh MBA 2022

Building permits are the earliest housing signal — a decision to build, made before any activity hits the hard data. This model tracks the permit cycle against its long-run trend and shades the market backdrop WARNING → CRISIS → RECOVERY. Historically the regimes line up with the recessions that were led by housing (2007–09 especially). An ARDL long-run signal turns the read into a single call.

1,374kLevel / Stage · Neutral
▼ BearTrend 6M vs 12M
−2.1% / −6.1%YoY / 2Y
−36k1M momentum
LATE CYCLELong-run signal · Reduce

Readout from the July run — the current set lives in the August regime report.

Written · releasing invite-only
Macro Stock Market Health Composite

Macro Stock Market Health Composite

macro composite12 signalsSingh MBA 2022

Twelve signals in two parts, summed into one MACRO BULL / BEAR read. The dissertation part keeps the weights from my 2022 MBA model: Dow Transports on a short-run move and on its 12-month trend, and the long-run building permits trend (each worth up to two points either way), then ISM manufacturing PMI, consumer sentiment and one-month-lagged employment (one point each), plus a late-cycle flag when employment is rising while permits fall. On top of that sits an overlay of five market-state signals that the dissertation did not test and the script labels as judgement: breadth (S&P 500 stocks above their 200-day average), the VIX, ISM prices paid, the 10-year yield against its 12-month average, and the 10-year minus 2-year curve. It’s the workhorse behind the composite regime score on the front page.

▲ MACRO BULLTotal score +6
53.3ISM PMI
45.1Consumer sentiment · washout
▼ −1Building permits drag
YESLate-cycle divergence

Readout from the July run — the current set lives in the August regime report.

Written · releasing invite-only
PMI + Sentiment Cycle Buy Indicator

PMI + Sentiment Cycle Buy Indicator

timingISM · sentiment · VIXSingh MBA 2022

Overlays ISM PMI, consumer sentiment and the VIX to time cycle entries — flagging STRONG BUY washouts (fear + a turning PMI) and BEAR exhaustion. Historically the washout-recovery signals cluster near major lows (2009, 2020). Current read is neutral: PMI expanding but sentiment momentum still negative.

53.3 ▲ISM PMI · expanding
+0.2/moPMI 3M momentum
−3.2/moSentiment momentum
16.1VIX · calm
◆ NEUTRALSignal

Readout from the July run — the current set lives in the August regime report.

Written · releasing invite-only

TR Pivots

highest measured hit rate
TR Pivots on a chart
TR Pivots on a live chart — the levels the indicator prints ahead of the session.

TR Pivots — Multi-Exchange, Multi-Session Pivot Levels

~86% touched in 24h8 exchanges5 timeframesBTC

Bitcoin doesn’t trade on one exchange, and it doesn’t roll its day over at one time. Bybit and Binance close the daily candle at 00:00 UTC. OKX runs on Asia time. Coinbase runs on US time. Kraken sits an hour off UTC.

So there isn’t one daily pivot for BTC. There are eight — sitting at slightly different prices, each watched by the traders on that venue. This plots all of them at once: eight exchanges, five timeframes (daily through yearly), each anchored to its venue’s own session timezone rather than a generic UTC approximation.

It also runs two pivot calculations simultaneously — Traditional (H+L+C)/3 and Woodie (H+L+2C)/4, which weights the close more heavily. Labels carry a T or W suffix so you always know which is which. When the two methods land close together, the level is stronger than when they disagree.

The read is the spacing, not the line. Where several venues and sessions stack within a few dollars, that band is being watched across three different books and three different trading days — and those clusters are invisible if you only plot pivots from the exchange you happen to be charting. Clusters mark decision points. Isolated single lines usually don’t.

Every level starts in its exchange colour and flips to white dotted the moment price trades through it. That one feature does most of the work: coloured levels above price are upside magnets that haven’t been visited, coloured levels below are downside magnets, and the white ones are spent — still useful as flipped support and resistance, but no longer a draw.

~86%touched within 24h of printing
8exchanges, own timezones
40data requests — the non-Professional limit

On that 86%. It is a hit rate, not a win rate — it says roughly 86 in 100 levels get touched within a day of appearing, which makes them reliable magnets. It says nothing about whether trading the touch makes money. That is the distinction that matters, and conflating the two is how people lose money with levels indicators. Use them as confluence for a directional idea, not as a signal on their own.

Two engineering notes worth stating: levels are calculated from each period’s completed data and do not repaint, and the script uses 40 external data requests, which is Pine’s limit on non-Professional TradingView plans (Professional plans allow 64 in Pine v6). Nothing further can be added that needs another symbol without pushing it past that limit for most users — eight venues across five timeframes with two methods is exactly what fits.

View on TradingView → · See the bot that trades it → · The level study →

Equal Body Levels + NPOC

where three timeframes agree
Equal Body Levels and NPOCs across daily, weekly and monthly timeframes
Daily in cyan, weekly in orange, monthly in pink — NPOCs in a darker shade of each. White dotted lines have already been hit and clear at the next weekly open.

Equal Body Levels + NPOC — Daily / Weekly / Monthly

confluenceD / W / Mequal bodiesNPOC

Most level tools draw wicks. Wicks are where price went and was rejected. This draws bodies — where price actually opened and closed, which is where the market settled rather than where it probed.

When two candles have their body tops at the same price, or their body bottoms at the same price, that is the market arriving at the same conclusion twice, independently. The script finds those matches within a six-tick tolerance and connects them with a line extending right: ▲ for a matched body top, ▼ for a matched body bottom.

Alongside them it projects the ◆ NPOC — a naked point of control, the level a period did its business around that price hasn’t returned to. All three run at daily, weekly and monthly resolution simultaneously, with NPOCs in a darker shade of each timeframe’s colour so you can tell the two families apart at a glance.

The point is the stack, not the line. A daily equal-body level on its own is weak. A daily body level, a weekly body level and a monthly NPOC landing in the same small band is three separate timeframes independently marking the same price — and that is where bounces come from. Running D, W and M together is what makes the confluence visible; running one timeframe alone throws the signal away.

What happens when a level is hit is configurable, and the default is the interesting one. On a touch — wick or body, either invalidates — the line turns white and dotted and stays that way until the next weekly open, when it clears. So the chart carries a rolling week of memory: live levels in colour, recently-spent levels in white, and everything older gone. The alternatives are Delete, which shows only untouched levels, and Keep, which freezes a hit level permanently.

An honest limitation, stated in the source. Without intrabar volume data, the NPOC here is the candle midpoint — (high+low)/2 — which is the standard single-candle proxy, not a true volume-profile POC. It behaves similarly and is what is available inside Pine; it is not the same thing, and anyone using it should know that.

The 503-session first-touch study is the counterweight to all of this: knowing where a level sits and knowing whether to fade it are different problems, and only the first is solved by drawing a line.

Written · releasing invite-only · Read the study →

Macro & rates

what the bond market is saying

LL 2s10s Yield Curve

macrodailyrecession signalalerts

Plots the gap between the US 10-year and 2-year Treasury yields — the most-quoted recession indicator in finance, and the one most consistently misread. It shades the spread green above zero and red below, and reads out which of the four curve movements is currently in play.

That last part is the reason the script exists. A spread that is widening tells you almost nothing on its own: it can mean the long end is selling off on growth and inflation, or it can mean the short end is collapsing because the market has decided the Federal Reserve is about to start cutting. Those two look identical if all you plot is the spread, and they point in opposite directions. The script separates them by checking whether yields overall are rising or falling alongside the gap.

The alert that matters. Not the inversion — the re-steepening. Every US recession since the 1960s was preceded by an inverted curve, but the lag has run from roughly six months to over two years, which makes inversion close to useless for timing. What has been far more consistent is the curve climbing back above zero after a sustained inversion, usually because short-term yields are falling fast. The script fires a dedicated alert on exactly that crossing.

The 2022–24 cycle is the counter-example. It produced the longest inversion on record, the curve un-inverted in August and September 2024, and no recession has followed through September 2026. One cycle does not overturn the six that came before it, but the sample is small, so I treat the crossing as the moment to pay attention rather than a call that a downturn has begun.

Inputs cover both symbols (defaults TVC:US10Y and TVC:US02Y), the lookback used to judge direction, and switches for the corner table and the zero-line shading.

Written · releasing on TradingView, invite-only

Read the full explainer → · See it live on the home page →

LL Recession & Inversion Bands

macroany chartNBERoverlay

The companion to the script above, and the one that makes the argument visible. Drop it on any price chart — the S&P, a single stock, Bitcoin — and it shades two things behind the candles.

Red marks every stretch where the 2s10s curve was inverted. Grey marks the eight official NBER US recessions since 1969, each labelled with how many months it ran: 18 for 2008, 16 for 1973–75 and again for 1981–82, 2 for COVID.

What you are looking for. The red always arrives first, often a year or more ahead. The grey band tends to open around the point where the red shading closes — the curve un-inverts as the Federal Reserve starts cutting, and that is when the downturn actually lands. Seeing the two colours side by side on a chart is considerably more persuasive than reading it in a paragraph.

Written · releasing on TradingView, invite-only

How the curve works →

Order-flow & price tools

SFP / WFP / MOM — Liquidity Reversal

3 trade gradessupply / demandPine v6

Three graded entry triggers in priority order. SFP (gold) is a swing failure — a two-candle liquidity sweep at a genuine pivot, filtered by pivot position and range expansion so mid-range chop is discarded; the close must land in the top or bottom quarter of the candle's range. WFP (grey) is the same idea without the sweep: price simply closes through the prior extreme — lower conviction, so it's graded separately rather than lumped in. MOM (purple) is a momentum break: a clustered supply or demand zone is broken by a close-through and confirmed by the next candle.

The design decision that matters is the suppression rule: near an active zone, SFP and WFP are muted and the script waits for MOM instead. Reversal signals into a wall of resting orders are where most sweep systems bleed, and grading them separately stops a low-conviction setup being sized like a high-conviction one.

Core logic (Pine v6)
// SFP — sweep a pivot low, close back in the top quarter
sfp_long = prev_red and cur_green and low < low[1]
           and close >= long_close_min and pivOKL and rfOK and not nearZ

// WFP — close through the prior high, no sweep required
wfp_long = prev_red and cur_green and low >= low[1] and close > high[1]

// MOM — zone broken by close-through, next candle confirms
if close > box.get_top(b)
    momL_state := 1
Written · releasing invite-only

Equal Body Levels

multi-timeframeNPOC

Plots D/W/M levels where two candles have matching body tops or matching body bottoms (within a six-tick tolerance), each with a naked point-of-control. A tested level turns white and dotted, then clears at the next weekly open.

Core logic (Pine v6)
// matched body top or body bottom, within tolerance ticks (default 6)
tol = tolTicks * syminfo.mintick
topMatch = math.abs(math.max(open, close) - math.max(open[1], close[1])) <= tol
botMatch = math.abs(math.min(open, close) - math.min(open[1], close[1])) <= tol
if topMatch
    line.new(bar_index, math.max(open, close), bar_index+off, math.max(open, close), extend=extend.right)
if botMatch
    line.new(bar_index, math.min(open, close), bar_index+off, math.min(open, close), extend=extend.right)
Written · releasing invite-only

More scripts in the pipeline

CVD Divergencesoon Opening Range Breakoutsoon Single Printsoon Supply / Demand Zonessoon Elliott Wave Helpersoon R:R Trade Plan Boxessoon Trading Journal Toolssoon