MotiveWave Docs
MotiveWave.com
  • User Guide
    • Welcome
    • Quick Start Guide
      • Getting Started
      • Installation
      • Customization Options
      • Advanced Features
      • Troubleshooting and Support
      • Next Steps
    • Console Overview
      • Preferences
      • Changing the Look and Feel
      • Desktops
      • Quote Sheets
      • Backup and Restore
      • Repository
      • Email Configuration
      • Docking Framework Guide
        • Introduction
        • Stations
        • Pages
        • Layouts
        • Customization
    • Accounts Panel
      • Simulated Account
      • Commissions
    • Alerts
    • Charts
      • Settings
      • Chart Spacing
      • Bar Sizes
      • Importing Data
      • Exporting Data
      • Birds Eye View
      • Cursor Data
      • Depth Of Market
      • Chart Labels
      • News
      • Watermark
      • Scaling
      • Analyses
      • Ratios
      • Time and Price Guides
      • Percent Change Charts
      • Software Development Kit
      • Lock Studies
      • Lock Scroll
      • Study Templates
      • Linking Charts
      • Working With Chart Windows
      • Ticker Tape
      • Chart Trading
      • Data Export Groups
      • Analyses Guide
        • Introduction
        • Managing Analyses
        • Sharing Analyses
    • Components
    • Depth Of Market
    • Elliott Wave
    • Hurst Cycles
      • Introduction
      • Study Overview
      • Using the Hurst Cycle Study
    • Instruments
      • Custom Instruments
    • Option Chain
    • Order Flow
      • Introduction
      • Time Price Opportunity (TPO) Study
      • Volume Imprint
      • Depth of Market
      • Time and Sales
      • Delta Volume
      • Cumulative Delta
      • Bid/Ask Volume
      • Speed of Tape
      • DOM Power
      • Order Heatmap
      • Big Trades
      • Speed Gauges
      • Components
    • Pages
    • Preferences
      • General
      • Theme
      • Chart
      • Toolbar
      • Sounds
      • Ratios
      • Elliott Wave
      • Harmonics
      • Historical Data
      • Orders
      • Alerts
      • Email
      • Trade History
      • Buy/Sell
    • Replay Mode
    • Scanner
      • Scanner
      • Creating a Scan
      • Executing a Scan
      • Editing a Scan
      • Elliott Wave Scanner
      • Harmonic Scanner
      • Study Scanner
    • SDK Programming Guide
      • Preface
      • Change History
      • Introduction
      • Fundamental Classes
      • Overlay Example
      • Study Plot Example
      • Drawing Figures
      • Signals
      • Tick Data
      • Strategies
      • Logging
      • Internationalization
      • Deployment
      • Environment Setup
    • Shortcuts
    • Strategies & Backtest
      • Strategy Back Testing
      • Creating a Strategy Analysis
      • Strategy Analysis
      • Strategies
    • Studies
    • Time and Sales
    • Tool Bar
    • Trade Report
    • Watch List
    • Workspaces
  • Release Notes
    • Release Notes
    • What's New In Version 6.5
    • What's New in Version 6.4
    • What's New in Version 6.3
    • What's New in Version 6.1
    • What's New in Version 6.0
  • Knowledge Base
    • Getting Started
      • Add a Symbol to a Watch List
      • Create a New Page
      • Create a New Workspace
      • Free Data Sources
      • Linux Installation
      • Resize Console Panels
      • Set Up a Simulated Account
      • Does MotiveWave Come With Data?
      • Can MotiveWave Be Used on Multiple Computers?
      • Futures Symbol Table
    • Connection
      • Connection Details
      • Add a Connection to a Workspace
      • Rithmic - Connection Issues and Troubleshooting
      • Connect MotiveWave to R|Trader Pro Gateway
      • GAIN Connection
      • Indian Market Connections
      • Interactive Brokers Connection
        • Troubleshooting Interactive Brokers Connection
        • Historical Data is Slow with Interactive Brokers
      • CQG Symbology
      • TD Ameritrade Search
      • Rithmic Eurex Symbology
      • Computer Sleep Mode
      • IQFeed Data
      • Another Instance of MotiveWave Is Using License Key
    • Workspace
      • Add a Connection to a Workspace
      • Create a New Workspace
      • Create a Workspace Backup
      • Restore a Workspace Backup
      • Switch Connections in a Workspace
      • Workspaces Not Showing Up
    • Charts
      • Adjust for a Stock Split
      • Assign Trading Hours to an Instrument
      • Component and Study Visibility
      • Different Charts for the Same Instrument
      • Make Studies Stick to a Chart
      • Trend Lines Don't Line up on Different Bar Sizes
      • Use a Display Mask
      • Create Tick, Range, PnF, or Renko Chart
      • Clicking on the Tab of One Chart Changes Tab of Other Charts
      • Charts Stopped Streaming Data
      • Charts Show Incorrect Historical Data
      • Time Range Measurements Are Incorrect
      • Limited Tick Data on Charts
      • Set Start Time for Chart Bars
      • View List of Studies and Components on Chart
      • Show ETH or Extended Data
    • Trading
      • Position Average Is Changing Overnight
      • Execute Trades on Another Account
    • General
      • Change Themes
      • Define Trading Hours
      • Futures Contract Backfill
      • Reset the Console Layout
      • Set a Default Account
      • Set Up a Repository
      • Set Up Gmail for Email Alerts
      • Set Up iCloud Mail for Email Alerts
      • MotiveWave Covers Windows Taskbar
      • Limit Instruments in Quick Search
      • Can’t See My Menu Anymore
      • Trade Report Is Incorrect
    • Study
      • Component and Study Visibility
      • Order Heatmap Study Not Showing
      • Forex With Volume Related Studies
      • Add a Custom Study
      • Volume Imprint or TPO Overlap
      • Use Real Values
    • Elliott Wave
      • Elliott Wave Data Window vs Start Date
      • Elliott Wave Functionality
      • Show Multiple Elliott Wave Ratios
      • Stacked Wave Labels
    • Scan
      • What Do the Scanner Results Fair, Good, Etc. Mean?
    • SDK
      • Create a Custom Study or Strategy
    • Optimize - Backtest
      • Backtesting Limitations
    • Support
      • Access Log Files
      • Active Session Exists
      • Create a Workspace Backup
      • Find My License Key and Edition
      • Minimum System Requirements
      • MotiveWave Extensions Directory
      • Uninstall MotiveWave
      • Data Loss
      • Trendlines Shift on Nonlinear Charts
      • Slow Application Performance
    • Error Messages
      • Forex.com - Error Placing Order: 75
      • Binance - Connection Failed: Invalid API Key
      • Binance Futures - Unable to load listen keys
      • IQFeed - Error: Index 1 out of bounds for length 1
      • IQFeed - Connection Failed
      • State Error
      • Error Placing Order(s)
    • Purchase
      • Upgrade from a Lease to a Purchased License
      • Upgrade from a Lower Edition Purchased License to a Higher Edition Purchased License
      • Recently Purchased Where Is My License Key?
      • PayPal Payments
      • How Do I Cancel My Lease?
      • Are Updates to the Software Free?
    • FAQ
      • Can I Add Commentary
      • Can I Have a Simulated and a Live Trading Account
      • Can I Have More Than One Broker Account
      • Can I Save My Analysis
      • Can I Trade from the Chart
      • Can I Use MotiveWave on Multiple Computers
      • Does MotiveWave Support macOS
      • Does MotiveWave Support Multiple Computer Screens
      • How Do I Log in to MotiveWave
      • How Do I Make Point & Figure and Hybrid Renko Charts
      • How Do I Position and Size the Chart Windows on a Specific Screen
      • How Do I Save My Charts
      • How Do I Sync MotiveWave Between Two Computers
      • What Instruments Does MotiveWave Support
      • What Is Compact Mode for Chart Windows
      • Where Are the Chart Tools
  • Video Tutorials
    • Product Demos
    • Startup and Installation
    • Workspaces
    • Broker and Data Feed Connections
    • Overviews
    • General Configuration
    • Configuring Preferences
    • Charts
    • Analyses vs Alternate Analyses
    • Studies and Strategies
    • Trading
    • Alerts
    • Replay Mode
    • Scanners
    • Fibonacci
    • Harmonics
    • Elliott Wave
    • Webinars
    • Third Party Webinars
  • Studies
    • A - B
    • C - D
    • E - F
    • G - H
    • I - J
    • K - L
    • M - N
    • O - P
    • Q - R
    • S - T
    • U - V
    • W - X
    • Y - Z
