What's the benefit or necessity of treating 00:00 as "inclusive of" for bars, but "exclusive of" for market hours/days, etc? Why would day(0) return "next day" for a bar spanning 2000-0000?

As for BR_ASSET:

1) can you pls explain the log in OP, specifically, the price series for EUR/USD.

2) this script:
Code
function run() {
	
	set(LOGFILE);
	NumYears=1;
		
        BarPeriod=15;
	
	BarZone=ET;
		
        BarMode = BR_ASSET;

        MaxLong=1; 

	asset("EUR/USD");	  
	  
	        AssetMarketZone=ET;	
		AssetMarketStart = 0930;
		AssetMarketEnd = 1601;
	 
	  vars prcI= series(priceC(0));
	
	   printf("# cls1=%.5f,mark1end=%i",prcI[0],AssetMarketEnd);

			
	asset("SPY");	
	
	AssetMarketZone=ET; 
	AssetMarketStart = 0930;
	AssetMarketEnd = 1601;	
	
	vars prc= series(priceC(0));
	
	printf("# cls2=%.2f,mark2end=%i",prc[0],AssetMarketEnd);
		
	LifeTime=10;
	if (ltod(ET,0)>AssetMarketEnd)
	  if (prc[0]>prc[1]) 
           enterLong();		
}
gives this output:
Quote
[565: Mon 22-01-10 21:00] (465.55) FXcls=1.13263,markend=1601 WScls=465.55,markend=1601

[566: Mon 22-01-10 21:15] (465.42) FXcls=1.13263,markend=1601 WScls=465.55,markend=1601
[SPY::L56606] Long 1@465.47 x at 21:15:00

[567: Mon 22-01-10 21:30] 0.0850 +0.0850 1/0 (465.61) FXcls=1.13263,markend=1601 WScls=465.55,markend=1601
The trades can also expire outside market hours.