getBarStateInterval()
getBarStateInterval( interval )
Returns a status flag from the EFS engine indicating the bar processing that is currently taking place. This function allows you to monitor bar activity in time intervals other than the one that the script is running under.
Parameters
interval |
a string identifying the interval to be monitored |
Return Flags
BARSTATE_NEWBAR |
the first tick of a new bar has arrived |
BARSTATE_CURRENTBAR |
a new tick has arrived in the current bar |
Usage
function main() {
var nState;
...
...
//we will monitor the daily bar interval while, for example, our script may be
//running in a 5-min chart.
nState = getBarStateInterval("D");
if (nState == BARSTATE_NEWBAR) {
//this flag is set when a new bar is coming in, in this case on the daily bar interval
debugPrint("The first tick of a new bar has arrived\n");
}
else if (nState == BARSTATE_CURRENTBAR) {
//this flag is set as each new tick comes in, again on the daily bar interval
debugPrint("A new tick has arrived\n");
}
}
var sSymbol = null;
var nInterval = null;
var myArray = new Array(50);
function main() {
//perform some initialization actions when script is first loading
if (getBarState() == BARSTATE_ALLBARS) {
sSymbol = getSymbol(); //grab the name of the symbol being charted for later use
nInterval = getInterval(); //grab the bar interval we are using for later use
return;
}
...
...
//cycle an array when a new bar comes in on the 60-minute bar interval regardless
//of the interval we are currently viewing in our chart....
if (getBarStateInterval("60") == BARSTATE_NEWBAR) {
myArray.unshift(0);
myArray.pop();
}
}