Powered by GitBook
On this page
  • QStick
  • Rahul Mohindar Oscillator (RMO)
  • Rainbow A
  • Rainbow B
  • Rainbow C
  • Rainbow Oscillator
  • Rate of Change
  • Rate Of Change From Start
  • Relative Momentum Alternative Index
  • Relative Momentum Index
  • Relative Vigor Index
  • Relative Strength Index (RSI)
  • Relative Volatility Index
  • Relative Volume (RVOL)
  • RSI Bars
  • R Squared
  • RSI Divergence
  • Reversing MACD
  1. Studies

Q - R

PreviousO - PNextS - T

Last updated 5 months ago

Disclaimer: The information provided on this page is strictly for informational purposes and is not to be construed as advice or solicitation to buy or sell any security. Please see our .

How to access the studies in MotiveWave:

Go to the top menu, choose Study>Study Group>Study Name

or Go to the top menu, choose Study>All Studies> Start typing in the study name until you see it appear in the list> Click on the study name> Click OK.

QStick

The QStick was authored by Tushar Chande. It identifies trends by plotting an N-period moving average of the differences between the opening and closing prices. Values greater than 0 indicate the majority of the last ‘N’ days have been up (buying pressure is increasing). The user may change the method (SMA) and period length. This indicator’s definition is further expressed in the condensed code given in the calculation below.

