RateOChangeFromStart.efs EFSLibrary - Discussion Board
File Name: RateOChangeFromStart.efs
Description:
The Price Rate-Of-Change (R.O.C.) indicator.
Formula Parameters:
Price Data To Use : Close
Notes:
Calculates the rate of change of the current Chosen Price as compared
to the first price of data. this indicator is a modification of classic
Rate-of-change indicator. The Price Rate-Of-Change (R.O.C.) indicator
(percent method) is calculated by dividing the price change over the
last x-periods by the closing price of the security x-periods ago. The
result is the percentage that the security's price has changed in the
last x-periods.
If the security's price is higher today than x-periods ago, the R.O.C.
will be a positive number. If the security's price is lower today than
x-periods ago, the R.O.C. will be a negative number.
Download File:
RateOChangeFromStart.efs
EFS Code:
/********************************* Provided By: eSignal (Copyright c eSignal), a division of Interactive Data Corporation. 2009. All rights reserved. This sample eSignal Formula Script (EFS) is for educational purposes only and may be modified and saved under a new file name. eSignal is not responsible for the functionality once modified. eSignal reserves the right to modify and overwrite this EFS file with each new release. Description: The Price Rate-Of-Change (R.O.C.) indicator. Version: 1.0 03/19/2009 Formula Parameters: Default: Price Data To Use Close Notes: Calculates the rate of change of the current Chosen Price as compared to the first price of data. this indicator is a modification of classic Rate-of-change indicator. The Price Rate-Of-Change (R.O.C.) indicator (percent method) is calculated by dividing the price change over the last x-periods by the closing price of the security x-periods ago. The result is the percentage that the security's price has changed in the last x-periods. If the security's price is higher today than x-periods ago, the R.O.C. will be a positive number. If the security's price is lower today than x-periods ago, the R.O.C. will be a negative number. **********************************/ var fpArray = new Array(); var bInit = false; function preMain() { setPriceStudy(false); setStudyTitle("RateOChangeFromStart"); setCursorLabelName("RateOChangeFromStart"); var x = 0; fpArray[x] = new FunctionParameter("sPrice", FunctionParameter.STRING); with(fpArray[x++]){ setName("Price Data To Use"); addOption("open"); addOption("high"); addOption("low"); addOption("close"); addOption("hl2"); addOption("hlc3"); addOption("ohlc4"); setDefault("close"); } } var FVal = null; var xPrice = null; function main(sPrice) { var nBarState = getBarState(); var nPrice = 0; if (nBarState == BARSTATE_ALLBARS) { if (sPrice == null) sPrice = "close"; } if (bInit == false) { xPrice = eval(sPrice)(); } nPrice = xPrice.getValue(0); if (nPrice == null) return; if (FVal == null) FVal = nPrice; var nRateOChangeFromStart = (nPrice * 100) / FVal - 100; return nRateOChangeFromStart; }