Bars = total number of bars in your data set; or, open your csv, how many lines of data is the number of bars; also, in the upper left box "Market Statistics", it has "Number of Bars".
iBar = the indicator loops through all the bars in your data set, and iBar is the bar it is currently on; or, imagine the csv, it starts from the first line, and goes line by line to the end, and iBar is what line it is on. Be sure iBar never gets increased to Bars value, or you will get "Index Out of Range" Error; maximum should be Bars-1 because the array is 0-indexed. When you mouse over the chart, in upper right it will have "Bar Number", it is the same as iBar+1 because the array is 0-indexed.
iFirstBar -- to be sure there are enough previous bars for your indicator's calculation, from the period parameter. Ex, if period = 20, needs at least 20 previous bars, so iFirstBar should start at bar 21 or higher. If it starts at bar 3, then you will probably get "Index Out of Range" Error. Usually, they are set as:
int iFirstBar = iPeriod + 1;
it could be + 1, or + 2, just so long as iFirstBar is greater then the number of bars needed for the calculation. Sometimes it's good to add 10 to be sure; skipping the first 10 bars out of 10k or 20k bars won't make much difference. Use iFirstBar to set the starting instead of iBar because it makes it easier to debug if things don't work. Not declaring iFirstBar may be a shortcut, but if it doesn't work you will probably spend more time trying to figure out where the problem is.
int iBar = 4 -- iBar will be the 5th bar of your data set (it is in an array which is 0-indexed, so first bar is 0, second bar is 1, etc). Since iBar is increasing to move through the array from the for() statement, usually it's better not to set it to a specific value.
iBar: Mr Popov's style is to use a lower case letter in front of the variable name to note what type it is.
iBar -- "i" is for int
dValue -- "d" is for double
adEOMC -- "ad" is for an array of double values
sPeriod -- "s" is for string