How To Trade Using QStick

No trading signals are calculated for this indicator.

Calculation

//method = moving average (ma), user defined, default is SMA //period = user defined, default is 20 //diff = difference, index = current bar number

diff = getClose(index) - getOpen(index);
Plot: ma = ma(method, index, period, DIFF);

Rahul Mohindar Oscillator (RMO)

Traders can use the RMO chart to identify major trend directions. Bullish and bearish trends can be recognized when price movements cross above and below the zero line. The buy and sell signals are generated according to the price actions shown in the RMO. Traders should take caution when following the signals in the instrument chart, as the signals might not reflect accurate trading signals and need to be used in conjunction with the RMO.

For short-term trends, users can enable Swing Trade 2, a medium-term line, and Swing Trade 3, a long-term line. The short-term signals can be identified through the crossovers between these two Swing Trade lines.

How to trade using Rahul Mohindar Oscillator (RMO)

The zero line acts as a reference line for buy/sell signs. Movement above the zero line indicates a buy signal, as it presents a bullish trend, in the long term. Meanwhile, movement below the zero line suggests a sell opportunity, as it shows a bearish trend, in the long term. While the buy and sell signals are displayed on the instrument charts, only specific signals should be considered. Only the buy signals that are in a bullish trend ( above the zero line in the RMO chart) are valid, and only the sell signals that are in a bearish trend (below the zero line in the RMO chart) should be taken into account.

The RMO can also suggest short-term trading opportunities using the Swing Trade lines. If the Swing Trade 2 line (medium term) is above the Swing Trade 3 line (long term), and their crossover is on a bullish trend, it indicates a buying opportunity in the short term. Conversely, when the Swing Trade 2 line is below the Swing Trade 3 line, and their crossover point is on a bearish trend, it suggests an opportunity to sell, in the short term.

Rainbow A

Rainbow A was authored by Mel Widner in the Stocks and Commodities Magazine 07/1997. It is a colorful display of two smoothed moving averages. A moving average is considered a trend indicator. The user may change the input (close), method (SMA), period length and colors. This indicator’s definition is further expressed in the condensed code given in the calculation below.

How To Trade Using Rainbow A

Rainbow A may be used as a trend indicator in conjunction with other studies. No trading signals are given.

Calculation

//input = price, user defined, default is close //method = moving average = ma, user defined, default is SMA //period = user defined, default is 2

avg1 = ma(method, period, input);
avg2 = ma(method, period, avg1);
avg3 = ma(method, period, avg2);
avg4 = ma(method, period, avg3);
avg5 = ma(method, period, avg4);
avg6 = ma(method, period, avg5);
avg7 = ma(method, period, avg6);
avg8 = ma(method, period, avg7);
Plot1: avg9 = ma(method, period, avg8);
Plot2: avg10 = ma(method, period, avg9);

Rainbow B

Rainbow B was authored by Mel Widner in the Stocks and Commodities Magazine 07/1997. It is a colorful display of six smoothed moving averages. A moving average is considered a trend indicator. The user may change the input (close), method (SMA), period length and colors. This indicator’s definition is further expressed in the condensed code given in the calculation below

