getBarState()

ICE Data Services -

getBarState()

 

getBarState()

 

Returns a status flag from the Formula Engine indicating the bar processing that is currently taking place.

 

One of 3 flags can be returned:

 

BARSTATE_ALLBARS

BARSTATE_NEWBAR

BARSTATE_CURRENTBAR

 

Examples:

 

nState = getBarState();
if (nState == BARSTATE_ALLBARS) {
//the bars are being loaded by the script. This happens when a script is first loaded
debugPrint("Script is loading\n");
}
else if (nState == BARSTATE_NEWBAR) {
//this flag is set when a new bar is coming in
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
debugPrint("A new tick has arrived\n");

}

 

Some typical usages would be to use the BARSTATE_ALLBARS flag to initialize some data when the script first loads:

 

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;
}

 

or to cycle an array when a new bars comes in....

 

if (getBarState() == BARSTATE_NEWBAR) {
myArray.unshift(0);
myArray.pop();
}