All indicators

RWMA: Range Weighted Moving Average

A moving average of the close where each bar is weighted by its own high to low range, so wide bars pull the line harder than narrow ones.

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

The Range Weighted Moving Average averages the close over the last period bars, but instead of counting each bar equally it weights each one by its range, high - low (never less than zero). The sum of close times range is divided by the sum of the ranges.

A wide bar, often one with a lot of participation behind it, pulls the average toward its close, while a narrow inside bar barely moves it. Until period bars exist, and on any window where every bar has zero range, the line shows the close itself.

How to read RWMA: Range Weighted Moving Average

Read it like any moving average, with one difference: it follows the bars that moved the most. After a large range bar the line jumps toward that bar's close, and a run of quiet bars leaves it almost where it was. Price holding above a rising line describes an uptrend, and below a falling line a downtrend.

Compare it with a simple average of the same length. When the range weighted line sits above the simple one, the wide bars closed higher than the narrow ones, which suggests the larger moves were up moves.

Settings

Period
How many bars are averaged. A longer period gives a smoother, slower line.

Frequently asked questions

Why weight by range instead of volume?

The range needs only the high and the low, so the average works the same on any instrument, with or without volume. It measures how far price travelled within the bar rather than how much traded.

What does it show on the first bars?

The close itself, until the window holds period bars. After that it is the range weighted average.

What happens on a run of bars with no range?

If every bar in the window has zero range there is nothing to weight by, so the line shows the close.

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.