All indicators

Time Weighted Average Price (TWAP)

The plain running average of price since the chosen period began, where every bar counts once regardless of how much traded in it.

BTCUSD1h
Fixed data to Oct 6, 2026, UTC
Loading the chart

Time Weighted Average Price is the simple mean of the source over every bar since the current period started. Each bar's source value, the average of open, high, low and close by default, is added to a running sum, the bar count goes up by one, and the line is the sum divided by the count. When a new period begins both are cleared and the average starts again from that bar.

The period is set by the Session Reset menu. Intraday choices from one minute to four hours split each trading session into buckets counted from its first bar (the first bar of each calendar day where no session hours are known), 1D resets at each new calendar day, 1W at each Monday, and the monthly, quarterly, half-year and yearly choices at the start of each calendar period. Never keeps one average from the first bar of the chart. All boundaries are read in the chart's timezone.

Unlike a volume weighted average, a busy bar and a quiet bar carry exactly the same weight, so the line shows where price has spent its time rather than where most of the trading happened. A missing source value is counted as zero.

How to read Time Weighted Average Price (TWAP)

Read the line as the fair average price of the period so far. Price trading above it is higher than its average over the period so far; below it, lower. Execution desks use it as a benchmark: a buy filled below the TWAP of its period was a better than average fill.

Early in a period the line follows price closely because it averages only a few bars, and it becomes steadier as the period fills. Just after each reset it jumps to the new bar's price, so a crossing near a boundary says little.

Settings

Source
The price averaged on each bar. The default is the average of open, high, low and close.
Session Reset
When the running average starts again: an intraday bucket, a day, a week, a calendar month, quarter, half-year or year, or never.

Frequently asked questions

How does it differ from VWAP?

VWAP weights each bar by its volume, so heavy bars pull the average towards them. TWAP gives every bar the same weight, so it reflects time spent at a price rather than volume traded there.

Why does the line jump at certain bars?

Those are the reset bars. When a new period starts, the average begins again from that bar's source value, so it lands right on the price and then settles as more bars arrive.

What does an intraday reset shorter than the chart interval do?

On an hourly chart a reset of one hour or less starts a new bucket on every bar, so the line simply equals each bar's source value.

Write your own in OpenScript

Every study here is plain OpenScript. Change a setting, combine two, or turn one into a strategy, then backtest it in /trading and run it in sandbox trading (analyzer mode in OpenAlgo) before going further.