Just a few general tips:
you could use StartMarket and EndMarket to define the session of a market, and then use dayHigh, and dayLow, it simply looks cleaner.

here is a first approximation to what you may need:

Code:
function run(){
StartDate = 20160901;
EndDate = 20160910;
BarPeriod = 15;
//BarZone = 6;
asset("SPX500");
 

StartMarket=0830; // <<<<
EndMarket=1515;   // <<<<


vars PriceHigh = series(priceHigh());
vars PriceLow = series(priceLow());

var session_low = dayLow(ET,1); // <<<<
var session_high = dayHigh(ET,1); // <<<<

 
plot("US Session High Price", session_high,MAIN, RED); 
plot("US Session Low Price", session_low, MAIN, GREEN); 

//calculate the range of the US session
var USRange = session_high - session_low;
plot("USRange", USRange, NEW, BLUE);
printf("nUS Session High %.2f%", session_high);
printf("nUS Session Low %.2f%", session_low);
printf("nUS Session Range %.2f", USRange);

//Setup quartiles
plot("Q1", session_low + 0.25 * USRange,MAIN, BLUE); 
plot("Q2", session_low + 0.50 * USRange,MAIN, BLUE); 
plot("Q3", session_low + 0.75 * USRange,MAIN, BLUE); 

}