How To Trade Using Rainbow B

Rainbow B may be used as a trend indicator in conjunction with other studies. No trading signals are given.

Calculation

//input = price, user defined, default is close //method = moving average = ma, user defined, default is SMA //period = user defined, default is 2

avg1 = ma(method, period, input);
avg2 = ma(method, period, avg1);
avg3 = ma(method, period, avg2);
avg4 = ma(method, period, avg3);
Plot1: avg5 = ma(method, period, avg4);
Plot2: avg6 = ma(method, period, avg5);
Plot3: avg7 = ma(method, period, avg6);
Plot4: avg8 = ma(method, period, avg7);
Plot5: avg9 = ma(method, period, avg8);
Plot6: avg10 = ma(method, period, avg9);

Rainbow C

Rainbow C was authored by Mel Widner in the Stocks and Commodities Magazine 07/1997. It is a colorful display of ten smoothed moving averages. A moving average is considered a trend indicator. The user may change the input (close), method (SMA), period length and colors. This indicator’s definition is further expressed in the condensed code given in the calculation below.

How To Trade Using Rainbow C

Rainbow C may be used as a trend indicator in conjunction with other studies. No trading signals are given.

Calculation

//input = price, user defined, default is close //method = moving average = ma, user defined, default is SMA //period = user defined, default is 2

Plot1: avg1 = ma(method, period, input);
Plot2: avg2 = ma(method, period, avg1);
Plot3: avg3 = ma(method, period, avg2);
Plot4: avg4 = ma(method, period, avg3);
Plot5: avg5 = ma(method, period, avg4);
Plot6: avg6 = ma(method, period, avg5);
Plot7: avg7 = ma(method, period, avg6);
Plot8: avg8 = ma(method, period, avg7);
Plot9: avg9 = ma(method, period, avg8);
Plot10: avg10 = ma(method, period, avg9);

Rainbow Oscillator

Rainbow Oscillator by Mel Widner, Stocks and Commodities Mag. 07/1997, is a trend-changing indicator. The user may change the input (close), period length and level number. This indicator’s complex definition is expressed in the condensed code given in the calculation below.

How To Trade Using Rainbow Oscillator

No trading signals are given for this indicator.

Calculation

//input = price, user defined, default is closing price //period = user defined, default is 10 //levels = user defined, default is 2 //index = current bar number

Plot1: rbw = rainbowBw(index, period, levels, input);
Plot2: -rbw;
Plot3: ro = rainbowOsc(index, period, levels, input);
....
Method rainbowOsc(index, period, totLevels, Object input)
    av[] = new [totLevels * period];
    int counter = 0;
    for (level = 0; level lessThan totLevels; level++ )
        counter = 0;
        for (i = index; i lessTthan index + period; i++ )
            pnt = (level * period) + counter;
            if (level == 0) av[pnt] = sma(i, period, input);
            if (level moreThan 0) av[pnt] = average(av, pnt-1, period);
            counter++;
        endFor
    endFor
highest = highest(index, period, input);
lowest = lowest(index, period, input);
if (highest - lowest == 0) return 0;
value = price[index];
avAv = average(av, (totLevels-1) * period, period);
rbo = 100 * ((value - avAv) / (highest - lowest));
return rbo;
endMethod
....
Method rainbowBw(index, period, totLevels, Object input) 
size = totLevels*period;
av[] = new double[size];
counter = 0;
for (level = 0; level lessThan totLevels; level++ )
    counter = 0;
    for (i = index; i lessThan index + period; i++ )
        pnt = (level * period) + counter;
        if (level == 0) av[pnt] = sma(i, period, input);
        if (level moreThan 0) av[pnt] = average(av, pnt-1, period);
        counter++;
    endFor
endFor
highest = highest(index, period, input);
lowest = lowest(index, period, input);
if (highest - lowest == 0) return 0;
value = input[index];
hiAv = maxValue(av, (totLevels-1)*period, period);
lowAv = minValue(av, (totLevels-1)*period, period);
if (value moreThan hiAv) hiAv = value;
if (value lessThan lowAv) lowAv = value;
rbBw = 100 * ((hiAv - lowAv) / (highest - lowest));
return rbBw;
endMethod
....
Method average(av[], index, period) 
total = 0;
for (i = index; i moreThan index-period; i--) 
    total = total + av[i];
