This script:
function run() {
set(LOGFILE);
BarMode = BR_ASSET;
AssetMarketZone=ET;
AssetMarketStart = 1000;
AssetMarketEnd = 1700;
vars prc= series(priceC(0));
printf("# cls =%.5f",prc[0]);
}
produces this output:
[44: Wed 17-01-04 12:00] (1.04315) cls =1.04315
[45: Wed 17-01-04 13:00] (1.04339) cls =1.04339
[46: Wed 17-01-04 14:00] (1.04393) cls =1.04393
[47: Wed 17-01-04 15:00] (1.04622) cls =1.04622 <--1000ET
....
[52: Wed 17-01-04 20:00] (1.04665) cls =1.04665
[53: Wed 17-01-04 21:00] (1.04864) cls =1.04864
[54: Wed 17-01-04 22:00] (1.04904) cls =1.04904 <--1700ET
[55: Wed 17-01-04 23:00] (1.04872) cls =1.04872
[56: Thu 17-01-05 00:00] (1.04970) cls =1.04970
[57: Thu 17-01-05 01:00] (1.05406) cls =1.05406
So, BR_ASSET does not prevent series from shifting outside AssetMarketStart/End.
If it does work - pls provide a snippet demoing correct use.