OPEN-SOURCE SCRIPT
Move Strength Index

Overview
An accurate relative-volume indicator with a genuinely clear signal:
column height shows the relative-volume multiple, color intensity
separately highlights which of those bars are actually unusual for that
specific symbol, and a distinct compression color flags the specific
case where heavy volume produces almost no range — a classic
effort-without-result signature that often precedes a sharp move.
How it's calculated
Relative volume is current volume divided by a smoothed (RMA) average of
the *prior* bars — the still-forming bar is excluded from its own
baseline (a common flaw in naive relative-volume scripts, which quietly
dampens real spikes), and the smoothed baseline decays gradually rather
than using a fixed rolling window, avoiding the "step" artifact that
occurs when an old outlier bar abruptly exits a fixed-length SMA window.
Color intensity is driven by the bar's percentile rank against its own
trailing history (default 100 bars), not a fixed multiple — a fixed
brightness cutoff only produces contrast if the symbol regularly reaches
that multiple, whereas percentile rank self-calibrates so the loudest
days for any given symbol are always vivid and quiet days are always
dim.
Direction is close vs. open — the same test used to color the candles on
the price chart itself, so MSI's green/red always agrees with what the
candle next to it shows.
A bar is recolored yellow (compression) when its volume ranks high
(top percentile, same threshold used for alerts) but its high-low range
is unusually narrow relative to ATR — heavy participation that isn't
moving price, which typically means one side is being absorbed at that
level. The live, still-forming bar is dimmed by default, since its
partial volume will always understate true relative volume until the
bar closes.
How to use it
Column height is the relative-volume multiple directly — a bar at 2.0
traded at twice its recent baseline volume. Brightness tells you whether
that reading is actually unusual for this symbol; a tall but dull column
means the symbol just runs volatile volume normally, while a vivid
column is a genuine standout. Green/red tells you which side controlled
the bar. A yellow bar is the one to watch closely — high volume with
nothing to show for it in price, often the setup before a breakout or
breakdown. Alerts fire separately for strong buying, strong selling, and
compression. On a symbol with no real volume data, the script raises a
clear error instead of rendering a blank pane.
An accurate relative-volume indicator with a genuinely clear signal:
column height shows the relative-volume multiple, color intensity
separately highlights which of those bars are actually unusual for that
specific symbol, and a distinct compression color flags the specific
case where heavy volume produces almost no range — a classic
effort-without-result signature that often precedes a sharp move.
How it's calculated
Relative volume is current volume divided by a smoothed (RMA) average of
the *prior* bars — the still-forming bar is excluded from its own
baseline (a common flaw in naive relative-volume scripts, which quietly
dampens real spikes), and the smoothed baseline decays gradually rather
than using a fixed rolling window, avoiding the "step" artifact that
occurs when an old outlier bar abruptly exits a fixed-length SMA window.
Color intensity is driven by the bar's percentile rank against its own
trailing history (default 100 bars), not a fixed multiple — a fixed
brightness cutoff only produces contrast if the symbol regularly reaches
that multiple, whereas percentile rank self-calibrates so the loudest
days for any given symbol are always vivid and quiet days are always
dim.
Direction is close vs. open — the same test used to color the candles on
the price chart itself, so MSI's green/red always agrees with what the
candle next to it shows.
A bar is recolored yellow (compression) when its volume ranks high
(top percentile, same threshold used for alerts) but its high-low range
is unusually narrow relative to ATR — heavy participation that isn't
moving price, which typically means one side is being absorbed at that
level. The live, still-forming bar is dimmed by default, since its
partial volume will always understate true relative volume until the
bar closes.
How to use it
Column height is the relative-volume multiple directly — a bar at 2.0
traded at twice its recent baseline volume. Brightness tells you whether
that reading is actually unusual for this symbol; a tall but dull column
means the symbol just runs volatile volume normally, while a vivid
column is a genuine standout. Green/red tells you which side controlled
the bar. A yellow bar is the one to watch closely — high volume with
nothing to show for it in price, often the setup before a breakout or
breakdown. Alerts fire separately for strong buying, strong selling, and
compression. On a symbol with no real volume data, the script raises a
clear error instead of rendering a blank pane.
오픈 소스 스크립트
트레이딩뷰의 진정한 정신에 따라, 이 스크립트의 작성자는 이를 오픈소스로 공개하여 트레이더들이 기능을 검토하고 검증할 수 있도록 했습니다. 작성자에게 찬사를 보냅니다! 이 코드는 무료로 사용할 수 있지만, 코드를 재게시하는 경우 하우스 룰이 적용된다는 점을 기억하세요.
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.
오픈 소스 스크립트
트레이딩뷰의 진정한 정신에 따라, 이 스크립트의 작성자는 이를 오픈소스로 공개하여 트레이더들이 기능을 검토하고 검증할 수 있도록 했습니다. 작성자에게 찬사를 보냅니다! 이 코드는 무료로 사용할 수 있지만, 코드를 재게시하는 경우 하우스 룰이 적용된다는 점을 기억하세요.
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.