Indicators
Liquidity LlamaLiquidity LlamaMarkets · Macro · Crypto
Pine Script · TradingView · 29 published

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 is published on my TradingView profile.

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
View on TradingView →
Macro Stock Market Health Composite

Macro Stock Market Health Composite

macro composite8 inputsSingh MBA 2022

Eight macro inputs — Dow Transports, ISM PMI, consumer sentiment, employment, building permits, the Dow’s 12-month trend and a late-cycle divergence check — each scored short-run and long-run, then summed into one MACRO BULL / BEAR read. It’s the workhorse behind the composite regime score on the front page.

▲ MACRO BULLTotal score +6
53.1ISM PMI
45.1Consumer sentiment · washout
▼ −1Building permits drag
YESLate-cycle divergence
View on TradingView →
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.1 ▲ISM PMI · expanding
+0.2/moPMI 3M momentum
−3.2/moSentiment momentum
16.1VIX · calm
◆ NEUTRALSignal
View on TradingView →

TR Pivots

highest measured hit rate
TR Pivots on a chart
// drop assets/tr-pivots.png in to show it on a chart

TR Pivots

high hit ratepivotsvalue areaintraday

A pivot framework built on the prior session’s range — prior-day high and low, the open, value-area high and low, and the equilibrium midpoint — drawn as live levels. Today’s levels extend to the right edge with labels pinned there; once the day rolls, they freeze in place so old sessions don’t pile into a wall of lines.

The detail that makes it work is how a level counts as tested. Most pivot scripts check whether price touched a level, which quietly misses gaps — price closes one side, opens the other, and never trades through. TR Pivots counts gaps as taps, so a level that price jumped is correctly marked as used rather than sitting on the chart pretending to be untested.

Of everything on this page, this is the tool with the strongest measured hit rate. The discipline behind that figure matters as much as the figure: it comes from testing every level type across a full sample, including the ones that turned out to be coin flips.

Send me the exact hit rate and the sample it was measured on, and I’ll put the number here with its caveats — I’d rather publish a precise figure than a rounded claim.
View on TradingView → · See the level study →

Order-flow & price tools

Liquidity Sweep & Reclaim

order blocksCOT / COC

Marks body-based order blocks, then fires on a sweep-and-reclaim — price takes prior liquidity and closes back inside within two candles. COT and COC patterns are independently toggleable.

Core logic (Pine v6)
// sweep + reclaim within 2 candles
sweepLow = low < ta.lowest(low[1],look) and close > ta.lowest(low[1],look)
cocLong = enableCOC and sweepLow and close > open
if cocLong
    label.new(bar_index, low, "▲")
View on TradingView →

Equal Body Levels

multi-timeframeNPOC

Plots D/W/M levels where consecutive candle bodies close equal (within a tick tolerance), each with a price box and naked point-of-control. Tested levels fade to dotted but keep their label.

Core logic (Pine v6)
// equal body within tolerance ticks
tol = tolTicks * syminfo.mintick
equalBody = math.abs(close-close[1]) <= tol and math.abs(open-open[1]) <= tol
if equalBody
    line.new(bar_index, close, bar_index+off, close, extend=extend.right)
View on TradingView →

More published scripts

See all 29 →

Send me the exact script titles + URLs and I’ll link each one directly, with its own screenshot.