endFor
average = total / period;
return average;      
endMethod
....
Method maxValue(av[], index, period) 
max = 0;
for (i = index; i moreThan index-period; i--) 
    if(av[i] moreThan max) max = av[i];
endFor
return max;      
endMethod
....
Method minValue(av[], int index, int period) 
min = av[index];
for (i = index; i moreThan index-period; i--) 
    if(av[i] lessThan min) min = av[i];
endFor
return min;
endMethod
.... 

Rate of Change

The Rate of Change (ROC) is an oscillator that compares the current closing price with the closing price N periods ago. The result is a line that oscillates above and below zero. The second line is an exponential moving average of the first line. The user may change only the period length. This indicator’s definition is further expressed in the condensed code given in the calculation below

How To Trade Using Rate Of Change

Adjust the top and bottom guides to control the quantity and quality of the trading signals. If the ROC crosses above the SIG a sell signal will be generated, Conversely, if the ROC crosses below the SIG a buy signal will be given.

Calculation

//period = user defined, default is 12 //period = user defined, default is 20 //method = moving average (ma), user defined, default is EMA //roc = rate of change //index = current bar number

ROC = roc(index,  period, close)*100;
SIG = ma(method, index, maPeriod, ROC);
// Signals
buy =  crossedAbove(ROC, SIG);
sell = crossedBelow(ROC, SIG);

Rate Of Change From Start

The Rate Of Change From Start (ROCFS) was authored by Omega Research, 1996. The ROCFS uses the first price and the current price to create its value. The user may change only the input (close). This indicator’s definition is further expressed in the condensed code given in the calculation below.

How To Trade Using Rate Of Change From Start

No trading signals are calculated for this indicator.

Calculation

//input = price, user defined, default is closing price //index = current bar number

if (index == 0)
    firstP = price;
endIf
Plot: rocfs = (price * 100) / firstP - 100;

Relative Momentum Alternative Index

The author of the Relative Momentum Alternative Index (RMAIX) is unknown. The RMAIX uses momentum and feedback to create its oscillator value. Adjustable guides are given to fine-tune the signals. The user may change the input (close), method (SMA), period lengths and guide values. This indicator’s definition is further expressed in the condensed code given in the calculation below.

How To Trade Using Relative Momentum Alternative Index

Adjust the top and bottom guides to control the quantity and quality of the trading signals. RMAIX values above 70 to 90 are considered to be overbought and therefore offer an opportunity to sell. DSS values below 30 to 10 are considered oversold and present an opportunity to buy. If the RMAIX peaks above the top guide a sell signal will be generated. Conversely, if the RMAIX troughs below the bottom guide a buy signal will be given. The 50 line divides the bulls above from the bears below.

Calculation

//input = price, user defined, default is closing price //method = moving average (ma), user defined, default is SMA //period = user defined, default is 14 //lookBack = user defined, default is 10 //diff = difference, prev = previous //avg = average, index = current bar number

maUp = 0, maDn = 0;
rmaix = 0;
diff = momentum(index, lookBack, input);
up = 0, down = 0;
if (diff moreThan 0) up = diff;
else down = abs(diff);
if (index == period + lookBack)
    maUp = ma(method, index, period, up);  //initial default value for prevAvgUp
    maDn = ma(method, index, period, down); //initial default value for prevAvgDn
endIf
prevAvgUp = ifNull(maUp, avgUp[index-1]);
prevAvgDn = ifNull(,maDn, avgDn[index-1]);
avgUp =  (prevAvgUp * (period - 1) + up) / period;
avgDn = (prevAvgDn * (period - 1) + down) / period;
if (avgUp + avgDn != 0) rmaix = 100 * avgUp / (avgUp + avgDn);
Plot: rmaix;
//Signals
double prevR = rmaix[index-1];
highSell = rmaix for last sell signal, reset to max_negative at each  buy signal;
lowBuy = rmaix for last buy signal, reset to max_positive at each sell signal;
sell = (rmaix moreThan topGuide) AND (prevR moreThan rmaix) AND (rmaix moreThan highSell);
buy = (rmaix lessThan bottomGuide AND prevR lessThan rmaix) AND (rmaix lessThan lowBuy);

Relative Momentum Index

The Relative Momentum Index was developed by Roger Altman. This index uses momentum and feedback and is somewhat similar to the Relative Strength Index. The user may change the input (close) and period length. This indicator’s definition is further expressed in the condensed code given in the calculation below.

