ref() |
Previous Top Next |
ref( barIndex )
The ref() function allows you to retrieve prior values for a built-in study (or studies). If multiple return values are being used then the ref() function will return its results in an array.
Parameters
barIndex |
offset indicating which historical indicator data points to retrieve |
Usage
var study1 = null;
var study2 = null;
var bInit = false;
var BarCntr = 0;
function preMain() {
setPriceStudy(true);
}
function main() {
var nMA1;
var nMA2;
var myRef;
var myValue1, myValue2;
if ( bInit==false ) {
study1 = sma( 10 );
study2 = sma( 20 );
bInit=true;
}
nMA1 = study1.getValue(0);
nMA2 = study2.getValue(0);
if (getBarState() == BARSTATE_NEWBAR) {
BarCntr += 1;
}
/*** BarCntr logic ***/
// We're using 20 because our longest sma() requires a minimum of 20 bars.
if (BarCntr > 20) {
//myRef will now contain the two MA values from the prior bar.
//they will be in an array so we need to treat them as such
myRef = ref(-1);
if ( myRef != null ) {
myValue1 = myRef[0];
myValue2 = myRef[1];
}
}
// Open the Formula Output Window from the tools menu to view the values of myRef.
if (BarCntr > 20) {
debugPrintln("Bar Index: " + getCurrentBarIndex() + " myValue1= " + myValue1 + " myValue2= " + myValue2);
}
return new Array( nMA1, nMA2 );
}