← All indicator tools

Indicator Lab · VHF · Trend structure

Vertical Horizontal Filter

Compares rolling range width with the sum of absolute price changes.

BTCUSDC · 1h · latest 30 complete days · shared snapshot · no account required

VHF · Trend structureBTCUSDC · 1h · 30 days

How large is price-range width relative to the entire back-and-forth distance traveled?

Compares rolling range width with the sum of absolute price changes.

One dataset, the same parameters and the same candle for application and explanation.

BTCUSDC · confirmed hourly candles

Snapshot retrieved: 11 Oct 2026, 15:52 UTC · stored snapshot · background refresh scheduled · age when opened: 3,137.3 min

11 Sept 2026, 15:00 — 11 Oct 2026, 15:00 UTC · 720 evaluation candles · 3000 earlier candles for warm-up only. Your opened snapshot stays fixed. A visit can refresh a stale cache in the background for later visitors; fetching fresh is not a tick stream.

Parameters and precise application

Number of confirmed hourly candles. Warm-up history stays fixed; only this parameter changes.

Base rule with this filter

Spot long/cash: BUY only on a confirmed EMA10 crossing above EMA30 AND VHF ≥ 0.30. SELL on the reverse cross regardless of the filter. No catch-up entries. Next open with costs; control: the same EMA rule without the filter.

Shared capital and cost model

Includes the buy fee; the remainder stays in cash.

One adverse markup/markdown. Do not add spread a second time.

1 = next open. No retroactive trade at the signal close.

Preparing the calculation module. The shared market snapshot is already available.

Calculation and interpretation of the same candle

High values indicate a relatively direct historical path; the filter can restrict entries of a separate directional rule.

(maxₙ(C)−minₙ(C))/Σₙ|ΔC|

Rolling full windows; flat denominator unavailable.

Direction is lost in the range and absolute values. A high value alone justifies neither BUY nor SELL.

Checked sources and reproducibility

Data source, versions and hash
Market data source
https://data-api.binance.vision/api/v3/klines?symbol=BTCUSDC&interval=1h&startTime=1778338800000&endTime=1791730799999
Specification
indicator-library-1.0.0
Execution model
signal-simulation-1.0.0
Data hash
42ac75e03e017bcac023d319dabb0928e0562fda0e51f4bfa5549ac50e3e8be4
Disclosed candles including warm-up
3720

The sources support definitions and methodological limits. They do not establish profit for this specific BTCUSDC rule. This analysis is descriptive; parameter trials on the same history are not independent out-of-sample evidence. Parity with a deployed unCoded engine is not claimed.

    Vertical Horizontal Filter · Interactive trading tool | unCoded