How To Trade Using Relative Momentum Index

The Relative Momentum Index may be used in conjunction with other studies. No trading signals are given for this indicator.

Calculation

//input = price (user defined, default is closing price) //period = user defined, default is 20 //prev =previous, index = current bar number //LOE = less or equal, MOE = more or equal

mon = momentum(index, period, input);
mu = mon;
md = mon;
prevMu = ifNull(mon, mu[index-1]);  //returns mom as initial default value
prevMd = ifNull(mon, md[index-1]);  //returns mom as initial default value
if (mon MOE 0) mu = prevMu -(prevMu / period) + mon;
if (mon LOE 0) md = prevMd -(prevMd / period) + abs(mon);
rm = mu/md;
Plot: rmix = 100 * (rm / (1 + rm));

Relative Vigor Index

The Relative Vigor Index (RVI) assumes the premise that, in a bull market the closing price is typically above the opening price and vice versa for a bear market. Therefore the vigor (or energy) of the move is established by, where the prices end up at the close. The formula for the RVI = SMA((CLOSE-OPEN)/(HIGH-LOW)). The user may change the period lengths. This indicator’s definition is further expressed in the condensed code given in the calculation below.

How To Trade Using Relative Vigor Index

If the RVI crosses above the SIG a sell signal will be generated, Conversely, if the RVI crosses below the SIG a buy signal will be given.

Calculation

//period = user defined, default is 10 //period = user defined, default is 4 //sma = simple moving average //wma = weighted moving average //index = current bar number

rv = (close - open) / (high - low);
Plot1: RVI = ma("SMA", index, period, RV);
// Calculate the signal (requires 4 previous values)
Plot2: sig = ma("WMA", index, period2, RVI);
// Signals
buy =  crossedAbove(RVI, SIG);
sell = crossedBelow(RVI, SIG);

Relative Strength Index (RSI)

