Skip to main content
BTC / USDTCRYPTO107,400+2.19%ETH / USDTCRYPTO3,840+2.13%SOL / USDTCRYPTO182.40−1.99%BNB / USDTCRYPTO652.30+0.66%XRP / USDTCRYPTO2.2150+1.61%DOGE / USDTCRYPTO0.3850−1.79%TON / USDTCRYPTO5.240+2.34%AVAX / USDTCRYPTO42.60−2.07%LINK / USDTCRYPTO22.40+2.28%ADA / USDTCRYPTO1.0520−1.68%TRX / USDTCRYPTO0.3300+0.92%DOT / USDTCRYPTO8.420+2.93%BTC / USDTCRYPTO107,400+2.19%ETH / USDTCRYPTO3,840+2.13%SOL / USDTCRYPTO182.40−1.99%BNB / USDTCRYPTO652.30+0.66%XRP / USDTCRYPTO2.2150+1.61%DOGE / USDTCRYPTO0.3850−1.79%TON / USDTCRYPTO5.240+2.34%AVAX / USDTCRYPTO42.60−2.07%LINK / USDTCRYPTO22.40+2.28%ADA / USDTCRYPTO1.0520−1.68%TRX / USDTCRYPTO0.3300+0.92%DOT / USDTCRYPTO8.420+2.93%
Prezzi

ROC (Rate of Change)

Percentage momentum, unit-free across instruments — TradeStation and MetaStock code.

ROC expresses momentum as a percentage: how much price has changed over N bars relative to the prior close. Being unit-free, it compares cleanly across instruments; zero-line crosses and extremes flag momentum shifts. Copy the version for your platform.

EasyLanguage
inputs: Length(12);
variables: MyROC(0);
MyROC = RateOfChange(Close, Length);
Plot1(MyROC, "ROC");
MetaStock
{ROC - Rate of Change, period 12}
rocVal := ROC(C, 12);
rocVal

To use it inside dtcharts, paste any version into the Script Converter and it becomes a native indicator on your chart.