The Relative Strength Index (RSI) was authored by Welles Wilder. RSI is a Momentum Oscillator that measures the velocity and magnitude of directional price movement by comparing upward and downward movements. Different versions of the RSI exist. The differences are mainly with the Moving Average method used. Wilder used a Smoothed Moving Average (SMMA), others used EMA or SMA (Cutler's version). RSI is a popular indicator that helps in identifying overbought and oversold conditions, as well as trading opportunities. The user may change the input (close), method (SMMA), period length and guide values.

How To Trade Using the RSI

Adjust the top and bottom guides to control the quantity and quality of the trading signals. If the RSI crosses above the top guide (above 70), an overbought fill will be generated, and therefore offer an opportunity to sell. Conversely, if the RSI crosses below the bottom guide (below 30), it is considered oversold and present an opportunity to buy. The 50 line divides the bulls above from the bears below.

The RSI can also be used to recognize divergence, thus potential reversals. When the price makes lower lows but the RSI presents higher lows, it indicates a potential reversal to uptrend. When the price makes higher highs but the RSI shows lower highs, it suggests a possible downtrend reversal.

RSI might be used in conjunction with other technical analyses to confirm trends, signals or market volatility , such as moving averages - MACD, EMA, SMA or Stochastic Oscillator.

Calculation

RSI’s definition is further expressed in the condensed code given in the calculation below.

//input = price, user defined, default is closing price //method = moving average (ma), user defined, default is SMMA //period = user defined, default is 14 //index = current bar number

    diff = price - price[index-1];
    up = 0, down = 0;
    if (diff MT 0) up = diff;
    else down = abs(diff);
    avgUp = ma(method, index, period, UP);
    avgDown = ma(method, index, period, DOWN);
    dSum = avUp + avDn;
    Plot RSI = (avUp / dSum) * 100;
    //signals
    buy = crossedAbove(RSI, topGuide);
    sell = crossedBelow(RSI, bottomGuide);

Relative Volatility Index

The Relative Volatility Index (RVI) by Donald Dorsey is a confirming indicator that measures the direction of volatility. The RVI is similar to the Relative Strength Index (RSI) except instead of daily price change standard deviation is used. Adjustable guides are given to fine-tune the trading signals. The user may change the input (close), method (SMMA), period lengths and guide values. This indicator’s definition is further expressed in the condensed code given in the calculation below.

How To Trade Using the Relative Volatility Index

Adjust the top and bottom guides to control the quantity and quality of the trading signals. RVI values above 70 to 80 are considered to be overbought and therefore offer an opportunity to sell. RVI values below 30 to 20 are considered oversold and present an opportunity to buy. In addition to the guides, if the RVI peaks while above the top guide, a sell signal will be generated. Conversely, if the RVI troughs below the bottom guide, a buy signal will be given. The 50 line divides the bulls (above) from the bears (below).

Calculation

//input = price, user defined, default is closing price //method = moving average, user defined, default is SMMA //smoothPeriod = user defined, default is 14 //sdPeriod = user defined, default is 10 //method = moving average, user defined, default is SMMA //standDev = standard deviation //diff = difference //MT = more than //LT = less than //ma = moving average, index = current bar number

standDev = std(index, sdPeriod, input);
diff = standDev - standDev[index-1];
if (diff mT; 0) up = diff
else down = diff
avgUp = ma(method, index, smoothPeriod, up);
avgDown = ma(method, index, smoothPeriod, down);
rs = avgUp / avgDown;
Plot: RVI = 100 - ( 100 / (1 + rs));
//Signals
highSell = rvi for last sell signal, reset to max_negative at each  buy signal;
lowBuy = rvi for last buy signal, reset to max_positive at each sell signal;
sell = (rvi MT topGuide) AND (prevRvi MT rvi)  AND (rvi MT highSell);
buy = (rvi LT bottomGuide AND prevRvi LT rvi) AND (rvi LT lowBuy);

Relative Volume (RVOL)

Relative Volume (RVOL) compares the volume of the current bar to the average volume of the bars that occurred at the same time on the previous days. This study only works on linear intraday bars. The formula of RVOL is RVOL = Current Volume ÷ Average Volume (in ratio, over a specific time). If the ratio is higher than 1, it indicates the current volume is higher than the average one, over the chosen time, and conversely. A high RVOL indicates a strong price movement or a larger amount of trading activity. Therefore, the higher the RVOL, the better the market to trade in. In contrast, if the RVOL is lower than 1, it suggests that price movements or potential reversals.

How to trade using Relative Volume

Relative Volume helps traders gauge the price trends over a chosen time. A high RVOL reflects market stability while a low RVOL indicates a potential reversal.

The Cumulative RVOL line is included for more information about trend strength and direction.

RSI Bars

RSI Bars changes the color of the price bars if the Relative Strength Index (RSI) is above or below a certain value. The RSI was authored by Welles Wilder. RSI is a momentum oscillator that measures the velocity and magnitude of directional price movement by comparing upward and downward movements. The user may change the input (close), method (SMMA), period length and top-bottom values. This indicator’s definition is further expressed in the condensed code given in the calculation below.

How To Trade Using RSI Bars

RSI Bars. RSI values below 30 are considered oversold and present an opportunity to buy. If the RSI crosses above the (user-defined) top value a sell signal will be generated. Conversely, if the RSI crosses below the bottom (user-defined) value a buy signal will be given.

Calculation

//input = price, user defined, default is closing price //method = moving average (ma), user defined, default is SMMA //period = user defined, default is 14 //top = user defined, default is 70 //bottom = user defined, default is 30 //MT = more than, LT = less than //index = current bar number

diff = price - price[index-1];
up = 0, down = 0;
if (diff MT 0) up = diff;
else down = abs(diff);
avgUp = ma(method, index, period, UP);
avgDown = ma(method, index, period, DOWN);
RS = avgUp / avgDown;
RSI = 100 - ( 100 / (1 + RS));
//signals
setBarColor(RSI,top,bottom);
buy = crossedAbove(RSI, top);
sell = crossedBelow(RSI, bottom);

R Squared

R Squared is part of Standard Error Bands by Jon Anderson, Stocks and Commodities Mag. 09/1996. This study should be used with Standard Error PercentA, Linear Regression Slope and Bollinger Bands®. The user may change the input (close) and period lengths. This indicator’s definition is further expressed in the condensed code given in the calculation below.

How To Trade Using R Squared

Calculation

//input = price, user defined, default is close //period1 = user defined, default is 21 //period2 = user defined, default is 3 //index = current bar number

r = newCoeffR(index, period1, input);
sqR = r * r;
Plot: avSqR = sma(index, period2, sqR);

RSI Divergence

The Relative Strength Index (RSI) itself, was authored by J Welles Wilder in 1978. It is a momentum oscillator that measures the velocity and magnitude of the directional price by comparing upward and downward movements. The RSI Divergence refers to the direction of the RSI in relation to the direction of the price. The RSI Divergence will change the price bar color depending upon the type of divergence. Two types of divergence are possible. If the RSI is increasing and the price is decreasing a bullish divergence is occurring. Conversely, if the RSI is decreasing and the price is increasing a bearish divergence is under way. Several options are allowed, including a trend method to smooth the price bar values. A high-low option is also given; it allows the trend to be determined from higher highs and lower lows (as opposed to higher and lower closes, for example). Adjustable guides are also provided to fine-tune the trading signals. The user may change the RSI input (close), RSI period, RSI method (EMA), trend input (close), trend period, trend method option, method (SMA) and guide values. This indicator’s definition is further expressed in the condensed code given in the calculation below.

How To Trade Using RSI Divergence

Adjust the top and bottom guides to control the quantity and quality of the trading signals. RSI values above 70 are considered overbought and therefore offer an opportunity to sell. RSI values below 30 are considered oversold and present an opportunity to buy. If a bullish divergence is occurring; and the RSI is below the bottom guide, a buy signal will be generated. Conversely, if a bearish divergence is underway; and the RSI is above the top guide, a sell signal will be given.

Calculation

//RSI input=price, user defined, default is closing price //RSI Period = user defined, default is 14 //RSI Method = moving average, user defined, default is EMA //Trend input=price, user defined, default is closing price //Trend Period = user defined, default is 4 //Use Trend Method = user defined, default is false //Trend Method = moving average, user defined, default is SMA

Code may be available on request

Reversing MACD

The Reversing MACD (RMACD) was authored by Johnny Dough in the Stocks And Commodities Magazine, January 2012. The MACD itself, the difference of 2 Exponential Moving Averages (EMAs), is a momentum Oscillator authored by Gerald Appel. The RMACD is a reverse engineering of the popular MACD Oscillator. That is, it calculates the price that will cause the MACD to be at a certain value. Three paths, MACD=0, MACD=previous MACD and a signal line (EMA of plot 2) are given. The MACD Indicator is also plotted on a separate graph. The user may change the input (close), method for Moving Average (EMA) and period lengths. This indicator’s definition is further expressed in the condensed code given in the calculation below.

How To Trade Using the Reversing MACD

The Reversing MACD may be used in conjunction with other indicators. No trading signals are calculated with this indicator.

Calculation

//input = price, user defined, default is close //method = moving average, user defined, default is EMA //period1 = user defined, default is 12 //period2 = user defined, default is 26 //signalPeriod = user defined, default is 9 //index = current bar number

alphaX = 2.0 / (1 + period1);
alphaY = 2.0 / (1 + period2);
ema1 = ma(method, index, period1, input);
ema2 = ma(method, index, period2, input);
Plot1:macd = ema1 - ema2;
Plot2:macdSignal=ma(method, index, sigPeriod, MACD);
Plot3:hist = macd - macdSignal;
prevEma1 = ema1[index-1];
prevEma2 = ema2[index-1];
prevMacd = macd[index-1];
//substitute 0 for macd
macdValue = 0;
PlotPriceGraph1: pMacdLevel = (macdValue + ((1-alphaY) * prevEma2) - ((1-alphaX) * prevEma1)) / (alphaX - alphaY);
//substitute previous macd for macd   
macdValue = prevMacd;
PlotPriceGraph2: pMacdEq = (macdValue + ((1-alphaY) * prevEma2) - ((1-alphaX) * prevEma1)) / (alphaX - alphaY);
PlotPriceGraph3: signal = ma(method, index, sigPeriod, PMACDEQ);

Rahul Mohindar Oscillator (RMO) is a technical analysis tool developed by Rahul Mohindar to determine trend movements and entry and exit points. RMO is often used with the charts. There are a few components of RMO that are shown in MotiveWaveâ„¢: the instrument chart (with buy/sell markers), the RMO chart (for identifying long-term trends), and Swing trade lines 2 and 3's crossovers in the RMO chart (for identifying short-term trends and trading signals).

Click here for more information.
Click here for more information.
Click here for more information.
Click here for more information on the RSI.
Click here for more information on the MACD
Risk Disclosure and Performance Disclaimer Statement
Click here for trading information.
OHLC